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;