Commit c219e1da by John David Anglin Committed by John David Anglin

c-common.c (preprocessing_trad_p): Define.

	* c-common.c (preprocessing_trad_p): Define.
	* pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
	(TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
	* pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
	* pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
	* pa-linux.h (CPP_PREDEFINES): Delete.
	(TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
	* pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
	* pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
	(TARGET_OS_CPP_BUILTINS): Define.
	* pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
	(TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
	(SUBTARGET_SWITCHES): Provide default definition.
	(TARGET_OPTIONS): Reformat.  Use N_() macro.
	(CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
	CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
	EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
	(TARGET_CPU_CPP_BUILTINS): Define.
	(TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
	* doc/invoke.texi (msio, mwsio): Document new hppa options.
	* doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
	preprocessing_trad_p().

From-SVN: r57416
parent 490ed846
2002-09-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
* c-common.c (preprocessing_trad_p): Define.
* pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
(TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
* pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
* pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
* pa-linux.h (CPP_PREDEFINES): Delete.
(TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
* pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
* pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
(TARGET_OS_CPP_BUILTINS): Define.
* pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
(TARGET_SWITCHES): Reformat. Use N_() macro. Add SUBTARGET_SWITCHES.
(SUBTARGET_SWITCHES): Provide default definition.
(TARGET_OPTIONS): Reformat. Use N_() macro.
(CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
(TARGET_CPU_CPP_BUILTINS): Define.
(TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
* doc/invoke.texi (msio, mwsio): Document new hppa options.
* doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
preprocessing_trad_p().
2002-09-22 Jason Thorpe <thorpej@wasabisystems.com> 2002-09-22 Jason Thorpe <thorpej@wasabisystems.com>
* doc/install.texi: Document behavior of --with-headers and * doc/install.texi: Document behavior of --with-headers and
...@@ -5007,6 +5007,7 @@ cb_register_builtins (pfile) ...@@ -5007,6 +5007,7 @@ cb_register_builtins (pfile)
/* A straightforward target hook doesn't work, because of problems /* A straightforward target hook doesn't work, because of problems
linking that hook's body when part of non-C front ends. */ linking that hook's body when part of non-C front ends. */
# define preprocessing_asm_p() (cpp_get_options (pfile)->lang == CLK_ASM) # define preprocessing_asm_p() (cpp_get_options (pfile)->lang == CLK_ASM)
# define preprocessing_trad_p() (cpp_get_options (pfile)->traditional)
# define builtin_define(TXT) cpp_define (pfile, TXT) # define builtin_define(TXT) cpp_define (pfile, TXT)
# define builtin_assert(TXT) cpp_assert (pfile, TXT) # define builtin_assert(TXT) cpp_assert (pfile, TXT)
TARGET_CPU_CPP_BUILTINS (); TARGET_CPU_CPP_BUILTINS ();
......
/* Definitions of target machine for GNU compiler, for HI-UX. /* Definitions of target machine for GNU compiler, for HI-UX.
Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1993, 1995, 1996, 2002 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -21,6 +21,56 @@ Boston, MA 02111-1307, USA. */ ...@@ -21,6 +21,56 @@ Boston, MA 02111-1307, USA. */
/* HIUX is just a HPUX variant. We can simply use the HPUX configuration /* HIUX is just a HPUX variant. We can simply use the HPUX configuration
for just about everything. */ for just about everything. */
/* Predefines are the one noteworthy difference between HPUX and HIUX. */ /* OS cpp builtins are the one noteworthy difference between HPUX and HIUX.
#undef CPP_PREDEFINES The following defines are similar to those for hpux10 with the addition
#define CPP_PREDEFINES "-Dhppa -DPWB -Dunix -D__H3050R -D__H3050RX -Asystem=unix -Asystem=hiux -Acpu=hppa -Amachine=hppa" of __H3050R and __H3050RX. */
#undef TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
builtin_assert ("system=hiux"); \
builtin_assert ("system=unix"); \
builtin_define ("__hp9000s800"); \
builtin_define ("__hp9000s800__"); \
builtin_define ("__hiux"); \
builtin_define ("__hiux__"); \
builtin_define ("__unix"); \
builtin_define ("__unix__"); \
builtin_define ("__H3050R"); \
builtin_define ("__H3050RX"); \
if (c_language == clk_cplusplus) \
{ \
builtin_define ("_HIUX_SOURCE"); \
builtin_define ("_INCLUDE_LONGLONG"); \
} \
else if (!flag_iso) \
{ \
builtin_define ("_HIUX_SOURCE"); \
if (preprocessing_trad_p ()) \
{ \
builtin_define ("hp9000s800"); \
builtin_define ("hppa"); \
builtin_define ("hiux"); \
builtin_define ("unix"); \
builtin_define ("__CLASSIC_C__"); \
builtin_define ("_PWB"); \
builtin_define ("PWB"); \
} \
else \
builtin_define ("__STDC_EXT__"); \
} \
if (TARGET_SIO) \
builtin_define ("_SIO"); \
else \
{ \
builtin_define ("__hp9000s700"); \
builtin_define ("__hp9000s700__"); \
builtin_define ("_WSIO"); \
} \
} \
while (0)
#undef SUBTARGET_SWITCHES
#define SUBTARGET_SWITCHES \
{ "sio", MASK_SIO, N_("Generate cpp defines for server IO") }, \
{ "wsio", -MASK_SIO, N_("Generate cpp defines for workstation IO") },
/* Definitions of target machine for GNU compiler, for HP-UX. /* Definitions of target machine for GNU compiler, for HP-UX.
Copyright (C) 1991, 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1991, 1995, 1996, 2002 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -28,13 +28,62 @@ Boston, MA 02111-1307, USA. */ ...@@ -28,13 +28,62 @@ Boston, MA 02111-1307, USA. */
#define SIZE_TYPE "unsigned int" #define SIZE_TYPE "unsigned int"
#define PTRDIFF_TYPE "int" #define PTRDIFF_TYPE "int"
#undef TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
builtin_assert ("system=hpux"); \
builtin_assert ("system=unix"); \
builtin_define ("__hp9000s800"); \
builtin_define ("__hp9000s800__"); \
builtin_define ("__hp9k8"); \
builtin_define ("__hp9k8__"); \
builtin_define ("__hpux"); \
builtin_define ("__hpux__"); \
builtin_define ("__unix"); \
builtin_define ("__unix__"); \
if (c_language == clk_cplusplus) \
{ \
builtin_define ("_HPUX_SOURCE"); \
builtin_define ("_INCLUDE_LONGLONG"); \
} \
else if (!flag_iso) \
{ \
builtin_define ("_HPUX_SOURCE"); \
if (preprocessing_trad_p ()) \
{ \
builtin_define ("hp9000s800"); \
builtin_define ("hp9k8"); \
builtin_define ("hppa"); \
builtin_define ("hpux"); \
builtin_define ("unix"); \
builtin_define ("__CLASSIC_C__"); \
builtin_define ("_PWB"); \
builtin_define ("PWB"); \
} \
else \
builtin_define ("__STDC_EXT__"); \
} \
if (TARGET_SIO) \
builtin_define ("_SIO"); \
else \
{ \
builtin_define ("__hp9000s700"); \
builtin_define ("__hp9000s700__"); \
builtin_define ("_WSIO"); \
} \
} \
while (0)
#undef SUBTARGET_SWITCHES
#define SUBTARGET_SWITCHES \
{ "sio", MASK_SIO, N_("Generate cpp defines for server IO") }, \
{ "wsio", -MASK_SIO, N_("Generate cpp defines for workstation IO") },
/* Like the default, except no -lg. */ /* Like the default, except no -lg. */
#undef LIB_SPEC #undef LIB_SPEC
#define LIB_SPEC "%{!shared:%{!p:%{!pg:-lc}}%{p: -L/lib/libp/ -lc}%{pg: -L/lib/libp/ -lc}}" #define LIB_SPEC "%{!shared:%{!p:%{!pg:-lc}}%{p: -L/lib/libp/ -lc}%{pg: -L/lib/libp/ -lc}}"
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Dhppa -Dhp9000s800 -D__hp9000s800 -Dhp9k8 -DPWB -Dhpux -Dunix -Asystem=unix -Asystem=hpux -Acpu=hppa -Amachine=hppa"
#undef LINK_SPEC #undef LINK_SPEC
#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_PA_11) #if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_PA_11)
#define LINK_SPEC \ #define LINK_SPEC \
......
/* Definitions of target machine for GNU compiler, for HP PA-RISC 1.1 /* Definitions of target machine for GNU compiler, for HP PA-RISC
Copyright (C) 1995, 1996, 1997, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995, 1996, 1997, 2000, 2001, 2002
Free Software Foundation, Inc.
Contributed by Tim Moore (moore@defmacro.cs.utah.edu) Contributed by Tim Moore (moore@defmacro.cs.utah.edu)
This file is part of GNU CC. This file is part of GNU CC.
...@@ -19,6 +20,52 @@ along with GNU CC; see the file COPYING. If not, write to ...@@ -19,6 +20,52 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#undef TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
builtin_assert ("system=hpux"); \
builtin_assert ("system=unix"); \
builtin_define ("__hp9000s800"); \
builtin_define ("__hp9000s800__"); \
builtin_define ("__hpux"); \
builtin_define ("__hpux__"); \
builtin_define ("__unix"); \
builtin_define ("__unix__"); \
if (c_language == clk_cplusplus) \
{ \
builtin_define ("_HPUX_SOURCE"); \
builtin_define ("_INCLUDE_LONGLONG"); \
} \
else if (!flag_iso) \
{ \
builtin_define ("_HPUX_SOURCE"); \
if (preprocessing_trad_p ()) \
{ \
builtin_define ("hp9000s800"); \
builtin_define ("hppa"); \
builtin_define ("hpux"); \
builtin_define ("unix"); \
builtin_define ("__CLASSIC_C__"); \
builtin_define ("_PWB"); \
builtin_define ("PWB"); \
} \
else \
builtin_define ("__STDC_EXT__"); \
} \
if (TARGET_SIO) \
builtin_define ("_SIO"); \
else \
{ \
builtin_define ("__hp9000s700"); \
builtin_define ("__hp9000s700__"); \
builtin_define ("_WSIO"); \
} \
} \
while (0)
#define CPP_SPEC "%{threads: -D_REENTRANT -D_DCE_THREADS}"
/* We can debug dynamically linked executables on hpux9; we also want /* We can debug dynamically linked executables on hpux9; we also want
dereferencing of a NULL pointer to cause a SEGV. */ dereferencing of a NULL pointer to cause a SEGV. */
#undef LINK_SPEC #undef LINK_SPEC
......
/* Definitions of target machine for GNU compiler, for HP PA-RISC 1.1 /* Definitions of target machine for GNU compiler, for HP PA-RISC
Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -18,6 +18,55 @@ along with GNU CC; see the file COPYING. If not, write to ...@@ -18,6 +18,55 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#undef TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
builtin_assert ("system=hpux"); \
builtin_assert ("system=unix"); \
builtin_define ("__hp9000s800"); \
builtin_define ("__hp9000s800__"); \
builtin_define ("__hpux"); \
builtin_define ("__hpux__"); \
builtin_define ("__unix"); \
builtin_define ("__unix__"); \
if (c_language == clk_cplusplus) \
{ \
builtin_define ("_HPUX_SOURCE"); \
builtin_define ("_INCLUDE_LONGLONG"); \
} \
else \
{ \
if (!flag_iso) \
{ \
builtin_define ("_HPUX_SOURCE"); \
if (preprocessing_trad_p ()) \
{ \
builtin_define ("hp9000s800"); \
builtin_define ("hppa"); \
builtin_define ("hpux"); \
builtin_define ("unix"); \
builtin_define ("__CLASSIC_C__"); \
builtin_define ("_PWB"); \
builtin_define ("PWB"); \
} \
else \
builtin_define ("__STDC_EXT__"); \
} \
if (!TARGET_64BIT) \
builtin_define ("_ILP32"); \
} \
if (TARGET_SIO) \
builtin_define ("_SIO"); \
else \
{ \
builtin_define ("__hp9000s700"); \
builtin_define ("__hp9000s700__"); \
builtin_define ("_WSIO"); \
} \
} \
while (0)
/* We can debug dynamically linked executables on hpux11; we also /* We can debug dynamically linked executables on hpux11; we also
want dereferencing of a NULL pointer to cause a SEGV. */ want dereferencing of a NULL pointer to cause a SEGV. */
#undef LINK_SPEC #undef LINK_SPEC
......
/* Definitions of target machine for GNU compiler, for HP-UX. /* Definitions of target machine for GNU compiler, for HP-UX.
Copyright (C) 1991, 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1991, 1995, 1996, 2002 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -29,9 +29,58 @@ Boston, MA 02111-1307, USA. */ ...@@ -29,9 +29,58 @@ Boston, MA 02111-1307, USA. */
#define SIZE_TYPE "unsigned int" #define SIZE_TYPE "unsigned int"
#define PTRDIFF_TYPE "int" #define PTRDIFF_TYPE "int"
#undef TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
builtin_assert ("system=hpux"); \
builtin_assert ("system=unix"); \
builtin_define ("__hp9000s800"); \
builtin_define ("__hp9000s800__"); \
builtin_define ("__hp9k8"); \
builtin_define ("__hp9k8__"); \
builtin_define ("__hpux"); \
builtin_define ("__hpux__"); \
builtin_define ("__unix"); \
builtin_define ("__unix__"); \
if (c_language == clk_cplusplus) \
{ \
builtin_define ("_HPUX_SOURCE"); \
builtin_define ("_INCLUDE_LONGLONG"); \
} \
else if (!flag_iso) \
{ \
builtin_define ("_HPUX_SOURCE"); \
if (preprocessing_trad_p ()) \
{ \
builtin_define ("hp9000s800"); \
builtin_define ("hp9k8"); \
builtin_define ("hppa"); \
builtin_define ("hpux"); \
builtin_define ("unix"); \
builtin_define ("__CLASSIC_C__"); \
builtin_define ("_PWB"); \
builtin_define ("PWB"); \
} \
else \
builtin_define ("__STDC_EXT__"); \
} \
if (TARGET_SIO) \
builtin_define ("_SIO"); \
else \
{ \
builtin_define ("__hp9000s700"); \
builtin_define ("__hp9000s700__"); \
builtin_define ("_WSIO"); \
} \
} \
while (0)
#undef SUBTARGET_SWITCHES
#define SUBTARGET_SWITCHES \
{ "sio", MASK_SIO, N_("Generate cpp defines for server IO") }, \
{ "wsio", -MASK_SIO, N_("Generate cpp defines for workstation IO") },
/* Like the default, except no -lg. */ /* Like the default, except no -lg. */
#undef LIB_SPEC #undef LIB_SPEC
#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p: -L/lib/libp/ -lc}%{pg: -L/lib/libp/ -lc}" #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p: -L/lib/libp/ -lc}%{pg: -L/lib/libp/ -lc}"
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Dhppa -Dhp9000s800 -D__hp9000s800 -Dhp9k8 -DPWB -Dhpux -Dunix -Asystem=unix -Asystem=hpux -Acpu=hppa -Amachine=hppa"
...@@ -56,8 +56,22 @@ Boston, MA 02111-1307, USA. */ ...@@ -56,8 +56,22 @@ Boston, MA 02111-1307, USA. */
} \ } \
} while (0) } while (0)
#undef CPP_PREDEFINES #undef TARGET_OS_CPP_BUILTINS
#define CPP_PREDEFINES "-D__ELF__ -Dunix -D__hppa__ -D__gnu_linux__ -Dlinux -Asystem=unix -Asystem=posix -Acpu=hppa -Amachine=hppa -Amachine=bigendian" #define TARGET_OS_CPP_BUILTINS() \
do \
{ \
builtin_define ("__ELF__"); \
builtin_define ("__gnu_linux__"); \
builtin_define_std ("linux"); \
builtin_define_std ("unix"); \
builtin_assert ("machine=bigendian"); \
builtin_assert ("system=posix"); \
builtin_assert ("system=unix"); \
} \
while (0)
#undef CPP_SPEC
#define CPP_SPEC "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
#undef LIB_SPEC #undef LIB_SPEC
#define LIB_SPEC \ #define LIB_SPEC \
......
/* Definitions of target machine for GNU compiler, for HP PA-RISC 1.1 /* Definitions of target machine for GNU compiler, for HP PA-RISC 1.1
Copyright (C) 1991, 1995, 1996 Free Software Foundation, Inc. Copyright (C) 1991, 1995, 1996, 2002 Free Software Foundation, Inc.
Contributed by Tim Moore (moore@defmacro.cs.utah.edu) Contributed by Tim Moore (moore@defmacro.cs.utah.edu)
This file is part of GNU CC. This file is part of GNU CC.
...@@ -19,12 +19,34 @@ along with GNU CC; see the file COPYING. If not, write to ...@@ -19,12 +19,34 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#undef CPP_PREDEFINES #undef TARGET_OS_CPP_BUILTINS
#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_PA_11) #define TARGET_OS_CPP_BUILTINS() \
#define CPP_PREDEFINES "-Dhppa -Dunix -Dhp9000 -Dspectrum -DREVARGV -Dhp700 -DHP700 -Dparisc -D__pa_risc -DPARISC -DBYTE_MSF -DBIT_MSF -Asystem=unix -Asystem=mach -Acpu=hppa -Amachine=hppa" do \
#else { \
#define CPP_PREDEFINES "-Dhppa -Dhp9000s800 -D__hp9000s800 -Dhp9k8 -Dunix -Dhp9000 -Dhp800 -Dspectrum -DREVARGV -Dparisc -D__pa_risc -DPARISC -DBYTE_MSF -DBIT_MSF -Asystem=unix -Asystem=mach -Acpu=hppa -Amachine=hppa" if (TARGET_PA_11) \
#endif { \
builtin_define_std ("hp700"); \
builtin_define_std ("HP700"); \
} \
else \
{ \
builtin_define_std ("hp800"); \
builtin_define_std ("hp9k8"); \
builtin_define_std ("hp9000s800"); \
} \
builtin_define_std ("BIT_MSF"); \
builtin_define_std ("BYTE_MSF"); \
builtin_define_std ("PARISC"); \
builtin_define_std ("REVARGV"); \
builtin_define_std ("hp9000"); \
builtin_define ("__pa_risc"); \
builtin_define_std ("parisc"); \
builtin_define_std ("spectrum"); \
builtin_define_std ("unix"); \
builtin_assert ("system=mach"); \
builtin_assert ("system=unix"); \
} \
while (0)
/* Don't default to pcc-struct-return, because gcc is the only compiler, and /* Don't default to pcc-struct-return, because gcc is the only compiler, and
we want to retain compatibility with older gcc versions. */ we want to retain compatibility with older gcc versions. */
......
/* Definitions of target machine for GNU compiler, for PRO. /* Definitions of target machine for GNU compiler, for PRO.
Copyright (C) 1996, 1997 Free Software Foundation, Inc. Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -25,13 +25,25 @@ Boston, MA 02111-1307, USA. */ ...@@ -25,13 +25,25 @@ Boston, MA 02111-1307, USA. */
#define SIZE_TYPE "unsigned int" #define SIZE_TYPE "unsigned int"
#define PTRDIFF_TYPE "int" #define PTRDIFF_TYPE "int"
#undef TARGET_OS_CPP_BUILTINS
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
if (c_language != clk_cplusplus \
&& !flag_iso) \
{ \
builtin_define ("hppa"); \
builtin_define_std ("PWB"); \
} \
builtin_define ("__pro__"); \
builtin_assert ("system=pro"); \
} \
while (0)
/* Like the default, except no -lg. */ /* Like the default, except no -lg. */
#undef LIB_SPEC #undef LIB_SPEC
#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p: -L/lib/libp/ -lc}%{pg: -L/lib/libp/ -lc}" #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p: -L/lib/libp/ -lc}%{pg: -L/lib/libp/ -lc}"
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Dhppa -DPWB -Acpu=hppa -D__pro__ -Amachine=hppa"
/* hpux8 and later have C++ compatible include files, so do not /* hpux8 and later have C++ compatible include files, so do not
pretend they are `extern "C"'. */ pretend they are `extern "C"'. */
#define NO_IMPLICIT_EXTERN_C #define NO_IMPLICIT_EXTERN_C
......
...@@ -21,6 +21,3 @@ Boston, MA 02111-1307, USA. */ ...@@ -21,6 +21,3 @@ Boston, MA 02111-1307, USA. */
/* Turn off various SOM crap we don't want. */ /* Turn off various SOM crap we don't want. */
#undef TARGET_ELF32 #undef TARGET_ELF32
#define TARGET_ELF32 1 #define TARGET_ELF32 1
#undef CPP_SPEC
#define CPP_SPEC "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{mhppa:-D__hppa__} %{posix:-D_POSIX_SOURCE} -D_PA_RISC1_1"
/* Definitions for PA_RISC with ELF format on 64-bit Linux /* Definitions for PA_RISC with ELF format on 64-bit Linux
Copyright (C) 1999, 2000 Free Software Foundation, Inc. Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -18,9 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to ...@@ -18,9 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#undef CPP_SPEC
#define CPP_SPEC "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{mhppa:-D__hppa__} %{posix:-D_POSIX_SOURCE} -D_PA_RISC2_0 -D__LP64__"
#if 0 /* needs some work :-( */ #if 0 /* needs some work :-( */
/* If defined, this macro specifies a table of register pairs used to /* If defined, this macro specifies a table of register pairs used to
eliminate unneeded registers that point into the stack frame. */ eliminate unneeded registers that point into the stack frame. */
......
...@@ -21,6 +21,17 @@ Boston, MA 02111-1307, USA. */ ...@@ -21,6 +21,17 @@ Boston, MA 02111-1307, USA. */
/* Specify predefined symbols in preprocessor. */ /* Specify predefined symbols in preprocessor. */
#undef CPP_PREDEFINES #undef TARGET_OS_CPP_BUILTINS
#define CPP_PREDEFINES "-Dhppa -DPWB -Acpu=hppa -Amachine=hppa \ #define TARGET_OS_CPP_BUILTINS() \
-D__rtems__ -Asystem=rtems" do \
{ \
if (c_language != clk_cplusplus \
&& !flag_iso) \
{ \
builtin_define ("hppa"); \
builtin_define_std ("PWB"); \
} \
builtin_define ("__rtems__"); \
builtin_assert ("system=rtems"); \
} \
while (0)
...@@ -508,7 +508,7 @@ in the following sections. ...@@ -508,7 +508,7 @@ in the following sections.
-mno-portable-runtime -mno-soft-float @gol -mno-portable-runtime -mno-soft-float @gol
-mno-space-regs -msoft-float -mpa-risc-1-0 @gol -mno-space-regs -msoft-float -mpa-risc-1-0 @gol
-mpa-risc-1-1 -mpa-risc-2-0 -mportable-runtime @gol -mpa-risc-1-1 -mpa-risc-2-0 -mportable-runtime @gol
-mschedule=@var{cpu-type} -mspace-regs} -mschedule=@var{cpu-type} -mspace-regs -msio -mwsio}
@emph{Intel 960 Options} @emph{Intel 960 Options}
@gccoptlist{ @gccoptlist{
...@@ -7901,9 +7901,9 @@ proper scheduling option for your machine. The default scheduling is ...@@ -7901,9 +7901,9 @@ proper scheduling option for your machine. The default scheduling is
@item -mlinker-opt @item -mlinker-opt
@opindex mlinker-opt @opindex mlinker-opt
Enable the optimization pass in the HPUX linker. Note this makes symbolic Enable the optimization pass in the HP-UX linker. Note this makes symbolic
debugging impossible. It also triggers a bug in the HPUX 8 and HPUX 9 linkers debugging impossible. It also triggers a bug in the HP-UX 8 and HP-UX 9
in which they give bogus error messages when linking some programs. linkers in which they give bogus error messages when linking some programs.
@item -msoft-float @item -msoft-float
@opindex msoft-float @opindex msoft-float
...@@ -7920,6 +7920,13 @@ therefore, it is only useful if you compile @emph{all} of a program with ...@@ -7920,6 +7920,13 @@ therefore, it is only useful if you compile @emph{all} of a program with
this option. In particular, you need to compile @file{libgcc.a}, the this option. In particular, you need to compile @file{libgcc.a}, the
library that comes with GCC, with @option{-msoft-float} in order for library that comes with GCC, with @option{-msoft-float} in order for
this to work. this to work.
@item -msio
@opindex msio
Generate the predefine, @code{_SIO}, for server IO. The default is
@option{-mwsio}. This generates the predefines, @code{__hp9000s700},
@code{__hp9000s700__} and @code{_WSIO}, for workstation IO. These
options are available under HP-UX and HI-UX.
@end table @end table
@node Intel 960 Options @node Intel 960 Options
...@@ -9125,7 +9132,7 @@ These are the @samp{-m} options defined for the Intel IA-64 architecture. ...@@ -9125,7 +9132,7 @@ These are the @samp{-m} options defined for the Intel IA-64 architecture.
@table @gcctabopt @table @gcctabopt
@item -mbig-endian @item -mbig-endian
@opindex mbig-endian @opindex mbig-endian
Generate code for a big endian target. This is the default for HPUX@. Generate code for a big endian target. This is the default for HP-UX@.
@item -mlittle-endian @item -mlittle-endian
@opindex mlittle-endian @opindex mlittle-endian
......
...@@ -615,7 +615,9 @@ or @code{clk_objective_c}. Note that if we are preprocessing ...@@ -615,7 +615,9 @@ or @code{clk_objective_c}. Note that if we are preprocessing
assembler, this variable will be @code{clk_c} but the function-like assembler, this variable will be @code{clk_c} but the function-like
macro @code{preprocessing_asm_p()} will return true, so you might want macro @code{preprocessing_asm_p()} will return true, so you might want
to check for that first. If you need to check for strict ANSI, the to check for that first. If you need to check for strict ANSI, the
variable @code{flag_iso} can be used. variable @code{flag_iso} can be used. The function-like macro
@code{preprocessing_trad_p()} can be used to check for traditional
preprocessing.
With @code{TARGET_OS_CPP_BUILTINS} this macro obsoletes the With @code{TARGET_OS_CPP_BUILTINS} this macro obsoletes the
@code{CPP_PREDEFINES} target macro. @code{CPP_PREDEFINES} target macro.
......
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