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

Reply via email to