xref: /llvm-project/llvm/test/MC/ELF/cfi-scope-errors.s (revision 8c85aae6c5b282eee1f58e67334e809016f04776)
1# RUN: not llvm-mc %s -triple x86_64-linux -o /dev/null 2>&1 | FileCheck %s
2# RUN: not llvm-mc %s -triple x86_64-linux -filetype=obj -o /dev/null 2>&1 | FileCheck %s
3
4.text
5.cfi_def_cfa rsp, 8
6# CHECK: [[#@LINE-1]]:1: error: this directive must appear between .cfi_startproc and .cfi_endproc directives
7
8.cfi_startproc
9nop
10
11## This tests source location correctness as well as the error and it not crashing.
12# CHECK: [[#@LINE+2]]:1: error: starting new .cfi frame before finishing the previous one
13.cfi_startproc
14
15nop
16.cfi_endproc
17
18.cfi_def_cfa rsp, 8
19# CHECK: [[#@LINE-1]]:1: error: this directive must appear between .cfi_startproc and .cfi_endproc directives
20
21## Check we don't crash on unclosed frame scope.
22.globl foo
23foo:
24 .cfi_startproc
25# CHECK: [[#@LINE+1]]:1: error: Unfinished frame!
26