~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to test/MC/AsmParser/macro-exitm.s

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s
 
2
 
 
3
// .exitm is encountered in a normal macro expansion
 
4
.macro REP
 
5
.rept 3
 
6
.long 0
 
7
.exitm
 
8
.endr
 
9
.endm
 
10
REP
 
11
// Only the output from the first rept expansion should make it through:
 
12
// CHECK: .long 0
 
13
// CHECK-NOT: .long 0
 
14
 
 
15
// .exitm is in a true branch
 
16
.macro A
 
17
.if 1
 
18
.long 1
 
19
.exitm
 
20
.endif
 
21
.long 1
 
22
.endm
 
23
A
 
24
// CHECK: .long 1
 
25
// CHECK-NOT: .long 1
 
26
 
 
27
// .exitm is in a false branch
 
28
.macro B
 
29
.if 1
 
30
.long 2
 
31
.else
 
32
.exitm
 
33
.endif
 
34
.long 2
 
35
.endm
 
36
B
 
37
// CHECK: .long 2
 
38
// CHECK: .long 2
 
39
 
 
40
 
 
41
// .exitm is in a false branch that is encountered prior to the true branch
 
42
.macro C
 
43
.if 0
 
44
.exitm
 
45
.else
 
46
.long 3
 
47
.endif
 
48
.long 3
 
49
.endm
 
50
C
 
51
// CHECK: .long 3
 
52
// CHECK: .long 3
 
53
 
 
54
// .exitm is in a macro that's expanded in a conditional block.
 
55
.macro D
 
56
.long 4
 
57
.exitm
 
58
.long 4
 
59
.endm
 
60
.if 1
 
61
D
 
62
.endif
 
63
// CHECK: .long 4
 
64
// CHECK-NOT: .long 4