Hi! The following patch attempts to document the PR36113 changes to the GNU C extension support of enumerators which don't fit into int.
Ok for wwwdocs? Shall we mention it in porting_to.html as well? The only known affected package is (was?) the Linux kernel. diff --git a/htdocs/gcc-13/changes.html b/htdocs/gcc-13/changes.html index f8e9560c..d2035435 100644 --- a/htdocs/gcc-13/changes.html +++ b/htdocs/gcc-13/changes.html @@ -59,6 +59,22 @@ a work-in-progress.</p> <a href="https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/ARM-iWMMXt-Built-in-Functions.html"> iWMMXt built-in functions</a>. </li> + <li>The behavior of the GNU C extension support of enumerators which + don't fit into <code>int</code> has been changed to match the C2X + behavior. Previously, in enumerations where at least one enumerator + didn't fit into <code>int</code>, only those enumerators that didn't + fit into <code>int</code> had the <code>enum</code> type and others + had <code>int</code> type and while the <code>enum</code> is being + defined enumerators that didn't fit into <code>int</code> had some + unspecified type with the sign and precision of its value. + In GCC13, in such enumerations all enumerators have the + <code>enum</code> type and while the <code>enum</code> is being + defined enumerators that didn't fit into <code>int</code> have + type of their value. If all enumerators fit into <code>int</code> + type, as before all enumerators have <code>int</code> type, both + while the <code>enum</code> is being defined and after it is defined. + See <a href="https://gcc.gnu.org/PR36113">PR36113</a> for details. + </li> </ul> Jakub