gcc/
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 11 Aug 2007 16:52:47 +0000 (16:52 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 11 Aug 2007 16:52:47 +0000 (16:52 +0000)
* config/vxworks-dummy.h (TARGET_VXWORKS): Define.
* config/vxworks.h (TARGET_VXWORKS): Override.
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define
"mips" if TARGET_VXWORKS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127361 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/mips/mips.h
gcc/config/vxworks-dummy.h
gcc/config/vxworks.h

index 906930e..8afb826 100644 (file)
@@ -1,5 +1,12 @@
 2007-08-11  Richard Sandiford  <richard@codesourcery.com>
 
+       * config/vxworks-dummy.h (TARGET_VXWORKS): Define.
+       * config/vxworks.h (TARGET_VXWORKS): Override.
+       * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define
+       "mips" if TARGET_VXWORKS.
+
+2007-08-11  Richard Sandiford  <richard@codesourcery.com>
+
        * calls.c (avoid_likely_spilled_reg): New function.
        (expand_call): Use it.
 
index 7c2f548..564f8bc 100644 (file)
@@ -357,9 +357,14 @@ extern enum mips_code_readable_setting mips_code_readable;
       builtin_define ("__mips__");                                             \
       builtin_define ("_mips");                                                \
                                                                        \
-      /* We do this here because __mips is defined below               \
-        and so we can't use builtin_define_std.  */                    \
-      if (!flag_iso)                                                   \
+      /* We do this here because __mips is defined below and so we     \
+        can't use builtin_define_std.  We don't ever want to define    \
+        "mips" for VxWorks because some of the VxWorks headers         \
+        construct include filenames from a root directory macro,       \
+        an architecture macro and a filename, where the architecture   \
+        macro expands to 'mips'.  If we define 'mips' to 1, the        \
+        architecture macro expands to 1 as well.  */                   \
+      if (!flag_iso && !TARGET_VXWORKS)                                        \
        builtin_define ("mips");                                        \
                                                                        \
       if (TARGET_64BIT)                                                        \
index 8c3d7d1..f310d08 100644 (file)
@@ -17,6 +17,11 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
+/* True if we're targetting VxWorks.  */
+#ifndef TARGET_VXWORKS
+#define TARGET_VXWORKS 0
+#endif
+
 /* True if generating code for a VxWorks RTP.  */
 #ifndef TARGET_VXWORKS_RTP
 #define TARGET_VXWORKS_RTP false
index 64ff220..322260d 100644 (file)
@@ -20,6 +20,10 @@ You should have received a copy of the GNU General Public License
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
+/* Assert that we are targetting VxWorks.  */
+#undef TARGET_VXWORKS
+#define TARGET_VXWORKS 1
+
 /* In kernel mode, VxWorks provides all the libraries itself, as well as
    the functionality of startup files, etc.  In RTP mode, it behaves more
    like a traditional Unix, with more external files.  Most of our specs