1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 12:43:36 +01:00
llvm-mirror/test/MC/ARM/directive_parsing.s
Oliver Stannard e9b9e98558 [AsmParser] Recommit: Hash is not a comment on some targets
Re-committing after r311325 fixed an unintentional use of '#' comments in
clang.

The '#' token is not a comment for all targets (on ARM and AArch64 it marks an
immediate operand), so we shouldn't treat it as such.

Comments are already converted to AsmToken::EndOfStatement by
AsmLexer::LexLineComment, so this check was unnecessary.

Differential Revision: https://reviews.llvm.org/D36405

llvm-svn: 311326
2017-08-21 09:58:37 +00:00

171 lines
5.5 KiB
ArmAsm

// RUN: not llvm-mc -triple armv7--none-eabi %s 2>&1 | FileCheck %s
// RUN: not llvm-mc -triple armv7--none-eabi %s 2>&1 | grep "error:" | count 33
// CHECK: [[@LINE+1]]:10: error: unexpected token
.word 0 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.word 0 @ EOL COMMENT
// CHECK: [[@LINE+1]]:11: error: unexpected token
.short 0 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.short 0 @ EOL COMMENT
// CHECK: [[@LINE+1]]:11: error: unexpected token
.hword 0 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.hword 0 @ EOL COMMENT
.arch armv7-a
// CHECK: [[@LINE+1]]:9: error: unexpected token in directive
.thumb $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.thumb @ EOL COMMENT
// CHECK: [[@LINE+1]]:7: error: unexpected token in directive
.arm $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.arm @ EOL COMMENT
// CHECK: [[@LINE+1]]:14: error: unexpected token in '.thumb_func' directive
.thumb_func $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.thumb_func @ EOL COMMENT
// CHECK: [[@LINE+1]]:11: error: unexpected token in directive
.code 16 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.code 16 @ EOL COMMENTS
// CHECK: [[@LINE+1]]:18: error: unexpected token in directive
.syntax unified $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.syntax unified @ EOL COMMENT
fred .req r5
// CHECK: [[@LINE+1]]:14: error: unexpected input in '.unreq' directive
.unreq fred $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.unreq fred @ EOL COMMENTS
// CHECK: [[@LINE+1]]:18: error: unexpected token in '.fnstart' directive
.fnstart $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.fnstart @ EOL COMMENT
// CHECK: [[@LINE+1]]:23: error: unexpected token in '.cantunwind' directive
.cantunwind $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.cantunwind @ EOL COMMENT
// CHECK: [[@LINE+1]]:18: error: unexpected token in '.fnend' directive
.fnend $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.fnend @ EOL COMMENT
.fnstart
// CHECK: [[@LINE+1]]:43: error: unexpected token in '.personality' directive
.personality __gxx_personality_v0 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.personality __gxx_personality_v0 @ EOL COMMENET
// CHECK: [[@LINE+1]]:28: error: unexpected token
.setfp fp, sp, #0 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.setfp fp, sp, #0 @ EOL COMMENT
// CHECK: [[@LINE+1]]:17: error: unexpected token in '.pad' directive
.pad #0 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.pad #0 @ EOL COMMENT
// CHECK: [[@LINE+1]]:20: error: unexpected token in directive
.save {r0} $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.save {r0} @ EOL COMMENT
// CHECK: [[@LINE+1]]:21: error: unexpected token in directive
.vsave {d0} $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.vsave {d0} @ EOL COMMENT
// CHECK: [[@LINE+1]]:22: error: unexpected token in '.handlerdata' directive
.handlerdata $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.handlerdata @ EOL COMMENT
.fnend
// CHECK: [[@LINE+1]]:9: error: unexpected token in directive
.ltorg $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.ltorg @ EOL COMMENT
// CHECK: [[@LINE+1]]:8: error: unexpected token in directive
.pool $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.pool @ EOL COMMENT
// CHECK: [[@LINE+1]]:8: error: unexpected token in directive
.even $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.even @ EOL COMMENT
.fnstart
// CHECK: [[@LINE+1]]:22: error: unexpected token in '.personalityindex' directive
.personalityindex 0 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.personalityindex 0 @ EOL COMMENT
.fnend
.fnstart
// CHECK: [[@LINE+1]]:19: error: unexpected token
.unwind_raw 0, 0 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.unwind_raw 0, 0 @ EOL COMMENT
// CHECK: [[@LINE+1]]:12: error: unexpected token in '.movsp' directive
.movsp r0 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.movsp r1 @ EOL COMMENT
.fnend
// CHECK: [[@LINE+1]]:21: error: unexpected token in '.arch_extension' directive
.arch_extension mp $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.arch_extension mp @ EOL COMMENT
// CHECK: [[@LINE+1]]:21: error: unexpected token in '.arch_extension' directive
.arch_extension mp $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.arch_extension mp @ EOL COMMENT
.type arm_func,%function
arm_func:
nop
// CHECK: [[@LINE+1]]:45: error: unexpected token
.thumb_set alias_arm_func, arm_func $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.thumb_set alias_arm_func, arm_func @ EOL COMMENT
// CHECK: [[@LINE+1]]:23: error: unexpected token in '.eabi_attribute' directive
.eabi_attribute 0, 0 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.eabi_attribute 0, 0 @ EOL COMMENT
.arm
// CHECK: [[@LINE+1]]:10: error: unexpected token
.inst 2 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.inst 2 @ EOL COMMENT
.thumb
// CHECK: [[@LINE+1]]:12: error: unexpected token
.inst.n 2 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.inst.n 2 @ EOL COMMENT
// CHECK: [[@LINE+1]]:12: error: unexpected token
.inst.w 4 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.inst.w 4 @ EOL COMMENT
// CHECK: [[@LINE+1]]:21: error: unexpected token
.object_arch armv7 $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.object_arch armv7 @ EOL COMMENT
// CHECK: [[@LINE+1]]:23: error: unexpected token in '.tlsdescseq' directive
.tlsdescseq variable $
// CHECK-NOT: [[@LINE+1]]:{{[0-9]+}}: error:
.tlsdescseq variable @ EOL COMMENT