J3/06-230r1
To: J3
From: Bill Long
Subject: C15 - UTI 74 : C names for BITS kinds
Date: 16-aug-2006
---------------------
Unresolved Technical Issue 74 (page 472) observes that the names for
the BITS KIND values corresponding to the integer and pointer C types
would be the likely names for an unsigned integer type, and wishes to
reserve these for future use. It is also noted that the
interoperability is with both the unsigned and signed int C types, so
identifying the Fortran names with U is misleading. Suggested
alternatives were C_INT_BITS, etc.
Also, to remove a possible implementation problem with passing to
dummy arguments with the VALUE attribute, remove the interoperability
with non-integer C types.
Edits:
------
[472:3-8] in subclause 15.2.2, and
[478] Table 15.2 in subclause 15.3.2 make the following replacements:
C_UINT -> C_INT_BITS
C_USHORT -> C_SHORT_BITS
C_ULONG -> C_LONG_BITS
C_ULONG_LONG -> C_LONG_LONG_BITS
C_UNSIGNED_CHAR -> C_SIGNED_CHAR_BITS
C_UINT8_T -> C_INT8_T_BITS
C_UINT16_T -> C_INT16_T_BITS
C_UINT32_T -> C_INT32_T_BITS
C_UINT64_T -> C_INT64_T_BITS
C_UINT_LEAST8_T -> C_INT_LEAST8_T_BITS
C_UINT_LEAST16_T -> C_INT_LEAST16_T_BITS
C_UINT_LEAST32_T -> C_INT_LEAST32_T_BITS
C_UINT_LEAST64_T -> C_INT_LEAST64_T_BITS
C_UINT_FAST8_T -> C_INT_FAST8_T_BITS
C_UINT_FAST16_T -> C_INT_FAST16_T_BITS
C_UINT_FAST32_T -> C_INT_FAST32_T_BITS
C_UINT_FAST64_T -> C_INT_FAST64_T_BITS
C_UINTMAX_T -> C_INTMAX_T_BITS
C_UINTPTR_T -> C_INTPTR_T_BITS
[472:7-8] in subclause 15.2.2, remove
"C_FLOAT_BITS, C_DOUBLE_BITS, C_LONG_DOUBLE_BITS,
C_FLOAT_COMPLEX_BITS, C_DOUBLE_COMPLEX_BITS,
C_LONG_DOUBLE_COMPLEX_BITS,"
[478] Table 15.2 in subclause 15.3.2, remove these lines:
C_FLOAT_BITS float
C_DOUBLE_BITS double
C_LONG_DOUBLE_BITS long double
C_FLOAT_COMPLEX_BITS float _Complex
C_DOUBLE_COMPLEX_BITS double _Complex
C_LONG_DOUBLE_COMPLEX_BITS long double _Complex