https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112658
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
Keywords|needs-bisection |wrong-code
Status|NEW |ASSIGNED
CC| |ppalka at gcc dot gnu.org
--- Comment #5 from Patrick Palka <ppalka at gcc dot gnu.org> ---
The ICE-on-valid started with r12-2233-gb9119edc09e466, but before that this
was wrong-code:
bool called;
struct foo{
foo(const int *new_mac) { called = true; }
};
typedef int t[1];
int main() {
foo f((int*)t{ 0xFC});
if (!called) __builtin_abort();
}
If we do copy initialization instead of direct initialization then we ICE ever
since the sanity check assert was added in r6-6795-g0fd9d4921f7ba2