[all-commits] [llvm/llvm-project] 38c09e: DebugInfo: Add (initially no-op) -gsimple-template...
David Blaikie via All-commits
all-commits at lists.llvm.org
Wed Sep 22 11:12:07 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 38c09ea2d279eddddabe3602e2002f8cdfcc5380
https://github.com/llvm/llvm-project/commit/38c09ea2d279eddddabe3602e2002f8cdfcc5380
Author: David Blaikie <dblaikie at gmail.com>
Date: 2021-09-22 (Wed, 22 Sep 2021)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DebugInfoOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/Driver/debug-options.c
Log Message:
-----------
DebugInfo: Add (initially no-op) -gsimple-template-names={simple,mangled}
This is to build the foundation of a new debug info feature to use only
the base name of template as its debug info name (eg: "t1" instead of
the full "t1<int>"). The intent being that a consumer can still retrieve
all that information from the DW_TAG_template_*_parameters.
So gno-simple-template-names is business as usual/previously ("t1<int>")
=simple is the simplified name ("t1")
=mangled is a special mode to communicate the full information, but
also indicate that the name should be able to be simplified. The data
is encoded as "_STNt1|<int>" which will be matched with an
llvm-dwarfdump --verify feature to deconstruct this name, rebuild the
original name, and then try to rebuild the simple name via the DWARF
tags - then compare the latter and the former to ensure that all the
data necessary to fully rebuild the name is present.
More information about the All-commits
mailing list