| ; RUN: not llvm-mc -triple arm64-apple-darwin %s -filetype=obj -o /dev/null 2>&1 | FileCheck %s --check-prefix=DARWIN |
| |
| ; REQUIRES: aarch64-registered-target |
| |
| .section __TEXT,locomotive,regular,pure_instructions |
| |
| .globl _locomotive |
| .p2align 2 |
| _locomotive: |
| .cfi_startproc |
| ; An N_ALT_ENTRY symbol can be defined in the middle of a subsection, so |
| ; these are opted out of the .cfi_{start,end}proc nesting check. |
| .alt_entry _engineer |
| _engineer: |
| ret |
| |
| ; It is invalid to have a non-private label between .cfi_startproc and |
| ; .cfi_endproc on MachO platforms. |
| .section __TEXT,__text,regular,pure_instructions |
| .globl _caboose |
| .p2align 2 |
| _caboose: |
| ; DARWIN: [[#@LINE-1]]:1: error: non-private labels cannot appear between .cfi_startproc / .cfi_endproc pairs |
| ; DARWIN: [[#@LINE-14]]:2: error: previous .cfi_startproc was here |
| ret |
| .cfi_endproc |
| |
| .subsections_via_symbols |