Implement AsmParser for ARM unwind directives.
[oota-llvm.git] / test / MC / ARM / eh-directive-personality-diagnostics.s
diff --git a/test/MC/ARM/eh-directive-personality-diagnostics.s b/test/MC/ARM/eh-directive-personality-diagnostics.s
new file mode 100644 (file)
index 0000000..83e9c25
--- /dev/null
@@ -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