[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