Files
clang-p2996/clang/test/CodeGen/debug-info-sysroot-sdk.c
Adrian Prantl 842ea709e4 Debug Info: Store the SDK in the DICompileUnit.
This is another intermediate step for PR44213
(https://bugs.llvm.org/show_bug.cgi?id=44213).

This stores the SDK *name* in the debug info, to make it possible to
`-fdebug-prefix-map`-replace the sysroot with a recognizable string
and allowing the debugger to find a fitting SDK relative to itself,
not the machine the executable was compiled on.

rdar://problem/51645582
2020-03-13 11:21:30 -07:00

17 lines
737 B
C

// RUN: %clang_cc1 -debug-info-kind=limited -triple %itanium_abi_triple \
// RUN: %s -isysroot /CLANG_SYSROOT/MacOSX.sdk -emit-llvm -o - \
// RUN: -debugger-tuning=lldb | FileCheck %s --check-prefix=LLDB
// RUN: %clang_cc1 -debug-info-kind=limited -triple %itanium_abi_triple \
// RUN: %s -isysroot /CLANG_SYSROOT/MacOSX.sdk -emit-llvm -o - \
// RUN: -debugger-tuning=gdb | FileCheck %s --check-prefix=GDB
void foo() {}
// The sysroot and sdk are LLDB-tuning-specific attributes.
// LLDB: distinct !DICompileUnit({{.*}}sysroot: "/CLANG_SYSROOT/MacOSX.sdk",
// LLDB-SAME: sdk: "MacOSX.sdk"
// GDB: distinct !DICompileUnit(
// GDB-NOT: sysroot: "/CLANG_SYSROOT/MacOSX.sdk"
// GDB-NOT: sdk: "MacOSX.sdk"