Hi, I will apply following patch soon, if there aren't any objection.
gcc/ChangeLog: 2014-01-27 Kai Tietz <kti...@redhat.com> * config/i386/cygwin-stdint.h (INT64_TYPE): Make dependent on target architecture instead of host. (UINT64_TYPE, INT_LEAST64_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE, INT_FAST64_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE, UINT_FAST64_TYPE, INTPTR_TYPE, UINTPTR_TYPE): Likewise. Regards, Kai Index: gcc/config/i386/cygwin-stdint.h =================================================================== --- gcc/config/i386/cygwin-stdint.h (revision 206924) +++ gcc/config/i386/cygwin-stdint.h (working copy) @@ -24,20 +24,12 @@ #define INT8_TYPE "signed char" #define INT16_TYPE "short int" #define INT32_TYPE "int" -#ifdef __x86_64__ -#define INT64_TYPE "long int" -#else -#define INT64_TYPE "long long int" -#endif +#define INT64_TYPE (TARGET_64BIT ? "long int" : "long long int") #define UINT8_TYPE "unsigned char" #define UINT16_TYPE "short unsigned int" #define UINT32_TYPE "unsigned int" -#ifdef __x86_64__ -#define UINT64_TYPE "long unsigned int" -#else -#define UINT64_TYPE "long long unsigned int" -#endif +#define UINT64_TYPE (TARGET_64BIT ? "long unsigned int" : "long long unsigned int") /* Minimum-width integer types */ @@ -44,51 +36,26 @@ #define INT_LEAST8_TYPE "signed char" #define INT_LEAST16_TYPE "short int" #define INT_LEAST32_TYPE "int" -#ifdef __x86_64__ -#define INT_LEAST64_TYPE "long int" -#else -#define INT_LEAST64_TYPE "long long int" -#endif +#define INT_LEAST64_TYPE (TARGET_64BIT ? "long int" : "long long int") #define UINT_LEAST8_TYPE "unsigned char" #define UINT_LEAST16_TYPE "short unsigned int" #define UINT_LEAST32_TYPE "unsigned int" -#ifdef __x86_64__ -#define UINT_LEAST64_TYPE "long unsigned int" -#else -#define UINT_LEAST64_TYPE "long long unsigned int" -#endif +#define UINT_LEAST64_TYPE (TARGET_64BIT ? "long unsigned int" : "long long unsigned int") /* Fastest minimum-width integer types */ #define INT_FAST8_TYPE "signed char" -#ifdef __x86_64__ -#define INT_FAST16_TYPE "long int" -#define INT_FAST32_TYPE "long int" -#define INT_FAST64_TYPE "long int" -#else -#define INT_FAST16_TYPE "int" -#define INT_FAST32_TYPE "int" -#define INT_FAST64_TYPE "long long int" -#endif +#define INT_FAST16_TYPE (TARGET_64BIT ? "long int" : "int") +#define INT_FAST32_TYPE (TARGET_64BIT ? "long int" : "int") +#define INT_FAST64_TYPE (TARGET_64BIT ? "long int" : "long long int") #define UINT_FAST8_TYPE "unsigned char" -#ifdef __x86_64__ -#define UINT_FAST16_TYPE "long unsigned int" -#define UINT_FAST32_TYPE "long unsigned int" -#define UINT_FAST64_TYPE "long unsigned int" -#else -#define UINT_FAST16_TYPE "unsigned int" -#define UINT_FAST32_TYPE "unsigned int" -#define UINT_FAST64_TYPE "long long unsigned int" -#endif +#define UINT_FAST16_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int") +#define UINT_FAST32_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int") +#define UINT_FAST64_TYPE (TARGET_64BIT ? "long unsigned int" : "long long unsigned int") /* Integer types capable of holding object pointers */ -#ifdef __x86_64__ -#define INTPTR_TYPE "long int" -#define UINTPTR_TYPE "long unsigned int" -#else -#define INTPTR_TYPE "int" -#define UINTPTR_TYPE "unsigned int" -#endif +#define INTPTR_TYPE (TARGET_64BIT ? "long int" : "int") +#define UINTPTR_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")