diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2015-01-28 22:08:10 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2015-01-28 22:08:10 +0000 |
commit | 36f7f1303fa6720366f5c2f8d09d58f06f87fceb (patch) | |
tree | 9c8fba4ae7904720422541fa2db415dc060f73b1 /clang/lib/Sema/SemaInit.cpp | |
parent | 1ae689c2b8759e4cb5bc9ff334b02c58752f2717 (diff) | |
download | bcm5719-llvm-36f7f1303fa6720366f5c2f8d09d58f06f87fceb.tar.gz bcm5719-llvm-36f7f1303fa6720366f5c2f8d09d58f06f87fceb.zip |
CXX [qoi]. Prevent a crash when initializer expression is
invalid when trying to create temporary copy of the invalid
initializer. rdar://19109967
llvm-svn: 227378
Diffstat (limited to 'clang/lib/Sema/SemaInit.cpp')
-rw-r--r-- | clang/lib/Sema/SemaInit.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp index c6d9a544c4b..089746725f3 100644 --- a/clang/lib/Sema/SemaInit.cpp +++ b/clang/lib/Sema/SemaInit.cpp @@ -5063,6 +5063,8 @@ static ExprResult CopyObject(Sema &S, const InitializedEntity &Entity, ExprResult CurInit, bool IsExtraneousCopy) { + if (CurInit.isInvalid()) + return CurInit; // Determine which class type we're copying to. Expr *CurInitExpr = (Expr *)CurInit.get(); CXXRecordDecl *Class = nullptr; |