From ff04588f09aec60a07a5225f013e76e866f27e74 Mon Sep 17 00:00:00 2001 From: danglin Date: Fri, 8 Aug 2003 02:27:35 +0000 Subject: [PATCH] PR c++/11712 * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define __STDC_EXT__ when using C++ dialect. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70240 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/config/pa/pa-hpux.h | 7 +++++++ gcc/config/pa/pa-hpux10.h | 7 +++++++ gcc/config/pa/pa-hpux11.h | 7 +++++++ 4 files changed, 27 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4eb8d9c..221d8df 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-08-07 John David Anglin + + PR c++/11712 + * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define + __STDC_EXT__ when using C++ dialect. + 2003-08-07 J"orn Rennecke * sh.c (calc_live_regs): If the return address pointer is live, diff --git a/gcc/config/pa/pa-hpux.h b/gcc/config/pa/pa-hpux.h index 5b99ee5..9287924 100644 --- a/gcc/config/pa/pa-hpux.h +++ b/gcc/config/pa/pa-hpux.h @@ -28,6 +28,12 @@ Boston, MA 02111-1307, USA. */ #define SIZE_TYPE "unsigned int" #define PTRDIFF_TYPE "int" +/* GCC always defines __STDC__. HP C++ compilers don't define it. This + causes trouble when sys/stdsyms.h is included. As a work around, + we define __STDC_EXT__. A similar situation exists with respect to + the definition of __cplusplus. We define _INCLUDE_LONGLONG + to prevent nlist.h from defining __STDC_32_MODE__ (no longlong + support). */ #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() \ do \ @@ -46,6 +52,7 @@ Boston, MA 02111-1307, USA. */ { \ builtin_define ("_HPUX_SOURCE"); \ builtin_define ("_INCLUDE_LONGLONG"); \ + builtin_define ("__STDC_EXT__"); \ } \ else if (!flag_iso) \ { \ diff --git a/gcc/config/pa/pa-hpux10.h b/gcc/config/pa/pa-hpux10.h index 78ac2af..c674063 100644 --- a/gcc/config/pa/pa-hpux10.h +++ b/gcc/config/pa/pa-hpux10.h @@ -20,6 +20,12 @@ along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +/* GCC always defines __STDC__. HP C++ compilers don't define it. This + causes trouble when sys/stdsyms.h is included. As a work around, + we define __STDC_EXT__. A similar situation exists with respect to + the definition of __cplusplus. We define _INCLUDE_LONGLONG + to prevent nlist.h from defining __STDC_32_MODE__ (no longlong + support). */ #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() \ do \ @@ -36,6 +42,7 @@ Boston, MA 02111-1307, USA. */ { \ builtin_define ("_HPUX_SOURCE"); \ builtin_define ("_INCLUDE_LONGLONG"); \ + builtin_define ("__STDC_EXT__"); \ } \ else if (!flag_iso) \ { \ diff --git a/gcc/config/pa/pa-hpux11.h b/gcc/config/pa/pa-hpux11.h index 5a35ace..ebf3dc4 100644 --- a/gcc/config/pa/pa-hpux11.h +++ b/gcc/config/pa/pa-hpux11.h @@ -18,6 +18,12 @@ along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +/* GCC always defines __STDC__. HP C++ compilers don't define it. This + causes trouble when sys/stdsyms.h is included. As a work around, + we define __STDC_EXT__. A similar situation exists with respect to + the definition of __cplusplus. We define _INCLUDE_LONGLONG + to prevent nlist.h from defining __STDC_32_MODE__ (no longlong + support). */ #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() \ do \ @@ -34,6 +40,7 @@ Boston, MA 02111-1307, USA. */ { \ builtin_define ("_HPUX_SOURCE"); \ builtin_define ("_INCLUDE_LONGLONG"); \ + builtin_define ("__STDC_EXT__"); \ } \ else \ { \ -- 2.7.4