https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84704
Jakub Jelinek changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84704
--- Comment #8 from Jakub Jelinek ---
Author: jakub
Date: Mon Mar 12 23:39:21 2018
New Revision: 258470
URL: https://gcc.gnu.org/viewcvs?rev=258470=gcc=rev
Log:
PR c++/84704
* tree.c (stabilize_reference_1): Return save_expr (e)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84704
--- Comment #7 from Jakub Jelinek ---
Author: jakub
Date: Wed Mar 7 09:19:36 2018
New Revision: 258317
URL: https://gcc.gnu.org/viewcvs?rev=258317=gcc=rev
Log:
PR c++/84704
* gimple-expr.c (create_tmp_var_raw): Set
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84704
Richard Biener changed:
What|Removed |Added
Priority|P3 |P1
CC|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84704
--- Comment #6 from Jakub Jelinek ---
Testcase without division by zero:
int a[1] = { 0 };
void
foo ()
{
a[({ 0; })] %= 5;
}
--- gcc/tree.c.jj 2018-02-22 12:37:02.634387690 +0100
+++ gcc/tree.c 2018-03-05 10:50:54.37537 +0100
@@
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84704
--- Comment #5 from Jakub Jelinek ---
Ugh, this one is really nasty.
If a statement-expression has side-effects, like for:
a[({ i++; 0; })] %= 5;
the FE wraps the statement expression with a SAVE_EXPR:
# DEBUG BEGIN STMT;
<;
# DEBUG BEGIN
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84704
Jakub Jelinek changed:
What|Removed |Added
Status|NEW |ASSIGNED
CC|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84704
Marek Polacek changed:
What|Removed |Added
CC||aoliva at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84704
Marek Polacek changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|