[PATCH] D150895: [NFC][CLANG] Fix dereference issue before null check found by Coverity static analyzer tool

Erich Keane via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 18 12:07:05 PDT 2023


erichkeane added inline comments.


================
Comment at: clang/lib/Parse/ParsePragma.cpp:4058
 
+  PP.Lex(Tok);
+  II = Tok.getIdentifierInfo();
----------------
Manna wrote:
> erichkeane wrote:
> > I'm having trouble figuring out why this isn't a breaking change.  `PP.Lex(Tok)` moves the current 'token' to be the next one (that is, it has side effects!), so now this ends up looking in a different place for the intrin name? 
> > 
> > This will result in `IntrinsicClass` becoming the value of the token 2 after the fact, which doesn't seem right to me.  I suspect the correct answer here is to just move IntrinsicClass ~4050.
> I am wondering whether do we need IntrinsicClass`. Can we do something like:
> ```
> if (II->isStr("vector"))
>     Actions.DeclareRISCVVBuiltins = true;
>   else if (II->isStr("sifive_vector")
>     Actions.DeclareRISCVVectorBuiltins = true;
> ```
Probably not necessary, as long as II doesn't after ~4044.


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

https://reviews.llvm.org/D150895



More information about the cfe-commits mailing list