diff options
author | David Blaikie <dblaikie@gmail.com> | 2018-08-20 20:14:08 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2018-08-20 20:14:08 +0000 |
commit | 658645241bf0c624d4b7a67c195c239bbc193e3f (patch) | |
tree | 676117a4de9c9257359c8dbeade7974c89e28b1f /clang/lib/CodeGen/CGDebugInfo.cpp | |
parent | a25e2069739bcc46429451a3d7955c4348dd1b00 (diff) | |
download | bcm5719-llvm-658645241bf0c624d4b7a67c195c239bbc193e3f.tar.gz bcm5719-llvm-658645241bf0c624d4b7a67c195c239bbc193e3f.zip |
DebugInfo: Add the ability to disable DWARF name tables entirely
This changes the current default behavior (from emitting pubnames by
default, to not emitting them by default) & moves to matching GCC's
behavior* with one significant difference: -gno(-gnu)-pubnames disables
pubnames even in the presence of -gsplit-dwarf (though -gsplit-dwarf
still by default enables -ggnu-pubnames). This allows users to disable
pubnames (& the new DWARF5 accelerated access tables) when they might
not be worth the size overhead.
* GCC's behavior is that -ggnu-pubnames and -gpubnames override each
other, and that -gno-gnu-pubnames and -gno-pubnames act as synonyms and
disable either kind of pubnames if they come last. (eg: -gpubnames
-gno-gnu-pubnames causes no pubnames (neither gnu or standard) to be
emitted)
llvm-svn: 340206
Diffstat (limited to 'clang/lib/CodeGen/CGDebugInfo.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGDebugInfo.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp index dbf6ae5dc8a..02d716abd6f 100644 --- a/clang/lib/CodeGen/CGDebugInfo.cpp +++ b/clang/lib/CodeGen/CGDebugInfo.cpp @@ -581,9 +581,8 @@ void CGDebugInfo::CreateCompileUnit() { 0 /* DWOid */, CGOpts.SplitDwarfInlining, CGOpts.DebugInfoForProfiling, CGM.getTarget().getTriple().isNVPTX() ? llvm::DICompileUnit::DebugNameTableKind::None - : CGOpts.GnuPubnames - ? llvm::DICompileUnit::DebugNameTableKind::GNU - : llvm::DICompileUnit::DebugNameTableKind::Default); + : static_cast<llvm::DICompileUnit::DebugNameTableKind>( + CGOpts.DebugNameTable)); } llvm::DIType *CGDebugInfo::CreateType(const BuiltinType *BT) { |