1c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ RUN: not llvm-mc -triple=armv7-unknown-linux-gnueabi < %s 2> %t 2c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ RUN: FileCheck < %t %s 3c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 4c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ Check the diagnostics for .cantunwind, .handlerdata, and .personality 5c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 6c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ .cantunwind directive can't be used with .handlerdata directive nor 7c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ .personality directive. This test case check for the diagnostics for 8c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ the conflicts. 9c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 10c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 11193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .syntax unified 12193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .text 13c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 14c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@------------------------------------------------------------------------------- 15c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ TEST1: cantunwind + personality 16c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@------------------------------------------------------------------------------- 17193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .globl func1 18193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .align 2 19193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .type func1,%function 20193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .fnstart 21c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc1: 22193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .cantunwind 23193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .personality __gxx_personality_v0 24c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: error: .personality can't be used with .cantunwind directive 2501e4509972509e59874612d7d04419cdaeccc0efEric Christopher@ CHECK: .personality __gxx_personality_v0 26c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: ^ 2736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: note: .cantunwind was specified here 28c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: .cantunwind 29c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: ^ 30193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .fnend 31c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 32c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 33c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 34c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@------------------------------------------------------------------------------- 35c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ TEST2: cantunwind + handlerdata 36c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@------------------------------------------------------------------------------- 37193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .globl func2 38193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .align 2 39193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .type func2,%function 40193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .fnstart 41c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc2: 42193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .cantunwind 43193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .handlerdata 44c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: error: .handlerdata can't be used with .cantunwind directive 4501e4509972509e59874612d7d04419cdaeccc0efEric Christopher@ CHECK: .handlerdata 46c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: ^ 4736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: note: .cantunwind was specified here 48c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: .cantunwind 49c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: ^ 50193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .fnend 51c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 52c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 53c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 54c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@------------------------------------------------------------------------------- 55c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ TEST3: personality + cantunwind 56c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@------------------------------------------------------------------------------- 57193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .globl func3 58193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .align 2 59193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .type func3,%function 60193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .fnstart 61c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc3: 62193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .personality __gxx_personality_v0 63193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .cantunwind 64c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: error: .cantunwind can't be used with .personality directive 6501e4509972509e59874612d7d04419cdaeccc0efEric Christopher@ CHECK: .cantunwind 66c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: ^ 6736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: note: .personality was specified here 68c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: .personality __gxx_personality_v0 69c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: ^ 70193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .fnend 71c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 72c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 73c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 74c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@------------------------------------------------------------------------------- 75c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ TEST4: handlerdata + cantunwind 76c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@------------------------------------------------------------------------------- 77193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .globl func4 78193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .align 2 79193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .type func4,%function 80193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .fnstart 81c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc4: 82193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .handlerdata 83193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .cantunwind 84c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: error: .cantunwind can't be used with .handlerdata directive 8501e4509972509e59874612d7d04419cdaeccc0efEric Christopher@ CHECK: .cantunwind 86c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: ^ 8736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ CHECK: note: .handlerdata was specified here 88c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: .handlerdata 89c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: ^ 90193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .fnend 91c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 92c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 93c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien 94c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@------------------------------------------------------------------------------- 95c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ TEST5: cantunwind + fnstart 96c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@------------------------------------------------------------------------------- 97193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .globl func5 98193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .align 2 99193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .type func5,%function 100193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .cantunwind 101c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: error: .fnstart must precede .cantunwind directive 102c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: .cantunwind 103c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chien@ CHECK: ^ 104193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .fnstart 105c24a374331fc97dd215937c8f0a9bf5271f39657Logan Chienfunc5: 106193a2da6d157488caf6ed98c49fcfc677703890cEric Christopher .fnend 107