9 msgMercurial repository set up for GCC that mirror...
4 msgGIMPLE temporary variables
2 msgImproper Frame Description Entry - DWARF2 debug...
4 msgPR31264 on 4.2.0 branch
9 msgMinGW, GCC Vista,
3 msgtuples: call for help
4 msgOne more df-branch benchmarking on SPEC2000
13 msgCombined tree builds for mingw32
17 msglibffi & powerpc
16 msglive insns deleted by delete_trivially_dead_ins...
2 msgGetting the name of the file to compile
2 msg[cxx0x-branch] Rvalue references vs RVO
1 msgMissing features on Changes for GCC 4.3
6 msgauto vectorization - should this work ?
10 msgSuccessful build of GCC 4.2.0 RC3 on latest Cyg...
2 msgincluding PR summary in gcc-cvs commit mails

libjava Divide_1 and pr6388 fail on 4.2.0 RC3 f...
\ Kaz Kojima (6 May 2007)
. \ David Daney (6 May 2007)
. . \ David Daney (6 May 2007)
. . . \ David Daney (6 May 2007)
. . . . \ Andrew Haley (6 May 2007)
. . . . . \ Eric Botcazou (6 May 2007)
. . . . . . \ Andrew Haley (6 May 2007)
. . \ Ian Lance Taylor (7 May 2007)
. . . \ Mark Mitchell (7 May 2007)
. . . . \ Ian Lance Taylor (8 May 2007)
. . . \ Tom Tromey (8 May 2007)
. . . . \ Ian Lance Taylor (8 May 2007)

3 msgRegression in gfortran.fortran-torture/execute/...
1 msggcc-4.3-20070504 is now available
1 msgBuild status for GCC 3.4.5
Subject:Re: libjava Divide_1 and pr6388 fail on 4.2.0 RC3 for several targets
Group:Gcc
From:Ian Lance Taylor
Date:8 May 2007


Tom Tromey <tromey> writes:

> >>>>> "Ian" == Ian Lance Taylor <iant> writes:
>
> Ian> This is a bug in C++ code in libjava.
>
> Thanks. We enabled -fwrapv for the interpreter but, I think, thought
> that perhaps the other C++ code was safe.
> Would the new warning have caught this?

Yes. With -Wstrict-overflow:

../../../trunk/libjava/java/lang/natString.cc: In function ¡Æjint _Jv_FormatInt(jchar*, jint)¡Ç:
../../../trunk/libjava/java/lang/natString.cc:375: warning: assuming signed overflow does not occur when simplifying conditional to constant


It also warns about this sort of code which occurs a few times in that
file:

if (offset < 0 || count < 0 || offset + count < 0
|| offset + count > data_size)

Since if offset < 0 and count < 0, then VRP can assume that offset +
count < 0 is always true. If you want to code to correctly check for
signed overflow of offset + count, you will need to instead write
something along the lines of INT_MAX - offset <= count.

Ian


© 2004-2008 readlist.com