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