aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2015-03-09 02:27:57 +0000
committerAlexander Kornienko <alexfh@google.com>2015-03-09 02:27:57 +0000
commitb2ddb8ac4d6a20329a484a6763e0662318390eef (patch)
tree084238c4c9b578cb60b8f6b426b5288bb22c5844 /clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
parent7a3cbb299772b886cbc14e9c5c3030400675aea3 (diff)
downloadllvm-b2ddb8ac4d6a20329a484a6763e0662318390eef.zip
llvm-b2ddb8ac4d6a20329a484a6763e0662318390eef.tar.gz
llvm-b2ddb8ac4d6a20329a484a6763e0662318390eef.tar.bz2
[clang-tidy] Fix assertion when a dependent expression is used in an assert.
llvm-svn: 231620
Diffstat (limited to 'clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp b/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
index 47d6df7..fd6c4ca 100644
--- a/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
+++ b/clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
@@ -69,7 +69,9 @@ void StaticAssertCheck::check(const MatchFinder::MatchResult &Result) {
StringRef MacroName =
Lexer::getImmediateMacroName(AssertExpansionLoc, SM, Opts);
- if (MacroName != "assert" || !Condition->isEvaluatable(*ASTCtx))
+ if (MacroName != "assert" || Condition->isValueDependent() ||
+ Condition->isTypeDependent() || Condition->isInstantiationDependent() ||
+ !Condition->isEvaluatable(*ASTCtx))
return;
// False literal is not the result of macro expansion.