llvm/lldb/test/Shell/SymbolFile/DWARF/split-optimized.c

// 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; }