[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