From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11573 invoked by alias); 14 May 2003 17:50:28 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 11384 invoked from network); 14 May 2003 17:50:24 -0000 Received: from unknown (HELO piper.synopsys.com) (204.176.21.194) by sources.redhat.com with SMTP; 14 May 2003 17:50:24 -0000 Received: (from jbuck@localhost) by piper.synopsys.com (8.11.6/8.11.6) id h4EHoLv10764 for gcc@gcc.gnu.org; Wed, 14 May 2003 10:50:21 -0700 Date: Wed, 14 May 2003 17:50:00 -0000 From: Joe Buck To: gcc@gcc.gnu.org Subject: 3.3 release notes (final) Message-ID: <20030514105021.A10742@synopsys.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i X-SW-Source: 2003-05/txt/msg01430.txt.bz2 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 http://gcc.gnu.org/gcc-3.3/changes.html 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 http://gcc.gnu.org/PRnnnn where the nnnn's are replaced with the number for the PR. For example, see http://gcc.gnu.org/PR7926 Alternatively, you can visit http://gcc.gnu.org/bugzilla/ 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 fault) 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 optimization: 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 change) 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::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 optimization?) 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 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 traits 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 destructors 10503 Compilation never stops in fixed_type_or_null Objective-C: 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 java.io.File("").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 java.security startup refs "GNU libgcj.security" 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 InputStream.read() 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, java.io.File.listFiles("C:\\") returns pwd instead of the root content of C: 9254 java::lang::Object::wait(), threads-win32.cc returns wrong return codes 9271 Severe bias in java.security.SecureRandom preprocessor: 7029 preprocessor should ignore #warning with -M ARM-specific: 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 m68hc11-specific: 6744 Bad assembler code generated: reference to pseudo register z 7361 Internal compiler error in reload_cse_simplify_operands, in reload1.c MIPS-specific: 9496 [mips-linux] bug in optimizer? PowerPC-specific: 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 Sparc-specific: 10267 (documentation) Wrong build instructions for *-*-solaris2* x86-specific: 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