summaryrefslogtreecommitdiff
path: root/test/MC/ARM/eh-directive-fnstart-diagnostics.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/MC/ARM/eh-directive-fnstart-diagnostics.s')
-rw-r--r--test/MC/ARM/eh-directive-fnstart-diagnostics.s31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/MC/ARM/eh-directive-fnstart-diagnostics.s b/test/MC/ARM/eh-directive-fnstart-diagnostics.s
new file mode 100644
index 0000000000..29bcb0dd9c
--- /dev/null
+++ b/test/MC/ARM/eh-directive-fnstart-diagnostics.s
@@ -0,0 +1,31 @@
+@ RUN: llvm-mc %s -triple=armv7-unknown-linux-gnueabi \
+@ RUN: -filetype=obj -o /dev/null 2>&1 | FileCheck %s
+
+@ Check the diagnostics for the mismatched .fnstart directives.
+
+@ There should be some diagnostics when the previous .fnstart is not closed
+@ by the .fnend directive.
+
+
+ .syntax unified
+ .text
+
+ .globl func1
+ .align 2
+ .type func1,%function
+ .fnstart
+func1:
+ @ Intentionally miss the .fnend directive
+
+ .globl func2
+ .align 2
+ .type func2,%function
+ .fnstart
+@ CHECK: error: .fnstart starts before the end of previous one
+@ CHECK: .fnstart
+@ CHECK: ^
+@ CHECK: error: previous .fnstart starts here
+@ CHECK: .fnstart
+@ CHECK: ^
+func2:
+ .fnend