llvm-6502/test/MC/ARM/directive-eabi_attribute-diagnostics.s
Saleem Abdulrasool 8e129852fb ARM IAS: improve .eabi_attribute handling
Parse tag names as well as expressions.  The former is part of the
specification, the latter is for improved compatibility with the GNU assembler.
Fix attribute value handling to be comformant to the specification.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198662 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-07 02:28:42 +00:00

37 lines
1.1 KiB
ArmAsm

@ RUN: not llvm-mc -triple armv7-elf -filetype asm -o /dev/null %s 2>&1 \
@ RUN: | FileCheck %s
.syntax unified
.thumb
.eabi_attribute Tag_unknown_name, 0
@ CHECK: error: attribute name not recognised: Tag_unknown_name
@ CHECK: .eabi_attribute Tag_unknown_name
@ CHECK: ^
.eabi_attribute [non_constant_expression], 0
@ CHECK: error: expected numeric constant
@ CHECK: .eabi_attribute [non_constant_expression], 0
@ CHECK: ^
.eabi_attribute 42, "forty two"
@ CHECK: error: expected numeric constant
@ CHECK: .eabi_attribute 42, "forty two"
@ CHECK: ^
.eabi_attribute 43, 43
@ CHECK: error: bad string constant
@ CHECK: .eabi_attribute 43, 43
@ CHECK: ^
.eabi_attribute 0
@ CHECK: error: comma expected
@ CHECK: .eabi_attribute 0
@ CHECK: ^
.eabi_attribute Tag_MPextension_use_old, 0
@ CHECK: error: attribute name not recognised: Tag_MPextension_use_old
@ CHECK: .eabi_attribute Tag_MPextension_use_old, 0
@ CHECK: ^