зеркало из https://github.com/microsoft/clang-1.git
Bail out of MaybeBindToTemporary if the record type is invalid. Test case
is 8.5MB, sorry. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110901 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
e8dc53e585
Коммит
507384f007
|
@ -2619,7 +2619,7 @@ Sema::OwningExprResult Sema::MaybeBindToTemporary(Expr *E) {
|
|||
// That should be enough to guarantee that this type is complete.
|
||||
// If it has a trivial destructor, we can avoid the extra copy.
|
||||
CXXRecordDecl *RD = cast<CXXRecordDecl>(RT->getDecl());
|
||||
if (RD->hasTrivialDestructor())
|
||||
if (RD->isInvalidDecl() || RD->hasTrivialDestructor())
|
||||
return Owned(E);
|
||||
|
||||
CXXTemporary *Temp = CXXTemporary::Create(Context, LookupDestructor(RD));
|
||||
|
|
Загрузка…
Ссылка в новой задаче