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]

TARGET_C99_FUNCTIONS for powerpc


This is an obvious patch we should have had a long time ago.  glibc
has all the required functions, and now we even have support for 128 bit
long double.  Fixes a bunch of testsuite failures.  OK to apply mainline
and 3.4?

	* rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
	(OS_MISSING_POWERPC64): Move, and comment.
	* rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
	(OS_MISSING_POWERPC64): Move, and comment.

Index: gcc/config/rs6000/linux.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/linux.h,v
retrieving revision 1.47
diff -u -p -r1.47 linux.h
--- gcc/config/rs6000/linux.h	8 Sep 2004 00:17:17 -0000	1.47
+++ gcc/config/rs6000/linux.h	2 Oct 2004 00:20:13 -0000
@@ -24,6 +24,14 @@
 #undef MD_EXEC_PREFIX
 #undef MD_STARTFILE_PREFIX
 
+/* Linux doesn't support saving and restoring 64-bit regs in a 32-bit
+   process.  */
+#define OS_MISSING_POWERPC64 1
+
+/* glibc has float and long double forms of math functions.  */
+#undef  TARGET_C99_FUNCTIONS
+#define TARGET_C99_FUNCTIONS 1
+
 #undef  TARGET_OS_CPP_BUILTINS
 #define TARGET_OS_CPP_BUILTINS()          \
   do                                      \
@@ -99,5 +107,3 @@
 #define TARGET_HAS_F_SETLKW
 
 #define MD_UNWIND_SUPPORT "config/rs6000/linux-unwind.h"
-
-#define OS_MISSING_POWERPC64 1
Index: gcc/config/rs6000/linux64.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/linux64.h,v
retrieving revision 1.69
diff -u -p -r1.69 linux64.h
--- gcc/config/rs6000/linux64.h	29 Sep 2004 15:19:56 -0000	1.69
+++ gcc/config/rs6000/linux64.h	2 Oct 2004 00:20:13 -0000
@@ -287,6 +287,14 @@ extern int dot_symbols;
 #undef MD_EXEC_PREFIX
 #undef MD_STARTFILE_PREFIX
 
+/* Linux doesn't support saving and restoring 64-bit regs in a 32-bit
+   process.  */
+#define OS_MISSING_POWERPC64 !TARGET_64BIT
+
+/* glibc has float and long double forms of math functions.  */
+#undef  TARGET_C99_FUNCTIONS
+#define TARGET_C99_FUNCTIONS 1
+
 #undef  TARGET_OS_CPP_BUILTINS
 #define TARGET_OS_CPP_BUILTINS()            		\
   do							\
@@ -559,5 +567,3 @@ while (0)
 #endif
 
 #define MD_UNWIND_SUPPORT "config/rs6000/linux-unwind.h"
-
-#define OS_MISSING_POWERPC64 !TARGET_64BIT

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


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