1 | // Test that optimized flag is properly included in DWARF. |
2 | |
3 | // -gsplit-dwarf is supported only on Linux. |
4 | // REQUIRES: system-linux |
5 | |
6 | // This test uses lldb's embedded python interpreter |
7 | // REQUIRES: python |
8 | |
9 | // RUN: %clang_host %s -fno-standalone-debug -glldb \ |
10 | // RUN: -gdwarf-5 -gpubnames -gsplit-dwarf -O3 -c -o %t1.o |
11 | |
12 | // RUN: llvm-dwarfdump %t1.o | FileCheck %s --check-prefix DWARFDUMP_O |
13 | // RUN: llvm-dwarfdump %t1.dwo | FileCheck %s --check-prefix DWARFDUMP_DWO |
14 | // RUN: %lldb -b -o 'script lldb.SBDebugger.Create().CreateTarget("%t1.o").FindFunctions("main",lldb.eFunctionNameTypeAuto).GetContextAtIndex(0).GetFunction().GetIsOptimized()' | FileCheck %s |
15 | |
16 | // DWARFDUMP_O-NOT: DW_AT_APPLE_optimized |
17 | // |
18 | // DWARFDUMP_DWO: DW_TAG_compile_unit |
19 | // DWARFDUMP_DWO-NOT: DW_TAG_ |
20 | // DWARFDUMP_DWO: DW_AT_APPLE_optimized (true) |
21 | |
22 | // CHECK: (lldb) script lldb.SBDebugger.Create() |
23 | // CHECK-NEXT: True |
24 | |
25 | int main(void) { return 0; } |
26 | |