------- Additional Comments From belyshev at depni dot sinp dot msu dot ru 2005-03-20 10:37 ------- Confirmed, reduced testcase (compile with -O2): ------------------------------------------------------------------------------ struct s { int a, b; };
static int foo (struct s *u) { if (u->b == 0) return 0; foo1 (u); u->b = 0; return 0; } int bar (int j, char *fmt, struct s u) { int ch; union { double d; } d = { 0.0 }; if (j) foo2 (j); for (;;) { while (*fmt) fmt += 1; if (fmt) if (++u.a) if (foo (&u)); if (ch) if (d.d) if (++u.a); } return 0; } ------------------------------------------------------------------------------ -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed| |1 GCC build triplet|i686-pc-linux-gnu | GCC host triplet|i686-pc-linux-gnu | Keywords| |ice-on-valid-code Known to fail| |4.0.0 4.1.0 Known to work| |3.4.4 Last reconfirmed|0000-00-00 00:00:00 |2005-03-20 10:37:23 date| | Summary|ICE on compiling vfprintf.c |[4.0/4.1 regression] ICE in | |reload_cse_simplify_operands | |, at postreload.c:391 Target Milestone|--- |4.1.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20528