GCC 4.2.0 Released
From: | Mark Mitchell <mark-AT-codesourcery.com> | |
To: | gcc-announce-AT-gcc.gnu.org | |
Subject: | GCC 4.2.0 Released | |
Date: | Tue, 15 May 2007 17:29:42 -0700 |
GCC 4.2.0 has been released. GCC 4.2.0 is a major release, containing new functionality not available in GCC 4.1.x or previous GCC releases. See: http://gcc.gnu.org/gcc-4.2/changes.html for more information about changes in GCC 4.2.0. This release is available from the FTP servers listed here: http://www.gnu.org/order/ftp.html If you encounter difficulties using GCC 4.2, please do not contact me directly. Instead, please visit http://gcc.gnu.org for information about getting help. As always, a vast number of people contributed to this GCC releases -- far too many to thank individually! -- Mark Mitchell CodeSourcery mark@codesourcery.com (650) 331-3385 x713
Posted May 16, 2007 14:58 UTC (Wed)
by nix (subscriber, #2304)
[Link] (5 responses)
Or was the decision eventually made to stop -fstrict-overflow applying to
Posted May 16, 2007 16:28 UTC (Wed)
by MathFox (guest, #6104)
[Link] (2 responses)
Posted May 16, 2007 17:00 UTC (Wed)
by JoeBuck (subscriber, #2330)
[Link] (1 responses)
Nevertheless, if you want to be sure that compilers don't mangle your code, and you explicitly want wrapping semantics, use unsigned arithmetic. It is guaranteed to wrap (unsigned arithmetic is defined as modulo 2**N arithmetic, where N is the number of bits in the type).
Posted May 17, 2007 18:55 UTC (Thu)
by jzbiciak (guest, #5246)
[Link]
Posted May 16, 2007 16:43 UTC (Wed)
by zooko (guest, #2589)
[Link] (1 responses)
Posted May 17, 2007 0:13 UTC (Thu)
by nix (subscriber, #2304)
[Link]
Posted May 16, 2007 15:52 UTC (Wed)
by Billyboylindien (guest, #45288)
[Link]
Som very good stuff in it !
Posted May 16, 2007 17:28 UTC (Wed)
by zender (guest, #10453)
[Link]
Charlie
Having -fstrict-overflow on by default seems likely to break an *awful* GCC 4.2.0 Released
lot of code. Even if autoconf is revised to specify -fno-strict-overflow
by default, surely all older applications won't get this until they're
rebuilt with a newer autoconf release.
loop termination conditions? (IIRC this is where many of the problems lie,
e.g. in Python.)
I'ld say fix your broken code. When your code relies on unspecified overflow behavior it's hard to port to platforms with different rules. (32 bits versus 64 bits integer arithmetic)GCC 4.2.0 Released
In practice, there's a lot of code out there that implicitly assumes that overflow of signed ints wrap, including some in GCC's own source code (and quite a lot in the original Unix source code and in examples in the K&R book). Because of this, the GCC developers backed off quite a bit from taking aggressive advantage of the undefined-ness of signed overflow. The main place where the compiler gets aggressive is in loop optimization (assuming that loop iterations on ints don't wrap around).
signed overflow is a tricky matter
I believe alias analysis also assumes signed arithmetic doesn't wrap.signed overflow is a tricky matter
As far as I know there was only one such bug in Python and it has long since been fixed.GCC 4.2.0 Released
The problem is that it's sometimes hard to *tell* if something depends on GCC 4.2.0 Released
overflow or not, especially in a large source base you don't know well.
(This is where the signed-overflow warnings will be *killingly* useful: I
for one plan to build a lot of packages with this turned on and fix every
instance I can find that looks problematic.)
Miam !
Will try it with no wait.
billyboylindien
This may be the most significant GCC release ever with respect to its influence on proprietary compilers. With GCC's free modernGCC 4.2.0 Released
C, C++, Fortran, and Java compilers that support OpenMP and MPI on most hardware platforms, proprietary suites like PGI, Lahey, Absoft, Intel, Pathscale/Qlogic are much less attractive because of the license managing and name mangling headaches they incur. Congratulations and thanks to the GCC folks!