[PATCH] D99250: [DebugInfo] Fix the mismatching of C++ language tags and Dwarf versions.
ChenZheng via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 30 18:21:35 PDT 2021
shchenz added inline comments.
================
Comment at: clang/lib/CodeGen/CGDebugInfo.cpp:572
LangTag = llvm::dwarf::DW_LANG_C_plus_plus_14;
- else if (LO.CPlusPlus11)
+ else if (LO.CPlusPlus11 && CGM.getCodeGenOpts().DwarfVersion >= 5)
LangTag = llvm::dwarf::DW_LANG_C_plus_plus_11;
----------------
probinson wrote:
> Esme wrote:
> > shchenz wrote:
> > > Seems we miss to handle `DW_LANG_C_plus_plus_03` which is also a DWARF 5 language name value? We always generate `DW_LANG_C_plus_plus` for `-std=c++03` even at `-gdwarf-5`? If so, maybe we also need to fix this in another patch.
> > How about we just do that in this patch?
> I don't think anyone will stop you. :)
Yeah, definitely.
================
Comment at: clang/test/CodeGenCXX/debug-info-programming-language.cpp:9
+// RUN: -O0 -disable-llvm-passes \
+// RUN: -debug-info-kind=standalone \
+// RUN: | FileCheck --check-prefix=CHECK-DWARF3 %s
----------------
probinson wrote:
> shchenz wrote:
> > is limited debug info kind enough for this test?
> Yes, limited is enough (and is the default). "Limited" in this context mostly means unused type info will not be emitted; the language is a CU attribute, and the CU is always emitted.
Thank you for the explanation.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D99250/new/
https://reviews.llvm.org/D99250
More information about the cfe-commits
mailing list