[PATCH] D124010: [llvm-cxxfilt] Unable to demangle a template argument which happens to be a null pointer
Owen Reynolds via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 26 09:20:43 PDT 2022
gbreynoo added inline comments.
================
Comment at: llvm/include/llvm/Demangle/ItaniumDemangle.h:4373
return nullptr;
return make<EnumLiteral>(T, N);
}
----------------
@dblaikie regarding the use of `EnumLiteral `this looked strange to me too but when following the code path for demangling `_Z1fIPiLPi0EEvv `which does appear to be output correctly, this line is used to demangle `LPi0E` to `(int*)0`. Looking at the spec "a template argument which happens to be a null pointer should mangled as if it were a literal 0 of the appropriate pointer type" which in the case of `LDn0E` would be `nullptr_t`. I'm not sure which Kind of AST should be used in this case?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D124010/new/
https://reviews.llvm.org/D124010
More information about the llvm-commits
mailing list