Remove lang/gcc28 (GCC 2.8) which has been DEPRECATED for more than
3 years and does not build anywhere. No objections: mjl@luckie.org.nz (maintainer), pav
This commit is contained in:
parent
a6cd8abed9
commit
d108c3e6d4
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=226784
1
MOVED
1
MOVED
@ -3768,3 +3768,4 @@ devel/linux-glib2||2009-01-21|Removed since the port is incorporated into all li
|
||||
x11/xorg-protos||2009-01-23|Not really necessary
|
||||
x11-drivers/synaptics|x11-drivers/xf86-input-synaptics|2009-01-23|Now an official X.org driver
|
||||
net/mpich|net/mpich2|2009-01-23|Broken and superseded by mpich2
|
||||
lang/gcc28|lang/gcc42|2009-01-24|Abandoned upstream, superseded by gcc42 and, preferrably, gcc43
|
||||
|
@ -82,7 +82,6 @@
|
||||
SUBDIR += gauche
|
||||
SUBDIR += gawk
|
||||
SUBDIR += gcc-ooo
|
||||
SUBDIR += gcc28
|
||||
SUBDIR += gcc295
|
||||
SUBDIR += gcc33
|
||||
SUBDIR += gcc34
|
||||
|
@ -1,81 +0,0 @@
|
||||
# ex:ts=8
|
||||
# Ports collection makefile for: gcc
|
||||
# Date created: 17 Jan 1998
|
||||
# Whom: David O'Brien <obrien@NUXI.com>
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
PORTNAME= gcc
|
||||
PORTVERSION= 2.8.1
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= lang
|
||||
MASTER_SITES= ${MASTER_SITE_GNU}
|
||||
MASTER_SITE_SUBDIR= gcc
|
||||
|
||||
MAINTAINER= mjl@luckie.org.nz
|
||||
COMMENT= GNU Compiler Collection 2.8
|
||||
|
||||
NOT_FOR_ARCHS= amd64 sparc64 ia64
|
||||
NO_CDROM= "old version, not worth the cost in real estate"
|
||||
|
||||
LATEST_LINK= gcc28
|
||||
|
||||
DEPRECATED= This port is no longer in use by anything in the ports collection. Use a later release instead
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if ${ARCH} == "alpha"
|
||||
BROKEN= Does not compile on alpha
|
||||
.endif
|
||||
|
||||
CONFIGURE_ENV+= OSVERSION=${OSVERSION}
|
||||
PLIST_SUB= GNUHOST=${CONFIGURE_TARGET}
|
||||
CONFIGURE_ARGS= --with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/2.8.1/include/g++ \
|
||||
--program-suffix=28
|
||||
GNU_CONFIGURE= yes
|
||||
USE_GMAKE= yes
|
||||
ALL_TARGET= bootstrap
|
||||
MAN1= cccp28.1 g++28.1 gcc28.1
|
||||
INFO= cpp gcc
|
||||
|
||||
pre-everything::
|
||||
@${ECHO_MSG} "GCC ${DISTNAME:S/^gcc-//} for ${OPSYS} ${OSREL}"
|
||||
|
||||
pre-patch:
|
||||
@${MV} ${WRKSRC}/config/i386/freebsd.h ${WRKSRC}/config/i386/freebsd-aout.h
|
||||
@${MV} ${WRKSRC}/config/i386/freebsd-elf.h ${WRKSRC}/config/i386/freebsd.h
|
||||
|
||||
pre-configure:
|
||||
@# Keep from running `autoconf' and `autoheader' since we modified
|
||||
@# configure.in by patching it.
|
||||
@${TOUCH} ${TOUCH_FLAGS} ${WRKSRC}/configure
|
||||
@${TOUCH} ${TOUCH_FLAGS} ${WRKSRC}/cstamp-h.in
|
||||
@(cd ${WRKSRC}/config/${ARCH}/ ; \
|
||||
MAJ=`/sbin/sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
|
||||
${MV} freebsd-aout.h freebsd-aout.h.in ; \
|
||||
${SED} -e "s:__FreeBSD__=[0-9]*:__FreeBSD__=$${MAJ}:" \
|
||||
freebsd-aout.h.in >freebsd-aout.h ; \
|
||||
${MV} freebsd.h freebsd.h.in ; \
|
||||
${SED} -e "s:__FreeBSD__=[0-9]*:__FreeBSD__=$${MAJ}:" freebsd.h.in \
|
||||
>freebsd.h)
|
||||
|
||||
post-install:
|
||||
@${RM} -f ${PREFIX}/bin/c++
|
||||
(for prog in ${PREFIX}/bin/gcc ${PREFIX}/bin/g++ ${PREFIX}/bin/gcov \
|
||||
${PREFIX}/bin/protoize ${PREFIX}/bin/unprotoize \
|
||||
${PREFIX}/bin/${CONFIGURE_TARGET}-gcc \
|
||||
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/2.8.1/cc1 \
|
||||
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/2.8.1/cc1obj \
|
||||
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/2.8.1/cc1plus \
|
||||
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/2.8.1/cpp ; \
|
||||
do ${STRIP_CMD} $$prog ; \
|
||||
done)
|
||||
@${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/gcc28
|
||||
@${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/g++28
|
||||
@${MV} ${PREFIX}/bin/gcov ${PREFIX}/bin/gcov28
|
||||
@${MV} ${PREFIX}/man/man1/cccp.1 ${PREFIX}/man/man1/cccp28.1
|
||||
@${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/g++28.1
|
||||
@${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/gcc28.1
|
||||
|
||||
.include <bsd.port.post.mk>
|
@ -1,3 +0,0 @@
|
||||
MD5 (gcc-2.8.1.tar.gz) = 311829e9c36080fb54b0145285746a9e
|
||||
SHA256 (gcc-2.8.1.tar.gz) = 3b30fbfdf93e628373d90d174243f3267b0eec9ebe792bb64fd15b8828c2ea4c
|
||||
SIZE (gcc-2.8.1.tar.gz) = 8447495
|
@ -1,152 +0,0 @@
|
||||
--- config/i386/freebsd-aout.h.orig Sun Oct 19 09:31:05 1997
|
||||
+++ config/i386/freebsd-aout.h Tue Aug 11 14:28:56 1998
|
||||
@@ -35,10 +35,21 @@
|
||||
#include "i386/perform.h"
|
||||
|
||||
#undef CPP_PREDEFINES
|
||||
-#define CPP_PREDEFINES "-Dunix -Di386 -D__FreeBSD__ -D__386BSD__ -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)"
|
||||
+#define CPP_PREDEFINES "-Dunix -Di386 -D__FreeBSD__=2 -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)"
|
||||
+
|
||||
+/* FreeBSD using a.out does not support DWARF2 unwinding mechanisms.
|
||||
+ Thus, need the equivalent of "-fsjlj-exceptions" (use setjmp/longjmp
|
||||
+ for exceptions). */
|
||||
+#define DWARF2_UNWIND_INFO 0
|
||||
+
|
||||
+/* Provide a CPP_SPEC appropriate for OpenBSD. Current we just deal with
|
||||
+ the GCC option `-posix'. */
|
||||
+
|
||||
+#undef CPP_SPEC
|
||||
+#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
|
||||
|
||||
/* Like the default, except no -lg. */
|
||||
-#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
|
||||
+#define LIB_SPEC "%{!shared:%{!pg:-lc}%{pg:-lc_p}}"
|
||||
|
||||
#undef SIZE_TYPE
|
||||
#define SIZE_TYPE "unsigned int"
|
||||
@@ -54,8 +65,13 @@
|
||||
#undef WCHAR_TYPE_SIZE
|
||||
#define WCHAR_TYPE_SIZE 16
|
||||
|
||||
+/* We have atexit(3). */
|
||||
#define HAVE_ATEXIT
|
||||
|
||||
+/* We want gcc.c to call mktemp() for each file it generates. We would
|
||||
+ prefer mkstemp(), but we will take what we get. XXX busted */
|
||||
+/* #undef MKTEMP_EACH_FILE */
|
||||
+
|
||||
#undef ASM_APP_ON
|
||||
#define ASM_APP_ON "#APP\n"
|
||||
|
||||
@@ -114,6 +130,7 @@
|
||||
|
||||
#define TYPE_ASM_OP ".type"
|
||||
#define SIZE_ASM_OP ".size"
|
||||
+#define SET_ASM_OP ".set"
|
||||
|
||||
/* The following macro defines the format used to output the second
|
||||
operand of the .type assembler directive. Different svr4 assemblers
|
||||
@@ -123,6 +140,10 @@
|
||||
|
||||
#define TYPE_OPERAND_FMT "@%s"
|
||||
|
||||
+/* Handle #pragma weak and #pragma pack. */
|
||||
+
|
||||
+#define HANDLE_SYSV_PRAGMA 1
|
||||
+
|
||||
/* Write the extra assembler code needed to declare a function's result.
|
||||
Most svr4 assemblers don't require any special declaration of the
|
||||
result value, but there are exceptions. */
|
||||
@@ -131,9 +158,9 @@
|
||||
#define ASM_DECLARE_RESULT(FILE, RESULT)
|
||||
#endif
|
||||
|
||||
-/* These macros generate the special .type and .size directives which
|
||||
+/* these macros generate the special .type and .size directives which
|
||||
are used to set the corresponding fields of the linker symbol table
|
||||
- entries in an ELF object file under SVR4. These macros also output
|
||||
+ entries in an elf object file under svr4. these macros also output
|
||||
the starting labels for the relevant functions/objects. */
|
||||
|
||||
/* Write the extra assembler code needed to declare a function properly.
|
||||
@@ -185,6 +212,7 @@
|
||||
&& DECL_INITIAL (DECL) == error_mark_node \
|
||||
&& !size_directive_output) \
|
||||
{ \
|
||||
+ size_directive_output = 1; \
|
||||
fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \
|
||||
assemble_name (FILE, name); \
|
||||
fprintf (FILE, ",%d\n", int_size_in_bytes (TREE_TYPE (DECL)));\
|
||||
@@ -213,33 +241,57 @@
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
+/* XXX - should ASM_SPEC be " %| %{fpic:-k} %{fPIC:-k -K}" ??? */
|
||||
#define ASM_SPEC " %| %{fpic:-k} %{fPIC:-k}"
|
||||
+
|
||||
#define LINK_SPEC \
|
||||
- "%{!nostdlib:%{!r*:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} %{assert*}"
|
||||
+ "%{p:%e`-p' not supported; use `-pg' and gprof(1)} \
|
||||
+ %{shared:-Bshareable} \
|
||||
+ %{!shared:%{!nostdlib:%{!r:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} \
|
||||
+ %{pg:-Bstatic} %{Z}} \
|
||||
+ %{assert*} %{R*}"
|
||||
+
|
||||
+#ifdef FROM_OPENBSD
|
||||
+/* This defines which switch letters take arguments.
|
||||
+ make -R /path/to/lib work the same as -R/path/to/lib */
|
||||
+#undef SWITCH_TAKES_ARG
|
||||
+#define SWITCH_TAKES_ARG(CHAR) \
|
||||
+ (DEFAULT_SWITCH_TAKES_ARG(CHAR) \
|
||||
+ || (CHAR) == 'R')
|
||||
+#endif
|
||||
+
|
||||
+#define STARTFILE_SPEC \
|
||||
+ "%{shared:c++rt0.o%s} \
|
||||
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
|
||||
|
||||
-/* This is defined when gcc is compiled in the BSD-directory-tree, and must
|
||||
- * make up for the gap to all the stuff done in the GNU-makefiles.
|
||||
+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
|
||||
+
|
||||
+/* FREEBSD_NATIVE is defined when gcc is compiled in the BSD-directory-tree,
|
||||
+ * and must make up for the gap to all the stuff done in the GNU-makefiles.
|
||||
*/
|
||||
|
||||
#ifdef FREEBSD_NATIVE
|
||||
|
||||
-#define INCLUDE_DEFAULTS { \
|
||||
- { "/usr/include", 0, 0, 0 }, \
|
||||
- { "/usr/include/g++", "G++", 1, 1 }, \
|
||||
- { 0, 0, 0, 0} \
|
||||
- }
|
||||
+#undef GCC_INCLUDE_DIR
|
||||
+#define GCC_INCLUDE_DIR "/usr/include"
|
||||
+
|
||||
+#undef GPLUSPLUS_INCLUDE_DIR
|
||||
+#define GPLUSPLUS_INCLUDE_DIR "/usr/include/g++"
|
||||
+
|
||||
+/* Look for the include files in the system-defined places. */
|
||||
+
|
||||
+#undef INCLUDE_DEFAULTS
|
||||
+#define INCLUDE_DEFAULTS \
|
||||
+ { \
|
||||
+ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 }, \
|
||||
+ { GCC_INCLUDE_DIR, 0, 0, 0 }, \
|
||||
+ { 0, 0, 0, 0 } \
|
||||
+ }
|
||||
|
||||
#undef MD_EXEC_PREFIX
|
||||
#define MD_EXEC_PREFIX "/usr/libexec/"
|
||||
|
||||
#undef STANDARD_STARTFILE_PREFIX
|
||||
#define STANDARD_STARTFILE_PREFIX "/usr/lib"
|
||||
-
|
||||
-#if 0 /* This is very wrong!!! */
|
||||
-#define DEFAULT_TARGET_MACHINE "i386-unknown-freebsd_1.0"
|
||||
-#define GPLUSPLUS_INCLUDE_DIR "/usr/local/lib/gcc-lib/i386-unknown-freebsd_1.0/2.5.8/include"
|
||||
-#define TOOL_INCLUDE_DIR "/usr/local/i386-unknown-freebsd_1.0/include"
|
||||
-#define GCC_INCLUDE_DIR "/usr/local/lib/gcc-lib/i386-unknown-freebsd_1.0/2.5.8/include"
|
||||
-#endif
|
||||
|
||||
#endif /* FREEBSD_NATIVE */
|
@ -1,40 +0,0 @@
|
||||
--- config/i386/freebsd.h.orig Fri Dec 5 04:15:34 1997
|
||||
+++ config/i386/freebsd.h Sun Apr 27 15:12:42 2003
|
||||
@@ -26,8 +26,18 @@
|
||||
|
||||
/* The svr4 ABI for the i386 says that records and unions are returned
|
||||
in memory. */
|
||||
+/* On FreeBSD, we do not. */
|
||||
#undef DEFAULT_PCC_STRUCT_RETURN
|
||||
-#define DEFAULT_PCC_STRUCT_RETURN 1
|
||||
+#define DEFAULT_PCC_STRUCT_RETURN 0
|
||||
+
|
||||
+/* This gets defined in tm.h->linux.h->svr4.h, and keeps us from using
|
||||
+ libraries compiled with the native cc, so undef it. */
|
||||
+#undef NO_DOLLAR_IN_LABEL
|
||||
+
|
||||
+/* FreeBSD using ELF does not support DWARF2 unwinding mechanisms.
|
||||
+ Thus, need the equivalent of "-fsjlj-exceptions" (use setjmp/longjmp
|
||||
+ for exceptions). */
|
||||
+#define DWARF2_UNWIND_INFO 0
|
||||
|
||||
/* This is how to output an element of a case-vector that is relative.
|
||||
This is only used for PIC code. See comments by the `casesi' insn in
|
||||
@@ -140,7 +150,7 @@
|
||||
#define WCHAR_TYPE_SIZE BITS_PER_WORD
|
||||
|
||||
#undef CPP_PREDEFINES
|
||||
-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__=2 -Asystem(FreeBSD)"
|
||||
+#define CPP_PREDEFINES "-Di386 -Dunix -D__ELF__ -D__FreeBSD__=3 -Asystem(FreeBSD) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)"
|
||||
|
||||
#undef CPP_SPEC
|
||||
#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
|
||||
@@ -176,7 +186,7 @@
|
||||
done. */
|
||||
|
||||
#undef LINK_SPEC
|
||||
-#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
|
||||
+#define LINK_SPEC "%{shared:-shared} \
|
||||
%{!shared: \
|
||||
%{!ibcs: \
|
||||
%{!static: \
|
@ -1,203 +0,0 @@
|
||||
--- configure.orig Sat Feb 28 21:02:02 1998
|
||||
+++ configure Sat Feb 12 02:28:01 2005
|
||||
@@ -677,9 +677,9 @@
|
||||
if test -z "$ac_aux_dir"; then
|
||||
{ echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
|
||||
fi
|
||||
-ac_config_guess=$ac_aux_dir/config.guess
|
||||
-ac_config_sub=$ac_aux_dir/config.sub
|
||||
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
|
||||
+ac_config_guess="/bin/sh $ac_aux_dir/config.guess"
|
||||
+ac_config_sub="/bin/sh $ac_aux_dir/config.sub"
|
||||
+ac_configure="/bin/sh $ac_aux_dir/configure" # This should be Cygnus configure.
|
||||
|
||||
|
||||
# Do some error checking and defaulting for the host and target type.
|
||||
@@ -2797,6 +2797,21 @@
|
||||
a29k-*-*) # Default a29k environment.
|
||||
use_collect2=yes
|
||||
;;
|
||||
+ alpha*-*-freebsd*)
|
||||
+ tm_file=alpha/freebsd.h
|
||||
+ if [ "${OSVERSION}" -lt 600011 ] ; \
|
||||
+ then fixincludes=fixinc.math; \
|
||||
+ else fixincludes=Makefile.in; \
|
||||
+ fi
|
||||
+ tmake_file=t-libc-ok
|
||||
+ ;;
|
||||
+ alpha-*-openbsd*)
|
||||
+ tm_file=alpha/openbsd.h
|
||||
+ # On OpenBSD, the headers are already okay.
|
||||
+ fixincludes=Makefile.in
|
||||
+ tmake_file=t-libc-ok
|
||||
+ xmake_file=x-openbsd
|
||||
+ ;;
|
||||
alpha*-*-linux-gnuecoff*)
|
||||
tm_file="${tm_file} alpha/linux.h"
|
||||
xm_file="${xm_file} alpha/xm-linux.h"
|
||||
@@ -3158,6 +3173,14 @@
|
||||
use_collect2=yes
|
||||
fixincludes=Makefile.in
|
||||
;;
|
||||
+ hppa*-*-openbsd*)
|
||||
+ target_cpu_default=1
|
||||
+ tm_file="pa/pa-openbsd.h"
|
||||
+ xm_file=pa/xm-openbsd.h
|
||||
+ xmake_file=x-openbsd
|
||||
+ use_collect2=yes
|
||||
+ fixincludes=Makefile.in
|
||||
+ ;;
|
||||
i370-*-mvs*)
|
||||
;;
|
||||
i[34567]86-ibm-aix*) # IBM PS/2 running AIX
|
||||
@@ -3256,20 +3279,24 @@
|
||||
# Next line turned off because both 386BSD and BSD/386 use GNU ld.
|
||||
# use_collect2=yes
|
||||
;;
|
||||
- i[34567]86-*-freebsdelf*)
|
||||
- tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
|
||||
- # On FreeBSD, the headers are already ok, except for math.h.
|
||||
- fixincludes=fixinc.math
|
||||
+ i[34567]86-*-freebsdaout*)
|
||||
+ tm_file=i386/freebsd-aout.h
|
||||
+ if [ "${OSVERSION}" -lt 600011 ] ; \
|
||||
+ then fixincludes=fixinc.math; \
|
||||
+ else fixincludes=Makefile.in; \
|
||||
+ fi
|
||||
tmake_file=i386/t-freebsd
|
||||
- gas=yes
|
||||
- gnu_ld=yes
|
||||
- stabs=yes
|
||||
;;
|
||||
i[34567]86-*-freebsd*)
|
||||
- tm_file=i386/freebsd.h
|
||||
- # On FreeBSD, the headers are already ok, except for math.h.
|
||||
- fixincludes=fixinc.math
|
||||
+ tm_file="i386/i386.h i386/att.h linux.h i386/freebsd.h i386/perform.h"
|
||||
+ if [ "${OSVERSION}" -lt 600011 ] ; \
|
||||
+ then fixincludes=fixinc.math; \
|
||||
+ else fixincludes=Makefile.in; \
|
||||
+ fi
|
||||
tmake_file=i386/t-freebsd
|
||||
+ gas=yes
|
||||
+ gnu_ld=yes
|
||||
+ stabs=yes
|
||||
;;
|
||||
i[34567]86-*-netbsd*)
|
||||
tm_file=i386/netbsd.h
|
||||
@@ -3277,6 +3304,13 @@
|
||||
fixincludes=fixinc.math
|
||||
tmake_file=t-netbsd
|
||||
;;
|
||||
+ i[34567]86-*-openbsd*)
|
||||
+ tm_file=i386/openbsd.h
|
||||
+ # On OpenBSD, the headers are already okay.
|
||||
+ fixincludes=Makefile.in
|
||||
+ tmake_file=t-libc-ok
|
||||
+ xmake_file=x-openbsd
|
||||
+ ;;
|
||||
i[34567]86-*-coff*)
|
||||
tm_file=i386/i386-coff.h
|
||||
tmake_file=i386/t-i386bare
|
||||
@@ -3964,6 +3998,13 @@
|
||||
fixincludes=fixinc.math
|
||||
tmake_file=t-netbsd
|
||||
;;
|
||||
+ m68k-*-openbsd*)
|
||||
+ tm_file=m68k/openbsd.h
|
||||
+ # On OpenBSD, the headers are already okay.
|
||||
+ fixincludes=Makefile.in
|
||||
+ tmake_file=t-libc-ok
|
||||
+ xmake_file=x-openbsd
|
||||
+ ;;
|
||||
m68k-*-sysv3*) # Motorola m68k's running system V.3
|
||||
xm_file=m68k/xm-m68kv.h
|
||||
xmake_file=m68k/x-m68kv
|
||||
@@ -4273,6 +4314,20 @@
|
||||
prefix=$native_prefix
|
||||
fi
|
||||
;;
|
||||
+ mips*el-*-openbsd*) # MIPS running OpenBSD
|
||||
+ tm_file=mips/openbsd-le.h
|
||||
+ xmake_file=x-openbsd
|
||||
+ tmake_file=t-libc-ok
|
||||
+ # On OpenBSD, the headers are already okay.
|
||||
+ fixincludes=Makefile.in
|
||||
+ ;;
|
||||
+ mips*-*-openbsd*) # MIPS big-endian running OpenBSD
|
||||
+ tm_file=mips/openbsd-be.h
|
||||
+ xmake_file=x-openbsd
|
||||
+ tmake_file=t-libc-ok
|
||||
+ # On OpenBSD, the headers are already okay.
|
||||
+ fixincludes=Makefile.in
|
||||
+ ;;
|
||||
mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news.
|
||||
tm_file=mips/news4.h
|
||||
if [ x$stabs = xyes ]; then
|
||||
@@ -4612,6 +4667,13 @@
|
||||
fixincludes=fixinc.math
|
||||
tmake_file=t-netbsd
|
||||
;;
|
||||
+ ns32k-*-openbsd*)
|
||||
+ tm_file=ns32k/openbsd.h
|
||||
+ tmake_file=t-libc-ok
|
||||
+ # On OpenBSD, the headers are already okay.
|
||||
+ fixincludes=Makefile.in
|
||||
+ xmake_file=x-openbsd
|
||||
+ ;;
|
||||
pdp11-*-bsd)
|
||||
tm_file="${tm_file} pdp11/2bsd.h"
|
||||
;;
|
||||
@@ -4625,10 +4687,23 @@
|
||||
romp-*-aos*)
|
||||
use_collect2=yes
|
||||
;;
|
||||
+ romp-*-openbsd*)
|
||||
+ tm_file=romp/openbsd.h
|
||||
+ # On OpenBSD, the headers are already okay.
|
||||
+ fixincludes=Makefile.in
|
||||
+ xmake_file=romp/x-openbsd
|
||||
+ ;;
|
||||
romp-*-mach*)
|
||||
xmake_file=romp/x-mach
|
||||
use_collect2=yes
|
||||
;;
|
||||
+ powerpc-*-*bsd*)
|
||||
+ tm_file=rs6000/openbsd.h
|
||||
+ tmake_file=rs6000/t-openbsd
|
||||
+ # On OpenBSD, the headers are already okay.
|
||||
+ fixincludes=Makefile.in
|
||||
+ xmake_file=rs6000/x-openbsd
|
||||
+ ;;
|
||||
powerpc-*-sysv* | powerpc-*-elf*)
|
||||
tm_file=rs6000/sysv4.h
|
||||
xm_file=rs6000/xm-sysv4.h
|
||||
@@ -4841,6 +4916,13 @@
|
||||
fixincludes=fixinc.math
|
||||
tmake_file=t-netbsd
|
||||
;;
|
||||
+ sparc-*-openbsd*)
|
||||
+ tm_file=sparc/openbsd.h
|
||||
+ # On OpenBSD, the headers are already okay.
|
||||
+ fixincludes=Makefile.in
|
||||
+ tmake_file=t-libc-ok
|
||||
+ xmake_file=x-openbsd
|
||||
+ ;;
|
||||
sparc-*-bsd*)
|
||||
tm_file=sparc/bsd.h
|
||||
;;
|
||||
@@ -5009,6 +5091,14 @@
|
||||
# On NetBSD, the headers are already okay, except for math.h.
|
||||
fixincludes=fixinc.math
|
||||
tmake_file=t-netbsd
|
||||
+ float_format=vax
|
||||
+ ;;
|
||||
+ vax-*-openbsd*)
|
||||
+ tm_file=vax/openbsd.h
|
||||
+ tmake_file="t-libc-ok vax/t-openbsd"
|
||||
+ # On OpenBSD, the headers are already okay.
|
||||
+ fixincludes=Makefile.in
|
||||
+ xmake_file=x-openbsd
|
||||
float_format=vax
|
||||
;;
|
||||
vax-*-ultrix*) # vaxen running ultrix
|
@ -1,20 +0,0 @@
|
||||
--- choose-temp.c.orig Thu Dec 4 06:17:56 1997
|
||||
+++ choose-temp.c Tue Aug 11 04:05:05 1998
|
||||
@@ -107,12 +107,17 @@
|
||||
base = try (getenv ("TMP"), base);
|
||||
base = try (getenv ("TEMP"), base);
|
||||
|
||||
+#ifdef COMMENT_OUT /* XXX - P_tmpdir is not /tmp in 4.4BSD */
|
||||
#ifdef P_tmpdir
|
||||
base = try (P_tmpdir, base);
|
||||
#endif
|
||||
+#endif /* XXX */
|
||||
|
||||
/* Try /usr/tmp, then /tmp. */
|
||||
+#ifdef COMMENT_OUT /* XXX - want /tmp used, peroid. Sometimes pkg_add can
|
||||
+ create a /usr/tmp, so beware. */
|
||||
base = try (usrtmp, base);
|
||||
+#endif /* XXX */
|
||||
base = try (tmp, base);
|
||||
|
||||
/* If all else fails, use the current directory! */
|
@ -1,34 +0,0 @@
|
||||
--- flags.h.orig Wed Dec 31 05:02:33 1997
|
||||
+++ flags.h Wed Mar 31 00:08:39 1999
|
||||
@@ -125,6 +125,10 @@
|
||||
|
||||
extern int warn_aggregate_return;
|
||||
|
||||
+/* Nonzero means that -Wformat accepts certain non-ANSI formats. */
|
||||
+
|
||||
+extern int flag_format_extensions;
|
||||
+
|
||||
/* Nonzero if generating code to do profiling. */
|
||||
|
||||
extern int profile_flag;
|
||||
@@ -215,6 +219,20 @@
|
||||
This is generally not a win. */
|
||||
|
||||
extern int flag_unroll_all_loops;
|
||||
+
|
||||
+/* Nonzero forces all invariant computations in loops to be moved
|
||||
+ outside the loop. */
|
||||
+
|
||||
+extern int flag_move_all_movables;
|
||||
+
|
||||
+/* Nonzero forces all general induction variables in loops to be
|
||||
+ strength reduced. */
|
||||
+
|
||||
+extern int flag_reduce_all_givs;
|
||||
+
|
||||
+/* Nonzero gets another run of loop_optimize performed. */
|
||||
+
|
||||
+extern int flag_rerun_loop_opt;
|
||||
|
||||
/* Nonzero for -fcse-follow-jumps:
|
||||
have cse follow jumps to do a more extensive job. */
|
@ -1,42 +0,0 @@
|
||||
--- toplev.c.orig Wed Feb 25 18:04:46 1998
|
||||
+++ toplev.c Wed Mar 31 00:15:41 1999
|
||||
@@ -463,6 +463,20 @@
|
||||
|
||||
int flag_unroll_all_loops;
|
||||
|
||||
+/* Nonzero forces all invariant computations in loops to be moved
|
||||
+ outside the loop. */
|
||||
+
|
||||
+int flag_move_all_movables = 0;
|
||||
+
|
||||
+/* Nonzero forces all general induction variables in loops to be
|
||||
+ strength reduced. */
|
||||
+
|
||||
+int flag_reduce_all_givs = 0;
|
||||
+
|
||||
+/* Nonzero gets another run of loop_optimize performed. */
|
||||
+
|
||||
+int flag_rerun_loop_opt = 0;
|
||||
+
|
||||
/* Nonzero for -fwritable-strings:
|
||||
store string constants in data segment and don't uniquize them. */
|
||||
|
||||
@@ -691,6 +705,7 @@
|
||||
{"stack-check", &flag_stack_check, 1},
|
||||
{"bytecode", &output_bytecode, 1},
|
||||
{"check-memory-usage", &flag_check_memory_usage, 1},
|
||||
+ {"format-extensions", &flag_format_extensions, 1},
|
||||
{"prefix-function-name", &flag_prefix_function_name, 1}
|
||||
};
|
||||
|
||||
@@ -880,6 +895,10 @@
|
||||
{"uninitialized", &warn_uninitialized, 1},
|
||||
{"inline", &warn_inline, 1}
|
||||
};
|
||||
+
|
||||
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
|
||||
+
|
||||
+int flag_format_extensions = 0;
|
||||
|
||||
/* Output files for assembler code (real compiler output)
|
||||
and debugging dumps. */
|
@ -1,19 +0,0 @@
|
||||
--- loop.c.orig Fri Feb 6 11:23:34 1998
|
||||
+++ loop.c Tue Aug 11 16:57:35 1998
|
||||
@@ -1637,6 +1637,7 @@
|
||||
extra cost because something else was already moved. */
|
||||
|
||||
if (already_moved[regno]
|
||||
+ || flag_move_all_movables
|
||||
|| (threshold * savings * m->lifetime) >= insn_count
|
||||
|| (m->forces && m->forces->done
|
||||
&& n_times_used[m->forces->regno] == 1))
|
||||
@@ -3911,7 +3912,7 @@
|
||||
of such giv's whether or not we know they are used after the loop
|
||||
exit. */
|
||||
|
||||
- if (v->lifetime * threshold * benefit < insn_count
|
||||
+ if (!flag_reduce_all_givs && v->lifetime * threshold * benefit < insn_count
|
||||
&& ! bl->reversed)
|
||||
{
|
||||
if (loop_dump_stream)
|
@ -1,17 +0,0 @@
|
||||
--- cp/lex.c.orig Wed Nov 26 12:13:20 1997
|
||||
+++ cp/lex.c Tue Aug 11 13:37:17 1998
|
||||
@@ -3329,6 +3329,14 @@
|
||||
token_buffer[0] = '^';
|
||||
token_buffer[1] = 0;
|
||||
}
|
||||
+ else if (ptr->token == NAMESPACE)
|
||||
+ {
|
||||
+ static int warned;
|
||||
+ if (! warned)
|
||||
+ warning ("namespaces are mostly broken in this version of g++");
|
||||
+
|
||||
+ warned = 1;
|
||||
+ }
|
||||
|
||||
value = (int) ptr->token;
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
--- gcc.1.orig Tue Feb 17 10:44:00 1998
|
||||
+++ gcc.1 Tue Aug 11 13:30:01 1998
|
||||
@@ -182,7 +182,7 @@
|
||||
\-Waggregate\-return
|
||||
\-Wcast\-align
|
||||
\-Wcast\-qual
|
||||
-\-Wchar\-subscript
|
||||
+\-Wchar\-subscripts
|
||||
\-Wcomment
|
||||
\-Wconversion
|
||||
\-Wenum\-clash
|
@ -1,67 +0,0 @@
|
||||
--- invoke.texi.orig Tue Feb 17 10:54:05 1998
|
||||
+++ invoke.texi Tue Aug 11 13:29:38 1998
|
||||
@@ -115,7 +115,7 @@
|
||||
@smallexample
|
||||
-fsyntax-only -pedantic -pedantic-errors
|
||||
-w -W -Wall -Waggregate-return -Wbad-function-cast
|
||||
--Wcast-align -Wcast-qual -Wchar-subscript -Wcomment
|
||||
+-Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment
|
||||
-Wconversion -Werror -Wformat
|
||||
-Wid-clash-@var{len} -Wimplicit -Wimplicit-int
|
||||
-Wimplicit-function-declarations -Wimport -Winline
|
||||
@@ -153,6 +153,7 @@
|
||||
-frerun-cse-after-loop -fschedule-insns
|
||||
-fschedule-insns2 -fstrength-reduce -fthread-jumps
|
||||
-funroll-all-loops -funroll-loops
|
||||
+-fmove-all-movables -freduce-all-givs -frerun-loop-opt
|
||||
-O -O0 -O1 -O2 -O3
|
||||
@end smallexample
|
||||
|
||||
@@ -2284,6 +2285,47 @@
|
||||
Perform the optimization of loop unrolling. This is done for all loops
|
||||
and usually makes programs run more slowly. @samp{-funroll-all-loops}
|
||||
implies @samp{-fstrength-reduce} as well as @samp{-frerun-cse-after-loop}.
|
||||
+
|
||||
+@item -fmove-all-movables
|
||||
+Forces all invariant computations in loops to be moved
|
||||
+outside the loop.
|
||||
+This option is provided primarily to improve performance
|
||||
+for some Fortran code, though it might improve code written
|
||||
+in other languages.
|
||||
+
|
||||
+@emph{Note:} When compiling programs written in Fortran,
|
||||
+this option is enabled by default.
|
||||
+
|
||||
+Analysis of Fortran code optimization and the resulting
|
||||
+optimizations triggered by this option, and the
|
||||
+@samp{-freduce-all-givs} and @samp{-frerun-loop-opt}
|
||||
+options as well, were
|
||||
+contributed by Toon Moene (@code{toon@@moene.indiv.nluug.nl}).
|
||||
+
|
||||
+Please let us (@code{fortran@@gnu.ai.mit.edu})
|
||||
+know how use of these options affects
|
||||
+the performance of your production code.
|
||||
+We're very interested in code that runs @emph{slower}
|
||||
+when these options are @emph{enabled}.
|
||||
+
|
||||
+@item -freduce-all-givs
|
||||
+Forces all general-induction variables in loops to be
|
||||
+strength-reduced.
|
||||
+This option is provided primarily to improve performance
|
||||
+for some Fortran code, though it might improve code written
|
||||
+in other languages.
|
||||
+
|
||||
+@emph{Note:} When compiling programs written in Fortran,
|
||||
+this option is enabled by default.
|
||||
+
|
||||
+@item -frerun-loop-opt
|
||||
+Runs loop optimizations a second time.
|
||||
+This option is provided primarily to improve performance
|
||||
+for some Fortran code, though it might improve code written
|
||||
+in other languages.
|
||||
+
|
||||
+@emph{Note:} When compiling programs written in Fortran,
|
||||
+this option is enabled by default.
|
||||
|
||||
@item -fno-peephole
|
||||
Disable any machine-specific peephole optimizations.
|
@ -1,37 +0,0 @@
|
||||
--- expmed.c.dist Sat Nov 8 14:11:58 1997
|
||||
+++ expmed.c Thu Aug 13 11:18:13 1998
|
||||
@@ -2249,7 +2249,8 @@
|
||||
rtx shift_subtarget = preserve ? 0 : accum;
|
||||
rtx add_target
|
||||
= (opno == alg.ops - 1 && target != 0 && variant != add_variant
|
||||
- ? target : 0);
|
||||
+ && ! preserve)
|
||||
+ ? target : 0;
|
||||
rtx accum_target = preserve ? 0 : accum;
|
||||
|
||||
switch (alg.op[opno])
|
||||
@@ -2716,6 +2717,7 @@
|
||||
optab optab1, optab2;
|
||||
int op1_is_constant, op1_is_pow2;
|
||||
int max_cost, extra_cost;
|
||||
+ static HOST_WIDE_INT last_div_const = 0;
|
||||
|
||||
op1_is_constant = GET_CODE (op1) == CONST_INT;
|
||||
op1_is_pow2 = (op1_is_constant
|
||||
@@ -2825,8 +2827,15 @@
|
||||
size = GET_MODE_BITSIZE (mode);
|
||||
#endif
|
||||
|
||||
+ /* Only deduct something for a REM if the last divide done was
|
||||
+ for a different constant. Then set the constant of the last
|
||||
+ divide. */
|
||||
max_cost = div_cost[(int) compute_mode]
|
||||
- - (rem_flag ? mul_cost[(int) compute_mode] + add_cost : 0);
|
||||
+ - (rem_flag && ! (last_div_const != 0 && op1_is_constant
|
||||
+ && INTVAL (op1) == last_div_const)
|
||||
+ ? mul_cost[(int) compute_mode] + add_cost : 0);
|
||||
+
|
||||
+ last_div_const = ! rem_flag && op1_is_constant ? INTVAL (op1) : 0;
|
||||
|
||||
/* Now convert to the best mode to use. */
|
||||
if (compute_mode != mode)
|
@ -1,52 +0,0 @@
|
||||
--- configure.in.orig Sat Feb 28 15:58:12 1998
|
||||
+++ configure.in Sat Feb 12 02:26:56 2005
|
||||
@@ -303,6 +303,14 @@
|
||||
a29k-*-*) # Default a29k environment.
|
||||
use_collect2=yes
|
||||
;;
|
||||
+ alpha*-*-freebsd*)
|
||||
+ tm_file=alpha/freebsd.h
|
||||
+ if [[ "${OSVERSION}" -lt 600011 ]] ; \
|
||||
+ then fixincludes=fixinc.math; \
|
||||
+ else fixincludes=Makefile.in; \
|
||||
+ fi
|
||||
+ tmake_file=t-libc-ok
|
||||
+ ;;
|
||||
alpha*-*-linux-gnuecoff*)
|
||||
tm_file="${tm_file} alpha/linux.h"
|
||||
xm_file="${xm_file} alpha/xm-linux.h"
|
||||
@@ -762,20 +770,24 @@
|
||||
# Next line turned off because both 386BSD and BSD/386 use GNU ld.
|
||||
# use_collect2=yes
|
||||
;;
|
||||
- i[[34567]]86-*-freebsdelf*)
|
||||
- tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
|
||||
- # On FreeBSD, the headers are already ok, except for math.h.
|
||||
- fixincludes=fixinc.math
|
||||
+ i[[34567]]86-*-freebsdaout*)
|
||||
+ tm_file=i386/freebsd.h
|
||||
+ if [[ "${OSVERSION}" -lt 600011 ]] ; \
|
||||
+ then fixincludes=fixinc.math; \
|
||||
+ else fixincludes=Makefile.in; \
|
||||
+ fi
|
||||
tmake_file=i386/t-freebsd
|
||||
- gas=yes
|
||||
- gnu_ld=yes
|
||||
- stabs=yes
|
||||
;;
|
||||
i[[34567]]86-*-freebsd*)
|
||||
- tm_file=i386/freebsd.h
|
||||
- # On FreeBSD, the headers are already ok, except for math.h.
|
||||
- fixincludes=fixinc.math
|
||||
+ tm_file="i386/i386.h i386/att.h linux.h i386/freebsd.h i386/perform.h"
|
||||
+ if [[ "${OSVERSION}" -lt 600011 ]] ; \
|
||||
+ then fixincludes=fixinc.math; \
|
||||
+ else fixincludes=Makefile.in; \
|
||||
+ fi
|
||||
tmake_file=i386/t-freebsd
|
||||
+ gas=yes
|
||||
+ gnu_ld=yes
|
||||
+ stabs=yes
|
||||
;;
|
||||
i[[34567]]86-*-netbsd*)
|
||||
tm_file=i386/netbsd.h
|
@ -1,236 +0,0 @@
|
||||
--- c-common.c.orig Wed Feb 18 19:16:13 1998
|
||||
+++ c-common.c Tue Mar 30 14:42:30 1999
|
||||
@@ -623,6 +623,7 @@
|
||||
int format_num;
|
||||
int first_arg_num;
|
||||
int is_scan;
|
||||
+ int null_format_ok;
|
||||
tree argument;
|
||||
int arg_num;
|
||||
|
||||
@@ -637,12 +638,26 @@
|
||||
&& (!strcmp (IDENTIFIER_POINTER (format_type), "printf")
|
||||
|| !strcmp (IDENTIFIER_POINTER (format_type),
|
||||
"__printf__")))
|
||||
- is_scan = 0;
|
||||
+ {
|
||||
+ is_scan = 0;
|
||||
+ null_format_ok = 0;
|
||||
+ }
|
||||
+ else if (TREE_CODE (format_type) == IDENTIFIER_NODE
|
||||
+ && (!strcmp (IDENTIFIER_POINTER (format_type), "printf0")
|
||||
+ || !strcmp (IDENTIFIER_POINTER (format_type),
|
||||
+ "__printf0__")))
|
||||
+ {
|
||||
+ is_scan = 0;
|
||||
+ null_format_ok = 1;
|
||||
+ }
|
||||
else if (TREE_CODE (format_type) == IDENTIFIER_NODE
|
||||
&& (!strcmp (IDENTIFIER_POINTER (format_type), "scanf")
|
||||
|| !strcmp (IDENTIFIER_POINTER (format_type),
|
||||
"__scanf__")))
|
||||
- is_scan = 1;
|
||||
+ {
|
||||
+ is_scan = 1;
|
||||
+ null_format_ok = 0;
|
||||
+ }
|
||||
else if (TREE_CODE (format_type) == IDENTIFIER_NODE)
|
||||
{
|
||||
error ("`%s' is an unrecognized format function type",
|
||||
@@ -651,7 +666,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- error ("unrecognized format specifier");
|
||||
+ error_with_decl (decl, "unrecognized format specifier");
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -718,7 +733,8 @@
|
||||
|
||||
record_function_format (DECL_NAME (decl),
|
||||
DECL_ASSEMBLER_NAME (decl),
|
||||
- is_scan, format_num, first_arg_num);
|
||||
+ is_scan, null_format_ok, format_num,
|
||||
+ first_arg_num);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -906,6 +922,7 @@
|
||||
int pointer_count;
|
||||
/* Type of argument if no length modifier is used. */
|
||||
tree *nolen;
|
||||
+ /* EGCS has tree *hhlen -- length modifier for shortening to byte */
|
||||
/* Type of argument if length modifier for shortening is used.
|
||||
If NULL, then this modifier is not allowed. */
|
||||
tree *hlen;
|
||||
@@ -926,6 +943,11 @@
|
||||
} format_char_info;
|
||||
|
||||
static format_char_info print_char_table[] = {
|
||||
+/* FreeBSD kernel extensions. */
|
||||
+ { "D", 1, T_C, NULL, NULL, NULL, NULL, NULL, "-wp" },
|
||||
+ { "b", 1, T_C, NULL, NULL, NULL, NULL, NULL, "-wp" },
|
||||
+ { "rz", 0, NULL, T_I, T_L, NULL, NULL, NULL, "-wp0 +#" },
|
||||
+#define unextended_print_char_table (print_char_table + 3)
|
||||
{ "di", 0, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
|
||||
{ "oxX", 0, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
|
||||
{ "u", 0, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
|
||||
@@ -960,6 +982,7 @@
|
||||
tree name; /* identifier such as "printf" */
|
||||
tree assembler_name; /* optional mangled identifier (for C++) */
|
||||
int is_scan; /* TRUE if *scanf */
|
||||
+ int null_format_ok; /* TRUE if the format string may be NULL */
|
||||
int format_num; /* number of format argument */
|
||||
int first_arg_num; /* number of first arg (zero for varargs) */
|
||||
} function_format_info;
|
||||
@@ -991,15 +1014,15 @@
|
||||
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_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);
|
||||
@@ -1016,11 +1039,12 @@
|
||||
(e.g. for varargs such as vfprintf). */
|
||||
|
||||
void
|
||||
-record_function_format (name, assembler_name, is_scan,
|
||||
+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 null_format_ok;
|
||||
int format_num;
|
||||
int first_arg_num;
|
||||
{
|
||||
@@ -1044,6 +1068,7 @@
|
||||
}
|
||||
|
||||
info->is_scan = is_scan;
|
||||
+ info->null_format_ok = null_format_ok;
|
||||
info->format_num = format_num;
|
||||
info->first_arg_num = first_arg_num;
|
||||
}
|
||||
@@ -1194,7 +1219,8 @@
|
||||
|
||||
if (integer_zerop (format_tree))
|
||||
{
|
||||
- warning ("null format string");
|
||||
+ if (!info->null_format_ok)
|
||||
+ warning ("null format string");
|
||||
return;
|
||||
}
|
||||
if (TREE_CODE (format_tree) != ADDR_EXPR)
|
||||
@@ -1329,6 +1355,7 @@
|
||||
It will work on most machines, because size_t and int
|
||||
have the same mode. But might as well warn anyway,
|
||||
since it will fail on other machines. */
|
||||
+ /* XXX should we allow unsigned ints here? */
|
||||
if ((TYPE_MAIN_VARIANT (TREE_TYPE (cur_param))
|
||||
!= integer_type_node)
|
||||
&&
|
||||
@@ -1336,7 +1363,7 @@
|
||||
!= unsigned_type_node))
|
||||
{
|
||||
sprintf (message,
|
||||
- "field width is not type int (arg %d)",
|
||||
+ "precision is not type int (arg %d)",
|
||||
arg_num);
|
||||
warning (message);
|
||||
}
|
||||
@@ -1371,6 +1398,7 @@
|
||||
cur_param = TREE_VALUE (params);
|
||||
params = TREE_CHAIN (params);
|
||||
++arg_num;
|
||||
+ /* XXX should we allow unsigned ints here? */
|
||||
if (TYPE_MAIN_VARIANT (TREE_TYPE (cur_param))
|
||||
!= integer_type_node)
|
||||
{
|
||||
@@ -1388,6 +1416,56 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+ if (*format_chars == 'b')
|
||||
+ {
|
||||
+ /* There should be an int arg to control the string arg. */
|
||||
+ if (params == 0)
|
||||
+ {
|
||||
+ warning (tfaff);
|
||||
+ return;
|
||||
+ }
|
||||
+ if (info->first_arg_num != 0)
|
||||
+ {
|
||||
+ cur_param = TREE_VALUE (params);
|
||||
+ params = TREE_CHAIN (params);
|
||||
+ ++arg_num;
|
||||
+ if ((TYPE_MAIN_VARIANT (TREE_TYPE (cur_param))
|
||||
+ != integer_type_node)
|
||||
+ &&
|
||||
+ (TYPE_MAIN_VARIANT (TREE_TYPE (cur_param))
|
||||
+ != unsigned_type_node))
|
||||
+ {
|
||||
+ sprintf (message, "bitmap is not type int (arg %d)",
|
||||
+ arg_num);
|
||||
+ warning (message);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ if (*format_chars == 'D')
|
||||
+ {
|
||||
+ /* There should be an unsigned char * arg before the string arg. */
|
||||
+ if (params == 0)
|
||||
+ {
|
||||
+ warning (tfaff);
|
||||
+ return;
|
||||
+ }
|
||||
+ if (info->first_arg_num != 0)
|
||||
+ {
|
||||
+ cur_param = TREE_VALUE (params);
|
||||
+ params = TREE_CHAIN (params);
|
||||
+ ++arg_num;
|
||||
+ cur_type = TREE_TYPE (cur_param);
|
||||
+ if (TREE_CODE (cur_type) != POINTER_TYPE
|
||||
+ || TYPE_MAIN_VARIANT (TREE_TYPE (cur_type))
|
||||
+ != unsigned_char_type_node)
|
||||
+ {
|
||||
+ sprintf (message,
|
||||
+ "ethernet address is not type unsigned char * (arg %d)",
|
||||
+ arg_num);
|
||||
+ warning (message);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
if (*format_chars == 'h' || *format_chars == 'l')
|
||||
length_char = *format_chars++;
|
||||
else if (*format_chars == 'q' || *format_chars == 'L')
|
||||
@@ -1436,7 +1514,9 @@
|
||||
continue;
|
||||
}
|
||||
format_chars++;
|
||||
- fci = info->is_scan ? scan_char_table : print_char_table;
|
||||
+ fci = info->is_scan ? scan_char_table
|
||||
+ : flag_format_extensions ? print_char_table
|
||||
+ : unextended_print_char_table;
|
||||
while (fci->format_chars != 0
|
||||
&& index (fci->format_chars, format_char) == 0)
|
||||
++fci;
|
@ -1,11 +0,0 @@
|
||||
--- c-tree.h.orig Fri Aug 8 13:09:02 1997
|
||||
+++ c-tree.h Tue Mar 30 14:14:51 1999
|
||||
@@ -162,7 +162,7 @@
|
||||
extern void declare_function_name PROTO((void));
|
||||
extern void decl_attributes PROTO((tree, tree, tree));
|
||||
extern void init_function_format_info PROTO((void));
|
||||
-extern void record_function_format PROTO((tree, tree, int, int, int));
|
||||
+extern void record_function_format PROTO((tree, tree, int, int, int, int));
|
||||
extern void check_function_format PROTO((tree, tree, tree));
|
||||
/* Print an error message for invalid operands to arith operation CODE.
|
||||
NOP_EXPR is used as a special case (see truthvalue_conversion). */
|
@ -1,11 +0,0 @@
|
||||
--- config/alpha/alpha.c.orig Fri Feb 6 17:23:50 1998
|
||||
+++ config/alpha/alpha.c Tue Aug 11 04:06:42 1998
|
||||
@@ -1843,7 +1843,7 @@
|
||||
/* Write a version stamp. Don't write anything if we are running as a
|
||||
cross-compiler. Otherwise, use the versions in /usr/include/stamp.h. */
|
||||
|
||||
-#if !defined(CROSS_COMPILE) && !defined(_WIN32) && !defined(__linux__) && !defined(VMS)
|
||||
+#if !defined(CROSS_COMPILE) && !defined(_WIN32) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__linux__) && !defined(VMS)
|
||||
#include <stamp.h>
|
||||
#endif
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- ginclude/stdarg.h.orig Sat Oct 18 10:26:07 1997
|
||||
+++ ginclude/stdarg.h Tue Aug 11 13:27:03 1998
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
#ifndef __GNUC_VA_LIST
|
||||
#define __GNUC_VA_LIST
|
||||
-#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__)
|
||||
+#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
typedef char *__gnuc_va_list;
|
||||
#else
|
||||
typedef void *__gnuc_va_list;
|
@ -1,12 +0,0 @@
|
||||
--- ginclude/stddef.h.orig Mon Oct 28 04:35:28 1996
|
||||
+++ ginclude/stddef.h Sun Mar 24 03:26:25 2002
|
||||
@@ -24,7 +24,8 @@
|
||||
|
||||
/* On 4.3bsd-net2, make sure ansi.h is included, so we have
|
||||
one less case to deal with in the following. */
|
||||
-#if defined (__BSD_NET2__) || defined (____386BSD____) || defined (__FreeBSD__) || defined(__NetBSD__)
|
||||
+#if defined (__BSD_NET2__) || defined (____386BSD____) || defined (__FreeBSD__) || defined(__NetBSD__) || defined (__OpenBSD__)
|
||||
+#define __NO_GNUC_VA_LIST /* <machine/ansi.h> defines __gnuc_va_list */
|
||||
#include <machine/ansi.h>
|
||||
#endif
|
||||
|
@ -1,8 +0,0 @@
|
||||
--- sys-types.h.orig Wed Oct 9 04:26:35 1996
|
||||
+++ sys-types.h Sun Mar 24 03:35:27 2002
|
||||
@@ -83,4 +83,5 @@
|
||||
union wait;
|
||||
|
||||
+#define __NO_GNUC_VA_LIST /* <machine/ansi.h> defines __gnuc_va_list */
|
||||
/* Get size_t and wchar_t. */
|
||||
#include <stddef.h>
|
@ -1,10 +0,0 @@
|
||||
--- protoize.c.orig Fri Feb 27 01:39:03 1998
|
||||
+++ protoize.c Wed Aug 17 21:22:15 2005
|
||||
@@ -57,6 +57,7 @@
|
||||
#define _POSIX_SOURCE
|
||||
#endif
|
||||
|
||||
+#include <sys/cdefs.h>
|
||||
#include <varargs.h>
|
||||
/* On some systems stdio.h includes stdarg.h;
|
||||
we must bring in varargs.h first. */
|
@ -1,14 +0,0 @@
|
||||
--- cpp.texi.orig Wed Feb 18 03:42:42 1998
|
||||
+++ cpp.texi Sun May 9 17:25:42 1999
|
||||
@@ -2,6 +2,11 @@
|
||||
@setfilename cpp.info
|
||||
@settitle The C Preprocessor
|
||||
|
||||
+@dircategory Gcc Documentation
|
||||
+@direntry
|
||||
+* Cpp: (cpp.info). The GNU C pre-processor.
|
||||
+@end direntry
|
||||
+
|
||||
@ignore
|
||||
@ifinfo
|
||||
@format
|
@ -1,14 +0,0 @@
|
||||
--- gcc.texi.orig Sun Mar 1 05:58:17 1998
|
||||
+++ gcc.texi Sun May 9 17:25:24 1999
|
||||
@@ -58,6 +58,11 @@
|
||||
@settitle Porting GNU CC
|
||||
@end ifclear
|
||||
|
||||
+@dircategory Gcc Documentation
|
||||
+@direntry
|
||||
+* Gcc: (gcc.info). The GNU C compiler.
|
||||
+@end direntry
|
||||
+
|
||||
@syncodeindex fn cp
|
||||
@syncodeindex vr cp
|
||||
@c %**end of header
|
@ -1,10 +0,0 @@
|
||||
C++ support, and in particular template support, is vastly improved over
|
||||
gcc-2.7. G++ 2.8.1 also compiles SGI's offical reference implimentation
|
||||
of the STL.
|
||||
|
||||
Beware: This port installs new versions of "gcc", "g++", and so forth
|
||||
into the "${PREFIX}/bin" directory. Mind your PATHs if you don't want
|
||||
to use this compiler by default. However, "cc" and "c++" will not
|
||||
be hidden by this port.
|
||||
|
||||
-- David O'Brien <obrien@NUXI.com>
|
@ -1,42 +0,0 @@
|
||||
@comment $FreeBSD$
|
||||
bin/g++28
|
||||
bin/gcov28
|
||||
bin/gcc28
|
||||
bin/protoize
|
||||
bin/unprotoize
|
||||
bin/%%GNUHOST%%-gcc
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/float.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/syslimits.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/typeinfo
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/exception
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/new
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/new.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/limits.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/README
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/objc/hash.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/objc/objc-list.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/objc/sarray.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/objc/objc.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/objc/objc-api.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/objc/NXConstStr.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/objc/Object.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/objc/Protocol.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/objc/encoding.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/objc/typedstream.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/include/objc/thr.h
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/cc1
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/cc1plus
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/cc1obj
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/specs
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/SYSCALLS.c.X
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/cpp
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/libgcc.a
|
||||
lib/gcc-lib/%%GNUHOST%%/2.8.1/libobjc.a
|
||||
%%GNUHOST%%/include/assert.h
|
||||
@dirrm lib/gcc-lib/%%GNUHOST%%/2.8.1/include/objc
|
||||
@dirrm lib/gcc-lib/%%GNUHOST%%/2.8.1/include
|
||||
@dirrm lib/gcc-lib/%%GNUHOST%%/2.8.1
|
||||
@dirrm lib/gcc-lib/%%GNUHOST%%
|
||||
@dirrmtry lib/gcc-lib
|
||||
@dirrm %%GNUHOST%%/include
|
||||
@dirrm %%GNUHOST%%
|
Loading…
Reference in New Issue
Block a user