Further de-specification of alpha/

Neil Booth neil@daikokuya.demon.co.uk
Tue May 14 13:17:00 GMT 2002


Tested for expected behaviour on alpha-foo-linux cross.

Neil.

config/alpha:
	* alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
	and __IEEE_FP_INEXACT as appropriate.
	(CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
	(CPP_SPEC): Remove ieee defines.
	* freebsd.h, netbsd.h: Remove ieee defines.

Index: alpha.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/alpha.h,v
retrieving revision 1.160
diff -u -p -r1.160 alpha.h
--- alpha.h	13 May 2002 05:57:38 -0000	1.160
+++ alpha.h	14 May 2002 19:37:06 -0000
@@ -63,14 +63,16 @@ Boston, MA 02111-1307, USA.  */
 	    builtin_define ("__alpha_ev4__");		\
 	    builtin_assert ("cpu=ev4");			\
 	  }						\
-    } while (0)
+	if (TARGET_IEEE || TARGET_IEEE_WITH_INEXACT)	\
+	  builtin_define ("__IEEE_FP");			\
+	if (TARGET_IEEE_WITH_INEXACT)			\
+	  builtin_define ("__IEEE_FP_INEXACT");		\
+} while (0)
 
 /* For C++ we need to ensure that __LANGUAGE_C_PLUS_PLUS is defined independent
    of the source file extension.  */
-#define CPLUSPLUS_CPP_SPEC "\
--D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS -D__cplusplus \
-%(cpp) \
-"
+#define CPLUSPLUS_CPP_SPEC "-D__LANGUAGE_C_PLUS_PLUS__\
+ -D__LANGUAGE_C_PLUS_PLUS %(cpp)"
 
 /* Write out the correct language type definition for the header files.  
    Unless we have assembler language, write out the symbols for C.  */
@@ -78,9 +80,7 @@ Boston, MA 02111-1307, USA.  */
 %{!undef:\
 %{.S:-D__LANGUAGE_ASSEMBLY__ -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY }}\
 %{.m:-D__LANGUAGE_OBJECTIVE_C__ -D__LANGUAGE_OBJECTIVE_C }\
-%{!.S:%{!.cc:%{!.cxx:%{!.cpp:%{!.cp:%{!.c++:%{!.C:%{!.m:-D__LANGUAGE_C__ -D__LANGUAGE_C %{!ansi:-DLANGUAGE_C }}}}}}}}}\
-%{mieee:-D_IEEE_FP }\
-%{mieee-with-inexact:-D_IEEE_FP -D_IEEE_FP_INEXACT }}\
+%{!.S:%{!.cc:%{!.cxx:%{!.cpp:%{!.cp:%{!.c++:%{!.C:%{!.m:-D__LANGUAGE_C__ -D__LANGUAGE_C %{!ansi:-DLANGUAGE_C }}}}}}}}}}\
 %(cpp_subtarget)"
 
 #ifndef CPP_SUBTARGET_SPEC
Index: freebsd.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/freebsd.h,v
retrieving revision 1.10
diff -u -p -r1.10 freebsd.h
--- freebsd.h	7 May 2002 21:07:16 -0000	1.10
+++ freebsd.h	14 May 2002 19:37:06 -0000
@@ -27,9 +27,7 @@ Boston, MA 02111-1307, USA.  */
 #undef  CPP_SPEC
 #define CPP_SPEC "%(cpp_cpu) %(cpp_subtarget)				\
   %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__}		\
-  %{posix:-D_POSIX_SOURCE}						\
-  %{mieee:-D_IEEE_FP}							\
-  %{mieee-with-inexact:-D_IEEE_FP -D_IEEE_FP_INEXACT}"
+  %{posix:-D_POSIX_SOURCE}"
 
 #define LINK_SPEC "%{G*} %{relax:-relax}				\
   %{p:%e`-p' not supported; use `-pg' and gprof(1)}			\
Index: netbsd.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/netbsd.h,v
retrieving revision 1.11
diff -u -p -r1.11 netbsd.h
--- netbsd.h	13 May 2002 05:57:38 -0000	1.11
+++ netbsd.h	14 May 2002 19:37:06 -0000
@@ -39,11 +39,7 @@ Boston, MA 02111-1307, USA.  */
    the standard NetBSD specs, we also handle Alpha FP mode indications.  */
 
 #undef CPP_SPEC
-#define CPP_SPEC							\
-  "%{mieee:-D_IEEE_FP}							\
-   %{mieee-with-inexact:-D_IEEE_FP -D_IEEE_FP_INEXACT}			\
-   %{posix:-D_POSIX_SOURCE}						\
-   %(cpp_cpu) %(cpp_subtarget)"
+#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %(cpp_cpu) %(cpp_subtarget)"
 
 /* Provide a LINK_SPEC appropriate for a NetBSD/alpha ELF target.
    This is a copy of LINK_SPEC from <netbsd-elf.h> tweaked for



More information about the Gcc-patches mailing list