diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog index 51d473fe7..383377ee7 100644 --- a/winsup/mingw/ChangeLog +++ b/winsup/mingw/ChangeLog @@ -1,3 +1,9 @@ +2009-04-11 Danny Smith + + * include/stdint.h (int_fast8_t): Specify as signed char. + (INT8_C, UINT8_C, INT16_C, UINT16_C): Simplify: just allow promotion to int. + (INT32_C, UINT32_C): Remove 'L' type specifier on constant. + 2009-03-05 Kai Tietz * pseudo-reloc.c: Rewrite to enable pseudo_reloc version 2. diff --git a/winsup/mingw/include/stdint.h b/winsup/mingw/include/stdint.h index 57db989cd..c6ab3bcef 100644 --- a/winsup/mingw/include/stdint.h +++ b/winsup/mingw/include/stdint.h @@ -47,7 +47,7 @@ typedef unsigned long long uint_least64_t; * Not actually guaranteed to be fastest for all purposes * Here we use the exact-width types for 8 and 16-bit ints. */ -typedef char int_fast8_t; +typedef signed char int_fast8_t; typedef unsigned char uint_fast8_t; typedef short int_fast16_t; typedef unsigned short uint_fast16_t; @@ -187,13 +187,13 @@ typedef unsigned long long uintmax_t; *expression* with *promoted* type." */ -#define INT8_C(val) ((int8_t) + (val)) -#define UINT8_C(val) ((uint8_t) + (val##U)) -#define INT16_C(val) ((int16_t) + (val)) -#define UINT16_C(val) ((uint16_t) + (val##U)) +#define INT8_C(val) val +#define UINT8_C(val) val +#define INT16_C(val) val +#define UINT16_C(val) val -#define INT32_C(val) val##L -#define UINT32_C(val) val##UL +#define INT32_C(val) val +#define UINT32_C(val) val##U #define INT64_C(val) val##LL #define UINT64_C(val) val##ULL