summaryrefslogtreecommitdiff
path: root/gcc/config/pa/pa-hpux10.h
diff options
context:
space:
mode:
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-25 17:49:58 +0000
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2004-08-25 17:49:58 +0000
commit8ab3293372b2ce4fd81e88056a39bb9e4042bac6 (patch)
tree14e2d8cb7e94d6cdc20449b7a5fb62b316d503f6 /gcc/config/pa/pa-hpux10.h
parentf13b585c809b33ebc9100fcb2dcaea6209fea4ab (diff)
downloadgcc-8ab3293372b2ce4fd81e88056a39bb9e4042bac6.tar.gz
PR libstdc++/17005 (fix for HP-UX 11.11)
* config.gcc (hppa*-*-*): Move MASK_BIG_SWITCH to target_cpu_default2. (hppa*-*-hpux*): Consolidate hppa1.0-*-* code. Rework handling of tm_file including pa-hpux1010.h or pa-hpux1111.h when appropriate. * config/pa/pa-hpux1010.h, config/pa/pa-hpux1111.h: New files. * config/pa/pa-hpux.h (TARGET_HPUX): Define. (LINK_SPEC): Handle march=1.0 option. * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for UNIX 95. (SUBTARGET_OPTIONS): New define. (LINK_SPEC): Handle march=1.0 option. (STARTFILE_SPEC): New define. * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for UNIX 95. Additionally, predefine _INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500 for UNIX 98. (SUBTARGET_OPTIONS): New define. (LINK_SPEC): Handle march=1.0 option. (STARTFILE_SPEC): New define. * config/pa/pa.c (override_options): Add code to process -munix= option. * config/pa/pa.h (pa_unix_string, flag_pa_unix): Declare. (TARGET_HPUX, TARGET_HPUX_10_10, TARGET_HPUX_11_11): Provide default defines. (TARGET_OPTIONS): Add SUBTARGET_OPTIONS to option list. (SUBTARGET_OPTIONS): Provide default define. * config/pa/pa64-hpux.h (STANDARD_STARTFILE_PREFIX_1, STANDARD_STARTFILE_PREFIX_2): New defines. (STARTFILE_SPEC): Provide unix95.o or unix98.o startfiles as necessary. (ENDFILE_SPEC): Use %O. * doc/install.texi (hppa*-*-hpux*): Reword paragraph on -g and gas. Mention issue caused by changing namespace and runtime to UNIX 95/98. * doc/invoke.texi (HPPA options): Move misplaced text to FRV options. Document -munix=std option. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86561 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/pa/pa-hpux10.h')
-rw-r--r--gcc/config/pa/pa-hpux10.h99
1 files changed, 55 insertions, 44 deletions
diff --git a/gcc/config/pa/pa-hpux10.h b/gcc/config/pa/pa-hpux10.h
index 6c4dbf596d5..d2d66eec0db 100644
--- a/gcc/config/pa/pa-hpux10.h
+++ b/gcc/config/pa/pa-hpux10.h
@@ -28,51 +28,62 @@ Boston, MA 02111-1307, USA. */
support). We define __STDCPP__ to get certain system headers
(notably assert.h) to assume standard preprocessor behavior in C++. */
#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_dialect_cxx ()) \
- { \
- builtin_define ("_HPUX_SOURCE"); \
- builtin_define ("_INCLUDE_LONGLONG"); \
- builtin_define ("__STDC_EXT__"); \
- builtin_define ("__STDCPP__"); \
- } \
- 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"); \
- } \
- } \
+#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_dialect_cxx ()) \
+ { \
+ builtin_define ("_HPUX_SOURCE"); \
+ builtin_define ("_INCLUDE_LONGLONG"); \
+ builtin_define ("__STDC_EXT__"); \
+ builtin_define ("__STDCPP__"); \
+ } \
+ 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 (flag_pa_unix >= 1995) \
+ { \
+ builtin_define ("_XOPEN_UNIX"); \
+ builtin_define ("_XOPEN_SOURCE_EXTENDED"); \
+ } \
+ if (TARGET_SIO) \
+ builtin_define ("_SIO"); \
+ else \
+ { \
+ builtin_define ("__hp9000s700"); \
+ builtin_define ("__hp9000s700__"); \
+ builtin_define ("_WSIO"); \
+ } \
+ } \
while (0)
+#undef SUBTARGET_OPTIONS
+#define SUBTARGET_OPTIONS \
+ { "unix=", &pa_unix_string, \
+ N_("Specify UNIX standard for predefines and linking.\n" \
+ "Supported value is 93."), 0}
+
#define CPP_SPEC "%{threads: -D_REENTRANT -D_DCE_THREADS}"
/* We can debug dynamically linked executables on hpux9; we also want
@@ -80,7 +91,7 @@ Boston, MA 02111-1307, USA. */
#undef LINK_SPEC
#if ((TARGET_DEFAULT | TARGET_CPU_DEFAULT) & MASK_PA_11)
#define LINK_SPEC \
- "%{!mpa-risc-1-0:%{!shared:-L/lib/pa1.1 -L/usr/lib/pa1.1 }}\
+ "%{!mpa-risc-1-0:%{!march=1.0:%{!shared:-L/lib/pa1.1 -L/usr/lib/pa1.1 }}}\
%{!shared:%{p:-L/lib/libp %{!static:\
%nWarning: consider linking with `-static' as system libraries with\n\
%n profiling support are only provided in archive format}}}\