From 36f7f1303fa6720366f5c2f8d09d58f06f87fceb Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Wed, 28 Jan 2015 22:08:10 +0000 Subject: [PATCH] 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 --- clang/lib/Sema/SemaInit.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp index c6d9a54..0897467 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; -- 2.7.4