|  | @ RUN: not llvm-mc -triple=armv7-unknown-linux-gnueabi < %s 2> %t | 
|  | @ RUN: FileCheck < %t %s | 
|  |  | 
|  | @ Check the diagnostics for .save directive | 
|  |  | 
|  | @ .save directive should always come after .fnstart directive and | 
|  | @ before .handlerdata directive. | 
|  |  | 
|  | .syntax unified | 
|  | .text | 
|  |  | 
|  | @------------------------------------------------------------------------------- | 
|  | @ TEST1: .save before .fnstart | 
|  | @------------------------------------------------------------------------------- | 
|  | .globl	func1 | 
|  | .align	2 | 
|  | .type	func1,%function | 
|  | .save	{r4, r5, r6, r7} | 
|  | @ CHECK: error: .fnstart must precede .save or .vsave directives | 
|  | @ CHECK:        .save {r4, r5, r6, r7} | 
|  | @ CHECK:        ^ | 
|  | .fnstart | 
|  | func1: | 
|  | .fnend | 
|  |  | 
|  |  | 
|  |  | 
|  | @------------------------------------------------------------------------------- | 
|  | @ TEST2: .save after .handlerdata | 
|  | @------------------------------------------------------------------------------- | 
|  | .globl	func2 | 
|  | .align	2 | 
|  | .type	func2,%function | 
|  | .fnstart | 
|  | func2: | 
|  | .handlerdata | 
|  | .save	{r4, r5, r6, r7} | 
|  | @ CHECK: error: .save or .vsave must precede .handlerdata directive | 
|  | @ CHECK:        .save {r4, r5, r6, r7} | 
|  | @ CHECK:        ^ | 
|  | .fnend |