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

Last change on this file since 1463 was 1463, checked in by (none), 21 years ago

This commit was manufactured by cvs2svn to create branch 'GNU'.

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 218.5 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 February 24, 2004
13
14 The [1]GNU project and the GCC developers are pleased to announce the
15 release of GCC 3.3.3. This release was actually completed on February
16 14, but technical issues with the transition to new security measures
17 for protecting FSF servers required a delay in the announcement.
18
19 The GCC 3.3 release series includes numerous [2]new features,
20 improvements, bug fixes, and other changes, thanks to an [3]amazing
21 group of volunteers.
22
23Release History
24
25 GCC 3.3.3
26 February 14, 2004 ([4]changes)
27
28 GCC 3.3.2
29 October 16, 2003 ([5]changes)
30
31 GCC 3.3.1
32 August 8, 2003 ([6]changes)
33
34 GCC 3.3
35 May 14, 2003 ([7]changes)
36
37References and Acknowledgements
38
39 GCC used to stand for the GNU C Compiler, but since the compiler
40 supports several other languages aside from C, it now stands for the
41 GNU Compiler Collection.
42
43 A list of [8]successful builds is updated as new information becomes
44 available.
45
46 The GCC developers would like to thank the numerous people that have
47 contributed new features, improvements, bug fixes, and other changes
48 as well as test results to GCC. This [9]amazing group of volunteers is
49 what makes GCC successful.
50
51 For additional information about GCC please refer to the [10]GCC
52 project web site or contact the [11]GCC development mailing list.
53
54 To obtain GCC please use [12]our mirror sites, one of the [13]GNU
55 mirror sites, or [14]our CVS server.
56 _________________________________________________________________
57
58 Please send FSF & GNU inquiries & questions to [15]gnu@gnu.org. There
59 are also [16]other ways to contact the FSF.
60
61 These pages are maintained by [17]the GCC team.
62
63
64 For questions related to the use of GCC, please consult these web
65 pages and the [18]GCC manuals. If that fails, the
66 [19]gcc-help@gcc.gnu.org mailing list might help.
67 Please send comments on these web pages and the development of GCC
68 to our public developer mailing list at [20]gcc@gnu.org or
69 [21]gcc@gcc.gnu.org.
70
71 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
72 330, Boston, MA 02111, USA.
73
74 Verbatim copying and distribution of this entire article is permitted
75 in any medium, provided this notice is preserved.
76
77 Last modified 2004-02-29 [22]Valid XHTML 1.0
78
79References
80
81 1. http://www.gnu.org/
82 2. http://gcc.gnu.org/gcc-3.3/changes.html
83 3. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
84 4. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.3
85 5. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.2
86 6. http://gcc.gnu.org/gcc-3.3/changes.html#3.3.1
87 7. http://gcc.gnu.org/gcc-3.3/changes.html
88 8. http://gcc.gnu.org/gcc-3.3/buildstat.html
89 9. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
90 10. http://gcc.gnu.org/index.html
91 11. mailto:gcc@gcc.gnu.org
92 12. http://gcc.gnu.org/mirrors.html
93 13. http://www.gnu.org/order/ftp.html
94 14. http://gcc.gnu.org/cvs.html
95 15. mailto:gnu@gnu.org
96 16. http://www.gnu.org/home.html#ContactInfo
97 17. http://gcc.gnu.org/about.html
98 18. http://gcc.gnu.org/onlinedocs/
99 19. mailto:gcc-help@gcc.gnu.org
100 20. mailto:gcc@gnu.org
101 21. mailto:gcc@gcc.gnu.org
102 22. 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 public developer mailing list at [555]gcc@gnu.org or
1440 [556]gcc@gcc.gnu.org.
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-05-15 [557]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://validator.w3.org/check/referer
2009======================================================================
2010http://gcc.gnu.org/gcc-3.2/index.html
2011
2012 GCC 3.2 Release Series
2013
2014 April 25, 2003
2015
2016 The [1]GNU project and the GCC developers are pleased to announce the
2017 release of GCC 3.2.3.
2018
2019 The purpose of the GCC 3.2 release series is to provide a stable
2020 platform for OS distributors to use building their next releases. A
2021 primary objective was to stabilize the C++ ABI; we believe that the
2022 interface to the compiler and the C++ standard library are now
2023 relatively stable.
2024
2025 Be aware that C++ code compiled by GCC 3.2.x will (in general) not
2026 interoperate with code compiled by GCC 3.1.1 or earlier.
2027
2028 Please refer to our [2]detailed list of news, caveats, and bug-fixes
2029 for further information.
2030
2031Release History
2032
2033 GCC 3.2.3
2034 April 25, 2003 ([3]changes)
2035
2036 GCC 3.2.2
2037 February 5, 2003 ([4]changes)
2038
2039 GCC 3.2.1
2040 November 19, 2002 ([5]changes)
2041
2042 GCC 3.2
2043 August 14, 2002 ([6]changes)
2044
2045References and Acknowledgements
2046
2047 GCC used to stand for the GNU C Compiler, but since the compiler
2048 supports several other languages aside from C, it now stands for the
2049 GNU Compiler Collection.
2050
2051 A list of [7]successful builds is updated as new information becomes
2052 available.
2053
2054 The GCC developers would like to thank the numerous people that have
2055 contributed new features, improvements, bug fixes, and other changes
2056 as well as test results to GCC. This [8]amazing group of volunteers is
2057 what makes GCC successful.
2058
2059 For additional information about GCC please refer to the [9]GCC
2060 project web site or contact the [10]GCC development mailing list.
2061
2062 To obtain GCC please use [11]our mirror sites, one of the [12]GNU
2063 mirror sites, or [13]our CVS server.
2064 _________________________________________________________________
2065
2066 Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There
2067 are also [15]other ways to contact the FSF.
2068
2069 These pages are maintained by [16]the GCC team.
2070
2071
2072 For questions related to the use of GCC, please consult these web
2073 pages and the [17]GCC manuals. If that fails, the
2074 [18]gcc-help@gcc.gnu.org mailing list might help.
2075 Please send comments on these web pages and the development of GCC
2076 to our public developer mailing list at [19]gcc@gnu.org or
2077 [20]gcc@gcc.gnu.org.
2078
2079 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
2080 330, Boston, MA 02111, USA.
2081
2082 Verbatim copying and distribution of this entire article is permitted
2083 in any medium, provided this notice is preserved.
2084
2085 Last modified 2003-08-28 [21]Valid XHTML 1.0
2086
2087References
2088
2089 1. http://www.gnu.org/
2090 2. http://gcc.gnu.org/gcc-3.2/changes.html
2091 3. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.3
2092 4. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.2
2093 5. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.1
2094 6. http://gcc.gnu.org/gcc-3.2/changes.html#3.2
2095 7. http://gcc.gnu.org/gcc-3.2/buildstat.html
2096 8. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
2097 9. http://gcc.gnu.org/index.html
2098 10. mailto:gcc@gcc.gnu.org
2099 11. http://gcc.gnu.org/mirrors.html
2100 12. http://www.gnu.org/order/ftp.html
2101 13. http://gcc.gnu.org/cvs.html
2102 14. mailto:gnu@gnu.org
2103 15. http://www.gnu.org/home.html#ContactInfo
2104 16. http://gcc.gnu.org/about.html
2105 17. http://gcc.gnu.org/onlinedocs/
2106 18. mailto:gcc-help@gcc.gnu.org
2107 19. mailto:gcc@gnu.org
2108 20. mailto:gcc@gcc.gnu.org
2109 21. http://validator.w3.org/check/referer
2110======================================================================
2111http://gcc.gnu.org/gcc-3.2/changes.html
2112
2113 GCC 3.2 Release Series
2114 Changes, New Features, and Fixes
2115
2116 The latest release in the 3.2 release series is [1]GCC 3.2.3.
2117
2118Caveats and New Features
2119
2120 Caveats
2121
2122 * The C++ compiler does not correctly zero-initialize
2123 pointers-to-data members. You must explicitly initialize them. For
2124 example: int S::*m(0); will work, but depending on
2125 default-initialization to zero will not work. This bug cannot be
2126 fixed in GCC 3.2 without inducing unacceptable risks. It will be
2127 fixed in GCC 3.3.
2128 * This GCC release is based on the GCC 3.1 sourcebase, and thus has
2129 all the [2]changes in the GCC 3.1 series. In addition, GCC 3.2 has
2130 a number of C++ ABI fixes which make its C++ compiler generate
2131 binary code which is incompatible with the C++ compilers found in
2132 earlier GCC releases, including GCC 3.1 and GCC 3.1.1.
2133
2134 Frontend Enhancements
2135
2136 C/C++/Objective-C
2137
2138 * The method of constructing the list of directories to be searched
2139 for header files has been revised. If a directory named by a -I
2140 option is a standard system include directory, the option is
2141 ignored to ensure that the default search order for system
2142 directories and the special treatment of system header files are
2143 not defeated.
2144 * The C and Objective-C compilers no longer accept the "Naming
2145 Types" extension (typedef foo = bar); it was already unavailable
2146 in C++. Code which uses it will need to be changed to use the
2147 "typeof" extension instead: typedef typeof(bar) foo. (We have
2148 removed this extension without a period of deprecation because it
2149 has caused the compiler to crash since version 3.0 and no one
2150 noticed until very recently. Thus we conclude it is not in
2151 widespread use.)
2152
2153 C++
2154
2155 * There are now no known differences between the C++ ABI implemented
2156 in GCC and the multi-vendor standard. We believe that the ABI for
2157 the C++ standard library is now stable and will not change in
2158 future versions of the compiler. However, hard experience has
2159 taught us to be cautious; it is possible that more problems will
2160 be found. It is our intention to make changes to the ABI only if
2161 they are necessary for correct compilation of C++, as opposed to
2162 conformance to the ABI documents.
2163 * For details on how to build an ABI compliant compiler for
2164 GNU/Linux systems, check the [3]common C++ ABI page.
2165
2166 New Targets and Target Specific Improvements
2167
2168 IA-32
2169
2170 * Fixed a number of bugs in SSE and MMX intrinsics.
2171 * Fixed common compiler crashes with SSE instruction set enabled
2172 (implied by -march=pentium3, pentium4, athlon-xp)
2173 * __m128 and __m128i is not 128bit aligned when used in structures.
2174
2175 x86-64
2176
2177 * A bug whereby the compiler could generate bad code for bzero has
2178 been fixed.
2179 * ABI fixes (implying ABI incompatibilities with previous version in
2180 some corner cases)
2181 * Fixed prefetch code generation
2182 _________________________________________________________________
2183
2184GCC 3.2.3
2185
2186 3.2.3 is a bug fix release only; there are no new features that were
2187 not present in GCC 3.2.2.
2188
2189 Bug Fixes
2190
2191 This section lists the problem reports (PRs) from GCC's bug tracking
2192 system that are known to be fixed in the 3.2.3 release. This list
2193 might not be complete (that is, it is possible that some PRs that have
2194 been fixed are not listed here), and some of the titles have been
2195 changed to make them more clear.
2196
2197 Internal Compiler Errors (multi-platform)
2198
2199 * [4]3782: (c++) -quiet -fstats produces a segmentation fault in
2200 cc1plus
2201 * [5]6440: (c++) template specializations cause ICE
2202 * [6]7050: (c++) ICE on: (i ? get_string() : throw)
2203 * [7]7741: ICE on conflicting types (make_decl_rtl in varasm.c)
2204 * [8]7982: (c++) ICE due to infinite recursion (using STL set)
2205 * [9]8068: exceedingly high (infinite) memory usage
2206 * [10]8178: ICE with __builtin_ffs
2207 * [11]8396: ICE in copy_to_mode_reg, in explow.c
2208 * [12]8674: (c++) ICE in cp_expr_size, in cp/cp-lang.c
2209 * [13]9768: ICE when optimizing inline code at -O2
2210 * [14]9798: (c++) Infinite recursion (segfault) in
2211 cp/decl.c:push_using_directive with recursive using directives
2212 * [15]9799: mismatching structure initializer with nested flexible
2213 array member: ICE
2214 * [16]9928: ICE on duplicate enum declaration
2215 * [17]10114: ICE in mem_loc_descriptor, in dwarf2out.c (affects
2216 sparc, alpha)
2217 * [18]10352: ICE in find_reloads_toplev
2218 * [19]10336: ICE with -Wunreachable-code
2219
2220 C/optimizer bugs:
2221
2222 * [20]8224: Incorrect joining of signed and unsigned division
2223 * [21]8613: -O2 produces wrong code with builtin strlen and
2224 postincrements
2225 * [22]8828: gcc reports some code is unreachable when it is not
2226 * [23]9226: GCSE breaking argument passing
2227 * [24]9853: miscompilation of non-constant structure initializer
2228 * [25]9797: C99-style struct initializers are miscompiled
2229 * [26]9967: Some standard C function calls should not be replaced
2230 when optimizing for size
2231 * [27]10116: ce2: invalid merge of join_bb in the context of switch
2232 statements
2233 * [28]10171: wrong code for inlined function
2234 * [29]10175: -Wunreachable-code doesn't work for single lines
2235
2236 C++ compiler and library:
2237
2238 * [30]8316: Confusing diagnostic for code that misuses conversion
2239 operators
2240 * [31]9169: filebuf output fails if codecvt<>::out returns noconv
2241 * [32]9420: incomplete type incorrectly reported
2242 * [33]9459: typeof in return type specification of template not
2243 supported
2244 * [34]9507: filebuf::open handles ios_base::ate incorrectly
2245 * [35]9538: Out-of-bounds memory access in streambuf::sputbackc
2246 * [36]9602: Total confusion about template/friend/virtual/abstract
2247 * [37]9993: destructor not called for local object created within
2248 and returned from infinite loop
2249 * [38]10167: ieee_1003.1-2001 locale specialisations on a
2250 glibc-2.3.2 system
2251
2252 Java compiler and library:
2253
2254 * [39]9652: libgcj build fails on irix6.5.1[78]
2255 * [40]10144: gas on solaris complains about bad .stabs lines for
2256 java, native as unaffected
2257
2258 x86-specific (Intel/AMD):
2259
2260 * [41]8746: gcc miscompiles Linux kernel ppa driver on x86
2261 * [42]9888: -mcpu=k6 -Os produces out of range loop instructions
2262 * [43]9638: Cross-build for target i386-elf and i586-pc-linux-gnu
2263 failed
2264 * [44]9954: Cross-build for target i586-pc-linux-gnu (--with-newlib)
2265 failed
2266
2267 Sparc-specific:
2268
2269 * [45]7784: [Sparc] ICE in extract_insn, in recog.c
2270 * [46]7796: sparc extra failure with -m64 on execute/930921-1.c in
2271 unroll.c
2272 * [47]8281: ICE when compiling with -O2 -fPIC for Ultrasparc
2273 * [48]8366: [Sparc] C testsuite failure with -m64 -fpic -O in
2274 execute/loop-2d.c
2275 * [49]8726: gcc -O2 miscompiles Samba 2.2.7 on 32-bit sparc
2276 * [50]9414: Scheduling bug on Ultrasparc
2277 * [51]10067: GCC-3.2.2 outputs invalid asm on sparc64
2278
2279 m68k-specific:
2280
2281 * [52]7248: broken "inclusive or" code
2282 * [53]8343: m68k-elf/rtems ICE at instantiate_virtual_regs_1
2283
2284 PowerPC-specific:
2285
2286 * [54]9732: Wrong code with -O2 -fPIC
2287 * [55]10073: ICE: powerpc cannot split insn
2288
2289 Alpha-specific:
2290
2291 * [56]7702: optimization problem on a DEC alpha under OSF1
2292 * [57]9671: gcc.3.2.2 does not build on a HP Tru64 Unix v5.1B system
2293
2294 HP-specific:
2295
2296 * [58]8694: <string> breaks <ctype.h> on HP-UX 10.20 (DUP: 9275)
2297 * [59]9953: (ada) gcc 3.2.x can't build 3.3-branch ada on HP-UX 10
2298 (missing symbol)
2299 * [60]10271: Floating point args don't get reloaded across function
2300 calls with -O2
2301
2302 MIPS specific:
2303
2304 * [61]6362: mips-irix6 gcc-3.1 C testsuite failure with -mips4 in
2305 compile/920501-4.c
2306
2307 CRIS specific:
2308
2309 * [62]10377: gcc-3.2.2 creates bad assembler code for cris
2310
2311 Miscellaneous and minor bugs:
2312
2313 * [63]6955: collect2 says "core dumped" when there is no core
2314 _________________________________________________________________
2315
2316GCC 3.2.2
2317
2318 Beginning with 3.2.2, GCC's Makefile suite supports redirection of
2319 make install by means of the DESTDIR variable. Parts of the GCC tree
2320 have featured that support long before, but now it is available even
2321 from the top level.
2322
2323 Other than that, GCC 3.2.2 is a bug fix release only; there are no new
2324 features that were not present in GCC 3.2.1.
2325
2326 Bug Fixes
2327
2328 On the following i386-based systems GCC 3.2.1 broke the C ABI wrt.
2329 functions returning structures: Cygwin, FreeBSD (GCC 3.2.1 as shipped
2330 with FreeBSD 5.0 does not have this problem), Interix, a.out-based
2331 Linux and NetBSD, OpenBSD, and Darwin. GCC 3.2.2 reverts this ABI
2332 change, and thus restores ABI-compatibility with previous releases
2333 (except GCC 3.2.1) on these platforms.
2334
2335 This section lists the problem reports (PRs) from GCC's bug tracking
2336 system that are known to be fixed in the 3.2.2 release. This list
2337 might not be complete (that is, it is possible that some PRs that have
2338 been fixed are not listed here) and some of the titles have been
2339 changed to make them more clear.
2340
2341 Internal Compiler Errors (multi-platform)
2342
2343 * [64]5919: (c++) ICE when passing variable array to template
2344 function
2345 * [65]7129: (c++) ICE with min/max assignment operators (<?= and
2346 >?=)
2347 * [66]7507: ICE with -O2 when address of called function is a
2348 complicated expression
2349 * [67]7622: ICE with nested inline functions if function's address
2350 is taken
2351 * [68]7681: (fortran) ICE in compensate_edge, in reg-stack.c (also
2352 PR [69]9258)
2353 * [70]8031: (c++) ICE in code comparing typeids and casting from
2354 virtual base
2355 * [71]8275: ICE in simplify_subreg
2356 * [72]8332: (c++) builtin strlen/template interaction causes ICE
2357 * [73]8372: (c++) ICE on explicit call of destructor
2358 * [74]8439: (c, not c++) empty struct causes ICE
2359 * [75]8442: (c++) ICE with nested template classes
2360 * [76]8518: ICE when compiling mplayer ("extern inline" issue)
2361 * [77]8615: (c++) ICE with out-of-range character constant template
2362 argument
2363 * [78]8663: (c++) ICE in cp_expr_size, at cp-lang.c:307
2364 * [79]8799: (c++) ICE: error reporting routines re-entered
2365 * [80]9328: (c++) ICE with typeof(X) for overloaded X
2366 * [81]9465: (preprocessor) cpp -traditional ICE on null bytes
2367
2368 C++ (compiler and library) bugs
2369
2370 * [82]47: scoping in nested classes is broken
2371 * [83]6745: problems with iostream rdbuf() member function
2372 * [84]8214: conversion from const char* const to char* sometimes
2373 accepted illegally
2374 * [85]8493: builtin strlen and overload resolution (same bug as
2375 [86]8332)
2376 * [87]8503: strange behaviour of function types
2377 * [88]8727: compiler confused by inheritance from an anonymous
2378 struct
2379 * [89]7445: poor performance of std::locale::classic() in
2380 multi-threaded applications
2381 * [90]8230: mishandling of overflow in vector<T>::resize
2382 * [91]8399: sync_with_stdio(false) breaks unformatted input
2383 * [92]8662: illegal access of private member of unnamed class is
2384 accepted
2385 * [93]8707: "make distclean" fails in libstdc++-v3 directory
2386 * [94]8708: __USE_MALLOC doesn't work
2387 * [95]8790: Use of non-thread-safe strtok in src/localename.cc
2388 * [96]8887: Bug in date formats with --enable-clocale=generic
2389 * [97]9076: Call Frame Instructions are not handled correctly during
2390 unwind operation
2391 * [98]9151: std::setprecision limited to 16 digits when outputting a
2392 double to a stream
2393 * [99]9168: codecvt<char, char, mbstate_t> overwrites output buffers
2394 * [100]9269: libstdc++ headers: explicit specialization of function
2395 must precede its first use
2396 * [101]9322: return value of basic_streambuf<>::getloc affected by
2397 locale::global
2398 * [102]9433: segfault in runtime support for dynamic_cast
2399
2400 C and optimizer bugs
2401
2402 * [103]8032: GCC incorrectly initializes static structs that have
2403 flexible arrays
2404 * [104]8639: simple arithmetic expression broken
2405 * [105]8794: optimization improperly eliminates certain expressions
2406 * [106]8832: traditional "asm volatile" code is illegally optimized
2407 * [107]8988: loop optimizer bug: with -O2, code is generated that
2408 segfaults (found on i386, bug present for all platforms)
2409 * [108]9492: structure copy clobbers subsequent stores to structure
2410
2411 Objective-C bugs
2412
2413 * [109]9267: Objective-C parser won't build with newer bison
2414 versions (e.g. 1.875)
2415
2416 Ada bugs
2417
2418 * [110]8344: Ada build problem due to conflict between gcc/final.o,
2419 gcc/ada/final.o
2420
2421 Preprocessor bugs
2422
2423 * [111]8524: _Pragma within macros is improperly expanded
2424 * [112]8880: __WCHAR_TYPE__ macro incorrectly set to "long int" with
2425 -fshort-wchar
2426
2427 ARM-specific
2428
2429 * [113]9090: arm ICE with >= -O2; regression from gcc-2.95
2430
2431 x86-specific (Intel/AMD)
2432
2433 * [114]8588: ICE in extract_insn, at recog.c:NNNN (shift
2434 instruction)
2435 * [115]8599: loop unroll bug with -march=k6-3
2436 * [116]9506: ABI breakage in structure return (affects BSD and
2437 Cygwin, but not GNU/Linux)
2438
2439 FreeBSD 5.0 specific
2440
2441 * [117]9484: GCC 3.2.1 Bootstrap failure on FreeBSD 5.0
2442
2443 RTEMS-specific
2444
2445 * [118]9292: hppa1.1-rtems configurery problems
2446 * [119]9293: [m68k-elf/rtems] config/m68k/t-crtstuff bug
2447 * [120]9295: [mips-rtems] config/mips/rtems.h init/fini issue
2448 * [121]9296: gthr-rtems regression
2449 * [122]9316: powerpc-rtems: extending multilibs
2450
2451 HP-PA specific
2452
2453 * [123]9493: ICE with -O2 when building a simple function
2454
2455 Documentation
2456
2457 * [124]7341: hyperlink to gcov in GCC documentation doesn't work
2458 * [125]8947: Please add a warning about "-malign-double" in docs
2459 * [126]7448, [127]8882: typo cleanups
2460 _________________________________________________________________
2461
2462GCC 3.2.1
2463
2464 3.2.1 adds a new warning, -Wabi. This option warns when GNU C++
2465 generates code that is known not to be binary-compatible with the
2466 vendor-neutral ia32/ia64 ABI. Please consult the GCC manual, included
2467 in the distribution, for details.
2468
2469 This release also removes an old GCC extension, "naming types", and
2470 the documentation now directs users to use a different GCC extension,
2471 __typeof__, instead. The feature had evidently been broken for a
2472 while.
2473
2474 Otherwise, 3.2.1 is a bug fix release only; other than bug fixes and
2475 the new warning there are no new features that were not present in GCC
2476 3.2.
2477
2478 In addition, the previous fix for [128]PR 7445 (poor performance of
2479 std::locale::classic() in multi-threaded applications) was reverted
2480 ("unfixed"), because the "fix" was not thread-safe.
2481
2482 Bug Fixes
2483
2484 This section lists the problem reports (PRs) from GCC's bug tracking
2485 system that are known to be fixed in the 3.2.1 release. This list
2486 might not be complete (that is, it is possible that some PRs that have
2487 been fixed are not listed here). As you can see, the number of bug
2488 fixes is quite large, so it is strongly recommended that users of
2489 earlier GCC 3.x releases upgrade to GCC 3.2.1.
2490
2491 Internal Compiler Errors (multi-platform)
2492
2493 * [129]2521: (c++) ICE in build_ptrmemfunc, in cp/typeck.c
2494 * [130]5661: (c++) ICE instantiating template on array of unknown
2495 size (bad code)
2496 * [131]6419: (c++) ICE in make_decl_rtl for "longest" attribute on
2497 64-bit platforms
2498 * [132]6994: (c++) ICE in find_function_data
2499 * [133]7150: preprocessor: GCC -dM -E gives an ICE
2500 * [134]7160: ICE when optimizing branches without a return value
2501 * [135]7228: (c++) ICE when using member template and template
2502 function
2503 * [136]7266: (c++) ICE with -pedantic on missing typename
2504 * [137]7353: ICE from use of "Naming Types" extension, see above
2505 * [138]7411: ICE in instantiate_virtual_regs_1, in function.c
2506 * [139]7478: (c++) ICE on static_cast inside template
2507 * [140]7526: preprocessor core dump when _Pragma implies #pragma
2508 dependency
2509 * [141]7721: (c++) ICE on simple (but incorrect) template ([142]7803
2510 is a duplicate)
2511 * [143]7754: (c++) ICE on union with template parameter
2512 * [144]7788: (c++) redeclaring a definition as an incomplete class
2513 causes ICE
2514 * [145]8031: (c++) ICE in comptypes, in cp/typeck.c
2515 * [146]8055: preprocessor dies with SIG11 when building FreeBSD
2516 kernel
2517 * [147]8067: (c++) ICE due to mishandling of __FUNCTION__ and
2518 related variables
2519 * [148]8134: (c++) ICE in force_store_init_value on legal code
2520 * [149]8149: (c++) ICE on incomplete type
2521 * [150]8160: (c++) ICE in build_modify_expr, in cp/typeck.c: array
2522 initialization
2523
2524 C++ (compiler and library) bugs
2525
2526 * [151]5607: No pointer adjustment in covariant return types
2527 * [152]6579: Infinite loop with statement expressions in member
2528 initialization
2529 * [153]6803: Default copy constructor bug in GCC 3.1
2530 * [154]7176: g++ confused by friend and static member with same name
2531 * [155]7188: Segfault with template class and recursive (incorrect)
2532 initializer list
2533 * [156]7306: Regression: GCC 3.x fails to compile code with virtual
2534 inheritance if a method has a variable number of arguments
2535 * [157]7461: ctype<char>::classic_table() returns offset array on
2536 Cygwin
2537 * [158]7524: f(const float arg[3]) fails
2538 * [159]7584: Erroneous ambiguous base error on using declaration
2539 * [160]7676: Member template overloading problem
2540 * [161]7679: infinite loop when a right parenthesis is missing
2541 * [162]7811: default locale not taken from environment
2542 * [163]7961: compare( char *) implemented incorrectly in
2543 basic_string<>
2544 * [164]8071: basic_ostream::operator<<(streambuf*) loops forever if
2545 streambuf::underflow() leaves gptr() NULL (dups: [165]8127,
2546 [166]6745)
2547 * [167]8096: deque::at() throws std::range_error instead of
2548 std::out_of_range
2549 * [168]8127: cout << cin.rdbuf() infinite loop
2550 * [169]8218: Excessively large memory consumed for classes with
2551 large array members
2552 * [170]8287: GCC 3.2: Destructor called for non-constructed local
2553 object
2554 * [171]8347: empty vector range used in string construction causes
2555 core dump
2556 * [172]8348: fail() flag is set in istringstream when eof() flag is
2557 set
2558 * [173]8391: regression: infinite loop in cp/decl2.c(finish_file)
2559
2560 C and optimizer bugs
2561
2562 * [174]6627: -fno-align-functions doesn't seem to disable function
2563 alignment
2564 * [175]6631: life_analysis misoptimizes code to initialize fields of
2565 a structure
2566 * [176]7102: unsigned char division results in floating exception
2567 * [177]7120: Run once loop should *always* be unrolled
2568 (pessimization)
2569 * [178]7209: Bug involving array referencing and ?: operator
2570 * [179]7515: invalid inlining of global function with -O3
2571 * [180]7814: incorrect scheduling for glibc-2.2.92 strcpy test
2572 * [181]8467: bug in sibling call optimization
2573
2574 Preprocessor bugs
2575
2576 * [182]4890: incorrect line markers from the traditional
2577 preprocessor
2578 * [183]7357: -M option omits system headers files (making it the
2579 same as -MM)
2580 * [184]7358: Changes to Sun's make Dependencies
2581 * [185]7602: C++ header files found in CPLUS_INCLUDE_PATH treated as
2582 C headers
2583 * [186]7862: Interrupting GCC -MD removes .d file but not .o
2584 * [187]8190: Failed compilation deletes -MD dependency file
2585 * [188]8524: _Pragma within macro is improperly expanded
2586
2587 x86 specific (Intel/AMD)
2588
2589 * [189]5351: (i686-only) function pass-by-value structure copy
2590 corrupts stack ([190]7591 is a duplicate)
2591 * [191]6845, [192]7034, [193]7124, [194]7174: ICE's with
2592 -march=pentium3/pentium2/athlon (these are all the same underlying
2593 bug, in MMX register use)
2594 * [195]7134, [196]7375, [197]7390: ICE with -march=athlon (maybe
2595 same as above?)
2596 * [198]6890: xmmintrin.h, _MM_TRANSPOSE4_PS is broken
2597 * [199]6981: wrong code in 64-bit manipulation on x86
2598 * [200]7242: GCC -mcpu=pentium[23] doesn't define
2599 __tune_pentiumpro__ macro
2600 * [201]7396: ix86: cmpgt_ss, cmpge_ss, cmpngt_ss, and cmpnge_ss SSE
2601 intrinsics are broken
2602 * [202]7630: GCC 3.2 breaks on Mozilla 1.0's JS sources with
2603 -march=pentium4
2604 * [203]7693: Typo in i386 mmintrin.h header
2605 * [204]7723: ICE - Pentium3 sse - GCC 3.2
2606 * [205]7951: ICE on -march=pentium4 -O2 -mfpmath=sse
2607 * [206]8146: (i686 only) gcc 3.2 miscompiles gcc 2.95.3
2608
2609 PowerPC specific
2610
2611 * [207]5967: GCC bug when profiling nested functions on powerpc
2612 * [208]6984: wrong code generated with -O2, -O3, -Os for do-while
2613 loop on PowerPC
2614 * [209]7114: PowerPC: ICE building strcoll.op from glibc-2.2.5
2615 * [210]7130: miscompiled code for GCC-3.1 in powerpc linux with
2616 -funroll-all-loops
2617 * [211]7133: PowerPC ICE: unrecognizable insn
2618 * [212]7380: ICE in extract_insn, at recog.c:2148
2619 * [213]8252: ICE on Altivec code with optimization turned on
2620 * [214]8451: Altivec ICE in GCC 3.2
2621
2622 HP/PA specific
2623
2624 * [215]7250: __ashrdi3 returns wrong value on 32 bit hppa
2625
2626 SPARC specific
2627
2628 * [216]6668: when using --disable-multilib, libgcc_s.so is installed
2629 in the wrong place on sparc-solaris
2630 * [217]7151: ICE when compiling for UltraSPARC
2631 * [218]7335: SPARC: ICE in verify_wide_reg (flow.c:557) with long
2632 double and -O1
2633 * [219]7842: [REGRESSION] SPARC code gen bug
2634
2635 ARM specific
2636
2637 * [220]7856: [arm] invalid offset in constant pool reference
2638 * [221]7967: optimization produces wrong code (ARM)
2639
2640 Alpha specific
2641
2642 * [222]7374: __builtin_fabsl broken on alpha
2643
2644 IBM s390 specific
2645
2646 * [223]7370: ICE in fixup_var_refs_1 on s390x
2647 * [224]7409: loop optimization bug on s390x-linux-gnu
2648 * [225]8232: s390x: ICE when using bcmp with int length argument
2649
2650 SCO specific
2651
2652 * [226]7623: SCO OpenServer build fails with machmode.def: undefined
2653 symbol: BITS_PER_UNIT
2654
2655 m68k/Coldfire specific
2656
2657 * [227]8314: crtbegin, crtend need to be multilib'ed for this
2658 platform
2659
2660 Documentation
2661
2662 * [228]761: Document some undocumented options
2663 * [229]5610: Fix documentation about invoking SSE instructions
2664 (-mfpmath=sse)
2665 * [230]7484: List -Wmissing-declarations as C-only option
2666 * [231]7531: -mcmodel not documented for x86-64
2667 * [232]8120: Update documentation of bad use of ##
2668 _________________________________________________________________
2669
2670GCC 3.2
2671
2672 3.2 is a small bug fix release, but there is a change to the
2673 application binary interface (ABI), hence the change to the second
2674 part of the version number.
2675
2676 The main purpose of the 3.2 release is to correct a couple of problems
2677 in the C++ ABI, with the intention of providing a stable interface
2678 going forward. Accordingly, 3.2 is only a small change to 3.1.1.
2679
2680 Bug Fixes
2681
2682 C++
2683
2684 * [233]7320: g++ 3.2 relocation problem
2685 * [234]7470: vtable: virtual function pointers not in declaration
2686 order
2687
2688 libstdc++
2689
2690 * [235]6410: Trouble with non-ASCII monetary symbols and wchar_t
2691 * [236]6503, [237]6642, [238]7186: Problems with comparing or
2692 subtracting various types of const and non-const iterators
2693 * [239]7216: ambiguity with basic_iostream::traits_type
2694 * [240]7220: problem with basic_istream::ignore(0,delimiter)
2695 * [241]7222: locale::operator==() doesn't work on std::locale("")
2696 * [242]7286: placement operator delete issue
2697 * [243]7442: cxxabi.h does not match the C++ ABI
2698 * [244]7445: poor performance of std::locale::classic() in
2699 multi-threaded applications
2700
2701 x86-64 specific
2702
2703 * [245]7291: off-by-one in generated inline bzero code for x86-64
2704 _________________________________________________________________
2705
2706 Please send FSF & GNU inquiries & questions to [246]gnu@gnu.org. There
2707 are also [247]other ways to contact the FSF.
2708
2709 These pages are maintained by [248]the GCC team.
2710
2711
2712 For questions related to the use of GCC, please consult these web
2713 pages and the [249]GCC manuals. If that fails, the
2714 [250]gcc-help@gcc.gnu.org mailing list might help.
2715 Please send comments on these web pages and the development of GCC
2716 to our public developer mailing list at [251]gcc@gnu.org or
2717 [252]gcc@gcc.gnu.org.
2718
2719 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
2720 330, Boston, MA 02111, USA.
2721
2722 Verbatim copying and distribution of this entire article is permitted
2723 in any medium, provided this notice is preserved.
2724
2725 Last modified 2003-08-28 [253]Valid XHTML 1.0
2726
2727References
2728
2729 1. http://gcc.gnu.org/gcc-3.2/changes.html#3.2.3
2730 2. http://gcc.gnu.org/gcc-3.1/changes.html
2731 3. http://gcc.gnu.org/gcc-3.2/c++-abi.html
2732 4. http://gcc.gnu.org/PR3782
2733 5. http://gcc.gnu.org/PR6440
2734 6. http://gcc.gnu.org/PR7050
2735 7. http://gcc.gnu.org/PR7741
2736 8. http://gcc.gnu.org/PR7982
2737 9. http://gcc.gnu.org/PR8068
2738 10. http://gcc.gnu.org/PR8178
2739 11. http://gcc.gnu.org/PR8396
2740 12. http://gcc.gnu.org/PR8674
2741 13. http://gcc.gnu.org/PR9768
2742 14. http://gcc.gnu.org/PR9798
2743 15. http://gcc.gnu.org/PR9799
2744 16. http://gcc.gnu.org/PR9928
2745 17. http://gcc.gnu.org/PR10114
2746 18. http://gcc.gnu.org/PR10352
2747 19. http://gcc.gnu.org/PR10336
2748 20. http://gcc.gnu.org/PR8224
2749 21. http://gcc.gnu.org/PR8613
2750 22. http://gcc.gnu.org/PR8828
2751 23. http://gcc.gnu.org/PR9226
2752 24. http://gcc.gnu.org/PR9853
2753 25. http://gcc.gnu.org/PR9797
2754 26. http://gcc.gnu.org/PR9967
2755 27. http://gcc.gnu.org/PR10116
2756 28. http://gcc.gnu.org/PR10171
2757 29. http://gcc.gnu.org/PR10175
2758 30. http://gcc.gnu.org/PR8316
2759 31. http://gcc.gnu.org/PR9169
2760 32. http://gcc.gnu.org/PR9420
2761 33. http://gcc.gnu.org/PR9459
2762 34. http://gcc.gnu.org/PR9507
2763 35. http://gcc.gnu.org/PR9538
2764 36. http://gcc.gnu.org/PR9602
2765 37. http://gcc.gnu.org/PR9993
2766 38. http://gcc.gnu.org/PR10167
2767 39. http://gcc.gnu.org/PR9652
2768 40. http://gcc.gnu.org/PR10144
2769 41. http://gcc.gnu.org/PR8746
2770 42. http://gcc.gnu.org/PR9888
2771 43. http://gcc.gnu.org/PR9638
2772 44. http://gcc.gnu.org/PR9954
2773 45. http://gcc.gnu.org/PR7784
2774 46. http://gcc.gnu.org/PR7796
2775 47. http://gcc.gnu.org/PR8281
2776 48. http://gcc.gnu.org/PR8366
2777 49. http://gcc.gnu.org/PR8726
2778 50. http://gcc.gnu.org/PR9414
2779 51. http://gcc.gnu.org/PR10067
2780 52. http://gcc.gnu.org/PR7248
2781 53. http://gcc.gnu.org/PR8343
2782 54. http://gcc.gnu.org/PR9732
2783 55. http://gcc.gnu.org/PR10073
2784 56. http://gcc.gnu.org/PR7702
2785 57. http://gcc.gnu.org/PR9671
2786 58. http://gcc.gnu.org/PR8694
2787 59. http://gcc.gnu.org/PR9953
2788 60. http://gcc.gnu.org/PR10271
2789 61. http://gcc.gnu.org/PR6362
2790 62. http://gcc.gnu.org/PR10377
2791 63. http://gcc.gnu.org/PR6955
2792 64. http://gcc.gnu.org/PR5919
2793 65. http://gcc.gnu.org/PR7129
2794 66. http://gcc.gnu.org/PR7507
2795 67. http://gcc.gnu.org/PR7622
2796 68. http://gcc.gnu.org/PR7681
2797 69. http://gcc.gnu.org/PR9528
2798 70. http://gcc.gnu.org/PR8031
2799 71. http://gcc.gnu.org/PR8275
2800 72. http://gcc.gnu.org/PR8332
2801 73. http://gcc.gnu.org/PR8372
2802 74. http://gcc.gnu.org/PR8439
2803 75. http://gcc.gnu.org/PR8442
2804 76. http://gcc.gnu.org/PR8518
2805 77. http://gcc.gnu.org/PR8615
2806 78. http://gcc.gnu.org/PR8663
2807 79. http://gcc.gnu.org/PR8799
2808 80. http://gcc.gnu.org/PR9328
2809 81. http://gcc.gnu.org/PR9465
2810 82. http://gcc.gnu.org/PR47
2811 83. http://gcc.gnu.org/PR6745
2812 84. http://gcc.gnu.org/PR8214
2813 85. http://gcc.gnu.org/PR8493
2814 86. http://gcc.gnu.org/PR8332
2815 87. http://gcc.gnu.org/PR8503
2816 88. http://gcc.gnu.org/PR8727
2817 89. http://gcc.gnu.org/PR7445
2818 90. http://gcc.gnu.org/PR8230
2819 91. http://gcc.gnu.org/PR8399
2820 92. http://gcc.gnu.org/PR8662
2821 93. http://gcc.gnu.org/PR8707
2822 94. http://gcc.gnu.org/PR8708
2823 95. http://gcc.gnu.org/PR8790
2824 96. http://gcc.gnu.org/PR8887
2825 97. http://gcc.gnu.org/PR9076
2826 98. http://gcc.gnu.org/PR9151
2827 99. http://gcc.gnu.org/PR9168
2828 100. http://gcc.gnu.org/PR9269
2829 101. http://gcc.gnu.org/PR9322
2830 102. http://gcc.gnu.org/PR9433
2831 103. http://gcc.gnu.org/PR8032
2832 104. http://gcc.gnu.org/PR8639
2833 105. http://gcc.gnu.org/PR8794
2834 106. http://gcc.gnu.org/PR8832
2835 107. http://gcc.gnu.org/PR8988
2836 108. http://gcc.gnu.org/PR9492
2837 109. http://gcc.gnu.org/PR9267
2838 110. http://gcc.gnu.org/PR8344
2839 111. http://gcc.gnu.org/PR8524
2840 112. http://gcc.gnu.org/PR8880
2841 113. http://gcc.gnu.org/PR9090
2842 114. http://gcc.gnu.org/PR8588
2843 115. http://gcc.gnu.org/PR8599
2844 116. http://gcc.gnu.org/PR9506
2845 117. http://gcc.gnu.org/PR9484
2846 118. http://gcc.gnu.org/PR9292
2847 119. http://gcc.gnu.org/PR9293
2848 120. http://gcc.gnu.org/PR9295
2849 121. http://gcc.gnu.org/PR9296
2850 122. http://gcc.gnu.org/PR9316
2851 123. http://gcc.gnu.org/PR9493
2852 124. http://gcc.gnu.org/PR7341
2853 125. http://gcc.gnu.org/PR8947
2854 126. http://gcc.gnu.org/PR7448
2855 127. http://gcc.gnu.org/PR8882
2856 128. http://gcc.gnu.org/PR7445
2857 129. http://gcc.gnu.org/PR2521
2858 130. http://gcc.gnu.org/PR5661
2859 131. http://gcc.gnu.org/PR6419
2860 132. http://gcc.gnu.org/PR6994
2861 133. http://gcc.gnu.org/PR7150
2862 134. http://gcc.gnu.org/PR7160
2863 135. http://gcc.gnu.org/PR7228
2864 136. http://gcc.gnu.org/PR7266
2865 137. http://gcc.gnu.org/PR7353
2866 138. http://gcc.gnu.org/PR7411
2867 139. http://gcc.gnu.org/PR7478
2868 140. http://gcc.gnu.org/PR7526
2869 141. http://gcc.gnu.org/PR7721
2870 142. http://gcc.gnu.org/PR7803
2871 143. http://gcc.gnu.org/PR7754
2872 144. http://gcc.gnu.org/PR7788
2873 145. http://gcc.gnu.org/PR8031
2874 146. http://gcc.gnu.org/PR8055
2875 147. http://gcc.gnu.org/PR8067
2876 148. http://gcc.gnu.org/PR8134
2877 149. http://gcc.gnu.org/PR8149
2878 150. http://gcc.gnu.org/PR8160
2879 151. http://gcc.gnu.org/PR5607
2880 152. http://gcc.gnu.org/PR6579
2881 153. http://gcc.gnu.org/PR6803
2882 154. http://gcc.gnu.org/PR7176
2883 155. http://gcc.gnu.org/PR7188
2884 156. http://gcc.gnu.org/PR7306
2885 157. http://gcc.gnu.org/PR7461
2886 158. http://gcc.gnu.org/PR7524
2887 159. http://gcc.gnu.org/PR7584
2888 160. http://gcc.gnu.org/PR7676
2889 161. http://gcc.gnu.org/PR7679
2890 162. http://gcc.gnu.org/PR7811
2891 163. http://gcc.gnu.org/PR7961
2892 164. http://gcc.gnu.org/PR8071
2893 165. http://gcc.gnu.org/PR8127
2894 166. http://gcc.gnu.org/PR6745
2895 167. http://gcc.gnu.org/PR8096
2896 168. http://gcc.gnu.org/PR8127
2897 169. http://gcc.gnu.org/PR8218
2898 170. http://gcc.gnu.org/PR8287
2899 171. http://gcc.gnu.org/PR8347
2900 172. http://gcc.gnu.org/PR8348
2901 173. http://gcc.gnu.org/PR8391
2902 174. http://gcc.gnu.org/PR6627
2903 175. http://gcc.gnu.org/PR6631
2904 176. http://gcc.gnu.org/PR7102
2905 177. http://gcc.gnu.org/PR7120
2906 178. http://gcc.gnu.org/PR7209
2907 179. http://gcc.gnu.org/PR7515
2908 180. http://gcc.gnu.org/PR7814
2909 181. http://gcc.gnu.org/PR8467
2910 182. http://gcc.gnu.org/PR4890
2911 183. http://gcc.gnu.org/PR7357
2912 184. http://gcc.gnu.org/PR7358
2913 185. http://gcc.gnu.org/PR7602
2914 186. http://gcc.gnu.org/PR7862
2915 187. http://gcc.gnu.org/PR8190
2916 188. http://gcc.gnu.org/PR8524
2917 189. http://gcc.gnu.org/PR5351
2918 190. http://gcc.gnu.org/PR7591
2919 191. http://gcc.gnu.org/PR6845
2920 192. http://gcc.gnu.org/PR7034
2921 193. http://gcc.gnu.org/PR7124
2922 194. http://gcc.gnu.org/PR7174
2923 195. http://gcc.gnu.org/PR7134
2924 196. http://gcc.gnu.org/PR7375
2925 197. http://gcc.gnu.org/PR7390
2926 198. http://gcc.gnu.org/PR6890
2927 199. http://gcc.gnu.org/PR6981
2928 200. http://gcc.gnu.org/PR7242
2929 201. http://gcc.gnu.org/PR7396
2930 202. http://gcc.gnu.org/PR7630
2931 203. http://gcc.gnu.org/PR7693
2932 204. http://gcc.gnu.org/PR7723
2933 205. http://gcc.gnu.org/PR7951
2934 206. http://gcc.gnu.org/PR8146
2935 207. http://gcc.gnu.org/PR5967
2936 208. http://gcc.gnu.org/PR6984
2937 209. http://gcc.gnu.org/PR7114
2938 210. http://gcc.gnu.org/PR7130
2939 211. http://gcc.gnu.org/PR7133
2940 212. http://gcc.gnu.org/PR7380
2941 213. http://gcc.gnu.org/PR8252
2942 214. http://gcc.gnu.org/PR8451
2943 215. http://gcc.gnu.org/PR7250
2944 216. http://gcc.gnu.org/PR6668
2945 217. http://gcc.gnu.org/PR7151
2946 218. http://gcc.gnu.org/PR7335
2947 219. http://gcc.gnu.org/PR7842
2948 220. http://gcc.gnu.org/PR7856
2949 221. http://gcc.gnu.org/PR7967
2950 222. http://gcc.gnu.org/PR7374
2951 223. http://gcc.gnu.org/PR7370
2952 224. http://gcc.gnu.org/PR7409
2953 225. http://gcc.gnu.org/PR8232
2954 226. http://gcc.gnu.org/PR7623
2955 227. http://gcc.gnu.org/PR8314
2956 228. http://gcc.gnu.org/PR761
2957 229. http://gcc.gnu.org/PR5610
2958 230. http://gcc.gnu.org/PR7484
2959 231. http://gcc.gnu.org/PR7531
2960 232. http://gcc.gnu.org/PR8120
2961 233. http://gcc.gnu.org/PR7320
2962 234. http://gcc.gnu.org/PR7470
2963 235. http://gcc.gnu.org/PR6410
2964 236. http://gcc.gnu.org/PR6503
2965 237. http://gcc.gnu.org/PR6642
2966 238. http://gcc.gnu.org/PR7186
2967 239. http://gcc.gnu.org/PR7216
2968 240. http://gcc.gnu.org/PR7220
2969 241. http://gcc.gnu.org/PR7222
2970 242. http://gcc.gnu.org/PR7286
2971 243. http://gcc.gnu.org/PR7442
2972 244. http://gcc.gnu.org/PR7445
2973 245. http://gcc.gnu.org/PR7291
2974 246. mailto:gnu@gnu.org
2975 247. http://www.gnu.org/home.html#ContactInfo
2976 248. http://gcc.gnu.org/about.html
2977 249. http://gcc.gnu.org/onlinedocs/
2978 250. mailto:gcc-help@gcc.gnu.org
2979 251. mailto:gcc@gnu.org
2980 252. mailto:gcc@gcc.gnu.org
2981 253. http://validator.w3.org/check/referer
2982======================================================================
2983http://gcc.gnu.org/gcc-3.1/index.html
2984
2985 GCC 3.1
2986
2987 July 27, 2002
2988
2989 The [1]GNU project and the GCC developers are pleased to announce the
2990 release of GCC 3.1.1.
2991
2992 The links below still apply to GCC 3.1.1.
2993
2994 May 15, 2002
2995
2996 The [2]GNU project and the GCC developers are pleased to announce the
2997 release of GCC 3.1.
2998
2999 GCC used to stand for the GNU C Compiler, but since the compiler
3000 supports several other languages aside from C, it now stands for the
3001 GNU Compiler Collection.
3002
3003 A list of [3]successful builds is updated as new information becomes
3004 available.
3005
3006 The GCC developers would like to thank the numerous people that have
3007 contributed [4]new features, improvements, bug fixes, and other
3008 changes as well as test results to GCC. This [5]amazing group of
3009 volunteers is what makes GCC successful.
3010
3011 For additional information about GCC please refer to the [6]GCC
3012 project web site or contact the [7]GCC development mailing list.
3013
3014 To obtain GCC please use [8]our mirror sites, one of the [9]GNU mirror
3015 sites, or [10]our CVS server.
3016 _________________________________________________________________
3017 _________________________________________________________________
3018
3019 Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There
3020 are also [12]other ways to contact the FSF.
3021
3022 These pages are maintained by [13]the GCC team.
3023
3024
3025 For questions related to the use of GCC, please consult these web
3026 pages and the [14]GCC manuals. If that fails, the
3027 [15]gcc-help@gcc.gnu.org mailing list might help.
3028 Please send comments on these web pages and the development of GCC
3029 to our public developer mailing list at [16]gcc@gnu.org or
3030 [17]gcc@gcc.gnu.org.
3031
3032 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
3033 330, Boston, MA 02111, USA.
3034
3035 Verbatim copying and distribution of this entire article is permitted
3036 in any medium, provided this notice is preserved.
3037
3038 Last modified 2003-08-28 [18]Valid XHTML 1.0
3039
3040References
3041
3042 1. http://www.gnu.org/
3043 2. http://www.gnu.org/
3044 3. http://gcc.gnu.org/gcc-3.1/buildstat.html
3045 4. http://gcc.gnu.org/gcc-3.1/changes.html
3046 5. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
3047 6. http://gcc.gnu.org/index.html
3048 7. mailto:gcc@gcc.gnu.org
3049 8. http://gcc.gnu.org/mirrors.html
3050 9. http://www.gnu.org/order/ftp.html
3051 10. http://gcc.gnu.org/cvs.html
3052 11. mailto:gnu@gnu.org
3053 12. http://www.gnu.org/home.html#ContactInfo
3054 13. http://gcc.gnu.org/about.html
3055 14. http://gcc.gnu.org/onlinedocs/
3056 15. mailto:gcc-help@gcc.gnu.org
3057 16. mailto:gcc@gnu.org
3058 17. mailto:gcc@gcc.gnu.org
3059 18. http://validator.w3.org/check/referer
3060======================================================================
3061http://gcc.gnu.org/gcc-3.1/changes.html
3062
3063 GCC 3.1 Release Series
3064 Changes, New Features, and Fixes
3065
3066Additional changes in GCC 3.1.1
3067
3068 * A bug related to how structures and unions are returned has been
3069 fixed for powerpc-*-netbsd*.
3070 * An important bug in the implementation of -fprefetch-loop-arrays
3071 has been fixed. Previously the optimization prefetched random
3072 blocks of memory for most targets except for i386.
3073 * The Java compiler now compiles Java programs much faster and also
3074 works with parallel make.
3075 * Nested functions have been fixed for mips*-*-netbsd*.
3076 * Some missing floating point support routines have beed added for
3077 mips*-*-netbsd*.
3078 * This [1]message gives additional information about the bugs fixed
3079 in this release.
3080
3081Caveats
3082
3083 * The -traditional C compiler option has been deprecated and will be
3084 removed in GCC 3.3. (It remains possible to preprocess non-C code
3085 with the traditional preprocessor.)
3086 * The default debugging format for most ELF platforms (including
3087 GNU/Linux and FreeBSD; notable exception is Solaris) has changed
3088 from stabs to DWARF2. This requires GDB 5.1.1 or later.
3089
3090General Optimizer Improvements
3091
3092 * Jan Hubicka, SuSE Labs, together with Richard Henderson, Red Hat,
3093 and Andreas Jaeger, SuSE Labs, has contributed [2]infrastructure
3094 for profile driven optimizations.
3095 Options -fprofile-arcs and -fbranch-probabilities can now be used
3096 to improve speed of the generated code by profiling the actual
3097 program behaviour on typical runs. In the absence of profile info
3098 the compiler attempts to guess the profile statically.
3099 * [3]SPEC2000 and SPEC95 benchmark suites are now used daily to
3100 monitor performance of the generated code.
3101 According to the SPECInt2000 results on an AMD Athlon CPU, the
3102 code generated by GCC 3.1 is 6% faster on the average (8.2% faster
3103 with profile feedback) compared to GCC 3.0. The code produced by
3104 GCC 3.0 is about 2.1% faster compared to 2.95.3. Tests were done
3105 using the -O2 -march=athlon command-line options.
3106 * Alexandre Oliva, of Red Hat, has generalized the tree inlining
3107 infrastructure developed by CodeSourcery, LLC for the C++ front
3108 end, so that it is now used in the C front end too. Inlining
3109 functions as trees exposes them earlier to the compiler, giving it
3110 more opportunities for optimization.
3111 * Support for data prefetching instructions has been added to the
3112 GCC back end and several targets. A new __builtin_prefetch
3113 intrinsic is available to explicitly insert prefetch instructions
3114 and experimental support for loop array prefetching has been added
3115 (see -fprefetch-loop-array documentation).
3116 * Support for emitting debugging information for macros has been
3117 added for DWARF2. It is activated using -g3.
3118
3119New Languages and Language specific improvements
3120
3121 C/C++
3122
3123 * A few more [4]ISO C99 features.
3124 * The preprocessor is 10-50% faster than the preprocessor in GCC
3125 3.0.
3126 * The preprocessor's symbol table has been merged with the symbol
3127 table of the C, C++ and Objective-C front ends.
3128 * The preprocessor consumes less memory than the preprocessor in GCC
3129 3.0, often significantly so. On normal input files, it typically
3130 consumes less memory than pre-3.0 cccp-based GCC, too.
3131
3132 C++
3133
3134 * -fhonor-std and -fno-honor-std have been removed. -fno-honor-std
3135 was a workaround to allow std compliant code to work with the
3136 non-std compliant libstdc++-v2. libstdc++-v3 is std compliant.
3137 * The C++ ABI has been fixed so that void (A::*)() const is mangled
3138 as "M1AKFvvE", rather than "MK1AFvvE" as before. This change only
3139 affects pointer to cv-qualified member function types.
3140 * The C++ ABI has been changed to correctly handle this code:
3141 struct A {
3142 void operator delete[] (void *, size_t);
3143 };
3144
3145 struct B : public A {
3146 };
3147
3148 new B[10];
3149
3150 The amount of storage allocated for the array will be greater than
3151 it was in 3.0, in order to store the number of elements in the
3152 array, so that the correct size can be passed to operator delete[]
3153 when the array is deleted. Previously, the value passed to
3154 operator delete[] was unpredictable.
3155 This change will only affect code that declares a two-argument
3156 operator delete[] with a second parameter of type size_t in a base
3157 class, and does not override that definition in a derived class.
3158 * The C++ ABI has been changed so that:
3159 struct A {
3160 void operator delete[] (void *, size_t);
3161 void operator delete[] (void *);
3162 };
3163
3164 does not cause unnecessary storage to be allocated when an array
3165 of A objects is allocated.
3166 This change will only affect code that declares both of these
3167 forms of operator delete[], and declared the two-argument form
3168 before the one-argument form.
3169 * The C++ ABI has been changed so that when a parameter is passed by
3170 value, any cleanup for that parameter is performed in the caller,
3171 as specified by the ia64 C++ ABI, rather than the called function
3172 as before. As a result, classes with a non-trivial destructor but
3173 a trivial copy constructor will be passed and returned by
3174 invisible reference, rather than by bitwise copy as before.
3175 * G++ now supports the "named return value optimization": for code
3176 like
3177 A f () {
3178 A a;
3179 ...
3180 return a;
3181 }
3182
3183 G++ will allocate a in the return value slot, so that the return
3184 becomes a no-op. For this to work, all return statements in the
3185 function must return the same variable.
3186 * Improvements to the C++ library are listed in [5]the libstdc++-v3
3187 FAQ.
3188
3189 Objective-C
3190
3191 * Annoying linker warnings (due to incorrect code being generated)
3192 have been fixed.
3193 * If a class method cannot be found, the compiler no longer issues a
3194 warning if a corresponding instance method exists in the root
3195 class.
3196 * Forward @protocol declarations have been fixed.
3197 * Loading of categories has been fixed in certain situations (GNU
3198 run time only).
3199 * The class lookup in the run-time library has been rewritten so
3200 that class method dispatch is more than twice as fast as it used
3201 to be (GNU run time only).
3202
3203 Java
3204
3205 * libgcj now includes RMI, java.lang.ref.*, javax.naming, and
3206 javax.transaction.
3207 * Property files and other system resources can be compiled into
3208 executables which use libgcj using the new gcj --resource feature.
3209 * libgcj has been ported to more platforms. In particular there is
3210 now a mostly-functional mingw32 (Windows) target port.
3211 * JNI and CNI invocation interfaces were implemented, so
3212 gcj-compiled Java code can now be called from a C/C++ application.
3213 * gcj can now use builtin functions for certain known methods, for
3214 instance Math.cos.
3215 * gcj can now automatically remove redundant array-store checks in
3216 some common cases.
3217 * The --no-store-checks optimization option was added. This can be
3218 used to omit runtime store checks for code which is known not to
3219 throw ArrayStoreException
3220 * The following third party interface standards were added to
3221 libgcj: org.w3c.dom and org.xml.sax.
3222 * java.security has been merged with GNU Classpath. The new package
3223 is now JDK 1.2 compliant, and much more complete.
3224 * A bytecode verifier was added to the libgcj interpreter.
3225 * java.lang.Character was rewritten to comply with the Unicode 3.0
3226 standard, and improve performance.
3227 * Partial support for many more locales was added to libgcj.
3228 * Socket timeouts have been implemented.
3229 * libgcj has been merged into a single shared library. There are no
3230 longer separate shared libraries for the garbage collector and
3231 zlib.
3232 * Several performance improvements were made to gcj and libgcj:
3233 + Hash synchronization (thin locks)
3234 + A special allocation path for finalizer-free objects
3235 + Thread-local allocation
3236 + Parallel GC, and other GC tweaks
3237
3238 Fortran
3239
3240 Fortran improvements are listed in [6]the Fortran documentation.
3241
3242 Ada
3243
3244 [7]Ada Core Technologies, Inc, has contributed its GNAT Ada 95 front
3245 end and associated tools. The GNAT compiler fully implements the Ada
3246 language as defined by the ISO/IEC 8652 standard.
3247
3248 Please note that the integration of the Ada front end is still work in
3249 progress.
3250
3251New Targets and Target Specific Improvements
3252
3253 * Hans-Peter Nilsson has contributed a port to [8]MMIX, the CPU
3254 architecture used in new editions of Donald E. Knuth's The Art of
3255 Computer Programming.
3256 * [9]Axis Communications has contributed its port to the CRIS CPU
3257 architecture, used in the ETRAX system-on-a-chip series. See
3258 [10]Axis' developer site for technical information.
3259 * Alexandre Oliva, of Red Hat, has contributed a port to the
3260 [11]SuperH SH5 64-bit RISC microprocessor architecture, extending
3261 the existing SH port.
3262 * UltraSPARC is fully supported in 64-bit mode. The option -m64
3263 enables it.
3264 * For compatibility with the Sun compiler #pragma redefine_extname
3265 has been implemented on Solaris.
3266 * The x86 back end has had some noticeable work done to it.
3267 + SuSE Labs developers Jan Hubicka, Bo Thorsen and Andreas
3268 Jaeger have contributed a port to the AMD x86-64
3269 architecture. For more information on x86-64 see
3270 [12]http://www.x86-64.org.
3271 + The compiler now supports MMX, 3DNow!, SSE, and SSE2
3272 instructions. Options -mmmx, -m3dnow, -msse, and -msse2 will
3273 enable the respective instruction sets. Intel C++ compatible
3274 MMX/3DNow!/SSE intrinsics are implemented. SSE2 intrinsics
3275 will be added in next major release.
3276 + Following those improvements, targets for Pentium MMX, K6-2,
3277 K6-3, Pentium III, Pentium 4, and Athlon 4 Mobile/XP/MP were
3278 added. Refer to the documentation on -march= and -mcpu=
3279 options for details.
3280 + For those targets that support it, -mfpmath=sse will cause
3281 the compiler to generate SSE/SSE2 instructions for floating
3282 point math instead of x87 instructions. Usually, this will
3283 lead to quicker code -- especially on the Pentium 4. Note
3284 that only scalar floating point instructions are used and GCC
3285 does not exploit SIMD features yet.
3286 + Prefetch support has been added to the Pentium III, Pentium
3287 4, K6-2, K6-3, and Athlon series.
3288 + Code generated for floating point to integer conversions has
3289 been improved leading to better performance of many 3D
3290 applications.
3291 * The PowerPC back end has added 64-bit PowerPC GNU/Linux support.
3292 * C++ support for AIX has been improved.
3293 * Aldy Hernandez, of Red Hat, Inc, has contributed extensions to the
3294 PowerPC port supporting the AltiVec programming model (SIMD). The
3295 support, though presently useful, is experimental and is expected
3296 to stabilize for 3.2. The support is written to conform to
3297 Motorola's AltiVec specs. See -maltivec.
3298
3299Obsolete Systems
3300
3301 Support for a number of older systems has been declared obsolete in
3302 GCC 3.1. Unless there is activity to revive them, the next release of
3303 GCC will have their sources permanently removed.
3304
3305 All configurations of the following processor architectures have been
3306 declared obsolete:
3307 * MIL-STD-1750A, 1750a-*-*
3308 * AMD A29k, a29k-*-*
3309 * Convex, c*-convex-*
3310 * Clipper, clipper-*-*
3311 * Elxsi, elxsi-*-*
3312 * Intel i860, i860-*-*
3313 * Sun picoJava, pj-*-* and pjl-*-*
3314 * Western Electric 32000, we32k-*-*
3315
3316 Most configurations of the following processor architectures have been
3317 declared obsolete, but we are preserving a few systems which may have
3318 active developers. It is unlikely that the remaining systems will
3319 survive much longer unless we see definite signs of port activity.
3320 * Motorola 88000 except
3321 + Generic a.out, m88k-*-aout*
3322 + Generic SVR4, m88k-*-sysv4
3323 + OpenBSD, m88k-*-openbsd*
3324 * NS32k except
3325 + NetBSD, ns32k-*-netbsd*
3326 + OpenBSD, ns32k-*-openbsd*.
3327 * ROMP except
3328 + OpenBSD, romp-*-openbsd*.
3329
3330 Finally, only some configurations of these processor architectures are
3331 being obsoleted.
3332 * Alpha:
3333 + OSF/1, alpha*-*-osf[123]*. (Digital Unix and Tru64 Unix, aka
3334 alpha*-*-osf[45], are still supported.)
3335 * ARM:
3336 + RISCiX, arm-*-riscix*.
3337 * i386:
3338 + 386BSD, i?86-*-bsd*
3339 + Chorus, i?86-*-chorusos*
3340 + DG/UX, i?86-*-dgux*
3341 + FreeBSD 1.x, i?86-*-freebsd1.*
3342 + IBM AIX, i?86-*-aix*
3343 + ISC UNIX, i?86-*-isc*
3344 + Linux with pre-BFD linker, i?86-*-linux*oldld*
3345 + NEXTstep, i?86-next-*
3346 + OSF UNIX, i?86-*-osf1* and i?86-*-osfrose*
3347 + RTEMS/coff, i?86-*-rtemscoff*
3348 + RTEMS/go32, i?86-go32-rtems*
3349 + Sequent/BSD, i?86-sequent-bsd*
3350 + Sequent/ptx before version 3, i?86-sequent-ptx[12]* and
3351 i?86-sequent-sysv3*
3352 + SunOS, i?86-*-sunos*
3353 * Motorola 68000:
3354 + Altos, m68[k0]*-altos-*
3355 + Apollo, m68[k0]*-apollo-*
3356 + Apple A/UX, m68[k0]*-apple-*
3357 + Bull, m68[k0]*-bull-*
3358 + Convergent, m68[k0]*-convergent-*
3359 + Generic SVR3, m68[k0]*-*-sysv3*
3360 + ISI, m68[k0]*-isi-*
3361 + LynxOS, m68[k0]*-*-lynxos*
3362 + NEXT, m68[k0]*-next-*
3363 + RTEMS/coff, m68[k0]*-*-rtemscoff*
3364 + Sony, m68[k0]*-sony-*
3365 * MIPS:
3366 + DEC Ultrix, mips-*-ultrix* and mips-dec-*
3367 + Generic BSD, mips-*-bsd*
3368 + Generic System V, mips-*-sysv*
3369 + IRIX before version 5, mips-sgi-irix[1234]*
3370 + RiscOS, mips-*-riscos*
3371 + Sony, mips-sony-*
3372 + Tandem, mips-tandem-*
3373 * SPARC:
3374 + RTEMS/a.out, sparc-*-rtemsaout*.
3375
3376Documentation improvements
3377
3378 * The old manual ("Using and Porting the GNU Compiler Collection")
3379 has been replaced by a users manual ("Using the GNU Compiler
3380 Collection") and a separate internals reference manual ("GNU
3381 Compiler Collection Internals").
3382 * More complete and much improved documentation about GCC's internal
3383 representation used by the C and C++ front ends.
3384 * Many cleanups and improvements in general.
3385 _________________________________________________________________
3386
3387 Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There
3388 are also [14]other ways to contact the FSF.
3389
3390 These pages are maintained by [15]the GCC team.
3391
3392
3393 For questions related to the use of GCC, please consult these web
3394 pages and the [16]GCC manuals. If that fails, the
3395 [17]gcc-help@gcc.gnu.org mailing list might help.
3396 Please send comments on these web pages and the development of GCC
3397 to our public developer mailing list at [18]gcc@gnu.org or
3398 [19]gcc@gcc.gnu.org.
3399
3400 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
3401 330, Boston, MA 02111, USA.
3402
3403 Verbatim copying and distribution of this entire article is permitted
3404 in any medium, provided this notice is preserved.
3405
3406 Last modified 2003-08-28 [20]Valid XHTML 1.0
3407
3408References
3409
3410 1. http://gcc.gnu.org/ml/gcc/2002-07/msg01208.html
3411 2. http://gcc.gnu.org/news/profiledriven.html
3412 3. http://gcc.gnu.org/benchmarks/
3413 4. http://gcc.gnu.org/gcc-3.1/c99status.html
3414 5. http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_1
3415 6. http://gcc.gnu.org/onlinedocs/g77/News.html
3416 7. http://www.gnat.com/
3417 8. http://www-cs-faculty.stanford.edu/~knuth/mmix.html
3418 9. http://www.axis.com/
3419 10. http://developer.axis.com/
3420 11. http://www.superh.com/
3421 12. http://www.x86-64.org/
3422 13. mailto:gnu@gnu.org
3423 14. http://www.gnu.org/home.html#ContactInfo
3424 15. http://gcc.gnu.org/about.html
3425 16. http://gcc.gnu.org/onlinedocs/
3426 17. mailto:gcc-help@gcc.gnu.org
3427 18. mailto:gcc@gnu.org
3428 19. mailto:gcc@gcc.gnu.org
3429 20. http://validator.w3.org/check/referer
3430======================================================================
3431http://gcc.gnu.org/gcc-3.0/gcc-3.0.html
3432
3433 GCC 3.0.4
3434
3435 February 20, 2002
3436
3437 The [1]GNU project and the GCC developers are pleased to announce the
3438 release of GCC 3.0.4, which is a bug-fix release for the GCC 3.0
3439 series.
3440
3441 GCC used to stand for the GNU C Compiler, but since the compiler
3442 supports several other languages aside from C, it now stands for the
3443 GNU Compiler Collection.
3444
3445 GCC 3.0.x has several new optimizations, new targets, new languages
3446 and many other new features, relative to GCC 2.95.x. See the [2]new
3447 features page for a more complete list.
3448
3449 A list of [3]successful builds is updated as new information becomes
3450 available.
3451
3452 The GCC developers would like to thank the numerous people that have
3453 contributed new features, test results, bugfixes, etc to GCC. This
3454 [4]amazing group of volunteers is what makes GCC successful.
3455
3456 And finally, we can't in good conscience fail to mention some
3457 [5]caveats to using GCC 3.0.x.
3458
3459 For additional information about GCC please refer to the [6]GCC
3460 project web site or contact the [7]GCC development mailing list.
3461
3462 To obtain GCC please use [8]our mirror sites, one of the [9]GNU mirror
3463 sites, or [10]our CVS server.
3464 _________________________________________________________________
3465
3466Previous 3.0.x Releases
3467
3468 December 20, 2001: GCC 3.0.3 has been released.
3469 October 25, 2001: GCC 3.0.2 has been released.
3470 August 20, 2001: GCC 3.0.1 has been released.
3471 June 18, 2001: GCC 3.0 has been released.
3472 _________________________________________________________________
3473
3474 Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There
3475 are also [12]other ways to contact the FSF.
3476
3477 These pages are maintained by [13]the GCC team.
3478
3479
3480 For questions related to the use of GCC, please consult these web
3481 pages and the [14]GCC manuals. If that fails, the
3482 [15]gcc-help@gcc.gnu.org mailing list might help.
3483 Please send comments on these web pages and the development of GCC
3484 to our public developer mailing list at [16]gcc@gnu.org or
3485 [17]gcc@gcc.gnu.org.
3486
3487 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
3488 330, Boston, MA 02111, USA.
3489
3490 Verbatim copying and distribution of this entire article is permitted
3491 in any medium, provided this notice is preserved.
3492
3493 Last modified 2003-08-28 [18]Valid XHTML 1.0
3494
3495References
3496
3497 1. http://www.gnu.org/
3498 2. http://gcc.gnu.org/gcc-3.0/features.html
3499 3. http://gcc.gnu.org/gcc-3.0/buildstat.html
3500 4. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
3501 5. http://gcc.gnu.org/gcc-3.0/caveats.html
3502 6. http://gcc.gnu.org/index.html
3503 7. mailto:gcc@gcc.gnu.org
3504 8. http://gcc.gnu.org/mirrors.html
3505 9. http://www.gnu.org/order/ftp.html
3506 10. http://gcc.gnu.org/cvs.html
3507 11. mailto:gnu@gnu.org
3508 12. http://www.gnu.org/home.html#ContactInfo
3509 13. http://gcc.gnu.org/about.html
3510 14. http://gcc.gnu.org/onlinedocs/
3511 15. mailto:gcc-help@gcc.gnu.org
3512 16. mailto:gcc@gnu.org
3513 17. mailto:gcc@gcc.gnu.org
3514 18. http://validator.w3.org/check/referer
3515======================================================================
3516http://gcc.gnu.org/gcc-3.0/features.html
3517
3518 GCC 3.0 New Features
3519
3520Additional changes in GCC 3.0.4
3521
3522 * GCC 3.0 now supports newer versions of the [1]NetBSD operating
3523 system, which use the ELF object file format, on x86 processors.
3524 * Correct debugging information is generated from functions that
3525 have lines from multiple files (e.g. yacc output).
3526 * A fix for whitespace handling in the -traditional preprocessor,
3527 which can affect Fortran.
3528 * Fixes to the exception handling runtime.
3529 * More fixes for bad code generation in C++.
3530 * A fix for shared library generation under AIX 4.3.
3531 * Documentation updates.
3532 * Port of GCC to Tensilica's Xtensa processor contributed.
3533 * A fix for compiling the PPC Linux kernel (FAT fs wouldn't link).
3534
3535Additional changes in GCC 3.0.3
3536
3537 * A fix to correct an accidental change to the PowerPC ABI.
3538 * Fixes for bad code generation on a variety of architectures.
3539 * Improvements to the debugging information generated for C++
3540 classes.
3541 * Fixes for bad code generation in C++.
3542 * A fix to avoid crashes in the C++ demangler.
3543 * A fix to the C++ standard library to avoid buffer overflows.
3544 * Miscellaneous improvements for a variety of architectures.
3545
3546Additional changes in GCC 3.0.2
3547
3548 * Fixes for bad code generation during loop unrolling.
3549 * Fixes for bad code generation by the sibling call optimization.
3550 * Minor improvements to x86 code generation.
3551 * Implementation of function descriptors in C++ vtables for IA64.
3552 * Numerous minor bug-fixes.
3553
3554Additional changes in GCC 3.0.1
3555
3556 * C++ fixes for incorrect code-generation.
3557 * Improved cross-compiling support for the C++ standard library.
3558 * Fixes for some embedded targets that worked in GCC 2.95.3, but not
3559 in GCC 3.0.
3560 * Fixes for various exception-handling bugs.
3561 * A port to the S/390 architecture.
3562
3563General Optimizer Improvements
3564
3565 * [2]Basic block reordering pass.
3566 * New if-conversion pass with support for conditional (predicated)
3567 execution.
3568 * New tail call and sibling call elimination optimizations.
3569 * New register renaming pass.
3570 * New (experimental) [3]static single assignment (SSA)
3571 representation support.
3572 * New dead-code elimination pass implemented using the SSA
3573 representation.
3574 * [4]Global null pointer test elimination.
3575 * [5]Global code hoisting/unification.
3576 * More builtins and optimizations for stdio.h, string.h and old BSD
3577 functions, as well as for ISO C99 functions.
3578 * New builtin __builtin_expect for giving hints to the branch
3579 predictor.
3580
3581New Languages and Language specific improvements
3582
3583 * The GNU Compiler for the Java(TM) language (GCJ) is now integrated
3584 and supported, including the run-time library containing most
3585 common non-GUI Java classes, a bytecode interpreter, and the Boehm
3586 conservative garbage collector. Many bugs have been fixed. GCJ can
3587 compile Java source or Java bytecodes to either native code or
3588 Java class files, and supports native methods written in either
3589 the standard JNI or the more efficient and convenient CNI.
3590 * Here is a [6]partial list of C++ improvements, both new features
3591 and those no longer supported.
3592 * New C++ ABI. On the IA-64 platform GCC is capable of
3593 inter-operating with other IA-64 compilers.
3594 * The new ABI also significantly reduces the size of symbol and
3595 debug information.
3596 * New [7]C++ support library and many C++ bug fixes, vastly
3597 improving our conformance to the ISO C++ standard.
3598 * New [8]inliner for C++.
3599 * Rewritten C preprocessor, integrated into the C, C++ and Objective
3600 C compilers, with very many improvements including ISO C99 support
3601 and [9]improvements to dependency generation.
3602 * Support for more [10]ISO C99 features.
3603 * Many improvements to support for checking calls to format
3604 functions such as printf and scanf, including support for ISO C99
3605 format features, extensions from the Single Unix Specification and
3606 GNU libc 2.2, checking of strfmon formats and features to assist
3607 in auditing for format string security bugs.
3608 * New warnings for C code that may have undefined semantics because
3609 of violations of sequence point rules in the C standard (such as a
3610 = a++;, a[n] = b[n++]; and a[i++] = i;), included in -Wall.
3611 * Additional warning option -Wfloat-equal.
3612 * Improvements to -Wtraditional.
3613 * Fortran improvements are listed in [11]the Fortran documentation.
3614
3615New Targets and Target Specific Improvements
3616
3617 * New x86 back-end, generating much improved code.
3618 * Support for a generic i386-elf target contributed.
3619 * New option to emit x86 assembly code using Intel style syntax
3620 (-mintel-syntax).
3621 * HPUX 11 support contributed.
3622 * Improved PowerPC code generation, including scheduled prologue and
3623 epilogue.
3624 * Port of GCC to Intel's IA-64 processor contributed.
3625 * Port of GCC to Motorola's MCore 210 and 340 contributed.
3626 * New unified back-end for Arm, Thumb and StrongArm contributed.
3627 * Port of GCC to Intel's XScale processor contributed.
3628 * Port of GCC to Atmel's AVR microcontrollers contributed.
3629 * Port of GCC to Mitsubishi's D30V processor contributed.
3630 * Port of GCC to Matsushita's AM33 processor (a member of the
3631 MN10300 processor family) contributed.
3632 * Port of GCC to Fujitsu's FR30 processor contributed.
3633 * Port of GCC to Motorola's 68HC11 and 68HC12 processors
3634 contributed.
3635 * Port of GCC to Sun's picoJava processor core contributed.
3636
3637Documentation improvements
3638
3639 * Substantially rewritten and improved C preprocessor manual.
3640 * Many improvements to other documentation.
3641 * Manpages for gcc, cpp and gcov are now generated automatically
3642 from the master Texinfo manual, eliminating the problem of
3643 manpages being out of date. (The generated manpages are only
3644 extracts from the full manual, which is provided in Texinfo form,
3645 from which info, HTML, other formats and a printed manual can be
3646 generated.)
3647 * Generated info files are included in the release tarballs
3648 alongside their Texinfo sources, avoiding problems on some
3649 platforms with building makeinfo as part of the GCC distribution.
3650
3651Other significant improvements
3652
3653 * Garbage collection used internally by the compiler for most memory
3654 allocation instead of obstacks.
3655 * Lengauer and Tarjan algorithm used for computing dominators in the
3656 CFG. This algorithm can be significantly faster and more space
3657 efficient than our older algorithm.
3658 * gccbug script provided to assist in submitting bug reports to our
3659 bug tracking system. (Bug reports previously submitted directly to
3660 our mailing lists, for which you received no bug tracking number,
3661 should be submitted again using gccbug if you can reproduce the
3662 problem with GCC 3.0.)
3663 * The internal libgcc library is [12]built as a shared library on
3664 systems that support it.
3665 * Extensive testsuite included with GCC, with many new tests. In
3666 addition to tests for GCC bugs that have been fixed, many tests
3667 have been added for language features, compiler warnings and
3668 builtin functions.
3669 * Additional language-independent warning options -Wpacked,
3670 -Wpadded, -Wunreachable-code and -Wdisabled-optimization.
3671 * Target-independent options -falign-functions, -falign-loops and
3672 -falign-jumps.
3673
3674 Plus a great many bugfixes and almost all the [13]features found in
3675 GCC 2.95.
3676 _________________________________________________________________
3677
3678 Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There
3679 are also [15]other ways to contact the FSF.
3680
3681 These pages are maintained by [16]the GCC team.
3682
3683
3684 For questions related to the use of GCC, please consult these web
3685 pages and the [17]GCC manuals. If that fails, the
3686 [18]gcc-help@gcc.gnu.org mailing list might help.
3687 Please send comments on these web pages and the development of GCC
3688 to our public developer mailing list at [19]gcc@gnu.org or
3689 [20]gcc@gcc.gnu.org.
3690
3691 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
3692 330, Boston, MA 02111, USA.
3693
3694 Verbatim copying and distribution of this entire article is permitted
3695 in any medium, provided this notice is preserved.
3696
3697 Last modified 2003-08-28 [21]Valid XHTML 1.0
3698
3699References
3700
3701 1. http://www.netbsd.org/
3702 2. http://gcc.gnu.org/news/reorder.html
3703 3. http://gcc.gnu.org/news/ssa.html
3704 4. http://gcc.gnu.org/news/null.html
3705 5. http://gcc.gnu.org/news/unify.html
3706 6. http://gcc.gnu.org/gcc-3.0/c++features.html
3707 7. http://gcc.gnu.org/libstdc++/
3708 8. http://gcc.gnu.org/news/inlining.html
3709 9. http://gcc.gnu.org/news/dependencies.html
3710 10. http://gcc.gnu.org/gcc-3.0/c99status.html
3711 11. http://gcc.gnu.org/onlinedocs/g77/News.html
3712 12. http://gcc.gnu.org/gcc-3.0/libgcc.html
3713 13. http://gcc.gnu.org/gcc-2.95/features.html
3714 14. mailto:gnu@gnu.org
3715 15. http://www.gnu.org/home.html#ContactInfo
3716 16. http://gcc.gnu.org/about.html
3717 17. http://gcc.gnu.org/onlinedocs/
3718 18. mailto:gcc-help@gcc.gnu.org
3719 19. mailto:gcc@gnu.org
3720 20. mailto:gcc@gcc.gnu.org
3721 21. http://validator.w3.org/check/referer
3722======================================================================
3723http://gcc.gnu.org/gcc-3.0/caveats.html
3724
3725 GCC 3.0 Caveats
3726
3727 * -fstrict-aliasing is now part of -O2 and higher optimization
3728 levels. This allows the compiler to assume the strictest aliasing
3729 rules applicable to the language being compiled. For C and C++,
3730 this activates optimizations based on the type of expressions.
3731 This optimization may thus break old, non-compliant code.
3732 * Enumerations are now properly promoted to int in function
3733 parameters and function returns. Normally this change is not
3734 visible, but when using -fshort-enums this is an ABI change.
3735 * The undocumented extension that allowed C programs to have a label
3736 at the end of a compound statement has been deprecated and may be
3737 removed in a future version. Programs that now generate a warning
3738 about this may be fixed by adding a null statement (a single
3739 semicolon) after the label.
3740 * The poorly documented extension that allowed string constants in
3741 C, C++ and Objective C to contain unescaped newlines has been
3742 deprecated and may be removed in a future version. Programs using
3743 this extension may be fixed in several ways: the bare newline may
3744 be replaced by \n, or preceded by \n\, or string concatenation may
3745 be used with the bare newline preceded by \n" and " placed at the
3746 start of the next line.
3747 * The Chill compiler is not included in GCC 3.0, because of the lack
3748 of a volunteer to convert it to use garbage collection.
3749 * Certain non-standard iostream methods from earlier versions of
3750 libstdc++ are not included in libstdc++ v3, i.e. filebuf::attach,
3751 ostream::form, and istream::gets. Here are workaround hints for:
3752 [1]ostream::form, [2]filebuf::attach.
3753 * The new C++ ABI is not yet fully supported by current (as of
3754 2001-07-01) releases and development versions of GDB, or any
3755 earlier versions. There is a problem setting breakpoints by line
3756 number, and other related issues that have been fixed in GCC 3.0
3757 but not yet handled in GDB:
3758 [3]http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg00421.html
3759 _________________________________________________________________
3760
3761 Please send FSF & GNU inquiries & questions to [4]gnu@gnu.org. There
3762 are also [5]other ways to contact the FSF.
3763
3764 These pages are maintained by [6]the GCC team.
3765
3766
3767 For questions related to the use of GCC, please consult these web
3768 pages and the [7]GCC manuals. If that fails, the
3769 [8]gcc-help@gcc.gnu.org mailing list might help.
3770 Please send comments on these web pages and the development of GCC
3771 to our public developer mailing list at [9]gcc@gnu.org or
3772 [10]gcc@gcc.gnu.org.
3773
3774 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
3775 330, Boston, MA 02111, USA.
3776
3777 Verbatim copying and distribution of this entire article is permitted
3778 in any medium, provided this notice is preserved.
3779
3780 Last modified 2003-08-28 [11]Valid XHTML 1.0
3781
3782References
3783
3784 1. http://gcc.gnu.org/onlinedocs/libstdc++/21_strings/howto.html
3785 2. http://gcc.gnu.org/onlinedocs/libstdc++/ext/howto.html
3786 3. http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg00421.html
3787 4. mailto:gnu@gnu.org
3788 5. http://www.gnu.org/home.html#ContactInfo
3789 6. http://gcc.gnu.org/about.html
3790 7. http://gcc.gnu.org/onlinedocs/
3791 8. mailto:gcc-help@gcc.gnu.org
3792 9. mailto:gcc@gnu.org
3793 10. mailto:gcc@gcc.gnu.org
3794 11. http://validator.w3.org/check/referer
3795======================================================================
3796http://gcc.gnu.org/gcc-2.95/index.html
3797
3798 GCC 2.95
3799
3800 July 31, 1999: The GNU project and the GCC/EGCS developers are pleased
3801 to announce the release of GCC version 2.95. This is the first release
3802 of GCC since the April 1999 GCC/EGCS reunification and includes nearly
3803 a year's worth of new development and bugfixes.
3804
3805 August 19, 1999: GCC version 2.95.1 has been released.
3806
3807 October 27, 1999: GCC version 2.95.2 has been released.
3808
3809 March 16, 2001: GCC version 2.95.3 has been released.
3810
3811 GCC used to stand for the GNU C Compiler, but since the compiler
3812 supports several other languages aside from C, it now stands for the
3813 GNU Compiler Collection.
3814
3815 The whole suite has been extensively [1]regression tested and
3816 [2]package tested. It should be reliable and suitable for widespread
3817 use.
3818
3819 The compiler has several new optimizations, new targets, new languages
3820 and other new features. See the [3]new features page for a more
3821 complete list of new features found in the GCC 2.95 releases.
3822
3823 The sources include installation instructions in both HTML and
3824 plaintext forms in the install directory in the distribution. However,
3825 the most up to date [4]installation instructions and [5]build/test
3826 status are on the web pages. We will update those pages as new
3827 information becomes available.
3828
3829 The GCC developers would like to thank the numerous people that have
3830 contributed new features, test results, bugfixes, etc to GCC. This
3831 [6]amazing group of volunteers is what makes GCC successful.
3832
3833 And finally, we can't in good conscience fail to mention some
3834 [7]caveats to using GCC 2.95.
3835
3836 Download GCC 2.95 from the [8]GNU FTP server (ftp://ftp.gnu.org)
3837 [9]Find a GNU mirror site
3838 [10]Find a GCC mirror site
3839
3840 For additional information about GCC please see the [11]GCC project
3841 web server or contact the [12]GCC development mailing list.
3842 _________________________________________________________________
3843
3844 Please send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There
3845 are also [14]other ways to contact the FSF.
3846
3847 These pages are maintained by [15]the GCC team.
3848
3849
3850 For questions related to the use of GCC, please consult these web
3851 pages and the [16]GCC manuals. If that fails, the
3852 [17]gcc-help@gcc.gnu.org mailing list might help.
3853 Please send comments on these web pages and the development of GCC
3854 to our public developer mailing list at [18]gcc@gnu.org or
3855 [19]gcc@gcc.gnu.org.
3856
3857 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
3858 330, Boston, MA 02111, USA.
3859
3860 Verbatim copying and distribution of this entire article is permitted
3861 in any medium, provided this notice is preserved.
3862
3863 Last modified 2003-08-28 [20]Valid XHTML 1.0
3864
3865References
3866
3867 1. http://gcc.gnu.org/gcc-2.95/regress.html
3868 2. http://gcc.gnu.org/gcc-2.95/othertest.html
3869 3. http://gcc.gnu.org/gcc-2.95/features.html
3870 4. http://gcc.gnu.org/install/
3871 5. http://gcc.gnu.org/gcc-2.95/buildstat.html
3872 6. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
3873 7. http://gcc.gnu.org/gcc-2.95/caveats.html
3874 8. ftp://ftp.gnu.org/pub/gnu/gcc/
3875 9. http://www.gnu.org/order/ftp.html
3876 10. http://gcc.gnu.org/mirrors.html
3877 11. http://gcc.gnu.org/index.html
3878 12. mailto:gcc@gcc.gnu.org
3879 13. mailto:gnu@gnu.org
3880 14. http://www.gnu.org/home.html#ContactInfo
3881 15. http://gcc.gnu.org/about.html
3882 16. http://gcc.gnu.org/onlinedocs/
3883 17. mailto:gcc-help@gcc.gnu.org
3884 18. mailto:gcc@gnu.org
3885 19. mailto:gcc@gcc.gnu.org
3886 20. http://validator.w3.org/check/referer
3887======================================================================
3888http://gcc.gnu.org/gcc-2.95/features.html
3889
3890 GCC 2.95 New Features
3891
3892 * General Optimizer Improvements:
3893 + [1]Localized register spilling to improve speed and code
3894 density especially on small register class machines.
3895 + [2]Global CSE using lazy code motion algorithms.
3896 + [3]Improved global constant/copy propagation.
3897 + [4]Improved control flow graph analysis and manipulation.
3898 + [5]Local dead store elimination.
3899 + [6]Memory Load hoisting/store sinking in loops.
3900 + [7]Type based alias analysis is enabled by default. Note this
3901 feature will expose bugs in the Linux kernel. Please refer to
3902 the FAQ (as shipped with GCC 2.95) for additional information
3903 on this issue.
3904 + Major revamp of GIV detection, combination and simplification
3905 to improve loop performance.
3906 + Major improvements to register allocation and reloading.
3907 * New Languages and Language specific improvements
3908 + [8]Many C++ improvements.
3909 + [9]Many Fortran improvements.
3910 + [10]Java front-end has been integrated. [11]runtime library
3911 is available separately.
3912 + [12]ISO C99 support
3913 + [13]Chill front-end and runtime has been integrated.
3914 + Boehm garbage collector support in libobjc.
3915 + More support for various pragmas which appear in vendor
3916 include files
3917 * New Targets and Target Specific Improvements
3918 + [14]Sparc backend rewrite.
3919 + -mschedule=8000 will optimize code for PA8000 class
3920 processors; -mpa-risc-2-0 will generate code for PA2.0
3921 processors
3922 + Various micro-optimizations for the ia32 port. K6
3923 optimizations
3924 + Compiler will attempt to align doubles in the stack on the
3925 ia32 port
3926 + Alpha EV6 support
3927 + PowerPC 750
3928 + RS6000/PowerPC: -mcpu=401 was added as an alias for
3929 -mcpu=403. -mcpu=e603e was added to do -mcpu=603e and
3930 -msoft-float.
3931 + c3x, c4x
3932 + HyperSparc
3933 + SparcLite86x
3934 + sh4
3935 + Support for new systems (OpenBSD, FreeBSD, UWIN, Interix,
3936 arm-linux)
3937 + vxWorks targets include support for vxWorks threads
3938 + StrongARM 110 and ARM9 support added. ARM Scheduling
3939 parameters rewritten.
3940 + Various changes to the MIPS port to avoid assembler macros,
3941 which in turn improves performance
3942 + Various performance improvements to the i960 port.
3943 + Major rewrite of ns32k port
3944 * Other significant improvements
3945 + [15]Ability to dump cfg information and display it using vcg.
3946 + The new faster scheme for fixing vendor header files is
3947 enabled by default.
3948 + Experimental internationalization support.
3949 + multibyte character support
3950 + Some compile-time speedups for pathological problems
3951 + Better support for complex types
3952 * Plus the usual mountain of bugfixes
3953 * Core compiler is based on the gcc2 development tree from Sept 30,
3954 1998, so we have all of the [16]features found in GCC 2.8.
3955
3956Additional Changes in GCC 2.95.1
3957
3958 * Generic bugfixes and improvements
3959 + Various documentation fixes related to the GCC/EGCS merger.
3960 + Fix memory management bug which could lead to spurious
3961 aborts, core dumps or random parsing errors in the compiler.
3962 + Fix a couple bugs in the dwarf1 and dwarf2 debug record
3963 support.
3964 + Fix infinite loop in the CSE optimizer.
3965 + Avoid undefined behavior in compiler FP emulation code
3966 + Fix install problem when prefix is overridden on the make
3967 install command.
3968 + Fix problem with unwanted installation of assert.h on some
3969 systems.
3970 + Fix problem with finding the wrong assembler in a single tree
3971 build.
3972 + Avoid increasing the known alignment of a register that is
3973 already known to be a pointer.
3974 * Platform specific bugfixes and improvements
3975 + Codegen bugfix for prologue/epilogue for cpu32 target.
3976 + Fix long long code generation bug for the Coldfire target.
3977 + Fix various aborts in the SH compiler.
3978 + Fix bugs in libgcc support library for the SH.
3979 + Fix alpha ev6 code generation bug.
3980 + Fix problems with EXIT_SUCCESS/EXIT_FAILURE redefinitions on
3981 AIX platforms.
3982 + Fix -fpic code generation bug for rs6000/ppc svr4 targets.
3983 + Fix varargs/stdarg code generation bug for rs6000/ppc svr4
3984 targets.
3985 + Fix weak symbol handling for rs6000/ppc svr4 targets.
3986 + Fix various problems with 64bit code generation for the
3987 rs6000/ppc port.
3988 + Fix codegen bug which caused tetex to be mis-compiled on the
3989 x86.
3990 + Fix compiler abort in new cfg code exposed by x86 port.
3991 + Fix out of range array reference in code convert flat
3992 registers to the x87 stacked FP register file.
3993 + Fix minor vxworks configuration bug.
3994 + Fix return type of bsearch for SunOS 4.x.
3995 * Language & Runtime specific fixes.
3996 + The G++ signature extension has been deprecated. It will be
3997 removed in the next major release of G++. Use of signatures
3998 will result in a warning from the compiler.
3999 + Several bugs relating to templates and namespaces were fixed.
4000 + A bug that caused crashes when combining templates with -g on
4001 DWARF1 platforms was fixed.
4002 + Pointers-to-members, virtual functions, and multiple
4003 inheritance should now work together correctly.
4004 + Some code-generation bugs relating to function try blocks
4005 were fixed.
4006 + G++ is a little bit more lenient with certain archaic
4007 constructs than in GCC 2.95.
4008 + Fix to prevent shared library version #s from bring truncated
4009 to 1 digit
4010 + Fix missing std:: in the libstdc++ library.
4011 + Fix stream locking problems in libio.
4012 + Fix problem in java compiler driver.
4013
4014Additional Changes in GCC 2.95.2
4015
4016 The -fstrict-aliasing is not enabled by default for GCC 2.95.2. While
4017 the optimizations performed by -fstrict-aliasing are valid according
4018 to the C and C++ standards, the optimization have caused some
4019 problems, particularly with old non-conforming code.
4020
4021 The GCC developers are experimenting with ways to warn users about
4022 code which violates the C/C++ standards, but those warnings are not
4023 ready for widespread use at this time. Rather than wait for those
4024 warnings the GCC developers have chosen to disable -fstrict-aliasing
4025 by default for the GCC 2.95.2 release.
4026
4027 We strongly encourage developers to find and fix code which violates
4028 the C/C++ standards as -fstrict-aliasing may be enabled by default in
4029 future releases. Use the option -fstrict-aliasing to re-enable these
4030 optimizations.
4031 * Generic bugfixes and improvements
4032 + Fix incorrectly optimized memory reference in global common
4033 subexpression elimination (GCSE) optimization pass.
4034 + Fix code generation bug in regmove.c in which it could
4035 incorrectly change a "const" value.
4036 + Fix bug in optimization of conditionals involving volatile
4037 memory references.
4038 + Avoid over-allocation of stack space for some procedures.
4039 + Fixed bug in the compiler which caused incorrect optimization
4040 of an obscure series of bit manipulations, shifts and
4041 arithmetic.
4042 + Fixed register allocator bug which caused teTeX to be
4043 mis-compiled on Sparc targets.
4044 + Avoid incorrect optimization of degenerate case statements
4045 for certain targets such as the ARM.
4046 + Fix out of range memory reference in the jump optimizer.
4047 + Avoid dereferencing null pointer in fix-header.
4048 + Fix test for GCC specific features so that it is possible to
4049 bootstrap with gcc-2.6.2 and older versions of GCC.
4050 + Fix typo in scheduler which could potentially cause out of
4051 range memory accesses.
4052 + Avoid incorrect loop reversal which caused incorrect code for
4053 certain loops on PowerPC targets.
4054 + Avoid incorrect optimization of switch statements on certain
4055 targets (for example the ARM).
4056 * Platform specific bugfixes and improvements
4057 + Work around bug in Sun V5.0 compilers which caused bootstrap
4058 comparison failures on Sparc targets.
4059 + Fix Sparc backend bug which caused aborts in final.c.
4060 + Fix sparc-hal-solaris2* configuration fragments.
4061 + Fix bug in sparc block profiling.
4062 + Fix obscure code generation bug for the PARISC targets.
4063 + Define __STDC_EXT__ for HPUX configurations.
4064 + Various POWERPC64 code generation bugfixes.
4065 + Fix abort for PPC targets using ELF (ex GNU/Linux).
4066 + Fix collect2 problems for AIX targets.
4067 + Correct handling of .file directive for PPC targets.
4068 + Fix bug in fix_trunc x86 patterns.
4069 + Fix x86 port to correctly pop the FP stack for functions that
4070 return structures in memory.
4071 + Fix minor bug in strlen x86 pattern.
4072 + Use stabs debugging instead of dwarf1 for x86-solaris
4073 targets.
4074 + Fix template repository code to handle leading underscore in
4075 mangled names.
4076 + Fix weak/weak alias support for OpenBSD.
4077 + GNU/Linux for the ARM has C++ compatible include files.
4078 * Language & Runtime specific fixes.
4079 + Fix handling of constructor attribute in the C front-end
4080 which caused problems building the Chill runtime library on
4081 some targets.
4082 + Fix minor problem merging type qualifiers in the C front-end.
4083 + Fix aliasing bug for pointers and references (C/C++).
4084 + Fix incorrect "non-constant initializer bug" when
4085 -traditional or -fwritable-strings is enabled.
4086 + Fix build error for Chill front-end on SunOS.
4087 + Do not complain about duplicate instantiations when using
4088 -frepo (C++).
4089 + Fix array bounds handling in C++ front-end which caused
4090 problems with dwarf debugging information in some
4091 circumstances.
4092 + Fix minor namespace problem.
4093 + Fix problem linking java programs.
4094
4095Additional Changes in GCC 2.95.3
4096
4097 * Generic bugfixes and improvements
4098 + Fix numerous problems that caused incorrect optimization in
4099 the register reloading code.
4100 + Fix numerous problems that caused incorrect optimization in
4101 the loop optimizer.
4102 + Fix aborts in the functions build_insn_chain and scan_loops
4103 under some circumstances.
4104 + Fix an alias analysis bug.
4105 + Fix an infinite compilation bug in the combiner.
4106 + A few problems with complex number support have been fixed.
4107 + It is no longer possible for gcc to act as a fork bomb when
4108 installed incorrectly.
4109 + The -fpack-struct option should be recognized now.
4110 + Fixed a bug that caused incorrect code to be generated due to
4111 a lost stack adjustment.
4112 * Platform specific bugfixes and improvements
4113 + Support building ARM toolchains hosted on Windows.
4114 + Fix attribute calculations in ARM toolchains.
4115 + arm-linux support has been improved.
4116 + Fix a PIC failure on sparc targets.
4117 + On ix86 targets, the regparm attribute should now work
4118 reliably.
4119 + Several updates for the h8300 port.
4120 + Fix problem building libio with glibc 2.2.
4121 _________________________________________________________________
4122
4123 Please send FSF & GNU inquiries & questions to [17]gnu@gnu.org. There
4124 are also [18]other ways to contact the FSF.
4125
4126 These pages are maintained by [19]the GCC team.
4127
4128
4129 For questions related to the use of GCC, please consult these web
4130 pages and the [20]GCC manuals. If that fails, the
4131 [21]gcc-help@gcc.gnu.org mailing list might help.
4132 Please send comments on these web pages and the development of GCC
4133 to our public developer mailing list at [22]gcc@gnu.org or
4134 [23]gcc@gcc.gnu.org.
4135
4136 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
4137 330, Boston, MA 02111, USA.
4138
4139 Verbatim copying and distribution of this entire article is permitted
4140 in any medium, provided this notice is preserved.
4141
4142 Last modified 2003-08-28 [24]Valid XHTML 1.0
4143
4144References
4145
4146 1. http://gcc.gnu.org/news/spill.html
4147 2. http://gcc.gnu.org/news/lcm.html
4148 3. http://gcc.gnu.org/news/cprop.html
4149 4. http://gcc.gnu.org/news/cfg.html
4150 5. http://gcc.gnu.org/news/dse.html
4151 6. http://gcc.gnu.org/news/hoist.html
4152 7. http://gcc.gnu.org/news/alias.html
4153 8. http://gcc.gnu.org/gcc-2.95/c++features.html
4154 9. http://gcc.gnu.org/onlinedocs/g77/News.html
4155 10. http://gcc.gnu.org/java/gcj-announce.txt
4156 11. http://gcc.gnu.org/news/javaannounce.html
4157 12. http://gcc.gnu.org/c99status.html
4158 13. http://gcc.gnu.org/news/chill.html
4159 14. http://gcc.gnu.org/news/sparc.html
4160 15. http://gcc.gnu.org/news/egcs-vcg.html
4161 16. http://gcc.gnu.org/egcs-1.0/features-2.8.html
4162 17. mailto:gnu@gnu.org
4163 18. http://www.gnu.org/home.html#ContactInfo
4164 19. http://gcc.gnu.org/about.html
4165 20. http://gcc.gnu.org/onlinedocs/
4166 21. mailto:gcc-help@gcc.gnu.org
4167 22. mailto:gcc@gnu.org
4168 23. mailto:gcc@gcc.gnu.org
4169 24. http://validator.w3.org/check/referer
4170======================================================================
4171http://gcc.gnu.org/gcc-2.95/caveats.html
4172
4173 GCC 2.95 Caveats
4174
4175 * GCC 2.95 will issue an error for invalid asm statements that had
4176 been silently accepted by earlier versions of the compiler. This
4177 is particularly noticeable when compiling older versions of the
4178 Linux kernel (2.0.xx). Please refer to the FAQ (as shipped with
4179 GCC 2.95) for more information on this issue.
4180 * GCC 2.95 implements type based alias analysis to disambiguate
4181 memory references. Some programs, particularly the Linux kernel
4182 violate ANSI/ISO aliasing rules and therefore may not operate
4183 correctly when compiled with GCC 2.95. Please refer to the FAQ (as
4184 shipped with GCC 2.95) for more information on this issue.
4185 * GCC 2.95 has a known bug in its handling of complex variables for
4186 64bit targets. Instead of silently generating incorrect code, GCC
4187 2.95 will issue a fatal error for situations it can not handle.
4188 This primarily affects the Fortran community as Fortran makes more
4189 use of complex variables than C or C++.
4190 * GCC 2.95 has an integrated libstdc++, but does not have an
4191 integrated libg++. Furthermore old libg++ releases will not work
4192 with GCC 2.95. You can retrieve a recent copy of libg++ from the
4193 [1]GCC ftp server.
4194 Note most C++ programs only need libstdc++.
4195 * Exception handling may not work with shared libraries,
4196 particularly on alphas, hppas, rs6000/powerpc and mips based
4197 platforms. Exception handling is known to work on x86 GNU/Linux
4198 platforms with shared libraries.
4199 * In general, GCC 2.95 is more rigorous about rejecting invalid C++
4200 code or deprecated C++ constructs than G++ 2.7, G++ 2.8, EGCS 1.0,
4201 or EGCS 1.1. As a result it may be necessary to fix C++ code
4202 before it will compile with GCC 2.95.
4203 * G++ is also converting toward the ISO C++ standard; as a result
4204 code which was previously valid (and thus accepted by other
4205 compilers and older versions of g++) may no longer be accepted.
4206 The flag -fpermissive may allow some non-conforming code to
4207 compile with GCC 2.95.
4208 * GCC 2.95 compiled C++ code is not binary compatible with EGCS
4209 1.1.x, EGCS 1.0.x or GCC 2.8.x.
4210 * GCC 2.95 does not have changes from the GCC 2.8 tree that were
4211 made between Sept 30, 1998 and April 30, 1999 (the official end of
4212 the GCC 2.8 project). Future GCC releases will include all the
4213 changes from the defunct GCC 2.8 sources.
4214 _________________________________________________________________
4215
4216 Please send FSF & GNU inquiries & questions to [2]gnu@gnu.org. There
4217 are also [3]other ways to contact the FSF.
4218
4219 These pages are maintained by [4]the GCC team.
4220
4221
4222 For questions related to the use of GCC, please consult these web
4223 pages and the [5]GCC manuals. If that fails, the
4224 [6]gcc-help@gcc.gnu.org mailing list might help.
4225 Please send comments on these web pages and the development of GCC
4226 to our public developer mailing list at [7]gcc@gnu.org or
4227 [8]gcc@gcc.gnu.org.
4228
4229 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
4230 330, Boston, MA 02111, USA.
4231
4232 Verbatim copying and distribution of this entire article is permitted
4233 in any medium, provided this notice is preserved.
4234
4235 Last modified 2003-08-28 [9]Valid XHTML 1.0
4236
4237References
4238
4239 1. ftp://gcc.gnu.org/pub/gcc/infrastructure/libg++-2.8.1.3.tar.gz
4240 2. mailto:gnu@gnu.org
4241 3. http://www.gnu.org/home.html#ContactInfo
4242 4. http://gcc.gnu.org/about.html
4243 5. http://gcc.gnu.org/onlinedocs/
4244 6. mailto:gcc-help@gcc.gnu.org
4245 7. mailto:gcc@gnu.org
4246 8. mailto:gcc@gcc.gnu.org
4247 9. http://validator.w3.org/check/referer
4248======================================================================
4249http://gcc.gnu.org/egcs-1.1/index.html
4250
4251 EGCS 1.1
4252
4253 September 3, 1998: We are pleased to announce the release of EGCS 1.1.
4254 December 1, 1998: We are pleased to announce the release of EGCS
4255 1.1.1.
4256 March 15, 1999: We are pleased to announce the release of EGCS 1.1.2.
4257
4258 EGCS is a free software project to further the development of the GNU
4259 compilers using an open development environment.
4260
4261 EGCS 1.1 is a major new release of the EGCS compiler system. It has
4262 been [1]extensively tested and is believed to be stable and suitable
4263 for widespread use.
4264
4265 EGCS 1.1 is based on an June 6, 1998 snapshot of the GCC 2.8
4266 development sources; it contains all of the new features found in GCC
4267 2.8.1 as well as all new development from GCC up to June 6, 1998.
4268
4269 EGCS 1.1 also contains many improvements and features not found in GCC
4270 or in older versions of EGCS:
4271 * Global common subexpression elimination and global constant/copy
4272 propagation (aka [2]gcse)
4273 * Ongoing improvements to the [3]alias analysis support to allow for
4274 better optimizations throughout the compiler.
4275 * Vastly improved [4]C++ compiler and integrated C++ runtime
4276 libraries.
4277 * Fixes for the /tmp symlink race security problems.
4278 * New targets including mips16, arm-thumb and 64 bit PowerPC.
4279 * Improvements to GNU Fortran (g77) compiler and runtime library
4280 made since g77 version 0.5.23.
4281
4282 See the [5]new features page for a more complete list of new features
4283 found in EGCS 1.1 releases.
4284
4285 EGCS 1.1.1 is a minor update to fix several serious problems in EGCS
4286 1.1:
4287 * General improvements and fixes
4288 + Avoid some stack overflows when compiling large functions.
4289 + Avoid incorrect loop invariant code motions.
4290 + Fix some core dumps on Linux kernel code.
4291 + Bring back the imake -Di386 and friends fix from EGCS 1.0.2.
4292 + Fix code generation problem in gcse.
4293 + Various documentation related fixes.
4294 * g++/libstdc++ improvements and fixes
4295 + MT safe EH fix for setjmp/longjmp based exception handling.
4296 + Fix a few bad interactions between optimization and exception
4297 handling.
4298 + Fixes for demangling of template names starting with "__".
4299 + Fix a bug that would fail to run destructors in some cases
4300 with -O2.
4301 + Fix 'new' of classes with virtual bases.
4302 + Fix crash building Qt on the Alpha.
4303 + Fix failure compiling WIFEXITED macro on GNU/Linux.
4304 + Fix some -frepo failures.
4305 * g77 and libf2c improvements and fixes
4306 + Various documentation fixes.
4307 + Avoid compiler crash on RAND intrinsic.
4308 + Fix minor bugs in makefiles exposed by BSD make programs.
4309 + Define _XOPEN_SOURCE for libI77 build to avoid potential
4310 problems on some 64-bit systems.
4311 + Fix problem with implicit endfile on rewind.
4312 + Fix spurious recursive I/O errors.
4313 * platform specific improvements and fixes
4314 + Match all versions of UnixWare7.
4315 + Do not assume x86 SVR4 or UnixWare targets can handle stabs.
4316 + Fix PPC/RS6000 LEGITIMIZE_ADDRESS macro and bug in conversion
4317 from unsigned ints to double precision floats.
4318 + Fix ARM ABI issue with NetBSD.
4319 + Fix a few arm code generation bugs.
4320 + Fixincludes will fix additional broken SCO OpenServer header
4321 files.
4322 + Fix a m68k backend bug which caused invalid offsets in reg+d
4323 addresses.
4324 + Fix problems with 64bit AIX 4.3 support.
4325 + Fix handling of long longs for varargs/stdarg functions on
4326 the ppc.
4327 + Minor fixes to CPP predefines for Windows.
4328 + Fix code generation problems with gpr<->fpr copies for 64bit
4329 ppc.
4330 + Fix a few coldfire code generation bugs.
4331 + Fix some more header file problems on SunOS 4.x.
4332 + Fix assert.h handling for RTEMS.
4333 + Fix Windows handling of TREE_SYMBOL_REFERENCED.
4334 + Fix x86 compiler abort in reg-stack pass.
4335 + Fix cygwin/windows problem with section attributes.
4336 + Fix Alpha code generation problem exposed by SMP Linux
4337 kernels.
4338 + Fix typo in m68k 32->64bit integer conversion.
4339 + Make sure target libraries build with -fPIC for PPC & Alpha
4340 targets.
4341
4342 EGCS 1.1.2 is a minor update to fix several serious problems in EGCS
4343 1.1.1:
4344 * General improvements and fixes
4345 + Fix bug in loop optimizer which caused the SPARC (and
4346 potentially other) ports to segfault.
4347 + Fix infinite recursion in alias analysis and combiner code.
4348 + Fix bug in regclass preferencing.
4349 + Fix incorrect loop reversal which caused incorrect code to be
4350 generated for several targets.
4351 + Fix return value for builtin memcpy.
4352 + Reduce compile time for certain loops which exposed quadratic
4353 behavior in the loop optimizer.
4354 + Fix bug which caused volatile memory to be written multiple
4355 times when only one write was needed/desired.
4356 + Fix compiler abort in caller-save.c
4357 + Fix combiner bug which caused incorrect code generation for
4358 certain division by constant operations.
4359 + Fix incorrect code generation due to a bug in range check
4360 optimizations.
4361 + Fix incorrect code generation due to mis-handling of
4362 clobbered values in CSE.
4363 + Fix compiler abort/segfault due to incorrect register
4364 splitting when unrolling loops.
4365 + Fix code generation involving autoincremented addresses with
4366 ternary operators.
4367 + Work around bug in the scheduler which caused qt to be
4368 mis-compiled on some platforms.
4369 + Fix code generation problems with -fshort-enums.
4370 + Tighten security for temporary files.
4371 + Improve compile time for codes which make heavy use of
4372 overloaded functions.
4373 + Fix multiply defined constructor/destructor symbol problems.
4374 + Avoid setting bogus RPATH environment variable during
4375 bootstrap.
4376 + Avoid GNU-make dependencies in the texinfo subdir.
4377 + Install CPP wrapper script in $(prefix)/bin if --enable-cpp.
4378 --enable-cpp=<dirname> can be used to specify an additional
4379 install directory for the cpp wrapper script.
4380 + Fix CSE bug which caused incorrect label-label refs to appear
4381 on some platforms.
4382 + Avoid linking in EH routines from libgcc if they are not
4383 needed.
4384 + Avoid obscure bug in aliasing code.
4385 + Fix bug in weak symbol handling.
4386 * Platform-specific improvements and fixes
4387 + Fix detection of PPro/PII on Unixware 7.
4388 + Fix compiler segfault when building spec99 and other programs
4389 for SPARC targets.
4390 + Fix code-generation bugs for integer and floating point
4391 conditional move instructions on the PPro/PII.
4392 + Use fixincludes to fix byteorder problems on i?86-*-sysv.
4393 + Fix build failure for the arc port.
4394 + Fix floating point format configuration for i?86-gnu port.
4395 + Fix problems with hppa1.0-hp-hpux10.20 configuration when
4396 threads are enabled.
4397 + Fix coldfire code generation bugs.
4398 + Fix "unrecognized insn" problems for Alpha and PPC ports.
4399 + Fix h8/300 code generation problem with floating point values
4400 in memory.
4401 + Fix unrecognized insn problems for the m68k port.
4402 + Fix namespace-pollution problem for the x86 port.
4403 + Fix problems with old assembler on x86 NeXT systems.
4404 + Fix PIC code-generation problems for the SPARC port.
4405 + Fix minor bug with LONG_CALLS in PowerPC SVR4 support.
4406 + Fix minor ISO namespace violation in Alpha varargs/stdarg
4407 support.
4408 + Fix incorrect "braf" instruction usage for the SH port.
4409 + Fix minor bug in va-sh which prevented its use with -ansi.
4410 + Fix problems recognizing and supporting FreeBSD.
4411 + Handle OpenBSD systems correctly.
4412 + Minor fixincludes fix for Digital UNIX 4.0B.
4413 + Fix problems with ctors/dtors in SCO shared libraries.
4414 + Abort instead of generating incorrect code for PPro/PII
4415 floating point conditional moves.
4416 + Avoid multiply defined symbols on Linux/GNU systems using
4417 libc-5.4.xx.
4418 + Fix abort in alpha compiler.
4419 * Fortran-specific fixes
4420 + Fix the IDate intrinsic (VXT) (in libg2c) so the returned
4421 year is in the documented, non-Y2K-compliant range of 0-99,
4422 instead of being returned as 100 in the year 2000.
4423 + Fix the `Date_and_Time' intrinsic (in libg2c) to return the
4424 milliseconds value properly in Values(8).
4425 + Fix the `LStat' intrinsic (in libg2c) to return device-ID
4426 information properly in SArray(7).
4427
4428 Each release includes installation instructions in both HTML and
4429 plaintext forms (see the INSTALL directory in the toplevel directory
4430 of the distribution). However, we also keep the most up to date
4431 [6]installation instructions and [7]build/test status on our web page.
4432 We will update those pages as new information becomes available.
4433
4434 The EGCS project would like to thank the numerous people that have
4435 contributed new features, test results, bugfixes, etc. This [8]amazing
4436 group of volunteers is what makes EGCS successful.
4437
4438 And finally, we can't in good conscience fail to mention some
4439 [9]caveats to using EGCS 1.1.
4440
4441 Download EGCS from egcs.cygnus.com (USA California).
4442
4443 The EGCS 1.1 release is also available on many mirror sites.
4444 [10]Goto mirror list to find a closer site.
4445 _________________________________________________________________
4446
4447 Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org. There
4448 are also [12]other ways to contact the FSF.
4449
4450 These pages are maintained by [13]the GCC team.
4451
4452
4453 For questions related to the use of GCC, please consult these web
4454 pages and the [14]GCC manuals. If that fails, the
4455 [15]gcc-help@gcc.gnu.org mailing list might help.
4456 Please send comments on these web pages and the development of GCC
4457 to our public developer mailing list at [16]gcc@gnu.org or
4458 [17]gcc@gcc.gnu.org.
4459
4460 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
4461 330, Boston, MA 02111, USA.
4462
4463 Verbatim copying and distribution of this entire article is permitted
4464 in any medium, provided this notice is preserved.
4465
4466 Last modified 2003-08-28 [18]Valid XHTML 1.0
4467
4468References
4469
4470 1. http://gcc.gnu.org/egcs-1.1/egcs-1.1-test.html
4471 2. http://gcc.gnu.org/news/gcse.html
4472 3. http://gcc.gnu.org/news/alias.html
4473 4. http://gcc.gnu.org/egcs-1.1/c++features.html
4474 5. http://gcc.gnu.org/egcs-1.1/features.html
4475 6. http://gcc.gnu.org/install/
4476 7. http://gcc.gnu.org/egcs-1.1/buildstat.html
4477 8. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
4478 9. http://gcc.gnu.org/egcs-1.1/caveats.html
4479 10. http://gcc.gnu.org/mirrors.html
4480 11. mailto:gnu@gnu.org
4481 12. http://www.gnu.org/home.html#ContactInfo
4482 13. http://gcc.gnu.org/about.html
4483 14. http://gcc.gnu.org/onlinedocs/
4484 15. mailto:gcc-help@gcc.gnu.org
4485 16. mailto:gcc@gnu.org
4486 17. mailto:gcc@gcc.gnu.org
4487 18. http://validator.w3.org/check/referer
4488======================================================================
4489http://gcc.gnu.org/egcs-1.1/features.html
4490
4491 EGCS 1.1 new features
4492
4493 * Integrated GNU Fortran (g77) compiler and runtime library with
4494 improvements, based on [1]g77 version 0.5.23.
4495 * Vast improvements in the C++ compiler; so many they have [2]page
4496 of their own!
4497 * Compiler implements [3]global common subexpression elimination and
4498 global copy/constant propagation.
4499 * More major improvements in the [4]alias analysis code.
4500 * More major improvements in the exception handling code to improve
4501 performance, lower static overhead and provide the infrastructure
4502 for future improvements.
4503 * The infamous /tmp symlink race security problems have been fixed.
4504 * The regmove optimization pass has been nearly completely rewritten
4505 to improve performance of generated code.
4506 * The compiler now recomputes register usage information before
4507 local register allocation. By providing more accurate information
4508 to the priority based allocator, we get better register
4509 allocation.
4510 * The register reloading phase of the compiler optimizes spill code
4511 much better than in previous releases.
4512 * Some bad interactions between the register allocator and
4513 instruction scheduler have been fixed, resulting in much better
4514 code for certain programs. Additionally, we have tuned the
4515 scheduler in various ways to improve performance of generated code
4516 for some architectures.
4517 * The compiler's branch shortening algorithms have been
4518 significantly improved to work better on targets which align jump
4519 targets.
4520 * The compiler now supports -Os to prefer optimizing for code space
4521 over optimizing for code speed.
4522 * The compiler will now totally eliminate library calls which
4523 compute constant values. This primarily helps targets with no
4524 integer div/mul support and targets without floating point
4525 support.
4526 * The compiler now supports an extensive "--help" option.
4527 * cpplib has been greatly improved and may be suitable for limited
4528 use.
4529 * Memory footprint for the compiler has been significantly reduced
4530 for some pathological cases.
4531 * The time to build EGCS has been improved for certain targets
4532 (particularly the alpha and mips platforms).
4533 * Many infrastructure improvements throughout the compiler, plus the
4534 usual mountain of bugfixes and minor improvements.
4535 * Target dependent improvements:
4536 + SPARC port now includes V8 plus and V9 support as well as
4537 performance tuning for Ultra class machines. The SPARC port
4538 now uses the Haifa scheduler.
4539 + Alpha port has been tuned for the EV6 processor and has an
4540 optimized expansion of memcpy/bzero. The Alpha port now uses
4541 the Haifa scheduler.
4542 + RS6000/PowerPC: support for the Power64 architecture and AIX
4543 4.3. The RS6000/PowerPC port now uses the Haifa scheduler.
4544 + x86: Alignment of static store data and jump targets is per
4545 Intel recommendations now. Various improvements throughout
4546 the x86 port to improve performance on Pentium processors
4547 (including improved epilogue sequences for Pentium chips and
4548 backend improvements which should help register allocation on
4549 all x86 variants. Conditional move support has been fixed and
4550 enabled for PPro processors. The x86 port also better
4551 supports 64bit operations now. Unixware 7, a System V Release
4552 5 target, is now supported and SCO OpenServer targets can
4553 support GAS.
4554 + MIPS has improved multiply/multiply-add support and now
4555 includes mips16 ISA support.
4556 + M68k has many micro-optimizations and Coldfire fixes.
4557 * Core compiler is based on the GCC development tree from June 9,
4558 1998, so we have all of the [5]features found in GCC 2.8.
4559 _________________________________________________________________
4560
4561 Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There
4562 are also [7]other ways to contact the FSF.
4563
4564 These pages are maintained by [8]the GCC team.
4565
4566
4567 For questions related to the use of GCC, please consult these web
4568 pages and the [9]GCC manuals. If that fails, the
4569 [10]gcc-help@gcc.gnu.org mailing list might help.
4570 Please send comments on these web pages and the development of GCC
4571 to our public developer mailing list at [11]gcc@gnu.org or
4572 [12]gcc@gcc.gnu.org.
4573
4574 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
4575 330, Boston, MA 02111, USA.
4576
4577 Verbatim copying and distribution of this entire article is permitted
4578 in any medium, provided this notice is preserved.
4579
4580 Last modified 2003-08-28 [13]Valid XHTML 1.0
4581
4582References
4583
4584 1. http://gcc.gnu.org/onlinedocs/g77/News.html
4585 2. http://gcc.gnu.org/egcs-1.1/c++features.html
4586 3. http://gcc.gnu.org/news/gcse.html
4587 4. http://gcc.gnu.org/news/alias.html
4588 5. http://gcc.gnu.org/egcs-1.0/features-2.8.html
4589 6. mailto:gnu@gnu.org
4590 7. http://www.gnu.org/home.html#ContactInfo
4591 8. http://gcc.gnu.org/about.html
4592 9. http://gcc.gnu.org/onlinedocs/
4593 10. mailto:gcc-help@gcc.gnu.org
4594 11. mailto:gcc@gnu.org
4595 12. mailto:gcc@gcc.gnu.org
4596 13. http://validator.w3.org/check/referer
4597======================================================================
4598http://gcc.gnu.org/egcs-1.1/caveats.html
4599
4600 EGCS 1.1 Caveats
4601
4602 * EGCS has an integrated libstdc++, but does not have an integrated
4603 libg++. Furthermore old libg++ releases will not work with EGCS;
4604 HJ Lu has made a libg++-2.8.1.2 snapshot available which may work
4605 with EGCS.
4606 Note most C++ programs only need libstdc++.
4607 * Exception handling may not work with shared libraries,
4608 particularly on alphas, hppas, rs6000/powerpc and mips based
4609 platforms. Exception handling is known to work on x86-linux
4610 platforms with shared libraries.
4611 * Some versions of the Linux kernel have bugs which prevent them
4612 from being compiled or from running when compiled by EGCS. See the
4613 FAQ (as shipped with EGCS 1.1) for additional information.
4614 * In general, EGCS is more rigorous about rejecting invalid C++ code
4615 or deprecated C++ constructs than g++-2.7, g++-2.8 or EGCS 1.0. As
4616 a result it may be necessary to fix C++ code before it will
4617 compile with EGCS.
4618 * G++ is also converting toward the ISO C++ standard; as a result
4619 code which was previously valid (and thus accepted by other
4620 compilers and older versions of g++) may no longer be accepted.
4621 * EGCS 1.1 compiled C++ code is not binary compatible with EGCS
4622 1.0.x or GCC 2.8.x due to changes necessary to support thread safe
4623 exception handling.
4624 _________________________________________________________________
4625
4626 Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There
4627 are also [2]other ways to contact the FSF.
4628
4629 These pages are maintained by [3]the GCC team.
4630
4631
4632 For questions related to the use of GCC, please consult these web
4633 pages and the [4]GCC manuals. If that fails, the
4634 [5]gcc-help@gcc.gnu.org mailing list might help.
4635 Please send comments on these web pages and the development of GCC
4636 to our public developer mailing list at [6]gcc@gnu.org or
4637 [7]gcc@gcc.gnu.org.
4638
4639 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
4640 330, Boston, MA 02111, USA.
4641
4642 Verbatim copying and distribution of this entire article is permitted
4643 in any medium, provided this notice is preserved.
4644
4645 Last modified 2003-08-28 [8]Valid XHTML 1.0
4646
4647References
4648
4649 1. mailto:gnu@gnu.org
4650 2. http://www.gnu.org/home.html#ContactInfo
4651 3. http://gcc.gnu.org/about.html
4652 4. http://gcc.gnu.org/onlinedocs/
4653 5. mailto:gcc-help@gcc.gnu.org
4654 6. mailto:gcc@gnu.org
4655 7. mailto:gcc@gcc.gnu.org
4656 8. http://validator.w3.org/check/referer
4657======================================================================
4658http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.html
4659
4660 EGCS 1.0.3
4661
4662 May 15, 1998
4663
4664 We are pleased to announce the release of EGCS 1.0.3.
4665
4666 EGCS is a collaborative effort involving several groups of hackers
4667 using an open development model to accelerate development and testing
4668 of GNU compilers and runtime libraries.
4669
4670 EGCS 1.0.3 is a minor update to the EGCS 1.0.2 compiler to fix a few
4671 problems reported by Red Hat for builds of Red Hat 5.1.
4672 * Generic bugfixes:
4673 + Fix a typo in the libio library which resulted in incorrect
4674 behavior of istream::get.
4675 + Fix the Fortran negative array index problem.
4676 + Fix a major problem with the ObjC runtime thread support
4677 exposed by glibc2.
4678 + Reduce memory consumption of the Haifa scheduler.
4679 * Target specific bugfixes:
4680 + Fix one x86 floating point code generation bug exposed by
4681 glibc2 builds.
4682 + Fix one x86 internal compiler error exposed by glibc2 builds.
4683 + Fix profiling bugs on the Alpha.
4684 + Fix ImageMagick & emacs 20.2 build problems on the Alpha.
4685 + Fix rs6000/ppc bug when converting values from integer types
4686 to floating point types.
4687
4688 An important goal of EGCS is to allow wide scale testing of new
4689 features and optimizations which are still under development. However,
4690 EGCS has been carefully tested and should be comparable in quality to
4691 most GCC releases.
4692
4693 EGCS 1.0.3 is based on an August 2, 1997 snapshot of the GCC 2.8
4694 development sources; it contains nearly all of the new features found
4695 in GCC 2.8.
4696
4697 EGCS also contains many improvements and features not found in GCC 2.7
4698 or GCC 2.8.
4699 * Integrated C++ runtime libraries, including support for most major
4700 GNU/Linux systems!
4701 * The integrated libstdc++ library includes a verbatim copy of SGI's
4702 STL release instead of a modified copy.
4703 * Integrated GNU Fortran compiler.
4704 * New instruction scheduler.
4705 * New alias analysis code.
4706
4707 See the [1]new features page for a more complete list of new features
4708 found in EGCS 1.0.x releases.
4709
4710 The EGCS 1.0.3 release includes installation instructions in both HTML
4711 and plaintext forms (see the INSTALL directory in the toplevel
4712 directory of the EGCS 1.0.3 distribution). However, we also keep the
4713 most up to date [2]installation instructions and [3]build/test status
4714 on our web page. We will update those pages as new information becomes
4715 available.
4716
4717 And, we can't in good conscience fail to mention some [4]caveats to
4718 using EGCS.
4719
4720 Update: Big thanks to Stanford for providing a high speed link for
4721 downloading EGCS (go.cygnus.com)!
4722
4723 Download EGCS from ftp.cygnus.com (USA California) or go.cygnus.com
4724 (USA California -- High speed link provided by Stanford).
4725
4726 The EGCS 1.0.3 release is also available on many mirror sites.
4727 [5]Goto mirror list to find a closer site
4728
4729 We'd like to thank the numerous people that have contributed new
4730 features, test results, bugfixes, etc. Unfortunately, they're far too
4731 numerous to mention by name.
4732 _________________________________________________________________
4733
4734 Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There
4735 are also [7]other ways to contact the FSF.
4736
4737 These pages are maintained by [8]the GCC team.
4738
4739
4740 For questions related to the use of GCC, please consult these web
4741 pages and the [9]GCC manuals. If that fails, the
4742 [10]gcc-help@gcc.gnu.org mailing list might help.
4743 Please send comments on these web pages and the development of GCC
4744 to our public developer mailing list at [11]gcc@gnu.org or
4745 [12]gcc@gcc.gnu.org.
4746
4747 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
4748 330, Boston, MA 02111, USA.
4749
4750 Verbatim copying and distribution of this entire article is permitted
4751 in any medium, provided this notice is preserved.
4752
4753 Last modified 2003-08-28 [13]Valid XHTML 1.0
4754
4755References
4756
4757 1. http://gcc.gnu.org/egcs-1.0/features.html
4758 2. http://gcc.gnu.org/install/
4759 3. http://gcc.gnu.org/egcs-1.0/buildstat.html
4760 4. http://gcc.gnu.org/egcs-1.0/caveats.html
4761 5. http://gcc.gnu.org/mirrors.html
4762 6. mailto:gnu@gnu.org
4763 7. http://www.gnu.org/home.html#ContactInfo
4764 8. http://gcc.gnu.org/about.html
4765 9. http://gcc.gnu.org/onlinedocs/
4766 10. mailto:gcc-help@gcc.gnu.org
4767 11. mailto:gcc@gnu.org
4768 12. mailto:gcc@gcc.gnu.org
4769 13. http://validator.w3.org/check/referer
4770======================================================================
4771http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.html
4772
4773 EGCS 1.0.2
4774
4775 March 16, 1998
4776
4777 We are pleased to announce the release of EGCS 1.0.2.
4778
4779 EGCS is a collaborative effort involving several groups of hackers
4780 using an open development model to accelerate development and testing
4781 of GNU compilers and runtime libraries.
4782
4783 EGCS 1.0.2 is a minor update to the EGCS 1.0.1 compiler to fix several
4784 serious problems in EGCS 1.0.1.
4785 * General improvements and fixes
4786 + Memory consumption significantly reduced, especially for
4787 templates and inline functions.
4788 + Fix various problems with glibc2.1.
4789 + Fix loop optimization bug exposed by rs6000/ppc port.
4790 + Fix to avoid potential code generation problems in jump.c.
4791 + Fix some undefined symbol problems in dwarf1 debug support.
4792 * g++/libstdc++ improvements and fixes
4793 + libstdc++ in the EGCS release has been updated and should be
4794 link compatible with libstdc++-2.8.
4795 + Various fixes in libio/libstdc++ to work better on Linux
4796 systems.
4797 + Fix problems with duplicate symbols on systems that do not
4798 support weak symbols.
4799 + Memory corruption bug and undefined symbols in bastring have
4800 been fixed.
4801 + Various exception handling fixes.
4802 + Fix compiler abort for very long thunk names.
4803 * g77 improvements and fixes
4804 + Fix compiler crash for omitted bound in Fortran CASE
4805 statement.
4806 + Add missing entries to g77 lang-options.
4807 + Fix problem with -fpedantic in the g77 compiler.
4808 + Fix "backspace" problem with g77 on alphas.
4809 + Fix x86 backend problem with Fortran literals and -fpic.
4810 + Fix some of the problems with negative subscripts for g77 on
4811 alphas.
4812 + Fixes for Fortran builds on cygwin32/mingw32.
4813 * platform specific improvements and fixes
4814 + Fix long double problems on x86 (exposed by glibc).
4815 + x86 ports define i386 again to keep imake happy.
4816 + Fix exception handling support on NetBSD ports.
4817 + Several changes to collect2 to fix many problems with AIX.
4818 + Define __ELF__ for rs6000/linux.
4819 + Fix -mcall-linux problem on rs6000/linux.
4820 + Fix stdarg/vararg problem for rs6000/linux.
4821 + Allow autoconf to select a proper install problem on AIX 3.1.
4822 + m68k port support includes -mcpu32 option as well as cpu32
4823 multilibs.
4824 + Fix stdarg bug for irix6.
4825 + Allow EGCS to build on irix5 without the gnu assembler.
4826 + Fix problem with static linking on sco5.
4827 + Fix bootstrap on sco5 with native compiler.
4828 + Fix for abort building newlib on H8 target.
4829 + Fix fixincludes handling of math.h on SunOS.
4830 + Minor fix for Motorola 3300 m68k systems.
4831
4832 An important goal of EGCS is to allow wide scale testing of new
4833 features and optimizations which are still under development. However,
4834 EGCS has been carefully tested and should be comparable in quality to
4835 most GCC releases.
4836
4837 EGCS 1.0.2 is based on an August 2, 1997 snapshot of the GCC 2.8
4838 development sources; it contains nearly all of the new features found
4839 in GCC 2.8.
4840
4841 EGCS also contains many improvements and features not found in GCC 2.7
4842 or GCC 2.8.
4843 * Integrated C++ runtime libraries, including support for most major
4844 linux systems!
4845 * The integrated libstdc++ library includes a verbatim copy of SGI's
4846 STL release.
4847 * Integrated GNU Fortran compiler.
4848 * New instruction scheduler.
4849 * New alias analysis code.
4850
4851 See the [1]new features page for a more complete list of new features
4852 found in EGCS 1.0.x releases.
4853
4854 The EGCS 1.0.2 release includes installation instructions in both HTML
4855 and plaintext forms (see the INSTALL directory in the toplevel
4856 directory of the EGCS 1.0.2 distribution). However, we also keep the
4857 most up to date [2]installation instructions and [3]build/test status
4858 on our web page. We will update those pages as new information becomes
4859 available.
4860
4861 And, we can't in good conscience fail to mention some [4]caveats to
4862 using EGCS.
4863
4864 Update: Big thanks to Stanford for providing a high speed link for
4865 downloading EGCS (go.cygnus.com)!
4866
4867 Download EGCS from ftp.cygnus.com (USA California) or go.cygnus.com
4868 (USA California -- High speed link provided by Stanford).
4869
4870 The EGCS 1.0.2 release is also available on many mirror sites.
4871 [5]Goto mirror list to find a closer site
4872
4873 We'd like to thank the numerous people that have contributed new
4874 features, test results, bugfixes, etc. Unfortunately, they're far too
4875 numerous to mention by name.
4876 _________________________________________________________________
4877
4878 Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There
4879 are also [7]other ways to contact the FSF.
4880
4881 These pages are maintained by [8]the GCC team.
4882
4883
4884 For questions related to the use of GCC, please consult these web
4885 pages and the [9]GCC manuals. If that fails, the
4886 [10]gcc-help@gcc.gnu.org mailing list might help.
4887 Please send comments on these web pages and the development of GCC
4888 to our public developer mailing list at [11]gcc@gnu.org or
4889 [12]gcc@gcc.gnu.org.
4890
4891 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
4892 330, Boston, MA 02111, USA.
4893
4894 Verbatim copying and distribution of this entire article is permitted
4895 in any medium, provided this notice is preserved.
4896
4897 Last modified 2003-08-28 [13]Valid XHTML 1.0
4898
4899References
4900
4901 1. http://gcc.gnu.org/egcs-1.0/features.html
4902 2. http://gcc.gnu.org/install/index.html
4903 3. http://gcc.gnu.org/egcs-1.0/buildstat.html
4904 4. http://gcc.gnu.org/egcs-1.0/caveats.html
4905 5. http://gcc.gnu.org/mirrors.html
4906 6. mailto:gnu@gnu.org
4907 7. http://www.gnu.org/home.html#ContactInfo
4908 8. http://gcc.gnu.org/about.html
4909 9. http://gcc.gnu.org/onlinedocs/
4910 10. mailto:gcc-help@gcc.gnu.org
4911 11. mailto:gcc@gnu.org
4912 12. mailto:gcc@gcc.gnu.org
4913 13. http://validator.w3.org/check/referer
4914======================================================================
4915http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.html
4916
4917 EGCS 1.0.1
4918
4919 January 6, 1998
4920
4921 We are pleased to announce the release of EGCS 1.0.1.
4922
4923 EGCS is a collaborative effort involving several groups of hackers
4924 using an open development model to accelerate development and testing
4925 of GNU compilers and runtime libraries.
4926
4927 EGCS 1.0.1 is a minor update to the EGCS 1.0 compiler to fix a few
4928 critical bugs and add support for Red Hat 5.0 Linux. Changes since the
4929 EGCS 1.0 release:
4930 * Add support for Red Hat 5.0 Linux and better support for Linux
4931 systems using glibc2.
4932 Many programs failed to link when compiled with EGCS 1.0 on Red
4933 Hat 5.0 or on systems with newer versions of glibc2. EGCS 1.0.1
4934 should fix these problems.
4935 * Compatibility with both EGCS 1.0 and GCC 2.8 libgcc exception
4936 handling interfaces.
4937 To avoid future compatibility problems, we strongly urge anyone
4938 who is planning on distributing shared libraries that contain C++
4939 code to upgrade to EGCS 1.0.1 first.
4940 Soon after EGCS 1.0 was released, the GCC developers made some
4941 incompatible changes in libgcc's exception handling interfaces.
4942 These changes were needed to solve problems on some platforms.
4943 This means that GCC 2.8.0, when released, will not be seamlessly
4944 compatible with shared libraries built by EGCS 1.0. The reason is
4945 that the libgcc.a in GCC 2.8.0 will not contain a function needed
4946 by the old interface.
4947 The result of this is that there may be compatibility problems
4948 with shared libraries built by EGCS 1.0 when used with GCC 2.8.0.
4949 With EGCS 1.0.1, generated code uses the new (GCC 2.8.0)
4950 interface, and libgcc.a has the support routines for both the old
4951 and the new interfaces (so EGCS 1.0.1 and EGCS 1.0 code can be
4952 freely mixed, and EGCS 1.0.1 and GCC 2.8.0 code can be freely
4953 mixed).
4954 The maintainers of GCC 2.x have decided against including seamless
4955 support for the old interface in 2.8.0, since it was never
4956 "official", so to avoid future compatibility problems we recommend
4957 against distributing any shared libraries built by EGCS 1.0 that
4958 contain C++ code (upgrade to 1.0.1 and use that).
4959 * Various bugfixes in the x86, hppa, mips, and rs6000/ppc backends.
4960 The x86 changes fix code generation errors exposed when building
4961 glibc2 and the Linux dynamic linker (ld.so).
4962 The hppa change fixes a compiler abort when configured for use
4963 with RTEMS.
4964 The MIPS changes fix problems with the definition of LONG_MAX on
4965 newer systems, allow for command line selection of the target ABI,
4966 and fix one code generation problem.
4967 The rs6000/ppc change fixes some problems with passing structures
4968 to varargs/stdarg functions.
4969 * A few machine independent bugfixes, mostly to fix code generation
4970 errors when building Linux kernels or glibc.
4971 * Fix a few critical exception handling and template bugs in the C++
4972 compiler.
4973 * Fix Fortran namelist bug on alphas.
4974 * Fix build problems on x86-solaris systems.
4975
4976 An important goal of EGCS is to allow wide scale testing of new
4977 features and optimizations which are still under development. However,
4978 EGCS has been carefully tested and should be comparable in quality to
4979 most GCC releases.
4980
4981 EGCS 1.0.1 is based on an August 2, 1997 snapshot of the GCC 2.8
4982 development sources; it contains nearly all of the new features found
4983 in GCC 2.8.
4984
4985 EGCS also contains many improvements and features not found in GCC 2.7
4986 and even the soon to be released GCC 2.8 compilers.
4987 * Integrated C++ runtime libraries, including support for most major
4988 linux systems!
4989 * The integrated libstdc++ library includes a verbatim copy of SGI's
4990 STL release.
4991 * Integrated GNU Fortran compiler
4992 * New instruction scheduler
4993 * New alias analysis code
4994
4995 See the [1]new features page for a more complete list of new features
4996 found in EGCS 1.0.x releases.
4997
4998 The EGCS 1.0.1 release includes installation instructions in both HTML
4999 and plaintext forms (see the INSTALL directory in the toplevel
5000 directory of the EGCS 1.0.1 distribution). However, we also keep the
5001 most up to date [2]installation instructions and [3]build/test status
5002 on our web page. We will update those pages as new information becomes
5003 available.
5004
5005 And, we can't in good conscience fail to mention some [4]caveats to
5006 using EGCS.
5007
5008 Update: Big thanks to Stanford for providing a high speed link for
5009 downloading EGCS (go.cygnus.com)!
5010
5011 Download EGCS from ftp.cygnus.com (USA California) or go.cygnus.com
5012 (USA California -- High speed link provided by Stanford).
5013
5014 The EGCS 1.0.1 release is also available on many mirror sites.
5015 [5]Goto mirror list to find a closer site
5016
5017 We'd like to thank the numerous people that have contributed new
5018 features, test results, bugfixes, etc. Unfortunately, they're far too
5019 numerous to mention by name.
5020 _________________________________________________________________
5021
5022 Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There
5023 are also [7]other ways to contact the FSF.
5024
5025 These pages are maintained by [8]the GCC team.
5026
5027
5028 For questions related to the use of GCC, please consult these web
5029 pages and the [9]GCC manuals. If that fails, the
5030 [10]gcc-help@gcc.gnu.org mailing list might help.
5031 Please send comments on these web pages and the development of GCC
5032 to our public developer mailing list at [11]gcc@gnu.org or
5033 [12]gcc@gcc.gnu.org.
5034
5035 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
5036 330, Boston, MA 02111, USA.
5037
5038 Verbatim copying and distribution of this entire article is permitted
5039 in any medium, provided this notice is preserved.
5040
5041 Last modified 2003-08-28 [13]Valid XHTML 1.0
5042
5043References
5044
5045 1. http://gcc.gnu.org/egcs-1.0/features.html
5046 2. http://gcc.gnu.org/install/index.html
5047 3. http://gcc.gnu.org/egcs-1.0/buildstat.html
5048 4. http://gcc.gnu.org/egcs-1.0/caveats.html
5049 5. http://gcc.gnu.org/mirrors.html
5050 6. mailto:gnu@gnu.org
5051 7. http://www.gnu.org/home.html#ContactInfo
5052 8. http://gcc.gnu.org/about.html
5053 9. http://gcc.gnu.org/onlinedocs/
5054 10. mailto:gcc-help@gcc.gnu.org
5055 11. mailto:gcc@gnu.org
5056 12. mailto:gcc@gcc.gnu.org
5057 13. http://validator.w3.org/check/referer
5058======================================================================
5059http://gcc.gnu.org/egcs-1.0/egcs-1.0.html
5060
5061 EGCS 1.0
5062
5063 December 3, 1997
5064
5065 We are pleased to announce the release of EGCS 1.0.
5066
5067 EGCS is a collaborative effort involving several groups of hackers
5068 using an open development model to accelerate development and testing
5069 of GNU compilers and runtime libraries.
5070
5071 An important goal of EGCS is to allow wide scale testing of
5072 experimental features and optimizations; therefore, EGCS contains some
5073 features and optimizations which are still under development. However,
5074 EGCS has been carefully tested and should be comparable in quality to
5075 most GCC releases.
5076
5077 EGCS 1.0 is based on an August 2, 1997 snapshot of the GCC 2.8
5078 development sources; it contains nearly all of the new features found
5079 in GCC 2.8.
5080
5081 EGCS 1.0 also contains many improvements and features not found in GCC
5082 2.7 and even the soon to be released GCC 2.8 compilers.
5083 * Integrated C++ runtime libraries, including support for most major
5084 linux systems!
5085 * The integrated libstdc++ library includes a verbatim copy of SGI's
5086 STL release.
5087 * Integrated GNU Fortran compiler.
5088 * New instruction scheduler.
5089 * New alias analysis code.
5090
5091 See the [1]new features page for a more complete list of new features.
5092
5093 The EGCS 1.0 release includes installation instructions in both HTML
5094 and plaintext forms (see the INSTALL directory in the toplevel
5095 directory of the EGCS 1.0 distribution). However, we also keep the
5096 most up to date [2]installation instructions and [3]build/test status
5097 on our web page. We will update those pages as new information becomes
5098 available.
5099
5100 And, we can't in good conscience fail to mention some [4]caveats to
5101 using EGCS.
5102
5103 Update: The T1 into our main California offices has been 100%
5104 saturated since shortly after the release. We've added an EGCS 1.0
5105 mirror at our Massachusetts office to help share the load. We also
5106 encourage folks to use the many mirrors available throughout the
5107 world.
5108
5109 Update: Big thanks to Stanford for providing a high speed link for
5110 downloading EGCS (go.cygnus.com)!
5111
5112 Download EGCS from ftp.cygnus.com (USA California) or go.cygnus.com
5113 (USA California -- High speed link provided by Stanford).
5114
5115 The EGCS 1.0 release should be available on most mirror sites by now.
5116 [5]Goto mirror list to find a closer site
5117
5118 We'd like to thank the numerous people that have contributed new
5119 features, test results, bugfixes, etc. Unfortunately, they're far too
5120 numerous to mention by name.
5121 _________________________________________________________________
5122
5123 Please send FSF & GNU inquiries & questions to [6]gnu@gnu.org. There
5124 are also [7]other ways to contact the FSF.
5125
5126 These pages are maintained by [8]the GCC team.
5127
5128
5129 For questions related to the use of GCC, please consult these web
5130 pages and the [9]GCC manuals. If that fails, the
5131 [10]gcc-help@gcc.gnu.org mailing list might help.
5132 Please send comments on these web pages and the development of GCC
5133 to our public developer mailing list at [11]gcc@gnu.org or
5134 [12]gcc@gcc.gnu.org.
5135
5136 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
5137 330, Boston, MA 02111, USA.
5138
5139 Verbatim copying and distribution of this entire article is permitted
5140 in any medium, provided this notice is preserved.
5141
5142 Last modified 2003-08-28 [13]Valid XHTML 1.0
5143
5144References
5145
5146 1. http://gcc.gnu.org/egcs-1.0/features.html
5147 2. http://gcc.gnu.org/install/index.html
5148 3. http://gcc.gnu.org/egcs-1.0/buildstat.html
5149 4. http://gcc.gnu.org/egcs-1.0/caveats.html
5150 5. http://gcc.gnu.org/mirrors.html
5151 6. mailto:gnu@gnu.org
5152 7. http://www.gnu.org/home.html#ContactInfo
5153 8. http://gcc.gnu.org/about.html
5154 9. http://gcc.gnu.org/onlinedocs/
5155 10. mailto:gcc-help@gcc.gnu.org
5156 11. mailto:gcc@gnu.org
5157 12. mailto:gcc@gcc.gnu.org
5158 13. http://validator.w3.org/check/referer
5159======================================================================
5160http://gcc.gnu.org/egcs-1.0/features.html
5161
5162 EGCS 1.0 features
5163
5164 * Core compiler is based on the gcc2 development tree from Aug 2,
5165 1997, so we have most of the [1]features found in GCC 2.8.
5166 * Integrated GNU Fortran compiler based on g77-0.5.22-19970929.
5167 * Vast improvements in the C++ compiler; so many they have [2]page
5168 of their own!
5169 * Integrated C++ runtime libraries, including support for most major
5170 linux systems!
5171 * New instruction scheduler from IBM Haifa which includes support
5172 for function wide instruction scheduling as well as superscalar
5173 scheduling.
5174 * Significantly improved alias analysis code.
5175 * Improved register allocation for two address machines.
5176 * Significant code generation improvements for Fortran code on
5177 Alphas.
5178 * Various optimizations from the g77 project as well as improved
5179 loop optimizations.
5180 * Dwarf2 debug format support for some targets.
5181 * egcs libstdc++ includes the SGI STL implementation without
5182 changes.
5183 * As a result of these and other changes, egcs libstc++ is not
5184 binary compatible with previous releases of libstdc++.
5185 * Various new ports -- UltraSPARC, Irix6.2 & Irix6.3 support, The
5186 SCO Openserver 5 family (5.0.{0,2,4} and Internet FastStart 1.0
5187 and 1.1), Support for RTEMS on several embedded targets, Support
5188 for arm-linux, Mitsubishi M32R, Hitachi H8/S, Matsushita MN102 and
5189 MN103, NEC V850, Sparclet, Solaris & Linux on PowerPCs, etc.
5190 * Integrated testsuites for gcc, g++, g77, libstdc++ and libio.
5191 * RS6000/PowerPC ports generate code which can run on all
5192 RS6000/PowerPC variants by default.
5193 * -mcpu= and -march= switches for the x86 port to allow better
5194 control over how the x86 port generates code.
5195 * Includes the template repository patch (aka repo patch); note the
5196 new template code makes repo obsolete for ELF systems using gnu-ld
5197 such as Linux.
5198 * Plus the usual assortment of bugfixes and improvements.
5199 _________________________________________________________________
5200
5201 Please send FSF & GNU inquiries & questions to [3]gnu@gnu.org. There
5202 are also [4]other ways to contact the FSF.
5203
5204 These pages are maintained by [5]the GCC team.
5205
5206
5207 For questions related to the use of GCC, please consult these web
5208 pages and the [6]GCC manuals. If that fails, the
5209 [7]gcc-help@gcc.gnu.org mailing list might help.
5210 Please send comments on these web pages and the development of GCC
5211 to our public developer mailing list at [8]gcc@gnu.org or
5212 [9]gcc@gcc.gnu.org.
5213
5214 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
5215 330, Boston, MA 02111, USA.
5216
5217 Verbatim copying and distribution of this entire article is permitted
5218 in any medium, provided this notice is preserved.
5219
5220 Last modified 2003-08-28 [10]Valid XHTML 1.0
5221
5222References
5223
5224 1. http://gcc.gnu.org/egcs-1.0/features-2.8.html
5225 2. http://gcc.gnu.org/egcs-1.0/c++features.html
5226 3. mailto:gnu@gnu.org
5227 4. http://www.gnu.org/home.html#ContactInfo
5228 5. http://gcc.gnu.org/about.html
5229 6. http://gcc.gnu.org/onlinedocs/
5230 7. mailto:gcc-help@gcc.gnu.org
5231 8. mailto:gcc@gnu.org
5232 9. mailto:gcc@gcc.gnu.org
5233 10. http://validator.w3.org/check/referer
5234======================================================================
5235http://gcc.gnu.org/egcs-1.0/caveats.html
5236
5237 EGCS 1.0 Caveats
5238
5239 * EGCS has an integrated libstdc++, but does not have an integrated
5240 libg++. Furthermore old libg++ releases will not work with egc; HJ
5241 Lu has made a libg++-2.8.1.2 available which may work with EGCS.
5242 Note most C++ programs only need libstdc++.
5243 * Note that using -pedantic or -Wreturn-type can cause an explosion
5244 in the amount of memory needed for template-heavy C++ code, such
5245 as code that uses STL. Also note that -Wall includes
5246 -Wreturn-type, so if you use -Wall you will need to specify
5247 -Wno-return-type to turn it off.
5248 * Exception handling may not work with shared libraries,
5249 particularly on alphas, hppas, and mips based platforms. Exception
5250 handling is known to work on x86-linux platforms with shared
5251 libraries.
5252 * Some versions of the Linux kernel have bugs which prevent them
5253 from being compiled or from running when compiled by EGCS. See the
5254 FAQ (as shipped with EGCS 1.0) for additional information.
5255 * In general, EGCS is more rigorous about rejecting invalid C++ code
5256 or deprecated C++ constructs than G++ 2.7. As a result it may be
5257 necessary to fix C++ code before it will compile with EGCS.
5258 * G++ is also aggressively tracking the C++ standard; as a result
5259 code which was previously valid (and thus accepted by other
5260 compilers and older versions of G++) may no longer be accepted.
5261 * EGCS 1.0 may not work with Red Hat Linux 5.0 on all targets. EGCS
5262 1.0.x and later releases should work with Red Hat Linux 5.0.
5263 _________________________________________________________________
5264
5265 Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There
5266 are also [2]other ways to contact the FSF.
5267
5268 These pages are maintained by [3]the GCC team.
5269
5270
5271 For questions related to the use of GCC, please consult these web
5272 pages and the [4]GCC manuals. If that fails, the
5273 [5]gcc-help@gcc.gnu.org mailing list might help.
5274 Please send comments on these web pages and the development of GCC
5275 to our public developer mailing list at [6]gcc@gnu.org or
5276 [7]gcc@gcc.gnu.org.
5277
5278 Copyright (C) Free Software Foundation, Inc., 59 Temple Place - Suite
5279 330, Boston, MA 02111, USA.
5280
5281 Verbatim copying and distribution of this entire article is permitted
5282 in any medium, provided this notice is preserved.
5283
5284 Last modified 2003-08-28 [8]Valid XHTML 1.0
5285
5286References
5287
5288 1. mailto:gnu@gnu.org
5289 2. http://www.gnu.org/home.html#ContactInfo
5290 3. http://gcc.gnu.org/about.html
5291 4. http://gcc.gnu.org/onlinedocs/
5292 5. mailto:gcc-help@gcc.gnu.org
5293 6. mailto:gcc@gnu.org
5294 7. mailto:gcc@gcc.gnu.org
5295 8. http://validator.w3.org/check/referer
5296======================================================================
Note: See TracBrowser for help on using the repository browser.