# Test handing of dwarf expressions specifying the location of registers, if
# those expressions refer to the frame's CFA value.

# UNSUPPORTED: system-windows
# UNSUPPORTED: system-darwin
# REQUIRES: target-x86_64, native

# RUN: %clang_host %p/Inputs/call-asm.c %p/Inputs/eh-frame-augment-noop.s -o %t
# RUN: %lldb %t -s %s -o exit | FileCheck %s

process launch
# CHECK: stop reason

thread backtrace
# CHECK: frame #0: {{.*}}`foo + 2
# CHECK: frame #1: {{.*}}`asm_main + 5

target modules show-unwind -n foo
# CHECK: Asynchronous (not restricted to call-sites) UnwindPlan is 'eh_frame CFI'
# CHECK: eh_frame augmented UnwindPlan:
# CHECK:      row[0]:  0: CFA=rsp +8 => rip=[CFA-8]
# CHECK-NEXT: row[1]:  1: CFA=rsp+16 => rip=[CFA-8]
# CHECK-NEXT: row[2]:  3: CFA=rsp +8 => rip=[CFA-8]
