aboutsummaryrefslogtreecommitdiff
path: root/lang/gpc/files
diff options
context:
space:
mode:
authorKris Kennaway <kris@FreeBSD.org>2003-05-06 03:49:05 +0000
committerKris Kennaway <kris@FreeBSD.org>2003-05-06 03:49:05 +0000
commit28e7382123cbc7ef132190c6b3c29b101db38cfc (patch)
treea9d50288bd0e48228abd908a6f7bd8be06c4e7bd /lang/gpc/files
parent10d17b4511c6e239af7325d1f588b3d4e79e55c5 (diff)
downloadports-28e7382123cbc7ef132190c6b3c29b101db38cfc.tar.gz
ports-28e7382123cbc7ef132190c6b3c29b101db38cfc.zip
Notes
Diffstat (limited to 'lang/gpc/files')
-rw-r--r--lang/gpc/files/patch-aa166
-rw-r--r--lang/gpc/files/patch-ab168
-rw-r--r--lang/gpc/files/patch-ac33
-rw-r--r--lang/gpc/files/patch-ad39
-rw-r--r--lang/gpc/files/patch-ae12
-rw-r--r--lang/gpc/files/patch-af299
-rw-r--r--lang/gpc/files/patch-ag171
-rw-r--r--lang/gpc/files/patch-ah44
-rw-r--r--lang/gpc/files/patch-ai135
-rw-r--r--lang/gpc/files/patch-aj7
-rw-r--r--lang/gpc/files/patch-ak49
-rw-r--r--lang/gpc/files/patch-al41
-rw-r--r--lang/gpc/files/patch-am233
-rw-r--r--lang/gpc/files/patch-an398
-rw-r--r--lang/gpc/files/patch-ao95
-rw-r--r--lang/gpc/files/patch-ap18
-rw-r--r--lang/gpc/files/patch-aq121
-rw-r--r--lang/gpc/files/patch-ar19
-rw-r--r--lang/gpc/files/patch-as11
-rw-r--r--lang/gpc/files/patch-at20
-rw-r--r--lang/gpc/files/patch-au13
21 files changed, 0 insertions, 2092 deletions
diff --git a/lang/gpc/files/patch-aa b/lang/gpc/files/patch-aa
deleted file mode 100644
index 09f88e8e0e8e..000000000000
--- a/lang/gpc/files/patch-aa
+++ /dev/null
@@ -1,166 +0,0 @@
-*** Makefile.in.orig Tue Mar 3 03:54:31 1998
---- Makefile.in Thu Mar 23 14:52:24 2000
-***************
-*** 369,375 ****
-
- # List of things which should already be built whenever we try to use xgcc
- # to compile anything (without linking).
-! GCC_PASSES=xgcc cc1 cpp $(EXTRA_PASSES)
-
- # List of things which should already be built whenever we try to use xgcc
- # to link anything.
---- 369,375 ----
-
- # List of things which should already be built whenever we try to use xgcc
- # to compile anything (without linking).
-! GCC_PASSES=xgcc$(exeext) cc1$(exeext) cpp$(exeext) $(EXTRA_PASSES)
-
- # List of things which should already be built whenever we try to use xgcc
- # to link anything.
-***************
-*** 729,746 ****
- all.cross: native gcc-cross specs stmp-headers $(LIBGCC) $(STMP_FIXPROTO) \
- $(LIBGCC1_TEST) $(EXTRA_PARTS) lang.all.cross
- # This is what to compile if making gcc with a cross-compiler.
-! all.build: native xgcc $(EXTRA_PARTS) lang.all.build
- # This is what must be made before installing GCC and converting libraries.
-! start.encap: native xgcc specs $(LIBGCC1) xlimits.h lang.start.encap
- # These can't be made until after GCC can run.
- rest.encap: stmp-headers $(LIBGCC) $(STMP_FIXPROTO) $(EXTRA_PARTS) lang.rest.encap
- # This is what is made with the host's compiler
- # whether making a cross compiler or not.
-! native: config.status auto-config.h cpp $(LANGUAGES) \
- $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(USE_COLLECT2)
-
- # Define the names for selecting languages in LANGUAGES.
-! C c: cc1
- PROTO: proto
-
- # Tell GNU make these are phony targets.
---- 729,746 ----
- all.cross: native gcc-cross specs stmp-headers $(LIBGCC) $(STMP_FIXPROTO) \
- $(LIBGCC1_TEST) $(EXTRA_PARTS) lang.all.cross
- # This is what to compile if making gcc with a cross-compiler.
-! all.build: native xgcc$(exeext) $(EXTRA_PARTS) lang.all.build
- # This is what must be made before installing GCC and converting libraries.
-! start.encap: native xgcc$(exeext) specs $(LIBGCC1) xlimits.h lang.start.encap
- # These can't be made until after GCC can run.
- rest.encap: stmp-headers $(LIBGCC) $(STMP_FIXPROTO) $(EXTRA_PARTS) lang.rest.encap
- # This is what is made with the host's compiler
- # whether making a cross compiler or not.
-! native: config.status auto-config.h cpp$(exeext) $(LANGUAGES) \
- $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(USE_COLLECT2)
-
- # Define the names for selecting languages in LANGUAGES.
-! C c: cc1$(exeext)
- PROTO: proto
-
- # Tell GNU make these are phony targets.
-***************
-*** 756,762 ****
- @echo "Testing libgcc1. Ignore linker warning messages."
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) libgcc1-test.o -o libgcc1-test \
- -nostartfiles -nostdlib `$(GCC_FOR_TARGET) --print-libgcc-file-name`
-! libgcc1-test.o: libgcc1-test.c native xgcc
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) -c $(srcdir)/libgcc1-test.c
-
- # Recompile all the language-independent object files.
---- 756,762 ----
- @echo "Testing libgcc1. Ignore linker warning messages."
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) libgcc1-test.o -o libgcc1-test \
- -nostartfiles -nostdlib `$(GCC_FOR_TARGET) --print-libgcc-file-name`
-! libgcc1-test.o: libgcc1-test.c native xgcc$(exeext)
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) -c $(srcdir)/libgcc1-test.c
-
- # Recompile all the language-independent object files.
-***************
-*** 771,793 ****
- # We call this executable `xgcc' rather than `gcc'
- # to avoid confusion if the current directory is in the path
- # and CC is `gcc'. It is renamed to `gcc' when it is installed.
-! xgcc: gcc.o version.o choose-temp.o pexecute.o prefix.o version.o \
- $(LIBDEPS) $(EXTRA_GCC_OBJS)
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ gcc.o prefix.o version.o \
- choose-temp.o pexecute.o $(EXTRA_GCC_OBJS) $(LIBS)
-
- # Dump a specs file to make -B./ read these specs over installed ones.
-! specs: xgcc
- $(GCC_FOR_TARGET) -dumpspecs > tmp-specs
- mv tmp-specs specs
-
- # We do want to create an executable named `xgcc', so we can use it to
- # compile libgcc2.a.
- # Also create gcc-cross, so that install-common will install properly.
-! gcc-cross: xgcc
- cp xgcc$(exeext) gcc-cross$(exeext)
-
-! cc1: $(P) $(C_OBJS) $(OBJS) $(BC_OBJS) $(LIBDEPS)
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) $(OBJS) $(BC_OBJS) $(LIBS)
-
- # Copy float.h from its source.
---- 771,793 ----
- # We call this executable `xgcc' rather than `gcc'
- # to avoid confusion if the current directory is in the path
- # and CC is `gcc'. It is renamed to `gcc' when it is installed.
-! xgcc$(exeext): gcc.o version.o choose-temp.o pexecute.o prefix.o version.o \
- $(LIBDEPS) $(EXTRA_GCC_OBJS)
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ gcc.o prefix.o version.o \
- choose-temp.o pexecute.o $(EXTRA_GCC_OBJS) $(LIBS)
-
- # Dump a specs file to make -B./ read these specs over installed ones.
-! specs: xgcc$(exeext)
- $(GCC_FOR_TARGET) -dumpspecs > tmp-specs
- mv tmp-specs specs
-
- # We do want to create an executable named `xgcc', so we can use it to
- # compile libgcc2.a.
- # Also create gcc-cross, so that install-common will install properly.
-! gcc-cross: xgcc$(exeext)
- cp xgcc$(exeext) gcc-cross$(exeext)
-
-! cc1$(exeext): $(P) $(C_OBJS) $(OBJS) $(BC_OBJS) $(LIBDEPS)
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) $(OBJS) $(BC_OBJS) $(LIBS)
-
- # Copy float.h from its source.
-***************
-*** 1739,1749 ****
- # Remake cpp and protoize.
-
- # Making the preprocessor
-! cpp: $(CCCP)
- -rm -f cpp$(exeext)
- ln $(CCCP)$(exeext) cpp$(exeext) > /dev/null 2>&1 \
- || cp $(CCCP)$(exeext) cpp$(exeext)
-! cccp: cccp.o cexp.o version.o prefix.o $(LIBDEPS)
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ cccp.o cexp.o prefix.o \
- version.o $(LIBS)
- cexp.o: $(srcdir)/cexp.c $(CONFIG_H)
---- 1739,1749 ----
- # Remake cpp and protoize.
-
- # Making the preprocessor
-! cpp$(exeext): $(CCCP)$(exeext)
- -rm -f cpp$(exeext)
- ln $(CCCP)$(exeext) cpp$(exeext) > /dev/null 2>&1 \
- || cp $(CCCP)$(exeext) cpp$(exeext)
-! cccp$(exeext): cccp.o cexp.o version.o prefix.o $(LIBDEPS)
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ cccp.o cexp.o prefix.o \
- version.o $(LIBS)
- cexp.o: $(srcdir)/cexp.c $(CONFIG_H)
-***************
-*** 2248,2254 ****
-
- # Install the driver program as $(target_alias)-gcc
- # and also as either gcc (if native) or $(tooldir)/bin/gcc.
-! install-driver: xgcc
- -if [ -f gcc-cross$(exeext) ] ; then \
- rm -f $(bindir)/$(GCC_CROSS_NAME)$(exeext); \
- $(INSTALL_PROGRAM) gcc-cross$(exeext) $(bindir)/$(GCC_CROSS_NAME)$(exeext); \
---- 2248,2254 ----
-
- # Install the driver program as $(target_alias)-gcc
- # and also as either gcc (if native) or $(tooldir)/bin/gcc.
-! install-driver: xgcc$(exeext)
- -if [ -f gcc-cross$(exeext) ] ; then \
- rm -f $(bindir)/$(GCC_CROSS_NAME)$(exeext); \
- $(INSTALL_PROGRAM) gcc-cross$(exeext) $(bindir)/$(GCC_CROSS_NAME)$(exeext); \
diff --git a/lang/gpc/files/patch-ab b/lang/gpc/files/patch-ab
deleted file mode 100644
index 5ab24eeff657..000000000000
--- a/lang/gpc/files/patch-ab
+++ /dev/null
@@ -1,168 +0,0 @@
-*** ansidecl.h.orig Thu Jan 1 03:00:00 1970
---- ansidecl.h Thu Mar 23 16:03:22 2000
-***************
-*** 0 ****
---- 1,163 ----
-+ /* ANSI and traditional C compatability macros
-+ Copyright 1991, 1992, 1996 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the Free Software
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-+
-+ /* ANSI and traditional C compatibility macros
-+
-+ ANSI C is assumed if __STDC__ is #defined.
-+
-+ Macro ANSI C definition Traditional C definition
-+ ----- ---- - ---------- ----------- - ----------
-+ PTR `void *' `char *'
-+ LONG_DOUBLE `long double' `double'
-+ VOLATILE `volatile' `'
-+ SIGNED `signed' `'
-+ PTRCONST `void *const' `char *'
-+ ANSI_PROTOTYPES 1 not defined
-+
-+ CONST is also defined, but is obsolete. Just use const.
-+
-+ obsolete -- DEFUN (name, arglist, args)
-+
-+ Defines function NAME.
-+
-+ ARGLIST lists the arguments, separated by commas and enclosed in
-+ parentheses. ARGLIST becomes the argument list in traditional C.
-+
-+ ARGS list the arguments with their types. It becomes a prototype in
-+ ANSI C, and the type declarations in traditional C. Arguments should
-+ be separated with `AND'. For functions with a variable number of
-+ arguments, the last thing listed should be `DOTS'.
-+
-+ obsolete -- DEFUN_VOID (name)
-+
-+ Defines a function NAME, which takes no arguments.
-+
-+ obsolete -- EXFUN (name, (prototype)) -- obsolete.
-+
-+ Replaced by PARAMS. Do not use; will disappear someday soon.
-+ Was used in external function declarations.
-+ In ANSI C it is `NAME PROTOTYPE' (so PROTOTYPE should be enclosed in
-+ parentheses). In traditional C it is `NAME()'.
-+ For a function that takes no arguments, PROTOTYPE should be `(void)'.
-+
-+ obsolete -- PROTO (type, name, (prototype) -- obsolete.
-+
-+ This one has also been replaced by PARAMS. Do not use.
-+
-+ PARAMS ((args))
-+
-+ We could use the EXFUN macro to handle prototype declarations, but
-+ the name is misleading and the result is ugly. So we just define a
-+ simple macro to handle the parameter lists, as in:
-+
-+ static int foo PARAMS ((int, char));
-+
-+ This produces: `static int foo();' or `static int foo (int, char);'
-+
-+ EXFUN would have done it like this:
-+
-+ static int EXFUN (foo, (int, char));
-+
-+ but the function is not external...and it's hard to visually parse
-+ the function name out of the mess. EXFUN should be considered
-+ obsolete; new code should be written to use PARAMS.
-+
-+ DOTS is also obsolete.
-+
-+ Examples:
-+
-+ extern int printf PARAMS ((const char *format, ...));
-+ */
-+
-+ #ifndef _ANSIDECL_H
-+
-+ #define _ANSIDECL_H 1
-+
-+
-+ /* Every source file includes this file,
-+ so they will all get the switch for lint. */
-+ /* LINTLIBRARY */
-+
-+
-+ #if defined (__STDC__) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(_WIN32)
-+ /* All known AIX compilers implement these things (but don't always
-+ define __STDC__). The RISC/OS MIPS compiler defines these things
-+ in SVR4 mode, but does not define __STDC__. */
-+
-+ #define PTR void *
-+ #define PTRCONST void *CONST
-+ #define LONG_DOUBLE long double
-+
-+ #ifndef IN_GCC
-+ #define AND ,
-+ #define NOARGS void
-+ #define VOLATILE volatile
-+ #define SIGNED signed
-+ #endif /* ! IN_GCC */
-+
-+ #define PARAMS(paramlist) paramlist
-+ #define ANSI_PROTOTYPES 1
-+
-+ #define VPARAMS(ARGS) ARGS
-+ #define VA_START(va_list,var) va_start(va_list,var)
-+
-+ /* These are obsolete. Do not use. */
-+ #ifndef IN_GCC
-+ #define CONST const
-+ #define DOTS , ...
-+ #define PROTO(type, name, arglist) type name arglist
-+ #define EXFUN(name, proto) name proto
-+ #define DEFUN(name, arglist, args) name(args)
-+ #define DEFUN_VOID(name) name(void)
-+ #endif /* ! IN_GCC */
-+
-+ #else /* Not ANSI C. */
-+
-+ #define PTR char *
-+ #define PTRCONST PTR
-+ #define LONG_DOUBLE double
-+
-+ #ifndef IN_GCC
-+ #define AND ;
-+ #define NOARGS
-+ #define VOLATILE
-+ #define SIGNED
-+ #endif /* !IN_GCC */
-+
-+ #ifndef const /* some systems define it in header files for non-ansi mode */
-+ #define const
-+ #endif
-+
-+ #define PARAMS(paramlist) ()
-+
-+ #define VPARAMS(ARGS) (va_alist) va_dcl
-+ #define VA_START(va_list,var) va_start(va_list)
-+
-+ /* These are obsolete. Do not use. */
-+ #ifndef IN_GCC
-+ #define CONST
-+ #define DOTS
-+ #define PROTO(type, name, arglist) type name ()
-+ #define EXFUN(name, proto) name()
-+ #define DEFUN(name, arglist, args) name arglist args;
-+ #define DEFUN_VOID(name) name()
-+ #endif /* ! IN_GCC */
-+
-+ #endif /* ANSI C. */
-+
-+ #endif /* ansidecl.h */
diff --git a/lang/gpc/files/patch-ac b/lang/gpc/files/patch-ac
deleted file mode 100644
index 32b12cc475b7..000000000000
--- a/lang/gpc/files/patch-ac
+++ /dev/null
@@ -1,33 +0,0 @@
-*** convert.c.orig Thu Aug 7 13:44:17 1997
---- convert.c Thu Mar 23 14:54:56 2000
-***************
-*** 288,294 ****
---- 288,299 ----
-
- /* Can't do arithmetic in enumeral types
- so use an integer type that will hold the values. */
-+ #ifdef GPC
-+ if (TREE_CODE (typex) == ENUMERAL_TYPE
-+ || TREE_CODE (typex) == BOOLEAN_TYPE)
-+ #else /* not GPC */
- if (TREE_CODE (typex) == ENUMERAL_TYPE)
-+ #endif /* not GPC */
- typex = type_for_size (TYPE_PRECISION (typex),
- TREE_UNSIGNED (typex));
-
-***************
-*** 326,332 ****
---- 331,343 ----
-
- /* Can't do arithmetic in enumeral types
- so use an integer type that will hold the values. */
-+ #ifdef GPC
-+ if (TREE_CODE (typex) == ENUMERAL_TYPE
-+ || TREE_CODE (typex) == CHAR_TYPE
-+ || TREE_CODE (typex) == BOOLEAN_TYPE)
-+ #else /* not GPC */
- if (TREE_CODE (typex) == ENUMERAL_TYPE)
-+ #endif /* not GPC */
- typex = type_for_size (TYPE_PRECISION (typex),
- TREE_UNSIGNED (typex));
-
diff --git a/lang/gpc/files/patch-ad b/lang/gpc/files/patch-ad
deleted file mode 100644
index 9ae4dab171fa..000000000000
--- a/lang/gpc/files/patch-ad
+++ /dev/null
@@ -1,39 +0,0 @@
-*** dbxout.c.orig Thu Oct 23 15:03:03 1997
---- dbxout.c Thu Mar 23 14:58:21 2000
-***************
-*** 960,965 ****
---- 960,993 ----
- else
- fprintf (asmfile, ";-1;");
- }
-+ #ifdef GPC
-+ void
-+ dbxout_set_type_status (type, defined)
-+ tree type;
-+ int defined;
-+ {
-+ if (TYPE_SYMTAB_ADDRESS (type) == 0)
-+ {
-+ /* Type has no dbx number assigned. Assign next available number. */
-+ TYPE_SYMTAB_ADDRESS (type) = next_type_number++;
-+
-+ /* Make sure type vector is long enough to record about this type. */
-+
-+ if (next_type_number == typevec_len)
-+ {
-+ typevec =
-+ (struct typeinfo *) xrealloc (typevec,
-+ typevec_len * 2 * sizeof typevec[0]);
-+ bzero ((char *) (typevec + typevec_len),
-+ typevec_len * sizeof typevec[0]);
-+ typevec_len *= 2;
-+ }
-+ }
-+ typevec[ TYPE_SYMTAB_ADDRESS (type) ].status =
-+ defined ? TYPE_DEFINED : TYPE_UNSEEN;
-+ }
-+ #endif /* GPC */
-+
-
- /* Output a reference to a type. If the type has not yet been
- described in the dbx output, output its definition now.
diff --git a/lang/gpc/files/patch-ae b/lang/gpc/files/patch-ae
deleted file mode 100644
index f24359936143..000000000000
--- a/lang/gpc/files/patch-ae
+++ /dev/null
@@ -1,12 +0,0 @@
-*** demangle.h.orig Wed Jul 30 22:02:03 1997
---- demangle.h Thu Mar 23 16:13:01 2000
-***************
-*** 22,28 ****
-
- #ifdef IN_GCC
- #include "gansidecl.h"
-- #define PARAMS(ARGS) PROTO(ARGS)
- #else /* ! IN_GCC */
- #include <ansidecl.h>
- #endif /* IN_GCC */
---- 22,27 ----
diff --git a/lang/gpc/files/patch-af b/lang/gpc/files/patch-af
deleted file mode 100644
index 955b9c7a6d2a..000000000000
--- a/lang/gpc/files/patch-af
+++ /dev/null
@@ -1,299 +0,0 @@
-*** expr.c.orig Wed Mar 4 04:32:19 1998
---- expr.c Thu Mar 23 15:23:42 2000
-***************
-*** 3931,3938 ****
---- 3931,3947 ----
- }
- }
- /* set constructor assignments */
-+ #ifdef GPC
- else if (TREE_CODE (type) == SET_TYPE)
- {
-+ void store_set_constructor ();
-+ store_set_constructor (exp, target);
-+ }
-+ else if (0 && TREE_CODE (type) == SET_TYPE) /* @@@@ Chill SET_TYPE */
-+ #else /* not GPC */
-+ else if (TREE_CODE (type) == SET_TYPE)
-+ #endif /* not GPC */
-+ {
- tree elt = CONSTRUCTOR_ELTS (exp);
- rtx xtarget = XEXP (target, 0);
- int set_word_size = TYPE_ALIGN (type);
-***************
-*** 5453,5458 ****
---- 5462,5481 ----
- store directly into the target unless the type is large enough
- that memcpy will be used. If we are making an initializer and
- all operands are constant, put it in memory as well. */
-+ #ifdef GPC
-+ else if (TREE_CODE (TREE_TYPE (exp)) != SET_TYPE
-+ &&
-+ ((TREE_STATIC (exp)
-+ && ((mode == BLKmode
-+ && ! (target != 0 && safe_from_p (target, exp, 1)))
-+ || TREE_ADDRESSABLE (exp)
-+ || (TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
-+ && (move_by_pieces_ninsns
-+ (TREE_INT_CST_LOW (TYPE_SIZE (type)),
-+ TYPE_ALIGN (type))
-+ > MOVE_RATIO))))
-+ || (modifier == EXPAND_INITIALIZER && TREE_CONSTANT (exp))))
-+ #else /* not GPC */
- else if ((TREE_STATIC (exp)
- && ((mode == BLKmode
- && ! (target != 0 && safe_from_p (target, exp, 1)))
-***************
-*** 5464,5469 ****
---- 5487,5493 ----
- > MOVE_RATIO)
- && ! mostly_zeros_p (exp))))
- || (modifier == EXPAND_INITIALIZER && TREE_CONSTANT (exp)))
-+ #endif /* not GPC */
- {
- rtx constructor = output_constant_def (exp);
- if (modifier != EXPAND_CONST_ADDRESS
-***************
-*** 5908,5913 ****
---- 5932,5946 ----
- abort ();
-
- case IN_EXPR:
-+ #ifdef GPC
-+ {
-+ /* @@@ Fix & move this. */
-+ rtx expand_set_in ();
-+
-+ preexpand_calls (exp);
-+ return expand_set_in (exp, target);
-+ }
-+ #else /* not GPC */
- {
- /* Pascal set IN expression.
-
-***************
-*** 6015,6020 ****
---- 6048,6063 ----
- emit_label (op0);
- return target;
- }
-+ #endif /* not GPC */
-+
-+ #ifdef GPC
-+ case CARD_EXPR: /* Count number of elements in a set. */
-+ preexpand_calls (exp);
-+ {
-+ rtx expand_set_card ();
-+ return expand_set_card (TREE_OPERAND (exp, 0), target);
-+ }
-+ #endif /* GPC */
-
- case WITH_CLEANUP_EXPR:
- if (RTL_EXPR_RTL (exp) == 0)
-***************
-*** 6469,6474 ****
---- 6512,6561 ----
- return expand_divmod (1, code, mode, op0, op1, target, unsignedp);
-
- case FIX_ROUND_EXPR:
-+ #ifdef GPC
-+ {
-+ /* ISO Pascal round(x):
-+ if x >= 0.0 then trunc (x+0.5) else trunc (x-0.5);
-+
-+ Pascal round is none of the four IEEE rounding modes:
-+ nearest, minus infinity, plus infinity or chop
-+
-+ So it is implemented with code. */
-+
-+ rtx label_positive = gen_label_rtx ();
-+ rtx label_done = gen_label_rtx ();
-+ rtx half;
-+ enum machine_mode fmode;
-+
-+ if (target == NULL_RTX)
-+ target = gen_reg_rtx (mode);
-+
-+ op0 = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, 0);
-+ fmode = GET_MODE (op0);
-+
-+ half = immed_real_const_1 (REAL_VALUE_ATOF ("0.5", fmode), fmode);
-+
-+ emit_cmp_insn (op0, CONST0_RTX (fmode), GE, 0, fmode, 0, 0);
-+ emit_jump_insn (gen_bge (label_positive));
-+
-+ expand_fix (target, expand_binop (fmode, sub_optab, op0, half,
-+ NULL_RTX, 0, OPTAB_DIRECT),
-+ 0);
-+ emit_queue ();
-+ emit_jump_insn (gen_jump (label_done));
-+ emit_barrier ();
-+ emit_queue ();
-+
-+ emit_label (label_positive);
-+ expand_fix (target, expand_binop (fmode, add_optab, op0, half,
-+ NULL_RTX, 0, OPTAB_DIRECT),
-+ 0);
-+ emit_queue ();
-+ emit_label (label_done);
-+
-+ return target;
-+ }
-+ #endif /* GPC */
- case FIX_FLOOR_EXPR:
- case FIX_CEIL_EXPR:
- abort (); /* Not used for C. */
-***************
-*** 6504,6512 ****
---- 6591,6612 ----
- op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0);
-
- /* Handle complex values specially. */
-+ #ifdef GPC
-+ /* It is the mode of the operand, not the mode of the return
-+ value that is tested here. ABS(complex) does not return
-+ complex type. */
-+ {
-+ enum machine_mode op0_mode =
-+ TYPE_MODE (TREE_TYPE (TREE_OPERAND (exp, 0)));
-+ if (GET_MODE_CLASS (op0_mode) == MODE_COMPLEX_INT
-+ || GET_MODE_CLASS (op0_mode) == MODE_COMPLEX_FLOAT)
-+ return expand_complex_abs (op0_mode, op0, target, unsignedp);
-+ }
-+ #else /* not GPC */
- if (GET_MODE_CLASS (mode) == MODE_COMPLEX_INT
- || GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT)
- return expand_complex_abs (mode, op0, target, unsignedp);
-+ #endif /* not GPC */
-
- /* Unsigned abs is simply the operand. Testing here means we don't
- risk generating incorrect code below. */
-***************
-*** 6629,6634 ****
---- 6729,6739 ----
- this_optab = xor_optab;
- goto binop;
-
-+ #ifdef GPC
-+ case BIT_ANDTC_EXPR:
-+ goto binop;
-+ #endif /* GPC */
-+
- case LSHIFT_EXPR:
- case RSHIFT_EXPR:
- case LROTATE_EXPR:
-***************
-*** 6649,6654 ****
---- 6754,6767 ----
- case EQ_EXPR:
- case NE_EXPR:
- preexpand_calls (exp);
-+ #ifdef GPC
-+ if (TREE_CODE (TREE_TYPE (TREE_OPERAND (exp, 0))) == SET_TYPE
-+ || TREE_CODE (TREE_TYPE (TREE_OPERAND (exp, 1))) == SET_TYPE)
-+ {
-+ rtx expand_set_comparison ();
-+ return expand_set_comparison (exp, target);
-+ }
-+ #endif /* GPC */
- temp = do_store_flag (exp, target, tmode != VOIDmode ? tmode : mode, 0);
- if (temp != 0)
- return temp;
-***************
-*** 7136,7141 ****
---- 7249,7273 ----
- && TYPE_READONLY (TREE_TYPE (TREE_OPERAND (lhs, 0)))))
- preexpand_calls (exp);
-
-+ #ifdef GPC
-+ if (TREE_CODE (type) == SET_TYPE
-+ && TREE_CODE (TREE_TYPE (TREE_TYPE (rhs))) == VOID_TYPE)
-+ {
-+ /* Assigning an empty set. */
-+
-+ int size = int_size_in_bytes (type);
-+
-+ /* Only constant bounds in standard pascal. */
-+ if (size == -1)
-+ abort ();
-+
-+ target = expand_expr (lhs, target, VOIDmode, 0);
-+ clear_storage (target, expr_size (exp),
-+ TYPE_ALIGN (type) / BITS_PER_UNIT);
-+ return ignore ? const0_rtx : target;
-+ }
-+ #endif /* GPC */
-+
- /* Check for |= or &= of a bitfield of size one into another bitfield
- of size 1. In this case, (unless we need the result of the
- assignment) we can do this more efficiently with a
-***************
-*** 7415,7420 ****
---- 7547,7560 ----
- from the optab already placed in `this_optab'. */
- binop:
- preexpand_calls (exp);
-+ #ifdef GPC
-+ if (TREE_CODE (TREE_TYPE (TREE_OPERAND (exp, 0))) == SET_TYPE
-+ || TREE_CODE (TREE_TYPE (TREE_OPERAND (exp, 1))) == SET_TYPE)
-+ {
-+ rtx expand_set_binop ();
-+ return expand_set_binop (exp, target);
-+ }
-+ #endif /* GPC */
- if (! safe_from_p (subtarget, TREE_OPERAND (exp, 1), 1))
- subtarget = 0;
- op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0);
-***************
-*** 10888,10901 ****
---- 11028,11077 ----
- register tree exp;
- enum rtx_code signed_code, unsigned_code;
- {
-+ #ifdef GPC
-+ register rtx op0;
-+ register rtx op1;
-+ #else /* not GPC */
- register rtx op0
- = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, 0);
- register rtx op1
- = expand_expr (TREE_OPERAND (exp, 1), NULL_RTX, VOIDmode, 0);
-+ #endif /* not GPC */
- register tree type = TREE_TYPE (TREE_OPERAND (exp, 0));
- register enum machine_mode mode = TYPE_MODE (type);
- int unsignedp = TREE_UNSIGNED (type);
- enum rtx_code code = unsignedp ? unsigned_code : signed_code;
-+
-+ #ifdef GPC
-+ if (TREE_CODE (type) == SET_TYPE
-+ || TREE_CODE (TREE_TYPE (TREE_OPERAND (exp, 1))) == SET_TYPE)
-+ {
-+
-+ /* Generate code to compare two set operands.
-+
-+ First generate code that compares the words in the set.
-+ The two sets are not necessarily same size in memory,
-+ so block compare does not work here.
-+ (If op0 is a constructor [ 'A' ] and op1 is a
-+ set with elements [ chr('0') .. chr (255) ],
-+ then op0 takes one word and op1 takes 8 words in
-+ a 32 bit machine.)
-+
-+ The (boolean) result is then compared to const1_rtx with the
-+ mode of the set comparison result to set the CC0 as the caller
-+ wants. */
-+
-+ op0 = expand_expr (exp, NULL_RTX, VOIDmode, 0);
-+ mode = GET_MODE (op0);
-+ code = EQ;
-+ op1 = const1_rtx;
-+ }
-+ else
-+ {
-+ op0 = expand_expr (TREE_OPERAND (exp, 0), NULL_RTX, VOIDmode, 0);
-+ op1 = expand_expr (TREE_OPERAND (exp, 1), NULL_RTX, VOIDmode, 0);
-+ }
-+ #endif /* GPC */
-
- #ifdef HAVE_canonicalize_funcptr_for_compare
- /* If function pointers need to be "canonicalized" before they can
diff --git a/lang/gpc/files/patch-ag b/lang/gpc/files/patch-ag
deleted file mode 100644
index f88718ed10a9..000000000000
--- a/lang/gpc/files/patch-ag
+++ /dev/null
@@ -1,171 +0,0 @@
-*** fold-const.c.orig Sat Feb 28 22:58:15 1998
---- fold-const.c Thu Mar 23 15:32:50 2000
-***************
-*** 1225,1232 ****
---- 1225,1236 ----
- }
-
- TREE_OVERFLOW (t)
-+ #ifdef GPC
-+ = ((notrunc ? overflow : force_fit_type (t, overflow))
-+ #else /* not GPC */
- = ((notrunc ? (!uns || forsize) && overflow
- : force_fit_type (t, (!uns || forsize) && overflow) && ! no_overflow)
-+ #endif /* not GPC */
- | TREE_OVERFLOW (arg1)
- | TREE_OVERFLOW (arg2));
- /* If we're doing a size calculation, unsigned arithmetic does overflow.
-***************
-*** 4489,4494 ****
---- 4493,4510 ----
- goto associate;
-
- case BIT_IOR_EXPR:
-+ #ifdef GPC
-+ if (TREE_CODE (type) == SET_TYPE)
-+ {
-+ /* S + [] == S */
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return arg0;
-+
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return arg1;
-+ goto associate;
-+ }
-+ #endif /* GPC */
- bit_ior:
- {
- register enum tree_code code0, code1;
-***************
-*** 4550,4555 ****
---- 4566,4583 ----
- }
-
- case BIT_XOR_EXPR:
-+ #ifdef GPC
-+ if (TREE_CODE (type) == SET_TYPE)
-+ {
-+ /* S >< [] == S */
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return arg0;
-+
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return arg1;
-+ goto associate;
-+ }
-+ #endif /* GPC */
- if (integer_zerop (arg1))
- return non_lvalue (convert (type, arg0));
- if (integer_all_onesp (arg1))
-***************
-*** 4557,4562 ****
---- 4585,4602 ----
- goto associate;
-
- case BIT_AND_EXPR:
-+ #ifdef GPC
-+ if (TREE_CODE (type) == SET_TYPE)
-+ {
-+ /* S * [] == [] */
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return arg1;
-+
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return arg0;
-+ goto associate;
-+ }
-+ #endif /* GPC */
- bit_and:
- if (integer_all_onesp (arg1))
- return non_lvalue (convert (type, arg0));
-***************
-*** 4587,4592 ****
---- 4627,4644 ----
- goto associate;
-
- case BIT_ANDTC_EXPR:
-+ #ifdef GPC
-+ if (TREE_CODE (type) == SET_TYPE)
-+ {
-+ /* S - [] == S; [] - S == [] */
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return arg0;
-+
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return arg0;
-+ goto associate;
-+ }
-+ #endif /* GPC */
- if (integer_all_onesp (arg0))
- return non_lvalue (convert (type, arg1));
- if (integer_zerop (arg0))
-***************
-*** 4998,5003 ****
---- 5050,5093 ----
- case GT_EXPR:
- case LE_EXPR:
- case GE_EXPR:
-+ #ifdef GPC
-+ if (TREE_CODE (TREE_TYPE (arg0)) == SET_TYPE)
-+ {
-+ switch (code)
-+ {
-+ case EQ_EXPR:
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE
-+ && TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return convert (type, integer_one_node);
-+ break;
-+ case NE_EXPR:
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE
-+ && TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return convert (type, integer_zero_node);
-+ break;
-+ case LE_EXPR:
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return convert (type, integer_one_node);
-+ break;
-+ case GE_EXPR:
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return convert (type, integer_one_node);
-+ break;
-+ case GT_EXPR:
-+ /* Optimized from: "not (arg0 <= arg1)" */
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return convert (type, integer_zero_node);
-+ break;
-+ case LT_EXPR:
-+ /* Optimized from: "not (arg0 >= arg1)" */
-+ if (TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) == VOID_TYPE)
-+ return convert (type, integer_zero_node);
-+ break;
-+ default:
-+ abort ();
-+ }
-+ }
-+ #endif /* GPC */
- /* If one arg is a constant integer, put it last. */
- if (TREE_CODE (arg0) == INTEGER_CST
- && TREE_CODE (arg1) != INTEGER_CST)
-***************
-*** 5782,5787 ****
---- 5872,5891 ----
- return pedantic_non_lvalue (convert (type, TREE_OPERAND (arg0, 0)));
-
- return t;
-+
-+ #ifdef GPC
-+ case CARD_EXPR:
-+ if (TREE_CODE (TREE_TYPE (arg0)) == SET_TYPE
-+ && TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return convert (type, integer_zero_node);
-+ return t;
-+
-+ case IN_EXPR:
-+ if (TREE_CODE (TREE_TYPE (arg0)) == SET_TYPE
-+ && TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) == VOID_TYPE)
-+ return convert (type, integer_zero_node);
-+ return t;
-+ #endif /* GPC */
-
- case COMPOUND_EXPR:
- /* When pedantic, a compound expression can be neither an lvalue
diff --git a/lang/gpc/files/patch-ah b/lang/gpc/files/patch-ah
deleted file mode 100644
index b528b5db42cd..000000000000
--- a/lang/gpc/files/patch-ah
+++ /dev/null
@@ -1,44 +0,0 @@
-*** function.c.orig Sat Feb 28 22:58:16 1998
---- function.c Thu Mar 23 15:34:50 2000
-***************
-*** 463,468 ****
---- 463,491 ----
- /* Given a function decl for a containing function,
- return the `struct function' for it. */
-
-+ #ifdef GPC
-+ struct function *
-+ maybe_find_function_data (decl)
-+ tree decl;
-+ {
-+ struct function *p;
-+ for (p = outer_function_chain; p; p = p->next)
-+ if (p->decl == decl)
-+ return p;
-+ return (struct function *)NULL;
-+ }
-+
-+ struct function *
-+ find_function_data (decl)
-+ tree decl;
-+ {
-+ struct function *p = maybe_find_function_data (decl);
-+ if (!p)
-+ abort ();
-+ return p;
-+ }
-+
-+ #else /* not GPC */
- struct function *
- find_function_data (decl)
- tree decl;
-***************
-*** 475,480 ****
---- 498,504 ----
-
- abort ();
- }
-+ #endif /* not GPC */
-
- /* Save the current context for compilation of a nested function.
- This is called from language-specific code.
diff --git a/lang/gpc/files/patch-ai b/lang/gpc/files/patch-ai
deleted file mode 100644
index 9f1614ed783d..000000000000
--- a/lang/gpc/files/patch-ai
+++ /dev/null
@@ -1,135 +0,0 @@
-*** gansidecl.h.orig Sat Feb 14 18:31:43 1998
---- gansidecl.h Thu Mar 23 16:07:55 2000
-***************
-*** 22,107 ****
- in binutils and gdb releases.
- ??? Over time the two should be merged into one. */
-
-! #ifndef ANSIDECL_H
-! #define ANSIDECL_H
-
-! /* Add prototype support. */
-! #ifndef PROTO
-! #if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)
-! #define PROTO(ARGS) ARGS
-! #else
-! #define PROTO(ARGS) ()
-! #endif
-! #endif
-
-! #ifndef VPROTO
-! #ifdef __STDC__
-! #define PVPROTO(ARGS) ARGS
-! #define VPROTO(ARGS) ARGS
-! #define VA_START(va_list,var) va_start(va_list,var)
-! #else
-! #define PVPROTO(ARGS) ()
-! #define VPROTO(ARGS) (va_alist) va_dcl
-! #define VA_START(va_list,var) va_start(va_list)
-! #endif
- #endif
-
-- /* Define a generic NULL if one hasn't already been defined. */
-
-! #ifndef NULL
-! #define NULL 0
-! #endif
-!
-! #ifndef GENERIC_PTR
-! #if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)
-! #define GENERIC_PTR void *
-! #else
-! #define GENERIC_PTR char *
-! #endif
-! #endif
-
- #ifndef NULL_PTR
-! #define NULL_PTR ((GENERIC_PTR) 0)
-! #endif
-!
-! #ifdef __STDC__
-!
-! #define PTR void *
-!
-! #else
-!
-! #define PTR char *
-! #ifndef const
-! #define const
-! #endif
-!
-! #endif /* ! __STDC__ */
-!
-! /* We don't have autoconf for libgcc2.c since it's a target, so don't
-! define these functions, which aren't used there anyway. */
-!
-! #ifndef IN_LIBGCC2
-!
-! #ifndef HAVE_BCOPY
-! #define bcopy(src,dst,len) memcpy ((dst),(src),(len))
-! #endif
-!
-! #ifndef HAVE_BZERO
-! #define bzero(dst,len) memset ((dst),0,(len))
-! #endif
-!
-! #ifndef HAVE_BCMP
-! #define bcmp(left,right,len) memcmp ((left),(right),(len))
-! #endif
-!
-! #ifndef HAVE_RINDEX
-! #define rindex strrchr
-! #endif
-!
-! #ifndef HAVE_INDEX
-! #define index strchr
- #endif
-
-! #endif /* IN_LIBGCC2 */
-
-- #endif /* ANSIDECL_H */
---- 22,65 ----
- in binutils and gdb releases.
- ??? Over time the two should be merged into one. */
-
-! #ifndef __GANSIDECL_H__
-! #define __GANSIDECL_H__
-
-! #include "ansidecl.h"
-
-! /* Undef ansidecl.h's "obsolete" version. */
-! #undef PROTO
-! /* These macros are deprecated, use ansidecl.h's PARAMS style instead. */
-! #define PROTO(ARGS) PARAMS(ARGS)
-! #define VPROTO(ARGS) VPARAMS(ARGS)
-! #define PVPROTO(ARGS) PARAMS(ARGS)
-!
-! #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
-! # define __attribute__(x)
- #endif
-
-
-! #ifndef ATTRIBUTE_UNUSED
-! #define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
-! #endif /* ATTRIBUTE_UNUSED */
-!
-! #ifndef ATTRIBUTE_NORETURN
-! #define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
-! #endif /* ATTRIBUTE_NORETURN */
-!
-! #ifndef ATTRIBUTE_PRINTF
-! #define ATTRIBUTE_PRINTF(m, n) __attribute__ ((format (__printf__, m, n)))
-! #define ATTRIBUTE_PRINTF_1 ATTRIBUTE_PRINTF(1, 2)
-! #define ATTRIBUTE_PRINTF_2 ATTRIBUTE_PRINTF(2, 3)
-! #define ATTRIBUTE_PRINTF_3 ATTRIBUTE_PRINTF(3, 4)
-! #define ATTRIBUTE_PRINTF_4 ATTRIBUTE_PRINTF(4, 5)
-! #define ATTRIBUTE_PRINTF_5 ATTRIBUTE_PRINTF(5, 6)
-! #endif /* ATTRIBUTE_PRINTF */
-! #define GENERIC_PTR PTR
-
- #ifndef NULL_PTR
-! #define NULL_PTR ((PTR) 0)
- #endif
-
-! #endif /* __GANSIDECL_H__ */
-
diff --git a/lang/gpc/files/patch-aj b/lang/gpc/files/patch-aj
deleted file mode 100644
index d2f6c918cd97..000000000000
--- a/lang/gpc/files/patch-aj
+++ /dev/null
@@ -1,7 +0,0 @@
-*** mbchar.c.orig Thu Jan 1 03:00:00 1970
---- mbchar.c Thu Mar 23 16:13:36 2000
-***************
-*** 0 ****
---- 1 ----
-+ /* empty */
-\ No newline at end of file
diff --git a/lang/gpc/files/patch-ak b/lang/gpc/files/patch-ak
deleted file mode 100644
index df4d00205aa3..000000000000
--- a/lang/gpc/files/patch-ak
+++ /dev/null
@@ -1,49 +0,0 @@
-*** optabs.c.orig Sat Feb 14 13:41:17 1998
---- optabs.c Thu Mar 23 15:38:53 2000
-***************
-*** 1379,1384 ****
---- 1379,1422 ----
-
- ok = 1;
- }
-+ #ifdef GPC
-+ /* Optimization if real part of divisor is zero. */
-+ else if (real1 == 0)
-+ {
-+ /* (a+ib) / (0+id) == -i(a+ib) / d == (b/d + i(-a/d) */
-+
-+ /* Fetch imag1 from memory only once. */
-+ imag1 = force_reg (submode, imag1);
-+
-+ if (class == MODE_COMPLEX_FLOAT)
-+ res = expand_binop (submode, binoptab, imag0, imag1,
-+ realr, unsignedp, methods);
-+ else
-+ res = expand_divmod (0, TRUNC_DIV_EXPR, submode,
-+ imag0, imag1, realr, unsignedp);
-+ if (res == 0)
-+ break;
-+ else if (res != realr)
-+ emit_move_insn (realr, res);
-+
-+ if (class == MODE_COMPLEX_FLOAT)
-+ res = expand_binop (submode, binoptab, real0,
-+ imag1, imagr, unsignedp, methods);
-+ else
-+ res = expand_divmod (0, TRUNC_DIV_EXPR, submode,
-+ real0, imag1, imagr, unsignedp);
-+
-+ /* Negate the imaginary part. */
-+ res = expand_unop (submode, neg_optab,
-+ res, imagr, unsignedp);
-+ if (res == 0)
-+ break;
-+ else if (res != imagr)
-+ emit_move_insn (imagr, res);
-+
-+ ok = 1;
-+ }
-+ #endif /* GPC */
- else
- {
- /* Divisor is of complex type:
diff --git a/lang/gpc/files/patch-al b/lang/gpc/files/patch-al
deleted file mode 100644
index 5d5da64f57d6..000000000000
--- a/lang/gpc/files/patch-al
+++ /dev/null
@@ -1,41 +0,0 @@
-*** prefix.c.orig Fri Feb 6 16:04:22 1998
---- prefix.c Thu Mar 23 15:40:38 2000
-***************
-*** 232,238 ****
- char *name;
- {
- char code = name[0];
-! char *key, *prefix = 0;
- int keylen;
-
- if (code != '@' && code != '$')
---- 232,238 ----
- char *name;
- {
- char code = name[0];
-! char *key, *prefix = 0, *oldname = name;
- int keylen;
-
- if (code != '@' && code != '$')
-***************
-*** 272,278 ****
- prefix[strlen (prefix) - 1] = 0;
- }
-
-! return concat (prefix, name, NULL_PTR);
- }
-
- /* Update PATH using KEY if PATH starts with PREFIX. */
---- 272,283 ----
- prefix[strlen (prefix) - 1] = 0;
- }
-
-! name = concat (prefix, name, NULL_PTR);
-!
-! if (!strcmp (name, oldname))
-! return 0;
-!
-! return name;
- }
-
- /* Update PATH using KEY if PATH starts with PREFIX. */
diff --git a/lang/gpc/files/patch-am b/lang/gpc/files/patch-am
deleted file mode 100644
index b6553c3474d1..000000000000
--- a/lang/gpc/files/patch-am
+++ /dev/null
@@ -1,233 +0,0 @@
-*** stor-layout.c.orig Sat Nov 8 16:12:07 1997
---- stor-layout.c Thu Mar 23 15:48:05 2000
-***************
-*** 65,70 ****
---- 65,79 ----
-
- int immediate_size_expand;
-
-+ #ifdef GPC
-+
-+ /* Nonzero means that the size of a type may vary
-+ within one function context. */
-+
-+ int size_volatile = 0;
-+
-+ #endif /* GPC */
-+
- tree
- get_pending_sizes ()
- {
-***************
-*** 102,109 ****
- || global_bindings_p () < 0 || contains_placeholder_p (size))
- return size;
-
-! size = save_expr (size);
-!
- if (global_bindings_p ())
- {
- if (TREE_CONSTANT (size))
---- 111,123 ----
- || global_bindings_p () < 0 || contains_placeholder_p (size))
- return size;
-
-! #ifdef GPC
-! if (! size_volatile)
-! size = save_expr (size);
-! #else /* not GPC */
-! size = save_expr (size);
-! #endif /* not GPC */
-!
- if (global_bindings_p ())
- {
- if (TREE_CONSTANT (size))
-***************
-*** 119,125 ****
---- 133,143 ----
- Also, we would like to pass const0_rtx here, but don't have it. */
- expand_expr (size, expand_expr (integer_zero_node, NULL_PTR, VOIDmode, 0),
- VOIDmode, 0);
-+ #ifdef GPC
-+ else if (! size_volatile)
-+ #else /* not GPC */
- else
-+ #endif /* not GPC */
- pending_sizes = tree_cons (NULL_TREE, size, pending_sizes);
-
- return size;
-***************
-*** 953,958 ****
---- 971,1117 ----
- }
- break;
-
-+ #ifdef GPC
-+ /* Unfortunately the code for SET_TYPE in standard gcc 2.6.3 will
-+ not work for pascal sets. The problem is that the code aligns
-+ the set so that it always starts from the first bit of the
-+ aligned set. (i.e it shifts bit 0 to the firt bit of the
-+ aligned first word of the set). This is ok, if the set low
-+ bound is zero (as in powersets) or any multiple of
-+ "set_alignment". But this is not always the case in Pascal.
-+
-+ It causes problems when using set types with set constructors
-+ in an expression, possibly the expression having ranges whose
-+ both bounds are variable.
-+
-+ The method used in GPC is to adjust the sets so that the bits
-+ are never shifted to the beginning of the aligned entity (in
-+ gpc, it is a word), but rather more room is allocated in
-+ front and behind of the actual set, so that both bounds are aligned
-+ and then the size used by the set is counted.
-+
-+ The code below works as the original code for the special
-+ cases when set low bound is 0 or a multiple of alignement,
-+ but it also works for GPC.
-+
-+ Also, the code in the case when the bounds are variable
-+ should work, and the algorithm is the same as in the
-+ constant case, but the calculation is done in tree nodes
-+ (so it can be folded wherever possible).
-+
-+ In this case, the original code called abort(). */
-+
-+ #ifndef SET_WORD_SIZE
-+ #define SET_WORD_SIZE BITS_PER_WORD
-+ #endif
-+
-+ case SET_TYPE:
-+ if (TREE_CODE (TYPE_MAX_VALUE (TYPE_DOMAIN (type))) == INTEGER_CST
-+ && TREE_CODE (TYPE_MIN_VALUE (TYPE_DOMAIN (type))) == INTEGER_CST)
-+ {
-+ int alignment = set_alignment ? set_alignment : SET_WORD_SIZE;
-+ int aligned_size_in_bits;
-+ int low_bound, high_bound;
-+
-+ int l_index = TREE_INT_CST_LOW (TYPE_MIN_VALUE (TYPE_DOMAIN (type)));
-+ int h_index = TREE_INT_CST_LOW (TYPE_MAX_VALUE (TYPE_DOMAIN (type)));
-+
-+ if (l_index == 0 && h_index == -1)
-+ {
-+ /* Special empty set node */
-+ TYPE_SIZE (type) = size_zero_node;
-+ TYPE_MODE (type) = VOIDmode;
-+ TYPE_ALIGN (type) = 1;
-+ break;
-+ }
-+
-+ /* Calculate an aligned low bound from the set low bound */
-+ low_bound = l_index - (l_index % alignment);
-+
-+ /* Calculate an aligned high bound from the set high bound */
-+ high_bound = (alignment-1) + (alignment * (h_index / alignment));
-+
-+ /* This is the aligned size (both low and high aligned) */
-+ aligned_size_in_bits = high_bound - low_bound + 1;
-+
-+ if (aligned_size_in_bits > alignment)
-+ TYPE_MODE (type) = BLKmode;
-+ else
-+ TYPE_MODE (type) = mode_for_size (alignment, MODE_INT, 1);
-+
-+ TYPE_SIZE (type) = size_int (aligned_size_in_bits);
-+ TYPE_ALIGN (type) = alignment;
-+ TYPE_PRECISION (type) = h_index - l_index + 1;
-+ }
-+ else
-+ {
-+ tree domain = TYPE_DOMAIN (type);
-+ int alignment = set_alignment ? set_alignment : SET_WORD_SIZE;
-+ tree align = build_int_2 (alignment, 0);
-+
-+ /* @@@@@ Negative bounds do not work here.
-+
-+ @@@ Although this should work, variable bound sets are
-+ not supported in setop.c. */
-+
-+ extern tree build_binary_op (enum tree_code, tree, tree, int);
-+
-+ /* low_bound = low_index - (low_index % align); */
-+ tree low_bound =
-+ build_binary_op (MINUS_EXPR,
-+ convert (integer_type_node,
-+ TYPE_MIN_VALUE (domain)),
-+ build_binary_op (TRUNC_MOD_EXPR,
-+ convert (integer_type_node,
-+ TYPE_MIN_VALUE (domain)),
-+ align,
-+ 0),
-+ 0);
-+
-+ /* Upper bit number. Avoid overflow. */
-+ /* upper_bound = (align-1) + (align * (high_index / align)); */
-+ tree high_bound =
-+ build_binary_op
-+ (PLUS_EXPR,
-+ build_int_2 (alignment - 1, 0),
-+ build_binary_op (MULT_EXPR,
-+ align,
-+ build_binary_op (TRUNC_DIV_EXPR,
-+ convert (integer_type_node,
-+ TYPE_MAX_VALUE (domain)),
-+ align,
-+ 0),
-+ 0),
-+ 0);
-+
-+ /* Allocated TYPE_SIZE in bits, including possible aligning */
-+ /* set_size_in_bits = high_bound - low_bound + 1; */
-+ TYPE_SIZE (type) =
-+ build_binary_op (PLUS_EXPR,
-+ integer_one_node,
-+ build_binary_op (MINUS_EXPR,
-+ high_bound,
-+ low_bound,
-+ 0),
-+ 0);
-+
-+ TYPE_ALIGN (type) = alignment;
-+
-+ /* Find out if the set fits in word_mode. If not, use BLKmode.
-+ @@@ But it requires knowing the size, which is variable
-+ in this case ... */
-+
-+ if (TYPE_SIZE (type)
-+ && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
-+ && TREE_INT_CST_LOW (TYPE_SIZE (type)) <= alignment)
-+ TYPE_MODE (type) = mode_for_size (alignment, MODE_INT, 1);
-+ else
-+ TYPE_MODE (type) = BLKmode;
-+ }
-+ break;
-+ #else /* not GPC */
-+
-+
- case SET_TYPE: /* Used by Chill and Pascal. */
- if (TREE_CODE (TYPE_MAX_VALUE (TYPE_DOMAIN (type))) != INTEGER_CST
- || TREE_CODE (TYPE_MIN_VALUE (TYPE_DOMAIN (type))) != INTEGER_CST)
-***************
-*** 977,982 ****
---- 1136,1142 ----
- TYPE_PRECISION (type) = size_in_bits;
- }
- break;
-+ #endif /* not GPC */
-
- case FILE_TYPE:
- /* The size may vary in different languages, so the language front end
-***************
-*** 1152,1157 ****
---- 1312,1323 ----
- >> (HOST_BITS_PER_WIDE_INT
- - (precision - HOST_BITS_PER_WIDE_INT)))
- : 0);
-+ #ifdef GPC
-+ /* Not only for Pascal, but other languages don't seem to care
-+ about this. */
-+ TREE_UNSIGNED (TYPE_MIN_VALUE (type)) = 1;
-+ TREE_UNSIGNED (TYPE_MAX_VALUE (type)) = 1;
-+ #endif /* GPC */
- TREE_TYPE (TYPE_MIN_VALUE (type)) = type;
- TREE_TYPE (TYPE_MAX_VALUE (type)) = type;
-
diff --git a/lang/gpc/files/patch-an b/lang/gpc/files/patch-an
deleted file mode 100644
index 97406adf8937..000000000000
--- a/lang/gpc/files/patch-an
+++ /dev/null
@@ -1,398 +0,0 @@
-*** system.h.orig Thu Jan 1 03:00:00 1970
---- system.h Thu Mar 23 16:11:35 2000
-***************
-*** 0 ****
---- 1,393 ----
-+ /* system.h - Get common system includes and various definitions and
-+ declarations based on autoconf macros.
-+ Copyright (C) 1998 Free Software Foundation, Inc.
-+
-+ */
-+
-+ #ifndef __GCC_SYSTEM_H__
-+ #define __GCC_SYSTEM_H__
-+
-+ /* We must include stdarg.h/varargs.h before stdio.h. */
-+ #ifdef ANSI_PROTOTYPES
-+ #include <stdarg.h>
-+ #else
-+ #include <varargs.h>
-+ #endif
-+
-+ #include <stdio.h>
-+
-+ /* Define a generic NULL if one hasn't already been defined. */
-+ #ifndef NULL
-+ #define NULL 0
-+ #endif
-+
-+ /* The compiler is not a multi-threaded application and therefore we
-+ do not have to use the locking functions. */
-+ #ifdef HAVE_PUTC_UNLOCKED
-+ # undef putc
-+ # define putc(C, Stream) putc_unlocked (C, Stream)
-+ #endif
-+ #ifdef HAVE_FPUTC_UNLOCKED
-+ # undef fputc
-+ # define fputc(C, Stream) fputc_unlocked (C, Stream)
-+ #endif
-+ #ifdef HAVE_FPUTS_UNLOCKED
-+ # undef fputs
-+ # define fputs(String, Stream) fputs_unlocked (String, Stream)
-+ #endif
-+
-+ #include <ctype.h>
-+
-+ /* Jim Meyering writes:
-+
-+ "... Some ctype macros are valid only for character codes that
-+ isascii says are ASCII (SGI's IRIX-4.0.5 is one such system --when
-+ using /bin/cc or gcc but without giving an ansi option). So, all
-+ ctype uses should be through macros like ISPRINT... If
-+ STDC_HEADERS is defined, then autoconf has verified that the ctype
-+ macros don't need to be guarded with references to isascii. ...
-+ Defining isascii to 1 should let any compiler worth its salt
-+ eliminate the && through constant folding."
-+
-+ Bruno Haible adds:
-+
-+ "... Furthermore, isupper(c) etc. have an undefined result if c is
-+ outside the range -1 <= c <= 255. One is tempted to write isupper(c)
-+ with c being of type `char', but this is wrong if c is an 8-bit
-+ character >= 128 which gets sign-extended to a negative value.
-+ The macro ISUPPER protects against this as well." */
-+
-+ #if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
-+ # define IN_CTYPE_DOMAIN(c) 1
-+ #else
-+ # define IN_CTYPE_DOMAIN(c) isascii(c)
-+ #endif
-+
-+ #ifdef isblank
-+ # define ISBLANK(c) (IN_CTYPE_DOMAIN (c) && isblank (c))
-+ #else
-+ # define ISBLANK(c) ((c) == ' ' || (c) == '\t')
-+ #endif
-+ #ifdef isgraph
-+ # define ISGRAPH(c) (IN_CTYPE_DOMAIN (c) && isgraph (c))
-+ #else
-+ # define ISGRAPH(c) (IN_CTYPE_DOMAIN (c) && isprint (c) && !isspace (c))
-+ #endif
-+
-+ #define ISPRINT(c) (IN_CTYPE_DOMAIN (c) && isprint (c))
-+ #define ISALNUM(c) (IN_CTYPE_DOMAIN (c) && isalnum (c))
-+ #define ISALPHA(c) (IN_CTYPE_DOMAIN (c) && isalpha (c))
-+ #define ISCNTRL(c) (IN_CTYPE_DOMAIN (c) && iscntrl (c))
-+ #define ISLOWER(c) (IN_CTYPE_DOMAIN (c) && islower (c))
-+ #define ISPUNCT(c) (IN_CTYPE_DOMAIN (c) && ispunct (c))
-+ #define ISSPACE(c) (IN_CTYPE_DOMAIN (c) && isspace (c))
-+ #define ISUPPER(c) (IN_CTYPE_DOMAIN (c) && isupper (c))
-+ #define ISXDIGIT(c) (IN_CTYPE_DOMAIN (c) && isxdigit (c))
-+ #define ISDIGIT_LOCALE(c) (IN_CTYPE_DOMAIN (c) && isdigit (c))
-+
-+ /* ISDIGIT differs from ISDIGIT_LOCALE, as follows:
-+ - Its arg may be any int or unsigned int; it need not be an unsigned char.
-+ - It's guaranteed to evaluate its argument exactly once.
-+ - It's typically faster.
-+ Posix 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that
-+ only '0' through '9' are digits. Prefer ISDIGIT to ISDIGIT_LOCALE unless
-+ it's important to use the locale's definition of `digit' even when the
-+ host does not conform to Posix. */
-+ #define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
-+
-+
-+ #include <sys/types.h>
-+ #include <errno.h>
-+
-+ #ifndef errno
-+ extern int errno;
-+ #endif
-+
-+ #ifdef STRING_WITH_STRINGS
-+ # include <string.h>
-+ # include <strings.h>
-+ #else
-+ # ifdef HAVE_STRING_H
-+ # include <string.h>
-+ # else
-+ # ifdef HAVE_STRINGS_H
-+ # include <strings.h>
-+ # endif
-+ # endif
-+ #endif
-+
-+ #ifdef HAVE_STDLIB_H
-+ # include <stdlib.h>
-+ #endif
-+
-+ #ifdef HAVE_UNISTD_H
-+ # include <unistd.h>
-+ #endif
-+
-+ #ifdef HAVE_SYS_PARAM_H
-+ # include <sys/param.h>
-+ #endif
-+
-+ #if HAVE_LIMITS_H
-+ # include <limits.h>
-+ #endif
-+
-+ #ifdef TIME_WITH_SYS_TIME
-+ # include <sys/time.h>
-+ # include <time.h>
-+ #else
-+ # if HAVE_SYS_TIME_H
-+ # include <sys/time.h>
-+ # else
-+ # ifdef HAVE_TIME_H
-+ # include <time.h>
-+ # endif
-+ # endif
-+ #endif
-+
-+ #ifdef HAVE_FCNTL_H
-+ # include <fcntl.h>
-+ #else
-+ # ifdef HAVE_SYS_FILE_H
-+ # include <sys/file.h>
-+ # endif
-+ #endif
-+
-+ #ifndef SEEK_SET
-+ # define SEEK_SET 0
-+ # define SEEK_CUR 1
-+ # define SEEK_END 2
-+ #endif
-+ #ifndef F_OK
-+ # define F_OK 0
-+ # define X_OK 1
-+ # define W_OK 2
-+ # define R_OK 4
-+ #endif
-+ #ifndef O_RDONLY
-+ # define O_RDONLY 0
-+ #endif
-+ #ifndef O_WRONLY
-+ # define O_WRONLY 1
-+ #endif
-+
-+ #ifdef HAVE_SYS_WAIT_H
-+ #include <sys/wait.h>
-+ #endif
-+
-+ #ifndef WIFSIGNALED
-+ #define WIFSIGNALED(S) (((S) & 0xff) != 0 && ((S) & 0xff) != 0x7f)
-+ #endif
-+ #ifndef WTERMSIG
-+ #define WTERMSIG(S) ((S) & 0x7f)
-+ #endif
-+ #ifndef WIFEXITED
-+ #define WIFEXITED(S) (((S) & 0xff) == 0)
-+ #endif
-+ #ifndef WEXITSTATUS
-+ #define WEXITSTATUS(S) (((S) & 0xff00) >> 8)
-+ #endif
-+
-+
-+
-+ #ifndef bcopy
-+ # ifdef HAVE_BCOPY
-+ # ifdef NEED_DECLARATION_BCOPY
-+ extern void bcopy ();
-+ # endif
-+ # else /* ! HAVE_BCOPY */
-+ # define bcopy(src,dst,len) memcpy ((dst),(src),(len))
-+ # endif
-+ #endif
-+
-+ #ifndef bcmp
-+ # ifdef HAVE_BCMP
-+ # ifdef NEED_DECLARATION_BCMP
-+ extern int bcmp ();
-+ # endif
-+ # else /* ! HAVE_BCMP */
-+ # define bcmp(left,right,len) memcmp ((left),(right),(len))
-+ # endif
-+ #endif
-+
-+ #ifndef bzero
-+ # ifdef HAVE_BZERO
-+ # ifdef NEED_DECLARATION_BZERO
-+ extern void bzero ();
-+ # endif
-+ # else /* ! HAVE_BZERO */
-+ # define bzero(dst,len) memset ((dst),0,(len))
-+ # endif
-+ #endif
-+
-+ #ifndef index
-+ # ifdef HAVE_INDEX
-+ # ifdef NEED_DECLARATION_INDEX
-+ extern char *index ();
-+ # endif
-+ # else /* ! HAVE_INDEX */
-+ # define index strchr
-+ # endif
-+ #endif
-+
-+ #ifndef rindex
-+ # ifdef HAVE_RINDEX
-+ # ifdef NEED_DECLARATION_RINDEX
-+ extern char *rindex ();
-+ # endif
-+ # else /* ! HAVE_RINDEX */
-+ # define rindex strrchr
-+ # endif
-+ #endif
-+
-+ #ifdef NEED_DECLARATION_ATOF
-+ extern double atof ();
-+ #endif
-+
-+ #ifdef NEED_DECLARATION_ATOL
-+ extern long atol();
-+ #endif
-+
-+ #ifdef NEED_DECLARATION_FREE
-+ extern void free ();
-+ #endif
-+
-+ #ifdef NEED_DECLARATION_GETCWD
-+ extern char *getcwd ();
-+ #endif
-+
-+ #ifdef NEED_DECLARATION_GETENV
-+ extern char *getenv ();
-+ #endif
-+
-+ #ifdef NEED_DECLARATION_GETWD
-+ extern char *getwd ();
-+ #endif
-+
-+ #ifdef NEED_DECLARATION_SBRK
-+ extern char *sbrk ();
-+ #endif
-+
-+ #ifdef HAVE_STRERROR
-+ # ifdef NEED_DECLARATION_STRERROR
-+ # ifndef strerror
-+ extern char *strerror ();
-+ # endif
-+ # endif
-+ #else /* ! HAVE_STRERROR */
-+ extern int sys_nerr;
-+ extern char *sys_errlist[];
-+ #endif /* HAVE_STRERROR */
-+
-+ #ifdef HAVE_STRSIGNAL
-+ # ifdef NEED_DECLARATION_STRSIGNAL
-+ # ifndef strsignal
-+ extern char * strsignal ();
-+ # endif
-+ # endif
-+ #else /* ! HAVE_STRSIGNAL */
-+ # ifndef SYS_SIGLIST_DECLARED
-+ # ifndef NO_SYS_SIGLIST
-+ extern char * sys_siglist[];
-+ # endif
-+ # endif
-+ #endif /* HAVE_STRSIGNAL */
-+
-+ #ifdef HAVE_GETRLIMIT
-+ # ifdef NEED_DECLARATION_GETRLIMIT
-+ # ifndef getrlimit
-+ extern int getrlimit ();
-+ # endif
-+ # endif
-+ #endif
-+
-+ #ifdef HAVE_SETRLIMIT
-+ # ifdef NEED_DECLARATION_SETRLIMIT
-+ # ifndef setrlimit
-+ extern int setrlimit ();
-+ # endif
-+ # endif
-+ #endif
-+
-+ /* HAVE_VOLATILE only refers to the stage1 compiler. We also check
-+ __STDC__ and assume gcc sets it and has volatile in stage >=2. */
-+ #if !defined(HAVE_VOLATILE) && !defined(__STDC__) && !defined(volatile)
-+ #define volatile
-+ #endif
-+
-+ /* Redefine abort to report an internal error w/o coredump, and reporting the
-+ location of the error in the source file. */
-+ #ifndef abort
-+ #ifndef __STDC__
-+ #ifndef __GNUC__
-+ #ifndef USE_SYSTEM_ABORT
-+ #define USE_SYSTEM_ABORT
-+ #endif /* !USE_SYSTEM_ABORT */
-+ #endif /* !__GNUC__ */
-+ #endif /* !__STDC__ */
-+
-+ #ifdef USE_SYSTEM_ABORT
-+ # ifdef NEED_DECLARATION_ABORT
-+ extern void abort ();
-+ # endif
-+ #else
-+ #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
-+ #define abort() \
-+ (fprintf (stderr, \
-+ "%s:%d: Internal compiler error\n", __FILE__, __LINE__), \
-+ exit (FATAL_EXIT_CODE))
-+
-+ #else
-+ #define abort() \
-+ (fprintf (stderr, \
-+ "%s:%d: Internal compiler error in function %s\n", \
-+ __FILE__, __LINE__, __PRETTY_FUNCTION__), \
-+ exit (FATAL_EXIT_CODE))
-+
-+ #endif /* recent gcc */
-+ #endif /* USE_SYSTEM_ABORT */
-+ #endif /* !abort */
-+
-+
-+ /* Define a STRINGIFY macro that's right for ANSI or traditional C.
-+ HAVE_CPP_STRINGIFY only refers to the stage1 compiler. Assume that
-+ (non-traditional) gcc used in stage2 or later has this feature.
-+
-+ Note: if the argument passed to STRINGIFY is itself a macro, eg
-+ #define foo bar, STRINGIFY(foo) will produce "foo", not "bar".
-+ Although the __STDC__ case could be made to expand this via a layer
-+ of indirection, the traditional C case can not do so. Therefore
-+ this behavior is not supported. */
-+ #ifndef STRINGIFY
-+ # if defined(HAVE_CPP_STRINGIFY) || (defined(__GNUC__) && defined(__STDC__))
-+ # define STRINGIFY(STRING) #STRING
-+ # else
-+ # define STRINGIFY(STRING) "STRING"
-+ # endif
-+ #endif /* ! STRINGIFY */
-+
-+
-+ /* These macros are here in preparation for the use of gettext in egcs. */
-+ #define _(String) String
-+ #define N_(String) String
-+
-+ #if HAVE_SYS_STAT_H
-+ # include <sys/stat.h>
-+ #endif
-+
-+ /* Test if something is a normal file. */
-+ #ifndef S_ISREG
-+ #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
-+ #endif
-+
-+ /* Test if something is a directory. */
-+ #ifndef S_ISDIR
-+ #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-+ #endif
-+
-+ #if !defined(GPC) || defined(EGCS92)
-+ /* Get libiberty declarations. */
-+ #include "libiberty.h"
-+ #endif
-+
-+ #endif /* __GCC_SYSTEM_H__ */
diff --git a/lang/gpc/files/patch-ao b/lang/gpc/files/patch-ao
deleted file mode 100644
index e5067d4eaec0..000000000000
--- a/lang/gpc/files/patch-ao
+++ /dev/null
@@ -1,95 +0,0 @@
-*** toplev.c.orig Thu Mar 23 14:19:51 2000
---- toplev.c Thu Mar 23 15:57:06 2000
-***************
-*** 304,309 ****
---- 304,315 ----
-
- int optimize = 0;
-
-+ #ifdef GPC
-+ /* Nonzero if called with --version (i.e. gpc called with --verbose). */
-+
-+ int version_flag = 0;
-+ #endif /* GPC */
-+
- /* Number of error messages and warning messages so far. */
-
- int errorcount = 0;
-***************
-*** 590,595 ****
---- 596,607 ----
-
- int flag_pedantic_errors = 0;
-
-+ #ifdef GPC
-+ /* Nonzero means copy the source input to stderr. */
-+
-+ extern int flag_debug_source;
-+ #endif /* GPC */
-+
- /* flag_schedule_insns means schedule insns within basic blocks (before
- local_alloc).
- flag_schedule_insns_after_reload means schedule insns after
-***************
-*** 2897,2902 ****
---- 2909,2921 ----
- #define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP, END)
- #endif
-
-+ /* Dito. */
-+ #ifdef GPC
-+ #define NOT_IN_GPC(X)
-+ #else /* not GPC */
-+ #define NOT_IN_GPC(X) X
-+ #endif /* not GPC */
-+
- /* Forward declarations for nested functions are not "external",
- but we need to treat them as if they were. */
- if (TREE_STATIC (decl) || DECL_EXTERNAL (decl)
-***************
-*** 2914,2922 ****
- /* Don't output anything
- when a tentative file-scope definition is seen.
- But at end of compilation, do output code for them. */
-! if (! (! at_end && top_level
- && (DECL_INITIAL (decl) == 0
-! || DECL_INITIAL (decl) == error_mark_node)))
- assemble_variable (decl, top_level, at_end, 0);
- if (!output_bytecode
- && decl == last_assemble_variable_decl)
---- 2933,2941 ----
- /* Don't output anything
- when a tentative file-scope definition is seen.
- But at end of compilation, do output code for them. */
-! NOT_IN_GPC ( if (! (! at_end && top_level
- && (DECL_INITIAL (decl) == 0
-! || DECL_INITIAL (decl) == error_mark_node))) )
- assemble_variable (decl, top_level, at_end, 0);
- if (!output_bytecode
- && decl == last_assemble_variable_decl)
-***************
-*** 3741,3747 ****
---- 3760,3768 ----
- register int i;
- char *filename = 0;
- int flag_print_mem = 0;
-+ #ifndef GPC
- int version_flag = 0;
-+ #endif /* not GPC */
- char *p;
-
- /* save in case md file wants to emit args as a comment. */
-***************
-*** 3956,3961 ****
---- 3977,3987 ----
- case 'R':
- sched2_dump = 1;
- break;
-+ #ifdef GPC
-+ case 'Y':
-+ flag_debug_source = 1;
-+ break;
-+ #endif /* GPC */
- case 'y':
- set_yydebug (1);
- break;
diff --git a/lang/gpc/files/patch-ap b/lang/gpc/files/patch-ap
deleted file mode 100644
index a8adf52be22e..000000000000
--- a/lang/gpc/files/patch-ap
+++ /dev/null
@@ -1,18 +0,0 @@
-*** tree.c.orig Tue Mar 3 02:37:46 1998
---- tree.c Thu Mar 23 15:58:48 2000
-***************
-*** 4742,4747 ****
---- 4742,4754 ----
- for (i = 0; i < bit_size; i++)
- buffer[i] = 0;
-
-+ #ifdef GPC
-+ /* Since sets are word-aligned in Pascal,
-+ the first bits in the set may be unused. */
-+
-+ domain_min -= domain_min % BITS_PER_WORD;
-+ #endif /* GPC */
-+
- for (vals = TREE_OPERAND (init, 1);
- vals != NULL_TREE; vals = TREE_CHAIN (vals))
- {
diff --git a/lang/gpc/files/patch-aq b/lang/gpc/files/patch-aq
deleted file mode 100644
index 47bcd62055ef..000000000000
--- a/lang/gpc/files/patch-aq
+++ /dev/null
@@ -1,121 +0,0 @@
-diff -P -N -C3 -r gpc.std/p/gpc-common.c gpc/p/gpc-common.c
-*** p/gpc-common.c.orig Sat Dec 26 02:06:58 1998
---- p/gpc-common.c Thu Mar 23 18:24:40 2000
-***************
-*** 797,803 ****
-
- record_function_format (DECL_NAME (decl),
- DECL_ASSEMBLER_NAME (decl),
-! is_scan, format_num, first_arg_num);
- break;
- }
-
---- 797,803 ----
-
- record_function_format (DECL_NAME (decl),
- DECL_ASSEMBLER_NAME (decl),
-! is_scan, 0, format_num, first_arg_num);
- break;
- }
-
-***************
-*** 1038,1043 ****
---- 1038,1044 ----
- tree assembler_name; /* optional mangled identifier (for C++) */
- int is_scan; /* TRUE if *scanf */
- int format_num; /* number of format argument */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
- int first_arg_num; /* number of first arg (zero for varargs) */
- } function_format_info;
-
-***************
-*** 1068,1082 ****
- void
- init_function_format_info ()
- {
-! record_function_format (get_identifier ("printf"), NULL_TREE, 0, 1, 2);
-! record_function_format (get_identifier ("fprintf"), NULL_TREE, 0, 2, 3);
-! record_function_format (get_identifier ("sprintf"), NULL_TREE, 0, 2, 3);
-! record_function_format (get_identifier ("scanf"), NULL_TREE, 1, 1, 2);
-! record_function_format (get_identifier ("fscanf"), NULL_TREE, 1, 2, 3);
-! record_function_format (get_identifier ("sscanf"), NULL_TREE, 1, 2, 3);
-! record_function_format (get_identifier ("vprintf"), NULL_TREE, 0, 1, 0);
-! record_function_format (get_identifier ("vfprintf"), NULL_TREE, 0, 2, 0);
-! record_function_format (get_identifier ("vsprintf"), NULL_TREE, 0, 2, 0);
-
- record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
- record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
---- 1069,1083 ----
- void
- init_function_format_info ()
- {
-! record_function_format (get_identifier ("printf"), NULL_TREE, 0, 0, 1, 2);
-! record_function_format (get_identifier ("fprintf"), NULL_TREE, 0, 0, 2, 3);
-! record_function_format (get_identifier ("sprintf"), NULL_TREE, 0, 0, 2, 3);
-! record_function_format (get_identifier ("scanf"), NULL_TREE, 1, 0, 1, 2);
-! record_function_format (get_identifier ("fscanf"), NULL_TREE, 1, 0, 2, 3);
-! record_function_format (get_identifier ("sscanf"), NULL_TREE, 1, 0, 2, 3);
-! record_function_format (get_identifier ("vprintf"), NULL_TREE, 0, 0, 1, 0);
-! record_function_format (get_identifier ("vfprintf"), NULL_TREE, 0, 0, 2, 0);
-! record_function_format (get_identifier ("vsprintf"), NULL_TREE, 0, 0, 2, 0);
-
- record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
- record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-***************
-*** 1093,1104 ****
- (e.g. for varargs such as vfprintf). */
-
- void
-! record_function_format (name, assembler_name, is_scan,
- format_num, first_arg_num)
- tree name;
- tree assembler_name;
- int is_scan;
- int format_num;
- int first_arg_num;
- {
- function_format_info *info;
---- 1094,1106 ----
- (e.g. for varargs such as vfprintf). */
-
- void
-! record_function_format (name, assembler_name, is_scan, null_format_ok,
- format_num, first_arg_num)
- tree name;
- tree assembler_name;
- int is_scan;
- int format_num;
-+ int null_format_ok;
- int first_arg_num;
- {
- function_format_info *info;
-***************
-*** 1122,1127 ****
---- 1124,1130 ----
-
- info->is_scan = is_scan;
- info->format_num = format_num;
-+ info->null_format_ok = null_format_ok;
- info->first_arg_num = first_arg_num;
- }
-
-diff -P -N -C3 -r gpc.std/p/gpc-defs.h gpc/p/gpc-defs.h
-*** p/gpc-defs.h.orig Mon Dec 21 04:41:07 1998
---- p/gpc-defs.h Thu Mar 23 18:20:44 2000
-***************
-*** 622,628 ****
- extern tree build_pascal_unary_op PROTO ((enum tree_code, tree, int));
- extern tree build_pascal_pointer_reference PROTO ((tree));
- extern tree build_pascal_address_expression PROTO ((tree));
-! extern void record_function_format PROTO ((tree, tree, int, int, int));
-
- /*
- * construct an identifier_node for the assembler-name
---- 622,628 ----
- extern tree build_pascal_unary_op PROTO ((enum tree_code, tree, int));
- extern tree build_pascal_pointer_reference PROTO ((tree));
- extern tree build_pascal_address_expression PROTO ((tree));
-! extern void record_function_format PROTO ((tree, tree, int, int, int, int));
-
- /*
- * construct an identifier_node for the assembler-name
diff --git a/lang/gpc/files/patch-ar b/lang/gpc/files/patch-ar
deleted file mode 100644
index 6b0ce53c3a81..000000000000
--- a/lang/gpc/files/patch-ar
+++ /dev/null
@@ -1,19 +0,0 @@
-*** p/rts/file.c.orig Sat Jan 16 04:07:00 1999
---- p/rts/file.c Thu Mar 23 18:58:07 2000
-***************
-*** 1568,1574 ****
- #ifdef HAVE_STATVFS
- #include <sys/statvfs.h>
- #elif defined(HAVE_STATFS)
-! #include <sys/vfs.h>
- #endif
-
- void
---- 1568,1574 ----
- #ifdef HAVE_STATVFS
- #include <sys/statvfs.h>
- #elif defined(HAVE_STATFS)
-! #include <sys/mount.h>
- #endif
-
- void
diff --git a/lang/gpc/files/patch-as b/lang/gpc/files/patch-as
deleted file mode 100644
index af9884303825..000000000000
--- a/lang/gpc/files/patch-as
+++ /dev/null
@@ -1,11 +0,0 @@
---- p/units/regexc.c Tue Jan 5 08:53:29 1999
-+++ p/units/regexc.c.new Sun Apr 16 01:03:17 2000
-@@ -21,7 +21,7 @@
- */
-
- #include <stdlib.h>
--#include <rxposix.h>
-+#include <gnuregex.h>
-
- typedef unsigned char Boolean;
-
diff --git a/lang/gpc/files/patch-at b/lang/gpc/files/patch-at
deleted file mode 100644
index 73d872b5e2b3..000000000000
--- a/lang/gpc/files/patch-at
+++ /dev/null
@@ -1,20 +0,0 @@
---- p/Make-lang.in.orig Tue Jan 19 02:10:16 1999
-+++ p/Make-lang.in Mon Jan 1 07:30:02 2001
-@@ -42,7 +42,7 @@
- HARDLINK=ln
-
- # Where to install the demos (relative to the prefix)
--DEMO_DIR=doc/gpc/demos
-+DEMO_DIR=share/doc/gpc/demos
- demodir=$(prefix)/$(DEMO_DIR)
-
- # Analogous to objext
-@@ -281,7 +281,7 @@
- p/doc/gpc.info: $(GPC_TEXI) p/doc/gpcpas.texi
- if [ -d p/doc ]; then true; else mkdir p/doc; fi
- src=`cd $(srcdir); pwd`; \
-- cd p/doc; $(MAKEINFO) -I$${src}/p/doc -o gpc.info $${src}/p/doc/gpc.texi
-+ cd p/doc; $(MAKEINFO) --no-split -I$${src}/p/doc -o gpc.info $${src}/p/doc/gpc.texi
-
- p/doc/gpc.dvi: $(GPC_TEXI) p/doc/gpcpas.texi
- if [ -d p/doc ]; then true; else mkdir p/doc; fi
diff --git a/lang/gpc/files/patch-au b/lang/gpc/files/patch-au
deleted file mode 100644
index 755ef1fafdf5..000000000000
--- a/lang/gpc/files/patch-au
+++ /dev/null
@@ -1,13 +0,0 @@
---- p/doc/gpc.texi.orig Tue Jul 7 00:21:41 1998
-+++ p/doc/gpc.texi Mon Jan 1 07:17:33 2001
-@@ -23,6 +23,10 @@
- @c Header.
-
- @setfilename gpc.info
-+@dircategory Programming
-+@direntry
-+* GPC: (gpc). The GNU Pascal Compiler.
-+@end direntry
- @c @setfilename usegpc.info
- @c @setfilename hackgpc.info
- @c To produce the full manual, use the "gpc.info" setfilename, and