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?