Skip to content

Commit d942a82

Browse files
committed
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
1 parent 71ef543 commit d942a82

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

clang/include/clang/Driver/Options.td

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2669,9 +2669,9 @@ defm debug_ranges_base_address : BoolFOption<"debug-ranges-base-address",
26692669
PosFlag<SetTrue, [CC1Option], "Use DWARF base address selection entries in .debug_ranges">,
26702670
NegFlag<SetFalse>>;
26712671
defm split_dwarf_inlining : BoolFOption<"split-dwarf-inlining",
2672-
CodeGenOpts<"SplitDwarfInlining">, DefaultTrue,
2673-
NegFlag<SetFalse, [CC1Option]>,
2674-
PosFlag<SetTrue, [], "Provide minimal debug info in the object/executable"
2672+
CodeGenOpts<"SplitDwarfInlining">, DefaultFalse,
2673+
NegFlag<SetFalse, []>,
2674+
PosFlag<SetTrue, [CC1Option], "Provide minimal debug info in the object/executable"
26752675
" to facilitate online symbolication/stack traces in the absence of"
26762676
" .dwo/.dwp files when using Split DWARF">>;
26772677
def fdebug_default_version: Joined<["-"], "fdebug-default-version=">, Group<f_Group>,

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3979,8 +3979,8 @@ static void renderDebugOptions(const ToolChain &TC, const Driver &D,
39793979
}
39803980
}
39813981

3982-
if (T.isOSBinFormatELF() && !SplitDWARFInlining)
3983-
CmdArgs.push_back("-fno-split-dwarf-inlining");
3982+
if (T.isOSBinFormatELF() && SplitDWARFInlining)
3983+
CmdArgs.push_back("-fsplit-dwarf-inlining");
39843984

39853985
// After we've dealt with all combinations of things that could
39863986
// make DebugInfoKind be other than None or DebugLineTablesOnly,

clang/test/CodeGen/split-debug-inlining.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
// RUN: %clang_cc1 -debug-info-kind=limited -fno-split-dwarf-inlining -S -emit-llvm -o - %s | FileCheck %s
2-
// RUN: %clang_cc1 -debug-info-kind=limited -S -emit-llvm -o - %s | FileCheck --check-prefix=ABSENT %s
1+
// RUN: %clang_cc1 -debug-info-kind=limited -S -emit-llvm -o - %s | FileCheck %s
2+
// RUN: %clang_cc1 -debug-info-kind=limited -fsplit-dwarf-inlining -S -emit-llvm -o - %s | FileCheck --check-prefix=ABSENT %s
33
void f(void) {}
44
// Verify that disabling split debug inlining info is propagated to the debug
55
// info metadata.

clang/test/Driver/split-debug.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
/// -gsplit-dwarf=split is equivalent to -gsplit-dwarf.
88
// RUN: %clang -### -c -target x86_64 -gsplit-dwarf=split -g %s 2>&1 | FileCheck %s --check-prefixes=NOINLINE,SPLIT
99

10-
// INLINE-NOT: "-fno-split-dwarf-inlining"
11-
// NOINLINE: "-fno-split-dwarf-inlining"
10+
// INLINE: "-fsplit-dwarf-inlining"
11+
// NOINLINE-NOT: "-fsplit-dwarf-inlining"
1212
// SPLIT: "-debug-info-kind=limited"
1313
// SPLIT-SAME: "-ggnu-pubnames"
1414
// SPLIT-SAME: "-split-dwarf-file" "split-debug.dwo" "-split-dwarf-output" "split-debug.dwo"

0 commit comments

Comments
 (0)