diff options
| author | Eli Friedman <eli.friedman@gmail.com> | 2012-09-18 21:11:30 +0000 |
|---|---|---|
| committer | Eli Friedman <eli.friedman@gmail.com> | 2012-09-18 21:11:30 +0000 |
| commit | e979db1583952a339a3e8c0a2591d770fc08e4a2 (patch) | |
| tree | 20284128d820b88e7fe31bedf6efb2fad2342d1c /clang/lib/Sema/SemaLambda.cpp | |
| parent | 87cdfaf895464828dceeafba0fe39c26734b72af (diff) | |
| download | bcm5719-llvm-e979db1583952a339a3e8c0a2591d770fc08e4a2.tar.gz bcm5719-llvm-e979db1583952a339a3e8c0a2591d770fc08e4a2.zip | |
Add an extra check for invalid decls in the lambda semantic analysis to avoid a crash. PR13860.
llvm-svn: 164168
Diffstat (limited to 'clang/lib/Sema/SemaLambda.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaLambda.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaLambda.cpp b/clang/lib/Sema/SemaLambda.cpp index 75ea5368f86..7cbfc364f66 100644 --- a/clang/lib/Sema/SemaLambda.cpp +++ b/clang/lib/Sema/SemaLambda.cpp @@ -527,6 +527,10 @@ void Sema::ActOnStartOfLambdaDefinition(LambdaIntroducer &Intro, continue; } + // Ignore invalid decls; they'll just confuse the code later. + if (Var->isInvalidDecl()) + continue; + if (!Var->hasLocalStorage()) { Diag(C->Loc, diag::err_capture_non_automatic_variable) << C->Id; Diag(Var->getLocation(), diag::note_previous_decl) << C->Id; |

