diff -pru trunk.unmodified/gcc/config/i386/mingw32.h trunk/gcc/config/i386/mingw32.h
--- trunk.unmodified/gcc/config/i386/mingw32.h	2009-04-03 10:48:59.000000000 +0530
+++ trunk/gcc/config/i386/mingw32.h	2009-04-04 01:40:08.000000000 +0530
@@ -155,6 +155,45 @@ do {						         \
 #undef WINT_TYPE
 #define WINT_TYPE "short unsigned int"
 
+/* Types from stdint.h.  */
+#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"
+
+/* INT_FAST8_TYPE being "char" instead of "signed char" is weird.  */
+#define INT_FAST8_TYPE "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"
+
+#if TARGET_64BIT_DEFAULT
+#define INTPTR_TYPE "long long int"
+#define UINTPTR_TYPE "long long unsigned int"
+#else
+#define INTPTR_TYPE "int"
+#define UINTPTR_TYPE "unsigned int"
+#endif
+
+#define SIG_ATOMIC_TYPE "int"
+
 /* mingw32 uses the  -mthreads option to enable thread support.  */
 #undef GOMP_SELF_SPECS
 #define GOMP_SELF_SPECS "%{fopenmp: -mthreads}"
diff -pru trunk.unmodified/gcc/config.gcc trunk/gcc/config.gcc
--- trunk.unmodified/gcc/config.gcc	2009-04-03 10:49:00.000000000 +0530
+++ trunk/gcc/config.gcc	2009-04-04 01:35:47.000000000 +0530
@@ -1265,6 +1265,7 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
 	c_target_objs="${c_target_objs} msformat-c.o"
 	cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
 	default_use_cxa_atexit=yes
+	use_gcc_stdint=wrap
 	case ${enable_threads} in
 	  "" | yes | win32)
 	  thread_file='win32'
