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]

[PATCH] Update cygwin stdint already!


    Hi all,

  Prompted by Joseph's stdint fixes, we decided to iron out some kinks in the
cygwin types system since we're going through a major ABI change anyway.  The
attached patch updates the cygwin stdint types.  While I was at it I added
comment decorations so it aligns with the stdint.h that it matches.

  With this, all the stdint tests pass including the newly-added tests 7 and
8.  Ok?

gcc/ChangeLog

	* config/i386/cygwin-stdint.h (INT_LEAST32_TYPE):  Update to
	match changes in Cygwin 1.7
	(UINT_LEAST32_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE,
	UINT_FAST16_TYPE, UINT_FAST32_TYPE):  Likewise.

    cheers,
      DaveK
Index: gcc/config/i386/cygwin-stdint.h
===================================================================
--- gcc/config/i386/cygwin-stdint.h	(revision 145828)
+++ gcc/config/i386/cygwin-stdint.h	(working copy)
@@ -19,33 +19,44 @@
 
 #define SIG_ATOMIC_TYPE "int"
 
+/* Exact-width integer 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"
 
+/* Minimum-width integer types */
+
 #define INT_LEAST8_TYPE "signed char"
 #define INT_LEAST16_TYPE "short int"
-#define INT_LEAST32_TYPE "long 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 "long unsigned int"
+#define UINT_LEAST32_TYPE "unsigned int"
 #define UINT_LEAST64_TYPE "long long unsigned int"
 
+/* Fastest minimum-width integer types */
+
 #define INT_FAST8_TYPE "signed char"
-#define INT_FAST16_TYPE "long int"
-#define INT_FAST32_TYPE "long int"
+#define INT_FAST16_TYPE "int"
+#define INT_FAST32_TYPE "int"
 #define INT_FAST64_TYPE "long long int"
+
 #define UINT_FAST8_TYPE "unsigned char"
-#define UINT_FAST16_TYPE "long unsigned int"
-#define UINT_FAST32_TYPE "long unsigned int"
+#define UINT_FAST16_TYPE "unsigned int"
+#define UINT_FAST32_TYPE "unsigned int"
 #define UINT_FAST64_TYPE "long long unsigned int"
 
+/* Integer types capable of holding object pointers */
+
 #define INTPTR_TYPE "long int"
 #define UINTPTR_TYPE "long unsigned int"
 

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