diff mbox

[cygwin64] : Fix building *-*-cygwin* target cross-compilers

Message ID CAEwic4Zfd_NY9GiWmL+_2D2_b57y2vMVJq_ex6S4EdCjC=cUow@mail.gmail.com
State New
Headers show

Commit Message

Kai Tietz Jan. 27, 2014, 7:28 p.m. UTC
Hi,

I will apply following patch soon, if there aren't any objection.

gcc/ChangeLog:

2014-01-27  Kai Tietz  <ktietz@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


@@ -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")
diff mbox

Patch

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 */