forked from OSchip/llvm-project
Make -f[no-]split-dwarf-inlining CC1 default align with driver default (no inlining)
This makes CC1 and driver defaults consistent. In addition, for more common cases (-g is specified without -gsplit-dwarf), users will not see -fno-split-dwarf-inlining in CC1 options. Verified that the below is still true: * `clang -g` => `splitDebugInlining: false` in DICompileUnit * `clang -g -gsplit-dwarf` => `splitDebugInlining: false` in DICompileUnit * `clang -g -gsplit-dwarf -fsplit-dwarf-inlining` => no `splitDebugInlining: false` Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D97706
This commit is contained in:
parent
71ef54337d
commit
d942a82a07
|
@ -2669,9 +2669,9 @@ defm debug_ranges_base_address : BoolFOption<"debug-ranges-base-address",
|
|||
PosFlag<SetTrue, [CC1Option], "Use DWARF base address selection entries in .debug_ranges">,
|
||||
NegFlag<SetFalse>>;
|
||||
defm split_dwarf_inlining : BoolFOption<"split-dwarf-inlining",
|
||||
CodeGenOpts<"SplitDwarfInlining">, DefaultTrue,
|
||||
NegFlag<SetFalse, [CC1Option]>,
|
||||
PosFlag<SetTrue, [], "Provide minimal debug info in the object/executable"
|
||||
CodeGenOpts<"SplitDwarfInlining">, DefaultFalse,
|
||||
NegFlag<SetFalse, []>,
|
||||
PosFlag<SetTrue, [CC1Option], "Provide minimal debug info in the object/executable"
|
||||
" to facilitate online symbolication/stack traces in the absence of"
|
||||
" .dwo/.dwp files when using Split DWARF">>;
|
||||
def fdebug_default_version: Joined<["-"], "fdebug-default-version=">, Group<f_Group>,
|
||||
|
|
|
@ -3979,8 +3979,8 @@ static void renderDebugOptions(const ToolChain &TC, const Driver &D,
|
|||
}
|
||||
}
|
||||
|
||||
if (T.isOSBinFormatELF() && !SplitDWARFInlining)
|
||||
CmdArgs.push_back("-fno-split-dwarf-inlining");
|
||||
if (T.isOSBinFormatELF() && SplitDWARFInlining)
|
||||
CmdArgs.push_back("-fsplit-dwarf-inlining");
|
||||
|
||||
// After we've dealt with all combinations of things that could
|
||||
// make DebugInfoKind be other than None or DebugLineTablesOnly,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// RUN: %clang_cc1 -debug-info-kind=limited -fno-split-dwarf-inlining -S -emit-llvm -o - %s | FileCheck %s
|
||||
// RUN: %clang_cc1 -debug-info-kind=limited -S -emit-llvm -o - %s | FileCheck --check-prefix=ABSENT %s
|
||||
// RUN: %clang_cc1 -debug-info-kind=limited -S -emit-llvm -o - %s | FileCheck %s
|
||||
// RUN: %clang_cc1 -debug-info-kind=limited -fsplit-dwarf-inlining -S -emit-llvm -o - %s | FileCheck --check-prefix=ABSENT %s
|
||||
void f(void) {}
|
||||
// Verify that disabling split debug inlining info is propagated to the debug
|
||||
// info metadata.
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
/// -gsplit-dwarf=split is equivalent to -gsplit-dwarf.
|
||||
// RUN: %clang -### -c -target x86_64 -gsplit-dwarf=split -g %s 2>&1 | FileCheck %s --check-prefixes=NOINLINE,SPLIT
|
||||
|
||||
// INLINE-NOT: "-fno-split-dwarf-inlining"
|
||||
// NOINLINE: "-fno-split-dwarf-inlining"
|
||||
// INLINE: "-fsplit-dwarf-inlining"
|
||||
// NOINLINE-NOT: "-fsplit-dwarf-inlining"
|
||||
// SPLIT: "-debug-info-kind=limited"
|
||||
// SPLIT-SAME: "-ggnu-pubnames"
|
||||
// SPLIT-SAME: "-split-dwarf-file" "split-debug.dwo" "-split-dwarf-output" "split-debug.dwo"
|
||||
|
|
Loading…
Reference in New Issue