rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.

* config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
RS6000_CPU_CPP_ENDIAN_BUILTINS.
* config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.

From-SVN: r59518
This commit is contained in:
Jason Thorpe 2002-11-26 15:46:40 +00:00 committed by Jason Thorpe
parent 29742ba4f4
commit 647d340d4b
4 changed files with 51 additions and 12 deletions

View File

@ -1,3 +1,10 @@
2002-11-26 Jason Thorpe <thorpej@wasabisystems.com>
* config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
RS6000_CPU_CPP_ENDIAN_BUILTINS.
* config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
2002-11-26 Hartmut Penner <hpenner@de.ibm.com>
* config/s390/s390.md (literal_pool_64, literal_pool_31 ): New

View File

@ -31,6 +31,26 @@ Boston, MA 02111-1307, USA. */
} \
while (0)
/* Override the default from rs6000.h to avoid conflicts with macros
defined in NetBSD header files. */
#undef RS6000_CPU_CPP_ENDIAN_BUILTINS
#define RS6000_CPU_CPP_ENDIAN_BUILTINS() \
do \
{ \
if (BYTES_BIG_ENDIAN) \
{ \
builtin_define ("__BIG_ENDIAN__"); \
builtin_assert ("machine=bigendian"); \
} \
else \
{ \
builtin_define ("__LITTLE_ENDIAN__"); \
builtin_assert ("machine=littleendian"); \
} \
} \
while (0)
/* Make GCC agree with <machine/ansi.h>. */
#undef SIZE_TYPE

View File

@ -100,18 +100,10 @@ rs6000_cpu_cpp_builtins (pfile)
/* Used by lwarx/stwcx. errata work-around. */
if (rs6000_cpu == PROCESSOR_PPC405)
builtin_define ("__PPC405__");
if (BYTES_BIG_ENDIAN)
{
builtin_define ("__BIG_ENDIAN__");
builtin_define ("_BIG_ENDIAN");
builtin_assert ("machine=bigendian");
}
else
{
builtin_define ("__LITTLE_ENDIAN__");
builtin_define ("_LITTLE_ENDIAN");
builtin_assert ("machine=littleendian");
}
/* May be overridden by target configuration. */
RS6000_CPU_CPP_ENDIAN_BUILTINS();
if (TARGET_LONG_DOUBLE_128)
builtin_define ("__LONG_DOUBLE_128__");

View File

@ -479,6 +479,26 @@ extern int rs6000_default_long_calls;
/* Target #defines. */
#define TARGET_CPU_CPP_BUILTINS() \
rs6000_cpu_cpp_builtins (pfile)
/* This is used by rs6000_cpu_cpp_builtins to indicate the byte order
we're compiling for. Some configurations may need to override it. */
#define RS6000_CPU_CPP_ENDIAN_BUILTINS() \
do \
{ \
if (BYTES_BIG_ENDIAN) \
{ \
builtin_define ("__BIG_ENDIAN__"); \
builtin_define ("_BIG_ENDIAN"); \
builtin_assert ("machine=bigendian"); \
} \
else \
{ \
builtin_define ("__LITTLE_ENDIAN__"); \
builtin_define ("_LITTLE_ENDIAN"); \
builtin_assert ("machine=littleendian"); \
} \
} \
while (0)
/* Target machine storage layout. */