[libcxx-commits] [PATCH] D124010: [llvm-cxxfilt] Unable to demangle a template argument which happens to be a null pointer
Owen Reynolds via Phabricator via libcxx-commits
libcxx-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 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?
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
More information about the libcxx-commits