> This caused: > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53088 > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53089
The first one seems just moved warning because of different gimplification order. Fixed thus. Note that the warning comes out at weird place with input_location, but that problem existed here before the patch. I've comitted the following. I am looking into the fortran coarays now. It seems that coarray registration is somehow broken, but I am not even sure how it is supposed to work. Honza Index: gcc.target/i386/pr39082-1.c =================================================================== --- gcc.target/i386/pr39082-1.c (revision 186814) +++ gcc.target/i386/pr39082-1.c (working copy) @@ -13,7 +13,7 @@ extern int bar1 (union un); extern union un bar2 (int); int -foo1 (union un u) +foo1 (union un u) /* { dg-message "note: the ABI of passing union with long double has changed in GCC 4.4" } */ { bar1 (u); return u.i; @@ -30,6 +30,6 @@ foo2 (void) int foo3 (int x) { - union un u = bar2 (x); /* { dg-message "note: the ABI of passing union with long double has changed in GCC 4.4" } */ + union un u = bar2 (x); return u.i; } Index: ChangeLog =================================================================== --- ChangeLog (revision 186814) +++ ChangeLog (working copy) @@ -1,3 +1,8 @@ +2012-04-25 Jan Hubicka <j...@suse.cz> + + PR middle-end/53088 + * gcc.target/i386/pr39082-1.c: Update warning location. + 2012-04-25 Jakub Jelinek <ja...@redhat.com> PR c/52880