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]

RFA: No CPP_PREDEFINES for mcore


Tested on mcore-elf.  OK?

Neil.

	* config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
	TARGET_OS_CPP_BUILTINS.
	* config/mcore/mcore-pe.h: Similarly.
	* config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
	CPP_SPEC with TARGET_CPU_CPP_BUILTINS.

Index: mcore-elf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mcore/mcore-elf.h,v
retrieving revision 1.13
diff -u -p -r1.13 mcore-elf.h
--- mcore-elf.h	29 Aug 2002 21:40:15 -0000	1.13
+++ mcore-elf.h	12 Mar 2003 06:52:33 -0000
@@ -25,7 +25,12 @@ Boston, MA 02111-1307, USA.  */
 /* Run-time Target Specification.  */
 #define TARGET_VERSION fputs (" (Motorola MCORE/elf)", stderr)
 
-#define SUBTARGET_CPP_PREDEFINES " -D__ELF__"
+#define TARGET_OS_CPP_BUILTINS()				\
+  do								\
+    {								\
+      builtin_define ("__ELF__");				\
+    }								\
+  while (0)
 
 /* Use DWARF2 debugging info.  */
 #define DWARF2_DEBUGGING_INFO 1
Index: mcore-pe.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mcore/mcore-pe.h,v
retrieving revision 1.15
diff -u -p -r1.15 mcore-pe.h
--- mcore-pe.h	16 Dec 2002 18:21:34 -0000	1.15
+++ mcore-pe.h	12 Mar 2003 06:52:33 -0000
@@ -22,7 +22,12 @@ Boston, MA 02111-1307, USA.  */
 /* Run-time Target Specification.  */
 #define TARGET_VERSION fputs (" (MCORE/pe)", stderr)
 
-#define SUBTARGET_CPP_PREDEFINES " -D__pe__"
+#define TARGET_OS_CPP_BUILTINS()				\
+  do								\
+    {								\
+      builtin_define ("__pe__");				\
+    }								\
+  while (0)
 
 /* The MCore ABI says that bitfields are unsigned by default.  */
 /* The EPOC C++ environment does not support exceptions.  */
Index: mcore.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mcore/mcore.h,v
retrieving revision 1.44
diff -u -p -r1.44 mcore.h
--- mcore.h	28 Jan 2003 18:08:51 -0000	1.44
+++ mcore.h	12 Mar 2003 06:52:33 -0000
@@ -46,28 +46,28 @@ Boston, MA 02111-1307, USA.  */
    predefined attributes later on.  This can be solved by using one attribute,
    say __declspec__, and passing args to it.  The problem with that approach
    is that args are not accumulated: each new appearance would clobber any
-   existing args.  XXX- FIXME the definition below relies upon string
-   concatenation, which is non-portable.  */
-#define CPP_PREDEFINES \
-  "-D__mcore__ -D__MCORE__=1 -D__declspec(x)=__attribute__((x))" SUBTARGET_CPP_PREDEFINES
+   existing args.  */
+#define TARGET_CPU_CPP_BUILTINS()					  \
+  do									  \
+    {									  \
+      builtin_define ("__mcore__");					  \
+      builtin_define ("__MCORE__");					  \
+      builtin_define ("__declspec(x)=__attribute__((x))");		  \
+      if (TARGET_LITTLE_END)						  \
+        builtin_define ("__MCORELE__");					  \
+      else								  \
+        builtin_define ("__MCOREBE__");					  \
+      if (TARGET_M340)							  \
+        builtin_define ("__M340__");					  \
+      else								  \
+        builtin_define ("__M210__");					  \
+    }									  \
+  while (0)
 
-/* If -m4align is ever re-enabled then uncomment this line as well:
-   #define CPP_SPEC "%{!m4align:-D__MCORE_ALIGN_8__} %{m4align:-D__MCORE__ALIGN_4__}" */
-
-#undef  CPP_SPEC
-#define CPP_SPEC "							\
-%{mbig-endian:								\
-  %{mlittle-endian:%echoose either big or little endian, not both}	\
-  -D__MCOREBE__}							\
-%{m210:									\
-  %{m340:%echoose either m340 or m210 not both}				\
-  %{mlittle-endian:%ethe m210 does not have little endian support}	\
-  -D__M210__}								\
-%{!mbig-endian: -D__MCORELE__}						\
-%{!m210: -D__M340__}							\
-"
 /* If -m4align is ever re-enabled then add this line to the definition of CPP_SPEC
    %{!m4align:-D__MCORE_ALIGN_8__} %{m4align:-D__MCORE__ALIGN_4__} */
+#undef CPP_SPEC
+#define CPP_SPEC "%{m210:%{mlittle-endian:%ethe m210 does not have little endian support}}";
 
 /* We don't have a -lg library, so don't put it in the list.  */
 #undef	LIB_SPEC


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