public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [wwwdocs] Mention the GNU C enum changes in gcc-13/changes.html
@ 2023-03-24 11:37 Jakub Jelinek
  2023-03-30 23:07 ` Gerald Pfeifer
  0 siblings, 1 reply; 2+ messages in thread
From: Jakub Jelinek @ 2023-03-24 11:37 UTC (permalink / raw)
  To: Gerald Pfeifer, Joseph S. Myers; +Cc: gcc-patches

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [wwwdocs] Mention the GNU C enum changes in gcc-13/changes.html
  2023-03-24 11:37 [wwwdocs] Mention the GNU C enum changes in gcc-13/changes.html Jakub Jelinek
@ 2023-03-30 23:07 ` Gerald Pfeifer
  0 siblings, 0 replies; 2+ messages in thread
From: Gerald Pfeifer @ 2023-03-30 23:07 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Joseph S. Myers, gcc-patches

On Fri, 24 Mar 2023, Jakub Jelinek wrote:
> Shall we mention it in porting_to.html as well?
> The only known affected package is (was?) the Linux kernel.

If in a rebuild of Fedora (or openSUSE) the only affected package is the 
kernel, we probably don't need to go for porting_to.html?

> --- a/htdocs/gcc-13/changes.html
> +++ b/htdocs/gcc-13/changes.html
> +    <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 

So far I understand, and it feels intuitive.

>        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.

This, however, really confuses me.

Should this be "while" (without "and")?

And what are we trying to say here? Can we essentially omit this since
it is a bit more specific, but mostly redundant with the earlier 
statement?

Otherwise, maybe first talk about the elements that fit type int and
then merge the two statements about those that don't?


> +      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.

"don't" 

"the 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>

Can we skip this? "In such enumerations" above refers to the special case,
and the simple case (where everything fits into int) has not changed, has 
it?

Gerald

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-03-30 23:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-24 11:37 [wwwdocs] Mention the GNU C enum changes in gcc-13/changes.html Jakub Jelinek
2023-03-30 23:07 ` Gerald Pfeifer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).