https://gcc.gnu.org/g:d6b1d5deb23063b8eac980def0bc4e438b44ee85

commit r15-6662-gd6b1d5deb23063b8eac980def0bc4e438b44ee85
Author: Thomas Koenig <tkoe...@gcc.gnu.org>
Date:   Tue Jan 7 15:23:29 2025 +0100

    Document unsigned constants in intrinsic modules.
    
    gcc/fortran/ChangeLog:
    
            * intrinsic.texi (ISO_FORTRAN_ENV):  Also mention INT8 in the
            text. Document UINT8, UINT16, UINT32 and UINT64.
            (ISO_C_BINDING): New table for unsigned KIND numbers.

Diff:
---
 gcc/fortran/intrinsic.texi | 35 ++++++++++++++++++++++++++++++++++-
 1 file changed, 34 insertions(+), 1 deletion(-)

diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi
index 7c7e4c9372bd..55933d23e188 100644
--- a/gcc/fortran/intrinsic.texi
+++ b/gcc/fortran/intrinsic.texi
@@ -15305,7 +15305,7 @@ Identifies the preconnected unit identified by the 
asterisk
 
 @item @code{INT8}, @code{INT16}, @code{INT32}, @code{INT64}:
 Kind type parameters to specify an INTEGER type with a storage
-size of 16, 32, and 64 bits. It is negative if a target platform
+size of 8, 16, 32, and 64 bits. It is negative if a target platform
 does not support the particular kind. (Fortran 2008 or later.)
 
 @item @code{INTEGER_KINDS}:
@@ -15368,6 +15368,12 @@ in the failed state. (TS 18508 or later.)
 @item @code{STAT_UNLOCKED}:
 Scalar default-integer constant used as @code{STAT=} return value by 
@code{UNLOCK} to
 denote that the lock variable is unlocked. (Fortran 2008 or later.)
+
+@item @code{UINT8}, @code{UINT16}, @code{UINT32}, @code{UINT64}:
+Kind type parameters to specify an UNSIGNED type with a storage
+size of 8, 16, 32, and 64 bits. It is negative if a target platform
+does not support the particular kind. (Extension, @pxref{Unsigned integers}.)
+
 @end table
 
 The module provides the following derived type:
@@ -15455,6 +15461,33 @@ Furthermore, if @code{_Float128} is supported in C, 
the named constants
 @item @code{CHARACTER}@tab @code{C_CHAR}        @tab @code{char}
 @end multitable
 
+GNU Fortran also provides as an extension, named constants for
+@code{UNSIGNED} integers @pxref{Unsigned integers}.
+@multitable @columnfractions .20 0.40 0.40
+@headitem Fortran Type  @tab Named constant         @tab C type
+@item @code{UNSIGNED}@tab @code{C_UNSIGNED}            @tab @code{unsigned int}
+@item @code{UNSIGNED}@tab @code{C_UNSIGNED_SHORT}      @tab @code{unsigned 
short}
+@item @code{UNSIGNED}@tab @code{C_UNSIGNED_CHAR}       @tab @code{unsigned 
char}
+@item @code{UNSINGED}@tab @code{C_UNSIGNED_LONG}       @tab @code{unsigned 
long}
+@item @code{UNSINGED}@tab @code{C_UNSIGNED_LONG_LONG}  @tab @code{unsigned 
long long}
+@item @code{UNSIGNED}@tab @code{C_UINTMAX_T}           @tab @code{uintmax_t}
+@item @code{UNSIGNED}@tab @code{C_UINT8_T}             @tab @code{uint8_t}
+@item @code{UNSIGNED}@tab @code{C_UINT16_T}            @tab @code{uint16_t}
+@item @code{UNSIGNED}@tab @code{C_UINT32_T}            @tab @code{uint32_t}
+@item @code{UNSIGNED}@tab @code{C_UINT64_T}            @tab @code{uint64_t}
+@item @code{UNSIGNED}@tab @code{C_UINT128_T}           @tab @code{uint128_t}
+@item @code{UNSIGNED}@tab @code{C_UINT_FAST8_T}                @tab 
@code{uint_fast8_t}
+@item @code{UNSIGNED}@tab @code{C_UINT_FAST16_T}       @tab 
@code{uint_fast16_t}
+@item @code{UNSIGNED}@tab @code{C_UINT_FAST32_T}       @tab 
@code{uint_fast32_t}
+@item @code{UNSIGNED}@tab @code{C_UINT_FAST64_T}       @tab 
@code{uint_fast64_t}
+@item @code{UNSIGNED}@tab @code{C_UINT_FAST128_T}      @tab 
@code{uint_fast128_t}
+@item @code{UNSIGNED}@tab @code{C_UINT_LEAST8_T}       @tab 
@code{uint_least8_t}
+@item @code{UNSIGNED}@tab @code{C_UINT_LEAST16_T}      @tab 
@code{uint_least16_t}
+@item @code{UNSIGNED}@tab @code{C_UINT_LEAST32_T}      @tab 
@code{uint_least32_t}
+@item @code{UNSIGNED}@tab @code{C_UINT_LEAST64_T}      @tab 
@code{uint_least64_t}
+@item @code{UNSIGNED}@tab @code{C_UINT_LEAST128_T}     @tab 
@code{uint_least128_t}
+@end multitable
+
 Additionally, the following parameters of type @code{CHARACTER(KIND=C_CHAR)}
 are defined.

Reply via email to