MATCH: Improve `A CMP 0 ? A : -A` set of patterns to use bitwise_equal_p.
[official-gcc.git] / gcc / doc / contrib.texi
blob031c4ec44ce2bac47cf47446d7b33f703c180a73
1 @c Copyright (C) 1988-2023 Free Software Foundation, Inc.
2 @c This is part of the GCC manual.
3 @c For copying conditions, see the file gcc.texi.
5 @node Contributors
6 @unnumbered Contributors to GCC
7 @cindex contributors
9 The GCC project would like to thank its many contributors.  Without them the
10 project would not have been nearly as successful as it has been.  Any omissions
11 in this list are accidental.  Feel free to contact
12 @email{jlaw@@ventanamicro.com} or @email{gerald@@pfeifer.com} if you have been left
13 out or some of your contributions are not listed.  Please keep this list in
14 alphabetical order.
16 @itemize @bullet
18 @item
19 Analog Devices helped implement the support for complex data types
20 and iterators.
22 @item
23 John David Anglin for threading-related fixes and improvements to
24 libstdc++-v3, and the HP-UX port.
26 @item
27 James van Artsdalen wrote the code that makes efficient use of
28 the Intel 80387 register stack.
30 @item
31 Abramo and Roberto Bagnara for the SysV68 Motorola 3300 Delta Series
32 port.
34 @item
35 Alasdair Baird for various bug fixes.
37 @item
38 Giovanni Bajo for analyzing lots of complicated C++ problem reports.
40 @item
41 Peter Barada for his work to improve code generation for new
42 ColdFire cores.
44 @item
45 Gerald Baumgartner added the signature extension to the C++ front end.
47 @item
48 Godmar Back for his Java improvements and encouragement.
50 @item
51 Scott Bambrough for help porting the Java compiler.
53 @item
54 Wolfgang Bangerth for processing tons of bug reports.
56 @item
57 Jon Beniston for his Microsoft Windows port of Java and port to Lattice Mico32.
59 @item
60 Daniel Berlin for better DWARF 2 support, faster/better optimizations,
61 improved alias analysis, plus migrating GCC to Bugzilla.
63 @item
64 Geoff Berry for his Java object serialization work and various patches.
66 @item
67 David Binderman tests weekly snapshots of GCC trunk against Fedora Rawhide
68 for several architectures.
70 @item
71 Laurynas Biveinis for memory management work and DJGPP port fixes.
73 @item
74 Uros Bizjak for the implementation of x87 math built-in functions and
75 for various middle end and i386 back end improvements and bug fixes.
77 @item
78 Eric Blake for helping to make GCJ and libgcj conform to the
79 specifications.
81 @item
82 Janne Blomqvist for contributions to GNU Fortran.
84 @item
85 Hans-J. Boehm for his garbage collector, IA-64 libffi port, and other
86 Java work.
88 @item
89 Segher Boessenkool for helping maintain the PowerPC port and the
90 instruction combiner plus various contributions to the middle end.
92 @item
93 Neil Booth for work on cpplib, lang hooks, debug hooks and other
94 miscellaneous clean-ups.
96 @item
97 Steven Bosscher for integrating the GNU Fortran front end into GCC and for
98 contributing to the tree-ssa branch.
100 @item
101 Eric Botcazou for fixing middle- and backend bugs left and right.
103 @item
104 Per Bothner for his direction via the steering committee and various
105 improvements to the infrastructure for supporting new languages.  Chill
106 front end implementation.  Initial implementations of
107 cpplib, fix-header, config.guess, libio, and past C++ library (libg++)
108 maintainer.  Dreaming up, designing and implementing much of GCJ@.
110 @item
111 Devon Bowen helped port GCC to the Tahoe.
113 @item
114 Don Bowman for mips-vxworks contributions.
116 @item
117 James Bowman for the FT32 port.
119 @item
120 Dave Brolley for work on cpplib and Chill.
122 @item
123 Paul Brook for work on the ARM architecture and maintaining GNU Fortran.
125 @item
126 Robert Brown implemented the support for Encore 32000 systems.
128 @item
129 Christian Bruel for improvements to local store elimination.
131 @item
132 Herman A.J. ten Brugge for various fixes.
134 @item
135 Joerg Brunsmann for Java compiler hacking and help with the GCJ FAQ@.
137 @item
138 Joe Buck for his direction via the steering committee from its creation
139 to 2013.
141 @item
142 Iain Buclaw for the D frontend.
144 @item
145 Craig Burley for leadership of the G77 Fortran effort.
147 @item
148 Tobias Burnus for contributions to GNU Fortran.
150 @item
151 Stephan Buys for contributing Doxygen notes for libstdc++.
153 @item
154 Paolo Carlini for libstdc++ work: lots of efficiency improvements to
155 the C++ strings, streambufs and formatted I/O, hard detective work on
156 the frustrating localization issues, and keeping up with the problem reports.
158 @item
159 John Carr for his alias work, SPARC hacking, infrastructure improvements,
160 previous contributions to the steering committee, loop optimizations, etc.
162 @item
163 Stephane Carrez for 68HC11 and 68HC12 ports.
165 @item
166 Steve Chamberlain for support for the Renesas SH and H8 processors
167 and the PicoJava processor, and for GCJ config fixes.
169 @item
170 Glenn Chambers for help with the GCJ FAQ@.
172 @item
173 John-Marc Chandonia for various libgcj patches.
175 @item
176 Denis Chertykov for contributing and maintaining the AVR port, the first GCC port
177 for an 8-bit architecture.
179 @item
180 Kito Cheng for his work on the RISC-V port, including bringing up the test
181 suite and maintenance.
183 @item
184 Scott Christley for his Objective-C contributions.
186 @item
187 Eric Christopher for his Java porting help and clean-ups.
189 @item
190 Branko Cibej for more warning contributions.
192 @item
193 The @uref{https://www.gnu.org/software/classpath/,,GNU Classpath project}
194 for all of their merged runtime code.
196 @item
197 Nick Clifton for arm, mcore, fr30, v850, m32r, msp430 rx work,
198 @option{--help}, and other random hacking.
200 @item
201 Michael Cook for libstdc++ cleanup patches to reduce warnings.
203 @item
204 R. Kelley Cook for making GCC buildable from a read-only directory as
205 well as other miscellaneous build process and documentation clean-ups.
207 @item
208 Ralf Corsepius for SH testing and minor bug fixing.
210 @item
211 Fran@,{c}ois-Xavier Coudert for contributions to GNU Fortran.
213 @item
214 Stan Cox for care and feeding of the x86 port and lots of behind
215 the scenes hacking.
217 @item
218 Alex Crain provided changes for the 3b1.
220 @item
221 Ian Dall for major improvements to the NS32k port.
223 @item
224 Paul Dale for his work to add uClinux platform support to the
225 m68k backend.
227 @item
228 Palmer Dabbelt for his work maintaining the RISC-V port.
230 @item
231 Dario Dariol contributed the four varieties of sample programs
232 that print a copy of their source.
234 @item
235 Russell Davidson for fstream and stringstream fixes in libstdc++.
237 @item
238 Bud Davis for work on the G77 and GNU Fortran compilers.
240 @item
241 Mo DeJong for GCJ and libgcj bug fixes.
243 @item
244 Jerry DeLisle for contributions to GNU Fortran.
246 @item
247 DJ Delorie for the DJGPP port, build and libiberty maintenance,
248 various bug fixes, and the M32C, MeP, MSP430, and RL78 ports.
250 @item
251 Arnaud Desitter for helping to debug GNU Fortran.
253 @item
254 Gabriel Dos Reis for contributions to G++, contributions and
255 maintenance of GCC diagnostics infrastructure, libstdc++-v3,
256 including @code{valarray<>}, @code{complex<>}, maintaining the numerics library
257 (including that pesky @code{<limits>} :-) and keeping up-to-date anything
258 to do with numbers.
260 @item
261 Ulrich Drepper for his work on glibc, testing of GCC using glibc, ISO C99
262 support, CFG dumping support, etc., plus support of the C++ runtime
263 libraries including for all kinds of C interface issues, contributing and
264 maintaining @code{complex<>}, sanity checking and disbursement, configuration
265 architecture, libio maintenance, and early math work.
267 @item
268 Fran@,{c}ois Dumont for his work on libstdc++-v3, especially maintaining and
269 improving @code{debug-mode} and associative and unordered containers.
271 @item
272 Zdenek Dvorak for a new loop unroller and various fixes.
274 @item
275 Michael Eager for his work on the Xilinx MicroBlaze port.
277 @item
278 Richard Earnshaw for his ongoing work with the ARM@.
280 @item
281 David Edelsohn for his direction via the steering committee, ongoing work
282 with the RS6000/PowerPC port, help cleaning up Haifa loop changes,
283 doing the entire AIX port of libstdc++ with his bare hands, and for
284 ensuring GCC properly keeps working on AIX@.
286 @item
287 Kevin Ediger for the floating point formatting of num_put::do_put in
288 libstdc++.
290 @item
291 Phil Edwards for libstdc++ work including configuration hackery,
292 documentation maintainer, chief breaker of the web pages, the occasional
293 iostream bug fix, and work on shared library symbol versioning.
295 @item
296 Paul Eggert for random hacking all over GCC@.
298 @item
299 Mark Elbrecht for various DJGPP improvements, and for libstdc++
300 configuration support for locales and fstream-related fixes.
302 @item
303 Vadim Egorov for libstdc++ fixes in strings, streambufs, and iostreams.
305 @item
306 Christian Ehrhardt for dealing with bug reports.
308 @item
309 Ben Elliston for his work to move the Objective-C runtime into its
310 own subdirectory and for his work on autoconf.
312 @item
313 Revital Eres for work on the PowerPC 750CL port.
315 @item
316 Marc Espie for OpenBSD support.
318 @item
319 Doug Evans for much of the global optimization framework, arc, m32r,
320 and SPARC work.
322 @item
323 Christopher Faylor for his work on the Cygwin port and for caring and
324 feeding the gcc.gnu.org box and saving its users tons of spam.
326 @item
327 Fred Fish for BeOS support and Ada fixes.
329 @item
330 Ivan Fontes Garcia for the Portuguese translation of the GCJ FAQ@.
332 @item
333 Peter Gerwinski for various bug fixes and the Pascal front end.
335 @item
336 Kaveh R.@: Ghazi for his direction via the steering committee, amazing
337 work to make @samp{-W -Wall -W* -Werror} useful, and 
338 testing GCC on a plethora of platforms.  Kaveh extends his gratitude to
339 the CAIP Center at Rutgers University for providing him with computing
340 resources to work on Free Software from the late 1980s to 2010.
342 @item
343 John Gilmore for a donation to the FSF earmarked improving GNU Java.
345 @item
346 Judy Goldberg for c++ contributions.
348 @item
349 Torbjorn Granlund for various fixes and the c-torture testsuite,
350 multiply- and divide-by-constant optimization, improved long long
351 support, improved leaf function register allocation, and his direction
352 via the steering committee.
354 @item
355 Jonny Grant for improvements to @code{collect2's} @option{--help} documentation.
357 @item
358 Anthony Green for his @option{-Os} contributions, the moxie port, and
359 Java front end work.
361 @item
362 Stu Grossman for gdb hacking, allowing GCJ developers to debug Java code.
364 @item
365 Michael K. Gschwind contributed the port to the PDP-11.
367 @item
368 Richard Biener for his ongoing middle-end contributions and bug fixes
369 and for release management.
371 @item
372 Ron Guilmette implemented the @command{protoize} and @command{unprotoize}
373 tools, the support for DWARF 1 symbolic debugging information, and much of
374 the support for System V Release 4.  He has also worked heavily on the
375 Intel 386 and 860 support.
377 @item
378 Sumanth Gundapaneni for contributing the CR16 port.
380 @item
381 Mostafa Hagog for Swing Modulo Scheduling (SMS) and post reload GCSE@.
383 @item
384 Bruno Haible for improvements in the runtime overhead for EH, new
385 warnings and assorted bug fixes.
387 @item
388 Andrew Haley for his amazing Java compiler and library efforts.
390 @item
391 Chris Hanson assisted in making GCC work on HP-UX for the 9000 series 300.
393 @item
394 Michael Hayes for various thankless work he's done trying to get
395 the c30/c40 ports functional.  Lots of loop and unroll improvements and
396 fixes.
398 @item
399 Dara Hazeghi for wading through myriads of target-specific bug reports.
401 @item
402 Kate Hedstrom for staking the G77 folks with an initial testsuite.
404 @item
405 Richard Henderson for his ongoing SPARC, alpha, ia32, and ia64 work, loop
406 opts, and generally fixing lots of old problems we've ignored for
407 years, flow rewrite and lots of further stuff, including reviewing
408 tons of patches.
410 @item
411 Aldy Hernandez for working on the PowerPC port, SIMD support, and
412 various fixes.
414 @item
415 Nobuyuki Hikichi of Software Research Associates, Tokyo, contributed
416 the support for the Sony NEWS machine.
418 @item
419 Kazu Hirata for caring and feeding the Renesas H8/300 port and various fixes.
421 @item
422 Katherine Holcomb for work on GNU Fortran.
424 @item
425 Manfred Hollstein for his ongoing work to keep the m88k alive, lots
426 of testing and bug fixing, particularly of GCC configury code.
428 @item
429 Steve Holmgren for MachTen patches.
431 @item
432 Mat Hostetter for work on the TILE-Gx and TILEPro ports.
434 @item
435 Jan Hubicka for his x86 port improvements.
437 @item
438 Falk Hueffner for working on C and optimization bug reports.
440 @item
441 Bernardo Innocenti for his m68k work, including merging of
442 ColdFire improvements and uClinux support.
444 @item
445 Christian Iseli for various bug fixes.
447 @item
448 Kamil Iskra for general m68k hacking.
450 @item
451 Lee Iverson for random fixes and MIPS testing.
453 @item
454 Balaji V. Iyer for Cilk+ development and merging.
456 @item
457 Andreas Jaeger for testing and benchmarking of GCC and various bug fixes.
459 @item
460 Martin Jambor for his work on inter-procedural optimizations, the
461 switch conversion pass, and scalar replacement of aggregates.
463 @item
464 Jakub Jelinek for his SPARC work and sibling call optimizations as well
465 as lots of bug fixes and test cases, and for improving the Java build
466 system.
468 @item
469 Janis Johnson for ia64 testing and fixes, her quality improvement
470 sidetracks, and web page maintenance.
472 @item
473 Kean Johnston for SCO OpenServer support and various fixes.
475 @item
476 Tim Josling for the sample language treelang based originally on Richard
477 Kenner's ``toy'' language.
479 @item
480 Nicolai Josuttis for additional libstdc++ documentation.
482 @item
483 Klaus Kaempf for his ongoing work to make alpha-vms a viable target.
485 @item
486 Steven G. Kargl for work on GNU Fortran.
488 @item
489 David Kashtan of SRI adapted GCC to VMS@.
491 @item
492 Ryszard Kabatek for many, many libstdc++ bug fixes and optimizations of
493 strings, especially member functions, and for auto_ptr fixes.
495 @item
496 Geoffrey Keating for his ongoing work to make the PPC work for GNU/Linux
497 and his automatic regression tester.
499 @item
500 Brendan Kehoe for his ongoing work with G++ and for a lot of early work
501 in just about every part of libstdc++.
503 @item
504 Oliver M. Kellogg of Deutsche Aerospace contributed the port to the
505 MIL-STD-1750A@.
507 @item
508 Richard Kenner of the New York University Ultracomputer Research
509 Laboratory wrote the machine descriptions for the AMD 29000, the DEC
510 Alpha, the IBM RT PC, and the IBM RS/6000 as well as the support for
511 instruction attributes.  He also made changes to better support RISC
512 processors including changes to common subexpression elimination,
513 strength reduction, function calling sequence handling, and condition
514 code support, in addition to generalizing the code for frame pointer
515 elimination and delay slot scheduling.  Richard Kenner was also the
516 head maintainer of GCC for several years.
518 @item
519 Mumit Khan for various contributions to the Cygwin and Mingw32 ports and
520 maintaining binary releases for Microsoft Windows hosts, and for massive libstdc++
521 porting work to Cygwin/Mingw32.
523 @item
524 Robin Kirkham for cpu32 support.
526 @item
527 Mark Klein for PA improvements.
529 @item
530 Thomas Koenig for various bug fixes.
532 @item
533 Bruce Korb for the new and improved fixincludes code.
535 @item
536 Benjamin Kosnik for his G++ work and for leading the libstdc++-v3 effort.
538 @item
539 Maxim Kuvyrkov for contributions to the instruction scheduler, the Android 
540 and m68k/Coldfire ports, and optimizations.
542 @item
543 Charles LaBrec contributed the support for the Integrated Solutions
544 68020 system.
546 @item
547 Asher Langton and Mike Kumbera for contributing Cray pointer support
548 to GNU Fortran, and for other GNU Fortran improvements.
550 @item
551 Jeff Law for his direction via the steering committee, coordinating the
552 entire egcs project and GCC 2.95, rolling out snapshots and releases,
553 handling merges from GCC2, reviewing tons of patches that might have
554 fallen through the cracks else, and random but extensive hacking.
556 @item
557 Walter Lee for work on the TILE-Gx and TILEPro ports.
559 @item
560 Marc Lehmann for his direction via the steering committee and helping
561 with analysis and improvements of x86 performance.
563 @item
564 Victor Leikehman for work on GNU Fortran.
566 @item
567 Ted Lemon wrote parts of the RTL reader and printer.
569 @item
570 Kriang Lerdsuwanakij for C++ improvements including template as template
571 parameter support, and many C++ fixes.
573 @item
574 Warren Levy for tremendous work on libgcj (Java Runtime Library) and
575 random work on the Java front end.
577 @item
578 Alain Lichnewsky ported GCC to the MIPS CPU@.
580 @item
581 Oskar Liljeblad for hacking on AWT and his many Java bug reports and
582 patches.
584 @item
585 Robert Lipe for OpenServer support, new testsuites, testing, etc.
587 @item
588 Chen Liqin for various S+core related fixes/improvement, and for
589 maintaining the S+core port.
591 @item
592 Martin Liska for his work on identical code folding, the sanitizers,
593 HSA, general bug fixing and for running automated regression testing of GCC
594 and reporting numerous bugs.
596 @item
597 Weiwen Liu for testing and various bug fixes.
599 @item
600 Manuel L@'opez-Ib@'a@~nez for improving @option{-Wconversion} and
601 many other diagnostics fixes and improvements.
603 @item
604 Dave Love for his ongoing work with the Fortran front end and
605 runtime libraries.
607 @item
608 Martin von L@"owis for internal consistency checking infrastructure,
609 various C++ improvements including namespace support, and tons of
610 assistance with libstdc++/compiler merges.
612 @item
613 H.J. Lu for his previous contributions to the steering committee, many x86
614 bug reports, prototype patches, and keeping the GNU/Linux ports working.
616 @item
617 Greg McGary for random fixes and (someday) bounded pointers.
619 @item
620 Andrew MacLeod for his ongoing work in building a real EH system,
621 various code generation improvements, work on the global optimizer, etc.
623 @item
624 Vladimir Makarov for hacking some ugly i960 problems, PowerPC hacking
625 improvements to compile-time performance, overall knowledge and
626 direction in the area of instruction scheduling, design and
627 implementation of the automaton based instruction scheduler and
628 design and implementation of the integrated and local register allocators.
630 @item
631 David Malcolm for his work on improving GCC diagnostics, JIT, self-tests
632 and unit testing.
634 @item
635 Bob Manson for his behind the scenes work on dejagnu.
637 @item
638 Jose E. Marchesi for contributing the eBPF backend and his ongoing
639 work maintaining it.
641 @item
642 John Marino for contributing the DragonFly BSD port.
644 @item
645 Philip Martin for lots of libstdc++ string and vector iterator fixes and
646 improvements, and string clean up and testsuites.
648 @item
649 Michael Matz for his work on dominance tree discovery, the x86-64 port,
650 link-time optimization framework and general optimization improvements.
652 @item
653 All of the Mauve project contributors for Java test code.
655 @item
656 Bryce McKinlay for numerous GCJ and libgcj fixes and improvements.
658 @item
659 Adam Megacz for his work on the Microsoft Windows port of GCJ@.
661 @item
662 Michael Meissner for LRS framework, ia32, m32r, v850, m88k, MIPS,
663 powerpc, haifa, ECOFF debug support, and other assorted hacking.
665 @item
666 Jason Merrill for his direction via the steering committee and leading
667 the G++ effort.
669 @item
670 Martin Michlmayr for testing GCC on several architectures using the
671 entire Debian archive.
673 @item
674 David Miller for his direction via the steering committee, lots of
675 SPARC work, improvements in jump.cc and interfacing with the Linux kernel
676 developers.
678 @item
679 Gary Miller ported GCC to Charles River Data Systems machines.
681 @item
682 Alfred Minarik for libstdc++ string and ios bug fixes, and turning the
683 entire libstdc++ testsuite namespace-compatible.
685 @item
686 Mark Mitchell for his direction via the steering committee, mountains of
687 C++ work, load/store hoisting out of loops, alias analysis improvements,
688 ISO C @code{restrict} support, and serving as release manager from 2000
689 to 2011.
691 @item
692 Alan Modra for various GNU/Linux bits and testing.
694 @item
695 Toon Moene for his direction via the steering committee, Fortran
696 maintenance, and his ongoing work to make us make Fortran run fast.
698 @item
699 Jason Molenda for major help in the care and feeding of all the services
700 on the gcc.gnu.org (formerly egcs.cygnus.com) machine---mail, web
701 services, ftp services, etc etc.  Doing all this work on scrap paper and
702 the backs of envelopes would have been@dots{} difficult.
704 @item
705 Catherine Moore for fixing various ugly problems we have sent her
706 way, including the haifa bug which was killing the Alpha & PowerPC
707 Linux kernels.
709 @item
710 Mike Moreton for his various Java patches.
712 @item
713 David Mosberger-Tang for various Alpha improvements, and for the initial
714 IA-64 port.
716 @item
717 Stephen Moshier contributed the floating point emulator that assists in
718 cross-compilation and permits support for floating point numbers wider
719 than 64 bits and for ISO C99 support.
721 @item
722 Bill Moyer for his behind the scenes work on various issues.
724 @item
725 Philippe De Muyter for his work on the m68k port.
727 @item
728 Joseph S. Myers for his work on the PDP-11 port, format checking and ISO
729 C99 support, and continuous emphasis on (and contributions to) documentation.
731 @item
732 Nathan Myers for his work on libstdc++-v3: architecture and authorship
733 through the first three snapshots, including implementation of locale
734 infrastructure, string, shadow C headers, and the initial project
735 documentation (DESIGN, CHECKLIST, and so forth).  Later, more work on
736 MT-safe string and shadow headers.
738 @item
739 Felix Natter for documentation on porting libstdc++.
741 @item
742 Nathanael Nerode for cleaning up the configuration/build process.
744 @item
745 NeXT, Inc.@: donated the front end that supports the Objective-C
746 language.
748 @item
749 Hans-Peter Nilsson for the CRIS and MMIX ports, improvements to the search
750 engine setup, various documentation fixes and other small fixes.
752 @item
753 Geoff Noer for his work on getting cygwin native builds working.
755 @item
756 Vegard Nossum for running automated regression testing of GCC and reporting
757 numerous bugs.
759 @item
760 Diego Novillo for his work on Tree SSA, OpenMP, SPEC performance
761 tracking web pages, GIMPLE tuples, and assorted fixes.
763 @item
764 David O'Brien for the FreeBSD/alpha, FreeBSD/AMD x86-64, FreeBSD/ARM,
765 FreeBSD/PowerPC, and FreeBSD/SPARC64 ports and related infrastructure
766 improvements.
768 @item
769 Alexandre Oliva for various build infrastructure improvements, scripts and
770 amazing testing work, including keeping libtool issues sane and happy.
772 @item
773 Stefan Olsson for work on mt_alloc.
775 @item
776 Melissa O'Neill for various NeXT fixes.
778 @item
779 Rainer Orth for random MIPS work, including improvements to GCC's o32
780 ABI support, improvements to dejagnu's MIPS support, Java configuration
781 clean-ups and porting work, and maintaining the IRIX, Solaris 2, and
782 Tru64 UNIX ports.
784 @item
785 Steven Pemberton for his contribution of @file{enquire} which allowed GCC to
786 determine various properties of the floating point unit and generate
787 @file{float.h} in older versions of GCC.
789 @item
790 Hartmut Penner for work on the s390 port.
792 @item
793 Paul Petersen wrote the machine description for the Alliant FX/8.
795 @item
796 Alexandre Petit-Bianco for implementing much of the Java compiler and
797 continued Java maintainership.
799 @item
800 Matthias Pfaller for major improvements to the NS32k port.
802 @item
803 Gerald Pfeifer for his direction via the steering committee, pointing
804 out lots of problems we need to solve, maintenance of the web pages, and
805 taking care of documentation maintenance in general.
807 @item
808 Marek Polacek for his work on the C front end, the sanitizers and general
809 bug fixing.
811 @item
812 Andrew Pinski for processing bug reports by the dozen, maintenance of the
813 Objective-C runtime libraries, and many scalar optimizations.
815 @item
816 Ovidiu Predescu for his work on the Objective-C front end and runtime
817 libraries.
819 @item
820 Jerry Quinn for major performance improvements in C++ formatted I/O@.
822 @item
823 Ken Raeburn for various improvements to checker, MIPS ports and various
824 cleanups in the compiler.
826 @item
827 Rolf W. Rasmussen for hacking on AWT@.
829 @item
830 David Reese of Sun Microsystems contributed to the Solaris on PowerPC
831 port.
833 @item
834 John Regehr for running automated regression testing of GCC and reporting
835 numerous bugs.
837 @item
838 Volker Reichelt for running automated regression testing of GCC and reporting
839 numerous bugs and for keeping up with the problem reports.
841 @item
842 Joern Rennecke for maintaining the sh port, loop, regmove & reload
843 hacking and developing and maintaining the Epiphany port.
845 @item
846 Loren J. Rittle for improvements to libstdc++-v3 including the FreeBSD
847 port, threading fixes, thread-related configury changes, critical
848 threading documentation, and solutions to really tricky I/O problems,
849 as well as keeping GCC properly working on FreeBSD and continuous testing.
851 @item
852 Craig Rodrigues for processing tons of bug reports.
854 @item
855 Ola R@"onnerup for work on mt_alloc.
857 @item
858 Gavin Romig-Koch for lots of behind the scenes MIPS work.
860 @item
861 David Ronis inspired and encouraged Craig to rewrite the G77
862 documentation in texinfo format by contributing a first pass at a
863 translation of the old @file{g77-0.5.16/f/DOC} file.
865 @item
866 Ken Rose for fixes to GCC's delay slot filling code.
868 @item
869 Ira Rosen for her contributions to the auto-vectorizer.
871 @item
872 Paul Rubin wrote most of the preprocessor.
874 @item
875 P@'etur Run@'olfsson for major performance improvements in C++ formatted I/O and
876 large file support in C++ filebuf.
878 @item
879 Chip Salzenberg for libstdc++ patches and improvements to locales, traits,
880 Makefiles, libio, libtool hackery, and ``long long'' support.
882 @item
883 Juha Sarlin for improvements to the H8 code generator.
885 @item
886 Greg Satz assisted in making GCC work on HP-UX for the 9000 series 300.
888 @item
889 Roger Sayle for improvements to constant folding and GCC's RTL optimizers
890 as well as for fixing numerous bugs.
892 @item
893 Bradley Schatz for his work on the GCJ FAQ@.
895 @item
896 Peter Schauer wrote the code to allow debugging to work on the Alpha.
898 @item
899 William Schelter did most of the work on the Intel 80386 support.
901 @item
902 Tobias Schl@"uter for work on GNU Fortran.
904 @item
905 Bernd Schmidt for various code generation improvements and major
906 work in the reload pass, serving as release manager for
907 GCC 2.95.3, and work on the Blackfin and C6X ports.
909 @item
910 Peter Schmid for constant testing of libstdc++---especially application
911 testing, going above and beyond what was requested for the release
912 criteria---and libstdc++ header file tweaks.
914 @item
915 Jason Schroeder for jcf-dump patches.
917 @item
918 Andreas Schwab for his work on the m68k port.
920 @item
921 Lars Segerlund for work on GNU Fortran.
923 @item
924 Dodji Seketeli for numerous C++ bug fixes and debug info improvements.
926 @item
927 Tim Shen for major work on @code{<regex>}.
929 @item
930 Joel Sherrill for his direction via the steering committee, RTEMS
931 contributions and RTEMS testing.
933 @item
934 Nathan Sidwell for many C++ fixes/improvements.
936 @item
937 Jeffrey Siegal for helping RMS with the original design of GCC, some
938 code which handles the parse tree and RTL data structures, constant
939 folding and help with the original VAX & m68k ports.
941 @item
942 Kenny Simpson for prompting libstdc++ fixes due to defect reports from
943 the LWG (thereby keeping GCC in line with updates from the ISO)@.
945 @item
946 Franz Sirl for his ongoing work with making the PPC port stable
947 for GNU/Linux.
949 @item
950 Andrey Slepuhin for assorted AIX hacking.
952 @item
953 Trevor Smigiel for contributing the SPU port.
955 @item
956 Christopher Smith did the port for Convex machines.
958 @item
959 Danny Smith for his major efforts on the Mingw (and Cygwin) ports.
960 Retired from GCC maintainership August 2010, having mentored two 
961 new maintainers into the role.
963 @item
964 Randy Smith finished the Sun FPA support.
966 @item
967 Ed Smith-Rowland for his continuous work on libstdc++-v3, special functions,
968 @code{<random>}, and various improvements to C++11 features.
970 @item
971 Scott Snyder for queue, iterator, istream, and string fixes and libstdc++
972 testsuite entries.  Also for providing the patch to G77 to add
973 rudimentary support for @code{INTEGER*1}, @code{INTEGER*2}, and
974 @code{LOGICAL*1}.
976 @item
977 Zdenek Sojka for running automated regression testing of GCC and reporting
978 numerous bugs.
980 @item
981 Arseny Solokha for running automated regression testing of GCC and reporting
982 numerous bugs.
984 @item
985 Jayant Sonar for contributing the CR16 port.
987 @item
988 Brad Spencer for contributions to the GLIBCPP_FORCE_NEW technique.
990 @item
991 Richard Stallman, for writing the original GCC and launching the GNU project.
993 @item
994 Jan Stein of the Chalmers Computer Society provided support for
995 Genix, as well as part of the 32000 machine description.
997 @item
998 Gerhard Steinmetz for running automated regression testing of GCC and reporting
999 numerous bugs.
1001 @item
1002 Nigel Stephens for various mips16 related fixes/improvements.
1004 @item
1005 Jonathan Stone wrote the machine description for the Pyramid computer.
1007 @item
1008 Graham Stott for various infrastructure improvements.
1010 @item
1011 John Stracke for his Java HTTP protocol fixes.
1013 @item
1014 Mike Stump for his Elxsi port, G++ contributions over the years and more
1015 recently his vxworks contributions
1017 @item
1018 Jeff Sturm for Java porting help, bug fixes, and encouragement.
1020 @item
1021 Zhendong Su for running automated regression testing of GCC and reporting
1022 numerous bugs.
1024 @item
1025 Chengnian Sun for running automated regression testing of GCC and reporting
1026 numerous bugs.
1028 @item
1029 Shigeya Suzuki for this fixes for the bsdi platforms.
1031 @item
1032 Ian Lance Taylor for the Go frontend, the initial mips16 and mips64
1033 support, general configury hacking, fixincludes, etc.
1035 @item
1036 Holger Teutsch provided the support for the Clipper CPU@.
1038 @item
1039 Gary Thomas for his ongoing work to make the PPC work for GNU/Linux.
1041 @item
1042 Paul Thomas for contributions to GNU Fortran.
1044 @item
1045 Philipp Thomas for random bug fixes throughout the compiler
1047 @item
1048 Jason Thorpe for thread support in libstdc++ on NetBSD@.
1050 @item
1051 Kresten Krab Thorup wrote the run time support for the Objective-C
1052 language and the fantastic Java bytecode interpreter.
1054 @item
1055 Michael Tiemann for random bug fixes, the first instruction scheduler,
1056 initial C++ support, function integration, NS32k, SPARC and M88k
1057 machine description work, delay slot scheduling.
1059 @item
1060 Andreas Tobler for his work porting libgcj to Darwin.
1062 @item
1063 Teemu Torma for thread safe exception handling support.
1065 @item
1066 Leonard Tower wrote parts of the parser, RTL generator, and RTL
1067 definitions, and of the VAX machine description.
1069 @item
1070 Daniel Towner and Hariharan Sandanagobalane contributed and
1071 maintain the picoChip port.
1073 @item
1074 Tom Tromey for internationalization support and for his many Java
1075 contributions and libgcj maintainership.
1077 @item
1078 Lassi Tuura for improvements to config.guess to determine HP processor
1079 types.
1081 @item
1082 Petter Urkedal for libstdc++ CXXFLAGS, math, and algorithms fixes.
1084 @item
1085 Andy Vaught for the design and initial implementation of the GNU Fortran
1086 front end.
1088 @item
1089 Brent Verner for work with the libstdc++ cshadow files and their
1090 associated configure steps.
1092 @item
1093 Todd Vierling for contributions for NetBSD ports.
1095 @item
1096 Andrew Waterman for contributing the RISC-V port, as well as maintaining it.
1098 @item
1099 Jonathan Wakely for contributing to and maintaining libstdc++.
1101 @item
1102 Dean Wakerley for converting the install documentation from HTML to texinfo
1103 in time for GCC 3.0.
1105 @item
1106 Krister Walfridsson for random bug fixes.
1108 @item
1109 Feng Wang for contributions to GNU Fortran.
1111 @item
1112 Stephen M. Webb for time and effort on making libstdc++ shadow files
1113 work with the tricky Solaris 8+ headers, and for pushing the build-time
1114 header tree. Also, for starting and driving the @code{<regex>} effort.
1116 @item
1117 John Wehle for various improvements for the x86 code generator,
1118 related infrastructure improvements to help x86 code generation,
1119 value range propagation and other work, WE32k port.
1121 @item
1122 Ulrich Weigand for work on the s390 port.
1124 @item
1125 Janus Weil for contributions to GNU Fortran.
1127 @item
1128 Zack Weinberg for major work on cpplib and various other bug fixes.
1130 @item
1131 Matt Welsh for help with Linux Threads support in GCJ@.
1133 @item
1134 Urban Widmark for help fixing java.io.
1136 @item
1137 Mark Wielaard for new Java library code and his work integrating with
1138 Classpath.
1140 @item
1141 Dale Wiles helped port GCC to the Tahoe.
1143 @item
1144 Bob Wilson from Tensilica, Inc.@: for the Xtensa port.
1146 @item
1147 Jim Wilson for his direction via the steering committee, tackling hard
1148 problems in various places that nobody else wanted to work on, strength
1149 reduction and other loop optimizations.
1151 @item
1152 Paul Woegerer and Tal Agmon for the CRX port.
1154 @item
1155 Carlo Wood for various fixes.
1157 @item
1158 Tom Wood for work on the m88k port.
1160 @item
1161 Chung-Ju Wu for his work on the Andes NDS32 port.
1163 @item
1164 Canqun Yang for work on GNU Fortran.
1166 @item
1167 Masanobu Yuhara of Fujitsu Laboratories implemented the machine
1168 description for the Tron architecture (specifically, the Gmicro).
1170 @item
1171 Kevin Zachmann helped port GCC to the Tahoe.
1173 @item
1174 Ayal Zaks for Swing Modulo Scheduling (SMS).
1176 @item
1177 Qirun Zhang for running automated regression testing of GCC and reporting
1178 numerous bugs.
1180 @item
1181 Xiaoqiang Zhang for work on GNU Fortran.
1183 @item
1184 Gilles Zunino for help porting Java to Irix.
1186 @end itemize
1188 The following people are recognized for their contributions to GNAT,
1189 the Ada front end of GCC:
1190 @itemize @bullet
1191 @item
1192 Bernard Banner
1194 @item
1195 Romain Berrendonner
1197 @item
1198 Geert Bosch
1200 @item
1201 Emmanuel Briot
1203 @item
1204 Joel Brobecker
1206 @item
1207 Ben Brosgol
1209 @item
1210 Vincent Celier
1212 @item
1213 Arnaud Charlet
1215 @item
1216 Chien Chieng
1218 @item
1219 Cyrille Comar
1221 @item
1222 Cyrille Crozes
1224 @item
1225 Robert Dewar
1227 @item
1228 Gary Dismukes
1230 @item
1231 Robert Duff
1233 @item
1234 Ed Falis
1236 @item
1237 Ramon Fernandez
1239 @item
1240 Sam Figueroa
1242 @item
1243 Vasiliy Fofanov
1245 @item
1246 Michael Friess
1248 @item
1249 Franco Gasperoni
1251 @item
1252 Ted Giering
1254 @item
1255 Matthew Gingell
1257 @item
1258 Laurent Guerby
1260 @item
1261 Jerome Guitton
1263 @item
1264 Olivier Hainque
1266 @item
1267 Jerome Hugues
1269 @item
1270 Hristian Kirtchev
1272 @item
1273 Jerome Lambourg
1275 @item
1276 Bruno Leclerc
1278 @item
1279 Albert Lee
1281 @item
1282 Sean McNeil
1284 @item
1285 Javier Miranda
1287 @item
1288 Laurent Nana
1290 @item
1291 Pascal Obry
1293 @item
1294 Dong-Ik Oh
1296 @item
1297 Laurent Pautet
1299 @item
1300 Brett Porter
1302 @item
1303 Thomas Quinot
1305 @item
1306 Nicolas Roche
1308 @item
1309 Pat Rogers
1311 @item
1312 Jose Ruiz
1314 @item
1315 Douglas Rupp
1317 @item
1318 Sergey Rybin
1320 @item
1321 Gail Schenker
1323 @item
1324 Ed Schonberg
1326 @item
1327 Nicolas Setton
1329 @item
1330 Samuel Tardieu
1332 @end itemize
1335 The following people are recognized for their contributions of new
1336 features, bug reports, testing and integration of classpath/libgcj for
1337 GCC version 4.1:
1338 @itemize @bullet
1339 @item
1340 Lillian Angel for @code{JTree} implementation and lots Free Swing
1341 additions and bug fixes.
1343 @item
1344 Wolfgang Baer for @code{GapContent} bug fixes.
1346 @item
1347 Anthony Balkissoon for @code{JList}, Free Swing 1.5 updates and mouse event
1348 fixes, lots of Free Swing work including @code{JTable} editing.
1350 @item
1351 Stuart Ballard for RMI constant fixes.
1353 @item
1354 Goffredo Baroncelli for @code{HTTPURLConnection} fixes.
1356 @item
1357 Gary Benson for @code{MessageFormat} fixes.
1359 @item
1360 Daniel Bonniot for @code{Serialization} fixes.
1362 @item
1363 Chris Burdess for lots of gnu.xml and http protocol fixes, @code{StAX}
1364 and @code{DOM xml:id} support.
1366 @item
1367 Ka-Hing Cheung for @code{TreePath} and @code{TreeSelection} fixes.
1369 @item
1370 Archie Cobbs for build fixes, VM interface updates,
1371 @code{URLClassLoader} updates.
1373 @item
1374 Kelley Cook for build fixes.
1376 @item
1377 Martin Cordova for Suggestions for better @code{SocketTimeoutException}.
1379 @item
1380 David Daney for @code{BitSet} bug fixes, @code{HttpURLConnection}
1381 rewrite and improvements.
1383 @item
1384 Thomas Fitzsimmons for lots of upgrades to the gtk+ AWT and Cairo 2D
1385 support. Lots of imageio framework additions, lots of AWT and Free
1386 Swing bug fixes.
1388 @item
1389 Jeroen Frijters for @code{ClassLoader} and nio cleanups, serialization fixes,
1390 better @code{Proxy} support, bug fixes and IKVM integration.
1392 @item
1393 Santiago Gala for @code{AccessControlContext} fixes.
1395 @item
1396 Nicolas Geoffray for @code{VMClassLoader} and @code{AccessController}
1397 improvements.
1399 @item
1400 David Gilbert for @code{basic} and @code{metal} icon and plaf support
1401 and lots of documenting, Lots of Free Swing and metal theme
1402 additions. @code{MetalIconFactory} implementation.
1404 @item
1405 Anthony Green for @code{MIDI} framework, @code{ALSA} and @code{DSSI}
1406 providers.
1408 @item
1409 Andrew Haley for @code{Serialization} and @code{URLClassLoader} fixes,
1410 gcj build speedups.
1412 @item
1413 Kim Ho for @code{JFileChooser} implementation.
1415 @item
1416 Andrew John Hughes for @code{Locale} and net fixes, URI RFC2986
1417 updates, @code{Serialization} fixes, @code{Properties} XML support and
1418 generic branch work, VMIntegration guide update.
1420 @item
1421 Bastiaan Huisman for @code{TimeZone} bug fixing.
1423 @item
1424 Andreas Jaeger for mprec updates.
1426 @item
1427 Paul Jenner for better @option{-Werror} support.
1429 @item
1430 Ito Kazumitsu for @code{NetworkInterface} implementation and updates.
1432 @item
1433 Roman Kennke for @code{BoxLayout}, @code{GrayFilter} and
1434 @code{SplitPane}, plus bug fixes all over. Lots of Free Swing work
1435 including styled text.
1437 @item
1438 Simon Kitching for @code{String} cleanups and optimization suggestions.
1440 @item
1441 Michael Koch for configuration fixes, @code{Locale} updates, bug and
1442 build fixes.
1444 @item
1445 Guilhem Lavaux for configuration, thread and channel fixes and Kaffe
1446 integration. JCL native @code{Pointer} updates. Logger bug fixes.
1448 @item
1449 David Lichteblau for JCL support library global/local reference
1450 cleanups.
1452 @item
1453 Aaron Luchko for JDWP updates and documentation fixes.
1455 @item
1456 Ziga Mahkovec for @code{Graphics2D} upgraded to Cairo 0.5 and new regex
1457 features.
1459 @item
1460 Sven de Marothy for BMP imageio support, CSS and @code{TextLayout}
1461 fixes. @code{GtkImage} rewrite, 2D, awt, free swing and date/time fixes and
1462 implementing the Qt4 peers.
1464 @item
1465 Casey Marshall for crypto algorithm fixes, @code{FileChannel} lock,
1466 @code{SystemLogger} and @code{FileHandler} rotate implementations, NIO
1467 @code{FileChannel.map} support, security and policy updates.
1469 @item
1470 Bryce McKinlay for RMI work.
1472 @item
1473 Audrius Meskauskas for lots of Free Corba, RMI and HTML work plus
1474 testing and documenting.
1476 @item
1477 Kalle Olavi Niemitalo for build fixes.
1479 @item
1480 Rainer Orth for build fixes.
1482 @item
1483 Andrew Overholt for @code{File} locking fixes.
1485 @item
1486 Ingo Proetel for @code{Image}, @code{Logger} and @code{URLClassLoader}
1487 updates.
1489 @item
1490 Olga Rodimina for @code{MenuSelectionManager} implementation.
1492 @item
1493 Jan Roehrich for @code{BasicTreeUI} and @code{JTree} fixes.
1495 @item
1496 Julian Scheid for documentation updates and gjdoc support.
1498 @item
1499 Christian Schlichtherle for zip fixes and cleanups.
1501 @item
1502 Robert Schuster for documentation updates and beans fixes,
1503 @code{TreeNode} enumerations and @code{ActionCommand} and various
1504 fixes, XML and URL, AWT and Free Swing bug fixes.
1506 @item
1507 Keith Seitz for lots of JDWP work.
1509 @item
1510 Christian Thalinger for 64-bit cleanups, Configuration and VM
1511 interface fixes and @code{CACAO} integration, @code{fdlibm} updates.
1513 @item
1514 Gael Thomas for @code{VMClassLoader} boot packages support suggestions.
1516 @item
1517 Andreas Tobler for Darwin and Solaris testing and fixing, @code{Qt4}
1518 support for Darwin / macOS, @code{Graphics2D} support, @code{gtk+}
1519 updates.
1521 @item
1522 Dalibor Topic for better @code{DEBUG} support, build cleanups and
1523 Kaffe integration. @code{Qt4} build infrastructure, @code{SHA1PRNG}
1524 and @code{GdkPixbugDecoder} updates.
1526 @item
1527 Tom Tromey for Eclipse integration, generics work, lots of bug fixes
1528 and gcj integration including coordinating The Big Merge.
1530 @item
1531 Mark Wielaard for bug fixes, packaging and release management,
1532 @code{Clipboard} implementation, system call interrupts and network
1533 timeouts and @code{GdkPixpufDecoder} fixes.
1535 @end itemize
1538 In addition to the above, all of which also contributed time and energy in
1539 testing GCC, we would like to thank the following for their contributions
1540 to testing:
1542 @itemize @bullet
1543 @item
1544 Michael Abd-El-Malek
1546 @item
1547 Thomas Arend
1549 @item
1550 Bonzo Armstrong
1552 @item
1553 Steven Ashe
1555 @item
1556 Chris Baldwin
1558 @item
1559 David Billinghurst
1561 @item
1562 Jim Blandy
1564 @item
1565 Stephane Bortzmeyer
1567 @item
1568 Horst von Brand
1570 @item
1571 Frank Braun
1573 @item
1574 Rodney Brown
1576 @item
1577 Sidney Cadot
1579 @item
1580 Bradford Castalia
1582 @item
1583 Robert Clark
1585 @item
1586 Jonathan Corbet
1588 @item
1589 Ralph Doncaster
1591 @item
1592 Richard Emberson
1594 @item
1595 Levente Farkas
1597 @item
1598 Graham Fawcett
1600 @item
1601 Mark Fernyhough
1603 @item
1604 Robert A. French
1606 @item
1607 J@"orgen Freyh
1609 @item
1610 Mark K. Gardner
1612 @item
1613 Charles-Antoine Gauthier
1615 @item
1616 Yung Shing Gene
1618 @item
1619 David Gilbert
1621 @item
1622 Simon Gornall
1624 @item
1625 Fred Gray
1627 @item
1628 John Griffin
1630 @item
1631 Patrik Hagglund
1633 @item
1634 Phil Hargett
1636 @item
1637 Amancio Hasty
1639 @item
1640 Takafumi Hayashi
1642 @item
1643 Bryan W. Headley
1645 @item
1646 Kevin B. Hendricks
1648 @item
1649 Joep Jansen
1651 @item
1652 Christian Joensson
1654 @item
1655 Michel Kern
1657 @item
1658 David Kidd
1660 @item
1661 Tobias Kuipers
1663 @item
1664 Anand Krishnaswamy
1666 @item
1667 A. O. V. Le Blanc
1669 @item
1670 llewelly
1672 @item
1673 Damon Love
1675 @item
1676 Brad Lucier
1678 @item
1679 Matthias Klose
1681 @item
1682 Martin Knoblauch
1684 @item
1685 Rick Lutowski
1687 @item
1688 Jesse Macnish
1690 @item
1691 Stefan Morrell
1693 @item
1694 Anon A. Mous
1696 @item
1697 Matthias Mueller
1699 @item
1700 Pekka Nikander
1702 @item
1703 Rick Niles
1705 @item
1706 Jon Olson
1708 @item
1709 Magnus Persson
1711 @item
1712 Chris Pollard
1714 @item
1715 Richard Polton
1717 @item
1718 Derk Reefman
1720 @item
1721 David Rees
1723 @item
1724 Paul Reilly
1726 @item
1727 Tom Reilly
1729 @item
1730 Torsten Rueger
1732 @item
1733 Danny Sadinoff
1735 @item
1736 Marc Schifer
1738 @item
1739 Erik Schnetter
1741 @item
1742 Wayne K. Schroll
1744 @item
1745 David Schuler
1747 @item
1748 Vin Shelton
1750 @item
1751 Tim Souder
1753 @item
1754 Adam Sulmicki
1756 @item
1757 Bill Thorson
1759 @item
1760 George Talbot
1762 @item
1763 Pedro A. M. Vazquez
1765 @item
1766 Gregory Warnes
1768 @item
1769 Ian Watson
1771 @item
1772 David E. Young
1774 @item
1775 And many others
1776 @end itemize
1778 And finally we'd like to thank everyone who uses the compiler, provides
1779 feedback and generally reminds us why we're doing this work in the first
1780 place.