Home | History | Annotate | Download | only in ARM
      1 @ RUN: not llvm-mc -triple=armv7-unknown-linux-gnueabi < %s 2> %t
      2 @ RUN: FileCheck --check-prefix=CHECK < %t %s
      3 
      4 @ Check the diagnostics for .save directive
      5 
      6 @ .save directive should always come after .fnstart directive and
      7 @ before .handlerdata directive.
      8 
      9 	.syntax unified
     10 	.text
     11 
     12 @-------------------------------------------------------------------------------
     13 @ TEST1: .save before .fnstart
     14 @-------------------------------------------------------------------------------
     15 	.globl	func1
     16 	.align	2
     17 	.type	func1,%function
     18 	.save	{r4, r5, r6, r7}
     19 @ CHECK: error: .fnstart must precede .save or .vsave directives
     20 @ CHECK:        .save {r4, r5, r6, r7}
     21 @ CHECK:        ^
     22 	.fnstart
     23 func1:
     24 	.fnend
     25 
     26 
     27 
     28 @-------------------------------------------------------------------------------
     29 @ TEST2: .save after .handlerdata
     30 @-------------------------------------------------------------------------------
     31 	.globl	func2
     32 	.align	2
     33 	.type	func2,%function
     34 	.fnstart
     35 func2:
     36 	.handlerdata
     37 	.save	{r4, r5, r6, r7}
     38 @ CHECK: error: .save or .vsave must precede .handlerdata directive
     39 @ CHECK:        .save {r4, r5, r6, r7}
     40 @ CHECK:        ^
     41 	.fnend
     42