diff options
Diffstat (limited to 'test/MC/ARM/eh-directive-personality-diagnostics.s')
-rw-r--r-- | test/MC/ARM/eh-directive-personality-diagnostics.s | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/MC/ARM/eh-directive-personality-diagnostics.s b/test/MC/ARM/eh-directive-personality-diagnostics.s new file mode 100644 index 0000000000..83e9c25f0b --- /dev/null +++ b/test/MC/ARM/eh-directive-personality-diagnostics.s @@ -0,0 +1,39 @@ +@ RUN: not llvm-mc -triple=armv7-unknown-linux-gnueabi < %s 2> %t +@ RUN: FileCheck --check-prefix=CHECK < %t %s + +@ Check the diagnostics for .personality directive. + + + .syntax unified + .text + +@------------------------------------------------------------------------------- +@ TEST1: .personality before .fnstart +@------------------------------------------------------------------------------- + .globl func1 + .align 2 + .type func1,%function + .personality __gxx_personality_v0 +@ CHECK: error: .fnstart must precede .personality directive +@ CHECK: .personality __gxx_personality_v0 +@ CHECK: ^ + .fnstart +func1: + .fnend + + + +@------------------------------------------------------------------------------- +@ TEST2: .personality after .handlerdata +@------------------------------------------------------------------------------- + .globl func2 + .align 2 + .type func2,%function + .fnstart +func2: + .handlerdata + .personality __gxx_personality_v0 +@ CHECK: error: .personality must precede .handlerdata directive +@ CHECK: .personality __gxx_personality_v0 +@ CHECK: ^ + .fnend |