[PATCH] D67051: [LLD] [COFF] Demangle itanium symbols in mingw mode

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 3 11:39:52 PDT 2019


rnk added inline comments.


================
Comment at: lld/trunk/COFF/Symbols.cpp:31
+  if (config->demangle) {
     if (Optional<std::string> s = demangleMSVC(symName))
       return *s;
----------------
It is trivial to disambiguate Itanium and MSVC symbols just by looking at the prefix. For both mangling types, we should ignore `__imp_` prefixes in the same way. Then, Itanium names match `_+Z`, and Microsoft names start with `?`.

I think we should get rid of the two `lld::demangleItanium/MSVC` variants, add a check for `?` in `llvm::demangle`, and standardize on that. The COFF demangle helper can do the `__imp_` handling. Make sense?


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67051/new/

https://reviews.llvm.org/D67051





More information about the llvm-commits mailing list