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 --- |