From e41c9fcb1de8e7ee61a6ddbfb2e0c4d9cf4e667d Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Sat, 14 Aug 2004 19:02:58 +0000 Subject: [PATCH] PR libstdc++/17005 partial fix. * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE except when generating ANSI/C89 code. From-SVN: r86005 --- gcc/ChangeLog | 6 ++++++ gcc/config/pa/pa-hpux11.h | 13 ++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6465583cfa30..35e5623c91bf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-08-14 John David Anglin + + PR libstdc++/17005 partial fix. + * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE + except when generating ANSI/C89 code. + 2004-08-14 Nathan Sidwell * c-common.c (shorten_compare): Use force_fit_type directly. diff --git a/gcc/config/pa/pa-hpux11.h b/gcc/config/pa/pa-hpux11.h index 2aa314946006..7450c1db739c 100644 --- a/gcc/config/pa/pa-hpux11.h +++ b/gcc/config/pa/pa-hpux11.h @@ -24,7 +24,12 @@ Boston, MA 02111-1307, USA. */ the definition of __cplusplus. We define _INCLUDE_LONGLONG to prevent nlist.h from defining __STDC_32_MODE__ (no longlong support). We define __STDCPP__ to get certain system headers - (notably assert.h) to assume standard preprocessor behavior in C++. */ + (notably assert.h) to assume standard preprocessor behavior in C++. + + The C99 support is incomplete. We define _INCLUDE__STDC_A1_SOURCE + to provide the extended multibyte and wide-character utilities available + under HP-UX 11i. Defining _HPUX_SOURCE would give us some more + features but it also adds stuff that isn't in C99. */ #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() \ do \ @@ -41,6 +46,7 @@ Boston, MA 02111-1307, USA. */ { \ builtin_define ("_HPUX_SOURCE"); \ builtin_define ("_INCLUDE_LONGLONG"); \ + builtin_define ("_INCLUDE__STDC_A1_SOURCE"); \ builtin_define ("__STDC_EXT__"); \ builtin_define ("__STDCPP__"); \ } \ @@ -49,6 +55,7 @@ Boston, MA 02111-1307, USA. */ if (!flag_iso) \ { \ builtin_define ("_HPUX_SOURCE"); \ + builtin_define ("_INCLUDE__STDC_A1_SOURCE"); \ if (preprocessing_trad_p ()) \ { \ builtin_define ("hp9000s800"); \ @@ -62,6 +69,10 @@ Boston, MA 02111-1307, USA. */ else \ builtin_define ("__STDC_EXT__"); \ } \ + else if (flag_isoc99) \ + { \ + builtin_define ("_INCLUDE__STDC_A1_SOURCE"); \ + } \ if (!TARGET_64BIT) \ builtin_define ("_ILP32"); \ } \ -- 2.43.5