@c Copyright (C) 1988,1989,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001
@c 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} if you have been left out
or some of your contributions are not listed.  Please keep this list in
alphabetical order.

Some projects operating under the GCC project maintain their own list
of contributors, such as
@uref{http://gcc.gnu.org/libstdc++/,the C++ library}.

@itemize @bullet

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

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

@item
Alasdair Baird for various bugfixes.

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

@item
Neil Booth for various work on cpplib.

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

@item
Devon Bowen helped port GCC to the Tahoe.

@item
Don Bowman for mips-vxworks contributions.

@item
Dave Brolley for work on cpplib and Chill.

@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
Joe Buck for his direction via the steering committee.

@item
Craig Burley for leadership of the Fortran effort.

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

@item
Steve Chamberlain wrote the support for the Hitachi SH and H8 processors
and the PicoJava processor.

@item
Scott Christley for his ObjC contributions.

@item
Branko Cibej for more warning contributions.

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

@item
Ralf Corsepius for SH testing and minor bugfixing.

@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
Dario Dariol contributed the four varieties of sample programs
that print a copy of their source.

@item
Ulrich Drepper for his work on the C++ runtime libraries, glibc,
 testing of GCC using glibc, ISO C99 support, CFG dumping support, etc.

@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, and help cleaning up Haifa
loop changes.

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

@item
Mark Elbrecht for various DJGPP improvements.

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

@item
Marc Espie for OpenBSD support.

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

@item
Fred Fish for BeOS support and Ada fixes.

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

@item
Kaveh Ghazi for his direction via the steering committee and
amazing work to make @samp{-W -Wall} useful.

@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
Anthony Green for his @option{-Os} contributions and Java front end work.

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

@item
Ron Guilmette implemented the @command{protoize} and @command{unprotoize}
tools, the support for Dwarf 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
Bruno Haible for improvements in the runtime overhead for EH, new
warnings and assorted bugfixes.

@item
Andrew Haley for his Java work.

@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
Kate Hedstrom for staking the g77 folks with an initial testsuite.

@item
Richard Henderson for his ongoing SPARC and alpha work, loop opts, and
generally fixing lots of old problems we've ignored for years, flow
rewrite and lots of stuff I've forgotten.

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

@item
Manfred Hollstein for his ongoing work to keep the m88k alive, lots
of testing an bugfixing, particularly of our configury code.

@item
Steve Holmgren for MachTen patches.

@item
Jan Hubicka for his x86 port improvements.

@item
Christian Iseli for various bugfixes.

@item
Kamil Iskra for general m68k hacking.

@item
Lee Iverson for random fixes and mips testing.

@item
Andreas Jaeger for various fixes to the MIPS port

@item
Jakub Jelinek for his SPARC work and sibling call optimizations.

@item
J. Kean Johnston for OpenServer support.

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

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

@item
Geoffrey Keating for his ongoing work to make the PPC work for Linux.

@item
Brendan Kehoe for his ongoing work with g++.

@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 Windows hosts.

@item
Robin Kirkham for cpu32 support.

@item
Mark Klein for PA improvements.

@item
Thomas Koenig for various bugfixes.

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

@item
Benjamin Kosnik for his g++ work.

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

@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
Marc Lehmann for his direction via the steering committee and helping
with analysis and improvements of x86 performance.

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

@item
Kriang Lerdsuwanakij for improvements to demangler and various c++ fixes.

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

@item
Alain Lichnewsky ported GCC to the Mips cpu.

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

@item
Weiwen Liu for testing and various bugfixes.

@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,
and various C++ improvements including namespace support.

@item
H.J. Lu for his previous contributions to the steering committee, many x86
bug reports, prototype patches, and keeping the 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 and overall knowledge
and direction in the area of instruction scheduling.

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

@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
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
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 for GCC 3.0.

@item
Alan Modra for various 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.

@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
David Mosberger-Tang for various Alpha improvements.

@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.

@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 this work on getting cygwin native builds working.

@item
Alexandre Oliva for various build infrastructure improvements, scripts and
amazing testing work.

@item
Melissa O'Neill for various NeXT fixes.

@item
Rainer Orth for random MIPS work, including improvements to our o32
ABI support, improvements to dejagnu's MIPS support, etc.

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

@item
Alexandre Petit-Bianco for his Java work.

@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
Ovidiu Predescu for his work on the ObjC front end and runtime libraries.

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

@item
David Reese of Sun Microsystems contributed to the Solaris on PowerPC
port.
@item
Gabriel Dos Reis for contributions and maintenance of libstdc++-v3,
including valarray implementation and limits support.

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

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

@item
Ken Rose for fixes to our delay slot filling code.

@item
Paul Rubin wrote most of the preprocessor.

@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
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
Bernd Schmidt for various code generation improvements and major
work in the reload pass as well a serving as release manager for
GCC 2.95.3.

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

@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
Franz Sirl for his ongoing work with making the PPC port stable
for linux.

@item
Andrey Slepuhin for assorted AIX hacking.

@item
Christopher Smith did the port for Convex machines.

@item
Randy Smith finished the Sun FPA support.

@item
Scott Snyder for various fixes.

@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
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
Mike Stump for his Elxsi port, g++ contributions over the years and more
recently his vxworks contributions

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

@item
Ian Lance Taylor for his mips16 work, 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 Linux.

@item
Philipp Thomas for random bugfixes throughout the compiler

@item
Kresten Krab Thorup wrote the run time support for the Objective-C
language.

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

@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
Tom Tromey for internationalization support and his Java work.

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

@item
Todd Vierling for contributions for NetBSD ports.

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

@item
Krister Walfridsson for random bugfixes.

@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
Zack Weinberg for major work on cpplib and various other bugfixes.

@item
Dale Wiles helped port GCC to the Tahoe.

@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
Carlo Wood for various fixes.

@item
Tom Wood for work on the m88k port.

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

@item
Kevin Zachmann helped ported GCC to the Tahoe.

@end itemize


We'd also like to thank the folks who have contributed time and energy in
testing GCC:

@itemize @bullet
@item
David Billinghurst

@item
Horst von Brand

@item
Rodney Brown

@item
Joe Buck

@item
Craig Burley

@item
Ulrich Drepper

@item
David Edelsohn

@item
Yung Shing Gene

@item
Kaveh Ghazi

@item
Kate Hedstrom

@item
Richard Henderson

@item
Manfred Hollstein

@item
Kamil Iskra

@item
Christian Joensson

@item
Jeff Law

@item
Robert Lipe

@item
Damon Love

@item
Dave Love

@item
H.J. Lu

@item
Mumit Khan

@item
Matthias Klose

@item
Martin Knoblauch

@item
David Miller

@item
Toon Moene

@item
Matthias Mueller

@item
Alexandre Oliva

@item
Richard Polton

@item
David Rees

@item
Peter Schmid

@item
David Schuler

@item
Vin Shelton

@item
Franz Sirl

@item
Mike Stump

@item
Carlo Wood

@item
And many others
@end itemize

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