More C type errors by default for GCC 14
Thomas Koenig
tkoenig@netcologne.de
Sat May 13 05:30:05 GMT 2023
On 13.05.23 02:45, Po Lu via Gcc wrote:
> Gabriel Ravier <gabravier@gmail.com> writes:
>
>> ...You're joking, right ? You can't possibly be seriously arguing
>> this, you have to be kidding... right ?
>
> No, I'm not. The meaning of a variable declaration with only a storage
> class specifier is extremely clear: the type of the variable is `int'.
C99, 6.7.2, "Type specifiers"
# Constraints
# At least one type specifier shall be given in the declaration
# specifiers in each declaration, and in the specifier-qualifier
# list in each struct declaration and type name.
> There's absolutely nothing ambiguous about it whatsoever:
In C99 and onwards, this is an error (a violation of a "shall"
directive).
> register i;
> extern limit, *k, do_some_computation ();
>
> for (i = 0; i < limit; ++i)
> k[i] = do_some_computation (i);
>
> Please try to prove me wrong.
Happy to oblige.
More information about the Gcc
mailing list