The test was reduced from PlumHall test X_132p92: $ cat x_132p92.cc struct X_132p92 { static int k; // [1] X_132p92(const X_132p92 &x); // [2] }; void f_132p92(volatile X_132p92 x) // [3] { bool b = x.k >= 1; } $ g++4 -c x_132p92.cc x_132p92.cc: In function รข: x_132p92.cc:8: internal compiler error: in create_tmp_var, at gimplify.c:368 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. Commenting out "static" at [1], copy-ctor at [2], or volatile at [3] "cures" the bug.
Confirmed, reduced testcase: struct a { static int k; a(const a &x); }; void f(volatile a x) { x.k; }
: Search converges between 2004-05-11-trunk (#454) and 2004-05-14-trunk (#455).\ : Search converges between 2003-06-25-ssa (#14) and 2003-06-26-ssa (#15).
Postponed until 4.0.2.
*** This bug has been marked as a duplicate of 23167 ***