[all-commits] [llvm/llvm-project] c35416: [demangler] Add support for C++20 modules
Nathan Sidwell via All-commits
all-commits at lists.llvm.org
Tue Mar 22 09:43:10 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c354167ae217f90399bff9a644fffb3e9a6b4334
https://github.com/llvm/llvm-project/commit/c354167ae217f90399bff9a644fffb3e9a6b4334
Author: Nathan Sidwell <nathan at acm.org>
Date: 2022-03-22 (Tue, 22 Mar 2022)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/lib/Demangle/ItaniumDemangle.cpp
Log Message:
-----------
[demangler] Add support for C++20 modules
Add support for module name demangling. We have two new demangler
nodes -- ModuleName and ModuleEntity. The former represents a module
name in a hierarchical fashion. The latter is the combination of a
(name) node and a module name. Because module names and entity
identities use the same substitution encoding, we have to adjust the
flow of how substitutions are handled, and examine the substituted
node to know how to deal with it.
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D119933
More information about the All-commits
mailing list