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]

Patch to provide a default POINTER_SIZE


POINTER_SIZE is another macro that lends itself to a sensible default
value, namely BITS_PER_WORD.  I tested this via cross compiling cc1 to
the following targets:

1750a-unknown-elf a29k-unknown-rtems alpha-dec-osf4.0 arc-unknown-elf
arm-unknown-pe avr-unknown-elf c38-convex-elf c4x-unknown-rtems
clipper-intergraph-clix cris-unknown-linux-gnu d30v-unknown-elf
dsp16xx-unknown-elf elxsi-elxsi-elf fr30-unknown-elf
h8300-unknown-rtems hppa1.1-hp-hpux11 i370-unknown-linux-gnu
i386-dg-dgux i686-pc-linux-gnu i860-unknown-sysv4 i960-wrs-vxworks
ia64-unknown-linux-gnu m32r-unknown-elf m68hc11-unknown-elf
m68k-motorola-sysv m88k-tektronix-sysv3 mcore-unknown-elf
mips-sgi-irix6.5 mn10200-unknown-elf mn10300-unknown-elf
ns32k-tek6200-bsd pdp11-unknown-bsd pj-unknown-linux-gnu
powerpc-apple-darwin romp-unknown-aos rs6000-ibm-aix4.3.3.0
s390-unknown-linux-gnu sh-unknown-rtems sparc-sun-sunos4.1.4
v850-unknown-rtems vax-dec-vms we32k-att-sysv xstormy16-unknown-elf
xtensa-unknown-elf

I was unable to build two targets both before and after my patch, so I
don't consider that a problem.  (They were 1750a-unknown-elf and
xtensa-unknown-elf if anyone's interested.)

Okay to install?

		Thanks,
		--Kaveh


2002-03-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
	dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
	m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
	ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
	v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
	* defaults.h (POINTER_SIZE): Define.
	* doc/tm.texi (POINTER_SIZE): Document default.

diff -rup orig/egcc-CVS20020304/gcc/config/1750a/1750a.h egcc-CVS20020304/gcc/config/1750a/1750a.h
--- orig/egcc-CVS20020304/gcc/config/1750a/1750a.h	Sun Mar  3 10:37:44 2002
+++ egcc-CVS20020304/gcc/config/1750a/1750a.h	Mon Mar  4 21:30:10 2002
@@ -96,10 +96,6 @@ extern const char *const sectname[4];
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD       1
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE         16
-
 #define PTRDIFF_TYPE        "int"
 
 /* Type to use for `size_t'. If undefined, uses `long unsigned int'.  */
diff -rup orig/egcc-CVS20020304/gcc/config/a29k/a29k.h egcc-CVS20020304/gcc/config/a29k/a29k.h
--- orig/egcc-CVS20020304/gcc/config/a29k/a29k.h	Sun Mar  3 10:37:44 2002
+++ egcc-CVS20020304/gcc/config/a29k/a29k.h	Mon Mar  4 21:32:19 2002
@@ -168,10 +168,6 @@ extern int target_flags;
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD 4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 32
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY 32
 
diff -rup orig/egcc-CVS20020304/gcc/config/arc/arc.h egcc-CVS20020304/gcc/config/arc/arc.h
--- orig/egcc-CVS20020304/gcc/config/arc/arc.h	Sun Mar  3 16:30:18 2002
+++ egcc-CVS20020304/gcc/config/arc/arc.h	Mon Mar  4 21:32:52 2002
@@ -209,10 +209,6 @@ if (GET_MODE_CLASS (MODE) == MODE_INT		\
 /* Likewise, if the function return value is promoted.  */
 #define PROMOTE_FUNCTION_RETURN
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 32
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY 32
 
diff -rup orig/egcc-CVS20020304/gcc/config/arm/arm.h egcc-CVS20020304/gcc/config/arm/arm.h
--- orig/egcc-CVS20020304/gcc/config/arm/arm.h	Sun Mar  3 16:30:18 2002
+++ egcc-CVS20020304/gcc/config/arm/arm.h	Mon Mar  4 21:33:16 2002
@@ -690,8 +690,6 @@ extern int arm_is_6_or_7;
 
 #define UNITS_PER_WORD	4
 
-#define POINTER_SIZE  32
-
 #define PARM_BOUNDARY  	32
 
 #define STACK_BOUNDARY  32
diff -rup orig/egcc-CVS20020304/gcc/config/c4x/c4x.h egcc-CVS20020304/gcc/config/c4x/c4x.h
--- orig/egcc-CVS20020304/gcc/config/c4x/c4x.h	Mon Mar  4 07:30:35 2002
+++ egcc-CVS20020304/gcc/config/c4x/c4x.h	Mon Mar  4 21:33:45 2002
@@ -340,7 +340,6 @@ extern const char *c4x_rpts_cycles_strin
 
 #define BITS_PER_UNIT		32
 #define UNITS_PER_WORD		1
-#define POINTER_SIZE		32
 #define PARM_BOUNDARY	        32
 #define STACK_BOUNDARY		32
 #define FUNCTION_BOUNDARY	32
diff -rup orig/egcc-CVS20020304/gcc/config/clipper/clipper.h egcc-CVS20020304/gcc/config/clipper/clipper.h
--- orig/egcc-CVS20020304/gcc/config/clipper/clipper.h	Sun Mar  3 10:37:44 2002
+++ egcc-CVS20020304/gcc/config/clipper/clipper.h	Mon Mar  4 21:34:12 2002
@@ -72,10 +72,6 @@ extern int target_flags;
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD 4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 32
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY 32
 
diff -rup orig/egcc-CVS20020304/gcc/config/cris/cris.h egcc-CVS20020304/gcc/config/cris/cris.h
--- orig/egcc-CVS20020304/gcc/config/cris/cris.h	Sun Mar  3 16:30:19 2002
+++ egcc-CVS20020304/gcc/config/cris/cris.h	Mon Mar  4 21:34:32 2002
@@ -477,8 +477,6 @@ extern int target_flags;
 
 #define UNITS_PER_WORD 4
 
-#define POINTER_SIZE 32
-
 /* A combination of defining PROMOTE_MODE, PROMOTE_FUNCTION_ARGS,
    PROMOTE_FOR_CALL_ONLY and *not* defining PROMOTE_PROTOTYPES gives the
    best code size and speed for gcc, ipps and products in gcc-2.7.2.  */
diff -rup orig/egcc-CVS20020304/gcc/config/d30v/d30v.h egcc-CVS20020304/gcc/config/d30v/d30v.h
--- orig/egcc-CVS20020304/gcc/config/d30v/d30v.h	Sun Mar  3 16:30:19 2002
+++ egcc-CVS20020304/gcc/config/d30v/d30v.h	Mon Mar  4 21:34:42 2002
@@ -163,8 +163,6 @@ extern int target_flags;
 
 #define UNITS_PER_WORD 4
 
-#define POINTER_SIZE 32
-
 #define PROMOTE_MODE(MODE,UNSIGNEDP,TYPE)				\
 do {									\
   if (GET_MODE_CLASS (MODE) == MODE_INT					\
diff -rup orig/egcc-CVS20020304/gcc/config/dsp16xx/dsp16xx.h egcc-CVS20020304/gcc/config/dsp16xx/dsp16xx.h
--- orig/egcc-CVS20020304/gcc/config/dsp16xx/dsp16xx.h	Sun Mar  3 16:30:19 2002
+++ egcc-CVS20020304/gcc/config/dsp16xx/dsp16xx.h	Mon Mar  4 21:34:55 2002
@@ -317,10 +317,6 @@ extern int target_flags;
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD 1
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 16
-
 /* Allocation boundary (in *bits*) for storing pointers in memory.  */
 #define POINTER_BOUNDARY 16
 
diff -rup orig/egcc-CVS20020304/gcc/config/fr30/fr30.h egcc-CVS20020304/gcc/config/fr30/fr30.h
--- orig/egcc-CVS20020304/gcc/config/fr30/fr30.h	Sun Mar  3 10:37:45 2002
+++ egcc-CVS20020304/gcc/config/fr30/fr30.h	Mon Mar  4 21:35:18 2002
@@ -85,8 +85,6 @@ extern int target_flags;
 
 #define UNITS_PER_WORD 	4
 
-#define POINTER_SIZE 	32
-
 #define PROMOTE_MODE(MODE,UNSIGNEDP,TYPE)	\
   do						\
     {						\
diff -rup orig/egcc-CVS20020304/gcc/config/h8300/h8300.h egcc-CVS20020304/gcc/config/h8300/h8300.h
--- orig/egcc-CVS20020304/gcc/config/h8300/h8300.h	Sun Mar  3 16:30:20 2002
+++ egcc-CVS20020304/gcc/config/h8300/h8300.h	Mon Mar  4 21:36:12 2002
@@ -201,10 +201,6 @@ extern int target_flags;
 #define UNITS_PER_WORD		(TARGET_H8300H || TARGET_H8300S ? 4 : 2)
 #define MIN_UNITS_PER_WORD	2
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE (TARGET_H8300H || TARGET_H8300S ? 32 : 16)
-
 #define SHORT_TYPE_SIZE	16
 #define INT_TYPE_SIZE		(TARGET_INT32 ? 32 : 16)
 #define LONG_TYPE_SIZE		32
diff -rup orig/egcc-CVS20020304/gcc/config/i370/i370.h egcc-CVS20020304/gcc/config/i370/i370.h
--- orig/egcc-CVS20020304/gcc/config/i370/i370.h	Sun Mar  3 10:37:45 2002
+++ egcc-CVS20020304/gcc/config/i370/i370.h	Mon Mar  4 21:36:26 2002
@@ -90,10 +90,6 @@ extern int mvs_function_name_length;
 
 #define UNITS_PER_WORD 4
 
-/* Width in bits of a pointer.  See also the macro `Pmode' defined below.  */
-
-#define POINTER_SIZE 32
-
 /* Allocation boundary (in *bits*) for storing pointers in memory.  */
 
 #define POINTER_BOUNDARY 32
diff -rup orig/egcc-CVS20020304/gcc/config/i386/i386.h egcc-CVS20020304/gcc/config/i386/i386.h
--- orig/egcc-CVS20020304/gcc/config/i386/i386.h	Sun Mar  3 16:30:20 2002
+++ egcc-CVS20020304/gcc/config/i386/i386.h	Mon Mar  4 21:36:45 2002
@@ -718,10 +718,6 @@ extern int ix86_arch;
 #define UNITS_PER_WORD (TARGET_64BIT ? 8 : 4)
 #define MIN_UNITS_PER_WORD 4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE BITS_PER_WORD
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY BITS_PER_WORD
 
diff -rup orig/egcc-CVS20020304/gcc/config/i860/i860.h egcc-CVS20020304/gcc/config/i860/i860.h
--- orig/egcc-CVS20020304/gcc/config/i860/i860.h	Sun Mar  3 10:37:45 2002
+++ egcc-CVS20020304/gcc/config/i860/i860.h	Mon Mar  4 21:37:10 2002
@@ -85,10 +85,6 @@ extern int target_flags;
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD 4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 32
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY 32
 
diff -rup orig/egcc-CVS20020304/gcc/config/i960/i960.h egcc-CVS20020304/gcc/config/i960/i960.h
--- orig/egcc-CVS20020304/gcc/config/i960/i960.h	Sun Mar  3 16:30:20 2002
+++ egcc-CVS20020304/gcc/config/i960/i960.h	Mon Mar  4 21:37:22 2002
@@ -399,9 +399,6 @@ extern int target_flags;
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD 4
 
-/* Width in bits of a pointer.  See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 32
-
 /* Width in bits of a long double.  Define to 96, and let
    ROUND_TYPE_ALIGN adjust the alignment for speed.  */
 #define	LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_64 ? 64 : 96)
diff -rup orig/egcc-CVS20020304/gcc/config/m32r/m32r.h egcc-CVS20020304/gcc/config/m32r/m32r.h
--- orig/egcc-CVS20020304/gcc/config/m32r/m32r.h	Sun Mar  3 16:30:21 2002
+++ egcc-CVS20020304/gcc/config/m32r/m32r.h	Mon Mar  4 21:39:11 2002
@@ -462,10 +462,6 @@ extern enum m32r_sdata m32r_sdata;
    PROMOTE_MODE.  */
 /*#define PROMOTE_FUNCTION_RETURN*/
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 32
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY 32
 
diff -rup orig/egcc-CVS20020304/gcc/config/m68hc11/m68hc11.h egcc-CVS20020304/gcc/config/m68hc11/m68hc11.h
--- orig/egcc-CVS20020304/gcc/config/m68hc11/m68hc11.h	Sun Mar  3 16:30:21 2002
+++ egcc-CVS20020304/gcc/config/m68hc11/m68hc11.h	Mon Mar  4 21:39:34 2002
@@ -244,9 +244,6 @@ extern const struct processor_costs *m68
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD		2
 
-/* Width in bits of a pointer.  See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE		16
-
 /* Definition of size_t.  This is really an unsigned short as the
    68hc11 only handles a 64K address space.  */
 #define SIZE_TYPE               "short unsigned int"
diff -rup orig/egcc-CVS20020304/gcc/config/m68k/m68k.h egcc-CVS20020304/gcc/config/m68k/m68k.h
--- orig/egcc-CVS20020304/gcc/config/m68k/m68k.h	Sun Mar  3 16:30:21 2002
+++ egcc-CVS20020304/gcc/config/m68k/m68k.h	Mon Mar  4 21:39:48 2002
@@ -318,10 +318,6 @@ extern int target_flags;
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD 4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 32
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY (TARGET_SHORT ? 16 : 32)
 
diff -rup orig/egcc-CVS20020304/gcc/config/m88k/m88k.h egcc-CVS20020304/gcc/config/m88k/m88k.h
--- orig/egcc-CVS20020304/gcc/config/m88k/m88k.h	Sun Mar  3 10:37:45 2002
+++ egcc-CVS20020304/gcc/config/m88k/m88k.h	Mon Mar  4 21:40:00 2002
@@ -338,10 +338,6 @@ extern int flag_pic;				/* -fpic */
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD 4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 32
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY 32
 
diff -rup orig/egcc-CVS20020304/gcc/config/mcore/mcore.h egcc-CVS20020304/gcc/config/mcore/mcore.h
--- orig/egcc-CVS20020304/gcc/config/mcore/mcore.h	Sun Mar  3 16:30:22 2002
+++ egcc-CVS20020304/gcc/config/mcore/mcore.h	Mon Mar  4 21:40:09 2002
@@ -248,10 +248,6 @@ extern const char * mcore_stack_incremen
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD	4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE  32
-
 /* A C expression for the size in bits of the type `long long' on the
    target machine.  If you don't define this, the default is two
    words.  */
diff -rup orig/egcc-CVS20020304/gcc/config/mmix/mmix.h egcc-CVS20020304/gcc/config/mmix/mmix.h
--- orig/egcc-CVS20020304/gcc/config/mmix/mmix.h	Sun Mar  3 16:30:22 2002
+++ egcc-CVS20020304/gcc/config/mmix/mmix.h	Mon Mar  4 21:41:25 2002
@@ -252,7 +252,6 @@ extern int target_flags;
 #define WORDS_BIG_ENDIAN 1
 #define FLOAT_WORDS_BIG_ENDIAN 1
 #define UNITS_PER_WORD 8
-#define POINTER_SIZE 64
 
 /* FIXME: This macro is correlated to MAX_FIXED_MODE_SIZE in that
    e.g. this macro must not be 8 (default, UNITS_PER_WORD) when
diff -rup orig/egcc-CVS20020304/gcc/config/mn10300/mn10300.h egcc-CVS20020304/gcc/config/mn10300/mn10300.h
--- orig/egcc-CVS20020304/gcc/config/mn10300/mn10300.h	Sun Mar  3 16:30:22 2002
+++ egcc-CVS20020304/gcc/config/mn10300/mn10300.h	Mon Mar  4 21:41:46 2002
@@ -93,10 +93,6 @@ extern int target_flags;
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD		4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 		32
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY		32
 
diff -rup orig/egcc-CVS20020304/gcc/config/ns32k/ns32k.h egcc-CVS20020304/gcc/config/ns32k/ns32k.h
--- orig/egcc-CVS20020304/gcc/config/ns32k/ns32k.h	Sun Mar  3 10:37:45 2002
+++ egcc-CVS20020304/gcc/config/ns32k/ns32k.h	Mon Mar  4 21:42:01 2002
@@ -199,10 +199,6 @@ while (0)
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD 4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 32
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY 32
 
diff -rup orig/egcc-CVS20020304/gcc/config/pa/pa.h egcc-CVS20020304/gcc/config/pa/pa.h
--- orig/egcc-CVS20020304/gcc/config/pa/pa.h	Sun Mar  3 16:30:23 2002
+++ egcc-CVS20020304/gcc/config/pa/pa.h	Mon Mar  4 21:42:22 2002
@@ -393,10 +393,6 @@ extern int target_flags;
 #define UNITS_PER_WORD (TARGET_64BIT ? 8 : 4)
 #define MIN_UNITS_PER_WORD 4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE BITS_PER_WORD
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY BITS_PER_WORD
 
diff -rup orig/egcc-CVS20020304/gcc/config/pdp11/pdp11.h egcc-CVS20020304/gcc/config/pdp11/pdp11.h
--- orig/egcc-CVS20020304/gcc/config/pdp11/pdp11.h	Sun Mar  3 10:37:46 2002
+++ egcc-CVS20020304/gcc/config/pdp11/pdp11.h	Mon Mar  4 21:42:36 2002
@@ -173,10 +173,6 @@ extern int target_flags;
    DImode or Dfmode ...*/
 #define MAX_FIXED_MODE_SIZE 64	
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 16
-
 /* Allocation boundary (in *bits*) for storing pointers in memory.  */
 #define POINTER_BOUNDARY 16
 
diff -rup orig/egcc-CVS20020304/gcc/config/pj/pj.h egcc-CVS20020304/gcc/config/pj/pj.h
--- orig/egcc-CVS20020304/gcc/config/pj/pj.h	Sun Mar  3 16:30:23 2002
+++ egcc-CVS20020304/gcc/config/pj/pj.h	Mon Mar  4 21:42:53 2002
@@ -134,10 +134,6 @@ extern int target_flags;
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD  4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE  32
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY   32
 
diff -rup orig/egcc-CVS20020304/gcc/config/romp/romp.h egcc-CVS20020304/gcc/config/romp/romp.h
--- orig/egcc-CVS20020304/gcc/config/romp/romp.h	Sun Mar  3 10:37:46 2002
+++ egcc-CVS20020304/gcc/config/romp/romp.h	Mon Mar  4 21:43:03 2002
@@ -93,10 +93,6 @@ extern int target_flags;
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD 4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 32
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY 32
 
diff -rup orig/egcc-CVS20020304/gcc/config/s390/s390.h egcc-CVS20020304/gcc/config/s390/s390.h
--- orig/egcc-CVS20020304/gcc/config/s390/s390.h	Sun Mar  3 16:30:23 2002
+++ egcc-CVS20020304/gcc/config/s390/s390.h	Mon Mar  4 21:43:37 2002
@@ -113,10 +113,6 @@ extern int current_function_outgoing_arg
 #define UNITS_PER_WORD (TARGET_64BIT ? 8 : 4)
 #define MIN_UNITS_PER_WORD 4
 
-/* Width in bits of a pointer.  See also the macro `Pmode' defined below.  */
-
-#define POINTER_SIZE (TARGET_64BIT ? 64 : 32)
-
 /* A C expression for the size in bits of the type `short' on the
    target machine.  If you don't define this, the default is half a
    word.  (If this would be less than one storage unit, it is
diff -rup orig/egcc-CVS20020304/gcc/config/stormy16/stormy16.h egcc-CVS20020304/gcc/config/stormy16/stormy16.h
--- orig/egcc-CVS20020304/gcc/config/stormy16/stormy16.h	Sun Mar  3 16:30:24 2002
+++ egcc-CVS20020304/gcc/config/stormy16/stormy16.h	Mon Mar  4 21:44:33 2002
@@ -91,8 +91,6 @@ extern int target_flags;
 
 #define UNITS_PER_WORD 2
 
-#define POINTER_SIZE 16
-
 #define PROMOTE_MODE(MODE,UNSIGNEDP,TYPE)				\
 do {									\
   if (GET_MODE_CLASS (MODE) == MODE_INT					\
diff -rup orig/egcc-CVS20020304/gcc/config/v850/v850.h egcc-CVS20020304/gcc/config/v850/v850.h
--- orig/egcc-CVS20020304/gcc/config/v850/v850.h	Sun Mar  3 16:30:25 2002
+++ egcc-CVS20020304/gcc/config/v850/v850.h	Mon Mar  4 21:44:47 2002
@@ -231,10 +231,6 @@ extern struct small_memory_info small_me
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD		4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 		32
-
 /* Define this macro if it is advisable to hold scalars in registers
    in a wider mode than that declared by the program.  In such cases,
    the value is constrained to be within the bounds of the declared
diff -rup orig/egcc-CVS20020304/gcc/config/vax/vax.h egcc-CVS20020304/gcc/config/vax/vax.h
--- orig/egcc-CVS20020304/gcc/config/vax/vax.h	Sun Mar  3 16:30:25 2002
+++ egcc-CVS20020304/gcc/config/vax/vax.h	Mon Mar  4 21:45:01 2002
@@ -106,10 +106,6 @@ extern int target_flags;
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD 4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 32
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY 32
 
diff -rup orig/egcc-CVS20020304/gcc/config/we32k/we32k.h egcc-CVS20020304/gcc/config/we32k/we32k.h
--- orig/egcc-CVS20020304/gcc/config/we32k/we32k.h	Sun Mar  3 10:37:46 2002
+++ egcc-CVS20020304/gcc/config/we32k/we32k.h	Mon Mar  4 21:45:14 2002
@@ -65,10 +65,6 @@ extern int target_flags;
 /* Width of a word, in units (bytes).  */
 #define UNITS_PER_WORD 4
 
-/* Width in bits of a pointer.
-   See also the macro `Pmode' defined below.  */
-#define POINTER_SIZE 32
-
 /* Allocation boundary (in *bits*) for storing arguments in argument list.  */
 #define PARM_BOUNDARY 32
 
diff -rup orig/egcc-CVS20020304/gcc/config/xtensa/xtensa.h egcc-CVS20020304/gcc/config/xtensa/xtensa.h
--- orig/egcc-CVS20020304/gcc/config/xtensa/xtensa.h	Sun Mar  3 16:30:25 2002
+++ egcc-CVS20020304/gcc/config/xtensa/xtensa.h	Mon Mar  4 21:45:22 2002
@@ -250,7 +250,6 @@ extern unsigned xtensa_current_frame_siz
 #define FLOAT_TYPE_SIZE 32
 #define DOUBLE_TYPE_SIZE 64
 #define LONG_DOUBLE_TYPE_SIZE 64
-#define POINTER_SIZE 32
 
 /* Tell the preprocessor the maximum size of wchar_t.  */
 #ifndef MAX_WCHAR_TYPE_SIZE
diff -rup orig/egcc-CVS20020304/gcc/defaults.h egcc-CVS20020304/gcc/defaults.h
--- orig/egcc-CVS20020304/gcc/defaults.h	Sun Mar  3 10:37:46 2002
+++ egcc-CVS20020304/gcc/defaults.h	Mon Mar  4 21:38:59 2002
@@ -329,6 +329,11 @@ do {								\
 #define LONG_DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2)
 #endif
 
+/* Width in bits of a pointer.  Mind the value of the macro `Pmode'.  */
+#ifndef POINTER_SIZE
+#define POINTER_SIZE BITS_PER_WORD
+#endif
+
 #ifndef BUILD_VA_LIST_TYPE
 #define BUILD_VA_LIST_TYPE(X) ((X) = ptr_type_node)
 #endif
diff -rup orig/egcc-CVS20020304/gcc/doc/tm.texi egcc-CVS20020304/gcc/doc/tm.texi
--- orig/egcc-CVS20020304/gcc/doc/tm.texi	Sun Mar  3 16:30:26 2002
+++ egcc-CVS20020304/gcc/doc/tm.texi	Mon Mar  4 21:26:18 2002
@@ -951,7 +951,8 @@ smallest value that @code{UNITS_PER_WORD
 @item POINTER_SIZE
 Width of a pointer, in bits.  You must specify a value no wider than the
 width of @code{Pmode}.  If it is not equal to the width of @code{Pmode},
-you must define @code{POINTERS_EXTEND_UNSIGNED}.
+you must define @code{POINTERS_EXTEND_UNSIGNED}.  If you do not specify
+a value the default is @code{BITS_PER_WORD}.
 
 @findex POINTERS_EXTEND_UNSIGNED
 @item POINTERS_EXTEND_UNSIGNED


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