From df7da8f544b0615c3a0c6c12c327014cdbb4d639 Mon Sep 17 00:00:00 2001 From: Alejandro Colomar Date: Tue, 29 Sep 2020 12:30:23 +0200 Subject: [PATCH] system_data_types.7: Add 'intmax_t' Signed-off-by: Alejandro Colomar Signed-off-by: Michael Kerrisk --- man7/system_data_types.7 | 56 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/man7/system_data_types.7 b/man7/system_data_types.7 index 6d24dee2f..d6fc54d3f 100644 --- a/man7/system_data_types.7 +++ b/man7/system_data_types.7 @@ -324,6 +324,62 @@ Conforming to: C99 and later; POSIX.1-2001 and later. See also: .BR imaxdiv (3) .RE +.\"------------------------------------- intmax_t ---------------------/ +.TP +.I intmax_t +.RS +.br +Include: +.IR . +Alternatively, +.IR . +.PP +A signed integer type +capable of representing any value of any signed integer type +supported by the implementation. +According to the C language standard, it shall be +capable of storing values in the range +.RB [ INTMAX_MIN , +.BR INTMAX_MAX ]. +.PP +The macro +.B INTMAX_C +.\" TODO: Document INT*_C(3) +expands its argument to an integer constant of type +.IR intmax_t . +.PP +The length modifier for +.I intmax_t +for the +.BR printf (3) +and the +.BR scanf (3) +families of functions is +.BR j ; +resulting commonly in +.B %jd +or +.B %ji +for printing +.I intmax_t +values. +.PP +Bugs: +.I intmax_t +is not large enough to represent values of type +.I __int128 +in implementations where +.I __int128 +is defined and +.I long long +is less than 128 bits wide. +.PP +Conforming to: C99 and later; POSIX.1-2001 and later. +.PP +See also the +.I uintmax_t +type in this page. +.RE .\"------------------------------------- lconv ------------------------/ .TP .I lconv