88 lines · plain
1@ RUN: not llvm-mc -triple=armv7-unknown-linux-gnueabi < %s 2> %t2@ RUN: FileCheck < %t %s3 4@ Check the diagnostics for .setfp directive.5 6 7 .syntax unified8 .text9 10@-------------------------------------------------------------------------------11@ TEST1: .setfp before .fnstart12@-------------------------------------------------------------------------------13 .globl func114 .align 215 .type func1,%function16 .setfp fp, sp, #017@ CHECK: error: .fnstart must precede .setfp directive18@ CHECK: .setfp fp, sp, #019@ CHECK: ^20 .fnstart21func1:22 .fnend23 24 25 26@-------------------------------------------------------------------------------27@ TEST2: .setfp after .handlerdata28@-------------------------------------------------------------------------------29 .globl func230 .align 231 .type func2,%function32 .fnstart33func2:34 .handlerdata35 .setfp fp, sp, #036@ CHECK: error: .setfp must precede .handlerdata directive37@ CHECK: .setfp fp, sp, #038@ CHECK: ^39 .fnend40 41 42 43@-------------------------------------------------------------------------------44@ TEST3: .setfp with bad fp register45@-------------------------------------------------------------------------------46 .globl func347 .align 248 .type func3,%function49 .fnstart50func3:51 .setfp 0, r0, #052@ CHECK: error: frame pointer register expected53@ CHECK: .setfp 0, r0, #054@ CHECK: ^55 .fnend56 57 58 59@-------------------------------------------------------------------------------60@ TEST4: .setfp with bad sp register61@-------------------------------------------------------------------------------62 .globl func463 .align 264 .type func4,%function65 .fnstart66func4:67 .setfp fp, 0, #068@ CHECK: error: stack pointer register expected69@ CHECK: .setfp fp, 0, #070@ CHECK: ^71 .fnend72 73 74 75@-------------------------------------------------------------------------------76@ TEST5: .setfp with non-sp register as second operand77@-------------------------------------------------------------------------------78 .globl func579 .align 280 .type func5,%function81 .fnstart82func5:83 .setfp fp, r0, #084@ CHECK: error: register should be either $sp or the latest fp register85@ CHECK: .setfp fp, r0, #086@ CHECK: ^87 .fnend88