[PATCH] D99250: [DebugInfo] Fix the mismatching of C++ language tags and Dwarf versions.

Paul Robinson via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 30 06:48:59 PDT 2021


probinson 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;
----------------
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. :)


================
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
----------------
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.


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