source: branches/GNU/src/gcc/NEWS@ 1597

Last change on this file since 1597 was 1588, checked in by bird, 21 years ago

GCC v3.3.5 - official sources.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 219.8 KB
Line 
1This file contains information about GCC releases which has been generated
2automatically from the online release notes. It covers releases of GCC
3(and the former EGCS project) since EGCS 1.0, on the line of development
4that led to GCC 3. For information on GCC 2.8.1 and older releases of GCC 2,
5see ONEWS.
6
7======================================================================
8http://gcc.gnu.org/gcc-3.3/index.html
9
10 GCC 3.3 Release Series
11
12 June 28, 2004
13
14 The [1]GNU project and the GCC developers are pleased to announce the
15 release of GCC 3.3.4. This release was actually completed on May 31,
16 but various reasons delayed the actual announcement.
17
18 The GCC 3.3 release series includes numerous [2]new features,
19 improvements, bug fixes, and other changes, thanks to an [3]amazing
20 group of volunteers.
21
22Release History
23
24 GCC 3.3.3
25 February 14, 2004 ([4]changes)
26
27 GCC 3.3.2
28 October 16, 2003 ([5]changes)
29
30 GCC 3.3.1
31 August 8, 2003 ([6]changes)
32
33 GCC 3.3
34 May 14, 2003 ([7]changes)
35
36References and Acknowledgements
37
38 GCC used to stand for the GNU C Compiler, but since the compiler
39 supports several other languages aside from C, it now stands for the
40 GNU Compiler Collection.
41
42 A list of [8]successful builds is updated as new information becomes
43 available.
44
45 The GCC developers would like to thank the numerous people that have
46 contributed new features, improvements, bug fixes, and other changes
47 as well as test results to GCC. This [9]amazing group of volunteers is
48 what makes GCC successful.
49
50 For additional information about GCC please refer to the [10]GCC
51 project web site or contact the [11]GCC development mailing list.
52
53 To obtain GCC please use [12]our mirror sites, one of the [13]GNU
54 mirror sites, or [14]our CVS server.
55 _________________________________________________________________
56
57 Please send FSF & GNU inquiries & questions to [15]gnu@gnu.org. There
58 are also [16]other ways to contact the FSF.
59
60 These pages are maintained by [17]the GCC team.
61
62
63 For questions related to the use of GCC, please consult these web
64 pages and the [18]GCC manuals. If that fails, the
65 [19]gcc-help@gcc.gnu.org mailing list might help.
66 Please send comments on these web pages and the development of GCC
67 to our developer mailing list at [20]gcc@gnu.org or
68 [21]gcc@gcc.gnu.org. All of our lists have [22]public archives.
69
70 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
71 330, Boston, MA 02111, USA.
72
73 Verbatim copying and distribution of this entire article is permitted
74 in any medium, provided this notice is preserved.
75
76 Last modified 2004-08-06 [23]Valid XHTML 1.0
77
78References
79
80 1. http://www.gnu.org/
81 2. http://gcc.gnu.org/gcc-3.3/changes.html
82 3. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
83 4. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.3
84 5. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.2
85 6. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.1
86 7. http://gcc.gnu.org/gcc-3.3/changes.html
87 8. http://gcc.gnu.org/gcc-3.3/buildstat.html
88 9. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
89 10. http://gcc.gnu.org/index.html
90 11. mailto:gcc@gcc.gnu.org
91 12. http://gcc.gnu.org/mirrors.html
92 13. http://www.gnu.org/order/ftp.html
93 14. http://gcc.gnu.org/cvs.html
94 15. mailto:gnu@gnu.org
95 16. http://www.gnu.org/home.html#ContactInfo
96 17. http://gcc.gnu.org/about.html
97 18. http://gcc.gnu.org/onlinedocs/
98 19. mailto:gcc-help@gcc.gnu.org
99 20. mailto:gcc@gnu.org
100 21. mailto:gcc@gcc.gnu.org
101 22. http://gcc.gnu.org/lists.html
102 23. http://validator.w3.org/check/referer
103======================================================================
104http://gcc.gnu.org/gcc-3.3/changes.html
105
106 GCC 3.3 Release Series
107 Changes, New Features, and Fixes
108
109 The latest release in the 3.3 release series is [1]GCC 3.3.3.
110
111Caveats
112
113 * The preprocessor no longer accepts multi-line string literals.
114 They were deprecated in 3.0, 3.1, and 3.2.
115 * The preprocessor no longer supports the -A- switch when appearing
116 alone. -A- followed by an assertion is still supported.
117 * Support for all the systems [2]obsoleted in GCC 3.1 has been
118 removed from GCC 3.3. See below for a [3]list of systems which are
119 obsoleted in this release.
120 * Checking for null format arguments has been decoupled from the
121 rest of the format checking mechanism. Programs which use the
122 format attribute may regain this functionality by using the new
123 [4]nonnull function attribute. Note that all functions for which
124 GCC has a built-in format attribute, an appropriate built-in
125 nonnull attribute is also applied.
126 * The DWARF (version 1) debugging format has been deprecated and
127 will be removed in a future version of GCC. Version 2 of the DWARF
128 debugging format will continue to be supported for the foreseeable
129 future.
130 * The C and Objective-C compilers no longer accept the "Naming
131 Types" extension (typedef foo = bar); it was already unavailable
132 in C++. Code which uses it will need to be changed to use the
133 "typeof" extension instead: typedef typeof(bar) foo. (We have
134 removed this extension without a period of deprecation because it
135 has caused the compiler to crash since version 3.0 and no one
136 noticed until very recently. Thus we conclude it is not in
137 widespread use.)
138 * The -traditional C compiler option has been removed. It was
139 deprecated in 3.1 and 3.2. (Traditional preprocessing remains
140 available.) The <varargs.h> header, used for writing variadic
141 functions in traditional C, still exists but will produce an error
142 message if used.
143 * GCC 3.3.1 automatically places zero-initialized variables in the
144 .bss section on some operating systems. Versions of GNU Emacs up
145 to (and including) 21.3 will not work correctly when using this
146 optimization; you can use -fno-zero-initialized-in-bss to disable
147 it.
148
149General Optimizer Improvements
150
151 * A new scheme for accurately describing processor pipelines, the
152 [5]DFA scheduler, has been added.
153 * Pavel Nejedly, Charles University Prague, has contributed new file
154 format used by the edge coverage profiler (-fprofile-arcs).
155 The new format is robust and diagnoses common mistakes where
156 profiles from different versions (or compilations) of the program
157 are combined resulting in nonsensical profiles and slow code to
158 produced with profile feedback. Additionally this format allows
159 extra data to be gathered. Currently, overall statistics are
160 produced helping optimizers to identify hot spots of a program
161 globally replacing the old intra-procedural scheme and resulting
162 in better code. Note that the gcov tool from older GCC versions
163 will not be able to parse the profiles generated by GCC 3.3 and
164 vice versa.
165 * Jan Hubicka, SuSE Labs, has contributed a new superblock formation
166 pass enabled using -ftracer. This pass simplifies the control flow
167 of functions allowing other optimizations to do better job.
168 He also contributed the function reordering pass
169 (-freorder-functions) to optimize function placement using profile
170 feedback.
171
172New Languages and Language specific improvements
173
174 C/ObjC/C++
175
176 * The preprocessor now accepts directives within macro arguments. It
177 processes them just as if they had not been within macro
178 arguments.
179 * The separate ISO and traditional preprocessors have been
180 completely removed. The front end handles either type of
181 preprocessed output if necessary.
182 * In C99 mode preprocessor arithmetic is done in the precision of
183 the target's intmax_t, as required by that standard.
184 * The preprocessor can now copy comments inside macros to the output
185 file when the macro is expanded. This feature, enabled using the
186 -CC option, is intended for use by applications which place
187 metadata or directives inside comments, such as lint.
188 * The method of constructing the list of directories to be searched
189 for header files has been revised. If a directory named by a -I
190 option is a standard system include directory, the option is
191 ignored to ensure that the default search order for system
192 directories and the special treatment of system header files are
193 not defeated.
194 * A few more [6]ISO C99 features now work correctly.
195 * A new function attribute, nonnull, has been added which allows
196 pointer arguments to functions to be specified as requiring a
197 non-null value. The compiler currently uses this information to
198 issue a warning when it detects a null value passed in such an
199 argument slot.
200 * A new type attribute, may_alias, has been added. Accesses to
201 objects with types with this attribute are not subjected to
202 type-based alias analysis, but are instead assumed to be able to
203 alias any other type of objects, just like the char type.
204
205 C++
206
207 * Type based alias analysis has been implemented for C++ aggregate
208 types.
209
210 Objective-C
211
212 * Generate an error if Objective-C objects are passed by value in
213 function and method calls.
214 * When -Wselector is used, check the whole list of selectors at the
215 end of compilation, and emit a warning if a @selector() is not
216 known.
217 * Define __NEXT_RUNTIME__ when compiling for the NeXT runtime.
218 * No longer need to include objc/objc-class.h to compile self calls
219 in class methods (NeXT runtime only).
220 * New -Wundeclared-selector option.
221 * Removed selector bloating which was causing object files to be 10%
222 bigger on average (GNU runtime only).
223 * Using at run time @protocol() objects has been fixed in certain
224 situations (GNU runtime only).
225 * Type checking has been fixed and improved in many situations
226 involving protocols.
227
228 Java
229
230 * The java.sql and javax.sql packages now implement the JDBC 3.0
231 (JDK 1.4) API.
232 * The JDK 1.4 assert facility has been implemented.
233 * The bytecode interpreter is now direct threaded and thus faster.
234
235 Fortran
236
237 * Fortran improvements are listed in [7]the Fortran documentation.
238
239 Ada
240
241 * Ada tasking now works with glibc 2.3.x threading libraries.
242
243New Targets and Target Specific Improvements
244
245 * The following changes have been made to the HP-PA port:
246 + The port now defaults to scheduling for the PA8000 series of
247 processors.
248 + Scheduling support for the PA7300 processor has been added.
249 + The 32-bit port now supports weak symbols under HP-UX 11.
250 + The handling of initializers and finalizers has been improved
251 under HP-UX 11. The 64-bit port no longer uses collect2.
252 + Dwarf2 EH support has been added to the 32-bit linux port.
253 + ABI fixes to correct the passing of small structures by
254 value.
255 * The SPARC, HP-PA, SH4, and x86/pentium ports have been converted
256 to use the DFA processor pipeline description.
257 * The following NetBSD configurations for the SuperH processor
258 family have been added:
259 + SH3, big-endian, sh-*-netbsdelf*
260 + SH3, little-endian, shle-*-netbsdelf*
261 + SH5, SHmedia, big-endian, 32-bit default, sh5-*-netbsd*
262 + SH5, SHmedia, little-endian, 32-bit default, sh5le-*-netbsd*
263 + SH5, SHmedia, big-endian, 64-bit default, sh64-*-netbsd*
264 + SH5, SHmedia, little-endian, 64-bit default, sh64le-*-netbsd*
265 * The following changes have been made to the IA-32/x86-64 port:
266 + SSE2 and 3dNOW! intrinsics are now supported.
267 + Support for thread local storage has been added to the IA-32
268 and x86-64 ports.
269 + The x86-64 port has been significantly improved.
270 * The following changes have been made to the MIPS port:
271 + All configurations now accept the -mabi switch. Note that you
272 will need appropriate multilibs for this option to work
273 properly.
274 + ELF configurations will always pass an ABI flag to the
275 assembler, except when the MIPS EABI is selected.
276 + -mabi=64 no longer selects MIPS IV code.
277 + The -mcpu option, which was deprecated in 3.1 and 3.2, has
278 been removed from this release.
279 + -march now changes the core ISA level. In previous releases,
280 it would change the use of processor-specific extensions, but
281 would leave the core ISA unchanged. For example, mips64-elf
282 -march=r8000 will now generate MIPS IV code.
283 + Under most configurations, -mipsN now acts as a synonym for
284 -march.
285 + There are some new preprocessor macros to describe the -march
286 and -mtune settings. See the documentation of those options
287 for details.
288 + Support for the NEC VR-Series processors has been added. This
289 includes the 54xx, 5500, and 41xx series.
290 + Support for the Sandcraft sr71k processor has been added.
291 * The following changes have been made to the S/390 port:
292 + Support to build the Java runtime libraries has been added.
293 Java is now enabled by default on s390-*-linux* and
294 s390x-*-linux* targets.
295 + Multilib support for the s390x-*-linux* target has been
296 added; this allows to build 31-bit binaries using the -m31
297 option.
298 + Support for thread local storage has been added.
299 + Inline assembler code may now use the 'Q' constraint to
300 specify memory operands without index register.
301 + Various platform-specific performance improvements have been
302 implemented; in particular, the compiler now uses the BRANCH
303 ON COUNT family of instructions and makes more frequent use
304 of the TEST UNDER MASK family of instructions.
305 * The following changes have been made to the PowerPC port:
306 + Support for IBM Power4 processor added.
307 + Support for Motorola e500 SPE added.
308 + Support for AIX 5.2 added.
309 + Function and Data sections now supported on AIX.
310 + Sibcall optimizations added.
311 * The support for H8 Tiny is added to the H8/300 port with -mn.
312
313Obsolete Systems
314
315 Support for a number of older systems has been declared obsolete in
316 GCC 3.3. Unless there is activity to revive them, the next release of
317 GCC will have their sources permanently removed.
318
319 All configurations of the following processor architectures have been
320 declared obsolete:
321 * Matsushita MN10200, mn10200-*-*
322 * Motorola 88000, m88k-*-*
323 * IBM ROMP, romp-*-*
324
325 Also, some individual systems have been obsoleted:
326 * Alpha
327 + Interix, alpha*-*-interix*
328 + Linux libc1, alpha*-*-linux*libc1*
329 + Linux ECOFF, alpha*-*-linux*ecoff*
330 * ARM
331 + Generic a.out, arm*-*-aout*
332 + Conix, arm*-*-conix*
333 + "Old ABI," arm*-*-oabi
334 + StrongARM/COFF, strongarm-*-coff*
335 * HPPA (PA-RISC)
336 + Generic OSF, hppa1.0-*-osf*
337 + Generic BSD, hppa1.0-*-bsd*
338 + HP/UX versions 7, 8, and 9, hppa1.[01]-*-hpux[789]*
339 + HiUX, hppa*-*-hiux*
340 + Mach Lites, hppa*-*-lites*
341 * Intel 386 family
342 + Windows NT 3.x, i?86-*-win32
343 * MC68000 family
344 + HP systems, m68000-hp-bsd* and m68k-hp-bsd*
345 + Sun systems, m68000-sun-sunos*, m68k-sun-sunos*, and
346 m68k-sun-mach*
347 + AT&T systems, m68000-att-sysv*
348 + Atari systems, m68k-atari-sysv*
349 + Motorola systems, m68k-motorola-sysv*
350 + NCR systems, m68k-ncr-sysv*
351 + Plexus systems, m68k-plexus-sysv*
352 + Commodore systems, m68k-cbm-sysv*
353 + Citicorp TTI, m68k-tti-*
354 + Unos, m68k-crds-unos*
355 + Concurrent RTU, m68k-ccur-rtu*
356 + Linux a.out, m68k-*-linux*aout*
357 + Linux libc1, m68k-*-linux*libc1*
358 + pSOS, m68k-*-psos*
359 * MIPS
360 + Generic ECOFF, mips*-*-ecoff*
361 + SINIX, mips-sni-sysv4
362 + Orion RTEMS, mips64orion-*-rtems*
363 * National Semiconductor 32000
364 + OpenBSD, ns32k-*-openbsd*
365 * POWER (aka RS/6000) and PowerPC
366 + AIX versions 1, 2, and 3, rs6000-ibm-aix[123]*
367 + Bull BOSX, rs6000-bull-bosx
368 + Generic Mach, rs6000-*-mach*
369 + Generic SysV, powerpc*-*-sysv*
370 + Linux libc1, powerpc*-*-linux*libc1*
371 * Sun SPARC
372 + Generic a.out, sparc-*-aout*, sparclet-*-aout*,
373 sparclite-*-aout*, and sparc86x-*-aout*
374 + NetBSD a.out, sparc-*-netbsd*aout*
375 + Generic BSD, sparc-*-bsd*
376 + ChorusOS, sparc-*-chorusos*
377 + Linux a.out, sparc-*-linux*aout*
378 + Linux libc1, sparc-*-linux*libc1*
379 + LynxOS, sparc-*-lynxos*
380 + Solaris on HAL hardware, sparc-hal-solaris2*
381 + SunOS versions 3 and 4, sparc-*-sunos[34]*
382 * NEC V850
383 + RTEMS, v850-*-rtems*
384 * VAX
385 + VMS, vax-*-vms*
386
387Documentation improvements
388
389Other significant improvements
390
391 * Almost all front-end dependencies in the compiler have been
392 separated out into a set of language hooks. This should make
393 adding a new front end clearer and easier.
394 * One effect of removing the separate preprocessor is a small
395 increase in the robustness of the compiler in general, and the
396 maintainability of target descriptions. Previously target-specific
397 built-in macros and others, such as __FAST_MATH__, had to be
398 handled with so-called specs that were hard to maintain. Often
399 they would fail to behave properly when conflicting options were
400 supplied on the command line, and define macros in the user's
401 namespace even when strict ISO compliance was requested.
402 Integrating the preprocessor has cleanly solved these issues.
403 * The Makefile suite now supports redirection of make install by
404 means of the variable DESTDIR.
405 _________________________________________________________________
406
407GCC 3.3
408
409 Detailed release notes for the GCC 3.3 release follow.
410
411 Bug Fixes
412
413 bootstrap failures
414
415 * [8]10140 cross compiler build failures: missing __mempcpy (DUP:
416 [9]10198,[10]10338)
417
418 Internal compiler errors (multi-platform)
419
420 * [11]3581 large string causes segmentation fault in cc1
421 * [12]4382 __builtin_{set,long}jmp with -O3 can crash the compiler
422 * [13]5533 (c++) ICE when processing std::accumulate(begin, end,
423 init, invalid_op)
424 * [14]6387 -fpic -gdwarf-2 -g1 combination gives ICE in dwarf2out
425 * [15]6412 (c++) ICE in retrieve_specialization
426 * [16]6620 (c++) partial template specialization causes an ICE
427 (segmentation fault)
428 * [17]6663 (c++) ICE with attribute aligned
429 * [18]7068 ICE with incomplete types
430 * [19]7083 (c++) ICE using -gstabs with dodgy class derivation
431 * [20]7647 (c++) ICE when data member has the name of the enclosing
432 class
433 * [21]7675 ICE in fixup_var_refs_1
434 * [22]7718 'complex' template instantiation causes ICE
435 * [23]8116 (c++) ICE in member template function
436 * [24]8358 (ada) Ada compiler accesses freed memory, crashes
437 * [25]8511 (c++) ICE: (hopefully) reproducible cc1plus segmentation
438 fault
439 * [26]8564 (c++) ICE in find_function_data, in function.c
440 * [27]8660 (c++) template overloading ICE in tsubst_expr, in cp/pt.c
441 * [28]8766 (c++) ICE after failed initialization of static template
442 variable
443 * [29]8803 ICE in instantiate_virtual_regs_1, in function.c
444 * [30]8846 (c++) ICE after diagnostic if fr_FR@euro locale is set
445 * [31]8906 (c++) ICE (Segmentation fault) when parsing nested-class
446 definition
447 * [32]9216 (c++) ICE on missing template parameter
448 * [33]9261 (c++) ICE in arg_assoc, in cp/decl2.c
449 * [34]9263 (fortran) ICE caused by invalid PARAMETER in implied DO
450 loop
451 * [35]9429 (c++) ICE in template instantiation with a pointered new
452 operator
453 * [36]9516 Internal error when using a big array
454 * [37]9600 (c++) ICE with typedefs in template class
455 * [38]9629 (c++) virtual inheritance segfault
456 * [39]9672 (c++) ICE: Error reporting routines re-entered
457 * [40]9749 (c++) ICE in write_expression on invalid function
458 prototype
459 * [41]9794 (fortran) ICE: floating point exception during constant
460 folding
461 * [42]9829 (c++) Missing colon in nested namespace usage causes ICE
462 * [43]9916 (c++) ICE with noreturn function in ?: statement
463 * [44]9936 ICE with local function and variable-length 2d array
464 * [45]10262 (c++) cc1plus crashes with large generated code
465 * [46]10278 (c++) ICE in parser for invalid code
466 * [47]10446 (c++) ICE on definition of nonexistent member function
467 of nested class in a class template
468 * [48]10451 (c++) ICE in grokdeclarator on spurious mutable
469 declaration
470 * [49]10506 (c++) ICE in build_new at cp/init.c with
471 -fkeep-inline-functions and multiple inheritance
472 * [50]10549 (c++) ICE in store_bit_field on bitfields that exceed
473 the precision of the declared type
474
475 Optimization bugs
476
477 * [51]2001 Inordinately long compile times in reload CSE regs
478 * [52]2391 Exponential compilation time explosion in combine
479 * [53]2960 Duplicate loop conditions even with -Os
480 * [54]4046 redundant conditional branch
481 * [55]6405 Loop-unrolling related performance regressions
482 * [56]6798 very long compile time with large case-statement
483 * [57]6871 const objects shouldn't be moved to .bss
484 * [58]6909 problem w/ -Os on modified loop-2c.c test case
485 * [59]7189 gcc -O2 -Wall does not print ``control reaches end of
486 non-void function'' warning
487 * [60]7642 optimization problem with signbit()
488 * [61]8634 incorrect code for inlining of memcpy under -O2
489 * [62]8750 Cygwin prolog generation erroneously emitting __alloca as
490 regular function call
491
492 C front end
493
494 * [63]2161 long if-else cascade overflows parser stack
495 * [64]4319 short accepted on typedef'd char
496 * [65]8602 incorrect line numbers in warning messages when using
497 inline functions
498 * [66]9177 -fdump-translation-unit: C front end deletes
499 function_decl AST nodes and breaks debugging dumps
500 * [67]9853 miscompilation of non-constant structure initializer
501
502 c++ compiler and library
503
504 * [68]45 legal template specialization code is rejected (DUP:
505 [69]3784)
506 * [70]764 lookup failure: friend operator and dereferencing a
507 pointer and templates (DUP: [71]5116)
508 * [72]2862 gcc accepts invalid explicit instantiation syntax (DUP:
509 2863)
510 * [73]3663 G++ doesn't check access control during template
511 instantiation
512 * [74]3797 gcc fails to emit explicit specialization of a template
513 member
514 * [75]3948 Two destructors are called when no copy destructor is
515 defined (ABI change)
516 * [76]4137 Conversion operator within template is not accepted
517 * [77]4361 bogus ambiguity taking the address of a member template
518 * [78]4802 g++ accepts illegal template code (access to private
519 member; DUP: [79]5837)
520 * [80]4803 inline function is used but never defined, and g++ does
521 not object
522 * [81]5094 Partial specialization cannot be friend?
523 * [82]5730 complex<double>::norm() -- huge slowdown from
524 egcs-2.91.66
525 * [83]6713 Regression wrt 3.0.4: g++ -O2 leads to seg fault at run
526 time
527 * [84]7015 certain __asm__ constructs rejected
528 * [85]7086 compile time regression (quadratic behavior in
529 fixup_var_refs)
530 * [86]7099 G++ doesn't set the noreturn attribute on std::exit and
531 std::abort
532 * [87]7247 copy constructor missing when inlining enabled (invalid
533 optimization?)
534 * [88]7441 string array initialization compilation time regression
535 from seconds to minutes
536 * [89]7768 __PRETTY_FUNCTION__ for template destructor is wrong
537 * [90]7804 bad printing of floating point constant in warning
538 message
539 * [91]8099 Friend classes and template specializations
540 * [92]8117 member function pointers and multiple inheritance
541 * [93]8205 using declaration and multiple inheritance
542 * [94]8645 unnecessary non-zero checks in stl_tree.h
543 * [95]8724 explicit destructor call for incomplete class allowed
544 * [96]8805 compile time regression with many member variables
545 * [97]8691 -O3 and -fno-implicit-templates are incompatible
546 * [98]8700 unhelpful error message for binding temp to reference
547 * [99]8724 explicit destructor call for incomplete class allowed
548 * [100]8949 numeric_limits<>::denorm_min() and is_iec559 problems
549 * [101]9016 Failure to consistently constant fold "constant" C++
550 objects
551 * [102]9053 g++ confused about ambiguity of overloaded function
552 templates
553 * [103]9152 undefined virtual thunks
554 * [104]9182 basic_filebuf<> does not report errors in codecvt<>::out
555 * [105]9297 data corruption due to codegen bug (when copying.)
556 * [106]9318 i/ostream::operator>>/<<(streambuf*) broken
557 * [107]9320 Incorrect usage of traits_type::int_type in
558 stdio_filebuf
559 * [108]9400 bogus -Wshadow warning: shadowed declaration of this in
560 local classes
561 * [109]9424 i/ostream::operator>>/<<(streambuf*) drops characters
562 * [110]9425 filebuf::pbackfail broken (DUP: [111]9439)
563 * [112]9474 GCC freezes in compiling a weird code mixing <iostream>
564 and <iostream.h>
565 * [113]9548 Incorrect results from setf(ios::fixed) and
566 precision(-1) [114][DR 231]
567 * [115]9555 ostream inserters fail to set badbit on exception
568 * [116]9561 ostream inserters rethrow exception of wrong type
569 * [117]9563 ostream::sentry returns true after a failed preparation
570 * [118]9582 one-definition rule violation in std::allocator
571 * [119]9622 __PRETTY_FUNCTION__ incorrect in template destructors
572 * [120]9683 bug in initialization chains for static const variables
573 from template classes
574 * [121]9791 -Woverloaded-virtual reports hiding of destructor
575 * [122]9817 collate::compare doesn't handle nul characters
576 * [123]9825 filebuf::sputbackc breaks sbumpc
577 * [124]9826 operator>>(basic_istream, basic_string) fails to compile
578 with custom traits
579 * [125]9924 Multiple using statements for builtin functions not
580 allowed
581 * [126]9946 destructor is not called for temporary object
582 * [127]9964 filebuf::close() sometimes fails to close file
583 * [128]9988 filebuf::overflow writes EOF to file
584 * [129]10033 optimization breaks polymorphic references w/ typeid
585 operator
586 * [130]10097 filebuf::underflow drops characters
587 * [131]10132 filebuf destructor can throw exceptions
588 * [132]10180 gcc fails to warn about non-inlined function
589 * [133]10199 method parametrized by template does not work
590 everywhere
591 * [134]10300 use of array-new (nothrow) in segfaults on NULL return
592 * [135]10427 Stack corruption with variable-length automatic arrays
593 and virtual destructors
594 * [136]10503 Compilation never stops in fixed_type_or_null
595
596 Objective-C
597
598 * [137]5956 selectors aren't matched properly when added to the
599 selector table
600
601 Fortran compiler and library
602
603 * [138]1832 list directed i/o overflow hangs, -fbounds-check doesn't
604 detect
605 * [139]3924 g77 generates code that is rejected by GAS if COFF debug
606 info requested
607 * [140]5634 doc: explain that configure --prefix=~/... does not work
608 * [141]6367 multiple repeat counts confuse namelist read into array
609 * [142]6491 Logical operations error on logicals when using
610 -fugly-logint
611 * [143]6742 Generation of C++ Prototype for FORTRAN and extern "C"
612 * [144]7113 Failure of g77.f-torture/execute/f90-intrinsic-bit.f -Os
613 on irix6.5
614 * [145]7236 OPEN(...,RECL=nnn,...) without ACCESS='DIRECT' should
615 assume a direct access file
616 * [146]7278 g77 "bug"; the executable misbehaves (with -O2
617 -fno-automatic)
618 * [147]7384 DATE_AND_TIME milliseconds field inactive on Windows
619 * [148]7388 Incorrect output with 0-based array of characters
620 * [149]8587 Double complex zero ** double precision number -> NaN
621 instead of zero
622 * [150]9038 -ffixed-line-length-none -x f77-cpp-input gives:
623 Warning: unknown register name line-length-none
624 * [151]10197 Direct access files not unformatted by default
625
626 Java compiler and library
627
628 * [152]6005 gcj fails to build rhug on alpha
629 * [153]6389 System.getProperty("") should always throw an
630 IllegalArgumentException
631 * [154]6576 java.util.ResourceBundle.getResource ignores locale
632 * [155]6652 new java.io.File("").getCanonicalFile() throws exception
633 * [156]7060 getMethod() doesn't search super interface
634 * [157]7073 bytecode interpreter gives wrong answer for interface
635 getSuperclass()
636 * [158]7180 possible bug in
637 javax.naming.spi.NamingManager.getPlusPath()
638 * [159]7416 java.security startup refs "GNU libgcj.security"
639 * [160]7570 Runtime.exec with null envp: child doesn't inherit
640 parent env (DUP: [161]7578)
641 * [162]7611 Internal error while compiling libjava with -O
642 * [163]7709 NullPointerException in _Jv_ResolvePoolEntry
643 * [164]7766 ZipInputStream.available returns 0 immediately after
644 construction
645 * [165]7785 Calendar.getTimeInMillis/setTimeInMillis should be
646 public
647 * [166]7786 TimeZone.getDSTSavings() from JDK1.4 not implemented
648 * [167]8142 '$' in class names vs. dlopen 'dynamic string tokens'
649 * [168]8234 ZipInputStream chokes when InputStream.read() returns
650 small chunks
651 * [169]8415 reflection bug: exception info for Method
652 * [170]8481 java.Random.nextInt(int) may return negative
653 * [171]8593 Error reading GZIPped files with BufferedReader
654 * [172]8759 java.beans.Introspector has no flushCaches() or
655 flushFromCaches() methods
656 * [173]8997 spin() calls Thread.sleep
657 * [174]9253 on win32, java.io.File.listFiles("C:\\") returns pwd
658 instead of the root content of C:
659 * [175]9254 java::lang::Object::wait(), threads-win32.cc returns
660 wrong return codes
661 * [176]9271 Severe bias in java.security.SecureRandom
662
663 Ada compiler and library
664
665 * [177]6767 make gnatlib-shared fails on -laddr2line
666 * [178]9911 gnatmake fails to link when GCC configured with
667 --with-sjlj-exceptions=yes
668 * [179]10020 Can't bootstrap gcc on AIX with Ada enabled
669 * [180]10546 Ada tasking not working on Red Hat 9
670
671 preprocessor
672
673 * [181]7029 preprocessor should ignore #warning with -M
674
675 ARM-specific
676
677 * [182]2903 [arm] Optimization bug with long long arithmetic
678 * [183]7873 arm-linux-gcc fails when assigning address to a bit
679 field
680
681 FreeBSD-specific
682
683 * [184]7680 float functions undefined in math.h/cmath with #define
684 _XOPEN_SOURCE
685
686 HP-UX or HP-PA-specific
687
688 * [185]8705 [HP-PA] ICE in emit_move_insn_1, in expr.c
689 * [186]9986 [HP-UX] Incorrect transformation of fputs_unlocked to
690 fputc_unlocked
691 * [187]10056 [HP-PA] ICE at -O2 when building c++ code from doxygen
692
693 m68hc11-specific
694
695 * [188]6744 Bad assembler code generated: reference to pseudo
696 register z
697 * [189]7361 Internal compiler error in reload_cse_simplify_operands,
698 in reload1.c
699
700 MIPS-specific
701
702 * [190]9496 [mips-linux] bug in optimizer?
703
704 PowerPC-specific
705
706 * [191]7067 -Os with -mcpu=powerpc optimizes for speed (?) instead
707 of space
708 * [192]8480 reload ICEs for LAPACK code on powerpc64-linux
709 * [193]8784 [AIX] Internal compiler error in simplify_gen_subreg
710 * [194]10315 [powerpc] ICE: in extract_insn, in recog.c
711
712 SPARC-specific
713
714 * [195]10267 (documentation) Wrong build instructions for
715 *-*-solaris2*
716
717 x86-specific (Intel/AMD)
718
719 * [196]7916 ICE in instantiate_virtual_register_1
720 * [197]7926 (c++) i486 instructions in header files make c++
721 programs crash on i386
722 * [198]8555 ICE in gen_split_1231
723 * [199]8994 ICE with -O -march=pentium4
724 * [200]9426 ICE with -fssa -funroll-loops -fprofile-arcs
725 * [201]9806 ICE in inline assembly with -fPIC flag
726 * [202]10077 gcc -msse2 generates movd to move dwords between xmm
727 regs
728 * [203]10233 64-bit comparison only comparing bottom 32-bits
729 * [204]10286 type-punning doesn't work with __m64 and -O
730 * [205]10308 [x86] ICE with -O -fgcse or -O2
731 _________________________________________________________________
732
733GCC 3.3.1
734
735 Bug Fixes
736
737 This section lists the problem reports (PRs) from GCC's bug tracking
738 system that are known to be fixed in the 3.3.1 release. This list
739 might not be complete (that is, it is possible that some PRs that have
740 been fixed are not listed here).
741
742 Bootstrap failures
743
744 * [206]11272 [Solaris] make bootstrap fails while building libstdc++
745
746 Internal compiler errors (multi-platform)
747
748 * [207]5754 ICE on invalid nested template class
749 * [208]6597 ICE in set_mem_alias_set compiling Qt with -O2 on ia64
750 and --enable-checking
751 * [209]6949 (c++) ICE in tsubst_decl, in cp/pt.c
752 * [210]7053 (c++) ICE when declaring a function already defined as a
753 friend method of a template class
754 * [211]8164 (c++) ICE when using different const expressions as
755 template parameter
756 * [212]8384 (c++) ICE in is_base_type, in dwarf2out.c
757 * [213]9559 (c++) ICE with invalid initialization of a static const
758 * [214]9649 (c++) ICE in finish_member_declaration, in
759 cp/semantics.c when redeclaring a static member variable
760 * [215]9864 (fortran) ICE in add_abstract_origin_attribute, in
761 dwarfout.c with -g -O -finline-functions
762 * [216]10432 (c++) ICE in poplevel, in cp/decl.c
763 * [217]10475 ICE in subreg_highpart_offset for code with long long
764 * [218]10635 (c++) ICE when dereferencing an incomplete type casted
765 from a void pointer
766 * [219]10661 (c++) ICE in instantiate_decl, in cp/pt.c while
767 instantiating static member variables
768 * [220]10700 ICE in copy_to_mode_reg on 64-bit targets
769 * [221]10712 (c++) ICE in constructor_name_full, in cp/decl2.c
770 * [222]10796 (c++) ICE when defining an enum with two values: -1 and
771 MAX_INT_64BIT
772 * [223]10890 ICE in merge_assigned_reloads building Linux 2.4.2x
773 sched.c
774 * [224]10939 (c++) ICE with template code
775 * [225]10956 (c++) ICE when specializing a template member function
776 of a template class, in tsubst, in cp/pt.c
777 * [226]11041 (c++) ICE: const myclass &x = *x; (when operator*()
778 defined)
779 * [227]11059 (c++) ICE with empty union
780 * [228]11083 (c++) ICE in commit_one_edge_insertion, in cfgrtl.c
781 with -O2 -fnon-call-exceptions
782 * [229]11105 (c++) ICE in mangle_conv_op_name_for_type
783 * [230]11149 (c++) ICE on error when instantiation with call
784 function of a base type
785 * [231]11228 (c++) ICE on new-expression using array operator new
786 and default-initialization
787 * [232]11282 (c++) Infinite memory usage after syntax error
788 * [233]11301 (fortran) ICE with -fno-globals
789 * [234]11308 (c++) ICE when using an enum type name as if it were a
790 class or namespace
791 * [235]11473 (c++) ICE with -gstabs when empty struct inherits from
792 an empty struct
793 * [236]11503 (c++) ICE when instantiating template with ADDR_EXPR
794 * [237]11513 (c++) ICE in push_template_decl_real, in cp/pt.c:
795 template member functions
796
797 Optimization bugs
798
799 * [238]11198 -O2 -frename-registers generates wrong code (aliasing
800 problem)
801 * [239]11304 Wrong code production with -fomit-frame-pointer
802 * [240]11381 volatile memory access optimized away
803 * [241]11536 [strength-reduce] -O2 optimization produces wrong code
804 * [242]11557 constant folding bug generates wrong code
805
806 C front end
807
808 * [243]5897 No warning for statement after return
809 * [244]11279 DWARF-2 output mishandles large enums
810
811 Preprocessor bugs
812
813 * [245]11022 no warning for non-compatible macro redefinition
814
815 C++ compiler and library
816
817 * [246]2330 static_cast<>() to a private base is allowed
818 * [247]5388 Incorrect message "operands to ?: have different types"
819 * [248]5390 Libiberty fails to demangle multi-digit template
820 parameters
821 * [249]7877 Incorrect parameter passing to specializations of member
822 function templates
823 * [250]9393 Anonymous namespaces and compiling the same file twice
824 * [251]10032 -pedantic converts some errors to warnings
825 * [252]10468 const typeof(x) is non-const, but only in templates
826 * [253]10527 confused error message with "new int()" parameter
827 initializer
828 * [254]10679 parameter MIN_INLINE_INSNS is not honored
829 * [255]10682 gcc chokes on a typedef for an enum inside a class
830 template
831 * [256]10689 pow(std::complex(0),1/3) returns (nan, nan) instead of
832 0.
833 * [257]10845 template member function (with nested template as
834 parameter) cannot be called anymore if another unrelated template
835 member function is defined
836 * [258]10849 Cannot define an out-of-class specialization of a
837 private nested template class
838 * [259]10888 Suppress -Winline warnings for system headers
839 * [260]10929 -Winline warns about functions for which no definition
840 is visible
841 * [261]10931 valid conversion static_cast<const unsigned
842 int&>(lvalue-of-type-int) is rejected
843 * [262]10940 Bad code with explicit specialization
844 * [263]10968 If member function implicitly instantiated, explicit
845 instantiation of class fails to instantiate it
846 * [264]10990 Cannot convert with dynamic_cast<> to a private base
847 class from within a member function
848 * [265]11039 Bad interaction between implicit typename deprecation
849 and friendship
850 * [266]11062 (libstdc++) avoid __attribute__ ((unused)); say
851 "__unused__" instead
852 * [267]11095 C++ iostream manipulator causes segfault when called
853 with negative argument
854 * [268]11098 g++ doesn't emit complete debugging information for
855 local variables in destructors
856 * [269]11137 Linux shared library constructors not called unless
857 there's one global object
858 * [270]11154 spurious ambiguity report for template class
859 specialization
860 * [271]11329 Compiler cannot find user defined implicit typecast
861 * [272]11332 Spurious error with casts in ?: expression
862 * [273]11431 static_cast behavior with subclasses when default
863 constructor available
864 * [274]11528 money_get facet does not accept "$.00" as valid
865 * [275]11546 Type lookup problems in out-of-line definition of a
866 class doubly nested from a template class
867 * [276]11567 C++ code containing templated member function with same
868 name as pure virtual member function results in linking failure
869 * [277]11645 Failure to deal with using and private inheritance
870
871 Java compiler and library
872
873 * [278]5179 Qualified static field access doesn't initialize its
874 class
875 * [279]8204 gcj -O2 to native reorders certain instructions
876 improperly
877 * [280]10838 java.io.ObjectInputStream syntax error
878 * [281]10886 The RMI registry that comes with GCJ does not work
879 correctly
880 * [282]11349 JNDI URL context factories not located correctly
881
882 x86-specific (Intel/AMD)
883
884 * [283]4823 ICE on inline assembly code
885 * [284]8878 miscompilation with -O and SSE
886 * [285]9815 (c++ library) atomicity.h - fails to compile with -O3
887 -masm=intel
888 * [286]10402 (inline assembly) [x86] ICE in merge_assigned_reloads,
889 in reload1.c
890 * [287]10504 ICE with SSE2 code and -O3 -mcpu=pentium4 -msse2
891 * [288]10673 ICE for x86-64 on freebsd libc vfprintf.c source
892 * [289]11044 [x86] out of range loop instructions for FP code on K6
893 * [290]11089 ICE: instantiate_virtual_regs_lossage while using SSE
894 built-ins
895 * [291]11420 [x86_64] gcc generates invalid asm code when "-O -fPIC"
896 is used
897
898 SPARC- or Solaris- specific
899
900 * [292]9362 solaris 'as' dies when fed .s and "-gstabs"
901 * [293]10142 [SPARC64] gcc produces wrong code when passing
902 structures by value
903 * [294]10663 New configure check aborts with Sun tools.
904 * [295]10835 combinatorial explosion in scheduler on HyperSPARC
905 * [296]10876 ICE in calculate_giv_inc when building KDE
906 * [297]10955 wrong code at -O3 for structure argument in context of
907 structure return
908 * [298]11018 -mcpu=ultrasparc busts tar-1.13.25
909 * [299]11556 [sparc64] ICE in gen_reg_rtx() while compiling 2.6.x
910 Linux kernel
911
912 ia64 specific
913
914 * [300]10907 gcc violates the ia64 ABI (GP must be preserved)
915 * [301]11320 scheduler bug (in machine depended reorganization pass)
916 * [302]11599 bug with conditional and __builtin_prefetch
917
918 PowerPC specific
919
920 * [303]9745 [powerpc] gcc mis-compiles libmcrypt (alias problem
921 during loop)
922 * [304]10871 error in rs6000_stack_info save_size computation
923 * [305]11440 gcc mis-compiles c++ code (libkhtml) with -O2,
924 -fno-gcse cures it
925
926 m68k-specific
927
928 * [306]7594 [m68k] ICE on legal code associated with simplify-rtx
929 * [307]10557 [m68k] ICE in subreg_offset_representable_p
930 * [308]11054 [m68k] ICE in reg_overlap_mentioned_p
931
932 ARM-specific
933
934 * [309]10834 [arm] GCC 3.3 still generates incorrect instructions
935 for functions with __attribute__ ((interrupt ("IRQ")))
936 * [310]10842 [arm] Clobbered link register is copied to pc under
937 certain circumstances
938 * [311]11052 [arm] noce_process_if_block() can lose REG_INC notes
939 * [312]11183 [arm] ICE in change_address_1 (3.3) / subreg_hard_regno
940 (3.4)
941
942 MIPS-specific
943
944 * [313]11084 ICE in propagate_one_insn, in flow.c
945
946 SH-specific
947
948 * [314]10331 can't compile c++ part of gcc cross compiler for sh-elf
949 * [315]10413 [SH] ICE in reload_cse_simplify_operands, in reload1.c
950 * [316]11096 i686-linux to sh-linux cross compiler fails to compile
951 C++ files
952
953 GNU/Linux (or Hurd?) specific
954
955 * [317]2873 Bogus fixinclude of stdio.h from glibc 2.2.3
956
957 UnixWare specific
958
959 * [318]3163 configure bug: gcc/aclocal.m4 mmap test fails on
960 UnixWare 7.1.1
961
962 Cygwin (or mingw) specific
963
964 * [319]5287 ICE with dllimport attribute
965 * [320]10148 [MingW/CygWin] Compiler dumps core
966
967 DJGPP specific
968
969 * [321]8787 GCC fails to emit .intel_syntax when invoked with
970 -masm=intel on DJGPP
971
972 Darwin (and MacOS X) specific
973
974 * [322]10900 trampolines crash
975
976 Documentation
977
978 * [323]1607 (c++) Format attributes on methods undocumented
979 * [324]4252 Invalid option `-fdump-translation-unit'
980 * [325]4490 Clarify restrictions on -m96bit-long-double,
981 -m128bit-long-double
982 * [326]10355 document an issue with regparm attribute on some
983 systems (e.g. Solaris)
984 * [327]10726 (fortran) Documentation for function "IDate Intrinsic
985 (Unix)" is wrong
986 * [328]10805 document bug in old version of Sun assembler
987 * [329]10815 warn against GNU binutils on AIX
988 * [330]10877 document need for newer binutils on i?86-*-linux-gnu
989 * [331]11280 Manual incorrect with respect to -freorder-blocks
990 * [332]11466 Document -mlittle-endian and its restrictions for the
991 sparc64 port
992
993 Testsuite bugs (compiler itself is not affected)
994
995 * [333]10737 newer bison causes g++.dg/parse/crash2.C to incorrectly
996 report failure
997 * [334]10810 gcc-3.3 fails make check: buffer overrun in
998 test_demangle.c
999 _________________________________________________________________
1000
1001GCC 3.3.2
1002
1003 Bug Fixes
1004
1005 This section lists the problem reports (PRs) from [335]GCC's bug
1006 tracking system that are known to be fixed in the 3.3.2 release. This
1007 list might not be complete (that is, it is possible that some PRs that
1008 have been fixed are not listed here).
1009
1010 Bootstrap failures and problems
1011
1012 * [336]8336 [SCO5] bootstrap config still tries to use COFF options
1013 * [337]9330 [alpha-osf] Bootstrap failure on Compaq Tru64 with
1014 --enable-threads=posix
1015 * [338]9631 [hppa64-linux] gcc-3.3 fails to bootstrap
1016 * [339]9877 fixincludes makes a bad sys/byteorder.h on svr5
1017 (UnixWare 7.1.1)
1018 * [340]11687 xstormy16-elf build fails in libf2c
1019 * [341]12263 [SGI IRIX] bootstrap fails during compile of
1020 libf2c/libI77/backspace.c
1021 * [342]12490 buffer overflow in scan-decls.c (during Solaris 9
1022 fix-header processing)
1023
1024 Internal compiler errors (multi-platform)
1025
1026 * [343]7277 Casting integers to vector types causes ICE
1027 * [344]7939 (c++) ICE on invalid function template specialization
1028 * [345]11063 (c++) ICE on parsing initialization list of const array
1029 member
1030 * [346]11207 ICE with negative index in array element designator
1031 * [347]11522 (fortran) g77 dwarf-2 ICE in
1032 add_abstract_origin_attribute
1033 * [348]11595 (c++) ICE on duplicate label definition
1034 * [349]11646 (c++) ICE in commit_one_edge_insertion with
1035 -fnon-call-exceptions -fgcse -O
1036 * [350]11665 ICE in struct initializer when taking address
1037 * [351]11852 (c++) ICE with bad struct initializer.
1038 * [352]11878 (c++) ICE in cp_expr_size
1039 * [353]11883 ICE with any -O on mercury-generated C code
1040 * [354]11991 (c++) ICE in cxx_incomplete_type_diagnostic, in
1041 cp/typeck2.c when applying typeid operator to template template
1042 parameter
1043 * [355]12146 ICE in lookup_template_function, in cp/pt.c
1044 * [356]12215 ICE in make_label_edge with -fnon-call-exceptions
1045 -fno-gcse -O2
1046 * [357]12369 (c++) ICE with templates and friends
1047 * [358]12446 ICE in emit_move_insn on complicated array reference
1048 * [359]12510 ICE in final_scan_insn
1049 * [360]12544 ICE with large parameters used in nested functions
1050
1051 C and optimization bugs
1052
1053 * [361]9862 spurious warnings with -W -finline-functions
1054 * [362]10962 lookup_field is a linear search on a linked list (can
1055 be slow if large struct)
1056 * [363]11370 -Wunreachable-code gives false complaints
1057 * [364]11637 invalid assembly with -fnon-call-exceptions
1058 * [365]11885 Problem with bitfields in packed structs
1059 * [366]12082 Inappropriate unreachable code warnings
1060 * [367]12180 Inline optimization fails for variadic function
1061 * [368]12340 loop unroller + gcse produces wrong code
1062
1063 C++ compiler and library
1064
1065 * [369]3907 nested template parameter collides with member name
1066 * [370]5293 confusing message when binding a temporary to a
1067 reference
1068 * [371]5296 [DR115] Pointers to functions and to template functions
1069 behave differently in deduction
1070 * [372]7939 ICE on function template specialization
1071 * [373]8656 Unable to assign function with __attribute__ and pointer
1072 return type to an appropriate variable
1073 * [374]10147 Confusing error message for invalid template function
1074 argument
1075 * [375]11400 std::search_n() makes assumptions about Size parameter
1076 * [376]11409 issues with using declarations, overloading, and
1077 built-in functions
1078 * [377]11740 ctype<wchar_t>::do_is(mask, wchar_t) doesn't handle
1079 multiple bits in mask
1080 * [378]11786 operator() call on variable in other namespace not
1081 recognized
1082 * [379]11867 static_cast ignores ambiguity
1083 * [380]11928 bug with conversion operators that are typedefs
1084 * [381]12114 Uninitialized memory accessed in dtor
1085 * [382]12163 static_cast + explicit constructor regression
1086 * [383]12181 Wrong code with comma operator and c++
1087 * [384]12236 regparm and fastcall messes up parameters
1088 * [385]12266 incorrect instantiation of unneeded template during
1089 overload resolution
1090 * [386]12296 istream::peek() doesn't set eofbit
1091 * [387]12298 [sjlj exceptions] Stack unwind destroys
1092 not-yet-constructed object
1093 * [388]12369 ICE with templates and friends
1094 * [389]12337 apparently infinite loop in g++
1095 * [390]12344 stdcall attribute ignored if function returns a pointer
1096 * [391]12451 missing(late) class forward declaration in cxxabi.h
1097 * [392]12486 g++ accepts invalid use of a qualified name
1098
1099 x86 specific (Intel/AMD)
1100
1101 * [393]8869 [x86 MMX] ICE with const variable optimization and MMX
1102 builtins
1103 * [394]9786 ICE in fixup_abnormal_edges with -fnon-call-exceptions
1104 -O2
1105 * [395]11689 g++3.3 emits un-assembleable code for k6 architecture
1106 * [396]12116 [k6] Invalid assembly output values with X-MAME code
1107 * [397]12070 ICE converting between double and long double with
1108 -msoft-float
1109
1110 ia64-specific
1111
1112 * [398]11184 [ia64 hpux] ICE on __builtin_apply building libobjc
1113 * [399]11535 __builtin_return_address may not work on ia64
1114 * [400]11693 [ia64] ICE in gen_nop_type
1115 * [401]12224 [ia64] Thread-local storage doesn't work
1116
1117 PowerPC-specific
1118
1119 * [402]11087 [powerpc64-linux] GCC miscompiles raid1.c from linux
1120 kernel
1121 * [403]11319 loop miscompiled on ppc32
1122 * [404]11949 ICE Compiler segfault with ffmpeg -maltivec code
1123
1124 SPARC-specific
1125
1126 * [405]11662 wrong code for expr. with cast to long long and
1127 exclusive or
1128 * [406]11965 invalid assembler code for a shift < 32 operation
1129 * [407]12301 (c++) stack corruption when a returned expression
1130 throws an exception
1131
1132 Alpha-specific
1133
1134 * [408]11717 [alpha-linux] unrecognizable insn compiling for.c of
1135 kernel 2.4.22-pre8
1136
1137 HPUX-specific
1138
1139 * [409]11313 problem with #pragma weak and static inline functions
1140 * [410]11712 __STDC_EXT__ not defined for C++ by default anymore?
1141
1142 Solaris specific
1143
1144 * [411]12166 Profiled programs crash if PROFDIR is set
1145
1146 Solaris-x86 specific
1147
1148 * [412]12101 i386 Solaris no longer works with GNU as?
1149
1150 Miscellaneous embedded target-specific bugs
1151
1152 * [413]10988 [m32r-elf] wrong blockmove code with -O3
1153 * [414]11805 [h8300-unknown-coff] [H8300] ICE for simple code with
1154 -O2
1155 * [415]11902 [sh4] spec file improperly inserts rpath even when none
1156 needed
1157 * [416]11903 [sh4] -pthread fails to link due to error in spec file
1158 on sh4
1159 _________________________________________________________________
1160
1161GCC 3.3.3
1162
1163 Minor features
1164
1165 In addition to the bug fixes documented below, this release contains
1166 few minor features such as:
1167 * Support for --with-sysroot
1168 * Support for automatic detection of executable stacks
1169 * Support for SSE3 instructions
1170 * Support for thread local storage debugging under GDB on S390
1171
1172 Bug Fixes
1173
1174 This section lists the problem reports (PRs) from [417]GCC's bug
1175 tracking system that are known to be fixed in the 3.3.3 release. This
1176 list might not be complete (that is, it is possible that some PRs that
1177 have been fixed are not listed here).
1178
1179 Bootstrap failures and issues
1180
1181 * [418]11890 Building cross gcc-3.3.1 for sparc-sun-solaris2.6 fails
1182 * [419]12399 boehm-gc fails (when building a cross compiler):
1183 libtool unable to infer tagged configuration
1184 * [420]13068 mklibgcc.in doesn't handle multi-level multilib
1185 subdirectories properly
1186
1187 Internal compiler errors (multi-platform)
1188
1189 * [421]10060 ICE (stack overflow) on huge file (300k lines) due to
1190 recursive behaviour of copy_rtx_if_shared, in emit_rtl.c
1191 * [422]10555 (c++) ICE on undefined template argument
1192 * [423]10706 (c++) ICE in mangle_class_name_for_template
1193 * [424]11496 (fortran) error in flow_loops_find when -funroll-loops
1194 active
1195 * [425]11741 ICE in pre_insert_copy_insn, in gcse.c
1196 * [426]12440 GCC crashes during compilation of quicktime4linux 2.0.0
1197 * [427]12632 (fortran) -fbounds-check ICE
1198 * [428]12712 (c++) ICE on short legit C++ code fragment with gcc
1199 3.3.2
1200 * [429]12726 (c++) ICE (segfault) on trivial code
1201 * [430]12890 (c++) ICE on compilation of class with throwing method
1202 * [431]12900 (c++) ICE in rtl_verify_flow_info_1
1203 * [432]13060 (fortran) ICE in fixup_var_refs_1, in function.c on
1204 correct code with -O2 -fno-force-mem
1205 * [433]13289 (c++) ICE in regenerate_decl_from_template on recursive
1206 template
1207 * [434]13318 ICE: floating point exception in the loop optimizer
1208 * [435]13392 (c++) ICE in convert_from_eh_region_ranges_1, in
1209 except.c
1210 * [436]13574 (c++) invalid array default initializer in class lets
1211 gcc consume all memory and die
1212 * [437]13475 ICE on SIMD variables with partial value initialization
1213 * [438]13797 (c++) ICE on invalid template parameter
1214 * [439]13824 (java) gcj SEGV with simple .java program
1215
1216 C and optimization bugs
1217
1218 * [440]8776 loop invariants are not removed (most likely)
1219 * [441]10339 [sparc,ppc,ppc64] Invalid optimization: replacing
1220 strncmp by memcmp
1221 * [442]11350 undefined labels with -Os -fPIC
1222 * [443]12826 Optimizer removes reference through volatile pointer
1223 * [444]12500 stabs debug info: void no longer a predefined / builtin
1224 type
1225 * [445]12941 builtin-bitops-1.c miscompilation (latent bug)
1226 * [446]12953 tree inliner bug (in inline_forbidden_p) and fix
1227 * [447]13041 linux-2.6/sound/core/oss/rate.c miscompiled
1228 * [448]13507 spurious printf format warning
1229 * [449]13382 Type information for const pointer disappears during
1230 optimization.
1231 * [450]13394 noreturn attribute ignored on recursive invokation
1232 * [451]13400 Compiled code crashes storing to read-only location
1233 * [452]13521 Endless loop in calculate_global_regs_live
1234
1235 C++ compiler and library
1236
1237 Some of the bug fixes in this list were made to implement decisions
1238 that the ISO C++ standards committee has made concerning several
1239 defect reports (DRs). Links in the list below point to detailed
1240 discussion of the relevant defect report.
1241 * [453]2094 unimplemented: use of `ptrmem_cst' in template type
1242 unification
1243 * [454]2294 using declaration confusion
1244 * [455]5050 template instantiation depth exceeds limit: recursion
1245 problem?
1246 * [456]9371 Bad exception handling in
1247 i/ostream::operator>>/<<(streambuf*)
1248 * [457]9546 bad exception handling in ostream members
1249 * [458]10081 basic_ios::_M_cache_locale leaves NULL members in the
1250 face of unknown locales
1251 * [459]10093 [460][DR 61] Setting failbit in exceptions doesn't work
1252 * [461]10095 istream::operator>>(int&) sets ios::badbit when
1253 ios::failbit is set.
1254 * [462]11554 Warning about reordering of initializers doesn't
1255 mention location of constructor
1256 * [463]12297 istream::sentry::sentry() handles eof() incorrectly.
1257 * [464]12352 Exception safety problems in src/localename.cc
1258 * [465]12438 Memory leak in locale::combine()
1259 * [466]12540 Memory leak in locale::locale(const char*)
1260 * [467]12594 DRs [468]60 [TC] and [469]63 [TC] not implemented
1261 * [470]12657 Resolution of [471]DR 292 (WP) still unimplemented
1262 * [472]12696 memory eating infinite loop in diagnostics (error
1263 recovery problem)
1264 * [473]12815 Code compiled with optimization behaves unexpectedly
1265 * [474]12862 Conflicts between typedefs/enums and namespace member
1266 declarations
1267 * [475]12926 Wrong value after assignment in initialize list using
1268 bit-fields
1269 * [476]12967 Resolution of [477]DR 300 [WP] still unimplemented
1270 * [478]12971 Resolution of [479]DR 328 [WP] still unimplemented
1271 * [480]13007 basic_streambuf::pubimbue, imbue wrong
1272 * [481]13009 Implicitly-defined assignment operator writes to wrong
1273 memory
1274 * [482]13057 regparm attribute not applied to destructor
1275 * [483]13070 -Wformat option ignored in g++
1276 * [484]13081 forward template declarations in <complex> let inlining
1277 fail
1278 * [485]13239 Assertion does not seem to work correctly anymore
1279 * [486]13262 "xxx is private within this context" when initializing
1280 a self-contained template class
1281 * [487]13290 simple typo in concept checking for std::generate_n
1282 * [488]13323 Template code does not compile in presence of typedef
1283 * [489]13369 __verify_grouping (and __add_grouping?) not correct
1284 * [490]13371 infinite loop with packed struct and inlining
1285 * [491]13445 Template argument replacement "dereferences" a typedef
1286 * [492]13461 Fails to access protected-ctor from public constant
1287 * [493]13462 Non-standard-conforming type set::pointer
1288 * [494]13478 gcc uses wrong constructor to initialize a const
1289 reference
1290 * [495]13544 "conflicting types" for enums in different scopes
1291 * [496]13650 string::compare should not (always) use
1292 traits_type::length()
1293 * [497]13683 bogus warning about passing non-PODs through ellipsis
1294 * [498]13688 Derived class is denied access to protected base class
1295 member class
1296 * [499]13774 Member variable cleared in virtual multiple inheritance
1297 class
1298 * [500]13884 Protect sstream.tcc from extern template use
1299
1300 Java compiler and library
1301
1302 * [501]10746 [win32] garbage collection crash in GCJ
1303
1304 Objective-C compiler and library
1305
1306 * [502]11433 Crash due to dereferencing null pointer when querying
1307 protocol
1308
1309 Fortran compiler and library
1310
1311 * [503]12633 logical expression gives incorrect result with
1312 -fugly-logint option
1313 * [504]13037 [gcse-lm] g77 generates incorrect code
1314 * [505]13213 Hex constant problem when compiling with -fugly-logint
1315 and -ftypeless-boz
1316
1317 x86-specific (Intel/AMD)
1318
1319 * [506]4490 ICE with -m128bit-long-double
1320 * [507]12292 [x86_64] ICE: RTL check: expected code `const_int',
1321 have `reg' in make_field_assignment, in combine.c
1322 * [508]12441 ICE: can't find a register to spill
1323 * [509]12943 array static-init failure under -fpic, -fPIC
1324 * [510]13608 Incorrect code with -O3 -ffast-math
1325
1326 PowerPC-specific
1327
1328 * [511]11598 testcase gcc.dg/20020118-1.c fails runtime check of
1329 __attribute__((aligned(16)))
1330 * [512]11793 ICE in extract_insn, in recog.c (const_vector's)
1331 * [513]12467 vmsumubm emitted when vmsummbm appropriate (typo in
1332 altivec.md)
1333 * [514]12537 g++ generates writeable text sections
1334
1335 SPARC-specific
1336
1337 * [515]12496 wrong result for __atomic_add(&value, -1) when using
1338 -O0 -m64
1339 * [516]12865 mprotect call to make trampoline executable may fail
1340 * [517]13354 ICE in sparc_emit_set_const32
1341
1342 ARM-specific
1343
1344 * [518]10467 [arm] ICE in pre_insert_copy_insn,
1345
1346 ia64-specific
1347
1348 * [519]11226 ICE passing struct arg with two floats
1349 * [520]11227 ICE for _Complex float, _Complex long double args
1350 * [521]12644 GCC 3.3.2 fails to compile glibc on ia64
1351 * [522]13149 build gcc-3.3.2 1305 error:unrecognizable insn
1352 * Various fixes for libunwind
1353
1354 Alpha-specific
1355
1356 * [523]12654 Incorrect comparison code generated for Alpha
1357 * [524]12965 SEGV+ICE in cc1plus on alpha-linux with -O2
1358 * [525]13031 ICE (unrecognizable insn) when building
1359 gnome-libs-1.4.2
1360
1361 HPPA-specific
1362
1363 * [526]11634 [hppa] ICE in verify_local_live_at_start, in flow.c
1364 * [527]12158 [hppa] compilation does not terminate at -O1
1365
1366 S390-specific
1367
1368 * [528]11992 Wrong built-in code for memcmp with length 1<<24: only
1369 (1<<24)-1 possible for CLCL-Instruction
1370
1371 SH-specific
1372
1373 * [529]9365 segfault in gen_far_branch (config/sh/sh.c)
1374 * [530]10392 optimizer generates faulty array indexing
1375 * [531]11322 SH profiler outputs multiple definitions of symbol
1376 * [532]13069 gcc/config/sh/rtems.h broken
1377 * [533]13302 Putting a va_list in a struct causes seg fault
1378 * [534]13585 Incorrect optimization of call to sfunc
1379 * Fix inappropriately exported libgcc functions from the shared
1380 library
1381
1382 Other embedded target specific
1383
1384 * [535]8916 [mcore] unsigned char assign gets hosed.
1385 * [536]11576 [h8300] ICE in change_address_1, in emit-rtl.c
1386 * [537]13122 [h8300] local variable gets corrupted by function call
1387 when -fomit-frame-pointer is given
1388 * [538]13256 [cris] strict_low_part mistreated in delay slots
1389 * [539]13373 [mcore] optimization with -frerun-cse-after-loop
1390 -fexpensive-optimizations produces wrong code on mcore
1391
1392 GNU HURD-specific
1393
1394 * [540]12561 gcc/config/t-gnu needs updating to work with
1395 --with-sysroot
1396
1397 Tru64 Unix specific
1398
1399 * [541]6243 testsuite fails almost all tests due to no libintl in
1400 LD_LIBRARY_PATH during test.
1401 * [542]11397 weak aliases broken on Tru64 UNIX
1402
1403 AIX-specific
1404
1405 * [543]12505 build failure due to defines of uchar in cpphash.h and
1406 sys/types.h
1407 * [544]13150 WEAK symbols not exported by collect2
1408
1409 IRIX-specific
1410
1411 * [545]12666 fixincludes problem on IRIX 6.5.19m
1412
1413 Solaris-specific
1414
1415 * [546]12969 Including sys/byteorder.h breaks configure checks
1416
1417 Testsuite problems (compiler is not affected)
1418
1419 * [547]10819 testsuite creates CR+LF on compiler version lines in
1420 test summary files
1421 * [548]11612 abi_check not finding correct libgcc_s.so.1
1422
1423 Miscellaneous
1424
1425 * [549]13211 using -###, incorrect warnings about unused linker file
1426 are produced
1427 _________________________________________________________________
1428
1429 Please send FSF & GNU inquiries & questions to [550]gnu@gnu.org. There
1430 are also [551]other ways to contact the FSF.
1431
1432 These pages are maintained by [552]the GCC team.
1433
1434
1435 For questions related to the use of GCC, please consult these web
1436 pages and the [553]GCC manuals. If that fails, the
1437 [554]gcc-help@gcc.gnu.org mailing list might help.
1438 Please send comments on these web pages and the development of GCC
1439 to our developer mailing list at [555]gcc@gnu.org or
1440 [556]gcc@gcc.gnu.org. All of our lists have [557]public archives.
1441
1442 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
1443 330, Boston, MA 02111, USA.
1444
1445 Verbatim copying and distribution of this entire article is permitted
1446 in any medium, provided this notice is preserved.
1447
1448 Last modified 2004-08-06 [558]Valid XHTML 1.0
1449
1450References
1451
1452 1. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.3
1453 2. http://gcc.gnu.org/gcc-3.1/changes.html#obsolete_systems
1454 3. http://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems
1455 4. http://gcc.gnu.org/gcc-3.3/changes.html#nonnull_attribute
1456 5. http://gcc.gnu.org/news/dfa.html
1457 6. http://gcc.gnu.org/gcc-3.3/c99status.html
1458 7. http://gcc.gnu.org/onlinedocs/g77/News.html
1459 8. http://gcc.gnu.org/PR10140
1460 9. http://gcc.gnu.org/PR10198
1461 10. http://gcc.gnu.org/PR10338
1462 11. http://gcc.gnu.org/PR3581
1463 12. http://gcc.gnu.org/PR4382
1464 13. http://gcc.gnu.org/PR5533
1465 14. http://gcc.gnu.org/PR6387
1466 15. http://gcc.gnu.org/PR6412
1467 16. http://gcc.gnu.org/PR6620
1468 17. http://gcc.gnu.org/PR6663
1469 18. http://gcc.gnu.org/PR7068
1470 19. http://gcc.gnu.org/PR7083
1471 20. http://gcc.gnu.org/PR7647
1472 21. http://gcc.gnu.org/PR7675
1473 22. http://gcc.gnu.org/PR7718
1474 23. http://gcc.gnu.org/PR8116
1475 24. http://gcc.gnu.org/PR8358
1476 25. http://gcc.gnu.org/PR8511
1477 26. http://gcc.gnu.org/PR8564
1478 27. http://gcc.gnu.org/PR8660
1479 28. http://gcc.gnu.org/PR8766
1480 29. http://gcc.gnu.org/PR8803
1481 30. http://gcc.gnu.org/PR8846
1482 31. http://gcc.gnu.org/PR8906
1483 32. http://gcc.gnu.org/PR9216
1484 33. http://gcc.gnu.org/PR9261
1485 34. http://gcc.gnu.org/PR9263
1486 35. http://gcc.gnu.org/PR9429
1487 36. http://gcc.gnu.org/PR9516
1488 37. http://gcc.gnu.org/PR9600
1489 38. http://gcc.gnu.org/PR9629
1490 39. http://gcc.gnu.org/PR9672
1491 40. http://gcc.gnu.org/PR9749
1492 41. http://gcc.gnu.org/PR9794
1493 42. http://gcc.gnu.org/PR9829
1494 43. http://gcc.gnu.org/PR9916
1495 44. http://gcc.gnu.org/PR9936
1496 45. http://gcc.gnu.org/PR10262
1497 46. http://gcc.gnu.org/PR10278
1498 47. http://gcc.gnu.org/PR10446
1499 48. http://gcc.gnu.org/PR10451
1500 49. http://gcc.gnu.org/PR10506
1501 50. http://gcc.gnu.org/PR10549
1502 51. http://gcc.gnu.org/PR2001
1503 52. http://gcc.gnu.org/PR2391
1504 53. http://gcc.gnu.org/PR2960
1505 54. http://gcc.gnu.org/PR4046
1506 55. http://gcc.gnu.org/PR6405
1507 56. http://gcc.gnu.org/PR6798
1508 57. http://gcc.gnu.org/PR6871
1509 58. http://gcc.gnu.org/PR6909
1510 59. http://gcc.gnu.org/PR7189
1511 60. http://gcc.gnu.org/PR7642
1512 61. http://gcc.gnu.org/PR8634
1513 62. http://gcc.gnu.org/PR8750
1514 63. http://gcc.gnu.org/PR2161
1515 64. http://gcc.gnu.org/PR4319
1516 65. http://gcc.gnu.org/PR8602
1517 66. http://gcc.gnu.org/PR9177
1518 67. http://gcc.gnu.org/PR9853
1519 68. http://gcc.gnu.org/PR45
1520 69. http://gcc.gnu.org/PR3784
1521 70. http://gcc.gnu.org/PR764
1522 71. http://gcc.gnu.org/PR5116
1523 72. http://gcc.gnu.org/PR2862
1524 73. http://gcc.gnu.org/PR3663
1525 74. http://gcc.gnu.org/PR3797
1526 75. http://gcc.gnu.org/PR3948
1527 76. http://gcc.gnu.org/PR4137
1528 77. http://gcc.gnu.org/PR4361
1529 78. http://gcc.gnu.org/PR4802
1530 79. http://gcc.gnu.org/PR5837
1531 80. http://gcc.gnu.org/PR4803
1532 81. http://gcc.gnu.org/PR5094
1533 82. http://gcc.gnu.org/PR5730
1534 83. http://gcc.gnu.org/PR6713
1535 84. http://gcc.gnu.org/PR7015
1536 85. http://gcc.gnu.org/PR7086
1537 86. http://gcc.gnu.org/PR7099
1538 87. http://gcc.gnu.org/PR7247
1539 88. http://gcc.gnu.org/PR7441
1540 89. http://gcc.gnu.org/PR7768
1541 90. http://gcc.gnu.org/PR7804
1542 91. http://gcc.gnu.org/PR8099
1543 92. http://gcc.gnu.org/PR8117
1544 93. http://gcc.gnu.org/PR8205
1545 94. http://gcc.gnu.org/PR8645
1546 95. http://gcc.gnu.org/PR8724
1547 96. http://gcc.gnu.org/PR8805
1548 97. http://gcc.gnu.org/PR8691
1549 98. http://gcc.gnu.org/PR8700
1550 99. http://gcc.gnu.org/PR8724
1551 100. http://gcc.gnu.org/PR8949
1552 101. http://gcc.gnu.org/PR9016
1553 102. http://gcc.gnu.org/PR9053
1554 103. http://gcc.gnu.org/PR9152
1555 104. http://gcc.gnu.org/PR9182
1556 105. http://gcc.gnu.org/PR9297
1557 106. http://gcc.gnu.org/PR9318
1558 107. http://gcc.gnu.org/PR9320
1559 108. http://gcc.gnu.org/PR9400
1560 109. http://gcc.gnu.org/PR9424
1561 110. http://gcc.gnu.org/PR9425
1562 111. http://gcc.gnu.org/PR9439
1563 112. http://gcc.gnu.org/PR9474
1564 113. http://gcc.gnu.org/PR9548
1565 114. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#231
1566 115. http://gcc.gnu.org/PR9555
1567 116. http://gcc.gnu.org/PR9561
1568 117. http://gcc.gnu.org/PR9563
1569 118. http://gcc.gnu.org/PR9582
1570 119. http://gcc.gnu.org/PR9622
1571 120. http://gcc.gnu.org/PR9683
1572 121. http://gcc.gnu.org/PR9791
1573 122. http://gcc.gnu.org/PR9817
1574 123. http://gcc.gnu.org/PR9825
1575 124. http://gcc.gnu.org/PR9826
1576 125. http://gcc.gnu.org/PR9924
1577 126. http://gcc.gnu.org/PR9946
1578 127. http://gcc.gnu.org/PR9964
1579 128. http://gcc.gnu.org/PR9988
1580 129. http://gcc.gnu.org/PR10033
1581 130. http://gcc.gnu.org/PR10097
1582 131. http://gcc.gnu.org/PR10132
1583 132. http://gcc.gnu.org/PR10180
1584 133. http://gcc.gnu.org/PR10199
1585 134. http://gcc.gnu.org/PR10300
1586 135. http://gcc.gnu.org/PR10427
1587 136. http://gcc.gnu.org/PR10503
1588 137. http://gcc.gnu.org/PR5956
1589 138. http://gcc.gnu.org/PR1832
1590 139. http://gcc.gnu.org/PR3924
1591 140. http://gcc.gnu.org/PR5634
1592 141. http://gcc.gnu.org/PR6367
1593 142. http://gcc.gnu.org/PR6491
1594 143. http://gcc.gnu.org/PR6742
1595 144. http://gcc.gnu.org/PR7113
1596 145. http://gcc.gnu.org/PR7236
1597 146. http://gcc.gnu.org/PR7278
1598 147. http://gcc.gnu.org/PR7384
1599 148. http://gcc.gnu.org/PR7388
1600 149. http://gcc.gnu.org/PR8587
1601 150. http://gcc.gnu.org/PR9038
1602 151. http://gcc.gnu.org/PR10197
1603 152. http://gcc.gnu.org/PR6005
1604 153. http://gcc.gnu.org/PR6389
1605 154. http://gcc.gnu.org/PR6576
1606 155. http://gcc.gnu.org/PR6652
1607 156. http://gcc.gnu.org/PR7060
1608 157. http://gcc.gnu.org/PR7073
1609 158. http://gcc.gnu.org/PR7180
1610 159. http://gcc.gnu.org/PR7416
1611 160. http://gcc.gnu.org/PR7570
1612 161. http://gcc.gnu.org/PR7578
1613 162. http://gcc.gnu.org/PR7611
1614 163. http://gcc.gnu.org/PR7709
1615 164. http://gcc.gnu.org/PR7766
1616 165. http://gcc.gnu.org/PR7785
1617 166. http://gcc.gnu.org/PR7786
1618 167. http://gcc.gnu.org/PR8142
1619 168. http://gcc.gnu.org/PR8234
1620 169. http://gcc.gnu.org/PR8415
1621 170. http://gcc.gnu.org/PR8481
1622 171. http://gcc.gnu.org/PR8593
1623 172. http://gcc.gnu.org/PR8759
1624 173. http://gcc.gnu.org/PR8997
1625 174. http://gcc.gnu.org/PR9253
1626 175. http://gcc.gnu.org/PR9254
1627 176. http://gcc.gnu.org/PR9271
1628 177. http://gcc.gnu.org/PR6767
1629 178. http://gcc.gnu.org/PR9911
1630 179. http://gcc.gnu.org/PR10020
1631 180. http://gcc.gnu.org/PR10546
1632 181. http://gcc.gnu.org/PR7029
1633 182. http://gcc.gnu.org/PR2903
1634 183. http://gcc.gnu.org/PR7873
1635 184. http://gcc.gnu.org/PR7680
1636 185. http://gcc.gnu.org/PR8705
1637 186. http://gcc.gnu.org/PR9986
1638 187. http://gcc.gnu.org/PR10056
1639 188. http://gcc.gnu.org/PR6744
1640 189. http://gcc.gnu.org/PR7361
1641 190. http://gcc.gnu.org/PR9496
1642 191. http://gcc.gnu.org/PR7067
1643 192. http://gcc.gnu.org/PR8480
1644 193. http://gcc.gnu.org/PR8784
1645 194. http://gcc.gnu.org/PR10315
1646 195. http://gcc.gnu.org/PR10267
1647 196. http://gcc.gnu.org/PR7916
1648 197. http://gcc.gnu.org/PR7926
1649 198. http://gcc.gnu.org/PR8555
1650 199. http://gcc.gnu.org/PR8994
1651 200. http://gcc.gnu.org/PR9426
1652 201. http://gcc.gnu.org/PR9806
1653 202. http://gcc.gnu.org/PR10077
1654 203. http://gcc.gnu.org/PR10233
1655 204. http://gcc.gnu.org/PR10286
1656 205. http://gcc.gnu.org/PR10308
1657 206. http://gcc.gnu.org/PR11272
1658 207. http://gcc.gnu.org/PR5754
1659 208. http://gcc.gnu.org/PR6597
1660 209. http://gcc.gnu.org/PR6949
1661 210. http://gcc.gnu.org/PR7053
1662 211. http://gcc.gnu.org/PR8164
1663 212. http://gcc.gnu.org/PR8384
1664 213. http://gcc.gnu.org/PR9559
1665 214. http://gcc.gnu.org/PR9649
1666 215. http://gcc.gnu.org/PR9864
1667 216. http://gcc.gnu.org/PR10432
1668 217. http://gcc.gnu.org/PR10475
1669 218. http://gcc.gnu.org/PR10635
1670 219. http://gcc.gnu.org/PR10661
1671 220. http://gcc.gnu.org/PR10700
1672 221. http://gcc.gnu.org/PR10712
1673 222. http://gcc.gnu.org/PR10796
1674 223. http://gcc.gnu.org/PR10890
1675 224. http://gcc.gnu.org/PR10939
1676 225. http://gcc.gnu.org/PR10956
1677 226. http://gcc.gnu.org/PR11041
1678 227. http://gcc.gnu.org/PR11059
1679 228. http://gcc.gnu.org/PR11083
1680 229. http://gcc.gnu.org/PR11105
1681 230. http://gcc.gnu.org/PR11149
1682 231. http://gcc.gnu.org/PR11228
1683 232. http://gcc.gnu.org/PR11282
1684 233. http://gcc.gnu.org/PR11301
1685 234. http://gcc.gnu.org/PR11308
1686 235. http://gcc.gnu.org/PR11473
1687 236. http://gcc.gnu.org/PR11503
1688 237. http://gcc.gnu.org/PR11513
1689 238. http://gcc.gnu.org/PR11198
1690 239. http://gcc.gnu.org/PR11304
1691 240. http://gcc.gnu.org/PR11381
1692 241. http://gcc.gnu.org/PR11536
1693 242. http://gcc.gnu.org/PR11557
1694 243. http://gcc.gnu.org/PR5897
1695 244. http://gcc.gnu.org/PR11279
1696 245. http://gcc.gnu.org/PR11022
1697 246. http://gcc.gnu.org/PR2330
1698 247. http://gcc.gnu.org/PR5388
1699 248. http://gcc.gnu.org/PR5390
1700 249. http://gcc.gnu.org/PR7877
1701 250. http://gcc.gnu.org/PR9393
1702 251. http://gcc.gnu.org/PR10032
1703 252. http://gcc.gnu.org/PR10468
1704 253. http://gcc.gnu.org/PR10527
1705 254. http://gcc.gnu.org/PR10679
1706 255. http://gcc.gnu.org/PR10682
1707 256. http://gcc.gnu.org/PR10689
1708 257. http://gcc.gnu.org/PR10845
1709 258. http://gcc.gnu.org/PR10849
1710 259. http://gcc.gnu.org/PR10888
1711 260. http://gcc.gnu.org/PR10929
1712 261. http://gcc.gnu.org/PR10931
1713 262. http://gcc.gnu.org/PR10940
1714 263. http://gcc.gnu.org/PR10968
1715 264. http://gcc.gnu.org/PR10990
1716 265. http://gcc.gnu.org/PR11039
1717 266. http://gcc.gnu.org/PR11062
1718 267. http://gcc.gnu.org/PR11095
1719 268. http://gcc.gnu.org/PR11098
1720 269. http://gcc.gnu.org/PR11137
1721 270. http://gcc.gnu.org/PR11154
1722 271. http://gcc.gnu.org/PR11329
1723 272. http://gcc.gnu.org/PR11332
1724 273. http://gcc.gnu.org/PR11431
1725 274. http://gcc.gnu.org/PR11528
1726 275. http://gcc.gnu.org/PR11546
1727 276. http://gcc.gnu.org/PR11567
1728 277. http://gcc.gnu.org/PR11645
1729 278. http://gcc.gnu.org/PR5179
1730 279. http://gcc.gnu.org/PR8204
1731 280. http://gcc.gnu.org/PR10838
1732 281. http://gcc.gnu.org/PR10886
1733 282. http://gcc.gnu.org/PR11349
1734 283. http://gcc.gnu.org/PR4823
1735 284. http://gcc.gnu.org/PR8878
1736 285. http://gcc.gnu.org/PR9815
1737 286. http://gcc.gnu.org/PR10402
1738 287. http://gcc.gnu.org/PR10504
1739 288. http://gcc.gnu.org/PR10673
1740 289. http://gcc.gnu.org/PR11044
1741 290. http://gcc.gnu.org/PR11089
1742 291. http://gcc.gnu.org/PR11420
1743 292. http://gcc.gnu.org/PR9362
1744 293. http://gcc.gnu.org/PR10142
1745 294. http://gcc.gnu.org/PR10663
1746 295. http://gcc.gnu.org/PR10835
1747 296. http://gcc.gnu.org/PR10876
1748 297. http://gcc.gnu.org/PR10955
1749 298. http://gcc.gnu.org/PR11018
1750 299. http://gcc.gnu.org/PR11556
1751 300. http://gcc.gnu.org/PR10907
1752 301. http://gcc.gnu.org/PR11320
1753 302. http://gcc.gnu.org/PR11599
1754 303. http://gcc.gnu.org/PR9745
1755 304. http://gcc.gnu.org/PR10871
1756 305. http://gcc.gnu.org/PR11440
1757 306. http://gcc.gnu.org/PR7594
1758 307. http://gcc.gnu.org/PR10557
1759 308. http://gcc.gnu.org/PR11054
1760 309. http://gcc.gnu.org/PR10834
1761 310. http://gcc.gnu.org/PR10842
1762 311. http://gcc.gnu.org/PR11052
1763 312. http://gcc.gnu.org/PR11183
1764 313. http://gcc.gnu.org/PR11084
1765 314. http://gcc.gnu.org/PR10331
1766 315. http://gcc.gnu.org/PR10413
1767 316. http://gcc.gnu.org/PR11096
1768 317. http://gcc.gnu.org/PR2873
1769 318. http://gcc.gnu.org/PR3163
1770 319. http://gcc.gnu.org/PR5287
1771 320. http://gcc.gnu.org/PR10148
1772 321. http://gcc.gnu.org/PR8787
1773 322. http://gcc.gnu.org/PR10900
1774 323. http://gcc.gnu.org/PR1607
1775 324. http://gcc.gnu.org/PR4252
1776 325. http://gcc.gnu.org/PR4490
1777 326. http://gcc.gnu.org/PR10355
1778 327. http://gcc.gnu.org/PR10726
1779 328. http://gcc.gnu.org/PR10805
1780 329. http://gcc.gnu.org/PR10815
1781 330. http://gcc.gnu.org/PR10877
1782 331. http://gcc.gnu.org/PR11280
1783 332. http://gcc.gnu.org/PR11466
1784 333. http://gcc.gnu.org/PR10737
1785 334. http://gcc.gnu.org/PR10810
1786 335. http://gcc.gnu.org/bugzilla/
1787 336. http://gcc.gnu.org/PR8336
1788 337. http://gcc.gnu.org/PR9330
1789 338. http://gcc.gnu.org/PR9631
1790 339. http://gcc.gnu.org/PR9877
1791 340. http://gcc.gnu.org/PR11687
1792 341. http://gcc.gnu.org/PR12263
1793 342. http://gcc.gnu.org/PR12490
1794 343. http://gcc.gnu.org/PR7277
1795 344. http://gcc.gnu.org/PR7939
1796 345. http://gcc.gnu.org/PR11063
1797 346. http://gcc.gnu.org/PR11207
1798 347. http://gcc.gnu.org/PR11522
1799 348. http://gcc.gnu.org/PR11595
1800 349. http://gcc.gnu.org/PR11646
1801 350. http://gcc.gnu.org/PR11665
1802 351. http://gcc.gnu.org/PR11852
1803 352. http://gcc.gnu.org/PR11878
1804 353. http://gcc.gnu.org/PR11883
1805 354. http://gcc.gnu.org/PR11991
1806 355. http://gcc.gnu.org/PR12146
1807 356. http://gcc.gnu.org/PR12215
1808 357. http://gcc.gnu.org/PR12369
1809 358. http://gcc.gnu.org/PR12446
1810 359. http://gcc.gnu.org/PR12510
1811 360. http://gcc.gnu.org/PR12544
1812 361. http://gcc.gnu.org/PR9862
1813 362. http://gcc.gnu.org/PR10962
1814 363. http://gcc.gnu.org/PR11370
1815 364. http://gcc.gnu.org/PR11637
1816 365. http://gcc.gnu.org/PR11885
1817 366. http://gcc.gnu.org/PR12082
1818 367. http://gcc.gnu.org/PR12180
1819 368. http://gcc.gnu.org/PR12340
1820 369. http://gcc.gnu.org/PR3907
1821 370. http://gcc.gnu.org/PR5293
1822 371. http://gcc.gnu.org/PR5296
1823 372. http://gcc.gnu.org/PR7939
1824 373. http://gcc.gnu.org/PR8656
1825 374. http://gcc.gnu.org/PR10147
1826 375. http://gcc.gnu.org/PR11400
1827 376. http://gcc.gnu.org/PR11409
1828 377. http://gcc.gnu.org/PR11740
1829 378. http://gcc.gnu.org/PR11786
1830 379. http://gcc.gnu.org/PR11867
1831 380. http://gcc.gnu.org/PR11928
1832 381. http://gcc.gnu.org/PR12114
1833 382. http://gcc.gnu.org/PR12163
1834 383. http://gcc.gnu.org/PR12181
1835 384. http://gcc.gnu.org/PR12236
1836 385. http://gcc.gnu.org/PR12266
1837 386. http://gcc.gnu.org/PR12296
1838 387. http://gcc.gnu.org/PR12298
1839 388. http://gcc.gnu.org/PR12369
1840 389. http://gcc.gnu.org/PR12337
1841 390. http://gcc.gnu.org/PR12344
1842 391. http://gcc.gnu.org/PR12451
1843 392. http://gcc.gnu.org/PR12486
1844 393. http://gcc.gnu.org/PR8869
1845 394. http://gcc.gnu.org/PR9786
1846 395. http://gcc.gnu.org/PR11689
1847 396. http://gcc.gnu.org/PR12116
1848 397. http://gcc.gnu.org/PR12070
1849 398. http://gcc.gnu.org/PR11184
1850 399. http://gcc.gnu.org/PR11535
1851 400. http://gcc.gnu.org/PR11693
1852 401. http://gcc.gnu.org/PR12224
1853 402. http://gcc.gnu.org/PR11087
1854 403. http://gcc.gnu.org/PR11319
1855 404. http://gcc.gnu.org/PR11949
1856 405. http://gcc.gnu.org/PR11662
1857 406. http://gcc.gnu.org/PR11965
1858 407. http://gcc.gnu.org/PR12301
1859 408. http://gcc.gnu.org/PR11717
1860 409. http://gcc.gnu.org/PR11313
1861 410. http://gcc.gnu.org/PR11712
1862 411. http://gcc.gnu.org/PR12166
1863 412. http://gcc.gnu.org/PR12101
1864 413. http://gcc.gnu.org/PR10988
1865 414. http://gcc.gnu.org/PR11805
1866 415. http://gcc.gnu.org/PR11902
1867 416. http://gcc.gnu.org/PR11903
1868 417. http://gcc.gnu.org/bugzilla/
1869 418. http://gcc.gnu.org/PR11890
1870 419. http://gcc.gnu.org/PR12399
1871 420. http://gcc.gnu.org/PR13068
1872 421. http://gcc.gnu.org/PR10060
1873 422. http://gcc.gnu.org/PR10555
1874 423. http://gcc.gnu.org/PR10706
1875 424. http://gcc.gnu.org/PR11496
1876 425. http://gcc.gnu.org/PR11741
1877 426. http://gcc.gnu.org/PR12440
1878 427. http://gcc.gnu.org/PR12632
1879 428. http://gcc.gnu.org/PR12712
1880 429. http://gcc.gnu.org/PR12726
1881 430. http://gcc.gnu.org/PR12890
1882 431. http://gcc.gnu.org/PR12900
1883 432. http://gcc.gnu.org/PR13060
1884 433. http://gcc.gnu.org/PR13289
1885 434. http://gcc.gnu.org/PR13318
1886 435. http://gcc.gnu.org/PR13392
1887 436. http://gcc.gnu.org/PR13574
1888 437. http://gcc.gnu.org/PR13475
1889 438. http://gcc.gnu.org/PR13797
1890 439. http://gcc.gnu.org/PR13824
1891 440. http://gcc.gnu.org/PR8776
1892 441. http://gcc.gnu.org/PR10339
1893 442. http://gcc.gnu.org/PR11350
1894 443. http://gcc.gnu.org/PR12826
1895 444. http://gcc.gnu.org/PR12500
1896 445. http://gcc.gnu.org/PR12941
1897 446. http://gcc.gnu.org/PR12953
1898 447. http://gcc.gnu.org/PR13041
1899 448. http://gcc.gnu.org/PR13507
1900 449. http://gcc.gnu.org/PR13382
1901 450. http://gcc.gnu.org/PR13394
1902 451. http://gcc.gnu.org/PR13400
1903 452. http://gcc.gnu.org/PR13521
1904 453. http://gcc.gnu.org/PR2094
1905 454. http://gcc.gnu.org/PR2294
1906 455. http://gcc.gnu.org/PR5050
1907 456. http://gcc.gnu.org/PR9371
1908 457. http://gcc.gnu.org/PR9546
1909 458. http://gcc.gnu.org/PR10081
1910 459. http://gcc.gnu.org/PR10093
1911 460. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#61
1912 461. http://gcc.gnu.org/PR10095
1913 462. http://gcc.gnu.org/PR11554
1914 463. http://gcc.gnu.org/PR12297
1915 464. http://gcc.gnu.org/PR12352
1916 465. http://gcc.gnu.org/PR12438
1917 466. http://gcc.gnu.org/PR12540
1918 467. http://gcc.gnu.org/PR12594
1919 468. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#60
1920 469. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#63
1921 470. http://gcc.gnu.org/PR12657
1922 471. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#292
1923 472. http://gcc.gnu.org/PR12696
1924 473. http://gcc.gnu.org/PR12815
1925 474. http://gcc.gnu.org/PR12862
1926 475. http://gcc.gnu.org/PR12926
1927 476. http://gcc.gnu.org/PR12967
1928 477. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html
1929 478. http://gcc.gnu.org/PR12971
1930 479. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#328
1931 480. http://gcc.gnu.org/PR13007
1932 481. http://gcc.gnu.org/PR13009
1933 482. http://gcc.gnu.org/PR13057
1934 483. http://gcc.gnu.org/PR13070
1935 484. http://gcc.gnu.org/PR13081
1936 485. http://gcc.gnu.org/PR13239
1937 486. http://gcc.gnu.org/PR13262
1938 487. http://gcc.gnu.org/PR13290
1939 488. http://gcc.gnu.org/PR13323
1940 489. http://gcc.gnu.org/PR13369
1941 490. http://gcc.gnu.org/PR13371
1942 491. http://gcc.gnu.org/PR13445
1943 492. http://gcc.gnu.org/PR13461
1944 493. http://gcc.gnu.org/PR13462
1945 494. http://gcc.gnu.org/PR13478
1946 495. http://gcc.gnu.org/PR13544
1947 496. http://gcc.gnu.org/PR13650
1948 497. http://gcc.gnu.org/PR13683
1949 498. http://gcc.gnu.org/PR13688
1950 499. http://gcc.gnu.org/PR13774
1951 500. http://gcc.gnu.org/PR13884
1952 501. http://gcc.gnu.org/PR10746
1953 502. http://gcc.gnu.org/PR11433
1954 503. http://gcc.gnu.org/PR12633
1955 504. http://gcc.gnu.org/PR13037
1956 505. http://gcc.gnu.org/PR13213
1957 506. http://gcc.gnu.org/PR4490
1958 507. http://gcc.gnu.org/PR12292
1959 508. http://gcc.gnu.org/PR12441
1960 509. http://gcc.gnu.org/PR12943
1961 510. http://gcc.gnu.org/PR13608
1962 511. http://gcc.gnu.org/PR11598
1963 512. http://gcc.gnu.org/PR11793
1964 513. http://gcc.gnu.org/PR12467
1965 514. http://gcc.gnu.org/PR12537
1966 515. http://gcc.gnu.org/PR12496
1967 516. http://gcc.gnu.org/PR12865
1968 517. http://gcc.gnu.org/PR13354
1969 518. http://gcc.gnu.org/PR10467
1970 519. http://gcc.gnu.org/PR11226
1971 520. http://gcc.gnu.org/PR11227
1972 521. http://gcc.gnu.org/PR12644
1973 522. http://gcc.gnu.org/PR13149
1974 523. http://gcc.gnu.org/PR12654
1975 524. http://gcc.gnu.org/PR12965
1976 525. http://gcc.gnu.org/PR13031
1977 526. http://gcc.gnu.org/PR11634
1978 527. http://gcc.gnu.org/PR12158
1979 528. http://gcc.gnu.org/PR11992
1980 529. http://gcc.gnu.org/PR9365
1981 530. http://gcc.gnu.org/PR10392
1982 531. http://gcc.gnu.org/PR11322
1983 532. http://gcc.gnu.org/PR13069
1984 533. http://gcc.gnu.org/PR13302
1985 534. http://gcc.gnu.org/PR13585
1986 535. http://gcc.gnu.org/PR8916
1987 536. http://gcc.gnu.org/PR11576
1988 537. http://gcc.gnu.org/PR13122
1989 538. http://gcc.gnu.org/PR13256
1990 539. http://gcc.gnu.org/PR13373
1991 540. http://gcc.gnu.org/PR12561
1992 541. http://gcc.gnu.org/PR6243
1993 542. http://gcc.gnu.org/PR11397
1994 543. http://gcc.gnu.org/PR12505
1995 544. http://gcc.gnu.org/PR13150
1996 545. http://gcc.gnu.org/PR12666
1997 546. http://gcc.gnu.org/PR12969
1998 547. http://gcc.gnu.org/PR10819
1999 548. http://gcc.gnu.org/PR11612
2000 549. http://gcc.gnu.org/PR13211
2001 550. mailto:gnu@gnu.org
2002 551. http://www.gnu.org/home.html#ContactInfo
2003 552. http://gcc.gnu.org/about.html
2004 553. http://gcc.gnu.org/onlinedocs/
2005 554. mailto:gcc-help@gcc.gnu.org
2006 555. mailto:gcc@gnu.org
2007 556. mailto:gcc@gcc.gnu.org
2008 557. http://gcc.gnu.org/lists.html
2009 558. http://validator.w3.org/check/referer
2010======================================================================
2011http://gcc.gnu.org/gcc-3.2/index.html
2012
2013 GCC 3.2 Release Series
2014
2015 April 25, 2003
2016
2017 The [1]GNU project and the GCC developers are pleased to announce the
2018 release of GCC 3.2.3.
2019
2020 The purpose of the GCC 3.2 release series is to provide a stable
2021 platform for OS distributors to use building their next releases. A
2022 primary objective was to stabilize the C++ ABI; we believe that the
2023 interface to the compiler and the C++ standard library are now
2024 relatively stable.
2025
2026 Be aware that C++ code compiled by GCC 3.2.x will (in general) not
2027 interoperate with code compiled by GCC 3.1.1 or earlier.
2028
2029 Please refer to our [2]detailed list of news, caveats, and bug-fixes
2030 for further information.
2031
2032Release History
2033
2034 GCC 3.2.3
2035 April 25, 2003 ([3]changes)
2036
2037 GCC 3.2.2
2038 February 5, 2003 ([4]changes)
2039
2040 GCC 3.2.1
2041 November 19, 2002 ([5]changes)
2042
2043 GCC 3.2
2044 August 14, 2002 ([6]changes)
2045
2046References and Acknowledgements
2047
2048 GCC used to stand for the GNU C Compiler, but since the compiler
2049 supports several other languages aside from C, it now stands for the
2050 GNU Compiler Collection.
2051
2052 A list of [7]successful builds is updated as new information becomes
2053 available.
2054
2055 The GCC developers would like to thank the numerous people that have
2056 contributed new features, improvements, bug fixes, and other changes
2057 as well as test results to GCC. This [8]amazing group of volunteers is
2058 what makes GCC successful.
2059
2060 For additional information about GCC please refer to the [9]GCC
2061 project web site or contact the [10]GCC development mailing list.
2062
2063 To obtain GCC please use [11]our mirror sites, one of the [12]GNU
2064 mirror sites, or [13]our CVS server.
2065 _________________________________________________________________
2066
2067 Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There
2068 are also [15]other ways to contact the FSF.
2069
2070 These pages are maintained by [16]the GCC team.
2071
2072
2073 For questions related to the use of GCC, please consult these web
2074 pages and the [17]GCC manuals. If that fails, the
2075 [18]gcc-help@gcc.gnu.org mailing list might help.
2076 Please send comments on these web pages and the development of GCC
2077 to our developer mailing list at [19]gcc@gnu.org or
2078 [20]gcc@gcc.gnu.org. All of our lists have [21]public archives.
2079
2080 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
2081 330, Boston, MA 02111, USA.
2082
2083 Verbatim copying and distribution of this entire article is permitted
2084 in any medium, provided this notice is preserved.
2085
2086 Last modified 2004-08-06 [22]Valid XHTML 1.0
2087
2088References
2089
2090 1. http://www.gnu.org/
2091 2. http://gcc.gnu.org/gcc-3.2/changes.html
2092 3. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.3
2093 4. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.2
2094 5. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.1
2095 6. http://gcc.gnu.org/gcc-3.2/changes.html#3.2
2096 7. http://gcc.gnu.org/gcc-3.2/buildstat.html
2097 8. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
2098 9. http://gcc.gnu.org/index.html
2099 10. mailto:gcc@gcc.gnu.org
2100 11. http://gcc.gnu.org/mirrors.html
2101 12. http://www.gnu.org/order/ftp.html
2102 13. http://gcc.gnu.org/cvs.html
2103 14. mailto:gnu@gnu.org
2104 15. http://www.gnu.org/home.html#ContactInfo
2105 16. http://gcc.gnu.org/about.html
2106 17. http://gcc.gnu.org/onlinedocs/
2107 18. mailto:gcc-help@gcc.gnu.org
2108 19. mailto:gcc@gnu.org
2109 20. mailto:gcc@gcc.gnu.org
2110 21. http://gcc.gnu.org/lists.html
2111 22. http://validator.w3.org/check/referer
2112======================================================================
2113http://gcc.gnu.org/gcc-3.2/changes.html
2114
2115 GCC 3.2 Release Series
2116 Changes, New Features, and Fixes
2117
2118 The latest release in the 3.2 release series is [1]GCC 3.2.3.
2119
2120Caveats and New Features
2121
2122 Caveats
2123
2124 * The C++ compiler does not correctly zero-initialize
2125 pointers-to-data members. You must explicitly initialize them. For
2126 example: int S::*m(0); will work, but depending on
2127 default-initialization to zero will not work. This bug cannot be
2128 fixed in GCC 3.2 without inducing unacceptable risks. It will be
2129 fixed in GCC 3.3.
2130 * This GCC release is based on the GCC 3.1 sourcebase, and thus has
2131 all the [2]changes in the GCC 3.1 series. In addition, GCC 3.2 has
2132 a number of C++ ABI fixes which make its C++ compiler generate
2133 binary code which is incompatible with the C++ compilers found in
2134 earlier GCC releases, including GCC 3.1 and GCC 3.1.1.
2135
2136 Frontend Enhancements
2137
2138 C/C++/Objective-C
2139
2140 * The method of constructing the list of directories to be searched
2141 for header files has been revised. If a directory named by a -I
2142 option is a standard system include directory, the option is
2143 ignored to ensure that the default search order for system
2144 directories and the special treatment of system header files are
2145 not defeated.
2146 * The C and Objective-C compilers no longer accept the "Naming
2147 Types" extension (typedef foo = bar); it was already unavailable
2148 in C++. Code which uses it will need to be changed to use the
2149 "typeof" extension instead: typedef typeof(bar) foo. (We have
2150 removed this extension without a period of deprecation because it
2151 has caused the compiler to crash since version 3.0 and no one
2152 noticed until very recently. Thus we conclude it is not in
2153 widespread use.)
2154
2155 C++
2156
2157 * GCC 3.2 fixed serveral differences between the C++ ABI implemented
2158 in GCC and the multi-vendor standard, but more have been found
2159 since the release. 3.2.1 adds a new warning, -Wabi, to warn about
2160 code which is affected by these bugs. We will fix these bugs in
2161 some future release, once we are confident that all have been
2162 found; until then, it is our intention to make changes to the ABI
2163 only if they are necessary for correct compilation of C++, as
2164 opposed to conformance to the ABI documents.
2165 * For details on how to build an ABI compliant compiler for
2166 GNU/Linux systems, check the [3]common C++ ABI page.
2167
2168 New Targets and Target Specific Improvements
2169
2170 IA-32
2171
2172 * Fixed a number of bugs in SSE and MMX intrinsics.
2173 * Fixed common compiler crashes with SSE instruction set enabled
2174 (implied by -march=pentium3, pentium4, athlon-xp)
2175 * __m128 and __m128i is not 128bit aligned when used in structures.
2176
2177 x86-64
2178
2179 * A bug whereby the compiler could generate bad code for bzero has
2180 been fixed.
2181 * ABI fixes (implying ABI incompatibilities with previous version in
2182 some corner cases)
2183 * Fixed prefetch code generation
2184 _________________________________________________________________
2185
2186GCC 3.2.3
2187
2188 3.2.3 is a bug fix release only; there are no new features that were
2189 not present in GCC 3.2.2.
2190
2191 Bug Fixes
2192
2193 This section lists the problem reports (PRs) from GCC's bug tracking
2194 system that are known to be fixed in the 3.2.3 release. This list
2195 might not be complete (that is, it is possible that some PRs that have
2196 been fixed are not listed here), and some of the titles have been
2197 changed to make them more clear.
2198
2199 Internal Compiler Errors (multi-platform)
2200
2201 * [4]3782: (c++) -quiet -fstats produces a segmentation fault in
2202 cc1plus
2203 * [5]6440: (c++) template specializations cause ICE
2204 * [6]7050: (c++) ICE on: (i ? get_string() : throw)
2205 * [7]7741: ICE on conflicting types (make_decl_rtl in varasm.c)
2206 * [8]7982: (c++) ICE due to infinite recursion (using STL set)
2207 * [9]8068: exceedingly high (infinite) memory usage
2208 * [10]8178: ICE with __builtin_ffs
2209 * [11]8396: ICE in copy_to_mode_reg, in explow.c
2210 * [12]8674: (c++) ICE in cp_expr_size, in cp/cp-lang.c
2211 * [13]9768: ICE when optimizing inline code at -O2
2212 * [14]9798: (c++) Infinite recursion (segfault) in
2213 cp/decl.c:push_using_directive with recursive using directives
2214 * [15]9799: mismatching structure initializer with nested flexible
2215 array member: ICE
2216 * [16]9928: ICE on duplicate enum declaration
2217 * [17]10114: ICE in mem_loc_descriptor, in dwarf2out.c (affects
2218 sparc, alpha)
2219 * [18]10352: ICE in find_reloads_toplev
2220 * [19]10336: ICE with -Wunreachable-code
2221
2222 C/optimizer bugs:
2223
2224 * [20]8224: Incorrect joining of signed and unsigned division
2225 * [21]8613: -O2 produces wrong code with builtin strlen and
2226 postincrements
2227 * [22]8828: gcc reports some code is unreachable when it is not
2228 * [23]9226: GCSE breaking argument passing
2229 * [24]9853: miscompilation of non-constant structure initializer
2230 * [25]9797: C99-style struct initializers are miscompiled
2231 * [26]9967: Some standard C function calls should not be replaced
2232 when optimizing for size
2233 * [27]10116: ce2: invalid merge of join_bb in the context of switch
2234 statements
2235 * [28]10171: wrong code for inlined function
2236 * [29]10175: -Wunreachable-code doesn't work for single lines
2237
2238 C++ compiler and library:
2239
2240 * [30]8316: Confusing diagnostic for code that misuses conversion
2241 operators
2242 * [31]9169: filebuf output fails if codecvt<>::out returns noconv
2243 * [32]9420: incomplete type incorrectly reported
2244 * [33]9459: typeof in return type specification of template not
2245 supported
2246 * [34]9507: filebuf::open handles ios_base::ate incorrectly
2247 * [35]9538: Out-of-bounds memory access in streambuf::sputbackc
2248 * [36]9602: Total confusion about template/friend/virtual/abstract
2249 * [37]9993: destructor not called for local object created within
2250 and returned from infinite loop
2251 * [38]10167: ieee_1003.1-2001 locale specialisations on a
2252 glibc-2.3.2 system
2253
2254 Java compiler and library:
2255
2256 * [39]9652: libgcj build fails on irix6.5.1[78]
2257 * [40]10144: gas on solaris complains about bad .stabs lines for
2258 java, native as unaffected
2259
2260 x86-specific (Intel/AMD):
2261
2262 * [41]8746: gcc miscompiles Linux kernel ppa driver on x86
2263 * [42]9888: -mcpu=k6 -Os produces out of range loop instructions
2264 * [43]9638: Cross-build for target i386-elf and i586-pc-linux-gnu
2265 failed
2266 * [44]9954: Cross-build for target i586-pc-linux-gnu (--with-newlib)
2267 failed
2268
2269 Sparc-specific:
2270
2271 * [45]7784: [Sparc] ICE in extract_insn, in recog.c
2272 * [46]7796: sparc extra failure with -m64 on execute/930921-1.c in
2273 unroll.c
2274 * [47]8281: ICE when compiling with -O2 -fPIC for Ultrasparc
2275 * [48]8366: [Sparc] C testsuite failure with -m64 -fpic -O in
2276 execute/loop-2d.c
2277 * [49]8726: gcc -O2 miscompiles Samba 2.2.7 on 32-bit sparc
2278 * [50]9414: Scheduling bug on Ultrasparc
2279 * [51]10067: GCC-3.2.2 outputs invalid asm on sparc64
2280
2281 m68k-specific:
2282
2283 * [52]7248: broken "inclusive or" code
2284 * [53]8343: m68k-elf/rtems ICE at instantiate_virtual_regs_1
2285
2286 PowerPC-specific:
2287
2288 * [54]9732: Wrong code with -O2 -fPIC
2289 * [55]10073: ICE: powerpc cannot split insn
2290
2291 Alpha-specific:
2292
2293 * [56]7702: optimization problem on a DEC alpha under OSF1
2294 * [57]9671: gcc.3.2.2 does not build on a HP Tru64 Unix v5.1B system
2295
2296 HP-specific:
2297
2298 * [58]8694: <string> breaks <ctype.h> on HP-UX 10.20 (DUP: 9275)
2299 * [59]9953: (ada) gcc 3.2.x can't build 3.3-branch ada on HP-UX 10
2300 (missing symbol)
2301 * [60]10271: Floating point args don't get reloaded across function
2302 calls with -O2
2303
2304 MIPS specific:
2305
2306 * [61]6362: mips-irix6 gcc-3.1 C testsuite failure with -mips4 in
2307 compile/920501-4.c
2308
2309 CRIS specific:
2310
2311 * [62]10377: gcc-3.2.2 creates bad assembler code for cris
2312
2313 Miscellaneous and minor bugs:
2314
2315 * [63]6955: collect2 says "core dumped" when there is no core
2316 _________________________________________________________________
2317
2318GCC 3.2.2
2319
2320 Beginning with 3.2.2, GCC's Makefile suite supports redirection of
2321 make install by means of the DESTDIR variable. Parts of the GCC tree
2322 have featured that support long before, but now it is available even
2323 from the top level.
2324
2325 Other than that, GCC 3.2.2 is a bug fix release only; there are no new
2326 features that were not present in GCC 3.2.1.
2327
2328 Bug Fixes
2329
2330 On the following i386-based systems GCC 3.2.1 broke the C ABI wrt.
2331 functions returning structures: Cygwin, FreeBSD (GCC 3.2.1 as shipped
2332 with FreeBSD 5.0 does not have this problem), Interix, a.out-based
2333 Linux and NetBSD, OpenBSD, and Darwin. GCC 3.2.2 reverts this ABI
2334 change, and thus restores ABI-compatibility with previous releases
2335 (except GCC 3.2.1) on these platforms.
2336
2337 This section lists the problem reports (PRs) from GCC's bug tracking
2338 system that are known to be fixed in the 3.2.2 release. This list
2339 might not be complete (that is, it is possible that some PRs that have
2340 been fixed are not listed here) and some of the titles have been
2341 changed to make them more clear.
2342
2343 Internal Compiler Errors (multi-platform)
2344
2345 * [64]5919: (c++) ICE when passing variable array to template
2346 function
2347 * [65]7129: (c++) ICE with min/max assignment operators (<?= and
2348 >?=)
2349 * [66]7507: ICE with -O2 when address of called function is a
2350 complicated expression
2351 * [67]7622: ICE with nested inline functions if function's address
2352 is taken
2353 * [68]7681: (fortran) ICE in compensate_edge, in reg-stack.c (also
2354 PR [69]9258)
2355 * [70]8031: (c++) ICE in code comparing typeids and casting from
2356 virtual base
2357 * [71]8275: ICE in simplify_subreg
2358 * [72]8332: (c++) builtin strlen/template interaction causes ICE
2359 * [73]8372: (c++) ICE on explicit call of destructor
2360 * [74]8439: (c, not c++) empty struct causes ICE
2361 * [75]8442: (c++) ICE with nested template classes
2362 * [76]8518: ICE when compiling mplayer ("extern inline" issue)
2363 * [77]8615: (c++) ICE with out-of-range character constant template
2364 argument
2365 * [78]8663: (c++) ICE in cp_expr_size, at cp-lang.c:307
2366 * [79]8799: (c++) ICE: error reporting routines re-entered
2367 * [80]9328: (c++) ICE with typeof(X) for overloaded X
2368 * [81]9465: (preprocessor) cpp -traditional ICE on null bytes
2369
2370 C++ (compiler and library) bugs
2371
2372 * [82]47: scoping in nested classes is broken
2373 * [83]6745: problems with iostream rdbuf() member function
2374 * [84]8214: conversion from const char* const to char* sometimes
2375 accepted illegally
2376 * [85]8493: builtin strlen and overload resolution (same bug as
2377 [86]8332)
2378 * [87]8503: strange behaviour of function types
2379 * [88]8727: compiler confused by inheritance from an anonymous
2380 struct
2381 * [89]7445: poor performance of std::locale::classic() in
2382 multi-threaded applications
2383 * [90]8230: mishandling of overflow in vector<T>::resize
2384 * [91]8399: sync_with_stdio(false) breaks unformatted input
2385 * [92]8662: illegal access of private member of unnamed class is
2386 accepted
2387 * [93]8707: "make distclean" fails in libstdc++-v3 directory
2388 * [94]8708: __USE_MALLOC doesn't work
2389 * [95]8790: Use of non-thread-safe strtok in src/localename.cc
2390 * [96]8887: Bug in date formats with --enable-clocale=generic
2391 * [97]9076: Call Frame Instructions are not handled correctly during
2392 unwind operation
2393 * [98]9151: std::setprecision limited to 16 digits when outputting a
2394 double to a stream
2395 * [99]9168: codecvt<char, char, mbstate_t> overwrites output buffers
2396 * [100]9269: libstdc++ headers: explicit specialization of function
2397 must precede its first use
2398 * [101]9322: return value of basic_streambuf<>::getloc affected by
2399 locale::global
2400 * [102]9433: segfault in runtime support for dynamic_cast
2401
2402 C and optimizer bugs
2403
2404 * [103]8032: GCC incorrectly initializes static structs that have
2405 flexible arrays
2406 * [104]8639: simple arithmetic expression broken
2407 * [105]8794: optimization improperly eliminates certain expressions
2408 * [106]8832: traditional "asm volatile" code is illegally optimized
2409 * [107]8988: loop optimizer bug: with -O2, code is generated that
2410 segfaults (found on i386, bug present for all platforms)
2411 * [108]9492: structure copy clobbers subsequent stores to structure
2412
2413 Objective-C bugs
2414
2415 * [109]9267: Objective-C parser won't build with newer bison
2416 versions (e.g. 1.875)
2417
2418 Ada bugs
2419
2420 * [110]8344: Ada build problem due to conflict between gcc/final.o,
2421 gcc/ada/final.o
2422
2423 Preprocessor bugs
2424
2425 * [111]8524: _Pragma within macros is improperly expanded
2426 * [112]8880: __WCHAR_TYPE__ macro incorrectly set to "long int" with
2427 -fshort-wchar
2428
2429 ARM-specific
2430
2431 * [113]9090: arm ICE with >= -O2; regression from gcc-2.95
2432
2433 x86-specific (Intel/AMD)
2434
2435 * [114]8588: ICE in extract_insn, at recog.c:NNNN (shift
2436 instruction)
2437 * [115]8599: loop unroll bug with -march=k6-3
2438 * [116]9506: ABI breakage in structure return (affects BSD and
2439 Cygwin, but not GNU/Linux)
2440
2441 FreeBSD 5.0 specific
2442
2443 * [117]9484: GCC 3.2.1 Bootstrap failure on FreeBSD 5.0
2444
2445 RTEMS-specific
2446
2447 * [118]9292: hppa1.1-rtems configurery problems
2448 * [119]9293: [m68k-elf/rtems] config/m68k/t-crtstuff bug
2449 * [120]9295: [mips-rtems] config/mips/rtems.h init/fini issue
2450 * [121]9296: gthr-rtems regression
2451 * [122]9316: powerpc-rtems: extending multilibs
2452
2453 HP-PA specific
2454
2455 * [123]9493: ICE with -O2 when building a simple function
2456
2457 Documentation
2458
2459 * [124]7341: hyperlink to gcov in GCC documentation doesn't work
2460 * [125]8947: Please add a warning about "-malign-double" in docs
2461 * [126]7448, [127]8882: typo cleanups
2462 _________________________________________________________________
2463
2464GCC 3.2.1
2465
2466 3.2.1 adds a new warning, -Wabi. This option warns when GNU C++
2467 generates code that is known not to be binary-compatible with the
2468 vendor-neutral ia32/ia64 ABI. Please consult the GCC manual, included
2469 in the distribution, for details.
2470
2471 This release also removes an old GCC extension, "naming types", and
2472 the documentation now directs users to use a different GCC extension,
2473 __typeof__, instead. The feature had evidently been broken for a
2474 while.
2475
2476 Otherwise, 3.2.1 is a bug fix release only; other than bug fixes and
2477 the new warning there are no new features that were not present in GCC
2478 3.2.
2479
2480 In addition, the previous fix for [128]PR 7445 (poor performance of
2481 std::locale::classic() in multi-threaded applications) was reverted
2482 ("unfixed"), because the "fix" was not thread-safe.
2483
2484 Bug Fixes
2485
2486 This section lists the problem reports (PRs) from GCC's bug tracking
2487 system that are known to be fixed in the 3.2.1 release. This list
2488 might not be complete (that is, it is possible that some PRs that have
2489 been fixed are not listed here). As you can see, the number of bug
2490 fixes is quite large, so it is strongly recommended that users of
2491 earlier GCC 3.x releases upgrade to GCC 3.2.1.
2492
2493 Internal Compiler Errors (multi-platform)
2494
2495 * [129]2521: (c++) ICE in build_ptrmemfunc, in cp/typeck.c
2496 * [130]5661: (c++) ICE instantiating template on array of unknown
2497 size (bad code)
2498 * [131]6419: (c++) ICE in make_decl_rtl for "longest" attribute on
2499 64-bit platforms
2500 * [132]6994: (c++) ICE in find_function_data
2501 * [133]7150: preprocessor: GCC -dM -E gives an ICE
2502 * [134]7160: ICE when optimizing branches without a return value
2503 * [135]7228: (c++) ICE when using member template and template
2504 function
2505 * [136]7266: (c++) ICE with -pedantic on missing typename
2506 * [137]7353: ICE from use of "Naming Types" extension, see above
2507 * [138]7411: ICE in instantiate_virtual_regs_1, in function.c
2508 * [139]7478: (c++) ICE on static_cast inside template
2509 * [140]7526: preprocessor core dump when _Pragma implies #pragma
2510 dependency
2511 * [141]7721: (c++) ICE on simple (but incorrect) template ([142]7803
2512 is a duplicate)
2513 * [143]7754: (c++) ICE on union with template parameter
2514 * [144]7788: (c++) redeclaring a definition as an incomplete class
2515 causes ICE
2516 * [145]8031: (c++) ICE in comptypes, in cp/typeck.c
2517 * [146]8055: preprocessor dies with SIG11 when building FreeBSD
2518 kernel
2519 * [147]8067: (c++) ICE due to mishandling of __FUNCTION__ and
2520 related variables
2521 * [148]8134: (c++) ICE in force_store_init_value on legal code
2522 * [149]8149: (c++) ICE on incomplete type
2523 * [150]8160: (c++) ICE in build_modify_expr, in cp/typeck.c: array
2524 initialization
2525
2526 C++ (compiler and library) bugs
2527
2528 * [151]5607: No pointer adjustment in covariant return types
2529 * [152]6579: Infinite loop with statement expressions in member
2530 initialization
2531 * [153]6803: Default copy constructor bug in GCC 3.1
2532 * [154]7176: g++ confused by friend and static member with same name
2533 * [155]7188: Segfault with template class and recursive (incorrect)
2534 initializer list
2535 * [156]7306: Regression: GCC 3.x fails to compile code with virtual
2536 inheritance if a method has a variable number of arguments
2537 * [157]7461: ctype<char>::classic_table() returns offset array on
2538 Cygwin
2539 * [158]7524: f(const float arg[3]) fails
2540 * [159]7584: Erroneous ambiguous base error on using declaration
2541 * [160]7676: Member template overloading problem
2542 * [161]7679: infinite loop when a right parenthesis is missing
2543 * [162]7811: default locale not taken from environment
2544 * [163]7961: compare( char *) implemented incorrectly in
2545 basic_string<>
2546 * [164]8071: basic_ostream::operator<<(streambuf*) loops forever if
2547 streambuf::underflow() leaves gptr() NULL (dups: [165]8127,
2548 [166]6745)
2549 * [167]8096: deque::at() throws std::range_error instead of
2550 std::out_of_range
2551 * [168]8127: cout << cin.rdbuf() infinite loop
2552 * [169]8218: Excessively large memory consumed for classes with
2553 large array members
2554 * [170]8287: GCC 3.2: Destructor called for non-constructed local
2555 object
2556 * [171]8347: empty vector range used in string construction causes
2557 core dump
2558 * [172]8348: fail() flag is set in istringstream when eof() flag is
2559 set
2560 * [173]8391: regression: infinite loop in cp/decl2.c(finish_file)
2561
2562 C and optimizer bugs
2563
2564 * [174]6627: -fno-align-functions doesn't seem to disable function
2565 alignment
2566 * [175]6631: life_analysis misoptimizes code to initialize fields of
2567 a structure
2568 * [176]7102: unsigned char division results in floating exception
2569 * [177]7120: Run once loop should *always* be unrolled
2570 (pessimization)
2571 * [178]7209: Bug involving array referencing and ?: operator
2572 * [179]7515: invalid inlining of global function with -O3
2573 * [180]7814: incorrect scheduling for glibc-2.2.92 strcpy test
2574 * [181]8467: bug in sibling call optimization
2575
2576 Preprocessor bugs
2577
2578 * [182]4890: incorrect line markers from the traditional
2579 preprocessor
2580 * [183]7357: -M option omits system headers files (making it the
2581 same as -MM)
2582 * [184]7358: Changes to Sun's make Dependencies
2583 * [185]7602: C++ header files found in CPLUS_INCLUDE_PATH treated as
2584 C headers
2585 * [186]7862: Interrupting GCC -MD removes .d file but not .o
2586 * [187]8190: Failed compilation deletes -MD dependency file
2587 * [188]8524: _Pragma within macro is improperly expanded
2588
2589 x86 specific (Intel/AMD)
2590
2591 * [189]5351: (i686-only) function pass-by-value structure copy
2592 corrupts stack ([190]7591 is a duplicate)
2593 * [191]6845, [192]7034, [193]7124, [194]7174: ICE's with
2594 -march=pentium3/pentium2/athlon (these are all the same underlying
2595 bug, in MMX register use)
2596 * [195]7134, [196]7375, [197]7390: ICE with -march=athlon (maybe
2597 same as above?)
2598 * [198]6890: xmmintrin.h, _MM_TRANSPOSE4_PS is broken
2599 * [199]6981: wrong code in 64-bit manipulation on x86
2600 * [200]7242: GCC -mcpu=pentium[23] doesn't define
2601 __tune_pentiumpro__ macro
2602 * [201]7396: ix86: cmpgt_ss, cmpge_ss, cmpngt_ss, and cmpnge_ss SSE
2603 intrinsics are broken
2604 * [202]7630: GCC 3.2 breaks on Mozilla 1.0's JS sources with
2605 -march=pentium4
2606 * [203]7693: Typo in i386 mmintrin.h header
2607 * [204]7723: ICE - Pentium3 sse - GCC 3.2
2608 * [205]7951: ICE on -march=pentium4 -O2 -mfpmath=sse
2609 * [206]8146: (i686 only) gcc 3.2 miscompiles gcc 2.95.3
2610
2611 PowerPC specific
2612
2613 * [207]5967: GCC bug when profiling nested functions on powerpc
2614 * [208]6984: wrong code generated with -O2, -O3, -Os for do-while
2615 loop on PowerPC
2616 * [209]7114: PowerPC: ICE building strcoll.op from glibc-2.2.5
2617 * [210]7130: miscompiled code for GCC-3.1 in powerpc linux with
2618 -funroll-all-loops
2619 * [211]7133: PowerPC ICE: unrecognizable insn
2620 * [212]7380: ICE in extract_insn, at recog.c:2148
2621 * [213]8252: ICE on Altivec code with optimization turned on
2622 * [214]8451: Altivec ICE in GCC 3.2
2623
2624 HP/PA specific
2625
2626 * [215]7250: __ashrdi3 returns wrong value on 32 bit hppa
2627
2628 SPARC specific
2629
2630 * [216]6668: when using --disable-multilib, libgcc_s.so is installed
2631 in the wrong place on sparc-solaris
2632 * [217]7151: ICE when compiling for UltraSPARC
2633 * [218]7335: SPARC: ICE in verify_wide_reg (flow.c:557) with long
2634 double and -O1
2635 * [219]7842: [REGRESSION] SPARC code gen bug
2636
2637 ARM specific
2638
2639 * [220]7856: [arm] invalid offset in constant pool reference
2640 * [221]7967: optimization produces wrong code (ARM)
2641
2642 Alpha specific
2643
2644 * [222]7374: __builtin_fabsl broken on alpha
2645
2646 IBM s390 specific
2647
2648 * [223]7370: ICE in fixup_var_refs_1 on s390x
2649 * [224]7409: loop optimization bug on s390x-linux-gnu
2650 * [225]8232: s390x: ICE when using bcmp with int length argument
2651
2652 SCO specific
2653
2654 * [226]7623: SCO OpenServer build fails with machmode.def: undefined
2655 symbol: BITS_PER_UNIT
2656
2657 m68k/Coldfire specific
2658
2659 * [227]8314: crtbegin, crtend need to be multilib'ed for this
2660 platform
2661
2662 Documentation
2663
2664 * [228]761: Document some undocumented options
2665 * [229]5610: Fix documentation about invoking SSE instructions
2666 (-mfpmath=sse)
2667 * [230]7484: List -Wmissing-declarations as C-only option
2668 * [231]7531: -mcmodel not documented for x86-64
2669 * [232]8120: Update documentation of bad use of ##
2670 _________________________________________________________________
2671
2672GCC 3.2
2673
2674 3.2 is a small bug fix release, but there is a change to the
2675 application binary interface (ABI), hence the change to the second
2676 part of the version number.
2677
2678 The main purpose of the 3.2 release is to correct a couple of problems
2679 in the C++ ABI, with the intention of providing a stable interface
2680 going forward. Accordingly, 3.2 is only a small change to 3.1.1.
2681
2682 Bug Fixes
2683
2684 C++
2685
2686 * [233]7320: g++ 3.2 relocation problem
2687 * [234]7470: vtable: virtual function pointers not in declaration
2688 order
2689
2690 libstdc++
2691
2692 * [235]6410: Trouble with non-ASCII monetary symbols and wchar_t
2693 * [236]6503, [237]6642, [238]7186: Problems with comparing or
2694 subtracting various types of const and non-const iterators
2695 * [239]7216: ambiguity with basic_iostream::traits_type
2696 * [240]7220: problem with basic_istream::ignore(0,delimiter)
2697 * [241]7222: locale::operator==() doesn't work on std::locale("")
2698 * [242]7286: placement operator delete issue
2699 * [243]7442: cxxabi.h does not match the C++ ABI
2700 * [244]7445: poor performance of std::locale::classic() in
2701 multi-threaded applications
2702
2703 x86-64 specific
2704
2705 * [245]7291: off-by-one in generated inline bzero code for x86-64
2706 _________________________________________________________________
2707
2708 Please send FSF & GNU inquiries & questions to [246]gnu@gnu.org. There
2709 are also [247]other ways to contact the FSF.
2710
2711 These pages are maintained by [248]the GCC team.
2712
2713
2714 For questions related to the use of GCC, please consult these web
2715 pages and the [249]GCC manuals. If that fails, the
2716 [250]gcc-help@gcc.gnu.org mailing list might help.
2717 Please send comments on these web pages and the development of GCC
2718 to our developer mailing list at [251]gcc@gnu.org or
2719 [252]gcc@gcc.gnu.org. All of our lists have [253]public archives.
2720
2721 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
2722 330, Boston, MA 02111, USA.
2723
2724 Verbatim copying and distribution of this entire article is permitted
2725 in any medium, provided this notice is preserved.
2726
2727 Last modified 2004-08-30 [254]Valid XHTML 1.0
2728
2729References
2730
2731 1. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.3
2732 2. http://gcc.gnu.org/gcc-3.1/changes.html
2733 3. http://gcc.gnu.org/gcc-3.2/c++-abi.html
2734 4. http://gcc.gnu.org/PR3782
2735 5. http://gcc.gnu.org/PR6440
2736 6. http://gcc.gnu.org/PR7050
2737 7. http://gcc.gnu.org/PR7741
2738 8. http://gcc.gnu.org/PR7982
2739 9. http://gcc.gnu.org/PR8068
2740 10. http://gcc.gnu.org/PR8178
2741 11. http://gcc.gnu.org/PR8396
2742 12. http://gcc.gnu.org/PR8674
2743 13. http://gcc.gnu.org/PR9768
2744 14. http://gcc.gnu.org/PR9798
2745 15. http://gcc.gnu.org/PR9799
2746 16. http://gcc.gnu.org/PR9928
2747 17. http://gcc.gnu.org/PR10114
2748 18. http://gcc.gnu.org/PR10352
2749 19. http://gcc.gnu.org/PR10336
2750 20. http://gcc.gnu.org/PR8224
2751 21. http://gcc.gnu.org/PR8613
2752 22. http://gcc.gnu.org/PR8828
2753 23. http://gcc.gnu.org/PR9226
2754 24. http://gcc.gnu.org/PR9853
2755 25. http://gcc.gnu.org/PR9797
2756 26. http://gcc.gnu.org/PR9967
2757 27. http://gcc.gnu.org/PR10116
2758 28. http://gcc.gnu.org/PR10171
2759 29. http://gcc.gnu.org/PR10175
2760 30. http://gcc.gnu.org/PR8316
2761 31. http://gcc.gnu.org/PR9169
2762 32. http://gcc.gnu.org/PR9420
2763 33. http://gcc.gnu.org/PR9459
2764 34. http://gcc.gnu.org/PR9507
2765 35. http://gcc.gnu.org/PR9538
2766 36. http://gcc.gnu.org/PR9602
2767 37. http://gcc.gnu.org/PR9993
2768 38. http://gcc.gnu.org/PR10167
2769 39. http://gcc.gnu.org/PR9652
2770 40. http://gcc.gnu.org/PR10144
2771 41. http://gcc.gnu.org/PR8746
2772 42. http://gcc.gnu.org/PR9888
2773 43. http://gcc.gnu.org/PR9638
2774 44. http://gcc.gnu.org/PR9954
2775 45. http://gcc.gnu.org/PR7784
2776 46. http://gcc.gnu.org/PR7796
2777 47. http://gcc.gnu.org/PR8281
2778 48. http://gcc.gnu.org/PR8366
2779 49. http://gcc.gnu.org/PR8726
2780 50. http://gcc.gnu.org/PR9414
2781 51. http://gcc.gnu.org/PR10067
2782 52. http://gcc.gnu.org/PR7248
2783 53. http://gcc.gnu.org/PR8343
2784 54. http://gcc.gnu.org/PR9732
2785 55. http://gcc.gnu.org/PR10073
2786 56. http://gcc.gnu.org/PR7702
2787 57. http://gcc.gnu.org/PR9671
2788 58. http://gcc.gnu.org/PR8694
2789 59. http://gcc.gnu.org/PR9953
2790 60. http://gcc.gnu.org/PR10271
2791 61. http://gcc.gnu.org/PR6362
2792 62. http://gcc.gnu.org/PR10377
2793 63. http://gcc.gnu.org/PR6955
2794 64. http://gcc.gnu.org/PR5919
2795 65. http://gcc.gnu.org/PR7129
2796 66. http://gcc.gnu.org/PR7507
2797 67. http://gcc.gnu.org/PR7622
2798 68. http://gcc.gnu.org/PR7681
2799 69. http://gcc.gnu.org/PR9528
2800 70. http://gcc.gnu.org/PR8031
2801 71. http://gcc.gnu.org/PR8275
2802 72. http://gcc.gnu.org/PR8332
2803 73. http://gcc.gnu.org/PR8372
2804 74. http://gcc.gnu.org/PR8439
2805 75. http://gcc.gnu.org/PR8442
2806 76. http://gcc.gnu.org/PR8518
2807 77. http://gcc.gnu.org/PR8615
2808 78. http://gcc.gnu.org/PR8663
2809 79. http://gcc.gnu.org/PR8799
2810 80. http://gcc.gnu.org/PR9328
2811 81. http://gcc.gnu.org/PR9465
2812 82. http://gcc.gnu.org/PR47
2813 83. http://gcc.gnu.org/PR6745
2814 84. http://gcc.gnu.org/PR8214
2815 85. http://gcc.gnu.org/PR8493
2816 86. http://gcc.gnu.org/PR8332
2817 87. http://gcc.gnu.org/PR8503
2818 88. http://gcc.gnu.org/PR8727
2819 89. http://gcc.gnu.org/PR7445
2820 90. http://gcc.gnu.org/PR8230
2821 91. http://gcc.gnu.org/PR8399
2822 92. http://gcc.gnu.org/PR8662
2823 93. http://gcc.gnu.org/PR8707
2824 94. http://gcc.gnu.org/PR8708
2825 95. http://gcc.gnu.org/PR8790
2826 96. http://gcc.gnu.org/PR8887
2827 97. http://gcc.gnu.org/PR9076
2828 98. http://gcc.gnu.org/PR9151
2829 99. http://gcc.gnu.org/PR9168
2830 100. http://gcc.gnu.org/PR9269
2831 101. http://gcc.gnu.org/PR9322
2832 102. http://gcc.gnu.org/PR9433
2833 103. http://gcc.gnu.org/PR8032
2834 104. http://gcc.gnu.org/PR8639
2835 105. http://gcc.gnu.org/PR8794
2836 106. http://gcc.gnu.org/PR8832
2837 107. http://gcc.gnu.org/PR8988
2838 108. http://gcc.gnu.org/PR9492
2839 109. http://gcc.gnu.org/PR9267
2840 110. http://gcc.gnu.org/PR8344
2841 111. http://gcc.gnu.org/PR8524
2842 112. http://gcc.gnu.org/PR8880
2843 113. http://gcc.gnu.org/PR9090
2844 114. http://gcc.gnu.org/PR8588
2845 115. http://gcc.gnu.org/PR8599
2846 116. http://gcc.gnu.org/PR9506
2847 117. http://gcc.gnu.org/PR9484
2848 118. http://gcc.gnu.org/PR9292
2849 119. http://gcc.gnu.org/PR9293
2850 120. http://gcc.gnu.org/PR9295
2851 121. http://gcc.gnu.org/PR9296
2852 122. http://gcc.gnu.org/PR9316
2853 123. http://gcc.gnu.org/PR9493
2854 124. http://gcc.gnu.org/PR7341
2855 125. http://gcc.gnu.org/PR8947
2856 126. http://gcc.gnu.org/PR7448
2857 127. http://gcc.gnu.org/PR8882
2858 128. http://gcc.gnu.org/PR7445
2859 129. http://gcc.gnu.org/PR2521
2860 130. http://gcc.gnu.org/PR5661
2861 131. http://gcc.gnu.org/PR6419
2862 132. http://gcc.gnu.org/PR6994
2863 133. http://gcc.gnu.org/PR7150
2864 134. http://gcc.gnu.org/PR7160
2865 135. http://gcc.gnu.org/PR7228
2866 136. http://gcc.gnu.org/PR7266
2867 137. http://gcc.gnu.org/PR7353
2868 138. http://gcc.gnu.org/PR7411
2869 139. http://gcc.gnu.org/PR7478
2870 140. http://gcc.gnu.org/PR7526
2871 141. http://gcc.gnu.org/PR7721
2872 142. http://gcc.gnu.org/PR7803
2873 143. http://gcc.gnu.org/PR7754
2874 144. http://gcc.gnu.org/PR7788
2875 145. http://gcc.gnu.org/PR8031
2876 146. http://gcc.gnu.org/PR8055
2877 147. http://gcc.gnu.org/PR8067
2878 148. http://gcc.gnu.org/PR8134
2879 149. http://gcc.gnu.org/PR8149
2880 150. http://gcc.gnu.org/PR8160
2881 151. http://gcc.gnu.org/PR5607
2882 152. http://gcc.gnu.org/PR6579
2883 153. http://gcc.gnu.org/PR6803
2884 154. http://gcc.gnu.org/PR7176
2885 155. http://gcc.gnu.org/PR7188
2886 156. http://gcc.gnu.org/PR7306
2887 157. http://gcc.gnu.org/PR7461
2888 158. http://gcc.gnu.org/PR7524
2889 159. http://gcc.gnu.org/PR7584
2890 160. http://gcc.gnu.org/PR7676
2891 161. http://gcc.gnu.org/PR7679
2892 162. http://gcc.gnu.org/PR7811
2893 163. http://gcc.gnu.org/PR7961
2894 164. http://gcc.gnu.org/PR8071
2895 165. http://gcc.gnu.org/PR8127
2896 166. http://gcc.gnu.org/PR6745
2897 167. http://gcc.gnu.org/PR8096
2898 168. http://gcc.gnu.org/PR8127
2899 169. http://gcc.gnu.org/PR8218
2900 170. http://gcc.gnu.org/PR8287
2901 171. http://gcc.gnu.org/PR8347
2902 172. http://gcc.gnu.org/PR8348
2903 173. http://gcc.gnu.org/PR8391
2904 174. http://gcc.gnu.org/PR6627
2905 175. http://gcc.gnu.org/PR6631
2906 176. http://gcc.gnu.org/PR7102
2907 177. http://gcc.gnu.org/PR7120
2908 178. http://gcc.gnu.org/PR7209
2909 179. http://gcc.gnu.org/PR7515
2910 180. http://gcc.gnu.org/PR7814
2911 181. http://gcc.gnu.org/PR8467
2912 182. http://gcc.gnu.org/PR4890
2913 183. http://gcc.gnu.org/PR7357
2914 184. http://gcc.gnu.org/PR7358
2915 185. http://gcc.gnu.org/PR7602
2916 186. http://gcc.gnu.org/PR7862
2917 187. http://gcc.gnu.org/PR8190
2918 188. http://gcc.gnu.org/PR8524
2919 189. http://gcc.gnu.org/PR5351
2920 190. http://gcc.gnu.org/PR7591
2921 191. http://gcc.gnu.org/PR6845
2922 192. http://gcc.gnu.org/PR7034
2923 193. http://gcc.gnu.org/PR7124
2924 194. http://gcc.gnu.org/PR7174
2925 195. http://gcc.gnu.org/PR7134
2926 196. http://gcc.gnu.org/PR7375
2927 197. http://gcc.gnu.org/PR7390
2928 198. http://gcc.gnu.org/PR6890
2929 199. http://gcc.gnu.org/PR6981
2930 200. http://gcc.gnu.org/PR7242
2931 201. http://gcc.gnu.org/PR7396
2932 202. http://gcc.gnu.org/PR7630
2933 203. http://gcc.gnu.org/PR7693
2934 204. http://gcc.gnu.org/PR7723
2935 205. http://gcc.gnu.org/PR7951
2936 206. http://gcc.gnu.org/PR8146
2937 207. http://gcc.gnu.org/PR5967
2938 208. http://gcc.gnu.org/PR6984
2939 209. http://gcc.gnu.org/PR7114
2940 210. http://gcc.gnu.org/PR7130
2941 211. http://gcc.gnu.org/PR7133
2942 212. http://gcc.gnu.org/PR7380
2943 213. http://gcc.gnu.org/PR8252
2944 214. http://gcc.gnu.org/PR8451
2945 215. http://gcc.gnu.org/PR7250
2946 216. http://gcc.gnu.org/PR6668
2947 217. http://gcc.gnu.org/PR7151
2948 218. http://gcc.gnu.org/PR7335
2949 219. http://gcc.gnu.org/PR7842
2950 220. http://gcc.gnu.org/PR7856
2951 221. http://gcc.gnu.org/PR7967
2952 222. http://gcc.gnu.org/PR7374
2953 223. http://gcc.gnu.org/PR7370
2954 224. http://gcc.gnu.org/PR7409
2955 225. http://gcc.gnu.org/PR8232
2956 226. http://gcc.gnu.org/PR7623
2957 227. http://gcc.gnu.org/PR8314
2958 228. http://gcc.gnu.org/PR761
2959 229. http://gcc.gnu.org/PR5610
2960 230. http://gcc.gnu.org/PR7484
2961 231. http://gcc.gnu.org/PR7531
2962 232. http://gcc.gnu.org/PR8120
2963 233. http://gcc.gnu.org/PR7320
2964 234. http://gcc.gnu.org/PR7470
2965 235. http://gcc.gnu.org/PR6410
2966 236. http://gcc.gnu.org/PR6503
2967 237. http://gcc.gnu.org/PR6642
2968 238. http://gcc.gnu.org/PR7186
2969 239. http://gcc.gnu.org/PR7216
2970 240. http://gcc.gnu.org/PR7220
2971 241. http://gcc.gnu.org/PR7222
2972 242. http://gcc.gnu.org/PR7286
2973 243. http://gcc.gnu.org/PR7442
2974 244. http://gcc.gnu.org/PR7445
2975 245. http://gcc.gnu.org/PR7291
2976 246. mailto:gnu@gnu.org
2977 247. http://www.gnu.org/home.html#ContactInfo
2978 248. http://gcc.gnu.org/about.html
2979 249. http://gcc.gnu.org/onlinedocs/
2980 250. mailto:gcc-help@gcc.gnu.org
2981 251. mailto:gcc@gnu.org
2982 252. mailto:gcc@gcc.gnu.org
2983 253. http://gcc.gnu.org/lists.html
2984 254. http://validator.w3.org/check/referer
2985======================================================================
2986http://gcc.gnu.org/gcc-3.1/index.html
2987
2988 GCC 3.1
2989
2990 July 27, 2002
2991
2992 The [1]GNU project and the GCC developers are pleased to announce the
2993 release of GCC 3.1.1.
2994
2995 The links below still apply to GCC 3.1.1.
2996
2997 May 15, 2002
2998
2999 The [2]GNU project and the GCC developers are pleased to announce the
3000 release of GCC 3.1.
3001
3002 GCC used to stand for the GNU C Compiler, but since the compiler
3003 supports several other languages aside from C, it now stands for the
3004 GNU Compiler Collection.
3005
3006 A list of [3]successful builds is updated as new information becomes
3007 available.
3008
3009 The GCC developers would like to thank the numerous people that have
3010 contributed [4]new features, improvements, bug fixes, and other
3011 changes as well as test results to GCC. This [5]amazing group of
3012 volunteers is what makes GCC successful.
3013
3014 For additional information about GCC please refer to the [6]GCC
3015 project web site or contact the [7]GCC development mailing list.
3016
3017 To obtain GCC please use [8]our mirror sites, one of the [9]GNU mirror
3018 sites, or [10]our CVS server.
3019 _________________________________________________________________
3020 _________________________________________________________________
3021
3022 Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There
3023 are also [12]other ways to contact the FSF.
3024
3025 These pages are maintained by [13]the GCC team.
3026
3027
3028 For questions related to the use of GCC, please consult these web
3029 pages and the [14]GCC manuals. If that fails, the
3030 [15]gcc-help@gcc.gnu.org mailing list might help.
3031 Please send comments on these web pages and the development of GCC
3032 to our developer mailing list at [16]gcc@gnu.org or
3033 [17]gcc@gcc.gnu.org. All of our lists have [18]public archives.
3034
3035 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
3036 330, Boston, MA 02111, USA.
3037
3038 Verbatim copying and distribution of this entire article is permitted
3039 in any medium, provided this notice is preserved.
3040
3041 Last modified 2004-08-06 [19]Valid XHTML 1.0
3042
3043References
3044
3045 1. http://www.gnu.org/
3046 2. http://www.gnu.org/
3047 3. http://gcc.gnu.org/gcc-3.1/buildstat.html
3048 4. http://gcc.gnu.org/gcc-3.1/changes.html
3049 5. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
3050 6. http://gcc.gnu.org/index.html
3051 7. mailto:gcc@gcc.gnu.org
3052 8. http://gcc.gnu.org/mirrors.html
3053 9. http://www.gnu.org/order/ftp.html
3054 10. http://gcc.gnu.org/cvs.html
3055 11. mailto:gnu@gnu.org
3056 12. http://www.gnu.org/home.html#ContactInfo
3057 13. http://gcc.gnu.org/about.html
3058 14. http://gcc.gnu.org/onlinedocs/
3059 15. mailto:gcc-help@gcc.gnu.org
3060 16. mailto:gcc@gnu.org
3061 17. mailto:gcc@gcc.gnu.org
3062 18. http://gcc.gnu.org/lists.html
3063 19. http://validator.w3.org/check/referer
3064======================================================================
3065http://gcc.gnu.org/gcc-3.1/changes.html
3066
3067 GCC 3.1 Release Series
3068 Changes, New Features, and Fixes
3069
3070Additional changes in GCC 3.1.1
3071
3072 * A bug related to how structures and unions are returned has been
3073 fixed for powerpc-*-netbsd*.
3074 * An important bug in the implementation of -fprefetch-loop-arrays
3075 has been fixed. Previously the optimization prefetched random
3076 blocks of memory for most targets except for i386.
3077 * The Java compiler now compiles Java programs much faster and also
3078 works with parallel make.
3079 * Nested functions have been fixed for mips*-*-netbsd*.
3080 * Some missing floating point support routines have beed added for
3081 mips*-*-netbsd*.
3082 * This [1]message gives additional information about the bugs fixed
3083 in this release.
3084
3085Caveats
3086
3087 * The -traditional C compiler option has been deprecated and will be
3088 removed in GCC 3.3. (It remains possible to preprocess non-C code
3089 with the traditional preprocessor.)
3090 * The default debugging format for most ELF platforms (including
3091 GNU/Linux and FreeBSD; notable exception is Solaris) has changed
3092 from stabs to DWARF2. This requires GDB 5.1.1 or later.
3093
3094General Optimizer Improvements
3095
3096 * Jan Hubicka, SuSE Labs, together with Richard Henderson, Red Hat,
3097 and Andreas Jaeger, SuSE Labs, has contributed [2]infrastructure
3098 for profile driven optimizations.
3099 Options -fprofile-arcs and -fbranch-probabilities can now be used
3100 to improve speed of the generated code by profiling the actual
3101 program behaviour on typical runs. In the absence of profile info
3102 the compiler attempts to guess the profile statically.
3103 * [3]SPEC2000 and SPEC95 benchmark suites are now used daily to
3104 monitor performance of the generated code.
3105 According to the SPECInt2000 results on an AMD Athlon CPU, the
3106 code generated by GCC 3.1 is 6% faster on the average (8.2% faster
3107 with profile feedback) compared to GCC 3.0. The code produced by
3108 GCC 3.0 is about 2.1% faster compared to 2.95.3. Tests were done
3109 using the -O2 -march=athlon command-line options.
3110 * Alexandre Oliva, of Red Hat, has generalized the tree inlining
3111 infrastructure developed by CodeSourcery, LLC for the C++ front
3112 end, so that it is now used in the C front end too. Inlining
3113 functions as trees exposes them earlier to the compiler, giving it
3114 more opportunities for optimization.
3115 * Support for data prefetching instructions has been added to the
3116 GCC back end and several targets. A new __builtin_prefetch
3117 intrinsic is available to explicitly insert prefetch instructions
3118 and experimental support for loop array prefetching has been added
3119 (see -fprefetch-loop-array documentation).
3120 * Support for emitting debugging information for macros has been
3121 added for DWARF2. It is activated using -g3.
3122
3123New Languages and Language specific improvements
3124
3125 C/C++
3126
3127 * A few more [4]ISO C99 features.
3128 * The preprocessor is 10-50% faster than the preprocessor in GCC
3129 3.0.
3130 * The preprocessor's symbol table has been merged with the symbol
3131 table of the C, C++ and Objective-C front ends.
3132 * The preprocessor consumes less memory than the preprocessor in GCC
3133 3.0, often significantly so. On normal input files, it typically
3134 consumes less memory than pre-3.0 cccp-based GCC, too.
3135
3136 C++
3137
3138 * -fhonor-std and -fno-honor-std have been removed. -fno-honor-std
3139 was a workaround to allow std compliant code to work with the
3140 non-std compliant libstdc++-v2. libstdc++-v3 is std compliant.
3141 * The C++ ABI has been fixed so that void (A::*)() const is mangled
3142 as "M1AKFvvE", rather than "MK1AFvvE" as before. This change only
3143 affects pointer to cv-qualified member function types.
3144 * The C++ ABI has been changed to correctly handle this code:
3145 struct A {
3146 void operator delete[] (void *, size_t);
3147 };
3148
3149 struct B : public A {
3150 };
3151
3152 new B[10];
3153
3154 The amount of storage allocated for the array will be greater than
3155 it was in 3.0, in order to store the number of elements in the
3156 array, so that the correct size can be passed to operator delete[]
3157 when the array is deleted. Previously, the value passed to
3158 operator delete[] was unpredictable.
3159 This change will only affect code that declares a two-argument
3160 operator delete[] with a second parameter of type size_t in a base
3161 class, and does not override that definition in a derived class.
3162 * The C++ ABI has been changed so that:
3163 struct A {
3164 void operator delete[] (void *, size_t);
3165 void operator delete[] (void *);
3166 };
3167
3168 does not cause unnecessary storage to be allocated when an array
3169 of A objects is allocated.
3170 This change will only affect code that declares both of these
3171 forms of operator delete[], and declared the two-argument form
3172 before the one-argument form.
3173 * The C++ ABI has been changed so that when a parameter is passed by
3174 value, any cleanup for that parameter is performed in the caller,
3175 as specified by the ia64 C++ ABI, rather than the called function
3176 as before. As a result, classes with a non-trivial destructor but
3177 a trivial copy constructor will be passed and returned by
3178 invisible reference, rather than by bitwise copy as before.
3179 * G++ now supports the "named return value optimization": for code
3180 like
3181 A f () {
3182 A a;
3183 ...
3184 return a;
3185 }
3186
3187 G++ will allocate a in the return value slot, so that the return
3188 becomes a no-op. For this to work, all return statements in the
3189 function must return the same variable.
3190 * Improvements to the C++ library are listed in [5]the libstdc++-v3
3191 FAQ.
3192
3193 Objective-C
3194
3195 * Annoying linker warnings (due to incorrect code being generated)
3196 have been fixed.
3197 * If a class method cannot be found, the compiler no longer issues a
3198 warning if a corresponding instance method exists in the root
3199 class.
3200 * Forward @protocol declarations have been fixed.
3201 * Loading of categories has been fixed in certain situations (GNU
3202 run time only).
3203 * The class lookup in the run-time library has been rewritten so
3204 that class method dispatch is more than twice as fast as it used
3205 to be (GNU run time only).
3206
3207 Java
3208
3209 * libgcj now includes RMI, java.lang.ref.*, javax.naming, and
3210 javax.transaction.
3211 * Property files and other system resources can be compiled into
3212 executables which use libgcj using the new gcj --resource feature.
3213 * libgcj has been ported to more platforms. In particular there is
3214 now a mostly-functional mingw32 (Windows) target port.
3215 * JNI and CNI invocation interfaces were implemented, so
3216 gcj-compiled Java code can now be called from a C/C++ application.
3217 * gcj can now use builtin functions for certain known methods, for
3218 instance Math.cos.
3219 * gcj can now automatically remove redundant array-store checks in
3220 some common cases.
3221 * The --no-store-checks optimization option was added. This can be
3222 used to omit runtime store checks for code which is known not to
3223 throw ArrayStoreException
3224 * The following third party interface standards were added to
3225 libgcj: org.w3c.dom and org.xml.sax.
3226 * java.security has been merged with GNU Classpath. The new package
3227 is now JDK 1.2 compliant, and much more complete.
3228 * A bytecode verifier was added to the libgcj interpreter.
3229 * java.lang.Character was rewritten to comply with the Unicode 3.0
3230 standard, and improve performance.
3231 * Partial support for many more locales was added to libgcj.
3232 * Socket timeouts have been implemented.
3233 * libgcj has been merged into a single shared library. There are no
3234 longer separate shared libraries for the garbage collector and
3235 zlib.
3236 * Several performance improvements were made to gcj and libgcj:
3237 + Hash synchronization (thin locks)
3238 + A special allocation path for finalizer-free objects
3239 + Thread-local allocation
3240 + Parallel GC, and other GC tweaks
3241
3242 Fortran
3243
3244 Fortran improvements are listed in [6]the Fortran documentation.
3245
3246 Ada
3247
3248 [7]Ada Core Technologies, Inc, has contributed its GNAT Ada 95 front
3249 end and associated tools. The GNAT compiler fully implements the Ada
3250 language as defined by the ISO/IEC 8652 standard.
3251
3252 Please note that the integration of the Ada front end is still work in
3253 progress.
3254
3255New Targets and Target Specific Improvements
3256
3257 * Hans-Peter Nilsson has contributed a port to [8]MMIX, the CPU
3258 architecture used in new editions of Donald E. Knuth's The Art of
3259 Computer Programming.
3260 * [9]Axis Communications has contributed its port to the CRIS CPU
3261 architecture, used in the ETRAX system-on-a-chip series. See
3262 [10]Axis' developer site for technical information.
3263 * Alexandre Oliva, of Red Hat, has contributed a port to the
3264 [11]SuperH SH5 64-bit RISC microprocessor architecture, extending
3265 the existing SH port.
3266 * UltraSPARC is fully supported in 64-bit mode. The option -m64
3267 enables it.
3268 * For compatibility with the Sun compiler #pragma redefine_extname
3269 has been implemented on Solaris.
3270 * The x86 back end has had some noticeable work done to it.
3271 + SuSE Labs developers Jan Hubicka, Bo Thorsen and Andreas
3272 Jaeger have contributed a port to the AMD x86-64
3273 architecture. For more information on x86-64 see
3274 [12]http://www.x86-64.org.
3275 + The compiler now supports MMX, 3DNow!, SSE, and SSE2
3276 instructions. Options -mmmx, -m3dnow, -msse, and -msse2 will
3277 enable the respective instruction sets. Intel C++ compatible
3278 MMX/3DNow!/SSE intrinsics are implemented. SSE2 intrinsics
3279 will be added in next major release.
3280 + Following those improvements, targets for Pentium MMX, K6-2,
3281 K6-3, Pentium III, Pentium 4, and Athlon 4 Mobile/XP/MP were
3282 added. Refer to the documentation on -march= and -mcpu=
3283 options for details.
3284 + For those targets that support it, -mfpmath=sse will cause
3285 the compiler to generate SSE/SSE2 instructions for floating
3286 point math instead of x87 instructions. Usually, this will
3287 lead to quicker code -- especially on the Pentium 4. Note
3288 that only scalar floating point instructions are used and GCC
3289 does not exploit SIMD features yet.
3290 + Prefetch support has been added to the Pentium III, Pentium
3291 4, K6-2, K6-3, and Athlon series.
3292 + Code generated for floating point to integer conversions has
3293 been improved leading to better performance of many 3D
3294 applications.
3295 * The PowerPC back end has added 64-bit PowerPC GNU/Linux support.
3296 * C++ support for AIX has been improved.
3297 * Aldy Hernandez, of Red Hat, Inc, has contributed extensions to the
3298 PowerPC port supporting the AltiVec programming model (SIMD). The
3299 support, though presently useful, is experimental and is expected
3300 to stabilize for 3.2. The support is written to conform to
3301 Motorola's AltiVec specs. See -maltivec.
3302
3303Obsolete Systems
3304
3305 Support for a number of older systems has been declared obsolete in
3306 GCC 3.1. Unless there is activity to revive them, the next release of
3307 GCC will have their sources permanently removed.
3308
3309 All configurations of the following processor architectures have been
3310 declared obsolete:
3311 * MIL-STD-1750A, 1750a-*-*
3312 * AMD A29k, a29k-*-*
3313 * Convex, c*-convex-*
3314 * Clipper, clipper-*-*
3315 * Elxsi, elxsi-*-*
3316 * Intel i860, i860-*-*
3317 * Sun picoJava, pj-*-* and pjl-*-*
3318 * Western Electric 32000, we32k-*-*
3319
3320 Most configurations of the following processor architectures have been
3321 declared obsolete, but we are preserving a few systems which may have
3322 active developers. It is unlikely that the remaining systems will
3323 survive much longer unless we see definite signs of port activity.
3324 * Motorola 88000 except
3325 + Generic a.out, m88k-*-aout*
3326 + Generic SVR4, m88k-*-sysv4
3327 + OpenBSD, m88k-*-openbsd*
3328 * NS32k except
3329 + NetBSD, ns32k-*-netbsd*
3330 + OpenBSD, ns32k-*-openbsd*.
3331 * ROMP except
3332 + OpenBSD, romp-*-openbsd*.
3333
3334 Finally, only some configurations of these processor architectures are
3335 being obsoleted.
3336 * Alpha:
3337 + OSF/1, alpha*-*-osf[123]*. (Digital Unix and Tru64 Unix, aka
3338 alpha*-*-osf[45], are still supported.)
3339 * ARM:
3340 + RISCiX, arm-*-riscix*.
3341 * i386:
3342 + 386BSD, i?86-*-bsd*
3343 + Chorus, i?86-*-chorusos*
3344 + DG/UX, i?86-*-dgux*
3345 + FreeBSD 1.x, i?86-*-freebsd1.*
3346 + IBM AIX, i?86-*-aix*
3347 + ISC UNIX, i?86-*-isc*
3348 + Linux with pre-BFD linker, i?86-*-linux*oldld*
3349 + NEXTstep, i?86-next-*
3350 + OSF UNIX, i?86-*-osf1* and i?86-*-osfrose*
3351 + RTEMS/coff, i?86-*-rtemscoff*
3352 + RTEMS/go32, i?86-go32-rtems*
3353 + Sequent/BSD, i?86-sequent-bsd*
3354 + Sequent/ptx before version 3, i?86-sequent-ptx[12]* and
3355 i?86-sequent-sysv3*
3356 + SunOS, i?86-*-sunos*
3357 * Motorola 68000:
3358 + Altos, m68[k0]*-altos-*
3359 + Apollo, m68[k0]*-apollo-*
3360 + Apple A/UX, m68[k0]*-apple-*
3361 + Bull, m68[k0]*-bull-*
3362 + Convergent, m68[k0]*-convergent-*
3363 + Generic SVR3, m68[k0]*-*-sysv3*
3364 + ISI, m68[k0]*-isi-*
3365 + LynxOS, m68[k0]*-*-lynxos*
3366 + NEXT, m68[k0]*-next-*
3367 + RTEMS/coff, m68[k0]*-*-rtemscoff*
3368 + Sony, m68[k0]*-sony-*
3369 * MIPS:
3370 + DEC Ultrix, mips-*-ultrix* and mips-dec-*
3371 + Generic BSD, mips-*-bsd*
3372 + Generic System V, mips-*-sysv*
3373 + IRIX before version 5, mips-sgi-irix[1234]*
3374 + RiscOS, mips-*-riscos*
3375 + Sony, mips-sony-*
3376 + Tandem, mips-tandem-*
3377 * SPARC:
3378 + RTEMS/a.out, sparc-*-rtemsaout*.
3379
3380Documentation improvements
3381
3382 * The old manual ("Using and Porting the GNU Compiler Collection")
3383 has been replaced by a users manual ("Using the GNU Compiler
3384 Collection") and a separate internals reference manual ("GNU
3385 Compiler Collection Internals").
3386 * More complete and much improved documentation about GCC's internal
3387 representation used by the C and C++ front ends.
3388 * Many cleanups and improvements in general.
3389 _________________________________________________________________
3390
3391 Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There
3392 are also [14]other ways to contact the FSF.
3393
3394 These pages are maintained by [15]the GCC team.
3395
3396
3397 For questions related to the use of GCC, please consult these web
3398 pages and the [16]GCC manuals. If that fails, the
3399 [17]gcc-help@gcc.gnu.org mailing list might help.
3400 Please send comments on these web pages and the development of GCC
3401 to our developer mailing list at [18]gcc@gnu.org or
3402 [19]gcc@gcc.gnu.org. All of our lists have [20]public archives.
3403
3404 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
3405 330, Boston, MA 02111, USA.
3406
3407 Verbatim copying and distribution of this entire article is permitted
3408 in any medium, provided this notice is preserved.
3409
3410 Last modified 2004-08-06 [21]Valid XHTML 1.0
3411
3412References
3413
3414 1. http://gcc.gnu.org/ml/gcc/2002-07/msg01208.html
3415 2. http://gcc.gnu.org/news/profiledriven.html
3416 3. http://gcc.gnu.org/benchmarks/
3417 4. http://gcc.gnu.org/gcc-3.1/c99status.html
3418 5. http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_1
3419 6. http://gcc.gnu.org/onlinedocs/g77/News.html
3420 7. http://www.gnat.com/
3421 8. http://www-cs-faculty.stanford.edu/~knuth/mmix.html
3422 9. http://www.axis.com/
3423 10. http://developer.axis.com/
3424 11. http://www.superh.com/
3425 12. http://www.x86-64.org/
3426 13. mailto:gnu@gnu.org
3427 14. http://www.gnu.org/home.html#ContactInfo
3428 15. http://gcc.gnu.org/about.html
3429 16. http://gcc.gnu.org/onlinedocs/
3430 17. mailto:gcc-help@gcc.gnu.org
3431 18. mailto:gcc@gnu.org
3432 19. mailto:gcc@gcc.gnu.org
3433 20. http://gcc.gnu.org/lists.html
3434 21. http://validator.w3.org/check/referer
3435======================================================================
3436http://gcc.gnu.org/gcc-3.0/gcc-3.0.html
3437
3438 GCC 3.0.4
3439
3440 February 20, 2002
3441
3442 The [1]GNU project and the GCC developers are pleased to announce the
3443 release of GCC 3.0.4, which is a bug-fix release for the GCC 3.0
3444 series.
3445
3446 GCC used to stand for the GNU C Compiler, but since the compiler
3447 supports several other languages aside from C, it now stands for the
3448 GNU Compiler Collection.
3449
3450 GCC 3.0.x has several new optimizations, new targets, new languages
3451 and many other new features, relative to GCC 2.95.x. See the [2]new
3452 features page for a more complete list.
3453
3454 A list of [3]successful builds is updated as new information becomes
3455 available.
3456
3457 The GCC developers would like to thank the numerous people that have
3458 contributed new features, test results, bugfixes, etc to GCC. This
3459 [4]amazing group of volunteers is what makes GCC successful.
3460
3461 And finally, we can't in good conscience fail to mention some
3462 [5]caveats to using GCC 3.0.x.
3463
3464 For additional information about GCC please refer to the [6]GCC
3465 project web site or contact the [7]GCC development mailing list.
3466
3467 To obtain GCC please use [8]our mirror sites, one of the [9]GNU mirror
3468 sites, or [10]our CVS server.
3469 _________________________________________________________________
3470
3471Previous 3.0.x Releases
3472
3473 December 20, 2001: GCC 3.0.3 has been released.
3474 October 25, 2001: GCC 3.0.2 has been released.
3475 August 20, 2001: GCC 3.0.1 has been released.
3476 June 18, 2001: GCC 3.0 has been released.
3477 _________________________________________________________________
3478
3479 Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There
3480 are also [12]other ways to contact the FSF.
3481
3482 These pages are maintained by [13]the GCC team.
3483
3484
3485 For questions related to the use of GCC, please consult these web
3486 pages and the [14]GCC manuals. If that fails, the
3487 [15]gcc-help@gcc.gnu.org mailing list might help.
3488 Please send comments on these web pages and the development of GCC
3489 to our developer mailing list at [16]gcc@gnu.org or
3490 [17]gcc@gcc.gnu.org. All of our lists have [18]public archives.
3491
3492 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
3493 330, Boston, MA 02111, USA.
3494
3495 Verbatim copying and distribution of this entire article is permitted
3496 in any medium, provided this notice is preserved.
3497
3498 Last modified 2004-08-06 [19]Valid XHTML 1.0
3499
3500References
3501
3502 1. http://www.gnu.org/
3503 2. http://gcc.gnu.org/gcc-3.0/features.html
3504 3. http://gcc.gnu.org/gcc-3.0/buildstat.html
3505 4. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
3506 5. http://gcc.gnu.org/gcc-3.0/caveats.html
3507 6. http://gcc.gnu.org/index.html
3508 7. mailto:gcc@gcc.gnu.org
3509 8. http://gcc.gnu.org/mirrors.html
3510 9. http://www.gnu.org/order/ftp.html
3511 10. http://gcc.gnu.org/cvs.html
3512 11. mailto:gnu@gnu.org
3513 12. http://www.gnu.org/home.html#ContactInfo
3514 13. http://gcc.gnu.org/about.html
3515 14. http://gcc.gnu.org/onlinedocs/
3516 15. mailto:gcc-help@gcc.gnu.org
3517 16. mailto:gcc@gnu.org
3518 17. mailto:gcc@gcc.gnu.org
3519 18. http://gcc.gnu.org/lists.html
3520 19. http://validator.w3.org/check/referer
3521======================================================================
3522http://gcc.gnu.org/gcc-3.0/features.html
3523
3524 GCC 3.0 New Features
3525
3526Additional changes in GCC 3.0.4
3527
3528 * GCC 3.0 now supports newer versions of the [1]NetBSD operating
3529 system, which use the ELF object file format, on x86 processors.
3530 * Correct debugging information is generated from functions that
3531 have lines from multiple files (e.g. yacc output).
3532 * A fix for whitespace handling in the -traditional preprocessor,
3533 which can affect Fortran.
3534 * Fixes to the exception handling runtime.
3535 * More fixes for bad code generation in C++.
3536 * A fix for shared library generation under AIX 4.3.
3537 * Documentation updates.
3538 * Port of GCC to Tensilica's Xtensa processor contributed.
3539 * A fix for compiling the PPC Linux kernel (FAT fs wouldn't link).
3540
3541Additional changes in GCC 3.0.3
3542
3543 * A fix to correct an accidental change to the PowerPC ABI.
3544 * Fixes for bad code generation on a variety of architectures.
3545 * Improvements to the debugging information generated for C++
3546 classes.
3547 * Fixes for bad code generation in C++.
3548 * A fix to avoid crashes in the C++ demangler.
3549 * A fix to the C++ standard library to avoid buffer overflows.
3550 * Miscellaneous improvements for a variety of architectures.
3551
3552Additional changes in GCC 3.0.2
3553
3554 * Fixes for bad code generation during loop unrolling.
3555 * Fixes for bad code generation by the sibling call optimization.
3556 * Minor improvements to x86 code generation.
3557 * Implementation of function descriptors in C++ vtables for IA64.
3558 * Numerous minor bug-fixes.
3559
3560Additional changes in GCC 3.0.1
3561
3562 * C++ fixes for incorrect code-generation.
3563 * Improved cross-compiling support for the C++ standard library.
3564 * Fixes for some embedded targets that worked in GCC 2.95.3, but not
3565 in GCC 3.0.
3566 * Fixes for various exception-handling bugs.
3567 * A port to the S/390 architecture.
3568
3569General Optimizer Improvements
3570
3571 * [2]Basic block reordering pass.
3572 * New if-conversion pass with support for conditional (predicated)
3573 execution.
3574 * New tail call and sibling call elimination optimizations.
3575 * New register renaming pass.
3576 * New (experimental) [3]static single assignment (SSA)
3577 representation support.
3578 * New dead-code elimination pass implemented using the SSA
3579 representation.
3580 * [4]Global null pointer test elimination.
3581 * [5]Global code hoisting/unification.
3582 * More builtins and optimizations for stdio.h, string.h and old BSD
3583 functions, as well as for ISO C99 functions.
3584 * New builtin __builtin_expect for giving hints to the branch
3585 predictor.
3586
3587New Languages and Language specific improvements
3588
3589 * The GNU Compiler for the Java(TM) language (GCJ) is now integrated
3590 and supported, including the run-time library containing most
3591 common non-GUI Java classes, a bytecode interpreter, and the Boehm
3592 conservative garbage collector. Many bugs have been fixed. GCJ can
3593 compile Java source or Java bytecodes to either native code or
3594 Java class files, and supports native methods written in either
3595 the standard JNI or the more efficient and convenient CNI.
3596 * Here is a [6]partial list of C++ improvements, both new features
3597 and those no longer supported.
3598 * New C++ ABI. On the IA-64 platform GCC is capable of
3599 inter-operating with other IA-64 compilers.
3600 * The new ABI also significantly reduces the size of symbol and
3601 debug information.
3602 * New [7]C++ support library and many C++ bug fixes, vastly
3603 improving our conformance to the ISO C++ standard.
3604 * New [8]inliner for C++.
3605 * Rewritten C preprocessor, integrated into the C, C++ and Objective
3606 C compilers, with very many improvements including ISO C99 support
3607 and [9]improvements to dependency generation.
3608 * Support for more [10]ISO C99 features.
3609 * Many improvements to support for checking calls to format
3610 functions such as printf and scanf, including support for ISO C99
3611 format features, extensions from the Single Unix Specification and
3612 GNU libc 2.2, checking of strfmon formats and features to assist
3613 in auditing for format string security bugs.
3614 * New warnings for C code that may have undefined semantics because
3615 of violations of sequence point rules in the C standard (such as a
3616 = a++;, a[n] = b[n++]; and a[i++] = i;), included in -Wall.
3617 * Additional warning option -Wfloat-equal.
3618 * Improvements to -Wtraditional.
3619 * Fortran improvements are listed in [11]the Fortran documentation.
3620
3621New Targets and Target Specific Improvements
3622
3623 * New x86 back-end, generating much improved code.
3624 * Support for a generic i386-elf target contributed.
3625 * New option to emit x86 assembly code using Intel style syntax
3626 (-mintel-syntax).
3627 * HPUX 11 support contributed.
3628 * Improved PowerPC code generation, including scheduled prologue and
3629 epilogue.
3630 * Port of GCC to Intel's IA-64 processor contributed.
3631 * Port of GCC to Motorola's MCore 210 and 340 contributed.
3632 * New unified back-end for Arm, Thumb and StrongArm contributed.
3633 * Port of GCC to Intel's XScale processor contributed.
3634 * Port of GCC to Atmel's AVR microcontrollers contributed.
3635 * Port of GCC to Mitsubishi's D30V processor contributed.
3636 * Port of GCC to Matsushita's AM33 processor (a member of the
3637 MN10300 processor family) contributed.
3638 * Port of GCC to Fujitsu's FR30 processor contributed.
3639 * Port of GCC to Motorola's 68HC11 and 68HC12 processors
3640 contributed.
3641 * Port of GCC to Sun's picoJava processor core contributed.
3642
3643Documentation improvements
3644
3645 * Substantially rewritten and improved C preprocessor manual.
3646 * Many improvements to other documentation.
3647 * Manpages for gcc, cpp and gcov are now generated automatically
3648 from the master Texinfo manual, eliminating the problem of
3649 manpages being out of date. (The generated manpages are only
3650 extracts from the full manual, which is provided in Texinfo form,
3651 from which info, HTML, other formats and a printed manual can be
3652 generated.)
3653 * Generated info files are included in the release tarballs
3654 alongside their Texinfo sources, avoiding problems on some
3655 platforms with building makeinfo as part of the GCC distribution.
3656
3657Other significant improvements
3658
3659 * Garbage collection used internally by the compiler for most memory
3660 allocation instead of obstacks.
3661 * Lengauer and Tarjan algorithm used for computing dominators in the
3662 CFG. This algorithm can be significantly faster and more space
3663 efficient than our older algorithm.
3664 * gccbug script provided to assist in submitting bug reports to our
3665 bug tracking system. (Bug reports previously submitted directly to
3666 our mailing lists, for which you received no bug tracking number,
3667 should be submitted again using gccbug if you can reproduce the
3668 problem with GCC 3.0.)
3669 * The internal libgcc library is [12]built as a shared library on
3670 systems that support it.
3671 * Extensive testsuite included with GCC, with many new tests. In
3672 addition to tests for GCC bugs that have been fixed, many tests
3673 have been added for language features, compiler warnings and
3674 builtin functions.
3675 * Additional language-independent warning options -Wpacked,
3676 -Wpadded, -Wunreachable-code and -Wdisabled-optimization.
3677 * Target-independent options -falign-functions, -falign-loops and
3678 -falign-jumps.
3679
3680 Plus a great many bugfixes and almost all the [13]features found in
3681 GCC 2.95.
3682 _________________________________________________________________
3683
3684 Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There
3685 are also [15]other ways to contact the FSF.
3686
3687 These pages are maintained by [16]the GCC team.
3688
3689
3690 For questions related to the use of GCC, please consult these web
3691 pages and the [17]GCC manuals. If that fails, the
3692 [18]gcc-help@gcc.gnu.org mailing list might help.
3693 Please send comments on these web pages and the development of GCC
3694 to our developer mailing list at [19]gcc@gnu.org or
3695 [20]gcc@gcc.gnu.org. All of our lists have [21]public archives.
3696
3697 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
3698 330, Boston, MA 02111, USA.
3699
3700 Verbatim copying and distribution of this entire article is permitted
3701 in any medium, provided this notice is preserved.
3702
3703 Last modified 2004-08-06 [22]Valid XHTML 1.0
3704
3705References
3706
3707 1. http://www.netbsd.org/
3708 2. http://gcc.gnu.org/news/reorder.html
3709 3. http://gcc.gnu.org/news/ssa.html
3710 4. http://gcc.gnu.org/news/null.html
3711 5. http://gcc.gnu.org/news/unify.html
3712 6. http://gcc.gnu.org/gcc-3.0/c++features.html
3713 7. http://gcc.gnu.org/libstdc++/
3714 8. http://gcc.gnu.org/news/inlining.html
3715 9. http://gcc.gnu.org/news/dependencies.html
3716 10. http://gcc.gnu.org/gcc-3.0/c99status.html
3717 11. http://gcc.gnu.org/onlinedocs/g77/News.html
3718 12. http://gcc.gnu.org/gcc-3.0/libgcc.html
3719 13. http://gcc.gnu.org/gcc-2.95/features.html
3720 14. mailto:gnu@gnu.org
3721 15. http://www.gnu.org/home.html#ContactInfo
3722 16. http://gcc.gnu.org/about.html
3723 17. http://gcc.gnu.org/onlinedocs/
3724 18. mailto:gcc-help@gcc.gnu.org
3725 19. mailto:gcc@gnu.org
3726 20. mailto:gcc@gcc.gnu.org
3727 21. http://gcc.gnu.org/lists.html
3728 22. http://validator.w3.org/check/referer
3729======================================================================
3730http://gcc.gnu.org/gcc-3.0/caveats.html
3731
3732 GCC 3.0 Caveats
3733
3734 * -fstrict-aliasing is now part of -O2 and higher optimization
3735 levels. This allows the compiler to assume the strictest aliasing
3736 rules applicable to the language being compiled. For C and C++,
3737 this activates optimizations based on the type of expressions.
3738 This optimization may thus break old, non-compliant code.
3739 * Enumerations are now properly promoted to int in function
3740 parameters and function returns. Normally this change is not
3741 visible, but when using -fshort-enums this is an ABI change.
3742 * The undocumented extension that allowed C programs to have a label
3743 at the end of a compound statement has been deprecated and may be
3744 removed in a future version. Programs that now generate a warning
3745 about this may be fixed by adding a null statement (a single
3746 semicolon) after the label.
3747 * The poorly documented extension that allowed string constants in
3748 C, C++ and Objective C to contain unescaped newlines has been
3749 deprecated and may be removed in a future version. Programs using
3750 this extension may be fixed in several ways: the bare newline may
3751 be replaced by \n, or preceded by \n\, or string concatenation may
3752 be used with the bare newline preceded by \n" and " placed at the
3753 start of the next line.
3754 * The Chill compiler is not included in GCC 3.0, because of the lack
3755 of a volunteer to convert it to use garbage collection.
3756 * Certain non-standard iostream methods from earlier versions of
3757 libstdc++ are not included in libstdc++ v3, i.e. filebuf::attach,
3758 ostream::form, and istream::gets. Here are workaround hints for:
3759 [1]ostream::form, [2]filebuf::attach.
3760 * The new C++ ABI is not yet fully supported by current (as of
3761 2001-07-01) releases and development versions of GDB, or any
3762 earlier versions. There is a problem setting breakpoints by line
3763 number, and other related issues that have been fixed in GCC 3.0
3764 but not yet handled in GDB:
3765 [3]http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg00421.html
3766 _________________________________________________________________
3767
3768 Please send FSF & GNU inquiries & questions to [4]gnu@gnu.org. There
3769 are also [5]other ways to contact the FSF.
3770
3771 These pages are maintained by [6]the GCC team.
3772
3773
3774 For questions related to the use of GCC, please consult these web
3775 pages and the [7]GCC manuals. If that fails, the
3776 [8]gcc-help@gcc.gnu.org mailing list might help.
3777 Please send comments on these web pages and the development of GCC
3778 to our developer mailing list at [9]gcc@gnu.org or
3779 [10]gcc@gcc.gnu.org. All of our lists have [11]public archives.
3780
3781 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
3782 330, Boston, MA 02111, USA.
3783
3784 Verbatim copying and distribution of this entire article is permitted
3785 in any medium, provided this notice is preserved.
3786
3787 Last modified 2004-08-06 [12]Valid XHTML 1.0
3788
3789References
3790
3791 1. http://gcc.gnu.org/onlinedocs/libstdc++/21_strings/howto.html
3792 2. http://gcc.gnu.org/onlinedocs/libstdc++/ext/howto.html
3793 3. http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg00421.html
3794 4. mailto:gnu@gnu.org
3795 5. http://www.gnu.org/home.html#ContactInfo
3796 6. http://gcc.gnu.org/about.html
3797 7. http://gcc.gnu.org/onlinedocs/
3798 8. mailto:gcc-help@gcc.gnu.org
3799 9. mailto:gcc@gnu.org
3800 10. mailto:gcc@gcc.gnu.org
3801 11. http://gcc.gnu.org/lists.html
3802 12. http://validator.w3.org/check/referer
3803======================================================================
3804http://gcc.gnu.org/gcc-2.95/index.html
3805
3806 GCC 2.95
3807
3808 July 31, 1999: The GNU project and the GCC/EGCS developers are pleased
3809 to announce the release of GCC version 2.95. This is the first release
3810 of GCC since the April 1999 GCC/EGCS reunification and includes nearly
3811 a year's worth of new development and bugfixes.
3812
3813 August 19, 1999: GCC version 2.95.1 has been released.
3814
3815 October 27, 1999: GCC version 2.95.2 has been released.
3816
3817 March 16, 2001: GCC version 2.95.3 has been released.
3818
3819 GCC used to stand for the GNU C Compiler, but since the compiler
3820 supports several other languages aside from C, it now stands for the
3821 GNU Compiler Collection.
3822
3823 The whole suite has been extensively [1]regression tested and
3824 [2]package tested. It should be reliable and suitable for widespread
3825 use.
3826
3827 The compiler has several new optimizations, new targets, new languages
3828 and other new features. See the [3]new features page for a more
3829 complete list of new features found in the GCC 2.95 releases.
3830
3831 The sources include installation instructions in both HTML and
3832 plaintext forms in the install directory in the distribution. However,
3833 the most up to date [4]installation instructions and [5]build/test
3834 status are on the web pages. We will update those pages as new
3835 information becomes available.
3836
3837 The GCC developers would like to thank the numerous people that have
3838 contributed new features, test results, bugfixes, etc to GCC. This
3839 [6]amazing group of volunteers is what makes GCC successful.
3840
3841 And finally, we can't in good conscience fail to mention some
3842 [7]caveats to using GCC 2.95.
3843
3844 Download GCC 2.95 from the [8]GNU FTP server (ftp://ftp.gnu.org)
3845 [9]Find a GNU mirror site
3846 [10]Find a GCC mirror site
3847
3848 For additional information about GCC please see the [11]GCC project
3849 web server or contact the [12]GCC development mailing list.
3850 _________________________________________________________________
3851
3852 Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There
3853 are also [14]other ways to contact the FSF.
3854
3855 These pages are maintained by [15]the GCC team.
3856
3857
3858 For questions related to the use of GCC, please consult these web
3859 pages and the [16]GCC manuals. If that fails, the
3860 [17]gcc-help@gcc.gnu.org mailing list might help.
3861 Please send comments on these web pages and the development of GCC
3862 to our developer mailing list at [18]gcc@gnu.org or
3863 [19]gcc@gcc.gnu.org. All of our lists have [20]public archives.
3864
3865 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
3866 330, Boston, MA 02111, USA.
3867
3868 Verbatim copying and distribution of this entire article is permitted
3869 in any medium, provided this notice is preserved.
3870
3871 Last modified 2004-08-06 [21]Valid XHTML 1.0
3872
3873References
3874
3875 1. http://gcc.gnu.org/gcc-2.95/regress.html
3876 2. http://gcc.gnu.org/gcc-2.95/othertest.html
3877 3. http://gcc.gnu.org/gcc-2.95/features.html
3878 4. http://gcc.gnu.org/install/
3879 5. http://gcc.gnu.org/gcc-2.95/buildstat.html
3880 6. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
3881 7. http://gcc.gnu.org/gcc-2.95/caveats.html
3882 8. ftp://ftp.gnu.org/pub/gnu/gcc/
3883 9. http://www.gnu.org/order/ftp.html
3884 10. http://gcc.gnu.org/mirrors.html
3885 11. http://gcc.gnu.org/index.html
3886 12. mailto:gcc@gcc.gnu.org
3887 13. mailto:gnu@gnu.org
3888 14. http://www.gnu.org/home.html#ContactInfo
3889 15. http://gcc.gnu.org/about.html
3890 16. http://gcc.gnu.org/onlinedocs/
3891 17. mailto:gcc-help@gcc.gnu.org
3892 18. mailto:gcc@gnu.org
3893 19. mailto:gcc@gcc.gnu.org
3894 20. http://gcc.gnu.org/lists.html
3895 21. http://validator.w3.org/check/referer
3896======================================================================
3897http://gcc.gnu.org/gcc-2.95/features.html
3898
3899 GCC 2.95 New Features
3900
3901 * General Optimizer Improvements:
3902 + [1]Localized register spilling to improve speed and code
3903 density especially on small register class machines.
3904 + [2]Global CSE using lazy code motion algorithms.
3905 + [3]Improved global constant/copy propagation.
3906 + [4]Improved control flow graph analysis and manipulation.
3907 + [5]Local dead store elimination.
3908 + [6]Memory Load hoisting/store sinking in loops.
3909 + [7]Type based alias analysis is enabled by default. Note this
3910 feature will expose bugs in the Linux kernel. Please refer to
3911 the FAQ (as shipped with GCC 2.95) for additional information
3912 on this issue.
3913 + Major revamp of GIV detection, combination and simplification
3914 to improve loop performance.
3915 + Major improvements to register allocation and reloading.
3916 * New Languages and Language specific improvements
3917 + [8]Many C++ improvements.
3918 + [9]Many Fortran improvements.
3919 + [10]Java front-end has been integrated. [11]runtime library
3920 is available separately.
3921 + [12]ISO C99 support
3922 + [13]Chill front-end and runtime has been integrated.
3923 + Boehm garbage collector support in libobjc.
3924 + More support for various pragmas which appear in vendor
3925 include files
3926 * New Targets and Target Specific Improvements
3927 + [14]Sparc backend rewrite.
3928 + -mschedule=8000 will optimize code for PA8000 class
3929 processors; -mpa-risc-2-0 will generate code for PA2.0
3930 processors
3931 + Various micro-optimizations for the ia32 port. K6
3932 optimizations
3933 + Compiler will attempt to align doubles in the stack on the
3934 ia32 port
3935 + Alpha EV6 support
3936 + PowerPC 750
3937 + RS6000/PowerPC: -mcpu=401 was added as an alias for
3938 -mcpu=403. -mcpu=e603e was added to do -mcpu=603e and
3939 -msoft-float.
3940 + c3x, c4x
3941 + HyperSparc
3942 + SparcLite86x
3943 + sh4
3944 + Support for new systems (OpenBSD, FreeBSD, UWIN, Interix,
3945 arm-linux)
3946 + vxWorks targets include support for vxWorks threads
3947 + StrongARM 110 and ARM9 support added. ARM Scheduling
3948 parameters rewritten.
3949 + Various changes to the MIPS port to avoid assembler macros,
3950 which in turn improves performance
3951 + Various performance improvements to the i960 port.
3952 + Major rewrite of ns32k port
3953 * Other significant improvements
3954 + [15]Ability to dump cfg information and display it using vcg.
3955 + The new faster scheme for fixing vendor header files is
3956 enabled by default.
3957 + Experimental internationalization support.
3958 + multibyte character support
3959 + Some compile-time speedups for pathological problems
3960 + Better support for complex types
3961 * Plus the usual mountain of bugfixes
3962 * Core compiler is based on the gcc2 development tree from Sept 30,
3963 1998, so we have all of the [16]features found in GCC 2.8.
3964
3965Additional Changes in GCC 2.95.1
3966
3967 * Generic bugfixes and improvements
3968 + Various documentation fixes related to the GCC/EGCS merger.
3969 + Fix memory management bug which could lead to spurious
3970 aborts, core dumps or random parsing errors in the compiler.
3971 + Fix a couple bugs in the dwarf1 and dwarf2 debug record
3972 support.
3973 + Fix infinite loop in the CSE optimizer.
3974 + Avoid undefined behavior in compiler FP emulation code
3975 + Fix install problem when prefix is overridden on the make
3976 install command.
3977 + Fix problem with unwanted installation of assert.h on some
3978 systems.
3979 + Fix problem with finding the wrong assembler in a single tree
3980 build.
3981 + Avoid increasing the known alignment of a register that is
3982 already known to be a pointer.
3983 * Platform specific bugfixes and improvements
3984 + Codegen bugfix for prologue/epilogue for cpu32 target.
3985 + Fix long long code generation bug for the Coldfire target.
3986 + Fix various aborts in the SH compiler.
3987 + Fix bugs in libgcc support library for the SH.
3988 + Fix alpha ev6 code generation bug.
3989 + Fix problems with EXIT_SUCCESS/EXIT_FAILURE redefinitions on
3990 AIX platforms.
3991 + Fix -fpic code generation bug for rs6000/ppc svr4 targets.
3992 + Fix varargs/stdarg code generation bug for rs6000/ppc svr4
3993 targets.
3994 + Fix weak symbol handling for rs6000/ppc svr4 targets.
3995 + Fix various problems with 64bit code generation for the
3996 rs6000/ppc port.
3997 + Fix codegen bug which caused tetex to be mis-compiled on the
3998 x86.
3999 + Fix compiler abort in new cfg code exposed by x86 port.
4000 + Fix out of range array reference in code convert flat
4001 registers to the x87 stacked FP register file.
4002 + Fix minor vxworks configuration bug.
4003 + Fix return type of bsearch for SunOS 4.x.
4004 * Language & Runtime specific fixes.
4005 + The G++ signature extension has been deprecated. It will be
4006 removed in the next major release of G++. Use of signatures
4007 will result in a warning from the compiler.
4008 + Several bugs relating to templates and namespaces were fixed.
4009 + A bug that caused crashes when combining templates with -g on
4010 DWARF1 platforms was fixed.
4011 + Pointers-to-members, virtual functions, and multiple
4012 inheritance should now work together correctly.
4013 + Some code-generation bugs relating to function try blocks
4014 were fixed.
4015 + G++ is a little bit more lenient with certain archaic
4016 constructs than in GCC 2.95.
4017 + Fix to prevent shared library version #s from bring truncated
4018 to 1 digit
4019 + Fix missing std:: in the libstdc++ library.
4020 + Fix stream locking problems in libio.
4021 + Fix problem in java compiler driver.
4022
4023Additional Changes in GCC 2.95.2
4024
4025 The -fstrict-aliasing is not enabled by default for GCC 2.95.2. While
4026 the optimizations performed by -fstrict-aliasing are valid according
4027 to the C and C++ standards, the optimization have caused some
4028 problems, particularly with old non-conforming code.
4029
4030 The GCC developers are experimenting with ways to warn users about
4031 code which violates the C/C++ standards, but those warnings are not
4032 ready for widespread use at this time. Rather than wait for those
4033 warnings the GCC developers have chosen to disable -fstrict-aliasing
4034 by default for the GCC 2.95.2 release.
4035
4036 We strongly encourage developers to find and fix code which violates
4037 the C/C++ standards as -fstrict-aliasing may be enabled by default in
4038 future releases. Use the option -fstrict-aliasing to re-enable these
4039 optimizations.
4040 * Generic bugfixes and improvements
4041 + Fix incorrectly optimized memory reference in global common
4042 subexpression elimination (GCSE) optimization pass.
4043 + Fix code generation bug in regmove.c in which it could
4044 incorrectly change a "const" value.
4045 + Fix bug in optimization of conditionals involving volatile
4046 memory references.
4047 + Avoid over-allocation of stack space for some procedures.
4048 + Fixed bug in the compiler which caused incorrect optimization
4049 of an obscure series of bit manipulations, shifts and
4050 arithmetic.
4051 + Fixed register allocator bug which caused teTeX to be
4052 mis-compiled on Sparc targets.
4053 + Avoid incorrect optimization of degenerate case statements
4054 for certain targets such as the ARM.
4055 + Fix out of range memory reference in the jump optimizer.
4056 + Avoid dereferencing null pointer in fix-header.
4057 + Fix test for GCC specific features so that it is possible to
4058 bootstrap with gcc-2.6.2 and older versions of GCC.
4059 + Fix typo in scheduler which could potentially cause out of
4060 range memory accesses.
4061 + Avoid incorrect loop reversal which caused incorrect code for
4062 certain loops on PowerPC targets.
4063 + Avoid incorrect optimization of switch statements on certain
4064 targets (for example the ARM).
4065 * Platform specific bugfixes and improvements
4066 + Work around bug in Sun V5.0 compilers which caused bootstrap
4067 comparison failures on Sparc targets.
4068 + Fix Sparc backend bug which caused aborts in final.c.
4069 + Fix sparc-hal-solaris2* configuration fragments.
4070 + Fix bug in sparc block profiling.
4071 + Fix obscure code generation bug for the PARISC targets.
4072 + Define __STDC_EXT__ for HPUX configurations.
4073 + Various POWERPC64 code generation bugfixes.
4074 + Fix abort for PPC targets using ELF (ex GNU/Linux).
4075 + Fix collect2 problems for AIX targets.
4076 + Correct handling of .file directive for PPC targets.
4077 + Fix bug in fix_trunc x86 patterns.
4078 + Fix x86 port to correctly pop the FP stack for functions that
4079 return structures in memory.
4080 + Fix minor bug in strlen x86 pattern.
4081 + Use stabs debugging instead of dwarf1 for x86-solaris
4082 targets.
4083 + Fix template repository code to handle leading underscore in
4084 mangled names.
4085 + Fix weak/weak alias support for OpenBSD.
4086 + GNU/Linux for the ARM has C++ compatible include files.
4087 * Language & Runtime specific fixes.
4088 + Fix handling of constructor attribute in the C front-end
4089 which caused problems building the Chill runtime library on
4090 some targets.
4091 + Fix minor problem merging type qualifiers in the C front-end.
4092 + Fix aliasing bug for pointers and references (C/C++).
4093 + Fix incorrect "non-constant initializer bug" when
4094 -traditional or -fwritable-strings is enabled.
4095 + Fix build error for Chill front-end on SunOS.
4096 + Do not complain about duplicate instantiations when using
4097 -frepo (C++).
4098 + Fix array bounds handling in C++ front-end which caused
4099 problems with dwarf debugging information in some
4100 circumstances.
4101 + Fix minor namespace problem.
4102 + Fix problem linking java programs.
4103
4104Additional Changes in GCC 2.95.3
4105
4106 * Generic bugfixes and improvements
4107 + Fix numerous problems that caused incorrect optimization in
4108 the register reloading code.
4109 + Fix numerous problems that caused incorrect optimization in
4110 the loop optimizer.
4111 + Fix aborts in the functions build_insn_chain and scan_loops
4112 under some circumstances.
4113 + Fix an alias analysis bug.
4114 + Fix an infinite compilation bug in the combiner.
4115 + A few problems with complex number support have been fixed.
4116 + It is no longer possible for gcc to act as a fork bomb when
4117 installed incorrectly.
4118 + The -fpack-struct option should be recognized now.
4119 + Fixed a bug that caused incorrect code to be generated due to
4120 a lost stack adjustment.
4121 * Platform specific bugfixes and improvements
4122 + Support building ARM toolchains hosted on Windows.
4123 + Fix attribute calculations in ARM toolchains.
4124 + arm-linux support has been improved.
4125 + Fix a PIC failure on sparc targets.
4126 + On ix86 targets, the regparm attribute should now work
4127 reliably.
4128 + Several updates for the h8300 port.
4129 + Fix problem building libio with glibc 2.2.
4130 _________________________________________________________________
4131
4132 Please send FSF & GNU inquiries & questions to [17]gnu@gnu.org. There
4133 are also [18]other ways to contact the FSF.
4134
4135 These pages are maintained by [19]the GCC team.
4136
4137
4138 For questions related to the use of GCC, please consult these web
4139 pages and the [20]GCC manuals. If that fails, the
4140 [21]gcc-help@gcc.gnu.org mailing list might help.
4141 Please send comments on these web pages and the development of GCC
4142 to our developer mailing list at [22]gcc@gnu.org or
4143 [23]gcc@gcc.gnu.org. All of our lists have [24]public archives.
4144
4145 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
4146 330, Boston, MA 02111, USA.
4147
4148 Verbatim copying and distribution of this entire article is permitted
4149 in any medium, provided this notice is preserved.
4150
4151 Last modified 2004-08-06 [25]Valid XHTML 1.0
4152
4153References
4154
4155 1. http://gcc.gnu.org/news/spill.html
4156 2. http://gcc.gnu.org/news/lcm.html
4157 3. http://gcc.gnu.org/news/cprop.html
4158 4. http://gcc.gnu.org/news/cfg.html
4159 5. http://gcc.gnu.org/news/dse.html
4160 6. http://gcc.gnu.org/news/hoist.html
4161 7. http://gcc.gnu.org/news/alias.html
4162 8. http://gcc.gnu.org/gcc-2.95/c++features.html
4163 9. http://gcc.gnu.org/onlinedocs/g77/News.html
4164 10. http://gcc.gnu.org/java/gcj-announce.txt
4165 11. http://gcc.gnu.org/news/javaannounce.html
4166 12. http://gcc.gnu.org/c99status.html
4167 13. http://gcc.gnu.org/news/chill.html
4168 14. http://gcc.gnu.org/news/sparc.html
4169 15. http://gcc.gnu.org/news/egcs-vcg.html
4170 16. http://gcc.gnu.org/egcs-1.0/features-2.8.html
4171 17. mailto:gnu@gnu.org
4172 18. http://www.gnu.org/home.html#ContactInfo
4173 19. http://gcc.gnu.org/about.html
4174 20. http://gcc.gnu.org/onlinedocs/
4175 21. mailto:gcc-help@gcc.gnu.org
4176 22. mailto:gcc@gnu.org
4177 23. mailto:gcc@gcc.gnu.org
4178 24. http://gcc.gnu.org/lists.html
4179 25. http://validator.w3.org/check/referer
4180======================================================================
4181http://gcc.gnu.org/gcc-2.95/caveats.html
4182
4183 GCC 2.95 Caveats
4184
4185 * GCC 2.95 will issue an error for invalid asm statements that had
4186 been silently accepted by earlier versions of the compiler. This
4187 is particularly noticeable when compiling older versions of the
4188 Linux kernel (2.0.xx). Please refer to the FAQ (as shipped with
4189 GCC 2.95) for more information on this issue.
4190 * GCC 2.95 implements type based alias analysis to disambiguate
4191 memory references. Some programs, particularly the Linux kernel
4192 violate ANSI/ISO aliasing rules and therefore may not operate
4193 correctly when compiled with GCC 2.95. Please refer to the FAQ (as
4194 shipped with GCC 2.95) for more information on this issue.
4195 * GCC 2.95 has a known bug in its handling of complex variables for
4196 64bit targets. Instead of silently generating incorrect code, GCC
4197 2.95 will issue a fatal error for situations it can not handle.
4198 This primarily affects the Fortran community as Fortran makes more
4199 use of complex variables than C or C++.
4200 * GCC 2.95 has an integrated libstdc++, but does not have an
4201 integrated libg++. Furthermore old libg++ releases will not work
4202 with GCC 2.95. You can retrieve a recent copy of libg++ from the
4203 [1]GCC ftp server.
4204 Note most C++ programs only need libstdc++.
4205 * Exception handling may not work with shared libraries,
4206 particularly on alphas, hppas, rs6000/powerpc and mips based
4207 platforms. Exception handling is known to work on x86 GNU/Linux
4208 platforms with shared libraries.
4209 * In general, GCC 2.95 is more rigorous about rejecting invalid C++
4210 code or deprecated C++ constructs than G++ 2.7, G++ 2.8, EGCS 1.0,
4211 or EGCS 1.1. As a result it may be necessary to fix C++ code
4212 before it will compile with GCC 2.95.
4213 * G++ is also converting toward the ISO C++ standard; as a result
4214 code which was previously valid (and thus accepted by other
4215 compilers and older versions of g++) may no longer be accepted.
4216 The flag -fpermissive may allow some non-conforming code to
4217 compile with GCC 2.95.
4218 * GCC 2.95 compiled C++ code is not binary compatible with EGCS
4219 1.1.x, EGCS 1.0.x or GCC 2.8.x.
4220 * GCC 2.95 does not have changes from the GCC 2.8 tree that were
4221 made between Sept 30, 1998 and April 30, 1999 (the official end of
4222 the GCC 2.8 project). Future GCC releases will include all the
4223 changes from the defunct GCC 2.8 sources.
4224 _________________________________________________________________
4225
4226 Please send FSF & GNU inquiries & questions to [2]gnu@gnu.org. There
4227 are also [3]other ways to contact the FSF.
4228
4229 These pages are maintained by [4]the GCC team.
4230
4231
4232 For questions related to the use of GCC, please consult these web
4233 pages and the [5]GCC manuals. If that fails, the
4234 [6]gcc-help@gcc.gnu.org mailing list might help.
4235 Please send comments on these web pages and the development of GCC
4236 to our developer mailing list at [7]gcc@gnu.org or
4237 [8]gcc@gcc.gnu.org. All of our lists have [9]public archives.
4238
4239 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
4240 330, Boston, MA 02111, USA.
4241
4242 Verbatim copying and distribution of this entire article is permitted
4243 in any medium, provided this notice is preserved.
4244
4245 Last modified 2004-08-06 [10]Valid XHTML 1.0
4246
4247References
4248
4249 1. ftp://gcc.gnu.org/pub/gcc/infrastructure/libg++-2.8.1.3.tar.gz
4250 2. mailto:gnu@gnu.org
4251 3. http://www.gnu.org/home.html#ContactInfo
4252 4. http://gcc.gnu.org/about.html
4253 5. http://gcc.gnu.org/onlinedocs/
4254 6. mailto:gcc-help@gcc.gnu.org
4255 7. mailto:gcc@gnu.org
4256 8. mailto:gcc@gcc.gnu.org
4257 9. http://gcc.gnu.org/lists.html
4258 10. http://validator.w3.org/check/referer
4259======================================================================
4260http://gcc.gnu.org/egcs-1.1/index.html
4261
4262 EGCS 1.1
4263
4264 September 3, 1998: We are pleased to announce the release of EGCS 1.1.
4265 December 1, 1998: We are pleased to announce the release of EGCS
4266 1.1.1.
4267 March 15, 1999: We are pleased to announce the release of EGCS 1.1.2.
4268
4269 EGCS is a free software project to further the development of the GNU
4270 compilers using an open development environment.
4271
4272 EGCS 1.1 is a major new release of the EGCS compiler system. It has
4273 been [1]extensively tested and is believed to be stable and suitable
4274 for widespread use.
4275
4276 EGCS 1.1 is based on an June 6, 1998 snapshot of the GCC 2.8
4277 development sources; it contains all of the new features found in GCC
4278 2.8.1 as well as all new development from GCC up to June 6, 1998.
4279
4280 EGCS 1.1 also contains many improvements and features not found in GCC
4281 or in older versions of EGCS:
4282 * Global common subexpression elimination and global constant/copy
4283 propagation (aka [2]gcse)
4284 * Ongoing improvements to the [3]alias analysis support to allow for
4285 better optimizations throughout the compiler.
4286 * Vastly improved [4]C++ compiler and integrated C++ runtime
4287 libraries.
4288 * Fixes for the /tmp symlink race security problems.
4289 * New targets including mips16, arm-thumb and 64 bit PowerPC.
4290 * Improvements to GNU Fortran (g77) compiler and runtime library
4291 made since g77 version 0.5.23.
4292
4293 See the [5]new features page for a more complete list of new features
4294 found in EGCS 1.1 releases.
4295
4296 EGCS 1.1.1 is a minor update to fix several serious problems in EGCS
4297 1.1:
4298 * General improvements and fixes
4299 + Avoid some stack overflows when compiling large functions.
4300 + Avoid incorrect loop invariant code motions.
4301 + Fix some core dumps on Linux kernel code.
4302 + Bring back the imake -Di386 and friends fix from EGCS 1.0.2.
4303 + Fix code generation problem in gcse.
4304 + Various documentation related fixes.
4305 * g++/libstdc++ improvements and fixes
4306 + MT safe EH fix for setjmp/longjmp based exception handling.
4307 + Fix a few bad interactions between optimization and exception
4308 handling.
4309 + Fixes for demangling of template names starting with "__".
4310 + Fix a bug that would fail to run destructors in some cases
4311 with -O2.
4312 + Fix 'new' of classes with virtual bases.
4313 + Fix crash building Qt on the Alpha.
4314 + Fix failure compiling WIFEXITED macro on GNU/Linux.
4315 + Fix some -frepo failures.
4316 * g77 and libf2c improvements and fixes
4317 + Various documentation fixes.
4318 + Avoid compiler crash on RAND intrinsic.
4319 + Fix minor bugs in makefiles exposed by BSD make programs.
4320 + Define _XOPEN_SOURCE for libI77 build to avoid potential
4321 problems on some 64-bit systems.
4322 + Fix problem with implicit endfile on rewind.
4323 + Fix spurious recursive I/O errors.
4324 * platform specific improvements and fixes
4325 + Match all versions of UnixWare7.
4326 + Do not assume x86 SVR4 or UnixWare targets can handle stabs.
4327 + Fix PPC/RS6000 LEGITIMIZE_ADDRESS macro and bug in conversion
4328 from unsigned ints to double precision floats.
4329 + Fix ARM ABI issue with NetBSD.
4330 + Fix a few arm code generation bugs.
4331 + Fixincludes will fix additional broken SCO OpenServer header
4332 files.
4333 + Fix a m68k backend bug which caused invalid offsets in reg+d
4334 addresses.
4335 + Fix problems with 64bit AIX 4.3 support.
4336 + Fix handling of long longs for varargs/stdarg functions on
4337 the ppc.
4338 + Minor fixes to CPP predefines for Windows.
4339 + Fix code generation problems with gpr<->fpr copies for 64bit
4340 ppc.
4341 + Fix a few coldfire code generation bugs.
4342 + Fix some more header file problems on SunOS 4.x.
4343 + Fix assert.h handling for RTEMS.
4344 + Fix Windows handling of TREE_SYMBOL_REFERENCED.
4345 + Fix x86 compiler abort in reg-stack pass.
4346 + Fix cygwin/windows problem with section attributes.
4347 + Fix Alpha code generation problem exposed by SMP Linux
4348 kernels.
4349 + Fix typo in m68k 32->64bit integer conversion.
4350 + Make sure target libraries build with -fPIC for PPC & Alpha
4351 targets.
4352
4353 EGCS 1.1.2 is a minor update to fix several serious problems in EGCS
4354 1.1.1:
4355 * General improvements and fixes
4356 + Fix bug in loop optimizer which caused the SPARC (and
4357 potentially other) ports to segfault.
4358 + Fix infinite recursion in alias analysis and combiner code.
4359 + Fix bug in regclass preferencing.
4360 + Fix incorrect loop reversal which caused incorrect code to be
4361 generated for several targets.
4362 + Fix return value for builtin memcpy.
4363 + Reduce compile time for certain loops which exposed quadratic
4364 behavior in the loop optimizer.
4365 + Fix bug which caused volatile memory to be written multiple
4366 times when only one write was needed/desired.
4367 + Fix compiler abort in caller-save.c
4368 + Fix combiner bug which caused incorrect code generation for
4369 certain division by constant operations.
4370 + Fix incorrect code generation due to a bug in range check
4371 optimizations.
4372 + Fix incorrect code generation due to mis-handling of
4373 clobbered values in CSE.
4374 + Fix compiler abort/segfault due to incorrect register
4375 splitting when unrolling loops.
4376 + Fix code generation involving autoincremented addresses with
4377 ternary operators.
4378 + Work around bug in the scheduler which caused qt to be
4379 mis-compiled on some platforms.
4380 + Fix code generation problems with -fshort-enums.
4381 + Tighten security for temporary files.
4382 + Improve compile time for codes which make heavy use of
4383 overloaded functions.
4384 + Fix multiply defined constructor/destructor symbol problems.
4385 + Avoid setting bogus RPATH environment variable during
4386 bootstrap.
4387 + Avoid GNU-make dependencies in the texinfo subdir.
4388 + Install CPP wrapper script in $(prefix)/bin if --enable-cpp.
4389 --enable-cpp=<dirname> can be used to specify an additional
4390 install directory for the cpp wrapper script.
4391 + Fix CSE bug which caused incorrect label-label refs to appear
4392 on some platforms.
4393 + Avoid linking in EH routines from libgcc if they are not
4394 needed.
4395 + Avoid obscure bug in aliasing code.
4396 + Fix bug in weak symbol handling.
4397 * Platform-specific improvements and fixes
4398 + Fix detection of PPro/PII on Unixware 7.
4399 + Fix compiler segfault when building spec99 and other programs
4400 for SPARC targets.
4401 + Fix code-generation bugs for integer and floating point
4402 conditional move instructions on the PPro/PII.
4403 + Use fixincludes to fix byteorder problems on i?86-*-sysv.
4404 + Fix build failure for the arc port.
4405 + Fix floating point format configuration for i?86-gnu port.
4406 + Fix problems with hppa1.0-hp-hpux10.20 configuration when
4407 threads are enabled.
4408 + Fix coldfire code generation bugs.
4409 + Fix "unrecognized insn" problems for Alpha and PPC ports.
4410 + Fix h8/300 code generation problem with floating point values
4411 in memory.
4412 + Fix unrecognized insn problems for the m68k port.
4413 + Fix namespace-pollution problem for the x86 port.
4414 + Fix problems with old assembler on x86 NeXT systems.
4415 + Fix PIC code-generation problems for the SPARC port.
4416 + Fix minor bug with LONG_CALLS in PowerPC SVR4 support.
4417 + Fix minor ISO namespace violation in Alpha varargs/stdarg
4418 support.
4419 + Fix incorrect "braf" instruction usage for the SH port.
4420 + Fix minor bug in va-sh which prevented its use with -ansi.
4421 + Fix problems recognizing and supporting FreeBSD.
4422 + Handle OpenBSD systems correctly.
4423 + Minor fixincludes fix for Digital UNIX 4.0B.
4424 + Fix problems with ctors/dtors in SCO shared libraries.
4425 + Abort instead of generating incorrect code for PPro/PII
4426 floating point conditional moves.
4427 + Avoid multiply defined symbols on Linux/GNU systems using
4428 libc-5.4.xx.
4429 + Fix abort in alpha compiler.
4430 * Fortran-specific fixes
4431 + Fix the IDate intrinsic (VXT) (in libg2c) so the returned
4432 year is in the documented, non-Y2K-compliant range of 0-99,
4433 instead of being returned as 100 in the year 2000.
4434 + Fix the `Date_and_Time' intrinsic (in libg2c) to return the
4435 milliseconds value properly in Values(8).
4436 + Fix the `LStat' intrinsic (in libg2c) to return device-ID
4437 information properly in SArray(7).
4438
4439 Each release includes installation instructions in both HTML and
4440 plaintext forms (see the INSTALL directory in the toplevel directory
4441 of the distribution). However, we also keep the most up to date
4442 [6]installation instructions and [7]build/test status on our web page.
4443 We will update those pages as new information becomes available.
4444
4445 The EGCS project would like to thank the numerous people that have
4446 contributed new features, test results, bugfixes, etc. This [8]amazing
4447 group of volunteers is what makes EGCS successful.
4448
4449 And finally, we can't in good conscience fail to mention some
4450 [9]caveats to using EGCS 1.1.
4451
4452 Download EGCS from egcs.cygnus.com (USA California).
4453
4454 The EGCS 1.1 release is also available on many mirror sites.
4455 [10]Goto mirror list to find a closer site.
4456 _________________________________________________________________
4457
4458 Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There
4459 are also [12]other ways to contact the FSF.
4460
4461 These pages are maintained by [13]the GCC team.
4462
4463
4464 For questions related to the use of GCC, please consult these web
4465 pages and the [14]GCC manuals. If that fails, the
4466 [15]gcc-help@gcc.gnu.org mailing list might help.
4467 Please send comments on these web pages and the development of GCC
4468 to our developer mailing list at [16]gcc@gnu.org or
4469 [17]gcc@gcc.gnu.org. All of our lists have [18]public archives.
4470
4471 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
4472 330, Boston, MA 02111, USA.
4473
4474 Verbatim copying and distribution of this entire article is permitted
4475 in any medium, provided this notice is preserved.
4476
4477 Last modified 2004-08-06 [19]Valid XHTML 1.0
4478
4479References
4480
4481 1. http://gcc.gnu.org/egcs-1.1/egcs-1.1-test.html
4482 2. http://gcc.gnu.org/news/gcse.html
4483 3. http://gcc.gnu.org/news/alias.html
4484 4. http://gcc.gnu.org/egcs-1.1/c++features.html
4485 5. http://gcc.gnu.org/egcs-1.1/features.html
4486 6. http://gcc.gnu.org/install/
4487 7. http://gcc.gnu.org/egcs-1.1/buildstat.html
4488 8. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
4489 9. http://gcc.gnu.org/egcs-1.1/caveats.html
4490 10. http://gcc.gnu.org/mirrors.html
4491 11. mailto:gnu@gnu.org
4492 12. http://www.gnu.org/home.html#ContactInfo
4493 13. http://gcc.gnu.org/about.html
4494 14. http://gcc.gnu.org/onlinedocs/
4495 15. mailto:gcc-help@gcc.gnu.org
4496 16. mailto:gcc@gnu.org
4497 17. mailto:gcc@gcc.gnu.org
4498 18. http://gcc.gnu.org/lists.html
4499 19. http://validator.w3.org/check/referer
4500======================================================================
4501http://gcc.gnu.org/egcs-1.1/features.html
4502
4503 EGCS 1.1 new features
4504
4505 * Integrated GNU Fortran (g77) compiler and runtime library with
4506 improvements, based on [1]g77 version 0.5.23.
4507 * Vast improvements in the C++ compiler; so many they have [2]page
4508 of their own!
4509 * Compiler implements [3]global common subexpression elimination and
4510 global copy/constant propagation.
4511 * More major improvements in the [4]alias analysis code.
4512 * More major improvements in the exception handling code to improve
4513 performance, lower static overhead and provide the infrastructure
4514 for future improvements.
4515 * The infamous /tmp symlink race security problems have been fixed.
4516 * The regmove optimization pass has been nearly completely rewritten
4517 to improve performance of generated code.
4518 * The compiler now recomputes register usage information before
4519 local register allocation. By providing more accurate information
4520 to the priority based allocator, we get better register
4521 allocation.
4522 * The register reloading phase of the compiler optimizes spill code
4523 much better than in previous releases.
4524 * Some bad interactions between the register allocator and
4525 instruction scheduler have been fixed, resulting in much better
4526 code for certain programs. Additionally, we have tuned the
4527 scheduler in various ways to improve performance of generated code
4528 for some architectures.
4529 * The compiler's branch shortening algorithms have been
4530 significantly improved to work better on targets which align jump
4531 targets.
4532 * The compiler now supports -Os to prefer optimizing for code space
4533 over optimizing for code speed.
4534 * The compiler will now totally eliminate library calls which
4535 compute constant values. This primarily helps targets with no
4536 integer div/mul support and targets without floating point
4537 support.
4538 * The compiler now supports an extensive "--help" option.
4539 * cpplib has been greatly improved and may be suitable for limited
4540 use.
4541 * Memory footprint for the compiler has been significantly reduced
4542 for some pathological cases.
4543 * The time to build EGCS has been improved for certain targets
4544 (particularly the alpha and mips platforms).
4545 * Many infrastructure improvements throughout the compiler, plus the
4546 usual mountain of bugfixes and minor improvements.
4547 * Target dependent improvements:
4548 + SPARC port now includes V8 plus and V9 support as well as
4549 performance tuning for Ultra class machines. The SPARC port
4550 now uses the Haifa scheduler.
4551 + Alpha port has been tuned for the EV6 processor and has an
4552 optimized expansion of memcpy/bzero. The Alpha port now uses
4553 the Haifa scheduler.
4554 + RS6000/PowerPC: support for the Power64 architecture and AIX
4555 4.3. The RS6000/PowerPC port now uses the Haifa scheduler.
4556 + x86: Alignment of static store data and jump targets is per
4557 Intel recommendations now. Various improvements throughout
4558 the x86 port to improve performance on Pentium processors
4559 (including improved epilogue sequences for Pentium chips and
4560 backend improvements which should help register allocation on
4561 all x86 variants. Conditional move support has been fixed and
4562 enabled for PPro processors. The x86 port also better
4563 supports 64bit operations now. Unixware 7, a System V Release
4564 5 target, is now supported and SCO OpenServer targets can
4565 support GAS.
4566 + MIPS has improved multiply/multiply-add support and now
4567 includes mips16 ISA support.
4568 + M68k has many micro-optimizations and Coldfire fixes.
4569 * Core compiler is based on the GCC development tree from June 9,
4570 1998, so we have all of the [5]features found in GCC 2.8.
4571 _________________________________________________________________
4572
4573 Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There
4574 are also [7]other ways to contact the FSF.
4575
4576 These pages are maintained by [8]the GCC team.
4577
4578
4579 For questions related to the use of GCC, please consult these web
4580 pages and the [9]GCC manuals. If that fails, the
4581 [10]gcc-help@gcc.gnu.org mailing list might help.
4582 Please send comments on these web pages and the development of GCC
4583 to our developer mailing list at [11]gcc@gnu.org or
4584 [12]gcc@gcc.gnu.org. All of our lists have [13]public archives.
4585
4586 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
4587 330, Boston, MA 02111, USA.
4588
4589 Verbatim copying and distribution of this entire article is permitted
4590 in any medium, provided this notice is preserved.
4591
4592 Last modified 2004-08-06 [14]Valid XHTML 1.0
4593
4594References
4595
4596 1. http://gcc.gnu.org/onlinedocs/g77/News.html
4597 2. http://gcc.gnu.org/egcs-1.1/c++features.html
4598 3. http://gcc.gnu.org/news/gcse.html
4599 4. http://gcc.gnu.org/news/alias.html
4600 5. http://gcc.gnu.org/egcs-1.0/features-2.8.html
4601 6. mailto:gnu@gnu.org
4602 7. http://www.gnu.org/home.html#ContactInfo
4603 8. http://gcc.gnu.org/about.html
4604 9. http://gcc.gnu.org/onlinedocs/
4605 10. mailto:gcc-help@gcc.gnu.org
4606 11. mailto:gcc@gnu.org
4607 12. mailto:gcc@gcc.gnu.org
4608 13. http://gcc.gnu.org/lists.html
4609 14. http://validator.w3.org/check/referer
4610======================================================================
4611http://gcc.gnu.org/egcs-1.1/caveats.html
4612
4613 EGCS 1.1 Caveats
4614
4615 * EGCS has an integrated libstdc++, but does not have an integrated
4616 libg++. Furthermore old libg++ releases will not work with EGCS;
4617 HJ Lu has made a libg++-2.8.1.2 snapshot available which may work
4618 with EGCS.
4619 Note most C++ programs only need libstdc++.
4620 * Exception handling may not work with shared libraries,
4621 particularly on alphas, hppas, rs6000/powerpc and mips based
4622 platforms. Exception handling is known to work on x86-linux
4623 platforms with shared libraries.
4624 * Some versions of the Linux kernel have bugs which prevent them
4625 from being compiled or from running when compiled by EGCS. See the
4626 FAQ (as shipped with EGCS 1.1) for additional information.
4627 * In general, EGCS is more rigorous about rejecting invalid C++ code
4628 or deprecated C++ constructs than g++-2.7, g++-2.8 or EGCS 1.0. As
4629 a result it may be necessary to fix C++ code before it will
4630 compile with EGCS.
4631 * G++ is also converting toward the ISO C++ standard; as a result
4632 code which was previously valid (and thus accepted by other
4633 compilers and older versions of g++) may no longer be accepted.
4634 * EGCS 1.1 compiled C++ code is not binary compatible with EGCS
4635 1.0.x or GCC 2.8.x due to changes necessary to support thread safe
4636 exception handling.
4637 _________________________________________________________________
4638
4639 Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There
4640 are also [2]other ways to contact the FSF.
4641
4642 These pages are maintained by [3]the GCC team.
4643
4644
4645 For questions related to the use of GCC, please consult these web
4646 pages and the [4]GCC manuals. If that fails, the
4647 [5]gcc-help@gcc.gnu.org mailing list might help.
4648 Please send comments on these web pages and the development of GCC
4649 to our developer mailing list at [6]gcc@gnu.org or
4650 [7]gcc@gcc.gnu.org. All of our lists have [8]public archives.
4651
4652 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
4653 330, Boston, MA 02111, USA.
4654
4655 Verbatim copying and distribution of this entire article is permitted
4656 in any medium, provided this notice is preserved.
4657
4658 Last modified 2004-08-06 [9]Valid XHTML 1.0
4659
4660References
4661
4662 1. mailto:gnu@gnu.org
4663 2. http://www.gnu.org/home.html#ContactInfo
4664 3. http://gcc.gnu.org/about.html
4665 4. http://gcc.gnu.org/onlinedocs/
4666 5. mailto:gcc-help@gcc.gnu.org
4667 6. mailto:gcc@gnu.org
4668 7. mailto:gcc@gcc.gnu.org
4669 8. http://gcc.gnu.org/lists.html
4670 9. http://validator.w3.org/check/referer
4671======================================================================
4672http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.html
4673
4674 EGCS 1.0.3
4675
4676 May 15, 1998
4677
4678 We are pleased to announce the release of EGCS 1.0.3.
4679
4680 EGCS is a collaborative effort involving several groups of hackers
4681 using an open development model to accelerate development and testing
4682 of GNU compilers and runtime libraries.
4683
4684 EGCS 1.0.3 is a minor update to the EGCS 1.0.2 compiler to fix a few
4685 problems reported by Red Hat for builds of Red Hat 5.1.
4686 * Generic bugfixes:
4687 + Fix a typo in the libio library which resulted in incorrect
4688 behavior of istream::get.
4689 + Fix the Fortran negative array index problem.
4690 + Fix a major problem with the ObjC runtime thread support
4691 exposed by glibc2.
4692 + Reduce memory consumption of the Haifa scheduler.
4693 * Target specific bugfixes:
4694 + Fix one x86 floating point code generation bug exposed by
4695 glibc2 builds.
4696 + Fix one x86 internal compiler error exposed by glibc2 builds.
4697 + Fix profiling bugs on the Alpha.
4698 + Fix ImageMagick & emacs 20.2 build problems on the Alpha.
4699 + Fix rs6000/ppc bug when converting values from integer types
4700 to floating point types.
4701
4702 An important goal of EGCS is to allow wide scale testing of new
4703 features and optimizations which are still under development. However,
4704 EGCS has been carefully tested and should be comparable in quality to
4705 most GCC releases.
4706
4707 EGCS 1.0.3 is based on an August 2, 1997 snapshot of the GCC 2.8
4708 development sources; it contains nearly all of the new features found
4709 in GCC 2.8.
4710
4711 EGCS also contains many improvements and features not found in GCC 2.7
4712 or GCC 2.8.
4713 * Integrated C++ runtime libraries, including support for most major
4714 GNU/Linux systems!
4715 * The integrated libstdc++ library includes a verbatim copy of SGI's
4716 STL release instead of a modified copy.
4717 * Integrated GNU Fortran compiler.
4718 * New instruction scheduler.
4719 * New alias analysis code.
4720
4721 See the [1]new features page for a more complete list of new features
4722 found in EGCS 1.0.x releases.
4723
4724 The EGCS 1.0.3 release includes installation instructions in both HTML
4725 and plaintext forms (see the INSTALL directory in the toplevel
4726 directory of the EGCS 1.0.3 distribution). However, we also keep the
4727 most up to date [2]installation instructions and [3]build/test status
4728 on our web page. We will update those pages as new information becomes
4729 available.
4730
4731 And, we can't in good conscience fail to mention some [4]caveats to
4732 using EGCS.
4733
4734 Update: Big thanks to Stanford for providing a high speed link for
4735 downloading EGCS (go.cygnus.com)!
4736
4737 Download EGCS from ftp.cygnus.com (USA California) or go.cygnus.com
4738 (USA California -- High speed link provided by Stanford).
4739
4740 The EGCS 1.0.3 release is also available on many mirror sites.
4741 [5]Goto mirror list to find a closer site
4742
4743 We'd like to thank the numerous people that have contributed new
4744 features, test results, bugfixes, etc. Unfortunately, they're far too
4745 numerous to mention by name.
4746 _________________________________________________________________
4747
4748 Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There
4749 are also [7]other ways to contact the FSF.
4750
4751 These pages are maintained by [8]the GCC team.
4752
4753
4754 For questions related to the use of GCC, please consult these web
4755 pages and the [9]GCC manuals. If that fails, the
4756 [10]gcc-help@gcc.gnu.org mailing list might help.
4757 Please send comments on these web pages and the development of GCC
4758 to our developer mailing list at [11]gcc@gnu.org or
4759 [12]gcc@gcc.gnu.org. All of our lists have [13]public archives.
4760
4761 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
4762 330, Boston, MA 02111, USA.
4763
4764 Verbatim copying and distribution of this entire article is permitted
4765 in any medium, provided this notice is preserved.
4766
4767 Last modified 2004-08-06 [14]Valid XHTML 1.0
4768
4769References
4770
4771 1. http://gcc.gnu.org/egcs-1.0/features.html
4772 2. http://gcc.gnu.org/install/
4773 3. http://gcc.gnu.org/egcs-1.0/buildstat.html
4774 4. http://gcc.gnu.org/egcs-1.0/caveats.html
4775 5. http://gcc.gnu.org/mirrors.html
4776 6. mailto:gnu@gnu.org
4777 7. http://www.gnu.org/home.html#ContactInfo
4778 8. http://gcc.gnu.org/about.html
4779 9. http://gcc.gnu.org/onlinedocs/
4780 10. mailto:gcc-help@gcc.gnu.org
4781 11. mailto:gcc@gnu.org
4782 12. mailto:gcc@gcc.gnu.org
4783 13. http://gcc.gnu.org/lists.html
4784 14. http://validator.w3.org/check/referer
4785======================================================================
4786http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.html
4787
4788 EGCS 1.0.2
4789
4790 March 16, 1998
4791
4792 We are pleased to announce the release of EGCS 1.0.2.
4793
4794 EGCS is a collaborative effort involving several groups of hackers
4795 using an open development model to accelerate development and testing
4796 of GNU compilers and runtime libraries.
4797
4798 EGCS 1.0.2 is a minor update to the EGCS 1.0.1 compiler to fix several
4799 serious problems in EGCS 1.0.1.
4800 * General improvements and fixes
4801 + Memory consumption significantly reduced, especially for
4802 templates and inline functions.
4803 + Fix various problems with glibc2.1.
4804 + Fix loop optimization bug exposed by rs6000/ppc port.
4805 + Fix to avoid potential code generation problems in jump.c.
4806 + Fix some undefined symbol problems in dwarf1 debug support.
4807 * g++/libstdc++ improvements and fixes
4808 + libstdc++ in the EGCS release has been updated and should be
4809 link compatible with libstdc++-2.8.
4810 + Various fixes in libio/libstdc++ to work better on Linux
4811 systems.
4812 + Fix problems with duplicate symbols on systems that do not
4813 support weak symbols.
4814 + Memory corruption bug and undefined symbols in bastring have
4815 been fixed.
4816 + Various exception handling fixes.
4817 + Fix compiler abort for very long thunk names.
4818 * g77 improvements and fixes
4819 + Fix compiler crash for omitted bound in Fortran CASE
4820 statement.
4821 + Add missing entries to g77 lang-options.
4822 + Fix problem with -fpedantic in the g77 compiler.
4823 + Fix "backspace" problem with g77 on alphas.
4824 + Fix x86 backend problem with Fortran literals and -fpic.
4825 + Fix some of the problems with negative subscripts for g77 on
4826 alphas.
4827 + Fixes for Fortran builds on cygwin32/mingw32.
4828 * platform specific improvements and fixes
4829 + Fix long double problems on x86 (exposed by glibc).
4830 + x86 ports define i386 again to keep imake happy.
4831 + Fix exception handling support on NetBSD ports.
4832 + Several changes to collect2 to fix many problems with AIX.
4833 + Define __ELF__ for rs6000/linux.
4834 + Fix -mcall-linux problem on rs6000/linux.
4835 + Fix stdarg/vararg problem for rs6000/linux.
4836 + Allow autoconf to select a proper install problem on AIX 3.1.
4837 + m68k port support includes -mcpu32 option as well as cpu32
4838 multilibs.
4839 + Fix stdarg bug for irix6.
4840 + Allow EGCS to build on irix5 without the gnu assembler.
4841 + Fix problem with static linking on sco5.
4842 + Fix bootstrap on sco5 with native compiler.
4843 + Fix for abort building newlib on H8 target.
4844 + Fix fixincludes handling of math.h on SunOS.
4845 + Minor fix for Motorola 3300 m68k systems.
4846
4847 An important goal of EGCS is to allow wide scale testing of new
4848 features and optimizations which are still under development. However,
4849 EGCS has been carefully tested and should be comparable in quality to
4850 most GCC releases.
4851
4852 EGCS 1.0.2 is based on an August 2, 1997 snapshot of the GCC 2.8
4853 development sources; it contains nearly all of the new features found
4854 in GCC 2.8.
4855
4856 EGCS also contains many improvements and features not found in GCC 2.7
4857 or GCC 2.8.
4858 * Integrated C++ runtime libraries, including support for most major
4859 linux systems!
4860 * The integrated libstdc++ library includes a verbatim copy of SGI's
4861 STL release.
4862 * Integrated GNU Fortran compiler.
4863 * New instruction scheduler.
4864 * New alias analysis code.
4865
4866 See the [1]new features page for a more complete list of new features
4867 found in EGCS 1.0.x releases.
4868
4869 The EGCS 1.0.2 release includes installation instructions in both HTML
4870 and plaintext forms (see the INSTALL directory in the toplevel
4871 directory of the EGCS 1.0.2 distribution). However, we also keep the
4872 most up to date [2]installation instructions and [3]build/test status
4873 on our web page. We will update those pages as new information becomes
4874 available.
4875
4876 And, we can't in good conscience fail to mention some [4]caveats to
4877 using EGCS.
4878
4879 Update: Big thanks to Stanford for providing a high speed link for
4880 downloading EGCS (go.cygnus.com)!
4881
4882 Download EGCS from ftp.cygnus.com (USA California) or go.cygnus.com
4883 (USA California -- High speed link provided by Stanford).
4884
4885 The EGCS 1.0.2 release is also available on many mirror sites.
4886 [5]Goto mirror list to find a closer site
4887
4888 We'd like to thank the numerous people that have contributed new
4889 features, test results, bugfixes, etc. Unfortunately, they're far too
4890 numerous to mention by name.
4891 _________________________________________________________________
4892
4893 Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There
4894 are also [7]other ways to contact the FSF.
4895
4896 These pages are maintained by [8]the GCC team.
4897
4898
4899 For questions related to the use of GCC, please consult these web
4900 pages and the [9]GCC manuals. If that fails, the
4901 [10]gcc-help@gcc.gnu.org mailing list might help.
4902 Please send comments on these web pages and the development of GCC
4903 to our developer mailing list at [11]gcc@gnu.org or
4904 [12]gcc@gcc.gnu.org. All of our lists have [13]public archives.
4905
4906 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
4907 330, Boston, MA 02111, USA.
4908
4909 Verbatim copying and distribution of this entire article is permitted
4910 in any medium, provided this notice is preserved.
4911
4912 Last modified 2004-08-06 [14]Valid XHTML 1.0
4913
4914References
4915
4916 1. http://gcc.gnu.org/egcs-1.0/features.html
4917 2. http://gcc.gnu.org/install/index.html
4918 3. http://gcc.gnu.org/egcs-1.0/buildstat.html
4919 4. http://gcc.gnu.org/egcs-1.0/caveats.html
4920 5. http://gcc.gnu.org/mirrors.html
4921 6. mailto:gnu@gnu.org
4922 7. http://www.gnu.org/home.html#ContactInfo
4923 8. http://gcc.gnu.org/about.html
4924 9. http://gcc.gnu.org/onlinedocs/
4925 10. mailto:gcc-help@gcc.gnu.org
4926 11. mailto:gcc@gnu.org
4927 12. mailto:gcc@gcc.gnu.org
4928 13. http://gcc.gnu.org/lists.html
4929 14. http://validator.w3.org/check/referer
4930======================================================================
4931http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.html
4932
4933 EGCS 1.0.1
4934
4935 January 6, 1998
4936
4937 We are pleased to announce the release of EGCS 1.0.1.
4938
4939 EGCS is a collaborative effort involving several groups of hackers
4940 using an open development model to accelerate development and testing
4941 of GNU compilers and runtime libraries.
4942
4943 EGCS 1.0.1 is a minor update to the EGCS 1.0 compiler to fix a few
4944 critical bugs and add support for Red Hat 5.0 Linux. Changes since the
4945 EGCS 1.0 release:
4946 * Add support for Red Hat 5.0 Linux and better support for Linux
4947 systems using glibc2.
4948 Many programs failed to link when compiled with EGCS 1.0 on Red
4949 Hat 5.0 or on systems with newer versions of glibc2. EGCS 1.0.1
4950 should fix these problems.
4951 * Compatibility with both EGCS 1.0 and GCC 2.8 libgcc exception
4952 handling interfaces.
4953 To avoid future compatibility problems, we strongly urge anyone
4954 who is planning on distributing shared libraries that contain C++
4955 code to upgrade to EGCS 1.0.1 first.
4956 Soon after EGCS 1.0 was released, the GCC developers made some
4957 incompatible changes in libgcc's exception handling interfaces.
4958 These changes were needed to solve problems on some platforms.
4959 This means that GCC 2.8.0, when released, will not be seamlessly
4960 compatible with shared libraries built by EGCS 1.0. The reason is
4961 that the libgcc.a in GCC 2.8.0 will not contain a function needed
4962 by the old interface.
4963 The result of this is that there may be compatibility problems
4964 with shared libraries built by EGCS 1.0 when used with GCC 2.8.0.
4965 With EGCS 1.0.1, generated code uses the new (GCC 2.8.0)
4966 interface, and libgcc.a has the support routines for both the old
4967 and the new interfaces (so EGCS 1.0.1 and EGCS 1.0 code can be
4968 freely mixed, and EGCS 1.0.1 and GCC 2.8.0 code can be freely
4969 mixed).
4970 The maintainers of GCC 2.x have decided against including seamless
4971 support for the old interface in 2.8.0, since it was never
4972 "official", so to avoid future compatibility problems we recommend
4973 against distributing any shared libraries built by EGCS 1.0 that
4974 contain C++ code (upgrade to 1.0.1 and use that).
4975 * Various bugfixes in the x86, hppa, mips, and rs6000/ppc backends.
4976 The x86 changes fix code generation errors exposed when building
4977 glibc2 and the Linux dynamic linker (ld.so).
4978 The hppa change fixes a compiler abort when configured for use
4979 with RTEMS.
4980 The MIPS changes fix problems with the definition of LONG_MAX on
4981 newer systems, allow for command line selection of the target ABI,
4982 and fix one code generation problem.
4983 The rs6000/ppc change fixes some problems with passing structures
4984 to varargs/stdarg functions.
4985 * A few machine independent bugfixes, mostly to fix code generation
4986 errors when building Linux kernels or glibc.
4987 * Fix a few critical exception handling and template bugs in the C++
4988 compiler.
4989 * Fix Fortran namelist bug on alphas.
4990 * Fix build problems on x86-solaris systems.
4991
4992 An important goal of EGCS is to allow wide scale testing of new
4993 features and optimizations which are still under development. However,
4994 EGCS has been carefully tested and should be comparable in quality to
4995 most GCC releases.
4996
4997 EGCS 1.0.1 is based on an August 2, 1997 snapshot of the GCC 2.8
4998 development sources; it contains nearly all of the new features found
4999 in GCC 2.8.
5000
5001 EGCS also contains many improvements and features not found in GCC 2.7
5002 and even the soon to be released GCC 2.8 compilers.
5003 * Integrated C++ runtime libraries, including support for most major
5004 linux systems!
5005 * The integrated libstdc++ library includes a verbatim copy of SGI's
5006 STL release.
5007 * Integrated GNU Fortran compiler
5008 * New instruction scheduler
5009 * New alias analysis code
5010
5011 See the [1]new features page for a more complete list of new features
5012 found in EGCS 1.0.x releases.
5013
5014 The EGCS 1.0.1 release includes installation instructions in both HTML
5015 and plaintext forms (see the INSTALL directory in the toplevel
5016 directory of the EGCS 1.0.1 distribution). However, we also keep the
5017 most up to date [2]installation instructions and [3]build/test status
5018 on our web page. We will update those pages as new information becomes
5019 available.
5020
5021 And, we can't in good conscience fail to mention some [4]caveats to
5022 using EGCS.
5023
5024 Update: Big thanks to Stanford for providing a high speed link for
5025 downloading EGCS (go.cygnus.com)!
5026
5027 Download EGCS from ftp.cygnus.com (USA California) or go.cygnus.com
5028 (USA California -- High speed link provided by Stanford).
5029
5030 The EGCS 1.0.1 release is also available on many mirror sites.
5031 [5]Goto mirror list to find a closer site
5032
5033 We'd like to thank the numerous people that have contributed new
5034 features, test results, bugfixes, etc. Unfortunately, they're far too
5035 numerous to mention by name.
5036 _________________________________________________________________
5037
5038 Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There
5039 are also [7]other ways to contact the FSF.
5040
5041 These pages are maintained by [8]the GCC team.
5042
5043
5044 For questions related to the use of GCC, please consult these web
5045 pages and the [9]GCC manuals. If that fails, the
5046 [10]gcc-help@gcc.gnu.org mailing list might help.
5047 Please send comments on these web pages and the development of GCC
5048 to our developer mailing list at [11]gcc@gnu.org or
5049 [12]gcc@gcc.gnu.org. All of our lists have [13]public archives.
5050
5051 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
5052 330, Boston, MA 02111, USA.
5053
5054 Verbatim copying and distribution of this entire article is permitted
5055 in any medium, provided this notice is preserved.
5056
5057 Last modified 2004-08-06 [14]Valid XHTML 1.0
5058
5059References
5060
5061 1. http://gcc.gnu.org/egcs-1.0/features.html
5062 2. http://gcc.gnu.org/install/index.html
5063 3. http://gcc.gnu.org/egcs-1.0/buildstat.html
5064 4. http://gcc.gnu.org/egcs-1.0/caveats.html
5065 5. http://gcc.gnu.org/mirrors.html
5066 6. mailto:gnu@gnu.org
5067 7. http://www.gnu.org/home.html#ContactInfo
5068 8. http://gcc.gnu.org/about.html
5069 9. http://gcc.gnu.org/onlinedocs/
5070 10. mailto:gcc-help@gcc.gnu.org
5071 11. mailto:gcc@gnu.org
5072 12. mailto:gcc@gcc.gnu.org
5073 13. http://gcc.gnu.org/lists.html
5074 14. http://validator.w3.org/check/referer
5075======================================================================
5076http://gcc.gnu.org/egcs-1.0/egcs-1.0.html
5077
5078 EGCS 1.0
5079
5080 December 3, 1997
5081
5082 We are pleased to announce the release of EGCS 1.0.
5083
5084 EGCS is a collaborative effort involving several groups of hackers
5085 using an open development model to accelerate development and testing
5086 of GNU compilers and runtime libraries.
5087
5088 An important goal of EGCS is to allow wide scale testing of
5089 experimental features and optimizations; therefore, EGCS contains some
5090 features and optimizations which are still under development. However,
5091 EGCS has been carefully tested and should be comparable in quality to
5092 most GCC releases.
5093
5094 EGCS 1.0 is based on an August 2, 1997 snapshot of the GCC 2.8
5095 development sources; it contains nearly all of the new features found
5096 in GCC 2.8.
5097
5098 EGCS 1.0 also contains many improvements and features not found in GCC
5099 2.7 and even the soon to be released GCC 2.8 compilers.
5100 * Integrated C++ runtime libraries, including support for most major
5101 linux systems!
5102 * The integrated libstdc++ library includes a verbatim copy of SGI's
5103 STL release.
5104 * Integrated GNU Fortran compiler.
5105 * New instruction scheduler.
5106 * New alias analysis code.
5107
5108 See the [1]new features page for a more complete list of new features.
5109
5110 The EGCS 1.0 release includes installation instructions in both HTML
5111 and plaintext forms (see the INSTALL directory in the toplevel
5112 directory of the EGCS 1.0 distribution). However, we also keep the
5113 most up to date [2]installation instructions and [3]build/test status
5114 on our web page. We will update those pages as new information becomes
5115 available.
5116
5117 And, we can't in good conscience fail to mention some [4]caveats to
5118 using EGCS.
5119
5120 Update: The T1 into our main California offices has been 100%
5121 saturated since shortly after the release. We've added an EGCS 1.0
5122 mirror at our Massachusetts office to help share the load. We also
5123 encourage folks to use the many mirrors available throughout the
5124 world.
5125
5126 Update: Big thanks to Stanford for providing a high speed link for
5127 downloading EGCS (go.cygnus.com)!
5128
5129 Download EGCS from ftp.cygnus.com (USA California) or go.cygnus.com
5130 (USA California -- High speed link provided by Stanford).
5131
5132 The EGCS 1.0 release should be available on most mirror sites by now.
5133 [5]Goto mirror list to find a closer site
5134
5135 We'd like to thank the numerous people that have contributed new
5136 features, test results, bugfixes, etc. Unfortunately, they're far too
5137 numerous to mention by name.
5138 _________________________________________________________________
5139
5140 Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There
5141 are also [7]other ways to contact the FSF.
5142
5143 These pages are maintained by [8]the GCC team.
5144
5145
5146 For questions related to the use of GCC, please consult these web
5147 pages and the [9]GCC manuals. If that fails, the
5148 [10]gcc-help@gcc.gnu.org mailing list might help.
5149 Please send comments on these web pages and the development of GCC
5150 to our developer mailing list at [11]gcc@gnu.org or
5151 [12]gcc@gcc.gnu.org. All of our lists have [13]public archives.
5152
5153 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
5154 330, Boston, MA 02111, USA.
5155
5156 Verbatim copying and distribution of this entire article is permitted
5157 in any medium, provided this notice is preserved.
5158
5159 Last modified 2004-08-06 [14]Valid XHTML 1.0
5160
5161References
5162
5163 1. http://gcc.gnu.org/egcs-1.0/features.html
5164 2. http://gcc.gnu.org/install/index.html
5165 3. http://gcc.gnu.org/egcs-1.0/buildstat.html
5166 4. http://gcc.gnu.org/egcs-1.0/caveats.html
5167 5. http://gcc.gnu.org/mirrors.html
5168 6. mailto:gnu@gnu.org
5169 7. http://www.gnu.org/home.html#ContactInfo
5170 8. http://gcc.gnu.org/about.html
5171 9. http://gcc.gnu.org/onlinedocs/
5172 10. mailto:gcc-help@gcc.gnu.org
5173 11. mailto:gcc@gnu.org
5174 12. mailto:gcc@gcc.gnu.org
5175 13. http://gcc.gnu.org/lists.html
5176 14. http://validator.w3.org/check/referer
5177======================================================================
5178http://gcc.gnu.org/egcs-1.0/features.html
5179
5180 EGCS 1.0 features
5181
5182 * Core compiler is based on the gcc2 development tree from Aug 2,
5183 1997, so we have most of the [1]features found in GCC 2.8.
5184 * Integrated GNU Fortran compiler based on g77-0.5.22-19970929.
5185 * Vast improvements in the C++ compiler; so many they have [2]page
5186 of their own!
5187 * Integrated C++ runtime libraries, including support for most major
5188 linux systems!
5189 * New instruction scheduler from IBM Haifa which includes support
5190 for function wide instruction scheduling as well as superscalar
5191 scheduling.
5192 * Significantly improved alias analysis code.
5193 * Improved register allocation for two address machines.
5194 * Significant code generation improvements for Fortran code on
5195 Alphas.
5196 * Various optimizations from the g77 project as well as improved
5197 loop optimizations.
5198 * Dwarf2 debug format support for some targets.
5199 * egcs libstdc++ includes the SGI STL implementation without
5200 changes.
5201 * As a result of these and other changes, egcs libstc++ is not
5202 binary compatible with previous releases of libstdc++.
5203 * Various new ports -- UltraSPARC, Irix6.2 & Irix6.3 support, The
5204 SCO Openserver 5 family (5.0.{0,2,4} and Internet FastStart 1.0
5205 and 1.1), Support for RTEMS on several embedded targets, Support
5206 for arm-linux, Mitsubishi M32R, Hitachi H8/S, Matsushita MN102 and
5207 MN103, NEC V850, Sparclet, Solaris & Linux on PowerPCs, etc.
5208 * Integrated testsuites for gcc, g++, g77, libstdc++ and libio.
5209 * RS6000/PowerPC ports generate code which can run on all
5210 RS6000/PowerPC variants by default.
5211 * -mcpu= and -march= switches for the x86 port to allow better
5212 control over how the x86 port generates code.
5213 * Includes the template repository patch (aka repo patch); note the
5214 new template code makes repo obsolete for ELF systems using gnu-ld
5215 such as Linux.
5216 * Plus the usual assortment of bugfixes and improvements.
5217 _________________________________________________________________
5218
5219 Please send FSF & GNU inquiries & questions to [3]gnu@gnu.org. There
5220 are also [4]other ways to contact the FSF.
5221
5222 These pages are maintained by [5]the GCC team.
5223
5224
5225 For questions related to the use of GCC, please consult these web
5226 pages and the [6]GCC manuals. If that fails, the
5227 [7]gcc-help@gcc.gnu.org mailing list might help.
5228 Please send comments on these web pages and the development of GCC
5229 to our developer mailing list at [8]gcc@gnu.org or
5230 [9]gcc@gcc.gnu.org. All of our lists have [10]public archives.
5231
5232 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
5233 330, Boston, MA 02111, USA.
5234
5235 Verbatim copying and distribution of this entire article is permitted
5236 in any medium, provided this notice is preserved.
5237
5238 Last modified 2004-08-06 [11]Valid XHTML 1.0
5239
5240References
5241
5242 1. http://gcc.gnu.org/egcs-1.0/features-2.8.html
5243 2. http://gcc.gnu.org/egcs-1.0/c++features.html
5244 3. mailto:gnu@gnu.org
5245 4. http://www.gnu.org/home.html#ContactInfo
5246 5. http://gcc.gnu.org/about.html
5247 6. http://gcc.gnu.org/onlinedocs/
5248 7. mailto:gcc-help@gcc.gnu.org
5249 8. mailto:gcc@gnu.org
5250 9. mailto:gcc@gcc.gnu.org
5251 10. http://gcc.gnu.org/lists.html
5252 11. http://validator.w3.org/check/referer
5253======================================================================
5254http://gcc.gnu.org/egcs-1.0/caveats.html
5255
5256 EGCS 1.0 Caveats
5257
5258 * EGCS has an integrated libstdc++, but does not have an integrated
5259 libg++. Furthermore old libg++ releases will not work with egc; HJ
5260 Lu has made a libg++-2.8.1.2 available which may work with EGCS.
5261 Note most C++ programs only need libstdc++.
5262 * Note that using -pedantic or -Wreturn-type can cause an explosion
5263 in the amount of memory needed for template-heavy C++ code, such
5264 as code that uses STL. Also note that -Wall includes
5265 -Wreturn-type, so if you use -Wall you will need to specify
5266 -Wno-return-type to turn it off.
5267 * Exception handling may not work with shared libraries,
5268 particularly on alphas, hppas, and mips based platforms. Exception
5269 handling is known to work on x86-linux platforms with shared
5270 libraries.
5271 * Some versions of the Linux kernel have bugs which prevent them
5272 from being compiled or from running when compiled by EGCS. See the
5273 FAQ (as shipped with EGCS 1.0) for additional information.
5274 * In general, EGCS is more rigorous about rejecting invalid C++ code
5275 or deprecated C++ constructs than G++ 2.7. As a result it may be
5276 necessary to fix C++ code before it will compile with EGCS.
5277 * G++ is also aggressively tracking the C++ standard; as a result
5278 code which was previously valid (and thus accepted by other
5279 compilers and older versions of G++) may no longer be accepted.
5280 * EGCS 1.0 may not work with Red Hat Linux 5.0 on all targets. EGCS
5281 1.0.x and later releases should work with Red Hat Linux 5.0.
5282 _________________________________________________________________
5283
5284 Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There
5285 are also [2]other ways to contact the FSF.
5286
5287 These pages are maintained by [3]the GCC team.
5288
5289
5290 For questions related to the use of GCC, please consult these web
5291 pages and the [4]GCC manuals. If that fails, the
5292 [5]gcc-help@gcc.gnu.org mailing list might help.
5293 Please send comments on these web pages and the development of GCC
5294 to our developer mailing list at [6]gcc@gnu.org or
5295 [7]gcc@gcc.gnu.org. All of our lists have [8]public archives.
5296
5297 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
5298 330, Boston, MA 02111, USA.
5299
5300 Verbatim copying and distribution of this entire article is permitted
5301 in any medium, provided this notice is preserved.
5302
5303 Last modified 2004-08-06 [9]Valid XHTML 1.0
5304
5305References
5306
5307 1. mailto:gnu@gnu.org
5308 2. http://www.gnu.org/home.html#ContactInfo
5309 3. http://gcc.gnu.org/about.html
5310 4. http://gcc.gnu.org/onlinedocs/
5311 5. mailto:gcc-help@gcc.gnu.org
5312 6. mailto:gcc@gnu.org
5313 7. mailto:gcc@gcc.gnu.org
5314 8. http://gcc.gnu.org/lists.html
5315 9. http://validator.w3.org/check/referer
5316======================================================================
Note: See TracBrowser for help on using the repository browser.