diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 19 | ||||
-rw-r--r-- | gcc/c-cppbuiltin.c | 9 | ||||
-rw-r--r-- | gcc/config/alpha/netbsd.h | 3 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.h | 7 | ||||
-rw-r--r-- | gcc/config/netbsd.h | 8 | ||||
-rw-r--r-- | gcc/config/pa/pa.h | 5 | ||||
-rw-r--r-- | gcc/config/sh/netbsd-elf.h | 4 | ||||
-rw-r--r-- | gcc/config/sparc/netbsd-elf.h | 3 | ||||
-rw-r--r-- | gcc/doc/cpp.texi | 6 |
9 files changed, 38 insertions, 26 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f7a12d4..6a235c9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,22 @@ +2003-03-12 Andreas Jaeger <aj@suse.de> + + * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for + LP64 targets. + + * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and + _LP64. + + * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define + _LP64 macros here. + * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise. + + * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to + NETBSD_OS_CPP_BUILTINS_LP64. + * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise. + * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise. + + * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove. + Wed Mar 12 19:04:39 CET 2003 Jan Hubicka <jh@suse.cz> * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128. diff --git a/gcc/c-cppbuiltin.c b/gcc/c-cppbuiltin.c index 35c1645..a396b6b 100644 --- a/gcc/c-cppbuiltin.c +++ b/gcc/c-cppbuiltin.c @@ -339,6 +339,15 @@ cb_register_builtins (pfile) /* Misc. */ builtin_define_with_value ("__VERSION__", version_string, 1); + /* Definitions for LP64 model. */ + if (TYPE_PRECISION (long_integer_type_node) == 64 + && POINTER_SIZE == 64 + && TYPE_PRECISION (integer_type_node) == 32) + { + cpp_define (pfile, "_LP64"); + cpp_define (pfile, "__LP64__"); + } + /* Other target-independent built-ins determined by command-line options. */ if (optimize_size) diff --git a/gcc/config/alpha/netbsd.h b/gcc/config/alpha/netbsd.h index e1da9cf..117ce3d 100644 --- a/gcc/config/alpha/netbsd.h +++ b/gcc/config/alpha/netbsd.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler, for Alpha NetBSD systems. - Copyright (C) 1998, 2002 Free Software Foundation, Inc. + Copyright (C) 1998, 2002, 2003 Free Software Foundation, Inc. This file is part of GNU CC. @@ -25,7 +25,6 @@ Boston, MA 02111-1307, USA. */ #define TARGET_OS_CPP_BUILTINS() \ do { \ NETBSD_OS_CPP_BUILTINS_ELF(); \ - NETBSD_OS_CPP_BUILTINS_LP64(); \ } while (0) diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h index a94fbf8..116aec4 100644 --- a/gcc/config/ia64/ia64.h +++ b/gcc/config/ia64/ia64.h @@ -1,5 +1,5 @@ /* Definitions of target machine GNU compiler. IA-64 version. - Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Contributed by James E. Wilson <wilson@cygnus.com> and David Mosberger <davidm@hpl.hp.com>. @@ -40,11 +40,6 @@ do { \ builtin_define("__ia64__"); \ builtin_define("__itanium__"); \ builtin_define("__ELF__"); \ - if (!TARGET_ILP32) \ - { \ - builtin_define("_LP64"); \ - builtin_define("__LP64__"); \ - } \ if (TARGET_BIG_ENDIAN) \ builtin_define("__BIG_ENDIAN__"); \ } while (0) diff --git a/gcc/config/netbsd.h b/gcc/config/netbsd.h index 0441389..602f831 100644 --- a/gcc/config/netbsd.h +++ b/gcc/config/netbsd.h @@ -29,14 +29,6 @@ Boston, MA 02111-1307, USA. */ } \ while (0) -/* TARGET_OS_CPP_BUILTINS() common to all LP64 NetBSD targets. */ -#define NETBSD_OS_CPP_BUILTINS_LP64() \ - do \ - { \ - builtin_define ("_LP64"); \ - } \ - while (0) - /* CPP_SPEC parts common to all NetBSD targets. */ #define NETBSD_CPP_SPEC \ "%{posix:-D_POSIX_SOURCE} \ diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index ba533ff..8659058 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -356,11 +356,6 @@ do { \ builtin_assert("machine=hppa"); \ builtin_define("__hppa"); \ builtin_define("__hppa__"); \ - if (TARGET_64BIT) \ - { \ - builtin_define("_LP64"); \ - builtin_define("__LP64__"); \ - } \ if (TARGET_PA_20) \ builtin_define("_PA_RISC2_0"); \ else if (TARGET_PA_11) \ diff --git a/gcc/config/sh/netbsd-elf.h b/gcc/config/sh/netbsd-elf.h index 513b39f..d6ccfe0 100644 --- a/gcc/config/sh/netbsd-elf.h +++ b/gcc/config/sh/netbsd-elf.h @@ -1,5 +1,5 @@ /* Definitions for SH running NetBSD using ELF - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2003 Free Software Foundation, Inc. Contributed by Wasabi Systems, Inc. This file is part of GNU CC. @@ -52,8 +52,6 @@ Boston, MA 02111-1307, USA. */ do \ { \ NETBSD_OS_CPP_BUILTINS_ELF(); \ - if (TARGET_SHMEDIA64) \ - NETBSD_OS_CPP_BUILTINS_LP64(); \ builtin_define ("__NO_LEADING_UNDERSCORES__"); \ } \ while (0) diff --git a/gcc/config/sparc/netbsd-elf.h b/gcc/config/sparc/netbsd-elf.h index 7e0d70d..65901c8 100644 --- a/gcc/config/sparc/netbsd-elf.h +++ b/gcc/config/sparc/netbsd-elf.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler, for ELF on NetBSD/sparc and NetBSD/sparc64. - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2003 Free Software Foundation, Inc. Contributed by Matthew Green (mrg@eterna.com.au). This file is part of GNU CC. @@ -26,7 +26,6 @@ Boston, MA 02111-1307, USA. */ NETBSD_OS_CPP_BUILTINS_ELF(); \ if (TARGET_ARCH64) \ { \ - NETBSD_OS_CPP_BUILTINS_LP64(); \ builtin_define ("__sparc64__"); \ builtin_define ("__sparc_v9__"); \ } \ diff --git a/gcc/doc/cpp.texi b/gcc/doc/cpp.texi index a6d6fb0..cf962c4 100644 --- a/gcc/doc/cpp.texi +++ b/gcc/doc/cpp.texi @@ -2031,6 +2031,12 @@ This macro is defined, with value 1, if (and only if) the NeXT runtime (as in @option{-fnext-runtime}) is in use for Objective-C. If the GNU runtime is used, this macro is not defined, so that you can use this macro to determine which runtime (NeXT or GNU) is being used. + +@item __LP64__ +@item _LP64 +These macros are defined, with value 1, if (and only if) the compilation +is for a target where @code{long int} and pointer both use 64-bits and +@code{int} uses 32-bit. @end table @node System-specific Predefined Macros |