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]

3.3 release notes (final)

This document lists the problem reports (PRs) from GCC's bug tracking
system (GNATS, soon to be replaced by Bugzilla) that are known to be fixed
in the 3.3 release. This list might not be complete (that is, it is
possible that some PRs that have been fixed are not listed here).  In
fact, it's quite likely that I've missed a few.  In addition, some
compatibility issues with GCC 3.2 through GCC 3.2.3 are discussed
(thanks to Loren James Rittle for help with this).

3.3 is a major release; changes are described in

Part I: compatibility issues

3.3 is intended to be ABI (application binary interface) compatible with
3.2.x, including for C++, EXCEPT on certain platforms where the default
exception-handling method has changed (hppa-linux-gnu and m68k-linux-gnu).

There are two parts to this compatibility: compatibility of object code
compiled from user source, and compatibility with between versions of the
shared libstdc++ library.  Object code compatibility should work fine; the
ABI has not changed.  For shared library versions, C++ binaries produced
by 3.2.x should work fine with the shared library from GCC 3.3, but we
can't give any assurances about the reverse direction.

For hppa-linux-gnu and m68k-linux-gnu, you must configure GCC 3.3 with
--enable-sjlj-exceptions to get binary compatibility with GCC 3.2.x.

The version of libstdc++ included with 3.3 is intended to be completely
implementation compatible with that shipped with 3.2.X EXCEPT on i386
ports (anything configured as i386-*-*, no matter the real CPU) WHEN the
generated code is actually used in a multi-threaded context where the
default spin-lock implementation has changed.  Luckily, the old and new
implementations will correctly interoperate without any link or run-time
conflicts in single-threaded contexts.  However, the old and new
implementations do not lock the bus accesses in any manner that ensures
thread safety when the implementations are mixed.

For i386-*-* which is really an i486 or greater, you may configure GCC
3.3 as i486-*-* to get binary compatibility with GCC 3.2.x configured
as i386-*-*.

Part II: the bug list

To learn more about a particular PR, visit the link

where the nnnn's are replaced with the number for the PR.  For example,

Alternatively, you can visit

to use the Bugzilla interface to the bug database.

The sorting is slightly different from the GNATS (or Bugzilla) categories,
and some of the titles have been changed to make them more clear.

bootstrap failures:
10140 cross compiler build failures: missing __mempcpy (DUP: 10198,10338)

Internal compiler errors (ICEs):
 3581 large string causes segmentation fault in cc1
 4382 __builtin_{set,long}jmp with -O3 can crash the compiler
 6387 -fpic -gdwarf-2 -g1 combination gives ICE in dwarf2out
 6412 (c++) ICE in retrieve_specialization
 6620 (c++) partial template specialization causes an ICE (segmentation
 6663 (c++) ICE with attribute aligned
 7068 ICE with incomplete types
 7647 (c++) ICE when data member has the name of the enclosing class
 7675 ICE in fixup_var_refs_1
 7718 'complex' template instantiation causes ICE
 8116 (c++) ICE in member template function
 8511 (c++) ICE: (hopefully) reproducible cc1plus SIGSEGV
 8564 (c++) ICE in find_function_data, in function.c
 8660 (c++) template overloading ICE in tsubst_expr, in cp/pt.c
 8766 (c++) ICE after failed initialization of static template variable
 8846 (c++) ICE after diagnostic if fr_FR@euro locale is set
 8906 (c++) ICE (Segmentation fault) when parsing nested-class definition
 9216 (c++) ICE on missing template parameter
 9261 (c++) ICE in arg_assoc, in cp/decl2.c
 9263 (fortran) ICE caused by invalid PARAMETER in implied DO loop
 9429 (c++) ICE in template instantiation with a pointered new operator
 9516 Internal error when using a big array
 9600 (c++) ICE with typedefs in template class
 9629 (c++) virtual inheritance segfault
 9672 (c++) ICE: Error reporting routines re-entered
 9749 (c++) ICE in write_expression on invalid function prototype
 9794 (fortran) ICE: floating point exception during constant folding
 9829 (c++) Missing colon in nested namespace usage causes ICE
 9916 (c++) ICE with noreturn function in ?: statement
 9936 ICE with local function and variable-length 2d array
10262 (c++) cc1plus crashes with large generated code
10278 (c++) ICE in parser for invalid code
10446 (c++) ICE on definition of nonexistent member function of nested
      class in a class template
10451 (c++) ICE in grokdeclarator on spurious mutable declaration
10506 (c++) ICE in build_new at cp/init.c with -fkeep-inline-functions
      and multiple inheritance
10549 (c++) ICE in store_bit_field on bitfields that exceed the precision
      of the declared type

 2001 Inordinately long compile times in reload CSE regs
 2391 Exponential compilation time explosion in combine
 2960 Duplicate loop conditions even with -Os
 4046 redundant conditional branch
 6405 Loop-unrolling related performance regressions
 6798 very long compile time with large case-statement
 6871 const objects shouldn't be moved to .bss
 6909 problem w/ -Os on modified loop-2c.c test case
 7189 gcc -O2 -Wall does not print ``control reaches end of non-void
      function'' warning
 7642 optimization problem with signbit()
 8634 incorrect code for inlining of memcpy under -O2
 8750 Cygwin prolog generation erroneously emitting __alloca as regular
      function call
 8803 Internal compiler error in instantiate_virtual_regs_1, in function.c

c front end:
 2161 long if-else cascade overflows parser stack
 4319 short accepted on typedef'd char
 8602 incorrect line numbers in warning messages when using inline functions
 9177 -fdump-translation-unit: C front end deletes function_decl AST nodes
      and breaks debugging dumps
 9853 miscompilation of non-constant structure initializer

c++ compiler and library:
   45 legal template specialization code is rejected (DUP: 3784)
  764 lookup failure: friend operator and dereferencing a pointer and
      templates (DUP: 5116)
 2862 gcc accepts invalid explicit instantiation syntax (DUP: 2863)
 3663 G++ doesn't check access control during template instantiation
 3797 gcc fails to emit explicit specialization of a template member
 3948 Two destructors are called when no copy destructor is defined (ABI
 4361 bogus ambiguity taking the address of a member template
 4802 g++ accepts illegal template code (access to private member; DUP: 5387)
 4803 inline function is used but never defined, and g++ does not object
 5730 complex<double>::norm() -- huge slowdown from egcs-2.91.66
 6713 Regression wrt 3.0.4: g++ -O2 leads to seg fault at run time
 7015 certain __asm__ constructs rejected 
 7086 compile time regression (quadratic behavior in fixup_var_refs)
 7099 G++ doesn't set the noreturn attribute on std::exit and std::abort
 7247 copy constructor missing when inlining enabled (invalid
 7441 string array initialization compilation time regression from seconds 
      to minutes
 7768 __PRETTY_FUNCTION__ for template destructor is wrong
 7804 bad printing of floating point constant in warning message
 8099 Friend classes and template specializations
 8117 member function pointers and multiple inheritance
 8205 using declaration and multiple inheritance
 8645 unnecessary non-0 checks in stl_tree.h
 8724 explicit destructor call for incomplete class allowed
 8805 compile time regression with many member variables
 8691 -O3 and -fno-implicit-templates are incompatible
 8700 unhelpful error message for binding temp to reference
 8724 explicit destructor call for incomplete class allowed
 8949 numeric_limits<>::denorm_min() and is_iec559 problems
 9016 Failure to consistently constant fold "constant" C++ objects
 9053 g++ confused about ambiguity of overloaded function templates
 9152 undefined virtual thunks
 9182 basic_filebuf<> does not report errors in codecvt<>::out
 9297 data corruption due to codegen bug (when copying.)
 9318 i/ostream::operator>>/<<(streambuf*) broken
 9320 Incorrect usage of traits_type::int_type in stdio_filebuf
 9400 bogus -Wshadow warning: shadowed declaration of THIS in local classes
 9424 i/ostream::operator>>/<<(streambuf*) drops characters
 9425 filebuf::pbackfail broken (DUP: 9439)
 9474 GCC freezes in compiling a weird code mixing <iostream> and
 9548 Incorrect results from setf(ios::fixed) and precision(-1) [DR231]
 9555 ostream inserters fail to set badbit on exception
 9561 ostream inserters rethrow exception of wrong type
 9563 ostream::sentry returns true after a failed preparation
 9582 one-definition rule violation in std::allocator
 9622 __PRETTY_FUNCTION__ incorrect in template destructors
 9683 bug in initialization chains for static const variables from
      template classes
 9791 -Woverloaded-virtual reports hiding of destructor
 9817 collate::compare doesn't handle nul characters
 9825 filebuf::sputbackc breaks sbumpc
 9826 operator>>(basic_istream, basic_string) fails to compile with custom
 9924 Multiple using statements for builtin functions not allowed
 9946 destructor is not called for temporary object
 9964 filebuf::close() sometimes fails to close file
 9988 filebuf::overflow writes EOF to file
10033 optimization breaks polymorphic references w/ 'typeid' operator
10097 filebuf::underflow drops characters
10132 filebuf destructor can throw exceptions
10180 gcc fails to warn about non-inlined function
10199 method parametrized by template does not work everywhere
10300 use of array-new (nothrow) in segfaults on NULL return
10427 Stack corruption with variable-length automatic arrays and virtual
10503 Compilation never stops in fixed_type_or_null

 5956 selectors aren't matched properly when added to the selector table

Fortran compiler and library:
 1832 list directed i/o overflow hangs, -fbounds-check doesn't detect
 3924 g77 generates code that is rejected by GAS if COFF debug info requested
 5634 doc: explain that configure --prefix=~/... does not work
 6367 multiple repeat counts confuse namelist read into array
 6491 Logical operations error on logicals when using -fugly-logint
 6742 Generation of C++ Prototype for FORTRAN and extern "C"
 7113 Failure of g77.f-torture/execute/f90-intrinsic-bit.f -Os on irix6.5
 7236 OPEN(...,RECL=nnn,...) without ACCESS='DIRECT' should assume a direct
      access file 
 7278 g77 "bug"; the executable misbehaves (with -O2 -fno-automatic)
 7384 DATE_AND_TIME milliseconds field inactive on Windows
 7388 Incorrect output with 0-based array of characters
 8587 Double complex zero ** double precision number -> NaN instead of zero
 9038 -ffixed-line-length-none -x f77-cpp-input gives: Warning: unknown 
      register name line-length-none
10197 Direct access files not unformatted by default

Java compiler and library:
 6005 gcj fails to build rhug on alpha
 6389 System.getProperty("") should always throw an IllegalArgumentException
 6576 java.util.ResourceBundle.getResource ignores locale
 6652 new"").getCanonicalFile() throws exception
 7060 getMethod() doesn't search super interface
 7073 bytecode interpreter gives wrong answer for interface getSuperclass()
 7180 possible bug in javax.naming.spi.NamingManager.getPlusPath()
 7416 startup refs "GNU"
 7570 Runtime.exec with null envp: child doesn't inherit parent env (DUP: 7578)
 7611 Internal error while compiling libjava with -O
 7709 NullPointerException in _Jv_ResolvePoolEntry
 7766 ZipInputStream.available returns 0 immediately after construction
 7785 Calendar.getTimeInMillis/setTimeInMillis should be public
 7786 TimeZone.getDSTSavings() from JDK1.4 not implemented
 8142 '$' in class names vs. dlopen 'dynamic string tokens'
 8234 ZipInputStream chokes when returns small chunks
 8415 reflection bug: exception info for Method
 8481 java.Random.nextInt(int) may return negative
 8593 Error reading GZIPped files with BufferedReader
 8759 java.beans.Introspector has no flushCaches() or flushFromCaches() methods
 8997 spin() calls Thread.sleep
 9253 on win32,"C:\\") returns pwd instead of the
      root content of C:
 9254 java::lang::Object::wait(), returns wrong return codes
 9271 Severe bias in

 7029 preprocessor should ignore #warning with -M

 2903 [arm] Optimization bug with long long arithmetic
 7873 arm-linux-gcc fails when assigning address to a bit field

FreeBSD-specific (other BSDs affected?):
 7680 float functions undefined in math.h/cmath with #define _XOPEN_SOURCE

HP-UX or HP-PA-specific
 8705 [HP-PA] ICE in emit_move_insn_1, in expr.c
 9986 [HP-UX] Incorrect transformation of fputs_unlocked to fputc_unlocked
10056 [HP-PA] ICE at -O2 when building c++ code from doxygen

 6744 Bad assembler code generated: reference to pseudo register z
 7361 Internal compiler error in reload_cse_simplify_operands, in reload1.c

 9496 [mips-linux] bug in optimizer?

 7067 -Os with -mcpu=powerpc optimizes for speed (?) instead of space
 8480 reload ICEs for LAPACK code on powerpc64-linux 
 8784 [AIX] Internal compiler error in simplify_gen_subreg
10315 [powerpc] CE: in extract_insn, in recog.c

10267 (documentation) Wrong build instructions for *-*-solaris2*

 7916 ICE in instantiate_virtual_register_1
 7926 (c++) i486 instructions in header files make c++ programs crash on i386
 8555 ICE in gen_split_1231
 8994 ICE with -O -march=pentium4
 9426 ICE with -fssa -funroll-loops -fprofile-arcs
 9806 ICE in inline assembly with -fPIC flag
10077 gcc -msse2 generates movd to move dwords between xmm regs
10233 64-bit comparison only comparing bottom 32-bits
10286 type-punning doesn't work with __m64 and -O
10308 [x86] ICE with -O -fgcse or -O2

In addition to PRs described above, the following closed PRs were reported
against CVS branches, but the problems described were not present in any
released 3.2.x compilers.

7086 7128 7154 7211 7230 7238 7344 7389 7598 7782 7910 7919 7930 7931 8002
8006 8048 8062 8077 8080 8083 8087 8165 8179 8186 8202 8213 8227 8289 8322
8338 8342 8389 8408 8461 8492 8497 8501 8534 8553 8572 8625 8688 8702 8720
8748 8848 8849 8866 8870 9030 9038 9054 9068 9100 9165 9167 9195 9210 9234
9255 9264 9336 9342 9367 9373 9387 9394 9437 9453 9533 9594 9623 9651 9659
9681 9700 9704 9722 9727 9729 9809 9820 9868 9878 9879 9881 9886 9892 9934
9965 9970 9974 9994 10024 10031 10047 10062 10066 10072 10083 10087 10091
10145 10158 10201 10202 10205 10216 10245 10276 10336 10405 10452 10471
10515 10527 10551 10556 10570 10582 10604 10650 10658 10745

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