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]

latest version: draft gcc 3.2.1 release notes

Here's yet another draft for GCC 3.2.1 release notes
(as of 4 Nov Oct 2002, 18:00 PST).

Please let me know about anything else that should be mentioned.

Many, many PRs have been added since last time.

It is likely that there will be more bug fixes before final release.
My top worries:

bootstrap/8146 (I at least want to understand this one)

Release notes for GCC 3.2.1 [DRAFT!]

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 and the
new warning 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.

2521	(c++) ICE in build_ptrmemfunc, in cp/typeck.c
5661    (c++) ICE instantiating template on array of unknown size (bad code)
6419	(c++) ICE in make_decl_rtl for "longest" attribute on 64-bit platforms
6994	(c++) ICE in find_function_data
7150	preprocessor: GCC -dM -E gives an ICE
7160	GCC 3.1 gives an ICE when optimizing valid code
7228	(c++) ICE when using member template and template function
7266	(c++) ICE with -pedantic on missing typename
7353	ICE from use of "Naming Types" extension, see above
7411	ICE in instantiate_virtual_regs_1, in function.c
7478	(c++) ICE on static_cast inside template
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
8031	(c++) ICE in comptypes, in cp/typeck.c
8055	preprocessor dies with SIG11 when building FreeBSD kernel
8067	(c++) ICE due to mishandling of __FUNCTION__ and related variables
8134	(c++) ICE in force_store_init_value on legal code
8149	(c++) ICE on incomplete type
8160	(c++) ICE in build_modify_expr, in cp/typeck.c: array initialization

C++ (compiler and library) bugs

5607	No pointer adjustment in covariant return types
6579	Infinite loop with statement expressions in member initialization
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
7306	Regression: GCC 3.x fails to compile code with virtual inheritance if a
	method has a variable number of arguments
7461	ctype<char>::classic_table() returns offset array on Cygwin
7524	f(const float arg[3]) fails
7584	Erroneous ambiguous base error on using declaration
7676	Member template overloading problem
7679	infinite loop when a right parenthesis is missing
7811	default locale not taken from environment
7961	compare( char *) implemented incorrectly in basic_string<>
8071	basic_ostream::operator<<(streambuf*) loops forever if
	streambuf::underflow() leaves gptr() NULL (dups: 8127, 6745)
8096    deque::at() throws std::range_error instead of std::out_of_range
8127	cout << cin.rdbuf() infinite loop
8218	Excessively large memory consumed for classes with large array members
8287	GCC 3.2: Destructor called for non-constructed local object
8347	empty vector range used in string construction causes core dump
8348	fail() flag is set in istringstream when eof() flag is set
8391	regression: infinite loop in cp/decl2.c(finish_file)

C and optimizer bugs

6627    -fno-align-functions doesn't seem to disable function alignment
6631	life_analysis misoptimizes code to initialize fields of a structure
7102	unsigned char divisision results in floating exception
7120	Run once loop should *always* be unrolled (pessimization)
7209	Bug involving array referencing and ?: operator
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
7862	Interrupting GCC -MD removes .d file but not .o
8190	Failed compilation deletes -MD dependency file
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?)

6890	xmmintrin.h, _MM_TRANSPOSE4_PS is broken
6981	wrong code in 64-bit manipulation on x86
7242    GCC -mcpu=pentium[23] doesn't define __tune_pentiumpro__ macro
7396	ix86: cmpgt_ss, cmpge_ss, cmpngt_ss, and cmpnge_ss SSE intriniscs
	are broken
7630	GCC 3.2 breaks on Mozilla 1.0's JS sources with -march=pentium4
7693	Typo in i386 mmintrin.h header
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
7133	PowerPC ICE: unrecognizable insn
7380	ICE in extract_insn, at recog.c:2148
8451	Altivec ICE in GCC 3.2

6668	when using --disable-multilib, is installed in the
	wrong place on sparc-solaris
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

7856	[arm] invalid offset in constant pool reference
7967	optimization produces wrong code (ARM)

7374	__builtin_fabsl broken on alpha

IBM s390-specific:
7370	ICE in fixup_var_refs_1 on s390x
7409	loop optimization bug on s390x-linux-gnu
8232	s390x: ICE when using bcmp with 'int' length argument

7623	SCO OpenServer build fails with machmode.def: undefined symbol:

GNU/Linux with old C library (libc5):
3337,6763,8122 (duplicates): bootstrap fails for linux-gnulibc1


761	Document some undocumented options
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]