[PATCH] D58416: [llvm-cxxfilt] Split and demangle stdin input on certain non-alphanumerics.

Matt Davis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 20 08:55:07 PST 2019


mattd marked 2 inline comments as done.
mattd added inline comments.


================
Comment at: llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp:114
+  // '$' and '.' in mangled names are reserved for private implementations.
+  return isalnum(C) || C == '.' || C == '$' || C == '_';
+}
----------------
jhenderson wrote:
> I take it c++filt does not split on those characters?
It does but in specific cases depending on if the character is a prefix or suffix to the word.  For instance
```
echo 'Test: ._Z1F _Z1F. Done' | c++filt
Test: .F _Z1F. Done
```

A similar result is produced when using '$'  I feel that the safest thing to do is to just let those implementation specific characters be part of the legal set of allowed characters.  In fact, we already handle '.' in the suffix position, via the `DotSuffix` handler in include/llvm/Demangle/ItaniumDemangle.h





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

https://reviews.llvm.org/D58416





More information about the llvm-commits mailing list