Add references to C23 subclauses to the documentation of
implementation-defined behavior, and new entries for
implementation-defined behavior new in C23; change some references in
the text to e.g. "C99 and C11" to encompass C23 as well.

Tested with "make info html pdf".

        * doc/implement-c.texi: Document C23 implementation-defined
        behavior.
        (Constant expressions implementation, Types implementation): New
        nodes.

diff --git a/gcc/doc/implement-c.texi b/gcc/doc/implement-c.texi
index a942a127cc7f..bdfb6342f0df 100644
--- a/gcc/doc/implement-c.texi
+++ b/gcc/doc/implement-c.texi
@@ -10,8 +10,8 @@ A conforming implementation of ISO C is required to document 
its
 choice of behavior in each of the areas that are designated
 ``implementation defined''.  The following lists all such areas,
 along with the section numbers from the ISO/IEC 9899:1990, ISO/IEC
-9899:1999 and ISO/IEC 9899:2011 standards.  Some areas are only
-implementation-defined in one version of the standard.
+9899:1999, ISO/IEC 9899:2011 and ISO/IEC 9899:2024 standards.  Some
+areas are only implementation-defined in one version of the standard.
 
 Some choices depend on the externally determined ABI for the platform
 (including standard character encodings) which GCC follows; these are
@@ -47,15 +47,15 @@ a freestanding environment); refer to their documentation 
for details.
 
 @itemize @bullet
 @item
-@cite{How a diagnostic is identified (C90 3.7, C99 and C11 3.10, C90,
-C99 and C11 5.1.1.3).}
+@cite{How a diagnostic is identified (C90 3.7, C99 and C11 3.10, C23
+3.13, C90, C99 and C11 5.1.1.3, C23 5.2.1.3).}
 
 Diagnostics consist of all the output sent to stderr by GCC@.
 
 @item
 @cite{Whether each nonempty sequence of white-space characters other than
 new-line is retained or replaced by one space character in translation
-phase 3 (C90, C99 and C11 5.1.1.2).}
+phase 3 (C90, C99 and C11 5.1.1.2, C23 5.2.1.2).}
 
 @xref{Implementation-defined behavior, , Implementation-defined
 behavior, cpp, The C Preprocessor}.
@@ -72,7 +72,7 @@ of the C library, and are not defined by GCC itself.
 @item
 @cite{The mapping between physical source file multibyte characters
 and the source character set in translation phase 1 (C90, C99 and C11
-5.1.1.2).}
+5.1.1.2, C23 5.2.1.2).}
 
 @xref{Implementation-defined behavior, , Implementation-defined
 behavior, cpp, The C Preprocessor}.
@@ -85,14 +85,16 @@ behavior, cpp, The C Preprocessor}.
 @itemize @bullet
 @item
 @cite{Which additional multibyte characters may appear in identifiers
-and their correspondence to universal character names (C99 and C11 6.4.2).}
+and their correspondence to universal character names (C99 and C11
+6.4.2, C23 6.4.3).}
 
 @xref{Implementation-defined behavior, , Implementation-defined
 behavior, cpp, The C Preprocessor}.
 
 @item
 @cite{The number of significant initial characters in an identifier
-(C90 6.1.2, C90, C99 and C11 5.2.4.1, C99 and C11 6.4.2).}
+(C90 6.1.2, C90, C99 and C11 5.2.4.1, C23 5.3.5.2, C99 and C11 6.4.2,
+C23 6.4.3).}
 
 For internal names, all characters are significant.  For external names,
 the number of significant characters are defined by the linker; for
@@ -102,7 +104,7 @@ almost all targets, all characters are significant.
 @cite{Whether case distinctions are significant in an identifier with
 external linkage (C90 6.1.2).}
 
-This is a property of the linker.  C99 and C11 require that case distinctions
+This is a property of the linker.  C99 and later require that case distinctions
 are always significant in identifiers with external linkage and
 systems without this property are not supported by GCC@.
 
@@ -113,34 +115,35 @@ systems without this property are not supported by GCC@.
 
 @itemize @bullet
 @item
-@cite{The number of bits in a byte (C90 3.4, C99 and C11 3.6).}
+@cite{The number of bits in a byte (C90 3.4, C99 and C11 3.6, C23 3.7).}
 
 Determined by ABI@.
 
 @item
 @cite{The values of the members of the execution character set (C90,
-C99 and C11 5.2.1).}
+C99 and C11 5.2.1, C23 5.3.1).}
 
 Determined by ABI@.
 
 @item
 @cite{The unique value of the member of the execution character set produced
 for each of the standard alphabetic escape sequences (C90, C99 and C11
-5.2.2).}
+5.2.2, C23 5.3.3).}
 
 Determined by ABI@.
 
 @item
 @cite{The value of a @code{char} object into which has been stored any
 character other than a member of the basic execution character set
-(C90 6.1.2.5, C99 and C11 6.2.5).}
+(C90 6.1.2.5, C99, C11 and C23 6.2.5).}
 
 Determined by ABI@.
 
 @item
 @cite{Which of @code{signed char} or @code{unsigned char} has the same
 range, representation, and behavior as ``plain'' @code{char} (C90
-6.1.2.5, C90 6.2.1.1, C99 and C11 6.2.5, C99 and C11 6.3.1.1).}
+6.1.2.5, C90 6.2.1.1, C99, C11 and C23 6.2.5, C99 and C11 6.3.1.1, C23
+6.3.2.1).}
 
 @opindex fsigned-char
 @opindex funsigned-char
@@ -148,17 +151,33 @@ Determined by ABI@.  The options @option{-funsigned-char} 
and
 @option{-fsigned-char} change the default.  @xref{C Dialect Options, ,
 Options Controlling C Dialect}.
 
+@item
+@cite{The literal encoding, which maps of the characters of the
+execution character set to the values in a character constant or
+string literal (C23 6.2.9, C23 6.4.5.5).}
+
+Determined by ABI@.
+
+@item
+@cite{The wide literal encoding, of the characters of the execution
+character set to the values in a @code{wchar_t} character constant or
+@code{wchar_t} string literal (C23 6.2.9, C23 6.4.5.5).}
+
+Determined by ABI@.
+
 @item
 @cite{The mapping of members of the source character set (in character
 constants and string literals) to members of the execution character
-set (C90 6.1.3.4, C99 and C11 6.4.4.4, C90, C99 and C11 5.1.1.2).}
+set (C90 6.1.3.4, C99 and C11 6.4.4.4, C23 6.4.5.5, C90, C99 and C11
+5.1.1.2, C23 5.2.1.2).}
 
 Determined by ABI@.
 
 @item
 @cite{The value of an integer character constant containing more than one
 character or containing a character or escape sequence that does not map
-to a single-byte execution character (C90 6.1.3.4, C99 and C11 6.4.4.4).}
+to a single-byte execution character (C90 6.1.3.4, C99 and C11
+6.4.4.4, C23 6.4.5.5).}
 
 @xref{Implementation-defined behavior, , Implementation-defined
 behavior, cpp, The C Preprocessor}.
@@ -169,7 +188,7 @@ multibyte character or a single multibyte character that 
maps to
 multiple members of the extended execution character set, or
 containing a multibyte character or escape sequence not represented in
 the extended execution character set (C90 6.1.3.4, C99 and C11
-6.4.4.4).}
+6.4.4.4, C23 6.4.5.5).}
 
 @xref{Implementation-defined behavior, , Implementation-defined
 behavior, cpp, The C Preprocessor}.
@@ -178,7 +197,7 @@ behavior, cpp, The C Preprocessor}.
 @cite{The current locale used to convert a wide character constant consisting
 of a single multibyte character that maps to a member of the extended
 execution character set into a corresponding wide character code (C90
-6.1.3.4, C99 and C11 6.4.4.4).}
+6.1.3.4, C99 and C11 6.4.4.4, C23 6.4.5.5).}
 
 @xref{Implementation-defined behavior, , Implementation-defined
 behavior, cpp, The C Preprocessor}.
@@ -192,7 +211,7 @@ Such tokens may not be concatenated.
 
 @item
 @cite{The current locale used to convert a wide string literal into
-corresponding wide character codes (C90 6.1.4, C99 and C11 6.4.5).}
+corresponding wide character codes (C90 6.1.4, C99 and C11 6.4.5, C23 6.4.6).}
 
 @xref{Implementation-defined behavior, , Implementation-defined
 behavior, cpp, The C Preprocessor}.
@@ -200,7 +219,7 @@ behavior, cpp, The C Preprocessor}.
 @item
 @cite{The value of a string literal containing a multibyte character or escape
 sequence not represented in the execution character set (C90 6.1.4,
-C99 and C11 6.4.5).}
+C99 and C11 6.4.5, C23 6.4.6).}
 
 @xref{Implementation-defined behavior, , Implementation-defined
 behavior, cpp, The C Preprocessor}.
@@ -209,7 +228,7 @@ behavior, cpp, The C Preprocessor}.
 @cite{The encoding of any of @code{wchar_t}, @code{char16_t}, and
 @code{char32_t} where the corresponding standard encoding macro
 (@code{__STDC_ISO_10646__}, @code{__STDC_UTF_16__}, or
-@code{__STDC_UTF_32__}) is not defined (C11 6.10.8.2).}
+@code{__STDC_UTF_32__}) is not defined (C11 6.10.8.2, C23 6.10.10.3).}
 
 @xref{Implementation-defined behavior, , Implementation-defined
 behavior, cpp, The C Preprocessor}.  @code{char16_t} and
@@ -223,8 +242,8 @@ respectively.
 
 @itemize @bullet
 @item
-@cite{Any extended integer types that exist in the implementation (C99
-and C11 6.2.5).}
+@cite{Any extended integer types that exist in the implementation (C99,
+C11 and C23 6.2.5).}
 
 GCC does not support any extended integer types.
 @c The __mode__ attribute might create types of precisions not
@@ -240,11 +259,12 @@ two's complement, or one's complement, and whether the 
extraordinary value
 is a trap representation or an ordinary value (C99 and C11 6.2.6.2).}
 
 GCC supports only two's complement integer types, and all bit patterns
-are ordinary values.
+are ordinary values.  C23 requires signed integer types to be two's
+complement.
 
 @item
 @cite{The rank of any extended integer type relative to another extended
-integer type with the same precision (C99 and C11 6.3.1.1).}
+integer type with the same precision (C99 and C11 6.3.1.1, C23 6.3.2.1).}
 
 GCC does not support any extended integer types.
 @c If it did, there would only be one of each precision and signedness.
@@ -252,14 +272,14 @@ GCC does not support any extended integer types.
 @item
 @cite{The result of, or the signal raised by, converting an integer to a
 signed integer type when the value cannot be represented in an object of
-that type (C90 6.2.1.2, C99 and C11 6.3.1.3).}
+that type (C90 6.2.1.2, C99 and C11 6.3.1.3, C23 6.3.2.3).}
 
 For conversion to a type of width @math{N}, the value is reduced
 modulo @math{2^N} to be within range of the type; no signal is raised.
 
 @item
 @cite{The results of some bitwise operations on signed integers (C90
-6.3, C99 and C11 6.5).}
+6.3, C99 and C11 6.5, C23 6.5.1).}
 
 Bitwise operators act on the representation of the value including
 both the sign and value bits, where the sign bit is considered
@@ -267,7 +287,7 @@ immediately above the highest-value value bit.  Signed 
@samp{>>} acts
 on negative numbers by sign extension.
 
 As an extension to the C language, GCC does not use the latitude given in
-C99 and C11 only to treat certain aspects of signed @samp{<<} as undefined.
+C99 and later to treat certain aspects of signed @samp{<<} as undefined.
 However, @option{-fsanitize=shift} (and @option{-fsanitize=undefined}) will
 diagnose such cases.  They are also diagnosed where constant
 expressions are required.
@@ -275,7 +295,7 @@ expressions are required.
 @item
 @cite{The sign of the remainder on integer division (C90 6.3.5).}
 
-GCC always follows the C99 and C11 requirement that the result of division is
+GCC always follows the C99 and later requirement that the result of division is
 truncated towards zero.
 
 @end itemize
@@ -287,34 +307,46 @@ truncated towards zero.
 @item
 @cite{The accuracy of the floating-point operations and of the library
 functions in @code{<math.h>} and @code{<complex.h>} that return floating-point
-results (C90, C99 and C11 5.2.4.2.2).}
+results (C90, C99 and C11 5.2.4.2.2, C23 5.3.5.3.3).}
 
 The accuracy is unknown.
 
 @item
 @cite{The rounding behaviors characterized by non-standard values
 of @code{FLT_ROUNDS}
-(C90, C99 and C11 5.2.4.2.2).}
+(C90, C99 and C11 5.2.4.2.2, C23 5.3.5.3.3).}
+
+GCC does not use such values.
+
+@item
+@cite{The evaluation methods characterized by non-standard negative
+values of @code{FLT_EVAL_METHOD} (C99 and C11 5.2.4.2.2, C23 5.3.5.3.3).}
 
 GCC does not use such values.
 
 @item
 @cite{The evaluation methods characterized by non-standard negative
-values of @code{FLT_EVAL_METHOD} (C99 and C11 5.2.4.2.2).}
+values of @code{DEC_EVAL_METHOD} (C23 5.3.5.3.4).}
 
 GCC does not use such values.
 
+@item
+@cite{If decimal floating types are supported (C23 6.2.5).}
+
+These are supported for certain AArch64, i386, x86-64, PowerPC and
+S/390 targets only.
+
 @item
 @cite{The direction of rounding when an integer is converted to a
 floating-point number that cannot exactly represent the original
-value (C90 6.2.1.3, C99 and C11 6.3.1.4).}
+value (C90 6.2.1.3, C99 and C11 6.3.1.4, C23 6.3.2.4).}
 
 C99 Annex F is followed.
 
 @item
 @cite{The direction of rounding when a floating-point number is
 converted to a narrower floating-point number (C90 6.2.1.4, C99 and C11
-6.3.1.5).}
+6.3.1.5, C23 6.3.2.5).}
 
 C99 Annex F is followed.
 
@@ -322,13 +354,14 @@ C99 Annex F is followed.
 @cite{How the nearest representable value or the larger or smaller
 representable value immediately adjacent to the nearest representable
 value is chosen for certain floating constants (C90 6.1.3.1, C99 and C11
-6.4.4.2).}
+6.4.4.2, C23 6.4.5.3).}
 
 C99 Annex F is followed.
 
 @item
 @cite{Whether and how floating expressions are contracted when not
-disallowed by the @code{FP_CONTRACT} pragma (C99 and C11 6.5).}
+disallowed by the @code{FP_CONTRACT} pragma (C99 and C11 6.5, C23
+6.5.1).}
 
 Expressions are currently only contracted if @option{-ffp-contract=fast},
 @option{-funsafe-math-optimizations} or @option{-ffast-math} are used.
@@ -336,7 +369,7 @@ This is subject to change.
 
 @item
 @cite{The default state for the @code{FENV_ACCESS} pragma (C99 and C11
-7.6.1).}
+7.6.1, C23 7.6.2).}
 
 This pragma is not implemented, but the default is to ``off'' unless
 @option{-frounding-math} is used and @option{-fno-trapping-math} is not
@@ -344,15 +377,15 @@ in which case it is ``on''.
 
 @item
 @cite{Additional floating-point exceptions, rounding modes, environments,
-and classifications, and their macro names (C99 and C11 7.6, C99 and
-C11 7.12).}
+and classifications, and their macro names (C99, C11 and C23 7.6, C99,
+C11 and C23 7.12).}
 
 This is dependent on the implementation of the C library, and is not
 defined by GCC itself.
 
 @item
 @cite{The default state for the @code{FP_CONTRACT} pragma (C99 and C11
-7.12.2).}
+7.12.2, C23 7.12.3).}
 
 This pragma is not implemented.  Expressions are currently only
 contracted if @option{-ffp-contract=fast},
@@ -377,13 +410,32 @@ defined by GCC itself.
 
 @end itemize
 
+@node Constant expressions implementation
+@section Constant expressions
+
+@itemize @bullet
+@item
+@cite{Whether or not an expression not explicitly sanctioned by this
+document is an extended constant expression, whether or not such
+extended constant expressions can be used in the same contexts as this
+document, and whether or not such extended constant expressions can
+affect potentially detectable semantic changes in the program (C23
+6.6).}
+
+The only extended constant expressions are those using other GNU
+extensions to the C language.  Such extended constant expressions
+include integer constant expressions and arithmetic constant
+expressions.
+
+@end itemize
+
 @node Arrays and pointers implementation
 @section Arrays and Pointers
 
 @itemize @bullet
 @item
 @cite{The result of converting a pointer to an integer or
-vice versa (C90 6.3.4, C99 and C11 6.3.2.3).}
+vice versa (C90 6.3.4, C99 and C11 6.3.2.3, C23 6.3.3.3).}
 
 A cast from pointer to integer discards most-significant bits if the
 pointer representation is larger than the integer type,
@@ -410,7 +462,7 @@ C99 and C11 6.5.6/8.
 
 @item
 @cite{The size of the result of subtracting two pointers to elements
-of the same array (C90 6.3.6, C99 and C11 6.5.6).}
+of the same array (C90 6.3.6, C99 and C11 6.5.6, C23 6.5.7).}
 
 The value is as specified in the standard and the type is determined
 by the ABI@.
@@ -423,7 +475,8 @@ by the ABI@.
 @itemize @bullet
 @item
 @cite{The extent to which suggestions made by using the @code{register}
-storage-class specifier are effective (C90 6.5.1, C99 and C11 6.7.1).}
+storage-class specifier are effective (C90 6.5.1, C99 and C11 6.7.1,
+C23 6.7.2).}
 
 The @code{register} specifier affects code generation only in these ways:
 
@@ -448,7 +501,7 @@ in registers unless they are marked @code{register}.
 
 @item
 @cite{The extent to which suggestions made by using the inline function
-specifier are effective (C99 and C11 6.7.4).}
+specifier are effective (C99 and C11 6.7.4, C23 6.7.5).}
 
 GCC will not inline any functions if the @option{-fno-inline} option is
 used or if @option{-O0} is used.  Otherwise, GCC may still be unable to
@@ -472,7 +525,8 @@ may be a trap representation.
 @item
 @cite{Whether a ``plain'' @code{int} bit-field is treated as a
 @code{signed int} bit-field or as an @code{unsigned int} bit-field
-(C90 6.5.2, C90 6.5.2.1, C99 and C11 6.7.2, C99 and C11 6.7.2.1).}
+(C90 6.5.2, C90 6.5.2.1, C99 and C11 6.7.2, C23 6.7.3, C99 and C11
+6.7.2.1, C23 6.7.3.2).}
 
 @opindex funsigned-bitfields
 By default it is treated as @code{signed int} but this may be changed
@@ -480,37 +534,38 @@ by the @option{-funsigned-bitfields} option.
 
 @item
 @cite{Allowable bit-field types other than @code{_Bool}, @code{signed int},
-and @code{unsigned int} (C99 and C11 6.7.2.1).}
+and @code{unsigned int} (C99 and C11 6.7.2.1, C23 6.7.3.2).}
 
 Other integer types, such as @code{long int}, and enumerated types are
 permitted even in strictly conforming mode.
 
 @item
-@cite{Whether atomic types are permitted for bit-fields (C11 6.7.2.1).}
+@cite{Whether atomic types are permitted for bit-fields (C11 6.7.2.1,
+C23 6.7.3.2).}
 
 Atomic types are not permitted for bit-fields.
 
 @item
 @cite{Whether a bit-field can straddle a storage-unit boundary (C90
-6.5.2.1, C99 and C11 6.7.2.1).}
+6.5.2.1, C99 and C11 6.7.2.1, C23 6.7.3.2).}
 
 Determined by ABI@.
 
 @item
 @cite{The order of allocation of bit-fields within a unit (C90
-6.5.2.1, C99 and C11 6.7.2.1).}
+6.5.2.1, C99 and C11 6.7.2.1, C23 6.7.3.2).}
 
 Determined by ABI@.
 
 @item
 @cite{The alignment of non-bit-field members of structures (C90
-6.5.2.1, C99 and C11 6.7.2.1).}
+6.5.2.1, C99 and C11 6.7.2.1, C23 6.7.3.2).}
 
 Determined by ABI@.
 
 @item
 @cite{The integer type compatible with each enumerated type (C90
-6.5.2.2, C99 and C11 6.7.2.2).}
+6.5.2.2, C99 and C11 6.7.2.2, C23 6.7.3.3).}
 
 @opindex fshort-enums
 Normally, the type is @code{unsigned int} if there are no negative
@@ -538,7 +593,7 @@ determined by the ABI@.
 @itemize @bullet
 @item
 @cite{What constitutes an access to an object that has volatile-qualified
-type (C90 6.5.3, C99 and C11 6.7.3).}
+type (C90 6.5.3, C99 and C11 6.7.3, C23 6.7.4).}
 
 Such an object is normally accessed by pointers and used for accessing
 hardware.  In most expressions, it is intuitively obvious what is a read
@@ -584,6 +639,32 @@ object's declared type were @code{volatile S}.
 
 @end itemize
 
+@node Types implementation
+@section Types
+
+@itemize @bullet
+@item
+@cite{A program forms the composite type of an enumerated type and a
+non-enumeration integer type (C23 6.2.7).}
+
+The composite type is the enumerated type.
+
+@item
+@cite{Whether or not it is supported for a declaration for which a
+type is inferred to contain a pointer, array, or function declarator
+(C23 6.7.10).}
+
+This is not supported.
+
+@item
+@cite{Whether or not it is supported for a declaration for which a
+type is inferred to contain no or more than one declarators (C23
+6.7.10).}
+
+This is not supported.
+
+@end itemize
+
 @node Declarators implementation
 @section Declarators
 
@@ -618,48 +699,70 @@ implementation-defined behavior.
 @itemize @bullet
 @item
 @cite{The locations within @code{#pragma} directives where header name
-preprocessing tokens are recognized (C11 6.4, C11 6.4.7).}
+preprocessing tokens are recognized (C11 and C23 6.4, C11 6.4.7, C23
+6.4.8).}
 
 @item
 @cite{How sequences in both forms of header names are mapped to headers
-or external source file names (C90 6.1.7, C99 and C11 6.4.7).}
+or external source file names (C90 6.1.7, C99 and C11 6.4.7, C23
+6.4.8).}
 
 @item
 @cite{Whether the value of a character constant in a constant expression
 that controls conditional inclusion matches the value of the same character
-constant in the execution character set (C90 6.8.1, C99 and C11 6.10.1).}
+constant in the execution character set (C90 6.8.1, C99 and C11
+6.10.1, C23 6.10.2).}
 
 @item
 @cite{Whether the value of a single-character character constant in a
 constant expression that controls conditional inclusion may have a
-negative value (C90 6.8.1, C99 and C11 6.10.1).}
+negative value (C90 6.8.1, C99 and C11 6.10.1, C23 6.10.2).}
 
 @item
 @cite{The places that are searched for an included @samp{<>} delimited
 header, and how the places are specified or the header is
-identified (C90 6.8.2, C99 and C11 6.10.2).}
+identified (C90 6.8.2, C99 and C11 6.10.2, C23 6.10.3).}
 
 @item
 @cite{How the named source file is searched for in an included @samp{""}
-delimited header (C90 6.8.2, C99 and C11 6.10.2).}
+delimited header (C90 6.8.2, C99 and C11 6.10.2, C23 6.10.3).}
+
+@item
+@cite{How the named resource file is searched for in an embedded @samp{""}
+delimited resource name (C23 6.10.4).}
 
 @item
 @cite{The method by which preprocessing tokens (possibly resulting from
 macro expansion) in a @code{#include} directive are combined into a header
-name (C90 6.8.2, C99 and C11 6.10.2).}
+name (C90 6.8.2, C99 and C11 6.10.2, C23 6.10.3).}
 
 @item
 @cite{The nesting limit for @code{#include} processing (C90 6.8.2, C99
-and C11 6.10.2).}
+and C11 6.10.2, C23 6.10.3).}
+
+@item
+@cite{The method by which preprocessing tokens (possibly resulting
+from macro expansion) in a @code{#embed} directive are combined into a
+resource name (C23 6.10.4).}
+
+@item
+@cite{The mapping between a resource's data and the values of the
+integer constant expressions, if any, in the replacement of a
+@code{#embed} directive (C23 6.10.4).}
+
+@item
+@cite{The width of a resource located by the @code{#embed} directive
+(C23 6.10.4).}
 
 @item
 @cite{Whether the @samp{#} operator inserts a @samp{\} character before
 the @samp{\} character that begins a universal character name in a
-character constant or string literal (C99 and C11 6.10.3.2).}
+character constant or string literal (C99 and C11 6.10.3.2, C23
+6.10.5.3).}
 
 @item
 @cite{The behavior on each recognized non-@code{STDC #pragma}
-directive (C90 6.8.6, C99 and C11 6.10.6).}
+directive (C90 6.8.6, C99 and C11 6.10.6, C23 6.10.8).}
 
 @xref{Pragmas, , Pragmas, cpp, The C Preprocessor}, for details of
 pragmas accepted by GCC on all targets.  @xref{Pragmas, , Pragmas
@@ -668,7 +771,7 @@ Accepted by GCC}, for details of target-specific pragmas.
 @item
 @cite{The definitions for @code{__DATE__} and @code{__TIME__} when
 respectively, the date and time of translation are not available (C90
-6.8.8, C99 6.10.8, C11 6.10.8.1).}
+6.8.8, C99 6.10.8, C11 6.10.8.1, C23 6.10.10.2).}
 
 @end itemize
 
@@ -681,7 +784,7 @@ of the C library, and are not defined by GCC itself.
 @itemize @bullet
 @item
 @cite{The null pointer constant to which the macro @code{NULL} expands
-(C90 7.1.6, C99 7.17, C11 7.19).}
+(C90 7.1.6, C99 7.17, C11 7.19, C23 7.21).}
 
 In @code{<stddef.h>}, @code{NULL} expands to @code{((void *)0)}.  GCC
 does not provide the other headers which define @code{NULL} and some
@@ -696,14 +799,15 @@ library implementations may use other definitions in 
those headers.
 @item
 @cite{The values or expressions assigned to the macros specified in the
 headers @code{<float.h>}, @code{<limits.h>}, and @code{<stdint.h>}
-(C90, C99 and C11 5.2.4.2, C99 7.18.2, C99 7.18.3, C11 7.20.2, C11 7.20.3).}
+(C90, C99 and C11 5.2.4.2, C23 5.3.5.3, C99 7.18.2, C99 7.18.3, C11
+7.20.2, C11 7.20.3, C23 7.22).}
 
 Determined by ABI@.
 
 @item
 @cite{The result of attempting to indirectly access an object with
 automatic or thread storage duration from a thread other than the one
-with which it is associated (C11 6.2.4).}
+with which it is associated (C11 and C23 6.2.4).}
 
 Such accesses are supported, subject to the same requirements for
 synchronization for concurrent accesses as for concurrent accesses to
@@ -711,14 +815,14 @@ any object.
 
 @item
 @cite{The number, order, and encoding of bytes in any object
-(when not explicitly specified in this International Standard) (C99
-and C11 6.2.6.1).}
+(when not explicitly specified in this International Standard) (C99,
+C11 and C23 6.2.6.1).}
 
 Determined by ABI@.
 
 @item
 @cite{Whether any extended alignments are supported and the contexts
-in which they are supported (C11 6.2.8).}
+in which they are supported (C11 and C23 6.2.8).}
 
 Extended alignments up to @math{2^{28}} (bytes) are supported for
 objects of automatic storage duration.  Alignments supported for
@@ -727,13 +831,13 @@ ABI.
 
 @item
 @cite{Valid alignment values other than those returned by an _Alignof
-expression for fundamental types, if any (C11 6.2.8).}
+expression for fundamental types, if any (C11 and C23 6.2.8).}
 
 Valid alignments are powers of 2 up to and including @math{2^{28}}.
 
 @item
 @cite{The value of the result of the @code{sizeof} and @code{_Alignof}
-operators (C90 6.3.3.4, C99 and C11 6.5.3.4).}
+operators (C90 6.3.3.4, C99 and C11 6.5.3.4, C23 6.5.4.5).}
 
 Determined by ABI@.
 

-- 
Joseph S. Myers
josmy...@redhat.com

Reply via email to