diff options
author | kris <kris@FreeBSD.org> | 2003-05-06 11:49:05 +0800 |
---|---|---|
committer | kris <kris@FreeBSD.org> | 2003-05-06 11:49:05 +0800 |
commit | a4442963eb3cae79542cb7d8a9ec5a1cf5286fc9 (patch) | |
tree | 70203cf591dc2a14f1f6a1717bbb91c683fbc6b5 /lang/gpc | |
parent | 5715fcc965f05470d631d3aa8150ae8838224364 (diff) | |
download | freebsd-ports-gnome-a4442963eb3cae79542cb7d8a9ec5a1cf5286fc9.tar.gz freebsd-ports-gnome-a4442963eb3cae79542cb7d8a9ec5a1cf5286fc9.tar.zst freebsd-ports-gnome-a4442963eb3cae79542cb7d8a9ec5a1cf5286fc9.zip |
As announced on 27 March 2003 in <20030328052350.GA18971@rot13.obsecurity.org>,
remove these ports that have been broken for >4 months (in many cases much
longer) with no sign of a fix.
Diffstat (limited to 'lang/gpc')
-rw-r--r-- | lang/gpc/Makefile | 47 | ||||
-rw-r--r-- | lang/gpc/distinfo | 1 | ||||
-rw-r--r-- | lang/gpc/files/patch-aa | 166 | ||||
-rw-r--r-- | lang/gpc/files/patch-ab | 168 | ||||
-rw-r--r-- | lang/gpc/files/patch-ac | 33 | ||||
-rw-r--r-- | lang/gpc/files/patch-ad | 39 | ||||
-rw-r--r-- | lang/gpc/files/patch-ae | 12 | ||||
-rw-r--r-- | lang/gpc/files/patch-af | 299 | ||||
-rw-r--r-- | lang/gpc/files/patch-ag | 171 | ||||
-rw-r--r-- | lang/gpc/files/patch-ah | 44 | ||||
-rw-r--r-- | lang/gpc/files/patch-ai | 135 | ||||
-rw-r--r-- | lang/gpc/files/patch-aj | 7 | ||||
-rw-r--r-- | lang/gpc/files/patch-ak | 49 | ||||
-rw-r--r-- | lang/gpc/files/patch-al | 41 | ||||
-rw-r--r-- | lang/gpc/files/patch-am | 233 | ||||
-rw-r--r-- | lang/gpc/files/patch-an | 398 | ||||
-rw-r--r-- | lang/gpc/files/patch-ao | 95 | ||||
-rw-r--r-- | lang/gpc/files/patch-ap | 18 | ||||
-rw-r--r-- | lang/gpc/files/patch-aq | 121 | ||||
-rw-r--r-- | lang/gpc/files/patch-ar | 19 | ||||
-rw-r--r-- | lang/gpc/files/patch-as | 11 | ||||
-rw-r--r-- | lang/gpc/files/patch-at | 20 | ||||
-rw-r--r-- | lang/gpc/files/patch-au | 13 | ||||
-rw-r--r-- | lang/gpc/pkg-descr | 10 | ||||
-rw-r--r-- | lang/gpc/pkg-plist | 60 |
25 files changed, 0 insertions, 2210 deletions
diff --git a/lang/gpc/Makefile b/lang/gpc/Makefile deleted file mode 100644 index 7a6cdc6a09d8..000000000000 --- a/lang/gpc/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# Ports collection makefile for: gpc -# Date created: January 27, 1999 -# Whom: Berend de Boer <berend@pobox.com> -# -# $FreeBSD$ - -PORTNAME= gpc -PORTVERSION= 2.0 -PORTREVISION= 1 -CATEGORIES= lang -MASTER_SITES= ftp://agnes.dida.physik.uni-essen.de/gnu-pascal/beta/ -DISTNAME= gpc-19990118 - -MAINTAINER= antonz@library.ntu-kpi.kiev.ua -COMMENT= A free 32-bit Pascal compiler - -BROKEN= "Does not package correctly" - -BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/lang/gcc28:patch - -WRKSRC= ${WRKDIR}/gpc -MAKE_ARGS= LANGUAGES=pascal -USE_AUTOCONF= yes -USE_GMAKE= yes -ALL_TARGET= bootstrap -INSTALL_TARGET= pascal.install - -MAN1= gpc.1 -MLINKS= gpc.1 bpc.1 gpc.1 epc.1 gpc.1 pc.1 - -.include <bsd.port.pre.mk> - -GNUHOST= ${ARCH}--freebsd${OSREL} - -PLIST_SUB= GNUHOST=${GNUHOST} -CONFIGURE_ARGS= --with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${GNUHOST}/2.8.1/include/g++ - -post-extract: - @(${CP} -R ${WRKDIRPREFIX}${.CURDIR}/../../lang/gcc28/work/gcc-2.8.1/* ${WRKSRC}) - -pre-install: - @${RM} -f ${WRKSRC}/p/doc/gpc.info* - -post-install: - install-info ${PREFIX}/info/gpc.info ${PREFIX}/info/dir - -.include <bsd.port.post.mk> diff --git a/lang/gpc/distinfo b/lang/gpc/distinfo deleted file mode 100644 index d61aaa8ef219..000000000000 --- a/lang/gpc/distinfo +++ /dev/null @@ -1 +0,0 @@ -MD5 (gpc-19990118.tar.gz) = 3c818f9f7730378320dd04a03dbe8267 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 diff --git a/lang/gpc/pkg-descr b/lang/gpc/pkg-descr deleted file mode 100644 index 2bc7705f97c9..000000000000 --- a/lang/gpc/pkg-descr +++ /dev/null @@ -1,10 +0,0 @@ -GNU Pascal is part of the GNU compiler family, GNU CC or GCC. -It combines a Pascal front-end with the proven GNU C back-end -for code generation and optimization. Unlike utilities such -as p2c, this is a true compiler, not just a converter. - -The current release 2.0 implements Standard Pascal (ISO 7185, -level 1), a large subset of Extended Pascal (ISO 10206), and -Borland Pascal. - -WWW: http://www.gnu-pascal.de/ diff --git a/lang/gpc/pkg-plist b/lang/gpc/pkg-plist deleted file mode 100644 index d40c64e5b805..000000000000 --- a/lang/gpc/pkg-plist +++ /dev/null @@ -1,60 +0,0 @@ -bin/bpc -bin/epc -bin/gpc -bin/pc -lib/gcc-lib/%%GNUHOST%%/2.8.1/gpc-cpp -lib/gcc-lib/%%GNUHOST%%/2.8.1/gpc1 -lib/gcc-lib/%%GNUHOST%%/2.8.1/libgcc.a -lib/gcc-lib/%%GNUHOST%%/2.8.1/libgpc.a -lib/gcc-lib/%%GNUHOST%%/2.8.1/specs -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/crt.inc -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/crt.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/crtc.c -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/crtc.h -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/crtdospc.h -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/crtdummy.h -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/crtlinux386.h -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/crtunix.h -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/crtunix1.h -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/dos.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/dosc.c -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/dosunix.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/getopt.h -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/getopt.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/getoptc.c -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/gmp.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/gpc.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/gpcutil.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/internal.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/overlay.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/pexecutc.c -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/pexecute.h -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/pexecute.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/pipe.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/pipec.c -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/ports.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/printer.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/regex.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/regexc.c -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/strings.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/system.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/turbo3.pas -lib/gcc-lib/%%GNUHOST%%/2.8.1/units/windos.pas -@unexec rmdir %D/lib/gcc-lib/%%GNUHOST%%/2.8.1/units 2>/dev/null || true -@unexec rmdir %D/lib/gcc-lib/%%GNUHOST%%/2.8.1 2>/dev/null || true -@unexec rmdir %D/lib/gcc-lib/%%GNUHOST%% 2>/dev/null || true -@unexec rmdir %D/lib/gcc-lib 2>/dev/null || true -share/doc/gpc/demos/demoproc.pas -share/doc/gpc/demos/factorial.pas -share/doc/gpc/demos/getoptdemo.pas -share/doc/gpc/demos/pexecutedemo.pas -share/doc/gpc/demos/pi.pas -share/doc/gpc/demos/pipedemo.pas -share/doc/gpc/demos/portdemo.pas -share/doc/gpc/demos/power.pas -share/doc/gpc/demos/regexdemo.pas -@dirrm share/doc/gpc/demos -@dirrm share/doc/gpc -@unexec install-info --delete %D/info/gpc.info %D/info/dir -info/gpc.info -@exec install-info %D/info/gpc.info %D/info/dir |