[4.5] Remove deprecated targets/features

Joseph S. Myers joseph@codesourcery.com
Wed Mar 11 00:09:00 GMT 2009


This patch, for 4.5 and diffed with --no-diff-deleted, removes support
for targets and features deprecated in 4.4 (in particular, fixproto
and protoize).

Bootstrapped with no regressions on i686-pc-linux-gnu.  OK to commit
to trunk after 4.4 branches?

fixincludes:
2009-03-10  Joseph Myers  <joseph@codesourcery.com>

	* inclhack.def (aix_syswait, exception_structure,
	pthread_page_size): Remove.
	(math_exception): Remove mention of fixproto in comment.
	* fixincl.x: Regenerate.
	* mkheaders.in: Do not handle STMP_FIXPROTO.

gcc:
2009-03-10  Joseph Myers  <joseph@codesourcery.com>

	* config/arm/t-arm-coff, config/h8300/coff.h,
	config/i386/i386-aout.h, config/i386/i386-coff.h,
	config/libgloss.h, config/m68k/coff.h, config/m68k/m68k-aout.h,
	config/pdp11/2bsd.h, config/rs6000/aix41.h,
	config/rs6000/aix41.opt, config/rs6000/t-newas, config/sh/coff.h,
	fix-header.c, fixproto, gen-protos.c, protoize.c, scan-decls.c,
	scan-types.sh, scan.c, scan.h, sort-protos, sys-protos.h,
	sys-types.h: Remove.
	* Makefile.in: Remove protoize and fixproto support and references
	in comments.
	(SYSCALLS.c.X-warn, TARGET_GETGROUPS_T, STMP_FIXPROTO,
	PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, FIXPROTO_DEFINES):
	Remove.
	(ALL_HOST_OBJS): Remove $(PROTO_OBJS).
	(MOSTLYCLEANFILES): Remove protoize$(exeext) and
	unprotoize$(exeext).
	(rest.encap): Don't depend on $(STMP_FIXPROTO)
	(.PHONY): Don't depend on proto.
	(libgcc-support): Don't depend on $(STMP_FIXPROTO).
	(proto, PROTO_OBJS, protoize$(exeext), unprotoize$(exeext),
	protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize-simple,
	deduced.h, GEN_PROTOS_OBJS, build/gen-protos$(build_exeext),
	build/gen-protos.o, build/scan.o, xsys-protos.h,
	build/fix-header$(build_exeext), build/fix-header.o,
	build/scan-decls.o, fixhdr.ready, stmp-fixproto,
	stmp-install-fixproto): Remove.
	(mostlyclean): Don't remove xsys-protos.hT, SYSCALLS.c.X,
	SYSCALLS.c or fixproto files.
	(install-common): Don't install protoize.
	(install-headers-tar, install-headers-cpio, install-headers-cp):
	Don't depend on $(STMP_FIXPROTO).
	(install-mkheaders): Don't depend on $(STMP_FIXPROTO).  Don't
	install fixproto files or write out fixproto settings.
	(uninstall): Don't uninstall protoize.
	* config.gcc (use_fixproto): Remove.
	(arm-*-coff*, armel-*-coff*, h8300-*-*, i[34567]86-*-aout*,
	i[34567]86-*-coff*, m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd,
	rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*, sh-*-*): Remove.
	* config/m32r/t-linux (STMP_FIXPROTO): Remove.
	* config/m68k/m68k.c: Remove M68K_TARGET_COFF-conditional code.
	* config/mips/t-iris (FIXPROTO_DEFINES): Remove.
	* config/pa/t-pa-hpux (FIXPROTO_DEFINES): Remove.
	* config/pdp11/pdp11.c: Remove TWO_BSD-conditional code.
	* config/t-svr4 (FIXPROTO_DEFINES): Remove.
	* config/t-vxworks (STMP_FIXPROTO): Remove.
	* configure.ac (AC_TYPE_GETGROUPS, TARGET_GETGROUPS_T,
	STMP_FIXPROTO): Remove.
	* config.in, configure: Regenerate.
	* crtstuff.c (gid_t, uid_t): Don't undefine.
	* doc/install.texi: Change m68k-coff to m68k-elf in example.
	(arm-*-coff, arm-*-aout: Remove target entries.
	(*-ibm-aix*): Mention removal of support for AIX 4.2 and older.
	Remove mention of AIX 4.1.
	(m68k-*-*): Remove mention of m68k-*-aout and m68k-*-coff*.
	* doc/invoke.texi (Running Protoize): Remove.
	* doc/trouble.texi (Actual Bugs): Remove mention of fixproto.
	(Protoize Caveats): Remove.
	* tsystem.h: Update comments on headers assumed to exist.

gcc/po:
2009-03-10  Joseph Myers  <joseph@codesourcery.com>

	* EXCLUDES (fix-header.c, gen-protos.c, scan-decls.c, scan.c,
	scan.h): Remove.

gcc/testsuite:
2009-03-10  Joseph Myers  <joseph@codesourcery.com>

	* g++.old-deja/g++.ext/attrib5.C, g++.old-deja/g++.jason/thunk3.C,
	gcc.c-torture/compile/981006-1.c: Don't XFAIL or add special
	options for removed targets.

libgcc:
2009-03-10  Joseph Myers  <joseph@codesourcery.com>

	* config.host (arm-*-coff*, armel-*-coff*, arm-semi-aof,
	armel-semi-aof, h8300-*-*, i[34567]86-*-aout*, i[34567]86-*-coff*,
	m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd, rs6000-ibm-aix4.[12]*,
	powerpc-ibm-aix4.[12]*, sh-*-*): Remove.

Index: libgcc/config.host
===================================================================
--- libgcc/config.host	(revision 144722)
+++ libgcc/config.host	(working copy)
@@ -191,10 +191,6 @@
 	;;
 arc-*-elf*)
 	;;
-arm-*-coff* | armel-*-coff*)
-	;;
-arm-semi-aof | armel-semi-aof)
-	;;
 arm-wrs-vxworks)
 	;;
 arm*-*-freebsd*)
@@ -255,8 +251,6 @@
 	;;
 h8300-*-elf*)
 	;;
-h8300-*-*)
-	;;
 hppa*64*-*-linux*)
 	;;
 hppa*-*-linux*)
@@ -276,8 +270,6 @@
 	;;
 x86_64-*-elf*)
 	;;
-i[34567]86-*-aout*)
-	;;
 i[34567]86-*-freebsd*)
 	;;
 x86_64-*-freebsd*)
@@ -292,8 +284,6 @@
 	;;
 i[34567]86-*-openbsd*)
 	;;
-i[34567]86-*-coff*)
-	;;
 i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu*)
 	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
 	tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm"
@@ -368,10 +358,6 @@
         ;;
 m68hc12-*-*|m6812-*-*)
         ;;
-m68k-*-aout*)
-	;;
-m68k-*-coff*)
-	;;
 m68k-*-elf*)
 	;;
 m68k*-*-netbsdelf*)
@@ -430,8 +416,6 @@
 	;;
 mn10300-*-*)
 	;;
-pdp11-*-bsd)
-        ;;
 pdp11-*-*)
 	;;
 picochip-*-*)
@@ -489,8 +473,6 @@
 	;;
 powerpcle-*-eabi*)
 	;;
-rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
-	;;
 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
 	;;
 rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
@@ -520,8 +502,6 @@
 	;;
 sh-wrs-vxworks)
 	;;
-sh-*-*)
-	;;
 sparc-*-netbsdelf*)
 	;;
 sparc64-*-openbsd*)
Index: gcc/doc/trouble.texi
===================================================================
--- gcc/doc/trouble.texi	(revision 144722)
+++ gcc/doc/trouble.texi	(working copy)
@@ -30,7 +30,6 @@
                         compliant with the ISO C standard.
 * Disappointments::     Regrettable things we can't change, but not quite bugs.
 * C++ Misunderstandings:: Common misunderstandings with GNU C++.
-* Protoize Caveats::    Things to watch out for when using @code{protoize}.
 * Non-bugs::            Things we think are right, but some others disagree.
 * Warnings and Errors:: Which problems in your code get warnings,
                         and which get errors.
@@ -45,13 +44,6 @@
 directory of system header files is automounted, it tends to be
 unmounted while @code{fixincludes} is running.  This would seem to be a
 bug in the automounter.  We don't know any good way to work around it.
-
-@item
-The @code{fixproto} script will sometimes add prototypes for the
-@code{sigsetjmp} and @code{siglongjmp} functions that reference the
-@code{jmp_buf} type before that type is defined.  To work around this,
-edit the offending file and place the typedef in front of the
-prototypes.
 @end itemize
 
 @node Cross-Compiler Problems
@@ -939,92 +931,6 @@
 operator, the application can define whether and how the virtual base
 subobject is assigned.
 
-@node Protoize Caveats
-@section Caveats of using @command{protoize}
-
-The conversion programs @command{protoize} and @command{unprotoize} can
-sometimes change a source file in a way that won't work unless you
-rearrange it.
-
-@itemize @bullet
-@item
-@command{protoize} can insert references to a type name or type tag before
-the definition, or in a file where they are not defined.
-
-If this happens, compiler error messages should show you where the new
-references are, so fixing the file by hand is straightforward.
-
-@item
-There are some C constructs which @command{protoize} cannot figure out.
-For example, it can't determine argument types for declaring a
-pointer-to-function variable; this you must do by hand.  @command{protoize}
-inserts a comment containing @samp{???} each time it finds such a
-variable; so you can find all such variables by searching for this
-string.  ISO C does not require declaring the argument types of
-pointer-to-function types.
-
-@item
-Using @command{unprotoize} can easily introduce bugs.  If the program
-relied on prototypes to bring about conversion of arguments, these
-conversions will not take place in the program without prototypes.
-One case in which you can be sure @command{unprotoize} is safe is when
-you are removing prototypes that were made with @command{protoize}; if
-the program worked before without any prototypes, it will work again
-without them.
-
-@opindex Wtraditional-conversion
-You can find all the places where this problem might occur by compiling
-the program with the @option{-Wtraditional-conversion} option.  It
-prints a warning whenever an argument is converted.
-
-@item
-Both conversion programs can be confused if there are macro calls in and
-around the text to be converted.  In other words, the standard syntax
-for a declaration or definition must not result from expanding a macro.
-This problem is inherent in the design of C and cannot be fixed.  If
-only a few functions have confusing macro calls, you can easily convert
-them manually.
-
-@item
-@command{protoize} cannot get the argument types for a function whose
-definition was not actually compiled due to preprocessing conditionals.
-When this happens, @command{protoize} changes nothing in regard to such
-a function.  @command{protoize} tries to detect such instances and warn
-about them.
-
-You can generally work around this problem by using @command{protoize} step
-by step, each time specifying a different set of @option{-D} options for
-compilation, until all of the functions have been converted.  There is
-no automatic way to verify that you have got them all, however.
-
-@item
-Confusion may result if there is an occasion to convert a function
-declaration or definition in a region of source code where there is more
-than one formal parameter list present.  Thus, attempts to convert code
-containing multiple (conditionally compiled) versions of a single
-function header (in the same vicinity) may not produce the desired (or
-expected) results.
-
-If you plan on converting source files which contain such code, it is
-recommended that you first make sure that each conditionally compiled
-region of source code which contains an alternative function header also
-contains at least one additional follower token (past the final right
-parenthesis of the function header).  This should circumvent the
-problem.
-
-@item
-@command{unprotoize} can become confused when trying to convert a function
-definition or declaration which contains a declaration for a
-pointer-to-function formal argument which has the same name as the
-function being defined or declared.  We recommend you avoid such choices
-of formal parameter names.
-
-@item
-You might also want to correct some of the indentation by hand and break
-long lines.  (The conversion programs don't write lines longer than
-eighty characters in any case.)
-@end itemize
-
 @node Non-bugs
 @section Certain Changes We Don't Want to Make
 
Index: gcc/doc/invoke.texi
===================================================================
--- gcc/doc/invoke.texi	(revision 144722)
+++ gcc/doc/invoke.texi	(working copy)
@@ -148,7 +148,6 @@
                         and register usage.
 * Environment Variables:: Env vars that affect GCC.
 * Precompiled Headers:: Compiling a header once, and using it many times.
-* Running Protoize::    Automatically adding or removing function prototypes.
 @end menu
 
 @c man begin OPTIONS
@@ -16348,156 +16347,3 @@
 behavior for the options.  For instance, if you use @option{-g} to
 generate the precompiled header but not when using it, you may or may
 not get debugging information for routines in the precompiled header.
-
-@node Running Protoize
-@section Running Protoize
-
-The program @code{protoize} is an optional part of GCC@.  You can use
-it to add prototypes to a program, thus converting the program to ISO
-C in one respect.  The companion program @code{unprotoize} does the
-reverse: it removes argument types from any prototypes that are found.
-
-When you run these programs, you must specify a set of source files as
-command line arguments.  The conversion programs start out by compiling
-these files to see what functions they define.  The information gathered
-about a file @var{foo} is saved in a file named @file{@var{foo}.X}.
-
-After scanning comes actual conversion.  The specified files are all
-eligible to be converted; any files they include (whether sources or
-just headers) are eligible as well.
-
-But not all the eligible files are converted.  By default,
-@code{protoize} and @code{unprotoize} convert only source and header
-files in the current directory.  You can specify additional directories
-whose files should be converted with the @option{-d @var{directory}}
-option.  You can also specify particular files to exclude with the
-@option{-x @var{file}} option.  A file is converted if it is eligible, its
-directory name matches one of the specified directory names, and its
-name within the directory has not been excluded.
-
-Basic conversion with @code{protoize} consists of rewriting most
-function definitions and function declarations to specify the types of
-the arguments.  The only ones not rewritten are those for varargs
-functions.
-
-@code{protoize} optionally inserts prototype declarations at the
-beginning of the source file, to make them available for any calls that
-precede the function's definition.  Or it can insert prototype
-declarations with block scope in the blocks where undeclared functions
-are called.
-
-Basic conversion with @code{unprotoize} consists of rewriting most
-function declarations to remove any argument types, and rewriting
-function definitions to the old-style pre-ISO form.
-
-Both conversion programs print a warning for any function declaration or
-definition that they can't convert.  You can suppress these warnings
-with @option{-q}.
-
-The output from @code{protoize} or @code{unprotoize} replaces the
-original source file.  The original file is renamed to a name ending
-with @samp{.save} (for DOS, the saved filename ends in @samp{.sav}
-without the original @samp{.c} suffix).  If the @samp{.save} (@samp{.sav}
-for DOS) file already exists, then the source file is simply discarded.
-
-@code{protoize} and @code{unprotoize} both depend on GCC itself to
-scan the program and collect information about the functions it uses.
-So neither of these programs will work until GCC is installed.
-
-Here is a table of the options you can use with @code{protoize} and
-@code{unprotoize}.  Each option works with both programs unless
-otherwise stated.
-
-@table @code
-@item -B @var{directory}
-Look for the file @file{SYSCALLS.c.X} in @var{directory}, instead of the
-usual directory (normally @file{/usr/local/lib}).  This file contains
-prototype information about standard system functions.  This option
-applies only to @code{protoize}.
-
-@item -c @var{compilation-options}
-Use @var{compilation-options} as the options when running @command{gcc} to
-produce the @samp{.X} files.  The special option @option{-aux-info} is
-always passed in addition, to tell @command{gcc} to write a @samp{.X} file.
-
-Note that the compilation options must be given as a single argument to
-@code{protoize} or @code{unprotoize}.  If you want to specify several
-@command{gcc} options, you must quote the entire set of compilation options
-to make them a single word in the shell.
-
-There are certain @command{gcc} arguments that you cannot use, because they
-would produce the wrong kind of output.  These include @option{-g},
-@option{-O}, @option{-c}, @option{-S}, and @option{-o} If you include these in
-the @var{compilation-options}, they are ignored.
-
-@item -C
-Rename files to end in @samp{.C} (@samp{.cc} for DOS-based file
-systems) instead of @samp{.c}.  This is convenient if you are converting
-a C program to C++.  This option applies only to @code{protoize}.
-
-@item -g
-Add explicit global declarations.  This means inserting explicit
-declarations at the beginning of each source file for each function
-that is called in the file and was not declared.  These declarations
-precede the first function definition that contains a call to an
-undeclared function.  This option applies only to @code{protoize}.
-
-@item -i @var{string}
-Indent old-style parameter declarations with the string @var{string}.
-This option applies only to @code{protoize}.
-
-@code{unprotoize} converts prototyped function definitions to old-style
-function definitions, where the arguments are declared between the
-argument list and the initial @samp{@{}.  By default, @code{unprotoize}
-uses five spaces as the indentation.  If you want to indent with just
-one space instead, use @option{-i " "}.
-
-@item -k
-Keep the @samp{.X} files.  Normally, they are deleted after conversion
-is finished.
-
-@item -l
-Add explicit local declarations.  @code{protoize} with @option{-l} inserts
-a prototype declaration for each function in each block which calls the
-function without any declaration.  This option applies only to
-@code{protoize}.
-
-@item -n
-Make no real changes.  This mode just prints information about the conversions
-that would have been done without @option{-n}.
-
-@item -N
-Make no @samp{.save} files.  The original files are simply deleted.
-Use this option with caution.
-
-@item -p @var{program}
-Use the program @var{program} as the compiler.  Normally, the name
-@file{gcc} is used.
-
-@item -q
-Work quietly.  Most warnings are suppressed.
-
-@item -v
-Print the version number, just like @option{-v} for @command{gcc}.
-@end table
-
-If you need special compiler options to compile one of your program's
-source files, then you should generate that file's @samp{.X} file
-specially, by running @command{gcc} on that source file with the
-appropriate options and the option @option{-aux-info}.  Then run
-@code{protoize} on the entire set of files.  @code{protoize} will use
-the existing @samp{.X} file because it is newer than the source file.
-For example:
-
-@smallexample
-gcc -Dfoo=bar file1.c -aux-info file1.X
-protoize *.c
-@end smallexample
-
-@noindent
-You need to include the special files along with the rest in the
-@code{protoize} command, even though their @samp{.X} files already
-exist, because otherwise they won't get converted.
-
-@xref{Protoize Caveats}, for more information on how to use
-@code{protoize} successfully.
Index: gcc/doc/install.texi
===================================================================
--- gcc/doc/install.texi	(revision 144722)
+++ gcc/doc/install.texi	(working copy)
@@ -653,7 +653,7 @@
 @item
 @var{target} must be specified as @option{--target=@var{target}}
 when configuring a cross compiler; examples of valid targets would be
-m68k-coff, sh-elf, etc.
+m68k-elf, sh-elf, etc.
 
 @item
 Specifying just @var{target} instead of @option{--target=@var{target}}
@@ -2616,8 +2616,6 @@
 @uref{#arc-x-elf,,arc-*-elf}
 @item
 @uref{#arm-x-elf,,arm-*-elf}
-@uref{#arm-x-coff,,arm-*-coff}
-@uref{#arm-x-aout,,arm-*-aout}
 @item
 @uref{#avr,,avr}
 @item
@@ -2841,21 +2839,6 @@
 @html
 <hr />
 @end html
-@heading @anchor{arm-x-coff}arm-*-coff
-ARM-family processors.  Note that there are two different varieties
-of PE format subtarget supported: @code{arm-wince-pe} and
-@code{arm-pe} as well as a standard COFF target @code{arm-*-coff}.
-
-@html
-<hr />
-@end html
-@heading @anchor{arm-x-aout}arm-*-aout
-ARM-family processors.  These targets support the AOUT file format:
-@code{arm-*-aout}, @code{arm-*-netbsd}.
-
-@html
-<hr />
-@end html
 @heading @anchor{avr}avr
 
 ATMEL AVR-family micro controllers.  These are used in embedded
@@ -3307,6 +3290,7 @@
 @end html
 @heading @anchor{x-ibm-aix}*-ibm-aix*
 Support for AIX version 3 and older was discontinued in GCC 3.4.
+Support for AIX version 4.2 and older was discontinued in GCC 4.5.
 
 ``out of memory'' bootstrap failures may indicate a problem with
 process resource limits (ulimit).  Hard limits are configured in the
@@ -3427,9 +3411,6 @@
 expects.  If one encounters this problem, set the @env{LANG}
 environment variable to @samp{C} or @samp{En_US}.
 
-By default, GCC for AIX 4.1 and above produces code that can be used on
-both Power or PowerPC processors.
-
 A default can be specified with the @option{-mcpu=@var{cpu_type}}
 switch and using the configure option @option{--with-cpu-@var{cpu_type}}.
 
@@ -3472,7 +3453,7 @@
 <hr />
 @end html
 @heading @anchor{m68k-x-x}m68k-*-*
-By default, @samp{m68k-*-aout}, @samp{m68k-*-coff*},
+By default,
 @samp{m68k-*-elf*}, @samp{m68k-*-rtems},  @samp{m68k-*-uclinux} and
 @samp{m68k-*-linux}
 build libraries for both M680x0 and ColdFire processors.  If you only
Index: gcc/gen-protos.c (deleted)
===================================================================
Index: gcc/testsuite/gcc.c-torture/compile/981006-1.c
===================================================================
--- gcc/testsuite/gcc.c-torture/compile/981006-1.c	(revision 144722)
+++ gcc/testsuite/gcc.c-torture/compile/981006-1.c	(working copy)
@@ -6,7 +6,7 @@
 /* { dg-do assemble } */
 /* For MIPS at least, pic is needed to trigger the problem. */
 /* { dg-options "-w -Wuninitialized -Werror -fpic" } */
-/* { dg-options "-w -Wuninitialized -Werror" { target { { rs6000-*-aix* powerpc*-*-aix* arm*-*-* fr30-*-* sh-*-hms sh-*-coff h8300*-*-* cris-*-elf* mmix-*-* } || { ! fpic } } } } */
+/* { dg-options "-w -Wuninitialized -Werror" { target { { rs6000-*-aix* powerpc*-*-aix* arm*-*-* fr30-*-* sh-*-hms h8300*-*-* cris-*-elf* mmix-*-* } || { ! fpic } } } } */
 
 int foo (int a, int b)
 {
Index: gcc/testsuite/g++.old-deja/g++.jason/thunk3.C
===================================================================
--- gcc/testsuite/g++.old-deja/g++.jason/thunk3.C	(revision 144722)
+++ gcc/testsuite/g++.old-deja/g++.jason/thunk3.C	(working copy)
@@ -1,4 +1,4 @@
-// { dg-do run { xfail rs6000-*-* powerpc-*-eabi m68k-*-coff mn10300-*-* v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa*-*-* m32r*-*-* } }
+// { dg-do run { xfail rs6000-*-* powerpc-*-eabi mn10300-*-* v850-*-* sh-*-* sh64-*-* h8*-*-* xtensa*-*-* m32r*-*-* } }
 // Test that variadic function calls using thunks work right.
 // Note that this will break on any target that uses the generic thunk
 //  support, because it doesn't support variadic functions.
Index: gcc/testsuite/g++.old-deja/g++.ext/attrib5.C
===================================================================
--- gcc/testsuite/g++.old-deja/g++.ext/attrib5.C	(revision 144722)
+++ gcc/testsuite/g++.old-deja/g++.ext/attrib5.C	(working copy)
@@ -1,4 +1,4 @@
-// { dg-do run { xfail alpha*-dec-osf* *-*-hms i?86-pc-cygwin *-*-coff } }
+// { dg-do run { xfail alpha*-dec-osf* i?86-pc-cygwin } }
 // Test that attributes weak and alias coexist.
 // { dg-require-weak "" }
 // { dg-require-alias "" }
Index: gcc/scan.c (deleted)
===================================================================
Index: gcc/scan.h (deleted)
===================================================================
Index: gcc/fix-header.c (deleted)
===================================================================
Index: gcc/scan-types.sh (deleted)
===================================================================
Index: gcc/sys-types.h (deleted)
===================================================================
Index: gcc/crtstuff.c
===================================================================
--- gcc/crtstuff.c	(revision 144722)
+++ gcc/crtstuff.c	(working copy)
@@ -58,11 +58,9 @@
    identified the set of defines that need to go into auto-target.h,
    this will have to do.  */
 #include "auto-host.h"
-#undef gid_t
 #undef pid_t
 #undef rlim_t
 #undef ssize_t
-#undef uid_t
 #undef vfork
 #include "tconfig.h"
 #include "tsystem.h"
Index: gcc/sort-protos (deleted)
===================================================================
Index: gcc/configure.ac
===================================================================
--- gcc/configure.ac	(revision 144722)
+++ gcc/configure.ac	(working copy)
@@ -1022,26 +1022,6 @@
 AC_CHECK_TYPE(ssize_t, int)
 AC_CHECK_TYPE(caddr_t, char *)
 
-# Try to determine the array type of the second argument of getgroups
-# for the target system (int or gid_t).
-AC_TYPE_GETGROUPS
-if test "${target}" = "${build}"; then
-  TARGET_GETGROUPS_T=$ac_cv_type_getgroups
-else
-  case "${target}" in
-	# This condition may need some tweaking.  It should include all
-	# targets where the array type of the second argument of getgroups
-	# is int and the type of gid_t is not equivalent to int.
-	*-*-sunos* | *-*-ultrix*)
-		TARGET_GETGROUPS_T=int
-		;;
-	*)
-		TARGET_GETGROUPS_T=gid_t
-		;;
-  esac
-fi
-AC_SUBST(TARGET_GETGROUPS_T)
-
 gcc_AC_FUNC_MMAP_BLACKLIST
 
 case "${host}" in
@@ -1742,7 +1722,7 @@
 
 # When building gcc with a cross-compiler, we need to adjust things so
 # that the generator programs are still built with the native compiler.
-# Also, we cannot run fixincludes or fix-header.
+# Also, we cannot run fixincludes.
 
 # These are the normal (build=host) settings:
 CC_FOR_BUILD='$(CC)'		AC_SUBST(CC_FOR_BUILD)
@@ -1750,28 +1730,11 @@
 BUILD_LDFLAGS='$(LDFLAGS)'	AC_SUBST(BUILD_LDFLAGS)
 STMP_FIXINC=stmp-fixinc		AC_SUBST(STMP_FIXINC)
 
-# Possibly disable fixproto, on a per-target basis.
-case ${use_fixproto} in
-  no)
-    STMP_FIXPROTO=
-    ;;
-  yes)
-    STMP_FIXPROTO=stmp-fixproto
-    ;;
-esac
-AC_SUBST(STMP_FIXPROTO)
-
 # And these apply if build != host, or we are generating coverage data
 if test x$build != x$host || test "x$coverage_flags" != x
 then
     BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
     BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
-
-    if test "x$TARGET_SYSTEM_ROOT" = x; then
-	if test "x$STMP_FIXPROTO" != x; then
-	  STMP_FIXPROTO=stmp-install-fixproto
-	fi
-    fi
 fi
 
 # Expand extra_headers to include complete path.
Index: gcc/protoize.c (deleted)
===================================================================
Index: gcc/po/EXCLUDES
===================================================================
--- gcc/po/EXCLUDES	(revision 144722)
+++ gcc/po/EXCLUDES	(working copy)
@@ -43,8 +43,6 @@
 #   These programs are meant to be executed only by GCC maintainers or
 #   installers.  Such files do not need to be translated, as these
 #   people typically need to be able to read English anyway.
-fix-header.c
-gen-protos.c
 genattr.c
 genattrtab.c
 genautomata.c
@@ -66,9 +64,6 @@
 genrecog.c
 gensupport.c
 gensupport.h
-scan-decls.c
-scan.c
-scan.h
 
 #   These files are not yet internationalized, because they contain
 #   many strings that require a lot of analysis, and are little-used.
Index: gcc/scan-decls.c (deleted)
===================================================================
Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc	(revision 144722)
+++ gcc/config.gcc	(working copy)
@@ -154,9 +154,6 @@
 #  configure_default_options
 #			Set to an initializer for configure_default_options
 #			in configargs.h, based on --with-cpu et cetera.
-#
-#  use_fixproto		Set to "yes" if fixproto should be run normally,
-#			"no" if fixproto should never be run.
 
 # The following variables are used in each case-construct to build up the
 # outgoing variables:
@@ -195,40 +192,21 @@
 target_gtfiles=
 need_64bit_hwint=
 
-# Default to not using fixproto.  Targets which need fixproto should
-# specifically set this to 'yes'.
-use_fixproto=no
-
 # Don't carry these over build->host->target.  Please.
 xm_file=
 md_file=
 
 # Obsolete configurations.
-case ${target} in
-# Avoid generic cases below matching.
-   h8300-*-rtems* | h8300-*-elf* \
- | sh-*-elf* | sh-*-symbianelf* | sh-*-linux* | sh-*-netbsdelf* \
- | sh-*-rtems* | sh-wrs-vxworks) ;;
-   arm-*-coff*		\
- | armel-*-coff*	\
- | h8300-*-*		\
- | i[34567]86-*-aout*	\
- | i[34567]86-*-coff*	\
- | m68k-*-aout*		\
- | m68k-*-coff*		\
- | sh-*-*		\
- | pdp11-*-bsd		\
- | rs6000-ibm-aix4.[12]* \
- | powerpc-ibm-aix4.[12]* \
- )
-    if test "x$enable_obsolete" != xyes; then
-      echo "*** Configuration ${target} is obsolete." >&2
-      echo "*** Specify --enable-obsolete to build it anyway." >&2
-      echo "*** Support will be REMOVED in the next major release of GCC," >&2
-      echo "*** unless a maintainer comes forward." >&2
-      exit 1
-    fi;;
-esac
+#case ${target} in
+# )
+#    if test "x$enable_obsolete" != xyes; then
+#      echo "*** Configuration ${target} is obsolete." >&2
+#      echo "*** Specify --enable-obsolete to build it anyway." >&2
+#      echo "*** Support will be REMOVED in the next major release of GCC," >&2
+#      echo "*** unless a maintainer comes forward." >&2
+#      exit 1
+#    fi;;
+#esac
 
 # Unsupported targets list.  Do not put an entry in this list unless
 # it would otherwise be caught by a more permissive pattern.  The list
@@ -237,6 +215,7 @@
    i[34567]86-go32-*			\
  | i[34567]86-*-go32*			\
  | mips64orion*-*-rtems*		\
+ | pdp11-*-bsd				\
  | sparc-hal-solaris2*			\
  | thumb-*-*				\
  | *-*-linux*aout*			\
@@ -680,10 +659,6 @@
 	tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
 	extra_parts="crtinit.o crtfini.o"
 	;;
-arm-*-coff* | armel-*-coff*)
-	tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h"
-	tmake_file="arm/t-arm arm/t-arm-coff"
-	;;
 arm-wrs-vxworks)
 	tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
 	tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
@@ -884,9 +859,6 @@
 	tmake_file="h8300/t-h8300 h8300/t-elf"
 	tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h"
 	;;
-h8300-*-*)
-	tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h"
-	;;
 hppa*64*-*-linux*)
 	target_cpu_default="MASK_PA_11|MASK_PA_20"
 	tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h svr4.h linux.h \
@@ -1036,9 +1008,6 @@
 	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/x86-64.h"
 	tmake_file="${tmake_file} i386/t-i386elf t-svr4"
 	;;
-i[34567]86-*-aout*)
-	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h"
-	;;
 i[34567]86-*-freebsd*)
 	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
 	;;
@@ -1072,9 +1041,6 @@
 	gas=yes
 	gnu_ld=yes
 	;;
-i[34567]86-*-coff*)
-	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/i386-coff.h"
-	;;
 i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
 			# Intel 80386's running GNU/*
 			# with ELF format using glibc 2
@@ -1403,19 +1369,6 @@
 	tmake_file="m68hc11/t-m68hc11"
 	extra_options="${extra_options} m68hc11/m68hc11.opt"
         ;;
-m68k-*-aout*)
-	default_m68k_cpu=68020
-	default_cf_cpu=5206
-	tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-mlibs"
-	tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h m68k/m68k-aout.h libgloss.h"
-	;;
-m68k-*-coff*)
-	default_m68k_cpu=68020
-	default_cf_cpu=5206
-	tmake_file="m68k/t-floatlib m68k/t-m68kbare m68k/t-mlibs"
-	tm_defines="${tm_defines} MOTOROLA=1"
-	tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h"
-	;;
 m68k-*-elf* | fido-*-elf*)
 	case ${target} in
 	fido-*-elf*)
@@ -1714,10 +1667,6 @@
 	fi
 	use_collect2=no
 	;;
-pdp11-*-bsd)
-	tm_file="${tm_file} pdp11/2bsd.h"
-	use_fixproto=yes
-        ;;
 pdp11-*-*)
 	;;
 picochip-*)
@@ -1914,14 +1863,6 @@
   	extra_options="${extra_options} rs6000/sysv4.opt"
   	tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
   	;;
-rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
-	tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h rs6000/xcoff.h"
-	tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-newas"
-	extra_options="${extra_options} rs6000/aix41.opt"
-	use_collect2=yes
-	extra_headers=
-	use_fixproto=yes
-	;;
 rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
 	tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h"
 	tmake_file=rs6000/t-aix43
@@ -2163,9 +2104,6 @@
 	tmake_file="$tmake_file sh/t-sh sh/t-elf sh/t-vxworks"
 	tm_file="${tm_file} elfos.h svr4.h sh/elf.h sh/embed-elf.h vx-common.h vxworks.h sh/vxworks.h"
 	;;
-sh-*-*)
-	tm_file="${tm_file} dbxcoff.h sh/coff.h"
-	;;
 sparc-*-netbsdelf*)
 	tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
 	extra_options="${extra_options} sparc/long-double-switch.opt"
Index: gcc/fixproto (deleted)
===================================================================
Index: gcc/Makefile.in
===================================================================
--- gcc/Makefile.in	(revision 144722)
+++ gcc/Makefile.in	(working copy)
@@ -22,7 +22,7 @@
 #<http://www.gnu.org/licenses/>.
 
 # The targets for external use include:
-# all, doc, proto, install, install-cross, install-cross-rest,
+# all, doc, install, install-cross, install-cross-rest,
 # uninstall, TAGS, mostlyclean, clean, distclean, maintainer-clean.
 
 # This is the default target.
@@ -175,8 +175,6 @@
 # be subject to -Werror:
 # flex output may yield harmless "no previous prototype" warnings
 build/gengtype-lex.o-warn = -Wno-error
-# SYSCALLS.c misses prototypes
-SYSCALLS.c.X-warn = -Wno-strict-prototypes -Wno-error
 # dfp.c contains alias violations
 dfp.o-warn = -Wno-error
 # mips-tfile.c contains -Wcast-qual warnings.
@@ -297,9 +295,6 @@
 DECNUMINC = -I$(DECNUM) -I$(DECNUMFMT) -I../libdecnumber
 LIBDECNUMBER = ../libdecnumber/libdecnumber.a
 
-# Substitution type for target's getgroups 2nd arg.
-TARGET_GETGROUPS_T = @TARGET_GETGROUPS_T@
-
 # Target to use when installing include directory.  Either
 # install-headers-tar, install-headers-cpio or install-headers-cp.
 INSTALL_HEADERS_DIR = @build_install_headers_dir@
@@ -395,8 +390,7 @@
 # macro is also used in a double-quoted context.
 SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta`
 
-# Control whether to run fixproto and fixincludes.
-STMP_FIXPROTO = @STMP_FIXPROTO@
+# Control whether to run fixincludes.
 STMP_FIXINC = @STMP_FIXINC@
 
 # Test to see whether <limits.h> exists in the system header files.
@@ -701,8 +695,6 @@
 GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
 GCC_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo gcc|sed '$(program_transform_name)')
 CPP_INSTALL_NAME := $(shell echo cpp|sed '$(program_transform_name)')
-PROTOIZE_INSTALL_NAME := $(shell echo protoize|sed '$(program_transform_name)')
-UNPROTOIZE_INSTALL_NAME := $(shell echo unprotoize|sed '$(program_transform_name)')
 GCOV_INSTALL_NAME := $(shell echo gcov|sed '$(program_transform_name)')
 GCCBUG_INSTALL_NAME := $(shell echo gccbug|sed '$(program_transform_name)')
 
@@ -716,9 +708,6 @@
 	    else echo runtest; fi`
 RUNTESTFLAGS =
 
-# Extra symbols for fixproto to define when parsing headers.
-FIXPROTO_DEFINES =
-
 # Extra flags to use when compiling crt{begin,end}.o.
 CRTSTUFF_T_CFLAGS =
 
@@ -1324,7 +1313,7 @@
   $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS)) \
   $(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) \
   mips-tfile.o mips-tdump.o \
-  $(PROTO_OBJS) $(GCOV_OBJS) $(GCOV_DUMP_OBJS)
+  $(GCOV_OBJS) $(GCOV_DUMP_OBJS)
 
 BACKEND = main.o @TREEBROWSER@ libbackend.a $(CPPLIB) $(LIBDECNUMBER)
 
@@ -1336,7 +1325,6 @@
  genrtl.c genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-input.list \
  xgcc$(exeext) cpp$(exeext) cc1$(exeext) cc1*-dummy$(exeext) $(EXTRA_PASSES) \
  $(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
- protoize$(exeext) unprotoize$(exeext) \
  $(SPECS) collect2$(exeext) \
  gcov-iov$(build_exeext) gcov$(exeext) gcov-dump$(exeext) \
  *.[0-9][0-9].* *.[si] *-checksum.c libbackend.a libgcc.mk
@@ -1586,7 +1574,7 @@
 start.encap: native xgcc$(exeext) cpp$(exeext) specs \
 	libgcc-support lang.start.encap @GENINSRC@ srcextra
 # These can't be made until after GCC can run.
-rest.encap: $(STMP_FIXPROTO) lang.rest.encap
+rest.encap: lang.rest.encap
 # This is what is made with the host's compiler
 # whether making a cross compiler or not.
 native: config.status auto-host.h build-@POSUB@ $(LANGUAGES) \
@@ -1596,7 +1584,7 @@
 c: cc1$(exeext)
 
 # Tell GNU make these are phony targets.
-.PHONY: c proto
+.PHONY: c
 
 # On the target machine, finish building a cross compiler.
 # This does the things that can't be done on the host machine.
@@ -1670,7 +1658,7 @@
 # so we combine them.  Sort removes duplicates.
 GCC_EXTRA_PARTS := $(sort $(EXTRA_MULTILIB_PARTS) $(EXTRA_PARTS))
 
-libgcc-support: libgcc.mvars stmp-int-hdrs $(STMP_FIXPROTO) $(TCONFIG_H) \
+libgcc-support: libgcc.mvars stmp-int-hdrs $(TCONFIG_H) \
 	$(MACHMODE_H) $(FPBIT) $(DPBIT) $(TPBIT) $(LIB2ADD) \
 	$(LIB2ADD_ST) $(LIB2ADDEH) $(srcdir)/emutls.c gcov-iov.h $(SFP_MACHINE)
 
@@ -3460,7 +3448,7 @@
 	  -c $(srcdir)/intl.c $(OUTPUT_OPTION)
 
 #
-# Remake cpp and protoize.
+# Remake cpp.
 
 PREPROCESSOR_DEFINES = \
   -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
@@ -3484,72 +3472,6 @@
 # Note for the stamp targets, we run the program `true' instead of
 # having an empty command (nothing following the semicolon).
 
-proto: config.status protoize$(exeext) unprotoize$(exeext) SYSCALLS.c.X
-
-PROTO_OBJS = intl.o version.o cppdefault.o errors.o
-
-protoize$(exeext): protoize.o $(PROTO_OBJS) $(LIBDEPS)
-	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ protoize.o $(PROTO_OBJS) $(LIBS)
-
-unprotoize$(exeext): unprotoize.o $(PROTO_OBJS) $(LIBDEPS)
-	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ unprotoize.o $(PROTO_OBJS) $(LIBS)
-
-protoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) $(SYSTEM_H) \
-   coretypes.h $(TM_H) Makefile version.h cppdefault.h intl.h
-	(SHLIB_LINK='$(SHLIB_LINK)'; \
-	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
-	  $(DRIVER_DEFINES) \
-	  $(srcdir)/protoize.c $(OUTPUT_OPTION))
-
-unprotoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) \
-    $(SYSTEM_H) coretypes.h $(TM_H) Makefile version.h cppdefault.h intl.h
-	(SHLIB_LINK='$(SHLIB_LINK)'; \
-	$(CC) -c -DUNPROTOIZE $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
-	  $(DRIVER_DEFINES) \
-	  $(srcdir)/protoize.c $(OUTPUT_OPTION))
-
-# This info describes the target machine, so compile with GCC just built.
-SYSCALLS.c.X: $(srcdir)/sys-types.h $(srcdir)/sys-protos.h $(GCC_PASSES) \
-   stmp-int-hdrs
-	-rm -f SYSCALLS.c tmp-SYSCALLS.s
-	sed -e s/TARGET_GETGROUPS_T/$(TARGET_GETGROUPS_T)/ \
-	  $(srcdir)/sys-types.h $(srcdir)/sys-protos.h > SYSCALLS.c
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) \
-	  -aux-info $@ -S -o tmp-SYSCALLS.s SYSCALLS.c
-	-rm -f SYSCALLS.c tmp-SYSCALLS.s
-
-
-test-protoize-simple: ./protoize ./unprotoize $(GCC_PASSES)
-	-rm -f tmp-proto.[cso]
-	cp $(srcdir)/protoize.c tmp-proto.c
-	chmod u+w tmp-proto.c
-	./protoize -N -B ./ -x getopt.h -c "-B./ -Wall -Wwrite-strings \
-	  $(GCC_CFLAGS) $(INCLUDES) \
-	  -DGCC_INCLUDE_DIR=0 \
-	  -DFIXED_INCLUDE_DIR=0 \
-	  -DGPLUSPLUS_INCLUDE_DIR=0 \
-	  -DCROSS_INCLUDE_DIR=0 \
-	  -DTOOL_INCLUDE_DIR=0 \
-	  -DSTANDARD_EXEC_PREFIX=0 \
-	  -DDEFAULT_TARGET_MACHINE=0 \
-	  -DDEFAULT_TARGET_VERSION=0" tmp-proto.c
-	@echo '**********' Expect 400 lines of differences.
-	-diff $(srcdir)/protoize.c tmp-proto.c > tmp-proto.diff
-	-wc -l tmp-proto.diff
-	./unprotoize -N -x getopt.h -c "-B./ -Wall -Wwrite-strings \
-	  $(GCC_CFLAGS) $(INCLUDES) \
-	  -DGCC_INCLUDE_DIR=0 \
-	  -DFIXED_INCLUDE_DIR=0 \
-	  -DGPLUSPLUS_INCLUDE_DIR=0 \
-	  -DCROSS_INCLUDE_DIR=0 \
-	  -DTOOL_INCLUDE_DIR=0 \
-	  -DSTANDARD_EXEC_PREFIX=0 \
-	  -DDEFAULT_TARGET_MACHINE=0 \
-	  -DDEFAULT_TARGET_VERSION=0" tmp-proto.c
-	@echo Expect zero differences.
-	diff $(srcdir)/protoize.c tmp-proto.c | cat
-	-rm -f tmp-proto.[cs] tmp-proto$(objext)
-
 # gcov-iov.c is run on the build machine to generate gcov-iov.h from version.c
 build/gcov-iov.o: gcov-iov.c $(BCONFIG_H) coretypes.h $(GTM_H) \
   $(SYSTEM_H) coretypes.h $(TM_H)
@@ -3712,98 +3634,6 @@
 	  done; \
 	fi
 	$(STAMP) stmp-fixinc
-
-# Files related to the fixproto script.
-# gen-protos and fix-header are compiled with CC_FOR_BUILD, but they are only
-# used in native and host-x-target builds, so it's safe to link them with
-# libiberty.a.
-
-deduced.h: $(GCC_PASSES) $(srcdir)/scan-types.sh stmp-int-hdrs
-	if [ -d "$(SYSTEM_HEADER_DIR)" ]; \
-	then \
-	  CC="$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) -I. -I$(srcdir) -isystem include -isystem ${SYSTEM_HEADER_DIR}"; \
-	  export CC; \
-	  $(SHELL) $(srcdir)/scan-types.sh "$(srcdir)" >tmp-deduced.h; \
-	  mv tmp-deduced.h deduced.h; \
-	else \
-	  $(STAMP) deduced.h; \
-	fi
-
-GEN_PROTOS_OBJS = build/gen-protos.o build/scan.o $(BUILD_ERRORS)
-build/gen-protos$(build_exeext): $(GEN_PROTOS_OBJS)
-	${CC_FOR_BUILD} $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
-	  $(GEN_PROTOS_OBJS) $(BUILD_LIBS)
-
-build/gen-protos.o: gen-protos.c scan.h $(BCONFIG_H) $(SYSTEM_H) coretypes.h \
-  $(GTM_H) errors.h
-
-build/scan.o: scan.c scan.h $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H)
-
-xsys-protos.h: $(GCC_PASSES) $(srcdir)/sys-protos.h deduced.h \
-  build/gen-protos$(build_exeext) Makefile
-	sed -e s/TARGET_GETGROUPS_T/$(TARGET_GETGROUPS_T)/ \
-	  deduced.h $(srcdir)/sys-protos.h > tmp-fixtmp.c
-	mv tmp-fixtmp.c fixtmp.c
-	$(GCC_FOR_TARGET) fixtmp.c -w -U__SIZE_TYPE__ -U__PTRDIFF_TYPE__ -U__WCHAR_TYPE__ -E \
-	  | sed -e 's/	/ /g' -e 's/ *(/ (/g' -e 's/ [ ]*/ /g' -e 's/( )/()/' \
-	  | $(RUN_GEN) build/gen-protos >xsys-protos.hT
-	mv xsys-protos.hT xsys-protos.h
-	rm -rf fixtmp.c
-
-# This is nominally a 'build' program, but it's run only when host==build,
-# so we can (indeed, must) use $(LIBDEPS) and $(LIBS).
-build/fix-header$(build_exeext): build/fix-header.o build/scan-decls.o \
-  build/scan.o xsys-protos.h \
-  $(BUILD_ERRORS) $(LIBDEPS)
-	$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
-	 build/fix-header.o incpath.o cppdefault.o build/scan-decls.o prefix.o \
-	 build/scan.o $(BUILD_ERRORS) $(LIBS)
-
-build/fix-header.o: fix-header.c $(OBSTACK_H) scan.h errors.h \
-	xsys-protos.h $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) $(CPPLIB_H)
-
-build/scan-decls.o: scan-decls.c scan.h $(CPPLIB_H) $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H)
-
-# stmp-fixproto depends on this, not on fix-header directly.
-# The idea is to make sure fix-header gets built,
-# but not rerun fixproto after each stage
-# just because fix-header's mtime has changed.
-fixhdr.ready: build/fix-header$(build_exeext)
-	-if [ -f fixhdr.ready ] ; then \
-		true; \
-	else \
-		$(STAMP) fixhdr.ready; \
-	fi
-
-# stmp-int-hdrs is to make sure fixincludes has already finished.
-# The if statement is so that we don't run fixproto a second time
-# if it has already been run on the files in `include-fixed'.
-stmp-fixproto: fixhdr.ready fixproto fixinc_list stmp-int-hdrs
-	set -e; for ml in `cat fixinc_list`; do \
-	  sysroot_headers_suffix=`echo $${ml} | sed -e 's/;.*$$//'`; \
-	  multi_dir=`echo $${ml} | sed -e 's/^[^;]*;//'`; \
-	  fix_dir=include-fixed$${multi_dir}; \
-	  if [ -f $${fix_dir}/fixed ] ; then true; \
-	  else \
-	    : This line works around a 'make' bug in BSDI 1.1.; \
-	    FIXPROTO_DEFINES="$(FIXPROTO_DEFINES)"; export FIXPROTO_DEFINES; \
-	    FIX_HEADER="build/fix-header$(build_exeext)"; export FIX_HEADER; \
-	    mkinstalldirs="$(mkinstalldirs)"; \
-	      export mkinstalldirs; \
-	    if [ -d "$(SYSTEM_HEADER_DIR)" ]; then \
-	      $(SHELL) ${srcdir}/fixproto $${fix_dir} $${fix_dir} $(SYSTEM_HEADER_DIR); \
-	      if [ $$? -eq 0 ] ; then true ; else exit 1 ; fi ; \
-	    else true; fi; \
-	    $(STAMP) $${fix_dir}/fixed; \
-	  fi; \
-	done
-	$(STAMP) stmp-fixproto
-
-# We can't run fixproto (it's being built for a different host), but we still
-# need to install it so that the user can run it when the compiler is
-# installed.
-stmp-install-fixproto: fixproto
-	$(STAMP) $@
 #
 # Remake the info files.
 
@@ -4009,7 +3839,6 @@
 	-rm -f build/*
 	-rm -f mddeps.mk
 # Delete other built files.
-	-rm -f xsys-protos.hT
 	-rm -f specs.h options.c options.h
 # Delete the stamp and temporary files.
 	-rm -f s-* tmp-* stamp-* stmp-*
@@ -4017,11 +3846,8 @@
 # Delete debugging dump files.
 	-rm -f *.[0-9][0-9].* */*.[0-9][0-9].*
 # Delete some files made during installation.
-	-rm -f specs $(SPECS) SYSCALLS.c.X SYSCALLS.c
+	-rm -f specs $(SPECS)
 	-rm -f collect collect2 mips-tfile mips-tdump
-# Delete files generated for fixproto
-	-rm -rf $(build_exeext) xsys-protos.h deduced.h tmp-deduced.h \
-	  gen-protos$(build_exeext) fixproto.list fixtmp.* fixhdr.ready
 # Delete unwanted output files from TeX.
 	-rm -f *.toc *.log *.vr *.fn *.cp *.tp *.ky *.pg
 	-rm -f */*.toc */*.log */*.vr */*.fn */*.cp */*.tp */*.ky */*.pg
@@ -4142,16 +3968,6 @@
 # using -dumpspecs.  We remove any old version because it would
 # otherwise override the specs built into the driver.
 	rm -f $(DESTDIR)$(libsubdir)/specs
-# Install protoize if it was compiled.
-	-if [ -f protoize$(exeext) ]; then \
-	  rm -f $(DESTDIR)$(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext); \
-	  $(INSTALL_PROGRAM) protoize$(exeext) $(DESTDIR)$(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext); \
-	  rm -f $(DESTDIR)$(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext); \
-	  $(INSTALL_PROGRAM) unprotoize$(exeext) $(DESTDIR)$(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext); \
-	  rm -f $(DESTDIR)$(libsubdir)/SYSCALLS.c.X; \
-	  $(INSTALL_DATA) SYSCALLS.c.X $(DESTDIR)$(libsubdir)/SYSCALLS.c.X; \
-	  chmod a-x $(DESTDIR)$(libsubdir)/SYSCALLS.c.X; \
-	fi
 # Install gcov if it was compiled.
 	-if [ -f gcov$(exeext) ]; \
 	then \
@@ -4299,7 +4115,7 @@
 	$(mkinstalldirs) $(DESTDIR)$(itoolsdir)
 
 # Install the include directory using tar.
-install-headers-tar: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
+install-headers-tar: stmp-int-hdrs install-include-dir
 # We use `pwd`/include instead of just include to problems with CDPATH
 # Unless a full pathname is provided, some shells would print the new CWD,
 # found in CDPATH, corrupting the output.  We could just redirect the
@@ -4313,7 +4129,7 @@
 # So use `exit 0' to ignore its exit status.
 
 # Install the include directory using cpio.
-install-headers-cpio: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
+install-headers-cpio: stmp-int-hdrs install-include-dir
 # See discussion about the use of `pwd` above
 	cd `${PWD_COMMAND}`/include ; \
 	find . -print | cpio -pdum $(DESTDIR)$(libsubdir)/include
@@ -4321,7 +4137,7 @@
 	find . -print | cpio -pdum $(DESTDIR)$(libsubdir)/include-fixed
 
 # Install the include directory using cp.
-install-headers-cp: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
+install-headers-cp: stmp-int-hdrs install-include-dir
 	cp -p -r include $(DESTDIR)$(libsubdir)
 	cp -p -r include-fixed $(DESTDIR)$(libsubdir)
 
@@ -4338,7 +4154,7 @@
 	cp -p -r include-fixed $(DESTDIR)$(libsubdir)
 
 # Install supporting files for fixincludes to be run later.
-install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-itoolsdirs \
+install-mkheaders: stmp-int-hdrs install-itoolsdirs \
   macro_list fixinc_list
 	$(INSTALL_DATA) $(srcdir)/gsyslimits.h \
 	  $(DESTDIR)$(itoolsdatadir)/gsyslimits.h
@@ -4351,20 +4167,11 @@
 	done
 	$(INSTALL_SCRIPT) $(srcdir)/../mkinstalldirs \
 		$(DESTDIR)$(itoolsdir)/mkinstalldirs ; \
-	if [ x$(STMP_FIXPROTO) != x ] ; then \
-	  $(INSTALL_SCRIPT) $(srcdir)/fixproto $(DESTDIR)$(itoolsdir)/fixproto ; \
-	  $(INSTALL_PROGRAM) build/fix-header$(build_exeext) \
-		$(DESTDIR)$(itoolsdir)/fix-header$(build_exeext) ; \
-	else :; fi
 	sysroot_headers_suffix='$${sysroot_headers_suffix}'; \
 		echo 'SYSTEM_HEADER_DIR="'"$(SYSTEM_HEADER_DIR)"'"' \
 		> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
 	echo 'OTHER_FIXINCLUDES_DIRS="$(OTHER_FIXINCLUDES_DIRS)"' \
 		>> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
-	echo 'FIXPROTO_DEFINES="$(FIXPROTO_DEFINES)"' \
-		>> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
-	echo 'STMP_FIXPROTO="$(STMP_FIXPROTO)"' \
-		>> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
 	echo 'STMP_FIXINC="$(STMP_FIXINC)"' \
 		>> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
 
@@ -4383,13 +4190,9 @@
 	-if [ x$(cpp_install_dir) != x ]; then \
 	  rm -f $(DESTDIR)$(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
 	else true; fi
-	-rm -rf $(DESTDIR)$(bindir)/$(PROTOIZE_INSTALL_NAME)$(exeext)
-	-rm -rf $(DESTDIR)$(bindir)/$(UNPROTOIZE_INSTALL_NAME)$(exeext)
 	-rm -rf $(DESTDIR)$(bindir)/$(GCOV_INSTALL_NAME)$(exeext)
 	-rm -rf $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext)
 	-rm -rf $(DESTDIR)$(man1dir)/cpp$(man1ext)
-	-rm -rf $(DESTDIR)$(man1dir)/protoize$(man1ext)
-	-rm -rf $(DESTDIR)$(man1dir)/unprotoize$(man1ext)
 	-rm -f $(DESTDIR)$(infodir)/cpp.info* $(DESTDIR)$(infodir)/gcc.info*
 	-rm -f $(DESTDIR)$(infodir)/cppinternals.info* $(DESTDIR)$(infodir)/gccint.info*
 #
Index: gcc/sys-protos.h (deleted)
===================================================================
Index: gcc/config/t-svr4
===================================================================
--- gcc/config/t-svr4	(revision 144722)
+++ gcc/config/t-svr4	(working copy)
@@ -6,6 +6,3 @@
 
 CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
 TARGET_LIBGCC2_CFLAGS = -fPIC
-
-# See all the declarations.
-FIXPROTO_DEFINES = -D_XOPEN_SOURCE
Index: gcc/config/libgloss.h (deleted)
===================================================================
Index: gcc/config/m32r/t-linux
===================================================================
--- gcc/config/m32r/t-linux	(revision 144722)
+++ gcc/config/m32r/t-linux	(working copy)
@@ -27,10 +27,6 @@
 
 CRTSTUFF_T_CFLAGS_S = -fPIC
 
-
-# Don't run fixproto
-STMP_FIXPROTO =
- 
 # Don't install "assert.h" in gcc. We use the one in glibc.
 INSTALL_ASSERT_H =
  
Index: gcc/config/i386/i386-aout.h (deleted)
===================================================================
Index: gcc/config/i386/i386-coff.h (deleted)
===================================================================
Index: gcc/config/sh/coff.h (deleted)
===================================================================
Index: gcc/config/pdp11/2bsd.h (deleted)
===================================================================
Index: gcc/config/pdp11/pdp11.c
===================================================================
--- gcc/config/pdp11/pdp11.c	(revision 144722)
+++ gcc/config/pdp11/pdp11.c	(working copy)
@@ -241,26 +241,9 @@
    knowing which registers should not be saved even if used.  
 */
 
-#ifdef TWO_BSD
-
 static void
 pdp11_output_function_prologue (FILE *stream, HOST_WIDE_INT size)
 {							       
-  fprintf (stream, "\tjsr	r5, csv\n");
-  if (size)
-    {
-      fprintf (stream, "\t/*abuse empty parameter slot for locals!*/\n");
-      if (size > 2)
-	asm_fprintf (stream, "\tsub $%#wo, sp\n", size - 2);
-
-    }
-}
-
-#else  /* !TWO_BSD */
-
-static void
-pdp11_output_function_prologue (FILE *stream, HOST_WIDE_INT size)
-{							       
     HOST_WIDE_INT fsize = ((size) + 1) & ~1;
     int regno;
     int via_ac = -1;
@@ -331,8 +314,6 @@
     fprintf (stream, "\t;/* end of prologue */\n\n");		
 }
 
-#endif /* !TWO_BSD */
-
 /*
    The function epilogue should not depend on the current stack pointer!
    It should use the frame pointer only.  This is mandatory because
@@ -352,19 +333,7 @@
 
    maybe as option if you want to generate code for kernel mode? */
 
-#ifdef TWO_BSD
-
 static void
-pdp11_output_function_epilogue (FILE *stream,
-				HOST_WIDE_INT size ATTRIBUTE_UNUSED)
-{								
-  fprintf (stream, "\t/* SP ignored by cret? */\n");
-  fprintf (stream, "\tjmp cret\n");
-}
-
-#else  /* !TWO_BSD */
-
-static void
 pdp11_output_function_epilogue (FILE *stream, HOST_WIDE_INT size)
 {								
     HOST_WIDE_INT fsize = ((size) + 1) & ~1;
@@ -469,8 +438,6 @@
     fprintf (stream, "\t;/* end of epilogue*/\n\n\n");		
 }
 
-#endif /* !TWO_BSD */
-	
 /* Return the best assembler insn template
    for moving operands[1] into operands[0] as a fullword.  */
 static const char *
Index: gcc/config/t-vxworks
===================================================================
--- gcc/config/t-vxworks	(revision 144722)
+++ gcc/config/t-vxworks	(working copy)
@@ -1,6 +1,3 @@
-# Don't run fixproto.
-STMP_FIXPROTO =
-
 # Build libgcc using the multilib mechanism
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
Index: gcc/config/m68k/coff.h (deleted)
===================================================================
Index: gcc/config/m68k/m68k-aout.h (deleted)
===================================================================
Index: gcc/config/m68k/m68k.c
===================================================================
--- gcc/config/m68k/m68k.c	(revision 144722)
+++ gcc/config/m68k/m68k.c	(working copy)
@@ -134,9 +134,6 @@
 static bool m68k_handle_option (size_t, const char *, int);
 static rtx find_addr_reg (rtx);
 static const char *singlemove_string (rtx *);
-#ifdef M68K_TARGET_COFF
-static void m68k_coff_asm_named_section (const char *, unsigned int, tree);
-#endif /* M68K_TARGET_COFF */
 static void m68k_output_mi_thunk (FILE *, tree, HOST_WIDE_INT,
 					  HOST_WIDE_INT, tree);
 static rtx m68k_struct_value_rtx (tree, int);
@@ -4336,27 +4333,7 @@
     return "jmp %a0";
 }
 
-#ifdef M68K_TARGET_COFF
-
-/* Output assembly to switch to section NAME with attribute FLAGS.  */
-
 static void
-m68k_coff_asm_named_section (const char *name, unsigned int flags, 
-			     tree decl ATTRIBUTE_UNUSED)
-{
-  char flagchar;
-
-  if (flags & SECTION_WRITE)
-    flagchar = 'd';
-  else
-    flagchar = 'x';
-
-  fprintf (asm_out_file, "\t.section\t%s,\"%c\"\n", name, flagchar);
-}
-
-#endif /* M68K_TARGET_COFF */
-
-static void
 m68k_output_mi_thunk (FILE *file, tree thunk ATTRIBUTE_UNUSED,
 		      HOST_WIDE_INT delta, HOST_WIDE_INT vcall_offset,
 		      tree function)
Index: gcc/config/rs6000/aix41.opt (deleted)
===================================================================
Index: gcc/config/rs6000/aix41.h (deleted)
===================================================================
Index: gcc/config/rs6000/t-newas (deleted)
===================================================================
Index: gcc/config/arm/t-arm-coff (deleted)
===================================================================
Index: gcc/config/pa/t-pa-hpux
===================================================================
--- gcc/config/pa/t-pa-hpux	(revision 144722)
+++ gcc/config/pa/t-pa-hpux	(working copy)
@@ -1,6 +1,3 @@
-# So putenv and other functions get seen by fixproto.
-FIXPROTO_DEFINES = -D_HPUX_SOURCE -D_HIUX_SOURCE
-
 lib2funcs.asm: $(srcdir)/config/pa/lib2funcs.asm
 	rm -f lib2funcs.asm
 	cp $(srcdir)/config/pa/lib2funcs.asm .
Index: gcc/config/mips/t-iris
===================================================================
--- gcc/config/mips/t-iris	(revision 144722)
+++ gcc/config/mips/t-iris	(working copy)
@@ -1,6 +1,3 @@
-# Find all of the declarations from the header files
-FIXPROTO_DEFINES = -D__EXTENSIONS__ -D_SGI_SOURCE -D_LANGUAGE_C_PLUS_PLUS
-
 $(T)irix-crti.o: $(srcdir)/config/mips/irix-crti.asm $(GCC_PASSES)
 	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
 	-c -o $@ -x assembler-with-cpp $<
Index: gcc/config/h8300/coff.h (deleted)
===================================================================
Index: gcc/tsystem.h
===================================================================
--- gcc/tsystem.h	(revision 144722)
+++ gcc/tsystem.h	(working copy)
@@ -99,7 +99,7 @@
 extern int errno;
 #endif
 
-/* GCC (fixproto) guarantees these system headers exist.  */
+/* If these system headers do not exist, fixincludes must create them.  */
 #include <string.h>
 #include <stdlib.h>
 #include <unistd.h>
@@ -107,7 +107,7 @@
 /* GCC supplies this header.  */
 #include <limits.h>
 
-/* GCC (fixproto) guarantees this system headers exists.  */
+/* If these system headers do not exist, fixincludes must create them.  */
 #include <time.h>
 
 #endif /* inhibit_libc */
Index: fixincludes/mkheaders.in
===================================================================
--- fixincludes/mkheaders.in	(revision 144722)
+++ fixincludes/mkheaders.in	(working copy)
@@ -102,9 +102,4 @@
   fi
 
   cp ${itoolsdatadir}/include${multi_dir}/limits.h ${subincdir}
-
-  if [ x${STMP_FIXPROTO} != x ] ; then
-    export FIXPROTO_DEFINES mkinstalldirs
-    @SHELL@ fixproto ${subincdir} ${subincdir} ${isysroot}${SYSTEM_HEADER_DIR} || exit 1
-  fi
 done
Index: fixincludes/inclhack.def
===================================================================
--- fixincludes/inclhack.def	(revision 144722)
+++ fixincludes/inclhack.def	(working copy)
@@ -386,23 +386,6 @@
 
 
 /*
- *  sys/wait.h on AIX 3.2.5 puts the declaration of wait3 before the
- *  definition of struct rusage, so the prototype added by fixproto fails.
- */
-fix = {
-    hackname  = aix_syswait;
-    files     = sys/wait.h;
-    select    = "^extern pid_t wait3\\(\\);\n";
-    select    = "bos325,";
-    c_fix     = format;
-    c_fix_arg = "struct rusage;\n%0";
-    test_text = "/* bos325, */\n"
-    "extern pid_t wait3();\n"
-    "\t/* pid_t wait3(int *, int, struct rusage *); */";
-};
-
-
-/*
  *  sys/wait.h on AIX 5.2 defines macros that have both signed and
  *  unsigned types in conditional expressions.
  */
@@ -1089,26 +1072,6 @@
 
 
 /*
- *  math.h on SunOS 4 puts the declaration of matherr before the definition
- *  of struct exception, so the prototype (added by fixproto) causes havoc.
- *  This must appear before the math_exception fix.
- */
-fix = {
-    hackname  = exception_structure;
-    files     = math.h;
-
-    /*  If matherr has a prototype already, the header needs no fix.  */
-    bypass    = 'matherr.*(struct exception|__MATH_EXCEPTION|[ \t]*__FP_EXCEPTION[ \t]*\*[ \t]*)';
-    select    = matherr;
-
-    c_fix     = wrap;
-    c_fix_arg = "struct exception;\n";
-
-    test_text = "extern int matherr();";
-};
-
-
-/*
  *  Between 8/24/1998 and 2/17/2001, FreeBSD system headers presume
  *  neither the existence of GCC 3 nor its exact feature set yet break
  *  (by design?) when __GNUC__ is set beyond 2.
@@ -2306,9 +2269,7 @@
  *  Interface Definition), which conflicts with the class exception defined
  *  in the C++ file std/stdexcept.h.  We redefine it to __math_exception.
  *  This is not a great fix, but I haven't been able to think of anything
- *  better.  Note that we have to put the #ifdef/#endif blocks at beginning
- *  and end of file, because fixproto runs after us and may insert
- *  additional references to struct exception.
+ *  better.
  */
 fix = {
     hackname  = math_exception;
@@ -2658,20 +2619,6 @@
 
 
 /*
- *  Fix __page_size* declarations in pthread.h AIX 4.1.[34].
- *  The original ones fail if uninitialized externs are not common.
- *  This is the default for all ANSI standard C++ compilers.
- */
-fix = {
-    hackname  = pthread_page_size;
-    files     = pthread.h;
-    select    = "^int __page_size";
-    c_fix     = format;
-    c_fix_arg = "extern %0";
-    test_text = "int __page_size;";
-};
-
-/*
  * On broken glibc-2.3.3 systems an array of incomplete structures is
  * passed to __sigsetjmp.  Fix that to take a pointer instead.
  */

-- 
Joseph S. Myers
joseph@codesourcery.com



More information about the Gcc-patches mailing list