C89isms in the test suite
Florian Weimer
fweimer@redhat.com
Fri Oct 21 21:46:22 GMT 2022
* Joseph Myers:
>> Other tests look like they might be intended to be built in C89 mode,
>> e.g. gcc/testsuite/gcc.c-torture/compile/386.c, although it's not
>> immediately obvious to me what they test.
>
> For tests that might be deliberately testing implicit function
> declarations or unprototyped functions, it's probably better to use
> explicit options that avoid errors (note that the c-torture tests already
> use -w to disable all warnings).
That may incur future maintenance overhead because if it's possible to
re-enable implicit declarations in later language modes, we might run
into conflicts with future standardization.
>> What's the expected default behavior for GCC 14 regarding old-style
>> function definitions (function definitions which do not have a
>> prototype)? I assume if GCC 14 defaults to C2x mode, these no longer
>> valid constructs would be rejected by default? Based on some earlier
>
> The existing situation is that it's a warning enabled by default in C2x
> mode. You could of course argue for an error instead.
I plan to make the case for a change to an error in GCC 14, but would
argue against doing this in GCC 13 already. I just got my tester going
today (I think) and found non-trivial problem in a generic Python
distutils check, and what appears to be a systemic issue in the SWIG
binding generator. We may have to iterate through one or more (non-GCC)
upstream releases to roll out fixes.
Thanks,
Florian
More information about the Gcc
mailing list