From cef78ffa013459d9c818fe1f838dc85bfe39ccac Mon Sep 17 00:00:00 2001 From: Dan Rosser Date: Wed, 5 Jul 2023 02:57:46 +1000 Subject: [PATCH 1/3] Fix for VS Build type cast errors #785 --- src/cairo-wideint-type-private.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/cairo-wideint-type-private.h b/src/cairo-wideint-type-private.h index a1a2269f8..4ba87d7f9 100644 --- a/src/cairo-wideint-type-private.h +++ b/src/cairo-wideint-type-private.h @@ -47,7 +47,11 @@ # include #elif HAVE_SYS_INT_TYPES_H # include -#elif defined(_MSC_VER) +#else +#error Cannot find definitions for fixed-width integral types (uint8_t, uint32_t, etc.) +#endif + +#if defined(_MSC_VER) typedef __int8 int8_t; typedef unsigned __int8 uint8_t; typedef __int16 int16_t; @@ -59,8 +63,6 @@ # ifndef HAVE_UINT64_T # define HAVE_UINT64_T 1 # endif -#else -#error Cannot find definitions for fixed-width integral types (uint8_t, uint32_t, etc.) #endif #ifndef INT16_MIN From 1dbc8a999a5098c2dec08177a5e5cda52a2e3576 Mon Sep 17 00:00:00 2001 From: Dan Rosser Date: Fri, 18 Jul 2025 00:17:17 +1000 Subject: [PATCH 2/3] Edit cairo-wideint-type-private.h --- src/cairo-wideint-type-private.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cairo-wideint-type-private.h b/src/cairo-wideint-type-private.h index 4ba87d7f9..99c7285ea 100644 --- a/src/cairo-wideint-type-private.h +++ b/src/cairo-wideint-type-private.h @@ -51,7 +51,7 @@ #error Cannot find definitions for fixed-width integral types (uint8_t, uint32_t, etc.) #endif -#if defined(_MSC_VER) +#if defined(_MSC_VER) && !defined(HAVE_STDINT_H) typedef __int8 int8_t; typedef unsigned __int8 uint8_t; typedef __int16 int16_t; From c54c5cbcce1accf8b0c7ccda9d97b5bbbe1cf508 Mon Sep 17 00:00:00 2001 From: Dan Rosser Date: Fri, 18 Jul 2025 00:54:12 +1000 Subject: [PATCH 3/3] fix msvc types --- src/cairo-wideint-type-private.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/cairo-wideint-type-private.h b/src/cairo-wideint-type-private.h index 99c7285ea..a07725415 100644 --- a/src/cairo-wideint-type-private.h +++ b/src/cairo-wideint-type-private.h @@ -47,8 +47,6 @@ # include #elif HAVE_SYS_INT_TYPES_H # include -#else -#error Cannot find definitions for fixed-width integral types (uint8_t, uint32_t, etc.) #endif #if defined(_MSC_VER) && !defined(HAVE_STDINT_H) @@ -60,10 +58,11 @@ typedef unsigned __int32 uint32_t; typedef __int64 int64_t; typedef unsigned __int64 uint64_t; +#endif + # ifndef HAVE_UINT64_T # define HAVE_UINT64_T 1 # endif -#endif #ifndef INT16_MIN # define INT16_MIN (-32767-1)