[PATCH] D56855: Add ___Z demangling to new common demangle function

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 18 04:59:33 PST 2019


grimar accepted this revision.
grimar added a comment.

LGTM.



================
Comment at: lib/Demangle/Demangle.cpp:17
+static bool isItaniumEncoding(const std::string &MangledName) {
+  std::size_t FirstNonUnderscore = MangledName.find_first_not_of('_');
+  // A valid Itanium encoding requires 1-4 leading underscores, followed by 'Z'.
----------------
Using just `size_t` form seems to be much more common. But I see `std::size_t` is also used sometimes.
Up to you. FTR in LLD we use `size_t`.


================
Comment at: lib/Demangle/Demangle.cpp:20
+  return FirstNonUnderscore > 0 && FirstNonUnderscore <= 4 &&
+         MangledName[FirstNonUnderscore] == 'Z';
+}
----------------
Up to you again, but I would use just `I` or `Pos` for shortness:

`std::size_t I = MangledName.find_first_not_of('_');`
`return I > 0 && I <= 4 && MangledName[I] == 'Z';`


Repository:
  rL LLVM

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

https://reviews.llvm.org/D56855





More information about the llvm-commits mailing list