More builtins and optimizations for stdio.h, string.h and old
BSD functions, as well as for ISO C99 functions.

New builtin __builtin_expect for giving hints to the branch
predictor.

New Languages and Language specific improvements

The GNU Compiler for the Java(TM) language (GCJ)
is now integrated and supported, including the run-time library
containing most common non-GUI Java classes, a bytecode interpreter,
and the Boehm conservative garbage collector.
Many bugs have been fixed.
GCJ can compile Java source or Java bytecodes to either native code
or Java class files, and supports native methods written in either
the standard JNI or the more efficient and convenient CNI.

Many improvements to support for checking calls to format
functions such as printf and scanf,
including support for ISO C99 format features, extensions from
the Single Unix Specification and GNU libc 2.2, checking of
strfmon formats and features to assist in
auditing for format string security bugs.

New warnings for C code that may have undefined semantics
because of violations of sequence point rules in the C
standard (such as a = a++;, a[n] =
b[n++]; and a[i++] = i;), included in
-Wall.

Port of GCC to Matsushita's AM33 processor (a member
of the MN10300 processor family) contributed.

Port of GCC to Fujitsu's FR30 processor contributed.

Port of GCC to Motorola's 68HC11 and 68HC12 processors
contributed.

Port of GCC to Sun's picoJava processor core contributed.

Documentation improvements

Substantially rewritten and improved C preprocessor
manual.

Many improvements to other documentation.

Manpages for gcc, cpp and
gcov are now generated automatically from the
master Texinfo manual, eliminating the problem of manpages
being out of date. (The generated manpages are only extracts
from the full manual, which is provided in Texinfo form, from
which info, HTML, other formats and a printed manual can be
generated.)

Generated info files are included in the release tarballs
alongside their Texinfo sources, avoiding problems on some
platforms with building makeinfo as part of the
GCC distribution.

Other significant improvements

Garbage collection used internally by the compiler for most memory
allocation instead of obstacks.

Lengauer and Tarjan algorithm used for computing dominators in
the CFG. This algorithm can be significantly faster and more
space efficient than our older algorithm.

gccbug script provided to assist in submitting
bug reports to our bug tracking system. (Bug reports previously
submitted directly to our mailing lists, for which you received
no bug tracking number, should be submitted again using
gccbug if you can reproduce the problem with GCC 3.0.)

Extensive testsuite included with GCC, with many new
tests. In addition to tests for GCC bugs that have been
fixed, many tests have been added for language features,
compiler warnings and builtin functions.

For questions related to the use of GCC,
please consult these web pages and the
GCC manuals. If that fails,
the gcc-help@gcc.gnu.org
mailing list might help.
Comments on these web pages and the development of GCC are welcome on our
developer list at gcc@gcc.gnu.org.
All of our lists
have public archives.

Copyright (C)
Free Software Foundation, Inc.
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.