[PATCH] D50930: Move Itanium demangler implementation into a header file and add visitation support.
Erik Pilkington via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Nov 2 11:53:08 PDT 2019
erik.pilkington added inline comments.
================
Comment at: llvm/trunk/include/llvm/Demangle/ItaniumDemangle.h:609
+ assert(FirstChar == SecondChar);
+ ++FirstChar, ++SecondChar;
+ }
----------------
xbolva00 wrote:
> Hi Richard, this code looks suspicious. Is this correct?
>
> PVS warns:
> /home/xbolva00/LLVM/llvm-project/llvm/include/llvm/Demangle/ItaniumDemangle.h 620 err V769 The 'SecondChar' pointer in the '++ SecondChar' expression equals nullptr. The resulting value is senseless and it should not be used.
>
>
(This is my fault, Richard just copied this)
This is sorta fine, this done to distinguish between an empty StringView with nullptr first and last and an empty NodeOrString. The pointers are never loaded from, but I believe this is still UB. That being said, I think this class is over engineered and we'd probably be better off putting the StringView in a `NameType` in cases where we need to have either a Node or a String.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D50930/new/
https://reviews.llvm.org/D50930
More information about the llvm-commits
mailing list