[Bug go/114875] runtime/runtime.h should be updated to compile under C23

2024-04-29 Thread ian at airs dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114875

Ian Lance Taylor  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Ian Lance Taylor  ---
Should be fixed on tip by 678dc5e85053f1a1ca76997eec95ba8823bb6830.  Thanks.

[Bug go/114875] runtime/runtime.h should be updated to compile under C23

2024-04-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114875

--- Comment #5 from Andrew Pinski  ---
Also it is not just true/false.
It is:
typedef _Bool   bool;

The rest looks ok too.

[Bug go/114875] runtime/runtime.h should be updated to compile under C23

2024-04-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114875

--- Comment #4 from Andrew Pinski  ---
(In reply to jeffrey.cliff from comment #2)
> and more importantly - it's a header, which means *any code that uses it*
> also won't build.

Considering it is an internal header to libgo and not installed, it just means
any code that uses it must be written in C11/C17 rather than C23.

[Bug go/114875] runtime/runtime.h should be updated to compile under C23

2024-04-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114875

Andrew Pinski  changed:

   What|Removed |Added

   Severity|normal  |enhancement
 Status|WAITING |NEW
Summary|runtime/runtime.h   |runtime/runtime.h should be
   ||updated to compile under
   ||C23

--- Comment #3 from Andrew Pinski  ---
Considering this file is written in C11 (or C17), the changes does not need to
happen right away.

[Bug go/114875] runtime/runtime.h

2024-04-27 Thread jeffrey.cliff at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114875

--- Comment #2 from jeffrey.cliff at gmail dot com ---
whoops, accidentally hit submit before I had all the details

tl;dr at least in gcc 14.1 [but probably elsewhere]

in
libgo/runtime/runtime.h

defines an enum of 

enum
{
true= 1,
false   = 0,
};

which means that it doesn't compile under -std=gnu2x similar to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114216 

and more importantly - it's a header, which means *any code that uses it* also
won't build.

it's an easy enough fix
add an if guard

#if __STDC_VERSION__ <= 201710L 
enum
{
true= 1,
false   = 0,
};
#endif

this allows for runtime/runtime.h to be compliant with c23 and previous
versions.

testing the fix now

[Bug go/114875] runtime/runtime.h

2024-04-27 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114875

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
 Ever confirmed|0   |1
   Last reconfirmed||2024-04-28

--- Comment #1 from Andrew Pinski  ---
There is no comment on what is the issue here ...