This patch fixes an assertion failure crash that happens when a constant record reference member is initialized using an empty initializer list.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Sema/SemaExprCXX.cpp | ||
---|---|---|
3429–3430 | I think you mean "if the constructor has no parameters", right? | |
3433 | It looks like this will result in us building an expression like T(void({})). That would be invalid, and we shouldn't have it in the AST. Instead, we should probably build T{} for this case. | |
test/SemaCXX/cxx11-crashes.cpp | ||
109 | This case is ill-formed under http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1696 Is there any way to tickle this problem without binding a class member to a temporary? If not, I'd prefer we instead implement DR1696 to eliminate the problem. |
I think you mean "if the constructor has no parameters", right?