diff options
Diffstat (limited to 'clang/lib/Sema/SemaInit.cpp')
-rw-r--r-- | clang/lib/Sema/SemaInit.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp index ce6a99acd9d..405dd8489e2 100644 --- a/clang/lib/Sema/SemaInit.cpp +++ b/clang/lib/Sema/SemaInit.cpp @@ -176,7 +176,13 @@ bool Sema::CheckInitializerTypes(Expr *&Init, QualType &DeclType, DirectInit? IK_Direct : IK_Copy); if (!Constructor) return true; - Init = BuildCXXConstructExpr(DeclType, Constructor, &Init, 1); + + OwningExprResult InitResult = + BuildCXXConstructExpr(DeclType, Constructor, &Init, 1); + if (InitResult.isInvalid()) + return true; + + Init = InitResult.takeAs<Expr>(); return false; } |