diff options
Diffstat (limited to 'test/MC')
-rw-r--r-- | test/MC/AsmParser/labels.s | 18 | ||||
-rw-r--r-- | test/MC/AsmParser/variables-invalid.s | 17 | ||||
-rw-r--r-- | test/MC/AsmParser/variables.s | 15 |
3 files changed, 41 insertions, 9 deletions
diff --git a/test/MC/AsmParser/labels.s b/test/MC/AsmParser/labels.s index 53da7edf97cb..456d61f06044 100644 --- a/test/MC/AsmParser/labels.s +++ b/test/MC/AsmParser/labels.s @@ -12,21 +12,21 @@ a: .long 0 .text -foo: +foo: // CHECK: addl $24, a$b(%eax) - addl $24, "a$b"(%eax) + addl $24, "a$b"(%eax) // CHECK: addl $24, a$b+10(%eax) addl $24, ("a$b" + 10)(%eax) - + // CHECK: b$c = 10 "b$c" = 10 -// CHECK: addl $b$c, %eax +// CHECK: addl $10, %eax addl "b$c", %eax - + // CHECK: "a 0" = 11 .set "a 0", 11 - -// CHECK: .long "a 0" + +// CHECK: .long 11 .long "a 0" // XXCHCK: .section "a 1,a 2" @@ -48,12 +48,12 @@ foo: .lcomm "a 7", 1 // FIXME: We don't bother to support .lsym. - + // CHECX: .lsym "a 8",1 // .lsym "a 8", 1 // CHECK: "a 9" = a-b .set "a 9", a - b - + // CHECK: .long "a 9" .long "a 9" diff --git a/test/MC/AsmParser/variables-invalid.s b/test/MC/AsmParser/variables-invalid.s new file mode 100644 index 000000000000..9656889c5b1a --- /dev/null +++ b/test/MC/AsmParser/variables-invalid.s @@ -0,0 +1,17 @@ +// RUN: not llvm-mc -triple i386-unknown-unknown %s 2> %t +// RUN: FileCheck --input-file %t %s + + .data +// CHECK: invalid assignment to 't0_v0' + t0_v0 = t0_v0 + 1 + + t1_v1 = 1 + t1_v1 = 2 + +t2_s0: +// CHECK: redefinition of 't2_s0' + t2_s0 = 2 + + t3_s0 = t2_s0 + 1 +// CHECK: invalid reassignment of non-absolute variable 't3_s0' + t3_s0 = 1 diff --git a/test/MC/AsmParser/variables.s b/test/MC/AsmParser/variables.s new file mode 100644 index 000000000000..cb004d788822 --- /dev/null +++ b/test/MC/AsmParser/variables.s @@ -0,0 +1,15 @@ +// RUN: llvm-mc -triple i386-unknown-unknown %s + + .data + t0_v0 = 1 + t0_v1 = t0_v0 + .if t0_v1 != 1 + .abort "invalid value" + .endif + + t1_v0 = 1 + t1_v1 = t0_v0 + t1_v0 = 2 + .if t0_v1 != 1 + .abort "invalid value" + .endif |