-
Notifications
You must be signed in to change notification settings - Fork 15.1k
Description
| Bugzilla Link | 10138 |
| Resolution | FIXED |
| Resolved on | Jun 16, 2011 23:59 |
| Version | trunk |
| OS | Linux |
| CC | @DougGregor,@tkremenek |
Extended Description
The following file causes an error when compiling with clang++:
#include
class outer {
public:
typedef struct {
bool a;
std::string b;
} Aggregate;
Aggregate getAgg() {
return (Aggregate){false, ""};
}
};
int main() {
outer tower;
outer::Aggregate res = tower.getAgg();
}
clang: /src/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp:910: void clang::CodeGen::CodeGenFunction::EmitAggregateCopy(llvm::Value*, llvm::Value*, clang::QualType, bool): Assertion `(Record->hasTrivialCopyConstructor() || Record->hasTrivialCopyAssignment()) && "Trying to aggregate-copy a type without a trivial copy " "constructor or assignment operator"' failed.
I'm not entirely sure which svn revision I'm on, but this is the output from svn info:
jcranmer@xochiquetzal /src/llvm/tools/clang $ svn info
Path: .
URL: http://llvm.org/svn/llvm-project/cfe/trunk
Repository Root: http://llvm.org/svn/llvm-project
Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8
Revision: 132484
Node Kind: directory
Schedule: normal
Last Changed Author: akirtzidis
Last Changed Rev: 132481
Last Changed Date: 2011-06-02 13:01:46 -0700 (Thu, 02 Jun 2011)