Deleted Added
full compact
CGExprAgg.cpp (360784) CGExprAgg.cpp (370035)
1//===--- CGExprAgg.cpp - Emit LLVM Code from Aggregate Expressions --------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//

--- 1900 unchanged lines hidden (view full) ---

1909
1910 if (getLangOpts().CPlusPlus) {
1911 if (const RecordType *RT = Ty->getAs<RecordType>()) {
1912 CXXRecordDecl *Record = cast<CXXRecordDecl>(RT->getDecl());
1913 assert((Record->hasTrivialCopyConstructor() ||
1914 Record->hasTrivialCopyAssignment() ||
1915 Record->hasTrivialMoveConstructor() ||
1916 Record->hasTrivialMoveAssignment() ||
1//===--- CGExprAgg.cpp - Emit LLVM Code from Aggregate Expressions --------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//

--- 1900 unchanged lines hidden (view full) ---

1909
1910 if (getLangOpts().CPlusPlus) {
1911 if (const RecordType *RT = Ty->getAs<RecordType>()) {
1912 CXXRecordDecl *Record = cast<CXXRecordDecl>(RT->getDecl());
1913 assert((Record->hasTrivialCopyConstructor() ||
1914 Record->hasTrivialCopyAssignment() ||
1915 Record->hasTrivialMoveConstructor() ||
1916 Record->hasTrivialMoveAssignment() ||
1917 Record->isUnion()) &&
1917 Record->hasAttr<TrivialABIAttr>() || Record->isUnion()) &&
1918 "Trying to aggregate-copy a type without a trivial copy/move "
1919 "constructor or assignment operator");
1920 // Ignore empty classes in C++.
1921 if (Record->isEmpty())
1922 return;
1923 }
1924 }
1925

--- 89 unchanged lines hidden ---
1918 "Trying to aggregate-copy a type without a trivial copy/move "
1919 "constructor or assignment operator");
1920 // Ignore empty classes in C++.
1921 if (Record->isEmpty())
1922 return;
1923 }
1924 }
1925

--- 89 unchanged lines hidden ---