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