https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59711
Alexander Cherepanov changed:
What|Removed |Added
CC||ch3root at openwall dot com
--- C
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59711
Marek Polacek changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59711
Eric Botcazou changed:
What|Removed |Added
Attachment #31765|0 |1
is obsolete|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59711
--- Comment #4 from Richard Biener ---
int f(int n)
{
struct S {
int a[n];
};
struct S g(void)
{
struct S s;
s.a[0] = 0;
return s;
}
return g ().a[0];
}
I believe this isn't fixable with the GIMPLE IL as-is - without
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59711
--- Comment #5 from Eric Botcazou ---
> I believe this isn't fixable with the GIMPLE IL as-is - without lowering
> to the fact that g () returns by storing to a return slot. Not sure why
> 3.4 ICEd (2.95.2 also ICEs btw ...).
Because historicall
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59711
--- Comment #6 from Florian Weimer ---
Created attachment 31772
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31772&action=edit
pr59711.adb
Here's the same thing in Ada (where it actually works—it's actually fairly
idiomatic code, I believe
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59711
--- Comment #7 from Richard Biener ---
*R.4 = pr59711.f (); [return slot optimization]
ah, so we don't require a WITH_SIZE_EXPR on a RSO call. Obviously. So it
should be fixable either by the gimplifier or by the frontends (as Ada
does it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59711
Andrew Pinski changed:
What|Removed |Added
Target Milestone|--- |6.0
See Also|