This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/33391] [4.3 regression] gfortran.dg/do_3.F90 fails at -O2

------- Comment #2 from burnus at gcc dot gnu dot org  2007-09-11 14:59 -------
Isn't this what (plus/minus a
few emails in the thread) is about?

Using -fno-strict-overflow they pass. I think we can simply add this option to
the test case; or do you think -fstrict-overflow is an over-optimization for

Allow the compiler to assume strict signed overflow rules, depending on the
language being compiled. For C (and C++) this means that overflow when doing
arithmetic with signed numbers is undefined, which means that the compiler may
assume that it will not happen.  This permits various optimizations. For
example, the compiler will assume that an expression like "i + 10 > i" will
always be true for signed "i".  This assumption is only valid if signed
overflow is undefined, as the expression is false if "i + 10" overflows when
using twos complement arithmetic.  When this option is in effect any attempt to
determine whether an operation on signed numbers will overflow must be written
carefully to not actually involve overflow.

The -fstrict-overflow option is enabled at levels -O2, -O3, -Os.


burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
                 CC|                            |burnus at gcc dot gnu dot
                   |                            |org
            Summary|[4.3 regression]            |[4.3 regression]
                   |gfortran.df/do_3.F90 fails  |gfortran.dg/do_3.F90 fails
                   |at -O2                      |at -O2

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]