62 lines · plain
1# RUN: llvm-mc -triple x86_64 %s | FileCheck %s --check-prefix=ASM2# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t3# RUN: llvm-readelf -sX %t | FileCheck %s --check-prefix=SYMTAB4# RUN: llvm-dwarfdump --eh-frame %t | FileCheck %s5 6# RUN: not llvm-mc -filetype=obj -triple=x86_64 --defsym ERR=1 %s -o /dev/null 2>&1 | \7# RUN: FileCheck %s --check-prefix=ERR --implicit-check-not=error:8 9# ASM: nop10# ASM-NEXT: .cfi_label cfi111# ASM-NEXT: .cfi_escape 0x0012# ASM: .globl cfi213# ASM-NEXT: .cfi_label cfi214# ASM: nop15# ASM-NEXT: .cfi_label .Lcfi316 17# SYMTAB: 000000000000002b 0 NOTYPE LOCAL DEFAULT 3 (.eh_frame) cfi118# SYMTAB: 000000000000002d 0 NOTYPE GLOBAL DEFAULT 3 (.eh_frame) cfi219# SYMTAB-NOT: {{.}}20 21# CHECK: DW_CFA_remember_state:22# CHECK-NEXT: DW_CFA_advance_loc: 1 to 0x123# CHECK-NEXT: DW_CFA_nop:24# CHECK-NEXT: DW_CFA_advance_loc: 1 to 0x225# CHECK-NEXT: DW_CFA_nop:26# CHECK-NEXT: DW_CFA_nop:27# CHECK-NEXT: DW_CFA_advance_loc: 1 to 0x328# CHECK-NEXT: DW_CFA_nop:29# CHECK-NEXT: DW_CFA_nop:30# CHECK-NEXT: DW_CFA_nop:31# CHECK-NEXT: DW_CFA_restore_state:32 33.globl foo34foo:35.cfi_startproc36.cfi_remember_state37nop38.cfi_label cfi139.cfi_escape 040nop41.globl cfi242.cfi_label cfi243.cfi_escape 0, 044nop45.cfi_label .Lcfi346.cfi_escape 0, 0, 047.cfi_restore_state48ret49 50# ERR: [[#@LINE+10]]:1: error: this directive must appear between .cfi_startproc and .cfi_endproc directives51.ifdef ERR52# ERR: [[#@LINE+1]]:12: error: symbol 'foo' is already defined53.cfi_label foo54# ERR: [[#@LINE+1]]:12: error: symbol '.Lcfi3' is already defined55.cfi_label .Lcfi356.endif57.cfi_endproc58 59.ifdef ERR60.cfi_label after_endproc61.endif62