1@ RUN: not llvm-mc -triple=armv7-unknown-linux-gnueabi < %s 2> %t 2@ RUN: FileCheck < %t %s 3 4@ Check the diagnostics for .cantunwind, .handlerdata, and .personality 5 6@ .cantunwind directive can't be used with .handlerdata directive nor 7@ .personality directive. This test case check for the diagnostics for 8@ the conflicts. 9 10 11 .syntax unified 12 .text 13 14@------------------------------------------------------------------------------- 15@ TEST1: cantunwind + personality 16@------------------------------------------------------------------------------- 17 .globl func1 18 .align 2 19 .type func1,%function 20 .fnstart 21func1: 22 .cantunwind 23 .personality __gxx_personality_v0 24@ CHECK: error: .personality can't be used with .cantunwind directive 25@ CHECK: .personality __gxx_personality_v0 26@ CHECK: ^ 27@ CHECK: note: .cantunwind was specified here 28@ CHECK: .cantunwind 29@ CHECK: ^ 30 .fnend 31 32 33 34@------------------------------------------------------------------------------- 35@ TEST2: cantunwind + handlerdata 36@------------------------------------------------------------------------------- 37 .globl func2 38 .align 2 39 .type func2,%function 40 .fnstart 41func2: 42 .cantunwind 43 .handlerdata 44@ CHECK: error: .handlerdata can't be used with .cantunwind directive 45@ CHECK: .handlerdata 46@ CHECK: ^ 47@ CHECK: note: .cantunwind was specified here 48@ CHECK: .cantunwind 49@ CHECK: ^ 50 .fnend 51 52 53 54@------------------------------------------------------------------------------- 55@ TEST3: personality + cantunwind 56@------------------------------------------------------------------------------- 57 .globl func3 58 .align 2 59 .type func3,%function 60 .fnstart 61func3: 62 .personality __gxx_personality_v0 63 .cantunwind 64@ CHECK: error: .cantunwind can't be used with .personality directive 65@ CHECK: .cantunwind 66@ CHECK: ^ 67@ CHECK: note: .personality was specified here 68@ CHECK: .personality __gxx_personality_v0 69@ CHECK: ^ 70 .fnend 71 72 73 74@------------------------------------------------------------------------------- 75@ TEST4: handlerdata + cantunwind 76@------------------------------------------------------------------------------- 77 .globl func4 78 .align 2 79 .type func4,%function 80 .fnstart 81func4: 82 .handlerdata 83 .cantunwind 84@ CHECK: error: .cantunwind can't be used with .handlerdata directive 85@ CHECK: .cantunwind 86@ CHECK: ^ 87@ CHECK: note: .handlerdata was specified here 88@ CHECK: .handlerdata 89@ CHECK: ^ 90 .fnend 91 92 93 94@------------------------------------------------------------------------------- 95@ TEST5: cantunwind + fnstart 96@------------------------------------------------------------------------------- 97 .globl func5 98 .align 2 99 .type func5,%function 100 .cantunwind 101@ CHECK: error: .fnstart must precede .cantunwind directive 102@ CHECK: .cantunwind 103@ CHECK: ^ 104 .fnstart 105func5: 106 .fnend 107