This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
3.[234] PATCH: Update predefines for Tru64 UNIX
- From: Rainer Orth <ro at TechFak dot Uni-Bielefeld dot DE>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Dave Love <d dot love at dl dot ac dot uk>
- Date: Fri, 14 Mar 2003 21:00:38 +0100 (MET)
- Subject: 3.[234] PATCH: Update predefines for Tru64 UNIX
As reported by Dave Love
http://gcc.gnu.org/ml/gcc-bugs/2003-02/msg01409.html
gcc currently fails to predefine a couple of macros that are used/required
by the Tru64 UNIX system headers.
I've checked what Compaq C V6.3-029 predefines and found the following
discrepancies:
* cc defines __DECC, __DECC_MODE_RELAXED, and __DECC_VER=60390029. Nothing
to do in gcc.
* cc defines SYSTYPE_BSD with -std0 and _SYSTYPE_BSD unconditionally. gcc
also defines __SYSTYPE_BSD and __SYSTYPE_BSD__. I've left this alone for
the moment.
* cc defines __digital__ and __arch64__, which gcc currently misses. Both
are clearly documented in cc(1) and should be added to gcc.
* cc defines __ALPHA and __Alpha_AXP. The former is not documented in
cc(1) and only used as an alternative to __alpha__ in the system
headers. The latter is neither documented nor used anywhere in the
system headers. Therefore I chose to omit them for gcc.
* cc defines __PRAGMA_ENVIRONMENT and __IEEE_FLOAT. Both are only used in
the vendor C++ headers and not documented. Nothing to do for gcc.
* cc defines __INITIAL_POINTER_SIZE=0. This is not documented, only used
in the vendor pthread and C++ headers. It seems to be a OpenVMS/Alpha
only thing, so I omitted it for gcc.
Bootstrapped on alpha-dec-osf5.1 without regressions on the 3.3 branch.
3.2 bootstrap still in progress. Bootstrapped successfully on mainline
after reverting the patch that caused PR bootstrap/10053.
Ok for 3.2 if it passes, 3.3 branch and mainline?
Rainer
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University
Fri Feb 28 16:49:54 2003 Dave Love <fx at gnu dot org>
Rainer Orth <ro at TechFak dot Uni-Bielefeld dot DE>
* config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
__arch64__ to match Compaq cc.
Index: gcc/config/alpha/osf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/osf.h,v
retrieving revision 1.30
diff -u -p -r1.30 osf.h
--- gcc/config/alpha/osf.h 24 Feb 2003 18:52:50 -0000 1.30
+++ gcc/config/alpha/osf.h 14 Mar 2003 19:36:35 -0000
@@ -38,6 +38,8 @@ Boston, MA 02111-1307, USA. */
builtin_define_std ("SYSTYPE_BSD"); \
builtin_define ("_SYSTYPE_BSD"); \
builtin_define ("__osf__"); \
+ builtin_define ("__digital__"); \
+ builtin_define ("__arch64__"); \
builtin_define ("_LONGLONG"); \
builtin_define ("__PRAGMA_EXTERN_PREFIX"); \
builtin_assert ("system=unix"); \
The patch for the 3.2 branch is slightly different:
Fri Feb 28 16:49:54 2003 Dave Love <fx at gnu dot org>
Rainer Orth <ro at TechFak dot Uni-Bielefeld dot DE>
* config/alpha/osf.h (CPP_PREDEFINES): Define __digital__,
__arch64__ to match Compaq cc.
Index: gcc/config/alpha/osf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/osf.h,v
retrieving revision 1.22.14.3.4.1
diff -u -p -r1.22.14.3.4.1 osf.h
--- gcc/config/alpha/osf.h 24 Feb 2003 18:46:23 -0000 1.22.14.3.4.1
+++ gcc/config/alpha/osf.h 14 Mar 2003 19:40:13 -0000
@@ -33,7 +33,7 @@ Boston, MA 02111-1307, USA. */
/* Names to predefine in the preprocessor for this target machine. */
#define CPP_PREDEFINES "\
--Dunix -D__osf__ -D_LONGLONG -DSYSTYPE_BSD \
+-Dunix -D__osf__ -D__digital__ -D__arch64__ -D_LONGLONG -DSYSTYPE_BSD \
-D_SYSTYPE_BSD -Asystem=unix -Asystem=xpg4"
/* Tru64 UNIX V5 requires additional definitions for 16 byte long double