Commit 00530a21 by Andreas Jaeger Committed by Andreas Jaeger

c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for LP64 targets.

        * 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.

From-SVN: r64259
parent 5474eed5
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> 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. * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
......
...@@ -339,6 +339,15 @@ cb_register_builtins (pfile) ...@@ -339,6 +339,15 @@ cb_register_builtins (pfile)
/* Misc. */ /* Misc. */
builtin_define_with_value ("__VERSION__", version_string, 1); 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 /* Other target-independent built-ins determined by command-line
options. */ options. */
if (optimize_size) if (optimize_size)
......
/* Definitions of target machine for GNU compiler, /* Definitions of target machine for GNU compiler,
for Alpha NetBSD systems. 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. This file is part of GNU CC.
...@@ -25,7 +25,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -25,7 +25,6 @@ Boston, MA 02111-1307, USA. */
#define TARGET_OS_CPP_BUILTINS() \ #define TARGET_OS_CPP_BUILTINS() \
do { \ do { \
NETBSD_OS_CPP_BUILTINS_ELF(); \ NETBSD_OS_CPP_BUILTINS_ELF(); \
NETBSD_OS_CPP_BUILTINS_LP64(); \
} while (0) } while (0)
......
/* Definitions of target machine GNU compiler. IA-64 version. /* 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 Contributed by James E. Wilson <wilson@cygnus.com> and
David Mosberger <davidm@hpl.hp.com>. David Mosberger <davidm@hpl.hp.com>.
...@@ -40,11 +40,6 @@ do { \ ...@@ -40,11 +40,6 @@ do { \
builtin_define("__ia64__"); \ builtin_define("__ia64__"); \
builtin_define("__itanium__"); \ builtin_define("__itanium__"); \
builtin_define("__ELF__"); \ builtin_define("__ELF__"); \
if (!TARGET_ILP32) \
{ \
builtin_define("_LP64"); \
builtin_define("__LP64__"); \
} \
if (TARGET_BIG_ENDIAN) \ if (TARGET_BIG_ENDIAN) \
builtin_define("__BIG_ENDIAN__"); \ builtin_define("__BIG_ENDIAN__"); \
} while (0) } while (0)
......
...@@ -29,14 +29,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -29,14 +29,6 @@ Boston, MA 02111-1307, USA. */
} \ } \
while (0) 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. */ /* CPP_SPEC parts common to all NetBSD targets. */
#define NETBSD_CPP_SPEC \ #define NETBSD_CPP_SPEC \
"%{posix:-D_POSIX_SOURCE} \ "%{posix:-D_POSIX_SOURCE} \
......
...@@ -356,11 +356,6 @@ do { \ ...@@ -356,11 +356,6 @@ do { \
builtin_assert("machine=hppa"); \ builtin_assert("machine=hppa"); \
builtin_define("__hppa"); \ builtin_define("__hppa"); \
builtin_define("__hppa__"); \ builtin_define("__hppa__"); \
if (TARGET_64BIT) \
{ \
builtin_define("_LP64"); \
builtin_define("__LP64__"); \
} \
if (TARGET_PA_20) \ if (TARGET_PA_20) \
builtin_define("_PA_RISC2_0"); \ builtin_define("_PA_RISC2_0"); \
else if (TARGET_PA_11) \ else if (TARGET_PA_11) \
......
/* Definitions for SH running NetBSD using ELF /* 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. Contributed by Wasabi Systems, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -52,8 +52,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -52,8 +52,6 @@ Boston, MA 02111-1307, USA. */
do \ do \
{ \ { \
NETBSD_OS_CPP_BUILTINS_ELF(); \ NETBSD_OS_CPP_BUILTINS_ELF(); \
if (TARGET_SHMEDIA64) \
NETBSD_OS_CPP_BUILTINS_LP64(); \
builtin_define ("__NO_LEADING_UNDERSCORES__"); \ builtin_define ("__NO_LEADING_UNDERSCORES__"); \
} \ } \
while (0) while (0)
......
/* Definitions of target machine for GNU compiler, for ELF on NetBSD/sparc /* Definitions of target machine for GNU compiler, for ELF on NetBSD/sparc
and NetBSD/sparc64. 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). Contributed by Matthew Green (mrg@eterna.com.au).
This file is part of GNU CC. This file is part of GNU CC.
...@@ -26,7 +26,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,7 +26,6 @@ Boston, MA 02111-1307, USA. */
NETBSD_OS_CPP_BUILTINS_ELF(); \ NETBSD_OS_CPP_BUILTINS_ELF(); \
if (TARGET_ARCH64) \ if (TARGET_ARCH64) \
{ \ { \
NETBSD_OS_CPP_BUILTINS_LP64(); \
builtin_define ("__sparc64__"); \ builtin_define ("__sparc64__"); \
builtin_define ("__sparc_v9__"); \ builtin_define ("__sparc_v9__"); \
} \ } \
......
...@@ -2031,6 +2031,12 @@ This macro is defined, with value 1, if (and only if) the NeXT runtime ...@@ -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 (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 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. 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 @end table
@node System-specific Predefined Macros @node System-specific Predefined Macros
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment