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]

gcc 3.2.1 draft release notes, 3rd draft

Here's a third draft for GCC 3.2.1 release notes.  Please let me know
about anything else that should be mentioned.

A number of additional bugs have been fixed, and bugfixing is still in
progress, so no doubt more will be added to this list.  I've added a note
on -Wabi and the removal of "Named Types", which hasn't had much

Can we always tell people to turn

typedef T = expression;


typedef typeof(expression) T;


Informal release notes for GCC 3.2.1

3.2.1 adds a new warning, -Wabi.  This option warns when GNU C++ generates
code that is known not to be binary-compatible with the vendor-neutral
ia32/ia64 ABI.  Please consult the GCC manual, included in the
distribution, for details.

This release also removes an old GCC extension, "naming types", and the
documentation now directs users to use a different GCC extension,
"typeof", instead.  The feature had evidently been broken for a while.

Otherwise, 3.2.1 is a bug fix release only; other than bug fixes there are
no new features that were not present in GCC 3.2.

This document lists the problem reports (PRs) from GCC's bug tracking
system (GNATS) that are known to be fixed in the 3.2.1 release. This
list might not be complete (that is, it is possible that some bug fixes
have been missed).

One bug from Debian's bug tracking system is listed as well, since there
is no corresponding PR for it.  (maybe in the future we should make sure
that there's a PR for such things, once they are determined not to be

In addition, the previous fix for PR 7445 (poor performance of
std::locale::classic() in multi-threaded applications) was reverted
("unfixed"), because the "fix" was not thread-safe.

Thanks to Daniel Jacobowitz for doing an early draft of this list.

To learn more about a particular PR, visit the link

and enter the PR number in the "View Problem Report" dialog box.  Then
click the "View" button.  It's not necessary to log in to view reports.

My sorting is slightly different from the GNATS categories, and I changed
some of the titles to make them more clear.

First, internal compiler errors (ICEs).  These are multi-platform; some
processor-specific ICEs are listed below.

5661    (c++) ICE instantiating template on array of unknown size (bad code)
7150	preprocessor: gcc -dM -E gives an ICE
7160	gcc 3.1 gives an ICE when optimizing valid code
7353	ICE from use of "Naming Types" extension, see above
7411	ICE in instantiate_virtual_regs_1, at function.c:3974
7526	preprocessor core dump when _Pragma implies #pragma dependency
7721	(c++) ICE on simple (but incorrect) template (7803 is a duplicate)
7754	(c++) ICE on union with template parameter
8055	preprocessor dies with SIG11 when building FreeBSD kernel

C++ bugs

5607	No pointer adjustment in covariant return types
6803	Default copy constructor bug in GCC 3.1
7176	g++ confused by friend and static member with same name
7188	Segfault with template class and recursive (incorrect) initalizer list
7461	ctype<char>::classic_table() returns offset array on Cygwin
7811	default locale not taken from environment
8071	basic_ostream::operator<<(streambuf*) loops forever if
	streambuf::underflow() leaves gptr() NULL (dups: 8127, 6745)
8127	cout << cin.rdbuf() infinite loop
8096    deque::at() throws std::range_error instead of std::out_of_range

C and optimizer bugs

6627    -fno-align-functions doesn't seem to disable function alignment
7102	unsigned char divisision results in floating exception
7120	Run once loop should *always* be unrolled (pessimization)
7515	invalid inlining of global function with -O3
7814	incorrect scheduling for glibc-2.2.92 stpcpy test

Preprocessor bugs

7357	-M option omits system headers files (making it the same as -MM)
7358	Changes to Sun's make Dependencies
7602	C++ header files found in CPLUS_INCLUDE_PATH treated as C headers
Debian BTS 157416: _Pragma within macro is improperly expanded

x86-specific (Intel/AMD):

6845,7034,7124,7174: ICE's with -march=pentium3/pentium2/athlon
(these are all the same underlying bug, in MMX register use)
7134,7375,7390    ICE with -march=athlon (maybe same as above?)
7242    gcc -mcpu=pentium[23] doesn't define __tune_pentiumpro__ macro
7723	ICE - Pentium3 sse - gcc 3.2
7951	ICE on -march=pentium4 -O2 -mfpmath=sse

5967	gcc bug when profiling nested functions on powerpc
6984	wrong code generated with -O2, -O3, -Os for do-while loop on PowerPC
7114	PowerPC: ICE building strcoll.op from glibc-2.2.5
7130	miscompiled code for gcc-3.1 in powerpc linux with -funroll-all-loops
7380	ICE in extract_insn, at recog.c:2148

7151	ICE when compiling for UltraSPARC
7335	Sparc: ICE in verify_wide_reg (flow.c:557) with long double and -O1
7842	[REGRESSION] sparc code gen bug

7967	optimization produces wrong code (ARM)

7374	__builtin_fabsl broken on alpha

5610	Fix documentation about invoking SSE instructions (-mfpmath=sse)
7484	List -Wmissing-declarations as C-only option
7531	-mcmodel not documented for x86-64
8120	Update documentation of bad use of ##

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