This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

__SIZE_TYPE__ and friends out of specs


Now we have infrastructure for defining macros from the C front end,
we can get rid of a bunch of spec gunk on all architectures where
pseudo-intrinsic types (size_t etc) vary at runtime.

To put it another way, say goodbye to NO_BUILTIN_whatever_TYPE.

The patch depends on Neil's patch to pass -m switches to the C front
end when -E is active.

tradcpp doesn't define __SIZE_TYPE__ etc anymore.  (1) This should not
affect anything, since tradcpp is never used to preprocess C anymore;
(2) I don't care.

Bootstrapped i686-linux, and I built a mips-sgi-irix6 cross compiler
to verify that __SIZE_TYPE__ varied correctly with -mabi switches.
This deserves a careful look-over from the maintainers of the affected
architectures.

I also made __GXX_WEAK__ explicitly defined to 1 when
SUPPORTS_ONE_ONLY is true, rather than relying on the default, for
consistency.

zw

	* c-common.c (builtin_define_with_value): New function.
	(cb_register_builtins): Define __SIZE_TYPE__,
	__PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here.
	Make definitions of __GXX_WEAK__ use consistent notation.
	* c-lex.h: Prototype builtin_define_with_value.

	* cppdefault.h: Remove default definitions of SIZE_TYPE,
	PTRDIFF_TYPE, WCHAR_TYPE, and WINT_TYPE.
	* cppinit.c (builtin_array): Remove __SIZE_TYPE__ etc.
	* gcc.c (cpp_unique_options): Don't mess with __WCHAR_TYPE__.
	* tradcpp.c (initialize_builtins): Don't define __SIZE_TYPE__ etc.

	* config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
	config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
	config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
	config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
	config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
	config/sparc/netbsd-elf.h, config/sparc/sol2-bi.h,
	config/sparc/sparc.h: Don't define any of
	NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE,
	NO_BUILTIN_WCHAR_TYPE, or NO_BUILTIN_WINT_TYPE.
	Remove all mention of __SIZE_TYPE__ etc from specs.
	Delete specs which are now empty.

	* doc/tm.texi: Remove documentation of NO_BUILTIN_*.

===================================================================
Index: c-common.c
--- c-common.c	13 May 2002 05:57:20 -0000	1.321
+++ c-common.c	14 May 2002 00:24:20 -0000
@@ -4321,7 +4321,7 @@ cb_register_builtins (pfile)
   if (c_language == clk_cplusplus)
     {
       if (SUPPORTS_ONE_ONLY)
-	cpp_define (pfile, "__GXX_WEAK__");
+	cpp_define (pfile, "__GXX_WEAK__=1");
       else
 	cpp_define (pfile, "__GXX_WEAK__=0");
     }
@@ -4330,6 +4330,12 @@ cb_register_builtins (pfile)
   if (USING_SJLJ_EXCEPTIONS)
     cpp_define (pfile, "__USING_SJLJ_EXCEPTIONS__");
 
+  /* stddef.h needs to know these.  */
+  builtin_define_with_value ("__SIZE_TYPE__", SIZE_TYPE);
+  builtin_define_with_value ("__PTRDIFF_TYPE__", PTRDIFF_TYPE);
+  builtin_define_with_value ("__WCHAR_TYPE__", WCHAR_TYPE);
+  builtin_define_with_value ("__WINT_TYPE__", WINT_TYPE);
+
   /* A straightforward target hook doesn't work, because of problems
      linking that hook's body when part of non-C front ends.  */
   TARGET_CPU_CPP_BUILTINS ();
@@ -4377,6 +4383,27 @@ builtin_define_std (macro)
       *q = '\0';
       cpp_define (parse_in, p);
     }
+}
+
+/* Pass an object-like macro and a value to define it to.  */
+void
+builtin_define_with_value (macro, expansion)
+     const char *macro;
+     const char *expansion;
+{
+  char *buf, *q;
+  size_t mlen = strlen (macro);
+  size_t elen = strlen (expansion);
+
+  q = buf = xmalloc (mlen + elen + 2);
+  memcpy (q, macro, mlen);
+  q += mlen;
+  *q++ = '=';
+  memcpy (q, expansion, elen);
+  q += elen;
+  *q = '\0';
+
+  cpp_define (parse_in, buf);
 }
 
 /* Front end initialization common to C, ObjC and C++.  */
===================================================================
Index: c-lex.h
--- c-lex.h	9 May 2002 22:48:33 -0000	1.28
+++ c-lex.h	14 May 2002 00:24:20 -0000
@@ -49,4 +49,7 @@ extern struct cpp_reader* parse_in;
    "_mips".  */
 extern void builtin_define_std PARAMS ((const char *));
 
+/* Pass an object-like macro and a value to define it to.  */
+extern void builtin_define_with_value PARAMS ((const char *, const char *));
+
 #endif /* ! GCC_C_LEX_H */
===================================================================
Index: cppdefault.h
--- cppdefault.h	7 Oct 2001 16:50:51 -0000	1.4
+++ cppdefault.h	14 May 2002 00:24:20 -0000
@@ -48,30 +48,6 @@ Foundation, 59 Temple Place - Suite 330,
    it would be best to do something here to figure out automatically
    from other information what type to use.  */
 
-/* The string value for __SIZE_TYPE__.  */
-
-#ifndef SIZE_TYPE
-#define SIZE_TYPE "long unsigned int"
-#endif
-
-/* The string value for __PTRDIFF_TYPE__.  */
-
-#ifndef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "long int"
-#endif
-
-/* The string value for __WCHAR_TYPE__.  */
-
-#ifndef WCHAR_TYPE
-#define WCHAR_TYPE "int"
-#endif
-
-/* The string value for __WINT_TYPE__.  */
-
-#ifndef WINT_TYPE
-#define WINT_TYPE "unsigned int"
-#endif
-
 /* The string value for __USER_LABEL_PREFIX__ */
 
 #ifndef USER_LABEL_PREFIX
===================================================================
Index: cppinit.c
--- cppinit.c	13 May 2002 05:57:21 -0000	1.222
+++ cppinit.c	14 May 2002 00:24:21 -0000
@@ -662,18 +662,6 @@ static const struct builtin builtin_arra
   X("__USER_LABEL_PREFIX__",	ULP),
   C("__REGISTER_PREFIX__",	REGISTER_PREFIX),
   C("__HAVE_BUILTIN_SETJMP__",	"1"),
-#ifndef NO_BUILTIN_SIZE_TYPE
-  C("__SIZE_TYPE__",		SIZE_TYPE),
-#endif
-#ifndef NO_BUILTIN_PTRDIFF_TYPE
-  C("__PTRDIFF_TYPE__",		PTRDIFF_TYPE),
-#endif
-#ifndef NO_BUILTIN_WCHAR_TYPE
-  C("__WCHAR_TYPE__",		WCHAR_TYPE),
-#endif
-#ifndef NO_BUILTIN_WINT_TYPE
-  C("__WINT_TYPE__",		WINT_TYPE),
-#endif
 #ifdef STDC_0_IN_SYSTEM_HEADERS
   B("__STDC__",		 BT_STDC),
 #else
===================================================================
Index: gcc.c
--- gcc.c	13 May 2002 19:10:14 -0000	1.315
+++ gcc.c	14 May 2002 00:24:22 -0000
@@ -681,7 +681,6 @@ static const char *cpp_unique_options =
  %{!undef:%{!ansi:%{!std=*:%p}%{std=gnu*:%p}} %P} %{trigraphs}\
  %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}\
  %{fno-inline|O0|!O*:-D__NO_INLINE__} %{ffast-math:-D__FAST_MATH__}\
- %{fshort-wchar:-U__WCHAR_TYPE__ -D__WCHAR_TYPE__=short\\ unsigned\\ int}\
  %{ffreestanding:-D__STDC_HOSTED__=0} %{fno-hosted:-D__STDC_HOSTED__=0}\
  %{!ffreestanding:%{!fno-hosted:-D__STDC_HOSTED__=1}} %{remap}\
  %{g3:-dD} %{H} %C %{D*&U*&A*} %{i*} %Z %i\
===================================================================
Index: tradcpp.c
--- tradcpp.c	3 May 2002 17:55:26 -0000	1.49
+++ tradcpp.c	14 May 2002 00:24:23 -0000
@@ -5145,18 +5145,6 @@ initialize_builtins ()
   install_spec ("__INCLUDE_LEVEL__", T_INCLUDE_LEVEL);
   install_spec ("__LINE__",          T_SPECLINE);
 
-#ifndef NO_BUILTIN_SIZE_TYPE
-  install_value ("__SIZE_TYPE__",         SIZE_TYPE);
-#endif
-#ifndef NO_BUILTIN_PTRDIFF_TYPE
-  install_value ("__PTRDIFF_TYPE__",      PTRDIFF_TYPE);
-#endif
-#ifndef NO_BUILTIN_WCHAR_TYPE
-  install_value ("__WCHAR_TYPE__",        WCHAR_TYPE);
-#endif
-#ifndef NO_BUILTIN_WINT_TYPE
-  install_value ("__WINT_TYPE__",         WINT_TYPE);
-#endif
   install_value ("__REGISTER_PREFIX__",   REGISTER_PREFIX);
   install_value ("__USER_LABEL_PREFIX__", user_label_prefix);
 
===================================================================
Index: config/avr/avr.h
--- config/avr/avr.h	11 May 2002 13:37:05 -0000	1.48
+++ config/avr/avr.h	14 May 2002 00:24:24 -0000
@@ -2653,32 +2653,14 @@ extern int avr_case_values_threshold;
 %{mmcu=attiny15: %(cpp_avr1) -D__AVR_ATtiny15__} \
 %{mmcu=attiny28: %(cpp_avr1) -D__AVR_ATtiny28__} \
 %{mno-interrupts:-D__NO_INTERRUPTS__} \
-%{mint8:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long -D__INT_MAX__=127} \
-%{!mint*:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int -D__INT_MAX__=32767} \
+%{mint8:-D__INT_MAX__=127} \
+%{!mint*:-D__INT_MAX__=32767} \
 %{posix:-D_POSIX_SOURCE}"
 /* A C string constant that tells the GNU CC driver program options to
    pass to CPP.  It can also specify how to translate options you
    give to GNU CC into options for GNU CC to pass to the CPP.
 
    Do not define this macro if it does not need to do anything.  */
-
-#define NO_BUILTIN_SIZE_TYPE
-/* If this macro is defined, the preprocessor will not define the
-   builtin macro `__SIZE_TYPE__'.  The macro `__SIZE_TYPE__' must
-   then be defined by `CPP_SPEC' instead.
-
-   This should be defined if `SIZE_TYPE' depends on target dependent
-   flags which are not accessible to the preprocessor.  Otherwise, it
-   should not be defined.  */
-
-#define NO_BUILTIN_PTRDIFF_TYPE
-/* If this macro is defined, the preprocessor will not define the
-   builtin macro `__PTRDIFF_TYPE__'.  The macro `__PTRDIFF_TYPE__'
-   must then be defined by `CPP_SPEC' instead.
-
-   This should be defined if `PTRDIFF_TYPE' depends on target
-   dependent flags which are not accessible to the preprocessor.
-   Otherwise, it should not be defined.  */
 
 #define CC1_SPEC "%{profile:-p}"
 /* A C string constant that tells the GNU CC driver program options to
===================================================================
Index: config/h8300/h8300.h
--- config/h8300/h8300.h	12 Mar 2002 05:27:55 -0000	1.86
+++ config/h8300/h8300.h	14 May 2002 00:24:25 -0000
@@ -44,9 +44,6 @@ extern const char * const *h8_reg_names;
 
 #define CPP_SPEC \
   "%{!mh:%{!ms:-D__H8300__}} %{mh:-D__H8300H__} %{ms:-D__H8300S__} \
-   %{!mh:%{!ms:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int}} \
-   %{mh:-D__SIZE_TYPE__=unsigned\\ long -D__PTRDIFF_TYPE__=long} \
-   %{ms:-D__SIZE_TYPE__=unsigned\\ long -D__PTRDIFF_TYPE__=long} \
    %{!mh:%{!ms:-Acpu=h8300 -Amachine=h8300}} \
    %{mh:-Acpu=h8300h -Amachine=h8300h} \
    %{ms:-Acpu=h8300s -Amachine=h8300s} \
@@ -974,8 +971,6 @@ struct cum_arg
 /* ANSI C types.
    We use longs for the 300H because ints can be 16 or 32.
    GCC requires SIZE_TYPE to be the same size as pointers.  */
-#define NO_BUILTIN_SIZE_TYPE
-#define NO_BUILTIN_PTRDIFF_TYPE
 #define SIZE_TYPE (TARGET_H8300 ? "unsigned int" : "long unsigned int")
 #define PTRDIFF_TYPE (TARGET_H8300 ? "int" : "long int")
 
===================================================================
Index: config/i386/i386.h
--- config/i386/i386.h	12 May 2002 17:09:24 -0000	1.259
+++ config/i386/i386.h	14 May 2002 00:24:26 -0000
@@ -554,27 +554,12 @@ extern int ix86_arch;
 #endif
 #endif /* CPP_CPU_DEFAULT_SPEC */
 
-#ifdef TARGET_BI_ARCH
-#define NO_BUILTIN_SIZE_TYPE
-#define NO_BUILTIN_PTRDIFF_TYPE
-#endif
-
-#ifdef NO_BUILTIN_SIZE_TYPE
-#define CPP_CPU32_SIZE_TYPE_SPEC \
-  " -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int"
-#define CPP_CPU64_SIZE_TYPE_SPEC \
-  " -D__SIZE_TYPE__=unsigned\\ long\\ int -D__PTRDIFF_TYPE__=long\\ int"
-#else
-#define CPP_CPU32_SIZE_TYPE_SPEC ""
-#define CPP_CPU64_SIZE_TYPE_SPEC ""
-#endif
-
 #define CPP_CPU32_SPEC \
   "-Acpu=i386 -Amachine=i386 %{!ansi:%{!std=c*:%{!std=i*:-Di386}}} -D__i386 \
--D__i386__ %(cpp_cpu32sizet)"
+-D__i386__"
 
 #define CPP_CPU64_SPEC \
-  "-Acpu=x86_64 -Amachine=x86_64 -D__x86_64 -D__x86_64__ %(cpp_cpu64sizet)"
+  "-Acpu=x86_64 -Amachine=x86_64 -D__x86_64 -D__x86_64__"
 
 #define CPP_CPUCOMMON_SPEC "\
 %{march=i386:%{!mcpu*:-D__tune_i386__ }}\
@@ -662,8 +647,6 @@ extern int ix86_arch;
   { "cpp_cpu",	CPP_CPU_SPEC },						\
   { "cpp_cpu32", CPP_CPU32_SPEC },					\
   { "cpp_cpu64", CPP_CPU64_SPEC },					\
-  { "cpp_cpu32sizet", CPP_CPU32_SIZE_TYPE_SPEC },			\
-  { "cpp_cpu64sizet", CPP_CPU64_SIZE_TYPE_SPEC },			\
   { "cpp_cpucommon", CPP_CPUCOMMON_SPEC },				\
   { "cc1_cpu",  CC1_CPU_SPEC },						\
   SUBTARGET_EXTRA_SPECS
===================================================================
Index: config/ia64/ia64.h
--- config/ia64/ia64.h	18 Apr 2002 20:28:39 -0000	1.113
+++ config/ia64/ia64.h	14 May 2002 00:24:26 -0000
@@ -213,12 +213,6 @@ extern const char *ia64_fixed_range_stri
    %(cpp_cpu)	\
    -D__LONG_MAX__=9223372036854775807L"
 
-/* This is always "long" so it doesn't "change" in ILP32 vs. LP64.  */
-/* #define NO_BUILTIN_SIZE_TYPE */
-
-/* This is always "long" so it doesn't "change" in ILP32 vs. LP64.  */
-/* #define NO_BUILTIN_PTRDIFF_TYPE */
-
 /* A C string constant that tells the GNU CC driver program options to pass to
    `cc1'.  It can also specify how to translate options you give to GNU CC into
    options for GNU CC to pass to the `cc1'.  */
===================================================================
Index: config/mips/dec-osf1.h
--- config/mips/dec-osf1.h	2 Nov 2000 23:29:11 -0000	1.3
+++ config/mips/dec-osf1.h	14 May 2002 00:24:26 -0000
@@ -43,11 +43,6 @@ Boston, MA 02111-1307, USA.  */
 #define WCHAR_TYPE	"short unsigned int"
 #define WCHAR_TYPE_SIZE SHORT_TYPE_SIZE
 
-#undef SUBTARGET_CPP_SIZE_SPEC
-#define SUBTARGET_CPP_SIZE_SPEC "\
-%{mlong64:-D__PTRDIFF_TYPE__=long\\ int} \
-%{!mlong64:-D__PTRDIFF_TYPE__=int}"
-
 /* turn off collect2 COFF support, since ldfcn now has elf declaration */
 #undef OBJECT_FORMAT_COFF
 
===================================================================
Index: config/mips/iris6.h
--- config/mips/iris6.h	13 May 2002 02:52:47 -0000	1.44
+++ config/mips/iris6.h	14 May 2002 00:24:27 -0000
@@ -44,8 +44,6 @@ Boston, MA 02111-1307, USA.  */
 
 /* wchar_t is defined differently with and without -mabi=64.  */
 
-#define NO_BUILTIN_WCHAR_TYPE
-
 #undef WCHAR_TYPE
 #define WCHAR_TYPE (Pmode == DImode ? "int" : "long int")
 
@@ -54,8 +52,6 @@ Boston, MA 02111-1307, USA.  */
 
 /* Same for wint_t.  */
 
-#define NO_BUILTIN_WINT_TYPE
-
 #undef WINT_TYPE
 #define WINT_TYPE (Pmode == DImode ? "int" : "long int")
 
@@ -78,15 +74,6 @@ Boston, MA 02111-1307, USA.  */
   -D_LONGLONG -D_SVR4_SOURCE -D_MODERN_C -D__DSO__ \
   -Asystem=unix -Asystem=svr4 -Acpu=mips -Amachine=sgi"
 
-#undef SUBTARGET_CPP_SIZE_SPEC
-#define SUBTARGET_CPP_SIZE_SPEC "\
-%{mabi=32|mabi=n32: -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int \
--D__WCHAR_TYPE__=long\\ int -D__WINT_TYPE__=long\\ int} \
-%{mabi=64: -D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int \
--D__WCHAR_TYPE__=int -D__WINT_TYPE__=int} \
-%{!mabi*: -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int \
--D__WCHAR_TYPE__=long\\ int -D__WINT_TYPE__=long\\ int}"
-
 /* We must make -mips3 do what -mlong64 used to do.  */
 /* ??? If no mipsX option given, but a mabi=X option is, then should set
    _MIPS_ISA based on the mabi=X option.  */
@@ -94,7 +81,6 @@ Boston, MA 02111-1307, USA.  */
    _MIPS_SIM based on the mipsX option.  */
 /* ??? Same for _MIPS_SZINT.  */
 /* ??? Same for _MIPS_SZPTR.  */
-/* ??? Same for __SIZE_TYPE and __PTRDIFF_TYPE.  */
 #undef SUBTARGET_CPP_SPEC
 #define SUBTARGET_CPP_SPEC "\
 %{!ansi:-D__EXTENSIONS__ -D_SGI_SOURCE} \
===================================================================
Index: config/mips/linux.h
--- config/mips/linux.h	15 Apr 2002 20:35:16 -0000	1.40
+++ config/mips/linux.h	14 May 2002 00:24:27 -0000
@@ -142,13 +142,6 @@ void FN ()							\
 -Amachine=mips -D__ELF__ -D__PIC__ -D__pic__"
 #endif
 
-#undef SUBTARGET_CPP_SIZE_SPEC
-#define SUBTARGET_CPP_SIZE_SPEC "\
-%{mabi=32: -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-%{mabi=n32: -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-%{mabi=64: -D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \
-%{!mabi*: -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int}"
-
 /* We must make -mips3 do what -mlong64 used to do.  */
 /* ??? If no mipsX option given, but a mabi=X option is, then should set
    _MIPS_ISA based on the mabi=X option.  */
@@ -156,7 +149,6 @@ void FN ()							\
    _MIPS_SIM based on the mipsX option.  */
 /* ??? Same for _MIPS_SZINT.  */
 /* ??? Same for _MIPS_SZPTR.  */
-/* ??? Same for __SIZE_TYPE and __PTRDIFF_TYPE.  */
 #undef SUBTARGET_CPP_SPEC
 #define SUBTARGET_CPP_SPEC "\
 %{mfp32: -D_MIPS_FPSET=16} \
===================================================================
Index: config/mips/mips.h
--- config/mips/mips.h	25 Apr 2002 19:31:44 -0000	1.179
+++ config/mips/mips.h	14 May 2002 00:24:28 -0000
@@ -1013,11 +1013,6 @@ extern int mips_abi;
 
 /* Preprocessor specs.  */
 
-/* SUBTARGET_CPP_SIZE_SPEC defines SIZE_TYPE and PTRDIFF_TYPE.  It may
-   be overridden by subtargets.  */
-
-#ifndef SUBTARGET_CPP_SIZE_SPEC
-
 /* Rules for SIZE_TYPE and PTRDIFF_TYPE are:
 
    both gp64 and long64 (not the options, but the corresponding flags,
@@ -1043,20 +1038,6 @@ extern int mips_abi;
 /* 32-bit cases first.  */
 
 #if MIPS_ABI_DEFAULT == ABI_EABI
-#define SUBTARGET_CPP_SIZE_SPEC "\
-%{mabi=eabi|!mabi=*:\
-  %{mips1|mips2|mips32|mgp32|mlong32: \
-    -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-  %{!mips1:%{!mips2:%{!mips32:%{!mgp32:%{!mlong32: \
-    %{mips3|mips4|mips5|mips64|mgp64: \
-      -D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \
-    %{!mips3:%{!mips4:%{!mips5:%{!mips64:%{!mgp64: \
-      -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int}}}}}}}}}}} \
-%{mabi=o64:\
- %{!mgp64|!-mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
- %{mgp64:%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int}}} \
-%{mabi=32:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-"
 #define LONG_MAX_SPEC "\
 %{mlong64:-D__LONG_MAX__=9223372036854775807L}\
 %{!mlong64:\
@@ -1076,76 +1057,10 @@ extern int mips_abi;
 "
 #endif
 
-#if MIPS_ABI_DEFAULT == ABI_O64
-#define SUBTARGET_CPP_SIZE_SPEC "\
-%{mabi=eabi:\
-  %{mips1|mips2|mips32|mgp32|mlong32: \
-    -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-  %{!mips1:%{!mips2:%{!mips32:%{!mgp32:%{!mlong32: \
-    %{mips3|mips4|mips5|mips64|mgp64: \
-      -D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \
-    %{!mips3:%{!mips4:%{!mips5:%{!mips64:%{!mgp64: \
-      -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int}}}}}}}}}}} \
-%{mabi=o64|!mabi=*:\
- %{!mgp64|!-mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
- %{mgp64:%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int}}} \
-%{mabi=32:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-%{mabi=meabi:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-"
-#endif
-
-#if MIPS_ABI_DEFAULT == ABI_32
-#define SUBTARGET_CPP_SIZE_SPEC "\
-%{mabi=eabi:\
-  %{mips1|mips2|mips32|mgp32|mlong32: \
-    -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-  %{!mips1:%{!mips2:%{!mips32:%{!mgp32:%{!mlong32: \
-    %{mips3|mips4|mips5|mips64|mgp64: \
-      -D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \
-    %{!mips3:%{!mips4:%{!mips5:%{!mips64:%{!mgp64: \
-      -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int}}}}}}}}}}} \
-%{mabi=o64:\
- %{!mgp64|!-mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
- %{mgp64:%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int}}} \
-%{mabi=32|!mabi=*:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-%{mabi=meabi:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-"
-#endif
-
-#if MIPS_ABI_DEFAULT == ABI_MEABI
-#define SUBTARGET_CPP_SIZE_SPEC "\
-%{mabi=eabi:\
-  %{mips1|mips2|mips32|mgp32|mlong32: \
-    -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-  %{!mips1:%{!mips2:%{!mips32:%{!mgp32:%{!mlong32: \
-    %{mips3|mips4|mips5|mips64|mgp64: \
-      -D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \
-    %{!mips3:%{!mips4:%{!mips5:%{!mips64:%{!mgp64: \
-      -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int}}}}}}}}}}} \
-%{mabi=o64:\
- %{!mgp64|!-mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
- %{mgp64:%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int}}} \
-%{mabi=32:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-%{mabi=meabi|!mabi=*:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-"
-#endif
-
 #else
 
 /* 64-bit default ISA.  */
 #if MIPS_ABI_DEFAULT == ABI_EABI
-#define SUBTARGET_CPP_SIZE_SPEC "\
-%{mabi=eabi|!mabi=*: \
-  %{mips1|mips2|mips32|mgp32|mlong32: \
-    -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-  %{!mips1:%{!mips2:%{!mips32:%{!mgp32:%{!mlong32: \
-    -D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int}}}}}} \
-%{mabi=o64:\
- %{mgp32|!-mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
- %{!mgp32:%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int}}} \
-%{mabi=32:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-%{mabi=meabi:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-"
 #define LONG_MAX_SPEC "\
 %{mlong64:-D__LONG_MAX__=9223372036854775807L}\
 %{!mlong64:\
@@ -1163,53 +1078,6 @@ extern int mips_abi;
 "
 #endif
 
-#if MIPS_ABI_DEFAULT == ABI_O64
-#define SUBTARGET_CPP_SIZE_SPEC "\
-%{mabi=eabi: \
-  %{mips1|mips2|mips32|mgp32|mlong32: \
-    -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-  %{!mips1:%{!mips2:%{!mips32:%{!mgp32:%{!mlong32: \
-    -D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int}}}}}} \
-%{mabi=o64|!mabi=*:\
- %{mgp32|!-mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
- %{!mgp32:%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int}}} \
-%{mabi=32:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-%{mabi=meabi:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-"
-#endif
-
-#if MIPS_ABI_DEFAULT == ABI_32
-#define SUBTARGET_CPP_SIZE_SPEC "\
-%{mabi=eabi:\
-  %{mips1|mips2|mips32|mgp32|mlong32: \
-    -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-  %{!mips1:%{!mips2:%{!mips32:%{!mgp32:%{!mlong32: \
-    -D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int}}}}}} \
-%{mabi=o64:\
- %{mgp32|!-mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
- %{!mgp32:%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int}}} \
-%{mabi=32|!mabi=*:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-%{mabi=meabi:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-"
-#endif
-
-#if MIPS_ABI_DEFAULT == ABI_MEABI
-#define SUBTARGET_CPP_SIZE_SPEC "\
-%{mabi=eabi:\
-  %{mips1|mips2|mips32|mgp32|mlong32: \
-    -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-  %{!mips1:%{!mips2:%{!mips32:%{!mgp32:%{!mlong32: \
-    -D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int}}}}}} \
-%{mabi=o64:\
- %{mgp32|!-mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
- %{!mgp32:%{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int}}} \
-%{mabi=32:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-%{mabi=meabi|!mabi=*:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-"
-#endif
-
-#endif
-
 #endif
 
 /* SUBTARGET_CPP_SPEC is passed to the preprocessor.  It may be
@@ -1273,7 +1141,6 @@ extern int mips_abi;
   { "subtarget_cc1_spec", SUBTARGET_CC1_SPEC },				\
   { "cc1_cpu_spec", CC1_CPU_SPEC},                                      \
   { "subtarget_cpp_spec", SUBTARGET_CPP_SPEC },				\
-  { "subtarget_cpp_size_spec", SUBTARGET_CPP_SIZE_SPEC },		\
   { "long_max_spec", LONG_MAX_SPEC },					\
   { "cpp_fpr_spec", CPP_FPR_SPEC },					\
   { "mips_as_asm_spec", MIPS_AS_ASM_SPEC },				\
@@ -4940,12 +4807,10 @@ while (0)
 /* Default definitions for size_t and ptrdiff_t.  */
 
 #ifndef SIZE_TYPE
-#define NO_BUILTIN_SIZE_TYPE
 #define SIZE_TYPE (Pmode == DImode ? "long unsigned int" : "unsigned int")
 #endif
 
 #ifndef PTRDIFF_TYPE
-#define NO_BUILTIN_PTRDIFF_TYPE
 #define PTRDIFF_TYPE (Pmode == DImode ? "long int" : "int")
 #endif
 
===================================================================
Index: config/mips/netbsd.h
--- config/mips/netbsd.h	7 May 2002 21:07:22 -0000	1.16
+++ config/mips/netbsd.h	14 May 2002 00:24:28 -0000
@@ -109,26 +109,14 @@ Boston, MA 02111-1307, USA.  */
    %{EL:-U__MIPSEB__ -D__MIPSEL__}					\
    %(subtarget_cpp_spec) "
 
-
-/* Provide a SUBTARGET_CPP_SIZE_SPEC appropriate for NetBSD.  In
-   addition to the normal work done by this spec, we also define
-   __LONG64 or not (so that <machine/ansi.h> can tell).  */
-
-#undef SUBTARGET_CPP_SIZE_SPEC
-#define SUBTARGET_CPP_SIZE_SPEC						\
-  "%{mlong64:								\
-     %{!mips1:								\
-       %{!mips2:							\
-	 %{!mips32:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int -D__LONG64}}}} \
-   %{!mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int -U__LONG64}"
-
-
 /* Provide a SUBTARGET_CPP_SPEC appropriate for NetBSD.  Currently,
-   we just deal with the GCC option '-posix'.  */
+   we just deal with the GCC option '-posix', and define __LONG64
+   as appropriate for <machine/ansi.h>.  */
 
 #undef SUBTARGET_CPP_SPEC
-#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
-
+#define SUBTARGET_CPP_SPEC "%{posix:-D_POSIX_SOURCE}    \
+   %{mlong64:%{!mips1:%{!mips2:%{!mips32:-D__LONG64}}}} \
+   %{!mlong64:-U__LONG64}"
 
 /* Provide a LINK_SPEC appropriate for a NetBSD/mips target.
    This is a copy of LINK_SPEC from <netbsd-elf.h> tweaked for
===================================================================
Index: config/mips/osfrose.h
--- config/mips/osfrose.h	27 Feb 2002 18:47:40 -0000	1.9
+++ config/mips/osfrose.h	14 May 2002 00:24:28 -0000
@@ -34,10 +34,6 @@ Boston, MA 02111-1307, USA.  */
 -DOSF -DOSF1 -Dbsd4_2 -DMIPSEL -Dhost_mips -Dmips -Dunix -DR3000 -DSYSTYPE_BSD \
 -Asystem=unix -Asystem=xpg4 -Acpu=mips -Amachine=mips"
 
-#define SUBTARGET_CPP_SIZE_SPEC "\
-%{mlong64:-D__PTRDIFF_TYPE__=long\\ int} \
-%{!mlong64:-D__PTRDIFF_TYPE__=int}"
-
 #define SUBTARGET_CPP_SPEC "\
 %{.S:	%{!ansi:%{!traditional-cpp: -traditional}}}"
 
===================================================================
Index: config/mips/sni-svr4.h
--- config/mips/sni-svr4.h	17 Dec 2001 15:05:35 -0000	1.11
+++ config/mips/sni-svr4.h	14 May 2002 00:24:28 -0000
@@ -26,9 +26,6 @@ Boston, MA 02111-1307, USA.  */
 -D_mips -D_unix -D_host_mips -D_MIPSEB -D_R3000 -D_SYSTYPE_SVR4 \
 -Asystem=unix -Asystem=svr4 -Acpu=mips -Amachine=mips"
 
-#define SUBTARGET_CPP_SIZE_SPEC "\
--D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int"
-
 #define LINK_SPEC "\
 %{G*} \
 %{!mgas: \
===================================================================
Index: config/rs6000/aix51.h
--- config/rs6000/aix51.h	26 Mar 2002 20:13:45 -0000	1.10
+++ config/rs6000/aix51.h	14 May 2002 00:24:28 -0000
@@ -105,9 +105,7 @@ do {									\
 #undef CPP_SPEC
 #define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\
   %{ansi: -D_ANSI_C_SOURCE}\
-  %{!maix64: -D__WCHAR_TYPE__=short\\ unsigned\\ int}\
-  %{maix64: -D__64BIT__ -D_ARCH_PPC -D__LONG_MAX__=9223372036854775807L \
-    -D__WCHAR_TYPE__=unsigned\\ int}\
+  %{maix64: -D__64BIT__ -D_ARCH_PPC -D__LONG_MAX__=9223372036854775807L}
   %{mpe: -I/usr/lpp/ppe.poe/include}\
   %{pthread: -D_THREAD_SAFE}\
   %(cpp_cpu)"
@@ -120,9 +118,7 @@ do {									\
    -D_XOPEN_SOURCE_EXTENDED=1                   \
    -D_LARGE_FILE_API                            \
    -D_ALL_SOURCE                                \
-   %{!maix64: -D__WCHAR_TYPE__=short\\ unsigned\\ int}\
-   %{maix64: -D__64BIT__ -D_ARCH_PPC -D__LONG_MAX__=9223372036854775807L \
-     -D__WCHAR_TYPE__=unsigned\\ int}\
+   %{maix64: -D__64BIT__ -D_ARCH_PPC -D__LONG_MAX__=9223372036854775807L}
    %{mpe: -I/usr/lpp/ppe.poe/include}\
    %{pthread: -D_THREAD_SAFE}\
    %(cpp_cpu)"
@@ -206,9 +202,6 @@ do {									\
 
 #undef PTRDIFF_TYPE
 #define PTRDIFF_TYPE "long int"
-
-/* __WCHAR_TYPE__ is dynamic, so do not define it statically.  */
-#define NO_BUILTIN_WCHAR_TYPE
 
 /* Type used for wchar_t, as a string used in a declaration.  */
 #undef  WCHAR_TYPE
===================================================================
Index: config/s390/linux.h
--- config/s390/linux.h	13 May 2002 12:33:24 -0000	1.18
+++ config/s390/linux.h	14 May 2002 00:24:28 -0000
@@ -50,27 +50,19 @@ Boston, MA 02111-1307, USA.  */
 
 /* Target specific preprocessor settings.  */
 
-#define NO_BUILTIN_SIZE_TYPE
-#define NO_BUILTIN_PTRDIFF_TYPE
-
 #define CPP_PREDEFINES \
   "-Dunix -Asystem(unix) -D__gnu_linux__ -Dlinux -Asystem(linux) -D__ELF__ \
    -Acpu(s390) -Amachine(s390) -D__s390__"
 
-#define CPP_ARCH31_SPEC \
-  "-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=int"
-#define CPP_ARCH64_SPEC \
-  "-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int \
-   -D__s390x__ -D__LONG_MAX__=9223372036854775807L"
+#define CPP_ARCH31_SPEC ""
+#define CPP_ARCH64_SPEC "-D__s390x__ -D__LONG_MAX__=9223372036854775807L"
 
-#ifdef DEFAULT_TARGET_64BIT
 #undef  CPP_SPEC
-#define CPP_SPEC "%{m31:%(cpp_arch31)} %{!m31:%(cpp_arch64)}"
+#ifdef DEFAULT_TARGET_64BIT
+#define CPP_SPEC "%{!m31:%(cpp_arch64)}"
 #else
-#undef  CPP_SPEC
-#define CPP_SPEC "%{m64:%(cpp_arch64)} %{!m64:%(cpp_arch31)}"
+#define CPP_SPEC "%{m64:%(cpp_arch64)}"
 #endif
-
 
 /* Target specific compiler settings.  */
 
===================================================================
Index: config/sh/sh.h
--- config/sh/sh.h	7 May 2002 21:07:23 -0000	1.141
+++ config/sh/sh.h	14 May 2002 00:24:29 -0000
@@ -56,8 +56,6 @@ extern int code_for_indirect_jump_scratc
 %{m4-single:-D__SH4_SINGLE__} \
 %{m4-nofpu:-D__sh3__ -D__SH4_NOFPU__} \
 %{m4:-D__SH4__} \
-%{m1|m2|m3*|m4*:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
-%{m5*:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \
 %{!m1:%{!m2:%{!m3*:%{!m4*:%{!m5*:%(cpp_default_cpu_spec)}}}}} \
 %{mhitachi:-D__HITACHI__} \
 %(subtarget_cpp_spec) \
@@ -72,8 +70,7 @@ extern int code_for_indirect_jump_scratc
 #endif
 
 #ifndef CPP_DEFAULT_CPU_SPEC
-#define CPP_DEFAULT_CPU_SPEC \
-  "-D__sh1__ -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int"
+#define CPP_DEFAULT_CPU_SPEC "-D__sh1__"
 #endif
 
 
@@ -2509,13 +2506,8 @@ while (0)
 /* 'char' is signed by default.  */
 #define DEFAULT_SIGNED_CHAR  1
 
-/* We -Define SIZE_TYPE in CPP_SPEC.  */
-#define NO_BUILTIN_SIZE_TYPE 1
-
 /* The type of size_t unsigned int.  */
 #define SIZE_TYPE (TARGET_SH5 ? "long unsigned int" : "unsigned int")
-
-#define NO_BUILTIN_PTRDIFF_TYPE 1
 
 #undef  PTRDIFF_TYPE
 #define PTRDIFF_TYPE (TARGET_SH5 ? "long int" : "int")
===================================================================
Index: config/sh/sh64.h
--- config/sh/sh64.h	9 Apr 2002 20:07:15 -0000	1.3
+++ config/sh/sh64.h	14 May 2002 00:24:29 -0000
@@ -24,8 +24,7 @@ Boston, MA 02111-1307, USA.  */
   fputs (" (SuperH SH)", stderr);
 
 #undef CPP_DEFAULT_CPU_SPEC
-#define CPP_DEFAULT_CPU_SPEC "-D__SH5__=32 -D__SHMEDIA__ \
--D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int"
+#define CPP_DEFAULT_CPU_SPEC "-D__SH5__=32 -D__SHMEDIA__"
 
 #undef ASM_SPEC
 #define ASM_SPEC  "%(subtarget_asm_endian_spec) %{mrelax:-relax} \
===================================================================
Index: config/sparc/linux64.h
--- config/sparc/linux64.h	5 May 2002 09:38:20 -0000	1.58
+++ config/sparc/linux64.h	14 May 2002 00:24:29 -0000
@@ -44,7 +44,6 @@ Boston, MA 02111-1307, USA.  */
 
 #undef CPP_ARCH32_SPEC
 #define CPP_ARCH32_SPEC "%{mlong-double-128:-D__LONG_DOUBLE_128__} \
--D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int \
 -D__GCC_NEW_VARARGS__ -Acpu=sparc -Amachine=sparc"
 
 #endif
===================================================================
Index: config/sparc/netbsd-elf.h
--- config/sparc/netbsd-elf.h	9 May 2002 03:53:58 -0000	1.7
+++ config/sparc/netbsd-elf.h	14 May 2002 00:24:30 -0000
@@ -37,22 +37,6 @@ Boston, MA 02111-1307, USA.  */
 #undef CPP_SUBTARGET_SPEC32
 #define CPP_SUBTARGET_SPEC32 "-D__sparc %{posix:-D_POSIX_SOURCE}"
 
-/* CPP_ARCH32_SPEC and CPP_ARCH64_SPEC are wrong from sparc/sparc.h; we
-   always want the non-SPARC_BI_ARCH versions, since the SPARC_BI_ARCH
-   versions define __SIZE_TYPE__ and __PTRDIFF_TYPE__ incorrectly for
-   NetBSD.  */
-#undef CPP_ARCH32_SPEC
-#define CPP_ARCH32_SPEC "-D__GCC_NEW_VARARGS__ -Acpu=sparc -Amachine=sparc"
-
-#undef CPP_ARCH64_SPEC
-#define CPP_ARCH64_SPEC "-D__arch64__ -Acpu=sparc64 -Amachine=sparc64"
-
-/* sparc/sparc.h defines NO_BUILTIN_SIZE_TYPE and NO_BUILTIN_PTRDIFF_TYPE
-   if SPARC_BI_ARCH is defined.  This is wrong for NetBSD; size_t and
-   ptrdiff_t do not change for 32-bit vs. 64-bit.  */
-#undef NO_BUILTIN_PTRDIFF_TYPE
-#undef NO_BUILTIN_SIZE_TYPE
-
 /* SIZE_TYPE and PTRDIFF_TYPE are wrong from sparc/sparc.h.  */
 #undef SIZE_TYPE
 #define SIZE_TYPE "long unsigned int"
===================================================================
Index: config/sparc/sol2-bi.h
--- config/sparc/sol2-bi.h	22 Apr 2002 19:54:50 -0000	1.5
+++ config/sparc/sol2-bi.h	14 May 2002 00:24:30 -0000
@@ -125,7 +125,6 @@
 /* wchar_t is called differently in <wchar.h> for 32 and 64-bit
    compilations.  This is called for by SCD 2.4.1, p. 6-83, Figure 6-65
    (32-bit) and p. 6P-10, Figure 6.38 (64-bit).  */
-#define NO_BUILTIN_WCHAR_TYPE
 
 #undef WCHAR_TYPE
 #define WCHAR_TYPE (TARGET_ARCH64 ? "int" : "long int")
@@ -136,7 +135,6 @@
 /* Same for wint_t.  See SCD 2.4.1, p. 6-83, Figure 6-66 (32-bit).  There's
    no corresponding 64-bit definition, but this is what Solaris 8
    <iso/wchar_iso.h> uses.  */
-#define NO_BUILTIN_WINT_TYPE
 
 #undef WINT_TYPE
 #define WINT_TYPE (TARGET_ARCH64 ? "int" : "long int")
@@ -145,12 +143,10 @@
 #define WINT_TYPE_SIZE 32
 
 #undef CPP_ARCH32_SPEC
-#define CPP_ARCH32_SPEC "-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int \
--D__WCHAR_TYPE__=long\\ int -D__WINT_TYPE__=long\\ int \
+#define CPP_ARCH32_SPEC "\
 -D__GCC_NEW_VARARGS__ -Acpu=sparc -Amachine=sparc"
 #undef CPP_ARCH64_SPEC
-#define CPP_ARCH64_SPEC "-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int \
--D__WCHAR_TYPE__=int -D__WINT_TYPE__=int \
+#define CPP_ARCH64_SPEC "\
 -D__arch64__ -Acpu=sparc64 -Amachine=sparcv9 -D__sparcv9"
 
 #undef CPP_ARCH_SPEC
===================================================================
Index: config/sparc/sparc.h
--- config/sparc/sparc.h	9 May 2002 10:38:44 -0000	1.194
+++ config/sparc/sparc.h	14 May 2002 00:24:31 -0000
@@ -246,20 +246,9 @@ Unrecognized value in TARGET_CPU_DEFAULT
    sparc64 in 32 bit environments, so for now we only use `sparc64' in
    64 bit environments.  */
 
-#ifdef SPARC_BI_ARCH
-
-#define CPP_ARCH32_SPEC "-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int \
--D__GCC_NEW_VARARGS__ -Acpu=sparc -Amachine=sparc"
-#define CPP_ARCH64_SPEC "-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int \
--D__arch64__ -Acpu=sparc64 -Amachine=sparc64"
-
-#else
-
 #define CPP_ARCH32_SPEC "-D__GCC_NEW_VARARGS__ -Acpu=sparc -Amachine=sparc"
 #define CPP_ARCH64_SPEC "-D__arch64__ -Acpu=sparc64 -Amachine=sparc64"
 
-#endif
-
 #define CPP_ARCH_DEFAULT_SPEC \
 (DEFAULT_ARCH32_P ? CPP_ARCH32_SPEC : CPP_ARCH64_SPEC)
 
@@ -372,10 +361,6 @@ Unrecognized value in TARGET_CPU_DEFAULT
 #define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G %L"
 
 
-#ifdef SPARC_BI_ARCH
-#define NO_BUILTIN_PTRDIFF_TYPE
-#define NO_BUILTIN_SIZE_TYPE
-#endif
 #define PTRDIFF_TYPE (TARGET_ARCH64 ? "long int" : "int")
 #define SIZE_TYPE (TARGET_ARCH64 ? "long unsigned int" : "unsigned int")
 
===================================================================
Index: doc/tm.texi
--- doc/tm.texi	13 May 2002 05:57:38 -0000	1.123
+++ doc/tm.texi	14 May 2002 00:24:34 -0000
@@ -177,46 +177,6 @@ This macro is just like @code{CPP_SPEC},
 than C@.  If you do not define this macro, then the value of
 @code{CPP_SPEC} (if any) will be used instead.
 
-@findex NO_BUILTIN_SIZE_TYPE
-@item NO_BUILTIN_SIZE_TYPE
-If this macro is defined, the preprocessor will not define the built-in macro
-@code{__SIZE_TYPE__}.  The macro @code{__SIZE_TYPE__} must then be defined
-by @code{CPP_SPEC} instead.
-
-This should be defined if @code{SIZE_TYPE} depends on target dependent flags
-which are not accessible to the preprocessor.  Otherwise, it should not
-be defined.
-
-@findex NO_BUILTIN_PTRDIFF_TYPE
-@item NO_BUILTIN_PTRDIFF_TYPE
-If this macro is defined, the preprocessor will not define the built-in macro
-@code{__PTRDIFF_TYPE__}.  The macro @code{__PTRDIFF_TYPE__} must then be
-defined by @code{CPP_SPEC} instead.
-
-This should be defined if @code{PTRDIFF_TYPE} depends on target dependent flags
-which are not accessible to the preprocessor.  Otherwise, it should not
-be defined.
-
-@findex NO_BUILTIN_WCHAR_TYPE
-@item NO_BUILTIN_WCHAR_TYPE
-If this macro is defined, the preprocessor will not define the built-in macro
-@code{__WCHAR_TYPE__}.  The macro @code{__WCHAR_TYPE__} must then be
-defined by @code{CPP_SPEC} instead.
-
-This should be defined if @code{WCHAR_TYPE} depends on target dependent flags
-which are not accessible to the preprocessor.  Otherwise, it should not
-be defined.
-
-@findex NO_BUILTIN_WINT_TYPE
-@item NO_BUILTIN_WINT_TYPE
-If this macro is defined, the preprocessor will not define the built-in macro
-@code{__WINT_TYPE__}.  The macro @code{__WINT_TYPE__} must then be
-defined by @code{CPP_SPEC} instead.
-
-This should be defined if @code{WINT_TYPE} depends on target dependent flags
-which are not accessible to the preprocessor.  Otherwise, it should not
-be defined.
-
 @findex CC1_SPEC
 @item CC1_SPEC
 A C string constant that tells the GCC driver program options to


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]