Hello,Attached are patches which change the base types of `u?int_fast16_t` to `unsigned? int`, to match how these are declared in Microsoft UCRT headers.
These changes are small but are technically an ABI break. A consequent change may be needed in Clang. Your perspective will be appreciated.
From f8aef67634de7172cdb772f575f43d7d6d6e6d92 Mon Sep 17 00:00:00 2001 From: LIU Hao <[email protected]> Date: Sat, 13 Jun 2026 20:38:33 +0800 Subject: [PATCH] gcc/mingw: Change `u?int_fast16_t` to match Microsoft declarations gcc/ChangeLog: * config/mingw/mingw-stdint.h (INT_FAST16_TYPE): Change base type to `int`. (UINT_FAST16_TYPE): Change base type to `unsigned int`. Signed-off-by: LIU Hao <[email protected]> --- gcc/config/mingw/mingw-stdint.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/config/mingw/mingw-stdint.h b/gcc/config/mingw/mingw-stdint.h index 4c10ae6315a5..2309192c268f 100644 --- a/gcc/config/mingw/mingw-stdint.h +++ b/gcc/config/mingw/mingw-stdint.h @@ -38,11 +38,11 @@ along with GCC; see the file COPYING3. If not see #define UINT_LEAST64_TYPE "long long unsigned int" #define INT_FAST8_TYPE "signed char" -#define INT_FAST16_TYPE "short int" +#define INT_FAST16_TYPE "int" #define INT_FAST32_TYPE "int" #define INT_FAST64_TYPE "long long int" #define UINT_FAST8_TYPE "unsigned char" -#define UINT_FAST16_TYPE "short unsigned int" +#define UINT_FAST16_TYPE "unsigned int" #define UINT_FAST32_TYPE "unsigned int" #define UINT_FAST64_TYPE "long long unsigned int" -- 2.54.0 From f3966cabb7e2ec029fc6801aa40fbd7dff4cabae Mon Sep 17 00:00:00 2001 From: LIU Hao <[email protected]> Date: Sat, 13 Jun 2026 20:37:35 +0800 Subject: [PATCH] headers/stdint: Change `u?int_fast16_t` to match Microsoft declarations Signed-off-by: LIU Hao <[email protected]> --- mingw-w64-headers/crt/stdint.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-headers/crt/stdint.h b/mingw-w64-headers/crt/stdint.h index 3372f7530..b18067568 100644 --- a/mingw-w64-headers/crt/stdint.h +++ b/mingw-w64-headers/crt/stdint.h @@ -57,8 +57,8 @@ __MINGW_EXTENSION typedef unsigned long long uint_least64_t; */ typedef signed char int_fast8_t; typedef unsigned char uint_fast8_t; -typedef short int_fast16_t; -typedef unsigned short uint_fast16_t; +typedef int int_fast16_t; +typedef unsigned int uint_fast16_t; typedef int int_fast32_t; typedef unsigned int uint_fast32_t; __MINGW_EXTENSION typedef long long int_fast64_t; -- 2.54.0
From f8aef67634de7172cdb772f575f43d7d6d6e6d92 Mon Sep 17 00:00:00 2001 From: LIU Hao <[email protected]> Date: Sat, 13 Jun 2026 20:38:33 +0800 Subject: [PATCH] gcc/mingw: Change `u?int_fast16_t` to match Microsoft declarations gcc/ChangeLog: * config/mingw/mingw-stdint.h (INT_FAST16_TYPE): Change base type to `int`. (UINT_FAST16_TYPE): Change base type to `unsigned int`. Signed-off-by: LIU Hao <[email protected]> --- gcc/config/mingw/mingw-stdint.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/config/mingw/mingw-stdint.h b/gcc/config/mingw/mingw-stdint.h index 4c10ae6315a5..2309192c268f 100644 --- a/gcc/config/mingw/mingw-stdint.h +++ b/gcc/config/mingw/mingw-stdint.h @@ -38,11 +38,11 @@ along with GCC; see the file COPYING3. If not see #define UINT_LEAST64_TYPE "long long unsigned int" #define INT_FAST8_TYPE "signed char" -#define INT_FAST16_TYPE "short int" +#define INT_FAST16_TYPE "int" #define INT_FAST32_TYPE "int" #define INT_FAST64_TYPE "long long int" #define UINT_FAST8_TYPE "unsigned char" -#define UINT_FAST16_TYPE "short unsigned int" +#define UINT_FAST16_TYPE "unsigned int" #define UINT_FAST32_TYPE "unsigned int" #define UINT_FAST64_TYPE "long long unsigned int" -- 2.54.0
From f3966cabb7e2ec029fc6801aa40fbd7dff4cabae Mon Sep 17 00:00:00 2001 From: LIU Hao <[email protected]> Date: Sat, 13 Jun 2026 20:37:35 +0800 Subject: [PATCH] headers/stdint: Change `u?int_fast16_t` to match Microsoft declarations Signed-off-by: LIU Hao <[email protected]> --- mingw-w64-headers/crt/stdint.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-headers/crt/stdint.h b/mingw-w64-headers/crt/stdint.h index 3372f7530..b18067568 100644 --- a/mingw-w64-headers/crt/stdint.h +++ b/mingw-w64-headers/crt/stdint.h @@ -57,8 +57,8 @@ __MINGW_EXTENSION typedef unsigned long long uint_least64_t; */ typedef signed char int_fast8_t; typedef unsigned char uint_fast8_t; -typedef short int_fast16_t; -typedef unsigned short uint_fast16_t; +typedef int int_fast16_t; +typedef unsigned int uint_fast16_t; typedef int int_fast32_t; typedef unsigned int uint_fast32_t; __MINGW_EXTENSION typedef long long int_fast64_t; -- 2.54.0
OpenPGP_signature.asc
Description: OpenPGP digital signature
