------- Comment #7 from pinskia at gcc dot gnu dot org 2006-09-01 06:11 ------- Here is an even more reduced testcase: void f(void) { unsigned l, l1; l1 = l = ({unsigned __v; __v;}); }
Note the double use is required to ICE, otherwise we are ok. There is no question about it after looking at the patch for PR 27115, that patch caused this ICE. We used to create a temporary variable but now we don't. (In reply to comment #6) > Well the ICE can only happen with checking turned on so it could still be a > bug in 4.1.2. Actually it cannot be as that patch was only applied to the mainline. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at gcc dot gnu dot org BugsThisDependsOn| |27115 Severity|normal |blocker Known to work|4.0.3 4.1.1 |4.0.3 4.1.1 4.0.4 4.1.2 Summary|[4.2 regression] |[/4.2 regression] |gimplification failed |gimplification failed Target Milestone|4.2.0 |4.0.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28899