re PR target/31965 (_INTEGRAL_MAX_BITS defined incorrectly)
authorDanny Smith <dannysmith@users.sourceforge.net>
Thu, 17 May 2007 22:51:05 +0000 (22:51 +0000)
committerDanny Smith <dannysmith@gcc.gnu.org>
Thu, 17 May 2007 22:51:05 +0000 (22:51 +0000)
PR target/31965
* config/i386/mingw32.h (_INTEGRAL_MAX_BITS): Define builtin as
TYPE_PRECISION (intmax_type_node).

From-SVN: r124813

gcc/ChangeLog
gcc/config/i386/mingw32.h

index 301d7184ceb8b726ca4b1d5f045bc8b263cc26ec..371c5e32f6ee4b96202fe3dcac36a55bc1cffe1f 100644 (file)
@@ -1,3 +1,9 @@
+2007-05-17  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR target/31965
+       * config/i386/mingw32.h (_INTEGRAL_MAX_BITS): Define builtin as
+       TYPE_PRECISION (intmax_type_node).
+
 2007-05-17  Steve Ellcey  <sje@cup.hp.com>
 
        PR target/31850
index c608826be11a48eb804c1757ad071eaf88fd6fad..a39fbab3cdeeb466986d8e08c60a82ca3b884d76 100644 (file)
@@ -27,7 +27,8 @@ Boston, MA 02110-1301, USA.  */
 #define TARGET_VERSION fprintf (stderr," (x86 MinGW)");
 #endif
 
-/* See i386/crtdll.h for an alternative definition.  */
+/* See i386/crtdll.h for an alternative definition. _INTEGRAL_MAX_BITS
+   is for compatibility with native compiler.  */
 #define EXTRA_OS_CPP_BUILTINS()                                        \
   do                                                           \
     {                                                          \
@@ -36,17 +37,14 @@ Boston, MA 02110-1301, USA.  */
       builtin_define ("_WIN32");                               \
       builtin_define_std ("WIN32");                            \
       builtin_define_std ("WINNT");                            \
+      builtin_define_with_int_value ("_INTEGRAL_MAX_BITS",     \
+                                    TYPE_PRECISION (intmax_type_node));\
       if (TARGET_64BIT_MS_ABI)                                 \
        {                                                       \
          builtin_define ("__MINGW64__");                       \
-         builtin_define_with_value("_INTEGRAL_MAX_BITS","64",0); \
          builtin_define_std ("WIN64");                         \
          builtin_define_std ("_WIN64");                        \
        }                                                       \
-      else                                                     \
-       {                                                       \
-         builtin_define_with_value("_INTEGRAL_MAX_BITS","32",0); \
-       }                                                       \
     }                                                          \
   while (0)