https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87788

Iain Sandoe <iains at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2018-10-29
     Ever confirmed|0                           |1

--- Comment #1 from Iain Sandoe <iains at gcc dot gnu.org> ---
maybe something like:
diff --git a/gcc/d/dmd/globals.h b/gcc/d/dmd/globals.h
index 63caeb7b6b..1279ac394e 100644
--- a/gcc/d/dmd/globals.h
+++ b/gcc/d/dmd/globals.h
@@ -237,19 +237,14 @@ extern Global global;
 // Because int64_t and friends may be any integral type of the
 // correct size, we have to explicitly ask for the correct
 // integer type to get the correct mangling with ddmd
-#if __LP64__
+
 // Be careful not to care about sign when using dinteger_t
 // use this instead of integer_t to
 // avoid conflicts with system #include's
-typedef unsigned long dinteger_t;
+typedef __UINT64_TYPE__ dinteger_t;
 // Signed and unsigned variants
-typedef long sinteger_t;
-typedef unsigned long uinteger_t;
-#else
-typedef unsigned long long dinteger_t;
-typedef long long sinteger_t;
-typedef unsigned long long uinteger_t;
-#endif
+typedef __INT64_TYPE__ sinteger_t;
+typedef __UINT64_TYPE__ uinteger_t;

 typedef int8_t                  d_int8;
 typedef uint8_t                 d_uns8;

Reply via email to