The change.... Author: rguenth Date: Wed Jan 7 10:53:30 2009 New Revision: 143152
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143152 Log: 2009-01-07 Richard Guenther <rguent...@suse.de> PR middle-end/38751 * fold-const.c (extract_muldiv): Remove obsolete comment. (fold_plusminus_mult_expr): Undo MINUS_EXPR to PLUS_EXPR canonicalization for the canonicalization. Modified: trunk/gcc/ChangeLog trunk/gcc/fold-const.c causes broken code in xplor-nih when compiled with -O2 or higher. Specifically, the output routine in xplor-nih losses the final character of a line. For example... | Etotal =-0.012 grad(E)=0.005 E(BOND)=0.000 E(ANGL)=0.000 | | E(DIHE)=0.000 E(IMPR)=0.000 E(VDW )=-0.012 E(ELEC)=0.000 | becomes... | Etotal =-0.012 grad(E)=0.005 E(BOND)=0.000 E(ANGL)=0.000 | | E(DIHE)=0.000 E(IMPR)=0.000 E(VDW )=-0.012 E(ELEC)=0.000 The problem doesn't occur at -O0 or -O1 and doesn't occur if I use -funroll-loops or -funroll-all-loops. I also can also suppress the problem by adding a final write(6,*) statement to the test program. -- Summary: r143152 breaks output routines in xplor-nih Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: howarth at nitro dot med dot uc dot edu GCC build triplet: i686-apple-darwin9 GCC host triplet: i686-apple-darwin9 GCC target triplet: i686-apple-darwin9 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38868