diff options
author | Carlos Galvez <carlosgalvezp@gmail.com> | 2023-05-07 17:08:33 +0000 |
---|---|---|
committer | Carlos Galvez <carlosgalvezp@gmail.com> | 2023-05-09 16:45:02 +0000 |
commit | 0d6d8a853a6ea29b5f461a475a8f8eb7e7ba18e2 (patch) | |
tree | bc170af1400e70a09015166cfda4ea6bf891026d /clang-tools-extra/clang-tidy | |
parent | 4d0d295b618edfc937d5bf247f0853df5c70cb96 (diff) | |
download | llvm-0d6d8a853a6ea29b5f461a475a8f8eb7e7ba18e2.tar.gz |
[clang-tidy] Fix bugprone-assert-side-effect to actually give warnings
Some time ago a patch was merged to disable all clang-tidy warnings
from system macros. This led to bugprone-assert-side-effect
silently no longer working, since the warnings came from a system
macro. The problem was not detected because the fake assert functions
were implemented in the same file as the test, instead of being a
system include like it's done in the real world.
Move the assert to a proper system header, and fix the code to
warn at the correct location.
This patch is breakdown from https://reviews.llvm.org/D147081
by PiotrZSL.
Fixes https://github.com/llvm/llvm-project/issues/62314
Differential Revision: https://reviews.llvm.org/D150071
Diffstat (limited to 'clang-tools-extra/clang-tidy')
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp index 600a923b211c..07a987359d4d 100644 --- a/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp @@ -117,13 +117,13 @@ void AssertSideEffectCheck::check(const MatchFinder::MatchResult &Result) { StringRef AssertMacroName; while (Loc.isValid() && Loc.isMacroID()) { StringRef MacroName = Lexer::getImmediateMacroName(Loc, SM, LangOpts); + Loc = SM.getImmediateMacroCallerLoc(Loc); // Check if this macro is an assert. if (llvm::is_contained(AssertMacros, MacroName)) { AssertMacroName = MacroName; break; } - Loc = SM.getImmediateMacroCallerLoc(Loc); } if (AssertMacroName.empty()) return; |