Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[NFC][CLANG] Fix dereference issue before null check found by Coverit…
…y static analyzer tool Reported by Coverity static analyzer tool: Inside "ParsePragma.cpp" file, in <unnamed>::PragmaRISCVHandler::HandlePragma(clang::Preprocessor &, clang::PragmaIntroducer, clang::Token &): All paths that lead to this null pointer comparison already dereference the pointer earlier PP.Lex(Tok); II = Tok.getIdentifierInfo(); //deref_ptr_in_call: Dereferencing pointer II. StringRef IntrinsicClass = II->getName(); //Dereference before null check (REVERSE_INULL) //check_after_deref: Null-checking II suggests that it may be null, but it has already been dereferenced on all paths leading to the check. if (!II || !(II->isStr("vector") || II->isStr("sifive_vector"))) { PP.Diag(Tok.getLocation(), diag::warn_pragma_invalid_argument) << PP.getSpelling(Tok) << "riscv" << /*Expected=*/true << "'vector' or 'sifive_vector'"; return; } This patch removes redundant StringRef type 'IntrinsicClass' and checks II->isStr("vector") || II->isStr("sifive_vector") instead to set Actions.DeclareRISCVVBuiltins or Actions.DeclareRISCVVectorBuiltins. Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D150895
- Loading branch information