You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use C++ fixed-type enumeration syntax under C23 (or higher) as well
C23 [has introduced support for enumerations with fixed underlying
type](https://open-std.org/JTC1/SC22/WG14/www/docs/n3030.htm),
matching the existing C++ syntax for this functionality.
This PR modifies cbindgen to output a header that enables this syntax if
either `__cplusplus` is defined (as before) or if the compilation is
according to C23 or later (added in this PR).
My motivation for this change is that my toolchain complained that some
names were defined twice, both as an enum and a typedef. I [fixed the
error](https://github.com/Qiskit/Qiskit.jl/blob/73bfbb9440168dc76685632f9fb3d00d3a17bd79/gen/generator.jl#L16-L18)
by defining `__cplusplus` even thought the compiler is compiling in C
mode. This change will allow me to remove that workaround, as long as
C23 or later is set as the C standard.
Closes#1156
0 commit comments