PR libstdc++/17005 partial fix.
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Sat, 14 Aug 2004 19:02:58 +0000 (19:02 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Sat, 14 Aug 2004 19:02:58 +0000 (19:02 +0000)
* pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE
except when generating ANSI/C89 code.

From-SVN: r86005

gcc/ChangeLog
gcc/config/pa/pa-hpux11.h

index 6465583cfa3067169a635c9615f7e5b2ce14a760..35e5623c91bf35719cb5effbdfb68d2303818393 100644 (file)
@@ -1,3 +1,9 @@
+2004-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       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  <nathan@codesourcery.com>
 
        * c-common.c (shorten_compare): Use force_fit_type directly.
index 2aa3149460063f820b1f39f638581aae9972bb67..7450c1db739ca6f780bd8161ea2d5cce98107b12 100644 (file)
@@ -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");                        \
          }                                                     \