diff options
| author | Douglas Gregor <dgregor@apple.com> | 2009-05-15 20:47:12 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2009-05-15 20:47:12 +0000 |
| commit | 3f17b47c7e6cfc550cfe02da068ce417e8046ca3 (patch) | |
| tree | 37f90dfc7ac737467ce533d43529fb06bbd69ce2 /clang/lib/Sema | |
| parent | 0aa5c4565d822e77c73a815fedf87cd2bc825ec9 (diff) | |
| download | bcm5719-llvm-3f17b47c7e6cfc550cfe02da068ce417e8046ca3.tar.gz bcm5719-llvm-3f17b47c7e6cfc550cfe02da068ce417e8046ca3.zip | |
Allow instantiation of NULL expressions and statements
llvm-svn: 71889
Diffstat (limited to 'clang/lib/Sema')
| -rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiateExpr.cpp | 3 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiateStmt.cpp | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp b/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp index c2007c6e3b3..08c388efea1 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp @@ -432,6 +432,9 @@ TemplateExprInstantiator::VisitCXXThisExpr(CXXThisExpr *E) { Sema::OwningExprResult Sema::InstantiateExpr(Expr *E, const TemplateArgumentList &TemplateArgs) { + if (!E) + return Owned((Expr *)0); + TemplateExprInstantiator Instantiator(*this, TemplateArgs); return Instantiator.Visit(E); } diff --git a/clang/lib/Sema/SemaTemplateInstantiateStmt.cpp b/clang/lib/Sema/SemaTemplateInstantiateStmt.cpp index 957402ac6f6..2a3f48a469d 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateStmt.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateStmt.cpp @@ -166,6 +166,9 @@ Sema::OwningStmtResult TemplateStmtInstantiator::VisitExpr(Expr *E) { Sema::OwningStmtResult Sema::InstantiateStmt(Stmt *S, const TemplateArgumentList &TemplateArgs) { + if (!S) + return Owned((Stmt *)0); + TemplateStmtInstantiator Instantiator(*this, TemplateArgs); return Instantiator.Visit(S); } |

