OSDN Git Service

* gcc.dg/Wunused-var-8.c: Move to...
[pf3gnuchains/gcc-fork.git] / gcc / config / mips / iris.h
index e9c16e5..f22f3cd 100644 (file)
@@ -1,12 +1,13 @@
 /* Definitions of target machine for GNU compiler.  Generic IRIX version.
    Copyright (C) 1993, 1995, 1996, 1998, 2000,
-   2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+   2001, 2002, 2003, 2004, 2007, 2008, 2009, 2010
+   Free Software Foundation, Inc.
 
 This file is part of GCC.
 
 GCC is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
+the Free Software Foundation; either version 3, or (at your option)
 any later version.
 
 GCC is distributed in the hope that it will be useful,
@@ -15,14 +16,16 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+along with GCC; see the file COPYING3.  If not see
+<http://www.gnu.org/licenses/>.  */
 
 /* We are compiling for IRIX now.  */
 #undef TARGET_IRIX
 #define TARGET_IRIX 1
 
+/* MIPS specific debugging info */
+#define MIPS_DEBUGGING_INFO 1
+
 /* The size in bytes of a DWARF field indicating an offset or length
    relative to a debug info section, specified to be 4 bytes in the DWARF-2
    specification.  The SGI/MIPS ABI defines it to be the same as PTR_SIZE.  */
@@ -61,13 +64,6 @@ Boston, MA 02111-1307, USA.  */
 #undef ASM_FINISH_DECLARE_OBJECT
 #define ASM_FINISH_DECLARE_OBJECT mips_finish_declare_object
 
-/* Also do this for libcalls.  */
-#undef TARGET_ASM_EXTERNAL_LIBCALL
-#define TARGET_ASM_EXTERNAL_LIBCALL irix_output_external_libcall
-
-/* The linker needs a space after "-o".  */
-#define SWITCHES_NEED_SPACES "o"
-
 /* Specify wchar_t types.  */
 #undef WCHAR_TYPE
 #define WCHAR_TYPE (Pmode == DImode ? "int" : "long int")
@@ -82,6 +78,42 @@ Boston, MA 02111-1307, USA.  */
 #undef WINT_TYPE_SIZE
 #define WINT_TYPE_SIZE 32
 
+/* C99 stdint.h types.  */
+#define INT8_TYPE "signed char"
+#define INT16_TYPE "short int"
+#define INT32_TYPE "int"
+#define INT64_TYPE "long long int"
+#define UINT8_TYPE "unsigned char"
+#define UINT16_TYPE "short unsigned int"
+#define UINT32_TYPE "unsigned int"
+#define UINT64_TYPE "long long unsigned int"
+
+#define INT_LEAST8_TYPE "signed char"
+#define INT_LEAST16_TYPE "short int"
+#define INT_LEAST32_TYPE "int"
+#define INT_LEAST64_TYPE "long long int"
+#define UINT_LEAST8_TYPE "unsigned char"
+#define UINT_LEAST16_TYPE "short unsigned int"
+#define UINT_LEAST32_TYPE "unsigned int"
+#define UINT_LEAST64_TYPE "long long unsigned int"
+
+#define INT_FAST8_TYPE "signed char"
+#define INT_FAST16_TYPE "short int"
+#define INT_FAST32_TYPE "int"
+#define INT_FAST64_TYPE "long long int"
+#define UINT_FAST8_TYPE "unsigned char"
+#define UINT_FAST16_TYPE "short unsigned int"
+#define UINT_FAST32_TYPE "unsigned int"
+#define UINT_FAST64_TYPE "long long unsigned int"
+
+#define INTMAX_TYPE "long long int"
+#define UINTMAX_TYPE "long long unsigned int"
+
+#define INTPTR_TYPE "long int"
+#define UINTPTR_TYPE "long unsigned int"
+
+#define SIG_ATOMIC_TYPE "int"
+
 /* Plain char is unsigned in the SGI compiler.  */
 #undef DEFAULT_SIGNED_CHAR
 #define DEFAULT_SIGNED_CHAR 0
@@ -104,39 +136,9 @@ Boston, MA 02111-1307, USA.  */
       builtin_assert ("system=svr4");                          \
       builtin_assert ("machine=sgi");                          \
                                                                \
-      if (mips_abi == ABI_32)                                  \
-       {                                                       \
-         builtin_define ("_ABIO32=1");                         \
-         builtin_define ("_MIPS_SIM=_ABIO32");                 \
-         builtin_define ("_MIPS_SZINT=32");                    \
-         builtin_define ("_MIPS_SZLONG=32");                   \
-         builtin_define ("_MIPS_SZPTR=32");                    \
-       }                                                       \
-      else if (mips_abi == ABI_64)                             \
-       {                                                       \
-         builtin_define ("_ABI64=3");                          \
-         builtin_define ("_MIPS_SIM=_ABI64");                  \
-         builtin_define ("_MIPS_SZINT=32");                    \
-         builtin_define ("_MIPS_SZLONG=64");                   \
-         builtin_define ("_MIPS_SZPTR=64");                    \
-       }                                                       \
-      else                                                     \
-       {                                                       \
-         builtin_define ("_ABIN32=2");                         \
-         builtin_define ("_MIPS_SIM=_ABIN32");                 \
-         builtin_define ("_MIPS_SZINT=32");                    \
-         builtin_define ("_MIPS_SZLONG=32");                   \
-         builtin_define ("_MIPS_SZPTR=32");                    \
-        }                                                      \
-                                                               \
       if (!ISA_MIPS1 && !ISA_MIPS2)                            \
        builtin_define ("_COMPILER_VERSION=601");               \
                                                                \
-      if (!TARGET_FLOAT64)                                     \
-       builtin_define ("_MIPS_FPSET=16");                      \
-      else                                                     \
-       builtin_define ("_MIPS_FPSET=32");                      \
-                                                               \
       /* We must always define _LONGLONG, even when -ansi is   \
         used, because IRIX 5 system header files require it.   \
         This is OK, because gcc never warns when long long     \
@@ -181,6 +183,14 @@ Boston, MA 02111-1307, USA.  */
 #define IRIX_NO_UNRESOLVED "-no_unresolved"
 #endif
 
+#ifdef IRIX_USING_GNU_LD
+#define SUBTARGET_DONT_WARN_UNUSED_SPEC ""
+#define SUBTARGET_WARN_UNUSED_SPEC ""
+#else
+#define SUBTARGET_DONT_WARN_UNUSED_SPEC "-dont_warn_unused"
+#define SUBTARGET_WARN_UNUSED_SPEC "-warn_unused"
+#endif
+
 /* Generic part of the LINK_SPEC.  */
 #undef LINK_SPEC
 #define LINK_SPEC "\