@c Copyright (C) 1988-2021 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.

@node Contributors
@unnumbered Contributors to GCC
@cindex contributors

The GCC project would like to thank its many contributors.  Without them the
project would not have been nearly as successful as it has been.  Any omissions
in this list are accidental.  Feel free to contact
@email{law@@redhat.com} or @email{gerald@@pfeifer.com} if you have been left
out or some of your contributions are not listed.  Please keep this list in
alphabetical order.

@itemize @bullet

@item
Analog Devices helped implement the support for complex data types
and iterators.

@item
John David Anglin for threading-related fixes and improvements to
libstdc++-v3, and the HP-UX port.

@item
James van Artsdalen wrote the code that makes efficient use of
the Intel 80387 register stack.

@item
Abramo and Roberto Bagnara for the SysV68 Motorola 3300 Delta Series
port.

@item
Alasdair Baird for various bug fixes.

@item
Giovanni Bajo for analyzing lots of complicated C++ problem reports.

@item
Peter Barada for his work to improve code generation for new
ColdFire cores.

@item
Gerald Baumgartner added the signature extension to the C++ front end.

@item
Godmar Back for his Java improvements and encouragement.

@item
Scott Bambrough for help porting the Java compiler.

@item
Wolfgang Bangerth for processing tons of bug reports.

@item
Jon Beniston for his Microsoft Windows port of Java and port to Lattice Mico32.

@item
Daniel Berlin for better DWARF 2 support, faster/better optimizations,
improved alias analysis, plus migrating GCC to Bugzilla.

@item
Geoff Berry for his Java object serialization work and various patches.

@item
David Binderman tests weekly snapshots of GCC trunk against Fedora Rawhide
for several architectures.

@item
Laurynas Biveinis for memory management work and DJGPP port fixes.

@item
Uros Bizjak for the implementation of x87 math built-in functions and
for various middle end and i386 back end improvements and bug fixes.

@item
Eric Blake for helping to make GCJ and libgcj conform to the
specifications.

@item
Janne Blomqvist for contributions to GNU Fortran.

@item
Hans-J. Boehm for his garbage collector, IA-64 libffi port, and other
Java work.

@item
Segher Boessenkool for helping maintain the PowerPC port and the
instruction combiner plus various contributions to the middle end.

@item
Neil Booth for work on cpplib, lang hooks, debug hooks and other
miscellaneous clean-ups.

@item
Steven Bosscher for integrating the GNU Fortran front end into GCC and for
contributing to the tree-ssa branch.

@item
Eric Botcazou for fixing middle- and backend bugs left and right.

@item
Per Bothner for his direction via the steering committee and various
improvements to the infrastructure for supporting new languages.  Chill
front end implementation.  Initial implementations of
cpplib, fix-header, config.guess, libio, and past C++ library (libg++)
maintainer.  Dreaming up, designing and implementing much of GCJ@.

@item
Devon Bowen helped port GCC to the Tahoe.

@item
Don Bowman for mips-vxworks contributions.

@item
James Bowman for the FT32 port.

@item
Dave Brolley for work on cpplib and Chill.

@item
Paul Brook for work on the ARM architecture and maintaining GNU Fortran.

@item
Robert Brown implemented the support for Encore 32000 systems.

@item
Christian Bruel for improvements to local store elimination.

@item
Herman A.J. ten Brugge for various fixes.

@item
Joerg Brunsmann for Java compiler hacking and help with the GCJ FAQ@.

@item
Joe Buck for his direction via the steering committee from its creation
to 2013.

@item
Iain Buclaw for the D frontend.

@item
Craig Burley for leadership of the G77 Fortran effort.

@item
Tobias Burnus for contributions to GNU Fortran.

@item
Stephan Buys for contributing Doxygen notes for libstdc++.

@item
Paolo Carlini for libstdc++ work: lots of efficiency improvements to
the C++ strings, streambufs and formatted I/O, hard detective work on
the frustrating localization issues, and keeping up with the problem reports.

@item
John Carr for his alias work, SPARC hacking, infrastructure improvements,
previous contributions to the steering committee, loop optimizations, etc.

@item
Stephane Carrez for 68HC11 and 68HC12 ports.

@item
Steve Chamberlain for support for the Renesas SH and H8 processors
and the PicoJava processor, and for GCJ config fixes.

@item
Glenn Chambers for help with the GCJ FAQ@.

@item
John-Marc Chandonia for various libgcj patches.

@item
Denis Chertykov for contributing and maintaining the AVR port, the first GCC port
for an 8-bit architecture.

@item
Kito Cheng for his work on the RISC-V port, including bringing up the test
suite and maintenance.

@item
Scott Christley for his Objective-C contributions.

@item
Eric Christopher for his Java porting help and clean-ups.

@item
Branko Cibej for more warning contributions.

@item
The @uref{http://www.gnu.org/software/classpath/,,GNU Classpath project}
for all of their merged runtime code.

@item
Nick Clifton for arm, mcore, fr30, v850, m32r, msp430 rx work,
@option{--help}, and other random hacking.

@item
Michael Cook for libstdc++ cleanup patches to reduce warnings.

@item
R. Kelley Cook for making GCC buildable from a read-only directory as
well as other miscellaneous build process and documentation clean-ups.

@item
Ralf Corsepius for SH testing and minor bug fixing.

@item
Fran@,{c}ois-Xavier Coudert for contributions to GNU Fortran.

@item
Stan Cox for care and feeding of the x86 port and lots of behind
the scenes hacking.

@item
Alex Crain provided changes for the 3b1.

@item
Ian Dall for major improvements to the NS32k port.

@item
Paul Dale for his work to add uClinux platform support to the
m68k backend.

@item
Palmer Dabbelt for his work maintaining the RISC-V port.

@item
Dario Dariol contributed the four varieties of sample programs
that print a copy of their source.

@item
Russell Davidson for fstream and stringstream fixes in libstdc++.

@item
Bud Davis for work on the G77 and GNU Fortran compilers.

@item
Mo DeJong for GCJ and libgcj bug fixes.

@item
Jerry DeLisle for contributions to GNU Fortran.

@item
DJ Delorie for the DJGPP port, build and libiberty maintenance,
various bug fixes, and the M32C, MeP, MSP430, and RL78 ports.

@item
Arnaud Desitter for helping to debug GNU Fortran.

@item
Gabriel Dos Reis for contributions to G++, contributions and
maintenance of GCC diagnostics infrastructure, libstdc++-v3,
including @code{valarray<>}, @code{complex<>}, maintaining the numerics library
(including that pesky @code{<limits>} :-) and keeping up-to-date anything
to do with numbers.

@item
Ulrich Drepper for his work on glibc, testing of GCC using glibc, ISO C99
support, CFG dumping support, etc., plus support of the C++ runtime
libraries including for all kinds of C interface issues, contributing and
maintaining @code{complex<>}, sanity checking and disbursement, configuration
architecture, libio maintenance, and early math work.

@item
Fran@,{c}ois Dumont for his work on libstdc++-v3, especially maintaining and
improving @code{debug-mode} and associative and unordered containers.

@item
Zdenek Dvorak for a new loop unroller and various fixes.

@item
Michael Eager for his work on the Xilinx MicroBlaze port.

@item
Richard Earnshaw for his ongoing work with the ARM@.

@item
David Edelsohn for his direction via the steering committee, ongoing work
with the RS6000/PowerPC port, help cleaning up Haifa loop changes,
doing the entire AIX port of libstdc++ with his bare hands, and for
ensuring GCC properly keeps working on AIX@.

@item
Kevin Ediger for the floating point formatting of num_put::do_put in
libstdc++.

@item
Phil Edwards for libstdc++ work including configuration hackery,
documentation maintainer, chief breaker of the web pages, the occasional
iostream bug fix, and work on shared library symbol versioning.

@item
Paul Eggert for random hacking all over GCC@.

@item
Mark Elbrecht for various DJGPP improvements, and for libstdc++
configuration support for locales and fstream-related fixes.

@item
Vadim Egorov for libstdc++ fixes in strings, streambufs, and iostreams.

@item
Christian Ehrhardt for dealing with bug reports.

@item
Ben Elliston for his work to move the Objective-C runtime into its
own subdirectory and for his work on autoconf.

@item
Revital Eres for work on the PowerPC 750CL port.

@item
Marc Espie for OpenBSD support.

@item
Doug Evans for much of the global optimization framework, arc, m32r,
and SPARC work.

@item
Christopher Faylor for his work on the Cygwin port and for caring and
feeding the gcc.gnu.org box and saving its users tons of spam.

@item
Fred Fish for BeOS support and Ada fixes.

@item
Ivan Fontes Garcia for the Portuguese translation of the GCJ FAQ@.

@item
Peter Gerwinski for various bug fixes and the Pascal front end.

@item
Kaveh R.@: Ghazi for his direction via the steering committee, amazing
work to make @samp{-W -Wall -W* -Werror} useful, and 
testing GCC on a plethora of platforms.  Kaveh extends his gratitude to
the CAIP Center at Rutgers University for providing him with computing
resources to work on Free Software from the late 1980s to 2010.

@item
John Gilmore for a donation to the FSF earmarked improving GNU Java.

@item
Judy Goldberg for c++ contributions.

@item
Torbjorn Granlund for various fixes and the c-torture testsuite,
multiply- and divide-by-constant optimization, improved long long
support, improved leaf function register allocation, and his direction
via the steering committee.

@item
Jonny Grant for improvements to @code{collect2's} @option{--help} documentation.

@item
Anthony Green for his @option{-Os} contributions, the moxie port, and
Java front end work.

@item
Stu Grossman for gdb hacking, allowing GCJ developers to debug Java code.

@item
Michael K. Gschwind contributed the port to the PDP-11.

@item
Richard Biener for his ongoing middle-end contributions and bug fixes
and for release management.

@item
Ron Guilmette implemented the @command{protoize} and @command{unprotoize}
tools, the support for DWARF 1 symbolic debugging information, and much of
the support for System V Release 4.  He has also worked heavily on the
Intel 386 and 860 support.

@item
Sumanth Gundapaneni for contributing the CR16 port.

@item
Mostafa Hagog for Swing Modulo Scheduling (SMS) and post reload GCSE@.

@item
Bruno Haible for improvements in the runtime overhead for EH, new
warnings and assorted bug fixes.

@item
Andrew Haley for his amazing Java compiler and library efforts.

@item
Chris Hanson assisted in making GCC work on HP-UX for the 9000 series 300.

@item
Michael Hayes for various thankless work he's done trying to get
the c30/c40 ports functional.  Lots of loop and unroll improvements and
fixes.

@item
Dara Hazeghi for wading through myriads of target-specific bug reports.

@item
Kate Hedstrom for staking the G77 folks with an initial testsuite.

@item
Richard Henderson for his ongoing SPARC, alpha, ia32, and ia64 work, loop
opts, and generally fixing lots of old problems we've ignored for
years, flow rewrite and lots of further stuff, including reviewing
tons of patches.

@item
Aldy Hernandez for working on the PowerPC port, SIMD support, and
various fixes.

@item
Nobuyuki Hikichi of Software Research Associates, Tokyo, contributed
the support for the Sony NEWS machine.

@item
Kazu Hirata for caring and feeding the Renesas H8/300 port and various fixes.

@item
Katherine Holcomb for work on GNU Fortran.

@item
Manfred Hollstein for his ongoing work to keep the m88k alive, lots
of testing and bug fixing, particularly of GCC configury code.

@item
Steve Holmgren for MachTen patches.

@item
Mat Hostetter for work on the TILE-Gx and TILEPro ports.

@item
Jan Hubicka for his x86 port improvements.

@item
Falk Hueffner for working on C and optimization bug reports.

@item
Bernardo Innocenti for his m68k work, including merging of
ColdFire improvements and uClinux support.

@item
Christian Iseli for various bug fixes.

@item
Kamil Iskra for general m68k hacking.

@item
Lee Iverson for random fixes and MIPS testing.

@item
Balaji V. Iyer for Cilk+ development and merging.

@item
Andreas Jaeger for testing and benchmarking of GCC and various bug fixes.

@item
Martin Jambor for his work on inter-procedural optimizations, the
switch conversion pass, and scalar replacement of aggregates.

@item
Jakub Jelinek for his SPARC work and sibling call optimizations as well
as lots of bug fixes and test cases, and for improving the Java build
system.

@item
Janis Johnson for ia64 testing and fixes, her quality improvement
sidetracks, and web page maintenance.

@item
Kean Johnston for SCO OpenServer support and various fixes.

@item
Tim Josling for the sample language treelang based originally on Richard
Kenner's ``toy'' language.

@item
Nicolai Josuttis for additional libstdc++ documentation.

@item
Klaus Kaempf for his ongoing work to make alpha-vms a viable target.

@item
Steven G. Kargl for work on GNU Fortran.

@item
David Kashtan of SRI adapted GCC to VMS@.

@item
Ryszard Kabatek for many, many libstdc++ bug fixes and optimizations of
strings, especially member functions, and for auto_ptr fixes.

@item
Geoffrey Keating for his ongoing work to make the PPC work for GNU/Linux
and his automatic regression tester.

@item
Brendan Kehoe for his ongoing work with G++ and for a lot of early work
in just about every part of libstdc++.

@item
Oliver M. Kellogg of Deutsche Aerospace contributed the port to the
MIL-STD-1750A@.

@item
Richard Kenner of the New York University Ultracomputer Research
Laboratory wrote the machine descriptions for the AMD 29000, the DEC
Alpha, the IBM RT PC, and the IBM RS/6000 as well as the support for
instruction attributes.  He also made changes to better support RISC
processors including changes to common subexpression elimination,
strength reduction, function calling sequence handling, and condition
code support, in addition to generalizing the code for frame pointer
elimination and delay slot scheduling.  Richard Kenner was also the
head maintainer of GCC for several years.

@item
Mumit Khan for various contributions to the Cygwin and Mingw32 ports and
maintaining binary releases for Microsoft Windows hosts, and for massive libstdc++
porting work to Cygwin/Mingw32.

@item
Robin Kirkham for cpu32 support.

@item
Mark Klein for PA improvements.

@item
Thomas Koenig for various bug fixes.

@item
Bruce Korb for the new and improved fixincludes code.

@item
Benjamin Kosnik for his G++ work and for leading the libstdc++-v3 effort.

@item
Maxim Kuvyrkov for contributions to the instruction scheduler, the Android 
and m68k/Coldfire ports, and optimizations.

@item
Charles LaBrec contributed the support for the Integrated Solutions
68020 system.

@item
Asher Langton and Mike Kumbera for contributing Cray pointer support
to GNU Fortran, and for other GNU Fortran improvements.

@item
Jeff Law for his direction via the steering committee, coordinating the
entire egcs project and GCC 2.95, rolling out snapshots and releases,
handling merges from GCC2, reviewing tons of patches that might have
fallen through the cracks else, and random but extensive hacking.

@item
Walter Lee for work on the TILE-Gx and TILEPro ports.

@item
Marc Lehmann for his direction via the steering committee and helping
with analysis and improvements of x86 performance.

@item
Victor Leikehman for work on GNU Fortran.

@item
Ted Lemon wrote parts of the RTL reader and printer.

@item
Kriang Lerdsuwanakij for C++ improvements including template as template
parameter support, and many C++ fixes.

@item
Warren Levy for tremendous work on libgcj (Java Runtime Library) and
random work on the Java front end.

@item
Alain Lichnewsky ported GCC to the MIPS CPU@.

@item
Oskar Liljeblad for hacking on AWT and his many Java bug reports and
patches.

@item
Robert Lipe for OpenServer support, new testsuites, testing, etc.

@item
Chen Liqin for various S+core related fixes/improvement, and for
maintaining the S+core port.

@item
Martin Liska for his work on identical code folding, the sanitizers,
HSA, general bug fixing and for running automated regression testing of GCC
and reporting numerous bugs.

@item
Weiwen Liu for testing and various bug fixes.

@item
Manuel L@'opez-Ib@'a@~nez for improving @option{-Wconversion} and
many other diagnostics fixes and improvements.

@item
Dave Love for his ongoing work with the Fortran front end and
runtime libraries.

@item
Martin von L@"owis for internal consistency checking infrastructure,
various C++ improvements including namespace support, and tons of
assistance with libstdc++/compiler merges.

@item
H.J. Lu for his previous contributions to the steering committee, many x86
bug reports, prototype patches, and keeping the GNU/Linux ports working.

@item
Greg McGary for random fixes and (someday) bounded pointers.

@item
Andrew MacLeod for his ongoing work in building a real EH system,
various code generation improvements, work on the global optimizer, etc.

@item
Vladimir Makarov for hacking some ugly i960 problems, PowerPC hacking
improvements to compile-time performance, overall knowledge and
direction in the area of instruction scheduling, design and
implementation of the automaton based instruction scheduler and
design and implementation of the integrated and local register allocators.

@item
David Malcolm for his work on improving GCC diagnostics, JIT, self-tests
and unit testing.

@item
Bob Manson for his behind the scenes work on dejagnu.

@item
John Marino for contributing the DragonFly BSD port.

@item
Philip Martin for lots of libstdc++ string and vector iterator fixes and
improvements, and string clean up and testsuites.

@item
Michael Matz for his work on dominance tree discovery, the x86-64 port,
link-time optimization framework and general optimization improvements.

@item
All of the Mauve project contributors for Java test code.

@item
Bryce McKinlay for numerous GCJ and libgcj fixes and improvements.

@item
Adam Megacz for his work on the Microsoft Windows port of GCJ@.

@item
Michael Meissner for LRS framework, ia32, m32r, v850, m88k, MIPS,
powerpc, haifa, ECOFF debug support, and other assorted hacking.

@item
Jason Merrill for his direction via the steering committee and leading
the G++ effort.

@item
Martin Michlmayr for testing GCC on several architectures using the
entire Debian archive.

@item
David Miller for his direction via the steering committee, lots of
SPARC work, improvements in jump.c and interfacing with the Linux kernel
developers.

@item
Gary Miller ported GCC to Charles River Data Systems machines.

@item
Alfred Minarik for libstdc++ string and ios bug fixes, and turning the
entire libstdc++ testsuite namespace-compatible.

@item
Mark Mitchell for his direction via the steering committee, mountains of
C++ work, load/store hoisting out of loops, alias analysis improvements,
ISO C @code{restrict} support, and serving as release manager from 2000
to 2011.

@item
Alan Modra for various GNU/Linux bits and testing.

@item
Toon Moene for his direction via the steering committee, Fortran
maintenance, and his ongoing work to make us make Fortran run fast.

@item
Jason Molenda for major help in the care and feeding of all the services
on the gcc.gnu.org (formerly egcs.cygnus.com) machine---mail, web
services, ftp services, etc etc.  Doing all this work on scrap paper and
the backs of envelopes would have been@dots{} difficult.

@item
Catherine Moore for fixing various ugly problems we have sent her
way, including the haifa bug which was killing the Alpha & PowerPC
Linux kernels.

@item
Mike Moreton for his various Java patches.

@item
David Mosberger-Tang for various Alpha improvements, and for the initial
IA-64 port.

@item
Stephen Moshier contributed the floating point emulator that assists in
cross-compilation and permits support for floating point numbers wider
than 64 bits and for ISO C99 support.

@item
Bill Moyer for his behind the scenes work on various issues.

@item
Philippe De Muyter for his work on the m68k port.

@item
Joseph S. Myers for his work on the PDP-11 port, format checking and ISO
C99 support, and continuous emphasis on (and contributions to) documentation.

@item
Nathan Myers for his work on libstdc++-v3: architecture and authorship
through the first three snapshots, including implementation of locale
infrastructure, string, shadow C headers, and the initial project
documentation (DESIGN, CHECKLIST, and so forth).  Later, more work on
MT-safe string and shadow headers.

@item
Felix Natter for documentation on porting libstdc++.

@item
Nathanael Nerode for cleaning up the configuration/build process.

@item
NeXT, Inc.@: donated the front end that supports the Objective-C
language.

@item
Hans-Peter Nilsson for the CRIS and MMIX ports, improvements to the search
engine setup, various documentation fixes and other small fixes.

@item
Geoff Noer for his work on getting cygwin native builds working.

@item
Vegard Nossum for running automated regression testing of GCC and reporting
numerous bugs.

@item
Diego Novillo for his work on Tree SSA, OpenMP, SPEC performance
tracking web pages, GIMPLE tuples, and assorted fixes.

@item
David O'Brien for the FreeBSD/alpha, FreeBSD/AMD x86-64, FreeBSD/ARM,
FreeBSD/PowerPC, and FreeBSD/SPARC64 ports and related infrastructure
improvements.

@item
Alexandre Oliva for various build infrastructure improvements, scripts and
amazing testing work, including keeping libtool issues sane and happy.

@item
Stefan Olsson for work on mt_alloc.

@item
Melissa O'Neill for various NeXT fixes.

@item
Rainer Orth for random MIPS work, including improvements to GCC's o32
ABI support, improvements to dejagnu's MIPS support, Java configuration
clean-ups and porting work, and maintaining the IRIX, Solaris 2, and
Tru64 UNIX ports.

@item
Steven Pemberton for his contribution of @file{enquire} which allowed GCC to
determine various properties of the floating point unit and generate
@file{float.h} in older versions of GCC.

@item
Hartmut Penner for work on the s390 port.

@item
Paul Petersen wrote the machine description for the Alliant FX/8.

@item
Alexandre Petit-Bianco for implementing much of the Java compiler and
continued Java maintainership.

@item
Matthias Pfaller for major improvements to the NS32k port.

@item
Gerald Pfeifer for his direction via the steering committee, pointing
out lots of problems we need to solve, maintenance of the web pages, and
taking care of documentation maintenance in general.

@item
Marek Polacek for his work on the C front end, the sanitizers and general
bug fixing.

@item
Andrew Pinski for processing bug reports by the dozen.

@item
Ovidiu Predescu for his work on the Objective-C front end and runtime
libraries.

@item
Jerry Quinn for major performance improvements in C++ formatted I/O@.

@item
Ken Raeburn for various improvements to checker, MIPS ports and various
cleanups in the compiler.

@item
Rolf W. Rasmussen for hacking on AWT@.

@item
David Reese of Sun Microsystems contributed to the Solaris on PowerPC
port.

@item
John Regehr for running automated regression testing of GCC and reporting
numerous bugs.

@item
Volker Reichelt for running automated regression testing of GCC and reporting
numerous bugs and for keeping up with the problem reports.

@item
Joern Rennecke for maintaining the sh port, loop, regmove & reload
hacking and developing and maintaining the Epiphany port.

@item
Loren J. Rittle for improvements to libstdc++-v3 including the FreeBSD
port, threading fixes, thread-related configury changes, critical
threading documentation, and solutions to really tricky I/O problems,
as well as keeping GCC properly working on FreeBSD and continuous testing.

@item
Craig Rodrigues for processing tons of bug reports.

@item
Ola R@"onnerup for work on mt_alloc.

@item
Gavin Romig-Koch for lots of behind the scenes MIPS work.

@item
David Ronis inspired and encouraged Craig to rewrite the G77
documentation in texinfo format by contributing a first pass at a
translation of the old @file{g77-0.5.16/f/DOC} file.

@item
Ken Rose for fixes to GCC's delay slot filling code.

@item
Ira Rosen for her contributions to the auto-vectorizer.

@item
Paul Rubin wrote most of the preprocessor.

@item
P@'etur Run@'olfsson for major performance improvements in C++ formatted I/O and
large file support in C++ filebuf.

@item
Chip Salzenberg for libstdc++ patches and improvements to locales, traits,
Makefiles, libio, libtool hackery, and ``long long'' support.

@item
Juha Sarlin for improvements to the H8 code generator.

@item
Greg Satz assisted in making GCC work on HP-UX for the 9000 series 300.

@item
Roger Sayle for improvements to constant folding and GCC's RTL optimizers
as well as for fixing numerous bugs.

@item
Bradley Schatz for his work on the GCJ FAQ@.

@item
Peter Schauer wrote the code to allow debugging to work on the Alpha.

@item
William Schelter did most of the work on the Intel 80386 support.

@item
Tobias Schl@"uter for work on GNU Fortran.

@item
Bernd Schmidt for various code generation improvements and major
work in the reload pass, serving as release manager for
GCC 2.95.3, and work on the Blackfin and C6X ports.

@item
Peter Schmid for constant testing of libstdc++---especially application
testing, going above and beyond what was requested for the release
criteria---and libstdc++ header file tweaks.

@item
Jason Schroeder for jcf-dump patches.

@item
Andreas Schwab for his work on the m68k port.

@item
Lars Segerlund for work on GNU Fortran.

@item
Dodji Seketeli for numerous C++ bug fixes and debug info improvements.

@item
Tim Shen for major work on @code{<regex>}.

@item
Joel Sherrill for his direction via the steering committee, RTEMS
contributions and RTEMS testing.

@item
Nathan Sidwell for many C++ fixes/improvements.

@item
Jeffrey Siegal for helping RMS with the original design of GCC, some
code which handles the parse tree and RTL data structures, constant
folding and help with the original VAX & m68k ports.

@item
Kenny Simpson for prompting libstdc++ fixes due to defect reports from
the LWG (thereby keeping GCC in line with updates from the ISO)@.

@item
Franz Sirl for his ongoing work with making the PPC port stable
for GNU/Linux.

@item
Andrey Slepuhin for assorted AIX hacking.

@item
Trevor Smigiel for contributing the SPU port.

@item
Christopher Smith did the port for Convex machines.

@item
Danny Smith for his major efforts on the Mingw (and Cygwin) ports.
Retired from GCC maintainership August 2010, having mentored two 
new maintainers into the role.

@item
Randy Smith finished the Sun FPA support.

@item
Ed Smith-Rowland for his continuous work on libstdc++-v3, special functions,
@code{<random>}, and various improvements to C++11 features.

@item
Scott Snyder for queue, iterator, istream, and string fixes and libstdc++
testsuite entries.  Also for providing the patch to G77 to add
rudimentary support for @code{INTEGER*1}, @code{INTEGER*2}, and
@code{LOGICAL*1}.

@item
Zdenek Sojka for running automated regression testing of GCC and reporting
numerous bugs.

@item
Arseny Solokha for running automated regression testing of GCC and reporting
numerous bugs.

@item
Jayant Sonar for contributing the CR16 port.

@item
Brad Spencer for contributions to the GLIBCPP_FORCE_NEW technique.

@item
Richard Stallman, for writing the original GCC and launching the GNU project.

@item
Jan Stein of the Chalmers Computer Society provided support for
Genix, as well as part of the 32000 machine description.

@item
Gerhard Steinmetz for running automated regression testing of GCC and reporting
numerous bugs.

@item
Nigel Stephens for various mips16 related fixes/improvements.

@item
Jonathan Stone wrote the machine description for the Pyramid computer.

@item
Graham Stott for various infrastructure improvements.

@item
John Stracke for his Java HTTP protocol fixes.

@item
Mike Stump for his Elxsi port, G++ contributions over the years and more
recently his vxworks contributions

@item
Jeff Sturm for Java porting help, bug fixes, and encouragement.

@item
Zhendong Su for running automated regression testing of GCC and reporting
numerous bugs.

@item
Chengnian Sun for running automated regression testing of GCC and reporting
numerous bugs.

@item
Shigeya Suzuki for this fixes for the bsdi platforms.

@item
Ian Lance Taylor for the Go frontend, the initial mips16 and mips64
support, general configury hacking, fixincludes, etc.

@item
Holger Teutsch provided the support for the Clipper CPU@.

@item
Gary Thomas for his ongoing work to make the PPC work for GNU/Linux.

@item
Paul Thomas for contributions to GNU Fortran.

@item
Philipp Thomas for random bug fixes throughout the compiler

@item
Jason Thorpe for thread support in libstdc++ on NetBSD@.

@item
Kresten Krab Thorup wrote the run time support for the Objective-C
language and the fantastic Java bytecode interpreter.

@item
Michael Tiemann for random bug fixes, the first instruction scheduler,
initial C++ support, function integration, NS32k, SPARC and M88k
machine description work, delay slot scheduling.

@item
Andreas Tobler for his work porting libgcj to Darwin.

@item
Teemu Torma for thread safe exception handling support.

@item
Leonard Tower wrote parts of the parser, RTL generator, and RTL
definitions, and of the VAX machine description.

@item
Daniel Towner and Hariharan Sandanagobalane contributed and
maintain the picoChip port.

@item
Tom Tromey for internationalization support and for his many Java
contributions and libgcj maintainership.

@item
Lassi Tuura for improvements to config.guess to determine HP processor
types.

@item
Petter Urkedal for libstdc++ CXXFLAGS, math, and algorithms fixes.

@item
Andy Vaught for the design and initial implementation of the GNU Fortran
front end.

@item
Brent Verner for work with the libstdc++ cshadow files and their
associated configure steps.

@item
Todd Vierling for contributions for NetBSD ports.

@item
Andrew Waterman for contributing the RISC-V port, as well as maintaining it.

@item
Jonathan Wakely for contributing libstdc++ Doxygen notes and XHTML
guidance and maintaining libstdc++.

@item
Dean Wakerley for converting the install documentation from HTML to texinfo
in time for GCC 3.0.

@item
Krister Walfridsson for random bug fixes.

@item
Feng Wang for contributions to GNU Fortran.

@item
Stephen M. Webb for time and effort on making libstdc++ shadow files
work with the tricky Solaris 8+ headers, and for pushing the build-time
header tree. Also, for starting and driving the @code{<regex>} effort.

@item
John Wehle for various improvements for the x86 code generator,
related infrastructure improvements to help x86 code generation,
value range propagation and other work, WE32k port.

@item
Ulrich Weigand for work on the s390 port.

@item
Janus Weil for contributions to GNU Fortran.

@item
Zack Weinberg for major work on cpplib and various other bug fixes.

@item
Matt Welsh for help with Linux Threads support in GCJ@.

@item
Urban Widmark for help fixing java.io.

@item
Mark Wielaard for new Java library code and his work integrating with
Classpath.

@item
Dale Wiles helped port GCC to the Tahoe.

@item
Bob Wilson from Tensilica, Inc.@: for the Xtensa port.

@item
Jim Wilson for his direction via the steering committee, tackling hard
problems in various places that nobody else wanted to work on, strength
reduction and other loop optimizations.

@item
Paul Woegerer and Tal Agmon for the CRX port.

@item
Carlo Wood for various fixes.

@item
Tom Wood for work on the m88k port.

@item
Chung-Ju Wu for his work on the Andes NDS32 port.

@item
Canqun Yang for work on GNU Fortran.

@item
Masanobu Yuhara of Fujitsu Laboratories implemented the machine
description for the Tron architecture (specifically, the Gmicro).

@item
Kevin Zachmann helped port GCC to the Tahoe.

@item
Ayal Zaks for Swing Modulo Scheduling (SMS).

@item
Qirun Zhang for running automated regression testing of GCC and reporting
numerous bugs.

@item
Xiaoqiang Zhang for work on GNU Fortran.

@item
Gilles Zunino for help porting Java to Irix.

@end itemize

The following people are recognized for their contributions to GNAT,
the Ada front end of GCC:
@itemize @bullet
@item
Bernard Banner

@item
Romain Berrendonner

@item
Geert Bosch

@item
Emmanuel Briot

@item
Joel Brobecker

@item
Ben Brosgol

@item
Vincent Celier

@item
Arnaud Charlet

@item
Chien Chieng

@item
Cyrille Comar

@item
Cyrille Crozes

@item
Robert Dewar

@item
Gary Dismukes

@item
Robert Duff

@item
Ed Falis

@item
Ramon Fernandez

@item
Sam Figueroa

@item
Vasiliy Fofanov

@item
Michael Friess

@item
Franco Gasperoni

@item
Ted Giering

@item
Matthew Gingell

@item
Laurent Guerby

@item
Jerome Guitton

@item
Olivier Hainque

@item
Jerome Hugues

@item
Hristian Kirtchev

@item
Jerome Lambourg

@item
Bruno Leclerc

@item
Albert Lee

@item
Sean McNeil

@item
Javier Miranda

@item
Laurent Nana

@item
Pascal Obry

@item
Dong-Ik Oh

@item
Laurent Pautet

@item
Brett Porter

@item
Thomas Quinot

@item
Nicolas Roche

@item
Pat Rogers

@item
Jose Ruiz

@item
Douglas Rupp

@item
Sergey Rybin

@item
Gail Schenker

@item
Ed Schonberg

@item
Nicolas Setton

@item
Samuel Tardieu

@end itemize


The following people are recognized for their contributions of new
features, bug reports, testing and integration of classpath/libgcj for
GCC version 4.1:
@itemize @bullet
@item
Lillian Angel for @code{JTree} implementation and lots Free Swing
additions and bug fixes.

@item
Wolfgang Baer for @code{GapContent} bug fixes.

@item
Anthony Balkissoon for @code{JList}, Free Swing 1.5 updates and mouse event
fixes, lots of Free Swing work including @code{JTable} editing.

@item
Stuart Ballard for RMI constant fixes.

@item
Goffredo Baroncelli for @code{HTTPURLConnection} fixes.

@item
Gary Benson for @code{MessageFormat} fixes.

@item
Daniel Bonniot for @code{Serialization} fixes.

@item
Chris Burdess for lots of gnu.xml and http protocol fixes, @code{StAX}
and @code{DOM xml:id} support.

@item
Ka-Hing Cheung for @code{TreePath} and @code{TreeSelection} fixes.

@item
Archie Cobbs for build fixes, VM interface updates,
@code{URLClassLoader} updates.

@item
Kelley Cook for build fixes.

@item
Martin Cordova for Suggestions for better @code{SocketTimeoutException}.

@item
David Daney for @code{BitSet} bug fixes, @code{HttpURLConnection}
rewrite and improvements.

@item
Thomas Fitzsimmons for lots of upgrades to the gtk+ AWT and Cairo 2D
support. Lots of imageio framework additions, lots of AWT and Free
Swing bug fixes.

@item
Jeroen Frijters for @code{ClassLoader} and nio cleanups, serialization fixes,
better @code{Proxy} support, bug fixes and IKVM integration.

@item
Santiago Gala for @code{AccessControlContext} fixes.

@item
Nicolas Geoffray for @code{VMClassLoader} and @code{AccessController}
improvements.

@item
David Gilbert for @code{basic} and @code{metal} icon and plaf support
and lots of documenting, Lots of Free Swing and metal theme
additions. @code{MetalIconFactory} implementation.

@item
Anthony Green for @code{MIDI} framework, @code{ALSA} and @code{DSSI}
providers.

@item
Andrew Haley for @code{Serialization} and @code{URLClassLoader} fixes,
gcj build speedups.

@item
Kim Ho for @code{JFileChooser} implementation.

@item
Andrew John Hughes for @code{Locale} and net fixes, URI RFC2986
updates, @code{Serialization} fixes, @code{Properties} XML support and
generic branch work, VMIntegration guide update.

@item
Bastiaan Huisman for @code{TimeZone} bug fixing.

@item
Andreas Jaeger for mprec updates.

@item
Paul Jenner for better @option{-Werror} support.

@item
Ito Kazumitsu for @code{NetworkInterface} implementation and updates.

@item
Roman Kennke for @code{BoxLayout}, @code{GrayFilter} and
@code{SplitPane}, plus bug fixes all over. Lots of Free Swing work
including styled text.

@item
Simon Kitching for @code{String} cleanups and optimization suggestions.

@item
Michael Koch for configuration fixes, @code{Locale} updates, bug and
build fixes.

@item
Guilhem Lavaux for configuration, thread and channel fixes and Kaffe
integration. JCL native @code{Pointer} updates. Logger bug fixes.

@item
David Lichteblau for JCL support library global/local reference
cleanups.

@item
Aaron Luchko for JDWP updates and documentation fixes.

@item
Ziga Mahkovec for @code{Graphics2D} upgraded to Cairo 0.5 and new regex
features.

@item
Sven de Marothy for BMP imageio support, CSS and @code{TextLayout}
fixes. @code{GtkImage} rewrite, 2D, awt, free swing and date/time fixes and
implementing the Qt4 peers.

@item
Casey Marshall for crypto algorithm fixes, @code{FileChannel} lock,
@code{SystemLogger} and @code{FileHandler} rotate implementations, NIO
@code{FileChannel.map} support, security and policy updates.

@item
Bryce McKinlay for RMI work.

@item
Audrius Meskauskas for lots of Free Corba, RMI and HTML work plus
testing and documenting.

@item
Kalle Olavi Niemitalo for build fixes.

@item
Rainer Orth for build fixes.

@item
Andrew Overholt for @code{File} locking fixes.

@item
Ingo Proetel for @code{Image}, @code{Logger} and @code{URLClassLoader}
updates.

@item
Olga Rodimina for @code{MenuSelectionManager} implementation.

@item
Jan Roehrich for @code{BasicTreeUI} and @code{JTree} fixes.

@item
Julian Scheid for documentation updates and gjdoc support.

@item
Christian Schlichtherle for zip fixes and cleanups.

@item
Robert Schuster for documentation updates and beans fixes,
@code{TreeNode} enumerations and @code{ActionCommand} and various
fixes, XML and URL, AWT and Free Swing bug fixes.

@item
Keith Seitz for lots of JDWP work.

@item
Christian Thalinger for 64-bit cleanups, Configuration and VM
interface fixes and @code{CACAO} integration, @code{fdlibm} updates.

@item
Gael Thomas for @code{VMClassLoader} boot packages support suggestions.

@item
Andreas Tobler for Darwin and Solaris testing and fixing, @code{Qt4}
support for Darwin/OS X, @code{Graphics2D} support, @code{gtk+}
updates.

@item
Dalibor Topic for better @code{DEBUG} support, build cleanups and
Kaffe integration. @code{Qt4} build infrastructure, @code{SHA1PRNG}
and @code{GdkPixbugDecoder} updates.

@item
Tom Tromey for Eclipse integration, generics work, lots of bug fixes
and gcj integration including coordinating The Big Merge.

@item
Mark Wielaard for bug fixes, packaging and release management,
@code{Clipboard} implementation, system call interrupts and network
timeouts and @code{GdkPixpufDecoder} fixes.

@end itemize


In addition to the above, all of which also contributed time and energy in
testing GCC, we would like to thank the following for their contributions
to testing:

@itemize @bullet
@item
Michael Abd-El-Malek

@item
Thomas Arend

@item
Bonzo Armstrong

@item
Steven Ashe

@item
Chris Baldwin

@item
David Billinghurst

@item
Jim Blandy

@item
Stephane Bortzmeyer

@item
Horst von Brand

@item
Frank Braun

@item
Rodney Brown

@item
Sidney Cadot

@item
Bradford Castalia

@item
Robert Clark

@item
Jonathan Corbet

@item
Ralph Doncaster

@item
Richard Emberson

@item
Levente Farkas

@item
Graham Fawcett

@item
Mark Fernyhough

@item
Robert A. French

@item
J@"orgen Freyh

@item
Mark K. Gardner

@item
Charles-Antoine Gauthier

@item
Yung Shing Gene

@item
David Gilbert

@item
Simon Gornall

@item
Fred Gray

@item
John Griffin

@item
Patrik Hagglund

@item
Phil Hargett

@item
Amancio Hasty

@item
Takafumi Hayashi

@item
Bryan W. Headley

@item
Kevin B. Hendricks

@item
Joep Jansen

@item
Christian Joensson

@item
Michel Kern

@item
David Kidd

@item
Tobias Kuipers

@item
Anand Krishnaswamy

@item
A. O. V. Le Blanc

@item
llewelly

@item
Damon Love

@item
Brad Lucier

@item
Matthias Klose

@item
Martin Knoblauch

@item
Rick Lutowski

@item
Jesse Macnish

@item
Stefan Morrell

@item
Anon A. Mous

@item
Matthias Mueller

@item
Pekka Nikander

@item
Rick Niles

@item
Jon Olson

@item
Magnus Persson

@item
Chris Pollard

@item
Richard Polton

@item
Derk Reefman

@item
David Rees

@item
Paul Reilly

@item
Tom Reilly

@item
Torsten Rueger

@item
Danny Sadinoff

@item
Marc Schifer

@item
Erik Schnetter

@item
Wayne K. Schroll

@item
David Schuler

@item
Vin Shelton

@item
Tim Souder

@item
Adam Sulmicki

@item
Bill Thorson

@item
George Talbot

@item
Pedro A. M. Vazquez

@item
Gregory Warnes

@item
Ian Watson

@item
David E. Young

@item
And many others
@end itemize

And finally we'd like to thank everyone who uses the compiler, provides
feedback and generally reminds us why we're doing this work in the first
place.
