This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[basic-improvements] 32x64 proposed fix
- From: Zack Weinberg <zack at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sun, 15 Dec 2002 01:45:09 -0800
- Subject: [basic-improvements] 32x64 proposed fix
This is my proposed patch for the 32x64 build failures on the
basic-improvements branch: I overhauled hwint.h so that it actually
knows what's going on, and then I copied the knowledge of whether or
not HOST_WIDE_INT must be 64 bits wide from the various arch.h files
to config.gcc. That last bit is error-prone; I would appreciate a
careful look-over from architecture maintainers.
A nice side effect of this change is, three xm-host.h files become
unnecessary.
I am testing this patch with another i686-linux bootstrap (all
languages) and an i686-linux -> mips64-elf simulator cross build (C
and C++ only). That will take all night. Assuming success, OK to
apply this patch?
zw
* config.gcc (need_64bit_hwint): New variable.
(alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
rs6000*-*-*, sparc64*-*-*, s390*-*-*, sh*-*-*,
hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
sparcv9-*-solaris2*, sparc*-*-solaris2.[789],
ultrasparc-*-freebsd*): Set it.
(powerpc*-*-darwin*): Unset it.
(alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
i?86-*-interix*, sparc64-*-openbsd*): Remove references to
deleted/nonexistent xm-*.h headers.
* configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
target set need_64bit_hwint in config.gcc.
* configure, config.in: Regenerate.
* hwint.h: Overhaul. Don't bother trying int for
HOST_WIDE_INT. Do try __int64 if long is not enough. Base
decision to force 64-bit HOST_WIDE_INT on
NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
not visible at this point. Don't allow prior definition of
any macro defined by this file.
* config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
HOST_BITS_PER_WIDE_INT.
* config/c4x/c4x.h: Adjust redefinition of
HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
* config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
config/i386/xm-i386-interix.h: Delete file.
f:
* target.h: Don't define HOST_WIDE_INT.
===================================================================
Index: config.gcc
--- config.gcc 14 Dec 2002 18:30:49 -0000 1.240.2.17
+++ config.gcc 15 Dec 2002 09:42:30 -0000
@@ -150,6 +150,13 @@
#
# gas Set to yes or no depending on whether the target
# system normally uses GNU as.
+#
+# need_64bit_hwint Set to yes if HOST_WIDE_INT must be 64 bits wide
+# for this target. This is true iff
+# MAX_LONG_TYPE_SIZE is 64. (The code which
+# determines the underlying integral type for
+# HOST_WIDE_INT cannot see the definition of
+# MAX_LONG_TYPE_SIZE.)
# The following variables are used in each case-construct to build up the
# outgoing variables:
@@ -209,6 +216,7 @@ gas="$gas_flag"
gnu_ld="$gnu_ld_flag"
enable_threads=$enable_threads_flag
target_gtfiles=
+need_64bit_hwint=
# Obsolete configurations.
case $machine in
@@ -237,6 +245,7 @@ cpu_type=`echo $machine | sed 's/-.*$//'
case $machine in
alpha*-*-*)
cpu_type=alpha
+ need_64bit_hwint=yes
;;
strongarm*-*-*)
cpu_type=arm
@@ -254,9 +263,11 @@ i[34567]86-*-*)
x86_64-*-*)
cpu_type=i386
extra_headers="mmintrin.h xmmintrin.h"
+ need_64bit_hwint=yes
;;
ia64-*-*)
extra_headers=ia64intrin.h
+ need_64bit_hwint=yes
;;
hppa*-*-* | parisc*-*-*)
cpu_type=pa
@@ -270,17 +281,30 @@ m68k-*-*)
;;
mips*-*-*)
cpu_type=mips
+ need_64bit_hwint=yes
;;
powerpc*-*-*)
cpu_type=rs6000
extra_headers="ppc-asm.h altivec.h spe.h"
+ need_64bit_hwint=yes
+ ;;
+rs6000*-*-*)
+ need_64bit_hwint=yes
+ ;;
+sparc64*-*-*)
+ cpu_type=sparc
+ need_64bit_hwint=yes
;;
sparc*-*-*)
cpu_type=sparc
;;
+s390*-*-*)
+ need_64bit_hwint=yes
+ ;;
# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
sh[123456789l]*-*-*)
cpu_type=sh
+ need_64bit_hwint=yes
;;
tic4x-*-*)
cpu_type=c4x
@@ -478,7 +502,6 @@ alpha-*-interix)
target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT"
xm_defines=POSIX
- xm_file="alpha/xm-alpha-interix.h"
tmake_file="alpha/t-alpha t-interix alpha/t-interix alpha/t-ieee"
if test x$enable_threads = xyes ; then
thread_file='posix'
@@ -565,7 +588,7 @@ alpha*-dec-osf[45]*)
alpha64-dec-*vms*)
xm_defines=POSIX
tm_file="${tm_file} alpha/vms.h alpha/vms64.h"
- xm_file="alpha/xm-vms.h alpha/xm-vms64.h"
+ xm_file="alpha/xm-vms.h"
tmake_file="alpha/t-alpha alpha/t-vms alpha/t-vms64 alpha/t-ieee"
xmake_file=alpha/x-vms
exeext=.exe
@@ -741,6 +764,7 @@ hppa*64*-*-linux* | parisc*64*-*-linux*)
pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h pa/pa64-linux.h"
tmake_file=pa/t-linux64
gas=yes gnu_ld=yes
+ need_64bit_hwint=yes
;;
hppa*-*-linux* | parisc*-*-linux*)
target_cpu_default="MASK_PA_11"
@@ -881,6 +905,7 @@ hppa*64*-*-hpux11*)
pa/pa64-regs.h pa/long_double.h pa/pa-hpux.h \
pa/pa-hpux11.h pa/pa-64.h pa/pa64-hpux.h"
fi
+ need_64bit_hwint=yes
tmake_file="pa/t-pa64 pa/t-pa-hpux"
xmake_file="pa/x-ada"
target_cpu_default="(MASK_PA_11|MASK_PA_20|MASK_GAS)"
@@ -1309,7 +1334,6 @@ i[34567]86-*-uwin*)
;;
i[34567]86-*-interix3*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
- xm_file="i386/xm-i386-interix.h"
xm_defines=POSIX
tmake_file="t-interix i386/t-interix"
extra_objs=winnt.o
@@ -1323,7 +1347,6 @@ i[34567]86-*-interix3*)
;;
i[34567]86-*-interix*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h interix.h"
- xm_file="i386/xm-i386-interix.h"
xm_defines=POSIX
tmake_file="t-interix i386/t-interix"
extra_objs=winnt.o
@@ -1943,10 +1966,11 @@ powerpc-*-darwin*)
# Darwin linker does collect2 functionality
use_collect2=no
extra_headers=altivec.h
+ # override ppc default
+ need_64bit_hwint=
;;
powerpc*-*-freebsd*)
tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h"
- xm_file=rs6000/xm-sysv4.h
out_file=rs6000/rs6000.c
tmake_file="rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
;;
@@ -2284,7 +2308,6 @@ sparc-*-openbsd*)
;;
sparc64-*-openbsd*)
tm_file="sparc/openbsd1-64.h sparc/sparc.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h"
- xm_file=sparc/xm-sp64.h
gas=yes gnu_ld=yes
with_cpu=ultrasparc
;;
@@ -2371,6 +2394,7 @@ sparc64-*-solaris2* | sparcv9-*-solaris2
thread_file='solaris'
fi
fi
+ need_64bit_hwint=yes
;;
sparc-hal-solaris2*)
xm_defines=POSIX
@@ -2411,6 +2435,7 @@ sparc-*-solaris2*)
tm_file="${tm_file} sparc/sol2-gas-bi.h"
fi
tmake_file="$tmake_file sparc/t-sol2-64"
+ need_64bit_hwint=yes
;;
esac
xm_defines=POSIX
@@ -2494,6 +2519,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*
x) with_cpu=ultrasparc ;;
*) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
esac
+ need_64bit_hwint=yes
;;
sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux64 sparc/t-crtfm"
===================================================================
Index: configure.in
--- configure.in 3 Dec 2002 17:34:49 -0000 1.617.4.11
+++ configure.in 15 Dec 2002 09:42:30 -0000
@@ -907,6 +907,10 @@ else
done
fi
+if test x$need_64bit_hwint = xyes; then
+ AC_DEFINE(NEED_64BIT_HOST_WIDE_INT, 1,
+[Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h).])
+
count=a
for f in $host_xm_file; do
count=${count}x
===================================================================
Index: hwint.h
--- hwint.h 3 Dec 2002 17:34:56 -0000 1.13.4.1
+++ hwint.h 15 Dec 2002 09:42:30 -0000
@@ -15,152 +15,111 @@
#define HOST_BITS_PER_INT (CHAR_BIT * SIZEOF_INT)
#define HOST_BITS_PER_LONG (CHAR_BIT * SIZEOF_LONG)
+/* If HAVE_LONG_LONG and SIZEOF_LONG_LONG aren't defined, but
+ GCC_VERSION >= 3000, assume this is the second or later stage of a
+ bootstrap, we do have long long, and it's 64 bits. (This is
+ required by C99; we do have some ports that violate that assumption
+ but they're all cross-compile-only.) Just in case, force a
+ constraint violation if that assumption is incorrect. */
+#if !defined HAVE_LONG_LONG
+# if GCC_VERSION >= 3000
+# define HAVE_LONG_LONG 1
+# define SIZEOF_LONG_LONG 8
+extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1];
+# endif
+#endif
+
#ifdef HAVE_LONG_LONG
# define HOST_BITS_PER_LONGLONG (CHAR_BIT * SIZEOF_LONG_LONG)
-#else
+#endif
#ifdef HAVE___INT64
-# define HOST_BITS_PER_LONGLONG (CHAR_BIT * SIZEOF___INT64)
-#else
-/* If we're here and we're GCC, assume this is stage 2+ of a bootstrap
- and 'long long' has the width of the *target*'s long long. */
-# if GCC_VERSION > 3000
-# define HOST_BITS_PER_LONGLONG LONG_LONG_TYPE_SIZE
-# endif /* gcc */
-#endif
-#endif /* no long long */
-
-/* Find the largest host integer type and set its size and type. */
-
-/* Use long long on the host if the target has a wider long type than
- the host. */
-
-#if ! defined HOST_BITS_PER_WIDE_INT \
- && defined HOST_BITS_PER_LONGLONG \
- && (HOST_BITS_PER_LONGLONG > HOST_BITS_PER_LONG) \
- && (defined (LONG_LONG_MAX) || defined (LONGLONG_MAX) \
- || defined (LLONG_MAX) || defined (__GNUC__))
+# define HOST_BITS_PER___INT64 (CHAR_BIT * SIZEOF___INT64)
+#endif
-# ifdef MAX_LONG_TYPE_SIZE
-# if MAX_LONG_TYPE_SIZE > HOST_BITS_PER_LONG
-# define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_LONGLONG
-# define HOST_WIDE_INT long long
-# endif
-# else
-# if LONG_TYPE_SIZE > HOST_BITS_PER_LONG
+/* Set HOST_WIDE_INT. This should be the widest efficient host
+ integer type. It can be 32 or 64 bits, except that if we are
+ targeting a machine with 64-bit size_t then it has to be 64 bits.
+
+ With a sane ABI, 'long' is the largest efficient host integer type.
+ Thus, we use that unless we have to use 'long long' or '__int64'
+ because we're targeting a 64-bit machine from a 32-bit host. */
+
+#if HOST_BITS_PER_LONG >= 64 || !defined NEED_64BIT_HOST_WIDE_INT
+# define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_LONG
+# define HOST_WIDE_INT long
+#else
+# if HOST_BITS_PER_LONGLONG >= 64
# define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_LONGLONG
# define HOST_WIDE_INT long long
-# endif
-# endif
-
-#endif
-
-#ifndef HOST_BITS_PER_WIDE_INT
-
-# if HOST_BITS_PER_LONG > HOST_BITS_PER_INT
-# define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_LONG
-# define HOST_WIDE_INT long
# else
-# define HOST_BITS_PER_WIDE_INT HOST_BITS_PER_INT
-# define HOST_WIDE_INT int
-# endif
-
-#endif /* ! HOST_BITS_PER_WIDE_INT */
-
-/* Provide defaults for the way to print a HOST_WIDE_INT
- in various manners. */
-
-#ifndef HOST_WIDE_INT_PRINT_DEC
-# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
-# define HOST_WIDE_INT_PRINT_DEC "%d"
-# define HOST_WIDE_INT_PRINT_DEC_C "%d"
-# define HOST_WIDE_INT_PRINT_DEC_SPACE "% *d"
-# else
-# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
-# define HOST_WIDE_INT_PRINT_DEC "%ld"
-# define HOST_WIDE_INT_PRINT_DEC_C "%ldL"
-# define HOST_WIDE_INT_PRINT_DEC_SPACE "% *ld"
-# else
-# define HOST_WIDE_INT_PRINT_DEC "%lld"
-# define HOST_WIDE_INT_PRINT_DEC_C "%lldLL"
-# define HOST_WIDE_INT_PRINT_DEC_SPACE "% *lld"
-# endif
-# endif
-#endif /* ! HOST_WIDE_INT_PRINT_DEC */
-
-#ifndef HOST_WIDE_INT_PRINT_UNSIGNED
-# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
-# define HOST_WIDE_INT_PRINT_UNSIGNED "%u"
-# define HOST_WIDE_INT_PRINT_UNSIGNED_SPACE "% *u"
-# else
-# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
-# define HOST_WIDE_INT_PRINT_UNSIGNED "%lu"
-# define HOST_WIDE_INT_PRINT_UNSIGNED_SPACE "% *lu"
+# if HOST_BITS_PER___INT64 >= 64
+# define HOST_BITS_PER_WIDE_INT HOST_BITS_PER___INT64
+# define HOST_WIDE_INT __int64
# else
-# define HOST_WIDE_INT_PRINT_UNSIGNED "%llu"
-# define HOST_WIDE_INT_PRINT_UNSIGNED_SPACE "% *llu"
+ #error "Unable to find a suitable type for HOST_WIDE_INT"
# endif
# endif
-#endif /* ! HOST_WIDE_INT_PRINT_UNSIGNED */
+#endif
-#ifndef HOST_WIDE_INT_PRINT_HEX
-# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
-# define HOST_WIDE_INT_PRINT_HEX "0x%x"
-# else
-# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
-# define HOST_WIDE_INT_PRINT_HEX "0x%lx"
-# else
-# define HOST_WIDE_INT_PRINT_HEX "0x%llx"
-# endif
-# endif
-#endif /* ! HOST_WIDE_INT_PRINT_HEX */
+/* Various printf format strings for HOST_WIDE_INT. */
-#ifndef HOST_WIDE_INT_PRINT_DOUBLE_HEX
+#if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
+# define HOST_WIDE_INT_PRINT_DEC "%ld"
+# define HOST_WIDE_INT_PRINT_DEC_C "%ldL"
+# define HOST_WIDE_INT_PRINT_DEC_SPACE "% *ld"
+# define HOST_WIDE_INT_PRINT_UNSIGNED "%lu"
+# define HOST_WIDE_INT_PRINT_UNSIGNED_SPACE "% *lu"
+# define HOST_WIDE_INT_PRINT_HEX "0x%lx"
+ /* 'long' might be 32 or 64 bits, and the number of leading zeroes
+ must be tweaked accordingly. */
# if HOST_BITS_PER_WIDE_INT == 64
-# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
-# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%x%016x"
-# else
-# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
-# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%lx%016lx"
-# else
-# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%llx%016llx"
-# endif
-# endif
+# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%lx%016lx"
# else
-# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
-# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%x%08x"
-# else
-# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
-# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%lx%08lx"
-# else
-# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%llx%08llx"
-# endif
-# endif
+# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%lx%08lx"
# endif
-#endif /* ! HOST_WIDE_INT_PRINT_DOUBLE_HEX */
+#else
+# define HOST_WIDE_INT_PRINT_DEC "%lld"
+# define HOST_WIDE_INT_PRINT_DEC_C "%lldLL"
+# define HOST_WIDE_INT_PRINT_DEC_SPACE "% *lld"
+# define HOST_WIDE_INT_PRINT_UNSIGNED "%llu"
+# define HOST_WIDE_INT_PRINT_UNSIGNED_SPACE "% *llu"
+# define HOST_WIDE_INT_PRINT_HEX "0x%llx"
+ /* We can assume that 'long long' is at least 64 bits. */
+# define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%llx%016llx"
+#endif
-/* Find HOST_WIDEST_INT and set its bit size, type and print macros.
- It will be the largest integer mode supported by the host which may
- (or may not) be larger than HOST_WIDE_INT. */
-
-#ifndef HOST_WIDEST_INT
-#if defined HOST_BITS_PER_LONGLONG \
- && HOST_BITS_PER_LONGLONG > HOST_BITS_PER_LONG
-# define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER_LONGLONG
-# define HOST_WIDEST_INT long long
-# define HOST_WIDEST_INT_PRINT_DEC "%lld"
-# define HOST_WIDEST_INT_PRINT_DEC_SPACE "% *lld"
-# define HOST_WIDEST_INT_PRINT_UNSIGNED "%llu"
-# define HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE "% *llu"
-# define HOST_WIDEST_INT_PRINT_HEX "0x%llx"
-# else
-# define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER_LONG
-# define HOST_WIDEST_INT long
-# define HOST_WIDEST_INT_PRINT_DEC "%ld"
-# define HOST_WIDEST_INT_PRINT_DEC_SPACE "% *ld"
-# define HOST_WIDEST_INT_PRINT_UNSIGNED "%lu"
-# define HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE "% *lu"
-# define HOST_WIDEST_INT_PRINT_HEX "0x%lx"
-# endif /* long long wider than long */
-#endif /* ! HOST_WIDEST_INT */
+/* Set HOST_WIDEST_INT. Unlike HOST_WIDE_INT, this must always be
+ at least 64 bits wide. */
+
+#if HOST_BITS_PER_WIDE_INT >= 64
+# define HOST_WIDEST_INT HOST_WIDE_INT
+# define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER_WIDE_INT
+# define HOST_WIDEST_INT_PRINT_DEC HOST_WIDE_INT_PRINT_DEC
+# define HOST_WIDEST_INT_PRINT_DEC_C HOST_WIDE_INT_PRINT_DEC_C
+# define HOST_WIDEST_INT_PRINT_DEC_SPACE HOST_WIDE_INT_PRINT_DEC_SPACE
+# define HOST_WIDEST_INT_PRINT_UNSIGNED HOST_WIDE_INT_PRINT_UNSIGNED
+# define HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE HOST_WIDE_INT_PRINT_UNSIGNED_SPACE
+# define HOST_WIDEST_INT_PRINT_HEX HOST_WIDE_INT_PRINT_HEX
+# define HOST_WIDEST_INT_PRINT_DOUBLE_HEX HOST_WIDE_INT_PRINT_DOUBLE_HEX
+#else
+# if HOST_BITS_PER_LONGLONG >= 64
+# define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER_LONGLONG
+# define HOST_WIDEST_INT long long
+# else
+# if HOST_BITS_PER___INT64 >= 64
+# define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER___INT64
+# define HOST_WIDEST_INT __int64
+# else
+ #error "Unable to find a suitable type for HOST_WIDEST_INT"
+# endif
+# endif
+# define HOST_WIDEST_INT_PRINT_DEC "%lld"
+# define HOST_WIDEST_INT_PRINT_DEC_C "%lldLL"
+# define HOST_WIDEST_INT_PRINT_DEC_SPACE "% *lld"
+# define HOST_WIDEST_INT_PRINT_UNSIGNED "%llu"
+# define HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE "% *llu"
+# define HOST_WIDEST_INT_PRINT_HEX "0x%llx"
+# define HOST_WIDEST_INT_PRINT_DOUBLE_HEX "0x%llx%016llx"
+#endif
#endif /* ! GCC_HWINT_H */
===================================================================
Index: config/alpha/xm-alpha-interix.h
--- config/alpha/xm-alpha-interix.h 14 Mar 2001 00:58:25 -0000 1.4
+++ config/alpha/xm-alpha-interix.h 1 Jan 1970 00:00:00 -0000
@@ -1,39 +0,0 @@
-/* Configuration for GNU compiler
- for an DEC/Compaq Alpha
- Copyright (C) 1999, 2001 Free Software Foundation, Inc.
- Donn Terry, Softway Systems, Inc.
- derived from code by Douglas B. Rupp (drupp@cs.washington.edu)
-
-This file is part of GNU CC.
-
-GNU CC 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, or (at your option)
-any later version.
-
-GNU CC 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 GNU CC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-#define HOST_BITS_PER_WIDE_INT 64
-#ifdef __GNUC__
-# define HOST_WIDE_INT long long
-#else
-# define HOST_WIDE_INT __int64
-#endif
-
-#define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER_LONGLONG
-#ifdef __GNUC__
-# define HOST_WIDEST_INT long long
-#else
-# define HOST_WIDEST_INT __int64
-#endif
-#define HOST_WIDEST_INT_PRINT_DEC "%lld"
-#define HOST_WIDEST_INT_PRINT_UNSIGNED "%llu"
-#define HOST_WIDEST_INT_PRINT_HEX "0x%llx"
===================================================================
Index: config/alpha/xm-vms.h
--- config/alpha/xm-vms.h 11 Mar 2002 13:14:12 -0000 1.19
+++ config/alpha/xm-vms.h 15 Dec 2002 09:42:31 -0000
@@ -19,9 +19,6 @@ along with GNU CC; see the file COPYING.
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#define HOST_WIDE_INT long long
-#define HOST_BITS_PER_WIDE_INT 64
-
/* A couple of conditionals for execution machine are controlled here. */
#ifndef VMS
#define VMS
===================================================================
Index: config/alpha/xm-vms64.h
--- config/alpha/xm-vms64.h 14 Dec 2001 12:55:07 -0000 1.1
+++ config/alpha/xm-vms64.h 1 Jan 1970 00:00:00 -0000
@@ -1,29 +0,0 @@
-/* Configuration for GNU C-compiler for openVMS/Alpha.
- Copyright (C) 2001 Free Software Foundation, Inc.
- Contributed by Douglas Rupp (rupp@gnat.com).
-
-This file is part of GNU CC.
-
-GNU CC 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, or (at your option)
-any later version.
-
-GNU CC 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 GNU CC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-#undef HOST_WIDE_INT
-
-/* Since DEC C long != Gnu C long */
-#define HOST_PTR_PRINTF "%llx"
-#define HOST_WIDE_INT_PRINT_DEC "%lld"
-#define HOST_WIDE_INT_PRINT_UNSIGNED "%llu"
-#define HOST_WIDE_INT_PRINT_HEX "0x%llx"
-#define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%llx%016llx"
===================================================================
Index: config/c4x/c4x.h
--- config/c4x/c4x.h 17 Sep 2002 22:58:54 -0000 1.114.2.4
+++ config/c4x/c4x.h 15 Dec 2002 09:42:31 -0000
@@ -1651,17 +1651,11 @@ fini_section () \
/* The TI assembler wants to have hex numbers this way. */
#undef HOST_WIDE_INT_PRINT_HEX
-#ifndef HOST_WIDE_INT_PRINT_HEX
-# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
-# define HOST_WIDE_INT_PRINT_HEX "0%xh"
-# else
-# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
-# define HOST_WIDE_INT_PRINT_HEX "0%lxh"
-# else
-# define HOST_WIDE_INT_PRINT_HEX "0%llxh"
-# endif
-# endif
-#endif /* ! HOST_WIDE_INT_PRINT_HEX */
+#if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
+# define HOST_WIDE_INT_PRINT_HEX "0%lxh"
+#else
+# define HOST_WIDE_INT_PRINT_HEX "0%llxh"
+#endif
/* Overall Framework of an Assembler File. */
/* We need to have a data section we can identify so that we can set
===================================================================
Index: config/i386/xm-i386-interix.h
--- config/i386/xm-i386-interix.h 9 Mar 2001 20:53:53 -0000 1.3
+++ config/i386/xm-i386-interix.h 1 Jan 1970 00:00:00 -0000
@@ -1,32 +0,0 @@
-/* Configuration for GNU compiler
- for an Intel i386 or later processor running Interix.
- Copyright (C) 1999 Free Software Foundation, Inc.
- Contributed by Donn Terry (donn@interix.com)
- Derived from code by Douglas B. Rupp (drupp@cs.washington.edu)
-
-This file is part of GNU CC.
-
-GNU CC 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, or (at your option)
-any later version.
-
-GNU CC 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 GNU CC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-#define HOST_BITS_PER_WIDEST_INT HOST_BITS_PER_LONGLONG
-#ifdef __GNUC__
-# define HOST_WIDEST_INT long long
-#else
-# define HOST_WIDEST_INT __int64
-#endif
-#define HOST_WIDEST_INT_PRINT_DEC "%lld"
-#define HOST_WIDEST_INT_PRINT_UNSIGNED "%llu"
-#define HOST_WIDEST_INT_PRINT_HEX "0x%llx"
===================================================================
Index: f/target.h
--- f/target.h 21 Oct 2002 17:53:04 -0000 1.16.8.3
+++ f/target.h 15 Dec 2002 09:42:32 -0000
@@ -30,12 +30,8 @@ the Free Software Foundation, 59 Temple
#ifndef GCC_F_TARGET_H
#define GCC_F_TARGET_H
-#ifdef FFE_STANDALONE
-#define HOST_WIDE_INT long
-#else
#ifndef TREE_CODE
#include "tree.h"
-#endif
#endif
/* Simple definitions and enumerations. */