Path: csiph.com!eternal-september.org!feeder.eternal-september.org!nntp.eternal-september.org!.POSTED!not-for-mail
From: Tim Rentsch
Newsgroups: comp.lang.c
Subject: Re: function declaration without args no longer works
Date: Thu, 30 Apr 2026 01:22:25 -0700
Organization: A noiseless patient Spider
Lines: 30
Message-ID: <86ik98zwla.fsf@linuxsc.com>
References: <10sl5na$5ov$1@reader1.panix.com> <20260426175044.000062ff@yahoo.com> <10slf3h$mho$3@reader1.panix.com> <10smamp$1vlj2$2@dont-email.me> <10smvq5$25a7q$2@dont-email.me> <10spm2q$5fq$1@reader1.panix.com> <10spqdr$2vs2g$1@dont-email.me> <10ss83f$c4t$1@reader1.panix.com> <10ssb73$3mum2$1@dont-email.me> <20260429112553.00006835@yahoo.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Date: Thu, 30 Apr 2026 08:22:26 +0000 (UTC)
Injection-Info: dont-email.me; posting-host="7ff432f926fb921b7df3a70694682c9f"; logging-data="540096"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Uh/RkWNXhiJEECEA/2H3KPoXDicq9XNM="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:EgdmLnsruEfP0sPlg0AoyPTVKwA= sha1:SjMmteIV7JaCNOx7AiWsOlSfxYk=
Xref: csiph.com comp.lang.c:398125
Michael S writes:
> In practice there are only 3 features that make difference between
> C90 and C99 for majority of coders and all three are "nice to have"
> rather than make a major difference.
> 1. // comments
> 2. declaration does not have to be at the beginning of {} block
> 3. 'long long' integer types and
In my view several items should be added to the list of essential
C99 features. Some of these items are changes programmers may
not even realize they are benefiting from.
Some C90 behaviors no longer allowed:
REMOVED: implicit int
REMOVED: implicit function declaration
return with expression now disallowed in void function,
and vice versa
Some C90 behaviors expanded or improved:
guaranteed length of global identifiers - went from 6 to 31
(and length of local identifiers went from 31 to 63)
initializers for elements of automatic aggregates and unions
no longer required to be constant expressions
Some added language constructs:
boolean type _Bool
for() statement allows the first clause to be a declaration
compound literals
designated initializers