mirror of
https://github.com/postgres/postgres.git
synced 2026-01-29 12:02:15 +03:00
Use <stdint.h> and <inttypes.h> for c.h integers.
Redefine our exact width types with standard C99 types and macros, including int64_t, INT64_MAX, INT64_C(), PRId64 etc. We were already using <stdint.h> types in a few places. One complication is that Windows' <inttypes.h> uses format strings like "%I64d", "%I32", "%I" for PRI*64, PRI*32, PTR*PTR, instead of mapping to other standardized format strings like "%lld" etc as seen on other known systems. Teach our snprintf.c to understand them. This removes a lot of configure clutter, and should also allow 64-bit numbers and other standard types to be used in localized messages without casting. Reviewed-by: Peter Eisentraut <peter@eisentraut.org> Discussion: https://postgr.es/m/ME3P282MB3166F9D1F71F787929C0C7E7B6312%40ME3P282MB3166.AUSP282.PROD.OUTLOOK.COM
This commit is contained in:
@@ -66,7 +66,7 @@ typedef pg_atomic_uint64 dsa_pointer_atomic;
|
||||
#define dsa_pointer_atomic_write pg_atomic_write_u64
|
||||
#define dsa_pointer_atomic_fetch_add pg_atomic_fetch_add_u64
|
||||
#define dsa_pointer_atomic_compare_exchange pg_atomic_compare_exchange_u64
|
||||
#define DSA_POINTER_FORMAT "%016" INT64_MODIFIER "x"
|
||||
#define DSA_POINTER_FORMAT "%016" PRIx64
|
||||
#endif
|
||||
|
||||
/* Flags for dsa_allocate_extended. */
|
||||
|
||||
Reference in New Issue
Block a user