diff options
author | Erik Pilkington <erik.pilkington@gmail.com> | 2019-03-29 19:53:41 +0000 |
---|---|---|
committer | Erik Pilkington <erik.pilkington@gmail.com> | 2019-03-29 19:53:41 +0000 |
commit | 233ff94212633f88b868f4ea1cd1887aa957ce41 (patch) | |
tree | 379114dba3fe2b6c1119d3dbb1626e1d50709edd /clang/lib/Sema/SemaChecking.cpp | |
parent | 67f74aceab191c5ecad2394edb267ecee49d872d (diff) | |
download | bcm5719-llvm-233ff94212633f88b868f4ea1cd1887aa957ce41.tar.gz bcm5719-llvm-233ff94212633f88b868f4ea1cd1887aa957ce41.zip |
[Sema] Avoid sending a dependent expression to the constant evaluator.
Fixes llvm.org/PR41286
llvm-svn: 357304
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index 024d78bc64e..5a9b3c3d13c 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -307,6 +307,9 @@ void Sema::checkFortifiedBuiltinMemoryFunction(FunctionDecl *FD, // - Analyze the format string of sprintf to see how much of buffer is used. // - Evaluate strlen of strcpy arguments, use as object size. + if (TheCall->isValueDependent() || TheCall->isTypeDependent()) + return; + unsigned BuiltinID = FD->getBuiltinID(/*ConsiderWrappers=*/true); if (!BuiltinID) return; |