This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]