[PATCH] commited fix to _INTEGRAL_MAX_BITS define on mingw32

Danny Smith dannysmith@clear.net.nz
Thu May 17 22:57:00 GMT 2007


Committed as obvious.  See
http://msdn2.microsoft.com/en-us/library/b0084kay(VS.80).aspx
where _INTEGRAL_MAX_BITS is documented as:
"Reports the maximum size (in bits) for an integral type."

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).

Index: config/i386/mingw32.h
===================================================================
--- config/i386/mingw32.h	(revision 124812)
+++ config/i386/mingw32.h	(working copy)
@@ -27,7 +27,8 @@
 #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 @@
       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)



More information about the Gcc-patches mailing list