| // Test that optimized flag is properly included in DWARF. | |
| // -gsplit-dwarf is supported only on Linux. | |
| // REQUIRES: system-linux | |
| // This test uses lldb's embedded python interpreter | |
| // REQUIRES: python | |
| // RUN: %clang_host %s -fno-standalone-debug -glldb \ | |
| // RUN: -gdwarf-5 -gpubnames -gsplit-dwarf -O3 -c -o %t1.o | |
| // RUN: llvm-dwarfdump %t1.o | FileCheck %s --check-prefix DWARFDUMP_O | |
| // RUN: llvm-dwarfdump %t1.dwo | FileCheck %s --check-prefix DWARFDUMP_DWO | |
| // RUN: %lldb -b -o 'script lldb.SBDebugger.Create().CreateTarget("%t1.o").FindFunctions("main",lldb.eFunctionNameTypeAuto).GetContextAtIndex(0).GetFunction().GetIsOptimized()' | FileCheck %s | |
| // DWARFDUMP_O-NOT: DW_AT_APPLE_optimized | |
| // | |
| // DWARFDUMP_DWO: DW_TAG_compile_unit | |
| // DWARFDUMP_DWO-NOT: DW_TAG_ | |
| // DWARFDUMP_DWO: DW_AT_APPLE_optimized (true) | |
| // CHECK: (lldb) script lldb.SBDebugger.Create() | |
| // CHECK-NEXT: True | |
| int main(void) { return 0; } |