contrib:
[official-gcc.git] / gcc / NEWS
blob1fbc7a2568af21501695ccd0e863290081bf2de4
1 This file contains information about GCC releases which has been
2 generated automatically from the online release notes.  This file
3 covers releases of GCC (and the former EGCS project) since EGCS 1.0,
4 on the line of development that led to GCC 3; for information on GCC
5 2.8.1 and older releases of GCC 2, see ONEWS.
7 ======================================================================
8 http://gcc.gnu.org/gcc-3.0/gcc-3.0.html
10                                   GCC 3.0
12    TBA
14    The [1]GNU project and the GCC developers are pleased to announce the
15    release of GCC version 3.0.
17    GCC used to stand for the GNU C Compiler, but since the compiler
18    supports several other languages aside from C, it now stands for the
19    GNU Compiler Collection.
21    GCC 3.0 has several new optimizations, new targets, new languages and
22    many other new features. See the [2]new features page for a more
23    complete list.
25    The GCC developers would like to thank the numerous people that have
26    contributed new features, test results, bugfixes, etc to GCC. This
27    [3]amazing group of volunteers is what makes GCC successful.
29    And finally, we can't in good conscience fail to mention some
30    [4]caveats to using GCC 3.0.
32    For additional information about GCC please refer to the [5]GCC
33    project web site or contact the [6]GCC development mailing list.
34      _________________________________________________________________
37     Please send FSF & GNU inquiries & questions to [7]gnu@gnu.org. There
38     are also [8]other ways to contact the FSF.
39     These pages are maintained by [9]The GCC team.
40     Please send comments on these web pages and GCC to
41     [10]gcc@gcc.gnu.org, send other questions to [11]gnu@gnu.org.
42     Copyright (C) Free Software Foundation, Inc., 59 Temple Place -
43     Suite 330, Boston, MA 02111, USA.
44     Verbatim copying and distribution of this entire article is
45     permitted in any medium, provided this notice is preserved.
46     Last modified 2001-05-12.
48 References
50    1. http://www.gnu.org/
51    2. http://gcc.gnu.org/gcc-3.0/features.html
52    3. http://gcc.gnu.org/thanks.html
53    4. http://gcc.gnu.org/gcc-3.0/caveats.html
54    5. http://gcc.gnu.org/index.html
55    6. mailto:gcc@gcc.gnu.org
56    7. mailto:gnu@gnu.org
57    8. http://www.gnu.org/home.html#ContactInfo
58    9. http://gcc.gnu.org/about.html
59   10. mailto:gcc@gcc.gnu.org
60   11. mailto:gnu@gnu.org
61 ======================================================================
62 http://gcc.gnu.org/gcc-3.0/features.html
64                             GCC 3.0 New Features
66      * General Optimizer Improvements:
67           + [1]Basic block reordering pass.
68           + New if-conversion pass with support for conditional
69             (predicated) execution.
70           + New tail call and sibling call elimination optimizations.
71           + New register renaming pass.
72           + New (experimental) [2]static single assignment (SSA)
73             representation support.
74           + New dead-code elimination pass implemented using the SSA
75             representation.
76           + [3]Global null pointer test elimination.
77           + [4]Global code hoisting/unification.
78           + More builtins and optimizations for stdio.h, string.h and old
79             BSD functions, as well as for ISO C99 functions.
80           + New builtin __builtin_expect for giving hints to the branch
81             predictor.
82      * New Languages and Language specific improvements:
83           + The GNU Compiler for the Java(TM) language (GCJ) is now
84             integrated and supported, including the run-time library
85             containing most common non-GUI Java classes, a bytecode
86             interpreter, and the Boehm conservative garbage collector.
87             Many bugs have been fixed. GCJ can compile Java source or
88             Java bytecodes to either native code or Java class files, and
89             supports native methods written in either the standard JNI or
90             the more efficient and convenient CNI.
91           + New C++ ABI, capable of inter-operating with other IA-64
92             compilers.
93           + The new ABI also significantly reduces the size of symbol and
94             debug information.
95           + New C++ support library and many C++ bug fixes, vastly
96             improving our conformance to the ISO C++ standard.
97           + New [5]inliner for C++.
98           + Rewritten C preprocessor, integrated into the C, C++ and
99             Objective C compilers, with very many improvements including
100             ISO C99 support and [6]improvements to dependency generation.
101           + Support for more [7]ISO C99 features.
102           + Many improvements to support for checking calls to format
103             functions such as printf and scanf, including support for ISO
104             C99 format features, extensions from the Single Unix
105             Specification and GNU libc 2.2, checking of strfmon formats
106             and features to assist in auditing for format string security
107             bugs.
108           + New warnings for C code that may have undefined semantics
109             because of violations of sequence point rules in the C
110             standard (such as a = a++;, a[n] = b[n++]; and a[i++] = i;),
111             included in -Wall.
112           + Additional warning option -Wfloat-equal.
113           + Improvements to -Wtraditional.
114           + Fortran improvements are listed in [8]the Fortran
115             documentation.
116      * New Targets and Target Specific Improvements:
117           + New x86 back-end, generating much improved code.
118           + Support for a generic i386-elf target contributed.
119           + New option to emit x86 assembly code using Intel style syntax
120             (-mintel-syntax).
121           + HPUX 11 support contributed.
122           + Improved PowerPC code generation, including scheduled
123             prologue and epilogue.
124           + Port of gcc to Intel's IA-64 processor contributed.
125           + Port of gcc to Motorola's MCore 210 and 340 contributed.
126           + New unified back-end for Arm, Thumb and StrongArm
127             contributed.
128           + Port of gcc to Intel's XScale processor contributed.
129           + Port of gcc to Atmel's AVR microcontrollers contributed.
130           + Port of gcc to Mitsubishi's D30V processor contributed.
131           + Port of gcc to Matsushita's AM33 processor (a member of the
132             MN10300 processor family) contributed.
133           + Port of gcc to Fujitsu's FR30 processor contributed.
134           + Port of gcc to Motorola's 68HC11 and 68HC12 processors
135             contributed.
136           + Port of gcc to Sun's picoJava processor core contributed.
137      * Documentation improvements:
138           + Substantially rewritten and improved C preprocessor manual.
139           + Many improvements to other documentation.
140           + Manpages for gcc, cpp and gcov are now generated
141             automatically from the master Texinfo manual, eliminating the
142             problem of manpages being out of date. (The generated
143             manpages are only extracts from the full manual, which is
144             provided in Texinfo form, from which info, HTML, other
145             formats and a printed manual can be generated.)
146           + Generated info files are included in the release tarballs
147             alongside their Texinfo sources, avoiding problems on some
148             platforms with building makeinfo as part of the GCC
149             distribution.
150      * Other significant improvements:
151           + Garbage collection used internally by the compiler for most
152             memory allocation instead of obstacks.
153           + Lengauer and Tarjan algorithm used for computing dominators
154             in the CFG. This algorithm can be significantly faster and
155             more space efficient than our older algorithm.
156           + gccbug script provided to assist in submitting bug reports to
157             the GCC GNATS bug tracking database. (Bug reports previously
158             submitted directly to the GCC mailing lists, for which no
159             GNATS bug tracking number has been received, should be
160             submitted again to the bug tracking database using gccbug if
161             you can reproduce the problem with GCC 3.0.)
162           + The internal libgcc library is [9]built as a shared library
163             on systems that support it.
164           + Extensive testsuite included with GCC, with many new tests.
165             In addition to tests for GCC bugs that have been fixed, many
166             tests have been added for language features, compiler
167             warnings and builtin functions.
168           + Additional language-independent warning options -Wpacked,
169             -Wpadded, -Wunreachable-code and -Wdisabled-optimization.
170           + Target-independent options -falign-functions, -falign-loops
171             and -falign-jumps.
172      * Plus a great many bugfixes and almost all the [10]features found
173        in GCC 2.95.
174      _________________________________________________________________
177     Please send FSF & GNU inquiries & questions to [11]gnu@gnu.org.
178     There are also [12]other ways to contact the FSF.
179     These pages are maintained by [13]The GCC team.
180     Please send comments on these web pages and GCC to
181     [14]gcc@gcc.gnu.org, send other questions to [15]gnu@gnu.org.
182     Copyright (C) Free Software Foundation, Inc., 59 Temple Place -
183     Suite 330, Boston, MA 02111, USA.
184     Verbatim copying and distribution of this entire article is
185     permitted in any medium, provided this notice is preserved.
186     Last modified 2001-05-30.
188 References
190    1. http://gcc.gnu.org/news/reorder.html
191    2. http://gcc.gnu.org/news/ssa.html
192    3. http://gcc.gnu.org/news/null.html
193    4. http://gcc.gnu.org/news/unify.html
194    5. http://gcc.gnu.org/news/inlining.html
195    6. http://gcc.gnu.org/news/dependencies.html
196    7. http://gcc.gnu.org/gcc-3.0/c99status.html
197    8. http://gcc.gnu.org/onlinedocs/g77_news.html
198    9. http://gcc.gnu.org/gcc-3.0/libgcc.html
199   10. http://gcc.gnu.org/gcc-2.95/features.html
200   11. mailto:gnu@gnu.org
201   12. http://www.gnu.org/home.html#ContactInfo
202   13. http://gcc.gnu.org/about.html
203   14. mailto:gcc@gcc.gnu.org
204   15. mailto:gnu@gnu.org
205 ======================================================================
206 http://gcc.gnu.org/gcc-3.0/caveats.html
208                               GCC 3.0 Caveats
210      * Enumerations are now properly promoted to int in function
211        parameters and function returns. Normally this change is not
212        visible, but when using -fshort-enums this is an ABI change.
213      * The undocumented extension that allowed C programs to have a label
214        at the end of a compound statement has been deprecated and may be
215        removed in a future version. Programs that now generate a warning
216        about this may be fixed by adding a null statement (a single
217        semicolon) after the label.
218      * The poorly documented extension that allowed string constants in
219        C, C++ and Objective C to contain unescaped newlines has been
220        deprecated and may be removed in a future version. Programs using
221        this extension may be fixed in several ways: the bare newline may
222        be replaced by \n, or preceded by \n\, or string concatenation may
223        be used with the bare newline preceded by \n" and " placed at the
224        start of the next line.
225      * The Chill compiler is not included in GCC 3.0, because of the lack
226        of a volunteer to convert it to use garbage collection.
227      _________________________________________________________________
230     Please send FSF & GNU inquiries & questions to [1]gnu@gnu.org. There
231     are also [2]other ways to contact the FSF.
232     These pages are maintained by [3]The GCC team.
233     Please send comments on these web pages and GCC to
234     [4]gcc@gcc.gnu.org, send other questions to [5]gnu@gnu.org.
235     Copyright (C) Free Software Foundation, Inc., 59 Temple Place -
236     Suite 330, Boston, MA 02111, USA.
237     Verbatim copying and distribution of this entire article is
238     permitted in any medium, provided this notice is preserved.
239     Last modified 2001-05-04.
241 References
243    1. mailto:gnu@gnu.org
244    2. http://www.gnu.org/home.html#ContactInfo
245    3. http://gcc.gnu.org/about.html
246    4. mailto:gcc@gcc.gnu.org
247    5. mailto:gnu@gnu.org
248 ======================================================================
249 http://gcc.gnu.org/gcc-2.95/gcc-2.95.3.html
251                                  GCC 2.95.3
253    March 16, 2001
255    The GNU project and the GCC developers are pleased to announce the
256    release of GCC version 2.95.3. GCC used to stand for the GNU C
257    Compiler, but since the compiler supports several other languages
258    aside from C, it now stands for the GNU Compiler Collection.
260    This is a minor release to address several bugs in the [1]GCC version
261    2.95.2 release.
263      * Generic bugfixes and improvements
264           + Fix numerous problems that caused incorrect optimization in
265             the register reloading code.
266           + Fix numerous problems that caused incorrect optimization in
267             the loop optimizer.
268           + Fix aborts in the functions build_insn_chain and scan_loops
269             under some circumstances.
270           + Fix an alias analysis bug.
271           + Fix an infinite compilation bug in the combiner.
272           + A few problems with complex number support have been fixed.
273           + It is no longer possible for gcc to act as a fork bomb when
274             installed incorrectly.
275           + The -fpack-struct option should be recognized now.
276           + Fixed a bug that caused incorrect code to be generated due to
277             a lost stack adjustment.
278      * Platform specific bugfixes and improvements
279           + Support building ARM toolchains hosted on Windows.
280           + Fix attribute calculations in ARM toolchains.
281           + arm-linux support has been improved.
282           + Fix a PIC failure on sparc targets.
283           + On ix86 targets, the regparm attribute should now work
284             reliably.
285           + Several updates for the h8300 port.
287    The whole suite has been extensively [2]regression tested and
288    [3]package tested. It should be reliable and suitable for widespread
289    use.
291    The GCC 2.95 release has several new optimizations, new targets, new
292    languages and other new features as compared to EGCS 1.1 or GCC 2.8.
293    See the [4]new features page for a more complete list of new features
294    found in the GCC 2.95 releases.
296    The sources include installation instructions in both HTML and
297    plaintext forms in the install directory in the distribution. However,
298    the most up to date [5]installation instructions and [6]build/test
299    status are on the web pages. We will update those pages as new
300    information becomes available.
302    The GCC developers would like to thank the numerous people that have
303    contributed new features, test results, bugfixes, etc to GCC. This
304    [7]amazing group of volunteers is what makes GCC successful.
306    And finally, we can't in good conscience fail to mention some
307    [8]caveats to using GCC 2.95.3.
309    Download GCC 2.95.3 from the [9]GNU FTP server (ftp://ftp.gnu.org)
310    Download GCC 2.95.3 from the [10]GCC FTP server (ftp://gcc.gnu.org)
311    [11]Find a GNU mirror site
312    [12]Find a GCC mirror site
314    For additional information about GCC please see the [13]GCC project
315    web server or contact the [14]GCC development mailing list.
316      _________________________________________________________________
319     Please send FSF & GNU inquiries & questions to [15]gnu@gnu.org.
320     There are also [16]other ways to contact the FSF.
321     These pages are maintained by [17]The GCC team.
322     Please send comments on these web pages and GCC to
323     [18]gcc@gcc.gnu.org, send other questions to [19]gnu@gnu.org.
324     Copyright (C) Free Software Foundation, Inc., 59 Temple Place -
325     Suite 330, Boston, MA 02111, USA.
326     Verbatim copying and distribution of this entire article is
327     permitted in any medium, provided this notice is preserved.
328     Last modified 2001-05-04.
330 References
332    1. http://gcc.gnu.org/gcc-2.95/gcc-2.95.2.html
333    2. http://gcc.gnu.org/gcc-2.95/regress.html
334    3. http://gcc.gnu.org/gcc-2.95/othertest.html
335    4. http://gcc.gnu.org/gcc-2.95/features.html
336    5. http://gcc.gnu.org/install/index.html
337    6. http://gcc.gnu.org/gcc-2.95/buildstat.html
338    7. http://gcc.gnu.org/thanks.html
339    8. http://gcc.gnu.org/gcc-2.95/caveats.html
340    9. ftp://ftp.gnu.org/pub/gnu/gcc/
341   10. ftp://gcc.gnu.org/pub/gcc/releases/index.html
342   11. http://www.gnu.org/order/ftp.html
343   12. http://gcc.gnu.org/mirrors.html
344   13. http://gcc.gnu.org/index.html
345   14. mailto:gcc@gcc.gnu.org
346   15. mailto:gnu@gnu.org
347   16. http://www.gnu.org/home.html#ContactInfo
348   17. http://gcc.gnu.org/about.html
349   18. mailto:gcc@gcc.gnu.org
350   19. mailto:gnu@gnu.org
351 ======================================================================
352 http://gcc.gnu.org/gcc-2.95/gcc-2.95.2.html
354                                  GCC 2.95.2
356    October 27, 1999
358    The GNU project and the GCC developers are pleased to announce the
359    release of GCC version 2.95.2. GCC used to stand for the GNU C
360    Compiler, but since the compiler supports several other languages
361    aside from C, it now stands for the GNU Compiler Collection.
363    This is a minor release to address several bugs in the GCC version
364    2.95.1 release.
366    The -fstrict-aliasing is not enabled by default for GCC 2.95.2. While
367    the optimizations performed by -fstrict-aliasing are valid according
368    to the C and C++ standards, the optimization have caused some
369    problems, particularly with old non-conforming code.
371    The GCC developers are experimenting with ways to warn users about
372    code which violates the C/C++ standards, but those warnings are not
373    ready for widespread use at this time. Rather than wait for those
374    warnings the GCC developers have chosen to disable -fstrict-aliasing
375    by default for the GCC 2.95.2 release.
377    We strongly encourage developers to find and fix code which violates
378    the C/C++ standards as -fstrict-aliasing may be enabled by default in
379    future releases. Use the option -fstrict-aliasing to re-enable these
380    optimizations.
382      * Generic bugfixes and improvements
383           + Fix incorrectly optimized memory reference in global common
384             subexpression elimination (GCSE) optimization pass.
385           + Fix code generation bug in regmove.c in which it could
386             incorrectly change a "const" value.
387           + Fix bug in optimization of conditionals involving volatile
388             memory references.
389           + Avoid over-allocation of stack space for some procedures.
390           + Fixed bug in the compiler which caused incorrect optimization
391             of an obscure series of bit manipulations, shifts and
392             arithmetic.
393           + Fixed register allocator bug which caused teTeX to be
394             mis-compiled on Sparc targets.
395           + Avoid incorrect optimization of degenerate case statements
396             for certain targets such as the ARM.
397           + Fix out of range memory reference in the jump optimizer.
398           + Avoid dereferencing null pointer in fix-header.
399           + Fix test for GCC specific features so that it is possible to
400             bootstrap with gcc-2.6.2 and older versions of GCC.
401           + Fix typo in scheduler which could potentially cause out of
402             range memory accesses.
403           + Avoid incorrect loop reversal which caused incorrect code for
404             certain loops on PowerPC targets.
405           + Avoid incorrect optimization of switch statements on certain
406             targets (for example the ARM).
407      * Platform specific bugfixes and improvements
408           + Work around bug in Sun V5.0 compilers which caused bootstrap
409             comparison failures on Sparc targets.
410           + Fix Sparc backend bug which caused aborts in final.c.
411           + Fix sparc-hal-solaris2* configuration fragments.
412           + Fix bug in sparc block profiling.
413           + Fix obscure code generation bug for the PARISC targets.
414           + Define __STDC_EXT__ for HPUX configurations.
415           + Various POWERPC64 code generation bugfixes.
416           + Fix abort for PPC targets using ELF (ex GNU/Linux).
417           + Fix collect2 problems for AIX targets.
418           + Correct handling of .file directive for PPC targets.
419           + Fix bug in fix_trunc x86 patterns.
420           + Fix x86 port to correctly pop the FP stack for functions that
421             return structures in memory.
422           + Fix minor bug in strlen x86 pattern.
423           + Use stabs debugging instead of dwarf1 for x86-solaris
424             targets.
425           + Fix template repository code to handle leading underscore in
426             mangled names.
427           + Fix weak/weak alias support for OpenBSD.
428           + GNU/Linux for the ARM has C++ compatible include files.
429      * Language & Runtime specific fixes.
430           + Fix handling of constructor attribute in the C front-end
431             which caused problems building the Chill runtime library on
432             some targets.
433           + Fix minor problem merging type qualifiers in the C front-end.
434           + Fix aliasing bug for pointers and references (C/C++).
435           + Fix incorrect "non-constant initializer bug" when
436             -traditional or -fwritable-strings is enabled.
437           + Fix build error for Chill front-end on SunOS.
438           + Do not complain about duplicate instantiations when using
439             -frepo (C++)
440           + Fix array bounds handling in C++ front-end which caused
441             problems with dwarf debugging information in some
442             circumstances.
443           + Fix minor namespace problem.
444           + Fix problem linking java programs.
446    The whole suite has been extensively [1]regression tested and
447    [2]package tested. It should be reliable and suitable for widespread
448    use.
450    The GCC 2.95 release has several new optimizations, new targets, new
451    languages and other new features as compared to EGCS 1.1 or GCC 2.8.
452    See the [3]new features page for a more complete list of new features
453    found in the GCC 2.95 releases.
455    The sources include installation instructions in both HTML and
456    plaintext forms in the install directory in the distribution. However,
457    the most up to date [4]installation instructions and [5]build/test
458    status are on the web pages. We will update those pages as new
459    information becomes available.
461    The GCC developers would like to thank the numerous people that have
462    contributed new features, test results, bugfixes, etc to GCC. This
463    [6]amazing group of volunteers is what makes GCC successful.
465    And finally, we can't in good conscience fail to mention some
466    [7]caveats to using GCC 2.95.2.
468    Download GCC 2.95.2 from the [8]GNU FTP server (ftp://ftp.gnu.org)
469    Download GCC 2.95.2 from the [9]GCC/EGCS FTP server
470    (ftp://gcc.gnu.org)
471    [10]Find a GNU mirror site
472    [11]Find a GCC/EGCS mirror site
474    For additional information about GCC please see the [12]GCC project
475    web server or contact the [13]GCC development mailing list.
476      _________________________________________________________________
479     Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org.
480     There are also [15]other ways to contact the FSF.
481     These pages are maintained by [16]The GCC team.
482     Please send comments on these web pages and GCC to
483     [17]gcc@gcc.gnu.org, send other questions to [18]gnu@gnu.org.
484     Copyright (C) Free Software Foundation, Inc., 59 Temple Place -
485     Suite 330, Boston, MA 02111, USA.
486     Verbatim copying and distribution of this entire article is
487     permitted in any medium, provided this notice is preserved.
488     Last modified 2001-05-04.
490 References
492    1. http://gcc.gnu.org/gcc-2.95/regress.html
493    2. http://gcc.gnu.org/gcc-2.95/othertest.html
494    3. http://gcc.gnu.org/gcc-2.95/features.html
495    4. http://gcc.gnu.org/install/index.html
496    5. http://gcc.gnu.org/gcc-2.95/buildstat.html
497    6. http://gcc.gnu.org/thanks.html
498    7. http://gcc.gnu.org/gcc-2.95/caveats.html
499    8. ftp://ftp.gnu.org/pub/gnu/gcc/
500    9. ftp://gcc.gnu.org/pub/gcc/releases/index.html
501   10. http://www.gnu.org/order/ftp.html
502   11. http://gcc.gnu.org/mirrors.html
503   12. http://gcc.gnu.org/index.html
504   13. mailto:gcc@gcc.gnu.org
505   14. mailto:gnu@gnu.org
506   15. http://www.gnu.org/home.html#ContactInfo
507   16. http://gcc.gnu.org/about.html
508   17. mailto:gcc@gcc.gnu.org
509   18. mailto:gnu@gnu.org
510 ======================================================================
511 http://gcc.gnu.org/gcc-2.95/gcc-2.95.1.html
513                                  GCC 2.95.1
515    August 19, 1999
517    The GNU project and the GCC/EGCS developers are pleased to announce
518    the release of GCC version 2.95.1. GCC used to stand for the GNU C
519    Compiler, but since the compiler supports several other languages
520    aside from C, it now stands for the GNU Compiler Collection.
522    This is a minor release to address several bugs in the GCC version
523    2.95 release.
525      * Generic bugfixes and improvements
526           + Various documentation fixes related to the GCC/EGCS merger.
527           + Fix memory management bug which could lead to spurious
528             aborts, core dumps or random parsing errors in the compiler.
529           + Fix a couple bugs in the dwarf1 and dwarf2 debug record
530             support.
531           + Fix infinite loop in the CSE optimizer.
532           + Avoid undefined behavior in compiler FP emulation code
533           + Fix install problem when prefix is overridden on the make
534             install command.
535           + Fix problem with unwanted installation of assert.h on some
536             systems.
537           + Fix problem with finding the wrong assembler in a single tree
538             build.
539           + Avoid increasing the known alignment of a register that is
540             already known to be a pointer.
541      * Platform specific bugfixes and improvements
542           + Codegen bugfix for prologue/epilogue for cpu32 target.
543           + Fix long long code generation bug for the Coldfire target.
544           + Fix various aborts in the SH compiler.
545           + Fix bugs in libgcc support library for the SH.
546           + Fix alpha ev6 code generation bug.
547           + Fix problems with EXIT_SUCCESS/EXIT_FAILURE redefinitions on
548             AIX platforms.
549           + Fix -fpic code generation bug for rs6000/ppc svr4 targets.
550           + Fix varargs/stdarg code generation bug for rs6000/ppc svr4
551             targets.
552           + Fix weak symbol handling for rs6000/ppc svr4 targets.
553           + Fix various problems with 64bit code generation for the
554             rs6000/ppc port.
555           + Fix codegen bug which caused tetex to be mis-compiled on the
556             x86
557           + Fix compiler abort in new cfg code exposed by x86 port.
558           + Fix out of range array reference in code convert flat
559             registers to the x87 stacked FP register file.
560           + Fix minor vxworks configuration bug
561           + Fix return type of bsearch for SunOS 4.x.
562      * Language & Runtime specific fixes.
563           + The G++ signature extension has been deprecated. It will be
564             removed in the next major release of G++. Use of signatures
565             will result in a warning from the compiler.
566           + Several bugs relating to templates and namespaces were fixed.
567           + A bug that caused crashes when combining templates with -g on
568             DWARF1 platforms was fixed.
569           + Pointers-to-members, virtual functions, and multiple
570             inheritance should now work together correctly.
571           + Some code-generation bugs relating to function try blocks
572             were fixed.
573           + G++ is a little bit more lenient with certain archaic
574             constructs than in GCC 2.95.
575           + Fix to prevent shared library version #s from bring truncated
576             to 1 digit
577           + Fix missing std:: in the libstdc++ library.
578           + Fix stream locking problems in libio.
579           + Fix problem in java compiler driver.
581    The whole suite has been extensively [1]regression tested and
582    [2]package tested. It should be reliable and suitable for widespread
583    use.
585    The compiler has several new optimizations, new targets, new languages
586    and other new features. See the [3]new features page for a more
587    complete list of new features found in the GCC 2.95 releases.
589    The sources include installation instructions in both HTML and
590    plaintext forms in the install directory in the distribution. However,
591    the most up to date [4]installation instructions and [5]build/test
592    status are on the web pages. We will update those pages as new
593    information becomes available.
595    The GCC developers would like to thank the numerous people that have
596    contributed new features, test results, bugfixes, etc to GCC. This
597    [6]amazing group of volunteers is what makes GCC successful.
599    And finally, we can't in good conscience fail to mention some
600    [7]caveats to using GCC 2.95.1.
602    Download GCC 2.95.1 from the [8]GNU FTP server (ftp://ftp.gnu.org)
603    Download GCC 2.95.1 from the [9]GCC/EGCS FTP server
604    (ftp://go.cygnus.com)
605    [10]Find a GNU mirror site
606    [11]Find a GCC/EGCS mirror site
608    For additional information about GCC please see the [12]GCC project
609    web server or contact the [13]GCC development mailing list.
610      _________________________________________________________________
613     Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org.
614     There are also [15]other ways to contact the FSF.
615     These pages are maintained by [16]The GCC team.
616     Please send comments on these web pages and GCC to
617     [17]gcc@gcc.gnu.org, send other questions to [18]gnu@gnu.org.
618     Copyright (C) Free Software Foundation, Inc., 59 Temple Place -
619     Suite 330, Boston, MA 02111, USA.
620     Verbatim copying and distribution of this entire article is
621     permitted in any medium, provided this notice is preserved.
622     Last modified 2001-05-04.
624 References
626    1. http://gcc.gnu.org/gcc-2.95/regress.html
627    2. http://gcc.gnu.org/gcc-2.95/othertest.html
628    3. http://gcc.gnu.org/gcc-2.95/features.html
629    4. http://gcc.gnu.org/install/index.html
630    5. http://gcc.gnu.org/gcc-2.95/buildstat.html
631    6. http://gcc.gnu.org/thanks.html
632    7. http://gcc.gnu.org/gcc-2.95/caveats.html
633    8. ftp://ftp.gnu.org/pub/gnu/gcc/
634    9. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
635   10. http://www.gnu.org/order/ftp.html
636   11. http://gcc.gnu.org/mirrors.html
637   12. http://gcc.gnu.org/index.html
638   13. mailto:gcc@gcc.gnu.org
639   14. mailto:gnu@gnu.org
640   15. http://www.gnu.org/home.html#ContactInfo
641   16. http://gcc.gnu.org/about.html
642   17. mailto:gcc@gcc.gnu.org
643   18. mailto:gnu@gnu.org
644 ======================================================================
645 http://gcc.gnu.org/gcc-2.95/gcc-2.95.html
647                                   GCC 2.95
649    July 31, 1999
651    The GNU project and the GCC/EGCS developers are pleased to announce
652    the release of GCC version 2.95. GCC used to stand for the GNU C
653    Compiler, but since the compiler supports several other languages
654    aside from C, it now stands for the GNU Compiler Collection.
656    This is the first release of GCC since the April 1999 GCC/EGCS
657    reunification and includes nearly a year's worth of new development
658    and bugfixes.
660    The whole suite has been extensively [1]regression tested and
661    [2]package tested. It should be reliable and suitable for widespread
662    use.
664    The compiler has several new optimizations, new targets, new languages
665    and other new features. See the [3]new features page for a more
666    complete list of new features found in the GCC 2.95 releases.
668    The sources include installation instructions in both HTML and
669    plaintext forms in the install directory in the distribution. However,
670    the most up to date [4]installation instructions and [5]build/test
671    status are on the web pages. We will update those pages as new
672    information becomes available.
674    The GCC developers would like to thank the numerous people that have
675    contributed new features, test results, bugfixes, etc to GCC. This
676    [6]amazing group of volunteers is what makes GCC successful.
678    And finally, we can't in good conscience fail to mention some
679    [7]caveats to using GCC 2.95.
681    Download GCC 2.95 from the [8]GNU FTP server (ftp://ftp.gnu.org)
682    Download GCC 2.95 from the [9]GCC/EGCS FTP server
683    (ftp://go.cygnus.com)
684    [10]Find a GNU mirror site
685    [11]Find a GCC/EGCS mirror site
687    For additional information about GCC please see the [12]GCC project
688    web server or contact the [13]GCC development mailing list.
689      _________________________________________________________________
692     Please send FSF & GNU inquiries & questions to [14]gnu@gnu.org.
693     There are also [15]other ways to contact the FSF.
694     These pages are maintained by [16]The GCC team.
695     Please send comments on these web pages and GCC to
696     [17]gcc@gcc.gnu.org, send other questions to [18]gnu@gnu.org.
697     Copyright (C) Free Software Foundation, Inc., 59 Temple Place -
698     Suite 330, Boston, MA 02111, USA.
699     Verbatim copying and distribution of this entire article is
700     permitted in any medium, provided this notice is preserved.
701     Last modified 2001-05-04.
703 References
705    1. http://gcc.gnu.org/gcc-2.95/regress.html
706    2. http://gcc.gnu.org/gcc-2.95/othertest.html
707    3. http://gcc.gnu.org/gcc-2.95/features.html
708    4. http://gcc.gnu.org/install/index.html
709    5. http://gcc.gnu.org/gcc-2.95/buildstat.html
710    6. http://gcc.gnu.org/thanks.html
711    7. http://gcc.gnu.org/gcc-2.95/caveats.html
712    8. ftp://ftp.gnu.org/pub/gnu/gcc/
713    9. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
714   10. http://www.gnu.org/order/ftp.html
715   11. http://gcc.gnu.org/mirrors.html
716   12. http://gcc.gnu.org/index.html
717   13. mailto:gcc@gcc.gnu.org
718   14. mailto:gnu@gnu.org
719   15. http://www.gnu.org/home.html#ContactInfo
720   16. http://gcc.gnu.org/about.html
721   17. mailto:gcc@gcc.gnu.org
722   18. mailto:gnu@gnu.org
723 ======================================================================
724 http://gcc.gnu.org/gcc-2.95/features.html
726                            GCC 2.95 New Features
728      * General Optimizer Improvements:
729           + [1]Localized register spilling to improve speed and code
730             density especially on small register class machines.
731           + [2]Global CSE using lazy code motion algorithms.
732           + [3]Improved global constant/copy propagation.
733           + [4]Improved control flow graph analysis and manipulation.
734           + [5]Local dead store elimination.
735           + [6]Memory Load hoisting/store sinking in loops.
736           + [7]Type based alias analysis is enabled by default. Note this
737             feature will expose bugs in the Linux kernel. Please refer to
738             the [8]FAQ for additional information on this issue.
739           + Major revamp of GIV detection, combination and simplification
740             to improve loop performance.
741           + Major improvements to register allocation and reloading.
742      * New Languages and Language specific improvements
743           + [9]Many C++ improvements.
744           + [10]Many Fortran improvements.
745           + [11]Java front-end has been integrated. A [12]runtime library
746             is available separately.
747           + [13]ISO C99 support
748           + [14]Chill front-end and runtime has been integrated.
749           + Boehm garbage collector support in libobjc.
750           + More support for various pragmas which appear in vendor
751             include files
752      * New Targets and Target Specific Improvements
753           + [15]Sparc backend rewrite.
754           + -mschedule=8000 will optimize code for PA8000 class
755             processors; -mpa-risc-2-0 will generate code for PA2.0
756             processors
757           + Various micro-optimizations for the ia32 port. K6
758             optimizations
759           + Compiler will attempt to align doubles in the stack on the
760             ia32 port
761           + Alpha EV6 support
762           + PowerPC 750
763           + RS6000/PowerPC: -mcpu=401 was added as an alias for
764             -mcpu=403. -mcpu=e603e was added to do -mcpu=603e and
765             -msoft-float.
766           + c3x, c4x
767           + HyperSparc
768           + SparcLite86x
769           + sh4
770           + Support for new systems (OpenBSD, FreeBSD, UWIN, Interix,
771             arm-linux)
772           + vxWorks targets include support for vxWorks threads
773           + StrongARM 110 and ARM9 support added. ARM Scheduling
774             parameters rewritten.
775           + Various changes to the MIPS port to avoid assembler macros,
776             which
777           + Various performance improvements to the i960 port.
778           + Major rewrite of ns32k port in turn improves performance
779      * Other significant improvements
780           + [16]Ability to dump cfg information and display it using vcg.
781           + The new faster scheme for fixing vendor header files is
782             enabled by default.
783           + Experimental internationalization support.
784           + multibyte character support
785           + Some compile-time speedups for pathological problems
786           + Better support for complex types
787      * Plus the usual mountain of bugfixes
788      * Core compiler is based on the gcc2 development tree from Sept 30,
789        1998, so we have all of the [17]features found in GCC 2.8.
790      _________________________________________________________________
793     Please send FSF & GNU inquiries & questions to [18]gnu@gnu.org.
794     There are also [19]other ways to contact the FSF.
795     These pages are maintained by [20]The GCC team.
796     Please send comments on these web pages and GCC to
797     [21]gcc@gcc.gnu.org, send other questions to [22]gnu@gnu.org.
798     Copyright (C) Free Software Foundation, Inc., 59 Temple Place -
799     Suite 330, Boston, MA 02111, USA.
800     Verbatim copying and distribution of this entire article is
801     permitted in any medium, provided this notice is preserved.
802     Last modified 2001-05-04.
804 References
806    1. http://gcc.gnu.org/news/spill.html
807    2. http://gcc.gnu.org/news/lcm.html
808    3. http://gcc.gnu.org/news/cprop.html
809    4. http://gcc.gnu.org/news/cfg.html
810    5. http://gcc.gnu.org/news/dse.html
811    6. http://gcc.gnu.org/news/hoist.html
812    7. http://gcc.gnu.org/news/alias.html
813    8. http://gcc.gnu.org/fom_serv/cache/24.html
814    9. http://gcc.gnu.org/gcc-2.95/c++features.html
815   10. http://gcc.gnu.org/onlinedocs/g77_news.html
816   11. http://sources.redhat.com/java/gcj-announce.txt
817   12. http://gcc.gnu.org/news/javaannounce.html
818   13. http://gcc.gnu.org/c99status.html
819   14. http://gcc.gnu.org/news/chill.html
820   15. http://gcc.gnu.org/news/sparc.html
821   16. http://gcc.gnu.org/news/egcs-vcg.html
822   17. http://gcc.gnu.org/egcs-1.0/features-2.8.html
823   18. mailto:gnu@gnu.org
824   19. http://www.gnu.org/home.html#ContactInfo
825   20. http://gcc.gnu.org/about.html
826   21. mailto:gcc@gcc.gnu.org
827   22. mailto:gnu@gnu.org
828 ======================================================================
829 http://gcc.gnu.org/gcc-2.95/caveats.html
831                               GCC 2.95 Caveats
833      * GCC 2.95 will issue an error for invalid asm statements that had
834        been silently accepted by earlier versions of the compiler. This
835        is particularly noticeable when compiling older versions of the
836        Linux kernel (2.0.xx). Please refer to the [1]FAQ for more
837        information on this issue.
838      * GCC 2.95 implements type based alias analysis to disambiguate
839        memory references. Some programs, particularly the Linux kernel
840        violate ANSI/ISO aliasing rules and therefore may not operate
841        correctly when compiled with GCC 2.95. Please refer to the [2]FAQ
842        for more information on this issue.
843      * GCC 2.95 has a known bug in its handling of complex variables for
844        64bit targets. Instead of silently generating incorrect code, GCC
845        2.95 will issue a fatal error for situations it can not handle.
846        This primarily affects the Fortran community as Fortran makes more
847        use of complex variables than C or C++.
848      * GCC 2.95 has an integrated libstdc++, but does not have an
849        integrated libg++. Furthermore old libg++ releases will not work
850        with GCC 2.95. You can retrieve a recent copy of libg++ from the
851        [3]GCC ftp server.
852        Note most C++ programs only need libstdc++.
853      * Exception handling may not work with shared libraries,
854        particularly on alphas, hppas, rs6000/powerpc and mips based
855        platforms. Exception handling is known to work on x86 GNU/Linux
856        platforms with shared libraries.
857      * In general, GCC 2.95 is more rigorous about rejecting invalid C++
858        code or deprecated C++ constructs than G++ 2.7, G++ 2.8, EGCS 1.0,
859        or EGCS 1.1. As a result it may be necessary to fix C++ code
860        before it will compile with GCC 2.95.
861      * G++ is also converting toward the ISO C++ standard; as a result
862        code which was previously valid (and thus accepted by other
863        compilers and older versions of g++) may no longer be accepted.
864        The flag -fpermissive may allow some non-conforming code to
865        compile with GCC 2.95.
866      * GCC 2.95 compiled C++ code is not binary compatible with EGCS
867        1.1.x, EGCS 1.0.x or GCC 2.8.x.
868      * GCC 2.95 does not have changes from the GCC 2.8 tree that were
869        made between Sept 30, 1998 and April 30, 1999 (the official end of
870        the GCC 2.8 project). Future GCC releases will include all the
871        changes from the defunct GCC 2.8 sources.
872      _________________________________________________________________
875     Please send FSF & GNU inquiries & questions to [4]gnu@gnu.org. There
876     are also [5]other ways to contact the FSF.
877     These pages are maintained by [6]The GCC team.
878     Please send comments on these web pages and GCC to
879     [7]gcc@gcc.gnu.org, send other questions to [8]gnu@gnu.org.
880     Copyright (C) Free Software Foundation, Inc., 59 Temple Place -
881     Suite 330, Boston, MA 02111, USA.
882     Verbatim copying and distribution of this entire article is
883     permitted in any medium, provided this notice is preserved.
884     Last modified 2001-05-04.
886 References
888    1. http://gcc.gnu.org/faq.html#asmclobber
889    2. http://gcc.gnu.org/fom_serv/cache/24.html
890    3. ftp://gcc.gnu.org/pub/gcc/infrastructure/libg++-2.8.1.3.tar.gz
891    4. mailto:gnu@gnu.org
892    5. http://www.gnu.org/home.html#ContactInfo
893    6. http://gcc.gnu.org/about.html
894    7. mailto:gcc@gcc.gnu.org
895    8. mailto:gnu@gnu.org
896 ======================================================================
897 http://gcc.gnu.org/egcs-1.1/egcs-1.1.2.html
899                                  EGCS 1.1.2
901    March 15, 1999
903    We are pleased to announce the release of EGCS 1.1.2.
905    EGCS is a collaborative effort involving several groups of hackers
906    using an open development model to accelerate development and testing
907    of GNU compilers and runtime libraries.
909    EGCS 1.1.2 is a minor update to the EGCS 1.1.1 compiler to fix several
910    serious problems in EGCS 1.1.1.
911      * General improvements and fixes
912           + Fix bug in loop optimizer which caused the SPARC (and
913             potentially other) ports to segfault.
914           + Fix infinite recursion in alias analysis and combiner code.
915           + Fix bug in regclass preferencing.
916           + Fix incorrect loop reversal which caused incorrect code to be
917             generated for several targets.
918           + Fix return value for builtin memcpy.
919           + Reduce compile time for certain loops which exposed quadratic
920             behavior in the loop optimizer.
921           + Fix bug which caused volatile memory to be written multiple
922             times when only one write was needed/desired.
923           + Fix compiler abort in caller-save.c
924           + Fix combiner bug which caused incorrect code generation for
925             certain division by constant operations.
926           + Fix incorrect code generation due to a bug in range check
927             optimizations.
928           + Fix incorrect code generation due to mis-handling of
929             clobbered values in CSE.
930           + Fix compiler abort/segfault due to incorrect register
931             splitting when unrolling loops.
932           + Fix code generation involving autoincremented addresses with
933             ternary operators.
934           + Work around bug in the scheduler which caused qt to be
935             mis-compiled on some platforms.
936           + Fix code generation problems with -fshort-enums.
937           + Tighten security for temporary files.
938           + Improve compile time for codes which make heavy use of
939             overloaded functions.
940           + Fix multiply defined constructor/destructor symbol problems.
941           + Avoid setting bogus RPATH environemnt variable during
942             bootstrap.
943           + Avoid GNU-make dependencies in the texinfo subdir.
944           + Install CPP wrapper script in $(prefix)/bin if --enable-cpp.
945             --enable-cpp= can be used to specify an additional install
946             directory for the cpp wrapper script.
947           + Fix CSE bug which caused incorrect label-label refs to appear
948             on some platforms.
949           + Avoid linking in EH routines from libgcc if they are not
950             needed.
951           + Avoid obscure bug in aliasing code.
952           + Fix bug in weak symbol handling.
953      * Platform-specific improvements and fixes
954           + Fix detection of PPro/PII on Unixware 7.
955           + Fix compiler segfault when building spec99 and other programs
956             for SPARC targets.
957           + Fix code-generation bugs for integer and floating point
958             conditional move instructions on the PPro/PII.
959           + Use fixincludes to fix byteorder problems on i?86-*-sysv.
960           + Fix build failure for the arc port.
961           + Fix floating point format configuration for i?86-gnu port
962           + Fix problems with hppa1.0-hp-hpux10.20 configuration when
963             threads are enabled
964           + Fix coldfire code generation bugs.
965           + Fix "unrecognized insn" problems for Alpha and PPC ports.
966           + Fix h8/300 code generation problem with floating point values
967             in memory.
968           + Fix unrecognized insn problems for the m68k port.
969           + Fix namespace-pollution problem for the x86 port.
970           + Fix problems with old assembler on x86 NeXT systems.
971           + Fix PIC code-generation problems for the SPARC port.
972           + Fix minor bug with LONG_CALLS in PowerPC SVR4 support.
973           + Fix minor ISO namespace violation in Alpha varargs/stdarg
974             support.
975           + Fix incorrect "braf" instruction usage for the SH port.
976           + Fix minor bug in va-sh which prevented its use with -ansi.
977           + Fix problems recognizing and supporting FreeBSD.
978           + Handle OpenBSD systems correctly.
979           + Minor fixincludes fix for Digital UNIX 4.0B.
980           + Fix problems with ctors/dtors in SCO shared libraries.
981           + Abort instead of generating incorrect code for PPro/PII
982             floating point conditional moves.
983           + Avoid multiply defined symbols on Linux/GNU systems using
984             libc-5.4.xx.
985           + Fix abort in alpha compiler.
987      Fortran-specific fixes
988      * Fix the IDate intrinsic (VXT) (in libg2c) so the returned year is
989        in the documented, non-Y2K-compliant range of 0-99, instead of
990        being returned as 100 in the year 2000.
991      * Fix the `Date_and_Time' intrinsic (in libg2c) to return the
992        milliseconds value properly in Values(8).
993      * Fix the `LStat' intrinsic (in libg2c) to return device-ID
994        information properly in SArray(7).
996    An important goal of EGCS is to allow wide scale testing of new
997    features and optimizations which are still under development. However,
998    EGCS has been carefully tested and should be comparable in quality to
999    most gcc releases.
1001    EGCS 1.1.2 is based on the June 6, 1998 snapshot of the GCC 2.8
1002    development sources; it contains all of the new features found in GCC
1003    2.8.1 as well as all new development from gcc2 up to June 6, 1998.
1005    See the [1]new features page for a more complete list of new features
1006    found in EGCS 1.1 releases.
1008    The EGCS 1.1.2 release includes installation instructions in both HTML
1009    and plaintext forms (see the INSTALL directory in the toplevel
1010    directory of the EGCS 1.1.2 distribution). However, we also keep the
1011    most up to date [2]installation instructions and [3]build/test status
1012    on our web page. We will update those pages as new information becomes
1013    available.
1015    The EGCS project would like to thank the numerous people that have
1016    contributed new features, test results, bugfixes, etc. This [4]amazing
1017    group of volunteers is what makes EGCS successful.
1019    And finally, we can't in good conscience fail to mention some
1020    [5]caveats to using EGCS 1.1.2. [6]Download EGCS 1.1.2 from
1021    egcs.cygnus.com (USA California) -->
1023    [7]Download EGCS 1.1.2 from go.cygnus.com (USA California - High speed
1024    link provided by Stanford)
1026    The EGCS 1.1.2 release is also available on many [8]mirror sites.
1027      _________________________________________________________________
1029    Last modified on July 28, 1999.
1031 References
1033    1. http://gcc.gnu.org/egcs-1.1/features.html
1034    2. http://gcc.gnu.org/install/index.html
1035    3. http://gcc.gnu.org/egcs-1.1/buildstat.html
1036    4. http://gcc.gnu.org/thanks.html
1037    5. http://gcc.gnu.org/egcs-1.1/caveats.html
1038    6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
1039    7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
1040    8. http://gcc.gnu.org/mirrors.html
1041 ======================================================================
1042 http://gcc.gnu.org/egcs-1.1/egcs-1.1.1.html
1044                                  EGCS 1.1.1
1046    December 1, 1998
1048    We are pleased to announce the release of EGCS 1.1.1.
1050    EGCS is a collaborative effort involving several groups of hackers
1051    using an open development model to accelerate development and testing
1052    of GNU compilers and runtime libraries.
1054    EGCS 1.1.1 is a minor update to the EGCS 1.1 compiler to fix several
1055    serious problems in EGCS 1.1.
1056      * General improvements and fixes
1057           + Avoid some stack overflows when compiling large functions.
1058           + Avoid incorrect loop invariant code motions.
1059           + Fix some core dumps on Linux kernel code.
1060           + Bring back the imake -Di386 and friends fix from EGCS 1.0.2.
1061           + Fix code generation problem in gcse.
1062           + Various documentation related fixes.
1063      * g++/libstdc++ improvements and fixes
1064           + MT safe EH fix for setjmp/longjmp based exception handling.
1065           + Fix a few bad interactions between optimization and exception
1066             handling.
1067           + Fixes for demangling of template names starting with "__".
1068           + Fix a bug that would fail to run destructors in some cases
1069             with -O2.
1070           + Fix 'new' of classes with virtual bases.
1071           + Fix crash building Qt on the Alpha.
1072           + Fix failure compiling WIFEXITED macro on GNU/Linux.
1073           + Fix some -frepo failures.
1074      * g77 and libf2c improvements and fixes
1075           + Various documentation fixes.
1076           + Avoid compiler crash on RAND intrinsic.
1077           + Fix minor bugs in makefiles exposed by BSD make programs.
1078           + Define _XOPEN_SOURCE for libI77 build to avoid potential
1079             problems on some 64-bit systems.
1080           + Fix problem with implicit endfile on rewind.
1081           + Fix spurious recursive I/O errors.
1082      * platform specific improvements and fixes
1083           + Match all versions of UnixWare7.
1084           + Do not assume x86 SVR4 or UnixWare targets can handle stabs
1085           + Fix PPC/RS6000 LEGITIMIZE_ADDRESS macro and bug in conversion
1086             from unsigned ints to double precision floats.
1087           + Fix ARM ABI issue with NetBSD.
1088           + Fix a few arm code generation bugs.
1089           + Fixincludes will fix additional broken SCO OpenServer header
1090             files.
1091           + Fix a m68k backend bug which caused invalid offsets in reg+d
1092             addresses.
1093           + Fix problems with 64bit AIX 4.3 support.
1094           + Fix handling of long longs for varargs/stdarg functions on
1095             the ppc.
1096           + Minor fixes to CPP predefines for Windows.
1097           + Fix code generation problems with gpr<->fpr copies for 64bit
1098             ppc
1099           + Fix a few coldfire code generation bugs.
1100           + Fix some more header file problems on SunOS 4.x
1101           + Fix assert.h handling for RTEMS.
1102           + Fix Windows handling of TREE_SYMBOL_REFERENCED.
1103           + Fix x86 compiler abort in reg-stack pass.
1104           + Fix cygwin/windows problem with section attributes.
1105           + Fix Alpha code generation problem exposed by SMP Linux
1106             kernels.
1107           + Fix typo in m68k 32->64bit integer conversion.
1108           + Make sure target libraries build with -fPIC for PPC & Alpha
1109             targets.
1111    An important goal of EGCS is to allow wide scale testing of new
1112    features and optimizations which are still under development. However,
1113    EGCS has been carefully tested and should be comparable in quality to
1114    most gcc releases.
1116    EGCS 1.1.1 is based on the June 6, 1998 snapshot of the GCC 2.8
1117    development sources; it contains all of the new features found in GCC
1118    2.8.1 as well as all new development from gcc2 up to June 6, 1998.
1120    See the [1]new features page for a more complete list of new features
1121    found in EGCS 1.1 releases.
1123    The EGCS 1.1.1 release includes installation instructions in both HTML
1124    and plaintext forms (see the INSTALL directory in the toplevel
1125    directory of the EGCS 1.1.1 distribution). However, we also keep the
1126    most up to date [2]installation instructions and [3]build/test status
1127    on our web page. We will update those pages as new information becomes
1128    available.
1130    The EGCS project would like to thank the numerous people that have
1131    contributed new features, test results, bugfixes, etc. This [4]amazing
1132    group of volunteers is what makes EGCS successful.
1134    And finally, we can't in good conscience fail to mention some
1135    [5]caveats to using EGCS 1.1.1.
1137    [6]Download EGCS 1.1.1 from egcs.cygnus.com (USA California)
1139    The EGCS 1.1.1 release is also available on many mirror sites.
1140    [7]Goto mirror list to find a closer site
1141      _________________________________________________________________
1143    Last modified on July 28, 1999.
1145 References
1147    1. http://gcc.gnu.org/egcs-1.1/features.html
1148    2. http://gcc.gnu.org/install/index.html
1149    3. http://gcc.gnu.org/egcs-1.1/buildstat.html
1150    4. http://gcc.gnu.org/thanks.html
1151    5. http://gcc.gnu.org/egcs-1.1/caveats.html
1152    6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
1153    7. http://gcc.gnu.org/mirrors.html
1154 ======================================================================
1155 http://gcc.gnu.org/egcs-1.1/egcs-1.1.html
1157                                   EGCS 1.1
1159    September 3, 1998
1161    We are pleased to announce the release of EGCS 1.1.
1163    EGCS is a free software project to further the development of the GNU
1164    compilers using an open development environment.
1166    EGCS 1.1 is a major new release of the EGCS compiler system. It has
1167    been [1]extensively tested and is believed to be stable and suitable
1168    for widespread use.
1170    EGCS 1.1 is based on an June 6, 1998 snapshot of the GCC 2.8
1171    development sources; it contains all of the new features found in GCC
1172    2.8.1 as well as all new development from GCC up to June 6, 1998.
1174    EGCS also contains many improvements and features not found in GCC or
1175    in older versions of EGCS.
1176      * Global common subexpression elimination and global constant/copy
1177        propagation (aka [2]gcse)
1178      * Ongoing improvements to the [3]alias analysis support to allow for
1179        better optimizations throughout the compiler.
1180      * Vastly improved [4]C++ compiler and integrated C++ runtime
1181        libraries.
1182      * Fixes for the /tmp symlink race security problems.
1183      * New targets including mips16, arm-thumb and 64 bit PowerPC.
1184      * Improvements to GNU Fortran (g77) compiler and runtime library
1185        made since [5]g77 version 0.5.23.
1187    See the [6]new features page for a more complete list of new features
1188    found in EGCS 1.1 releases.
1190    The EGCS 1.1 release includes installation instructions in both HTML
1191    and plaintext forms (see the INSTALL directory in the toplevel
1192    directory of the EGCS 1.1 distribution). However, we also keep the
1193    most up to date [7]installation instructions and [8]build/test status
1194    on our web page. We will update those pages as new information becomes
1195    available.
1197    The EGCS project would like to thank the numerous people that have
1198    contributed new features, test results, bugfixes, etc. This [9]amazing
1199    group of volunteers is what makes EGCS successful.
1201    And finally, we can't in good conscience fail to mention some
1202    [10]caveats to using EGCS 1.1.
1204    [11]Download EGCS 1.1 from egcs.cygnus.com (USA California)
1206    [12]Download EGCS 1.1 from go.cygnus.com (USA California -- High speed
1207    link provided by Stanford)
1209    The EGCS 1.1 release is also available on many mirror sites.
1210    [13]Goto mirror list to find a closer site
1211      _________________________________________________________________
1213    Last modified on September 4, 1999.
1215 References
1217    1. http://gcc.gnu.org/egcs-1.1/egcs-1.1-test.html
1218    2. http://gcc.gnu.org/news/gcse.html
1219    3. http://gcc.gnu.org/news/alias.html
1220    4. http://gcc.gnu.org/egcs-1.1/c++features.html
1221    5. http://gcc.gnu.org/onlinedocs/g77_news.html
1222    6. http://gcc.gnu.org/egcs-1.1/features.html
1223    7. http://gcc.gnu.org/install/index.html
1224    8. http://gcc.gnu.org/egcs-1.1/buildstat.html
1225    9. http://gcc.gnu.org/thanks.html
1226   10. http://gcc.gnu.org/egcs-1.1/caveats.html
1227   11. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
1228   12. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
1229   13. http://gcc.gnu.org/mirrors.html
1230 ======================================================================
1231 http://gcc.gnu.org/egcs-1.1/features.html
1233                            EGCS 1.1 new features
1235      * Integrated GNU Fortran (g77) compiler and runtime library with
1236        improvements, based on [1]g77 version 0.5.23.
1237      * Vast improvements in the C++ compiler; so many they have [2]page
1238        of their own!
1239      * Compiler implements [3]global common subexpression elimination and
1240        global copy/constant propagation.
1241      * More major improvements in the [4]alias analysis code.
1242      * More major improvements in the exception handling code to improve
1243        performance, lower static overhead and provide the infrastructure
1244        for future improvements.
1245      * The infamous /tmp symlink race security problems have been fixed.
1246      * The regmove optimization pass has been nearly completely rewritten
1247        to improve performance of generated code.
1248      * The compiler now recomputes register usage information before
1249        local register allocation. By providing more accurate information
1250        to the priority based allocator, we get better register
1251        allocation.
1252      * The register reloading phase of the compiler optimizes spill code
1253        much better than in previous releases.
1254      * Some bad interactions between the register allocator and
1255        instruction scheduler have been fixed, resulting in much better
1256        code for certain programs. Additionally, we have tuned the
1257        scheduler in various ways to improve performance of generated code
1258        for some architectures.
1259      * The compiler's branch shortening algorithms have been
1260        significantly improved to work better on targets which align jump
1261        targets.
1262      * The compiler now supports -Os to prefer optimizing for code space
1263        over optimizing for code speed.
1264      * The compiler will now totally eliminate library calls which
1265        compute constant values. This primarily helps targets with no
1266        integer div/mul support and targets without floating point
1267        support.
1268      * The compiler now supports an extensive "--help" option.
1269      * cpplib has been greatly improved and may be suitable for limited
1270        use.
1271      * Memory footprint for the compiler has been significantly reduced
1272        for some pathological cases.
1273      * The time to build EGCS has been improved for certain targets
1274        (particularly the alpha and mips platforms).
1275      * Many infrastructure improvements throughout the compiler, plus the
1276        usual mountain of bugfixes and minor improvements.
1277      * Target dependent improvements:
1278           + SPARC port now includes V8 plus and V9 support as well as
1279             performance tuning for Ultra class machines. The SPARC port
1280             now uses the Haifa scheduler.
1281           + Alpha port has been tuned for the EV6 processor and has an
1282             optimized expansion of memcpy/bzero. The Alpha port now uses
1283             the Haifa scheduler.
1284           + RS6000/PowerPC: EGCS 1.1 includes support for the Power64
1285             architecture and aix4.3 support. The RS6000/PowerPC port now
1286             uses the Haifa scheduler.
1287           + x86: Alignment of static store data and jump targets is per
1288             Intel recommendations now. Various improvements throughout
1289             the x86 port to improve performance on Pentium processors.
1290             Conditional move support has been fixed and enabled for PPro
1291             processors. The x86 port also better supports 64bit
1292             operations now.
1293           + MIPS has improved multiply/multiply-add support and now
1294             includes mips16 ISA support.
1295           + M68k has many micro-optimizations and Coldfire fixes.
1296      * Core compiler is based on the GCC development tree from June 9,
1297        1998, so we have all of the [5]features found in GCC 2.8.
1299    [6]Return to the EGCS home page
1301    Last modified: September 4, 1999
1303 References
1305    1. http://gcc.gnu.org/onlinedocs/g77_news.html
1306    2. http://gcc.gnu.org/egcs-1.1/c++features.html
1307    3. http://gcc.gnu.org/news/gcse.html
1308    4. http://gcc.gnu.org/news/alias.html
1309    5. http://gcc.gnu.org/egcs-1.0/features-2.8.html
1310    6. http://gcc.gnu.org/index.html
1311 ======================================================================
1312 http://gcc.gnu.org/egcs-1.1/caveats.html
1314                               EGCS 1.1 Caveats
1316      * EGCS has an integrated libstdc++, but does not have an integrated
1317        libg++. Furthermore old libg++ releases will not work with EGCS;
1318        HJ Lu has made a [1]libg++ snapshot available which may work with
1319        EGCS.
1320        Note most C++ programs only need libstdc++.
1321      * Exception handling may not work with shared libraries,
1322        particularly on alphas, hppas, rs6000/powerpc and mips based
1323        platforms. Exception handling is known to work on x86-linux
1324        platforms with shared libraries.
1325      * Some versions of the Linux kernel have bugs which prevent them
1326        from being compiled or from running when compiled by EGCS. See
1327        [2]the FAQ for additional information.
1328      * In general, EGCS is more rigorous about rejecting invalid C++ code
1329        or deprecated C++ constructs than g++-2.7, g++-2.8 or EGCS 1.0. As
1330        a result it may be necessary to fix C++ code before it will
1331        compile with EGCS.
1332      * G++ is also converting toward the ISO C++ standard; as a result
1333        code which was previously valid (and thus accepted by other
1334        compilers and older versions of g++) may no longer be accepted.
1335      * EGCS 1.1 compiled C++ code is not binary compatible with EGCS
1336        1.0.x or GCC 2.8.x due to changes necessary to support thread safe
1337        exception handling.
1339    [3]Return to the GCC home page
1341    Last modified: July 28, 1999
1343 References
1345    1. ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1.2.tar.gz
1346    2. http://gcc.gnu.org/fom_serv/cache/24.html
1347    3. http://gcc.gnu.org/index.html
1348 ======================================================================
1349 http://gcc.gnu.org/egcs-1.0/egcs-1.0.3.html
1351                                  EGCS 1.0.3
1353    May 15, 1998
1355    We are pleased to announce the release of EGCS 1.0.3.
1357    EGCS is a collaborative effort involving several groups of hackers
1358    using an open development model to accelerate development and testing
1359    of GNU compilers and runtime libraries.
1361    EGCS 1.0.3 is a minor update to the EGCS 1.0.2 compiler to fix a few
1362    problems reported by Red Hat for builds of Red Hat 5.1.
1363      * Generic bugfixes:
1364           + Fix a typo in the libio library which resulted in incorrect
1365             behavior of istream::get.
1366           + Fix the Fortran negative array index problem.
1367           + Fix a major problem with the ObjC runtime thread support
1368             exposed by glibc2.
1369           + Reduce memory consumption of the Haifa scheduler.
1370      * Target specific bugfixes:
1371           + Fix one x86 floating point code generation bug exposed by
1372             glibc2 builds.
1373           + Fix one x86 internal compiler error exposed by glibc2 builds.
1374           + Fix profiling bugs on the Alpha.
1375           + Fix ImageMagick & emacs 20.2 build problems on the Alpha.
1376           + Fix rs6000/ppc bug when converting values from integer types
1377             to floating point types.
1379    An important goal of EGCS is to allow wide scale testing of new
1380    features and optimizations which are still under development. However,
1381    EGCS has been carefully tested and should be comparable in quality to
1382    most GCC releases.
1384    EGCS 1.0.3 is based on an August 2, 1997 snapshot of the GCC 2.8
1385    development sources; it contains nearly all of the new features found
1386    in GCC 2.8.
1388    EGCS also contains many improvements and features not found in GCC 2.7
1389    or GCC 2.8.
1390      * Integrated C++ runtime libraries, including support for most major
1391        GNU/Linux systems!
1392      * The integrated libstdc++ library includes a verbatim copy of
1393        [1]SGI's STL release instead of a modified copy.
1394      * Integrated GNU Fortran compiler
1395      * New instruction scheduler
1396      * New alias analysis code
1398    See the [2]new features page for a more complete list of new features
1399    found in EGCS 1.0.x releases.
1401    The EGCS 1.0.3 release includes installation instructions in both HTML
1402    and plaintext forms (see the INSTALL directory in the toplevel
1403    directory of the EGCS 1.0.3 distribution). However, we also keep the
1404    most up to date [3]installation instructions and [4]build/test status
1405    on our web page. We will update those pages as new information becomes
1406    available.
1408    And, we can't in good conscience fail to mention some [5]caveats to
1409    using EGCS.
1411    Update: Big thanks to Stanford for providing a high speed link for
1412    downloading EGCS (go.cygnus.com)!
1414    [6]Download EGCS 1.0.3 from ftp.cygnus.com (USA California)
1416    [7]Download EGCS 1.0.3 from go.cygnus.com (USA California -- High
1417    speed link provided by Stanford)
1419    The EGCS 1.0.3 release is also available on many mirror sites.
1420    [8]Goto mirror list to find a closer site
1422    We'd like to thank the numerous people that have contributed new
1423    features, test results, bugfixes, etc. Unfortunately, they're far too
1424    numerous to mention by name.
1425      _________________________________________________________________
1427    Last modified on February 22, 1999.
1429 References
1431    1. http://www.sgi.com/Technology/STL
1432    2. http://gcc.gnu.org/egcs-1.0/features.html
1433    3. http://gcc.gnu.org/install/index.html
1434    4. http://gcc.gnu.org/egcs-1.0/buildstat.html
1435    5. http://gcc.gnu.org/egcs-1.0/caveats.html
1436    6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
1437    7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
1438    8. http://gcc.gnu.org/mirrors.html
1439 ======================================================================
1440 http://gcc.gnu.org/egcs-1.0/egcs-1.0.2.html
1442                                  EGCS 1.0.2
1444    March 16, 1998
1446    We are pleased to announce the release of EGCS 1.0.2.
1448    EGCS is a collaborative effort involving several groups of hackers
1449    using an open development model to accelerate development and testing
1450    of GNU compilers and runtime libraries.
1452    EGCS 1.0.2 is a minor update to the EGCS 1.0.1 compiler to fix several
1453    serious problems in EGCS 1.0.1.
1454      * General improvements and fixes
1455           + Memory consumption significantly reduced, especially for
1456             templates and inline functions.
1457           + Fix various problems with glibc2.1.
1458           + Fix loop optimization bug exposed by rs6000/ppc port.
1459           + Fix to avoid potential code generation problems in jump.c.
1460           + Fix some undefined symbol problems in dwarf1 debug support.
1461      * g++/libstdc++ improvements and fixes
1462           + libstdc++ in the EGCS release has been updated and should be
1463             link compatible with libstdc++-2.8.
1464           + Various fixes in libio/libstdc++ to work better on Linux
1465             systems.
1466           + Fix problems with duplicate symbols on systems that do not
1467             support weak symbols.
1468           + Memory corruption bug and undefined symbols in bastring have
1469             been fixed.
1470           + Various exception handling fixes.
1471           + Fix compiler abort for very long thunk names.
1472      * g77 improvements and fixes
1473           + Fix compiler crash for omitted bound in Fortran CASE
1474             statement.
1475           + Add missing entries to g77 lang-options.
1476           + Fix problem with -fpedantic in the g77 compiler.
1477           + Fix "backspace" problem with g77 on alphas.
1478           + Fix x86 backend problem with Fortran literals and -fpic.
1479           + Fix some of the problems with negative subscripts for g77 on
1480             alphas.
1481           + Fixes for Fortran builds on cygwin32/mingw32.
1482      * platform specific improvements and fixes
1483           + Fix long double problems on x86 (exposed by glibc)
1484           + x86 ports define i386 again to keep imake happy.
1485           + Fix exception handling support on NetBSD ports.
1486           + Several changes to collect2 to fix many problems with AIX.
1487           + Define __ELF__ for rs6000/linux.
1488           + Fix -mcall-linux problem on rs6000/linux.
1489           + Fix stdarg/vararg problem for rs6000/linux.
1490           + Allow autoconf to select a proper install problem on AIX 3.1.
1491           + m68k port support includes -mcpu32 option as well as cpu32
1492             multilibs.
1493           + Fix stdarg bug for irix6.
1494           + Allow EGCS to build on irix5 without the gnu assembler.
1495           + Fix problem with static linking on sco5.
1496           + Fix bootstrap on sco5 with native compiler.
1497           + Fix for abort building newlib on H8 target.
1498           + Fix fixincludes handling of math.h on SunOS.
1499           + Minor fix for motorola 3300 m68k systems.
1501    An important goal of EGCS is to allow wide scale testing of new
1502    features and optimizations which are still under development. However,
1503    EGCS has been carefully tested and should be comparable in quality to
1504    most GCC releases.
1506    EGCS 1.0.2 is based on an August 2, 1997 snapshot of the GCC 2.8
1507    development sources; it contains nearly all of the new features found
1508    in GCC 2.8.
1510    EGCS also contains many improvements and features not found in GCC 2.7
1511    or GCC 2.8.
1512      * Integrated C++ runtime libraries, including support for most major
1513        linux systems!
1514      * The integrated libstdc++ library includes a verbatim copy of
1515        [1]SGI's STL release.
1516      * Integrated GNU Fortran compiler
1517      * New instruction scheduler
1518      * New alias analysis code
1520    See the [2]new features page for a more complete list of new features
1521    found in EGCS 1.0.x releases.
1523    The EGCS 1.0.2 release includes installation instructions in both HTML
1524    and plaintext forms (see the INSTALL directory in the toplevel
1525    directory of the EGCS 1.0.2 distribution). However, we also keep the
1526    most up to date [3]installation instructions and [4]build/test status
1527    on our web page. We will update those pages as new information becomes
1528    available.
1530    And, we can't in good conscience fail to mention some [5]caveats to
1531    using EGCS.
1533    Update: Big thanks to Stanford for providing a high speed link for
1534    downloading EGCS (go.cygnus.com)!
1536    [6]Download EGCS 1.0.2 from ftp.cygnus.com (USA California)
1538    [7]Download EGCS 1.0.2 from go.cygnus.com (USA California -- High
1539    speed link provided by Stanford)
1541    The EGCS 1.0.2 release is also available on many mirror sites.
1542    [8]Goto mirror list to find a closer site
1544    We'd like to thank the numerous people that have contributed new
1545    features, test results, bugfixes, etc. Unfortunately, they're far too
1546    numerous to mention by name.
1547      _________________________________________________________________
1549    Last modified on July 28, 1999.
1551 References
1553    1. http://www.sgi.com/Technology/STL/
1554    2. http://gcc.gnu.org/egcs-1.0/features.html
1555    3. http://gcc.gnu.org/install/index.html
1556    4. http://gcc.gnu.org/egcs-1.0/buildstat.html
1557    5. http://gcc.gnu.org/egcs-1.0/caveats.html
1558    6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
1559    7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
1560    8. http://gcc.gnu.org/mirrors.html
1561 ======================================================================
1562 http://gcc.gnu.org/egcs-1.0/egcs-1.0.1.html
1564                                  EGCS 1.0.1
1566    January 6, 1998
1568    We are pleased to announce the release of EGCS 1.0.1.
1570    EGCS is a collaborative effort involving several groups of hackers
1571    using an open development model to accelerate development and testing
1572    of GNU compilers and runtime libraries.
1574    EGCS 1.0.1 is a minor update to the EGCS 1.0 compiler to fix a few
1575    critical bugs and add support for Red Hat 5.0 Linux. Changes since the
1576    EGCS 1.0 release:
1577      * Add support for Red Hat 5.0 Linux and better support for Linux
1578        systems using glibc2.
1579        Many programs failed to link when compiled with EGCS 1.0 on Red
1580        Hat 5.0 or on systems with newer versions of glibc2. EGCS 1.0.1
1581        should fix these problems.
1582      * Compatability with both EGCS 1.0 and GCC 2.8 libgcc exception
1583        handling interfaces.
1584        To avoid future compatibility problems, we strongly urge anyone
1585        who is planning on distributing shared libraries that contain C++
1586        code to upgrade to EGCS 1.0.1 first.
1587        Soon after EGCS 1.0 was released, the GCC developers made some
1588        incompatible changes in libgcc's exception handling interfaces.
1589        These changes were needed to solve problems on some platforms.
1590        This means that GCC 2.8.0, when released, will not be seamlessly
1591        compatible with shared libraries built by EGCS 1.0. The reason is
1592        that the libgcc.a in GCC 2.8.0 will not contain a function needed
1593        by the old interface.
1594        The result of this is that there may be compatibility problems
1595        with shared libraries built by EGCS 1.0 when used with GCC 2.8.0.
1596        With EGCS 1.0.1, generated code uses the new (GCC 2.8.0)
1597        interface, and libgcc.a has the support routines for both the old
1598        and the new interfaces (so EGCS 1.0.1 and EGCS 1.0 code can be
1599        freely mixed, and EGCS 1.0.1 and GCC 2.8.0 code can be freely
1600        mixed).
1601        The maintainers of GCC 2.x have decided against including seamless
1602        support for the old interface in 2.8.0, since it was never
1603        "official", so to avoid future compatibility problems we recommend
1604        against distributing any shared libraries built by EGCS 1.0 that
1605        contain C++ code (upgrade to 1.0.1 and use that).
1606      * Various bugfixes in the x86, hppa, mips, and rs6000/ppc backends.
1607        The x86 changes fix code generation errors exposed when building
1608        glibc2 and the Linux dynamic linker (ld.so).
1609        The hppa change fixes a compiler abort when configured for use
1610        with RTEMS.
1611        The MIPS changes fix problems with the definition of LONG_MAX on
1612        newer systems, allow for command line selection of the target ABI,
1613        and fix one code generation problem.
1614        The rs6000/ppc change fixes some problems with passing structures
1615        to varargs/stdarg functions.
1616      * A few machine independent bugfixes, mostly to fix code generation
1617        errors when building Linux kernels or glibc.
1618      * Fix a few critical exception handling and template bugs in the C++
1619        compiler.
1620      * Fix Fortran namelist bug on alphas.
1621      * Fix build problems on x86-solaris systems.
1623    An important goal of EGCS is to allow wide scale testing of new
1624    features and optimizations which are still under development. However,
1625    EGCS has been carefully tested and should be comparable in quality to
1626    most GCC releases.
1628    EGCS 1.0.1 is based on an August 2, 1997 snapshot of the GCC 2.8
1629    development sources; it contains nearly all of the new features found
1630    in GCC 2.8.
1632    EGCS also contains many improvements and features not found in GCC 2.7
1633    and even the soon to be released GCC 2.8 compilers.
1634      * Integrated C++ runtime libraries, including support for most major
1635        linux systems!
1636      * The integrated libstdc++ library includes a verbatim copy of
1637        [1]SGI's STL release.
1638      * Integrated GNU Fortran compiler
1639      * New instruction scheduler
1640      * New alias analysis code
1642    See the [2]new features page for a more complete list of new features
1643    found in EGCS 1.0.x releases.
1645    The EGCS 1.0.1 release includes installation instructions in both HTML
1646    and plaintext forms (see the INSTALL directory in the toplevel
1647    directory of the EGCS 1.0.1 distribution). However, we also keep the
1648    most up to date [3]installation instructions and [4]build/test status
1649    on our web page. We will update those pages as new information becomes
1650    available.
1652    And, we can't in good conscience fail to mention some [5]caveats to
1653    using EGCS.
1655    Update: Big thanks to Stanford for providing a high speed link for
1656    downloading EGCS (go.cygnus.com)!
1658    [6]Download EGCS 1.0.1 from ftp.cygnus.com (USA California)
1660    [7]Download EGCS 1.0.1 from go.cygnus.com (USA California -- High
1661    speed link provided by Stanford)
1663    The EGCS 1.0.1 release is also available on many mirror sites.
1664    [8]Goto mirror list to find a closer site
1666    We'd like to thank the numerous people that have contributed new
1667    features, test results, bugfixes, etc. Unfortunately, they're far too
1668    numerous to mention by name.
1669      _________________________________________________________________
1671    Last modified on July 28, 1999.
1673 References
1675    1. http://www.sgi.com/Technology/STL/
1676    2. http://gcc.gnu.org/egcs-1.0/features.html
1677    3. http://gcc.gnu.org/install/index.html
1678    4. http://gcc.gnu.org/egcs-1.0/buildstat.html
1679    5. http://gcc.gnu.org/egcs-1.0/caveats.html
1680    6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
1681    7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
1682    8. http://gcc.gnu.org/mirrors.html
1683 ======================================================================
1684 http://gcc.gnu.org/egcs-1.0/egcs-1.0.html
1686                                   EGCS 1.0
1688    December 3, 1997
1690    We are pleased to announce the release of EGCS 1.0.
1692    EGCS is a collaborative effort involving several groups of hackers
1693    using an open development model to accelerate development and testing
1694    of GNU compilers and runtime libraries.
1696    An important goal of EGCS is to allow wide scale testing of
1697    experimental features and optimizations; therefore, EGCS contains some
1698    features and optimizations which are still under development. However,
1699    EGCS has been carefully tested and should be comparable in quality to
1700    most GCC releases.
1702    EGCS 1.0 is based on an August 2, 1997 snapshot of the GCC 2.8
1703    development sources; it contains nearly all of the new features found
1704    in GCC 2.8.
1706    EGCS 1.0 also contains many improvements and features not found in GCC
1707    2.7 and even the soon to be released GCC 2.8 compilers.
1708      * Integrated C++ runtime libraries, including support for most major
1709        linux systems!
1710      * The integrated libstdc++ library includes a verbatim copy of
1711        [1]SGI's STL release.
1712      * Integrated GNU Fortran compiler
1713      * New instruction scheduler
1714      * New alias analysis code
1716    See the [2]new features page for a more complete list of new features.
1718    The EGCS 1.0 release includes installation instructions in both HTML
1719    and plaintext forms (see the INSTALL directory in the toplevel
1720    directory of the EGCS 1.0 distribution). However, we also keep the
1721    most up to date [3]installation instructions and [4]build/test status
1722    on our web page. We will update those pages as new information becomes
1723    available.
1725    And, we can't in good conscience fail to mention some [5]caveats to
1726    using EGCS.
1728    Update: The T1 into our main California offices has been 100%
1729    saturated since shortly after the release. We've added an EGCS 1.0
1730    mirror at our Massachusetts office to help share the load. We also
1731    encourage folks to use the many mirrors available throughout the
1732    world.
1734    Update: Big thanks to Stanford for providing a high speed link for
1735    downloading EGCS! (go.cygnus.com)
1737    [6]Download EGCS 1.0 from ftp.cygnus.com (USA California)
1739    [7]Download EGCS 1.0 from go.cygnus.com (USA California -- High speed
1740    link provided by Stanford)
1742    The EGCS 1.0 release should be available on most mirror sites by now.
1743    [8]Goto mirror list to find a closer site
1745    We'd like to thank the numerous people that have contributed new
1746    features, test results, bugfixes, etc. Unfortunately, they're far too
1747    numerous to mention by name.
1748      _________________________________________________________________
1750    Last modified on July 28, 1999.
1752 References
1754    1. http://www.sgi.com/Technology/STL
1755    2. http://gcc.gnu.org/egcs-1.0/features.html
1756    3. http://gcc.gnu.org/install/index.html
1757    4. http://gcc.gnu.org/egcs-1.0/buildstat.html
1758    5. http://gcc.gnu.org/egcs-1.0/caveats.html
1759    6. ftp://egcs.cygnus.com/pub/egcs/releases/index.html
1760    7. ftp://go.cygnus.com/pub/sourceware.cygnus.com/pub/egcs/releases/index.html
1761    8. http://gcc.gnu.org/mirrors.html
1762 ======================================================================
1763 http://gcc.gnu.org/egcs-1.0/features.html
1765                              EGCS 1.0 features
1767      * Core compiler is based on the gcc2 development tree from Aug 2,
1768        1997, so we have most of the [1]features found in GCC 2.8.
1769      * Integrated GNU Fortran compiler based on g77-0.5.22-19970929.
1770      * Vast improvements in the C++ compiler; so many they have [2]page
1771        of their own!
1772      * Integrated C++ runtime libraries, including support for most major
1773        linux systems!
1774      * New instruction scheduler from IBM Haifa which includes support
1775        for function wide instruction scheduling as well as superscalar
1776        scheduling.
1777      * Significantly improved alias analysis code.
1778      * Improved register allocation for two address machines.
1779      * Significant code generation improvements for Fortran code on
1780        Alphas
1781      * Various optimizations from the g77 project as well as improved
1782        loop optimizations.
1783      * Dwarf2 debug format support for some targets.
1784      * egcs libstdc++ includes the SGI STL implementation without
1785        changes.
1786      * As a result of these and other changes, egcs libstc++ is not
1787        binary compatible with previous releases of libstdc++.
1788      * Various new ports -- UltraSPARC, Irix6.2 & Irix6.3 support, The
1789        SCO Openserver 5 family (5.0.{0,2,4} and Internet FastStart 1.0
1790        and 1.1), Support for RTEMS on several embedded targets, Support
1791        for arm-linux, Mitsubishi M32R, Hitachi H8/S, Matsushita MN102 and
1792        MN103, NEC V850, Sparclet, Solaris & Linux on PowerPCs, etc.
1793      * Integrated testsuites for gcc, g++, g77, libstdc++ and libio.
1794      * RS6000/PowerPC ports generate code which can run on all
1795        RS6000/PowerPC variants by default.
1796      * -mcpu= and -march= switches for the x86 port to allow better
1797        control over how the x86 port generates code.
1798      * Includes the template repository patch (aka repo patch); note the
1799        new template code makes repo obsolete for ELF systems using gnu-ld
1800        such as Linux.
1801      * Plus the usual assortment of bugfixes and improvements.
1803    [3]Return to the egcs home page
1805    Last modified: July 28, 1999
1807 References
1809    1. http://gcc.gnu.org/egcs-1.0/features-2.8.html
1810    2. http://gcc.gnu.org/egcs-1.0/c++features.html
1811    3. http://gcc.gnu.org/index.html
1812 ======================================================================
1813 http://gcc.gnu.org/egcs-1.0/caveats.html
1815                               EGCS 1.0 Caveats
1817      * EGCS has an integrated libstdc++, but does not have an integrated
1818        libg++. Furthermore old libg++ releases will not work with egc; HJ
1819        Lu has made a [1]libg++ snapshot available which may work with
1820        EGCS.
1821        Note most C++ programs only need libstdc++.
1822      * Note that using -pedantic or -Wreturn-type can cause an explosion
1823        in the amount of memory needed for template-heavy C++ code, such
1824        as code that uses STL. Also note that -Wall includes
1825        -Wreturn-type, so if you use -Wall you will need to specify
1826        -Wno-return-type to turn it off.
1827      * Exception handling may not work with shared libraries,
1828        particularly on alphas, hppas, and mips based platforms. Exception
1829        handling is known to work on x86-linux platforms with shared
1830        libraries.
1831      * Some versions of the Linux kernel have bugs which prevent them
1832        from being compiled or from running when compiled by EGCS. See
1833        [2]the FAQ for additional information.
1834      * In general, EGCS is more rigorous about rejecting invalid C++ code
1835        or deprecated C++ constructs than G++ 2.7. As a result it may be
1836        necessary to fix C++ code before it will compile with EGCS.
1837      * G++ is also aggressively tracking the C++ standard; as a result
1838        code which was previously valid (and thus accepted by other
1839        compilers and older versions of G++) may no longer be accepted.
1840      * EGCS 1.0 may not work with Red Hat Linux 5.0 on all targets. EGCS
1841        1.0.x and later releases should work with Red Hat Linux 5.0.
1843    [3]Return to the GCC home page
1845    Last modified: August 27, 1998
1847 References
1849    1. ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1.2.tar.gz
1850    2. http://gcc.gnu.org/fom_serv/cache/24.html
1851    3. http://gcc.gnu.org/index.html
1852 ======================================================================