1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/test/MC/ARM/eh-directive-fnstart-diagnostics.s
Logan Chien d5b8ea6c58 Implement AsmParser for ARM unwind directives.
This commit implements the AsmParser for fnstart, fnend,
cantunwind, personality, handlerdata, pad, setfp, save, and
vsave directives.

This commit fixes some minor issue in the ARMELFStreamer:

* The switch back to corresponding section after the .fnend
  directive.

* Emit the unwind opcode while processing .fnend directive
  if there is no .handlerdata directive.

* Emit the unwind opcode to .ARM.extab while processing
  .handlerdata even if .personality directive does not exist.

llvm-svn: 181603
2013-05-10 16:17:24 +00:00

32 lines
683 B
ArmAsm

@ RUN: llvm-mc %s -triple=armv7-unknown-linux-gnueabi \
@ RUN: -filetype=obj -o /dev/null 2>&1 | FileCheck %s
@ Check the diagnostics for the mismatched .fnstart directives.
@ There should be some diagnostics when the previous .fnstart is not closed
@ by the .fnend directive.
.syntax unified
.text
.globl func1
.align 2
.type func1,%function
.fnstart
func1:
@ Intentionally miss the .fnend directive
.globl func2
.align 2
.type func2,%function
.fnstart
@ CHECK: error: .fnstart starts before the end of previous one
@ CHECK: .fnstart
@ CHECK: ^
@ CHECK: error: previous .fnstart starts here
@ CHECK: .fnstart
@ CHECK: ^
func2:
.fnend