Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: Regarding assignment to struct Date: Thu, 29 May 2025 14:54:53 -0700 Organization: None to speak of Lines: 30 Message-ID: <87jz5zdqvm.fsf@nosuchdomain.example.com> References: <86plgo7ahu.fsf@linuxsc.com> <20250505111213.00004b55@yahoo.com> <20250505120145.000014f8@yahoo.com> <87jz6uhkgo.fsf@nosuchdomain.example.com> <_jtSP.16069$v2h6.13921@fx14.iad> <1019l3t$3rqk1$6@dont-email.me> <101ac2r$me2$2@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Thu, 29 May 2025 23:54:53 +0200 (CEST) Injection-Info: dont-email.me; posting-host="35ee183a1de7bb444a1794cff417189d"; logging-data="88190"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+Ek42tKvyiaBddmEo0RRsT" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:F+4vvX+5IyRDXQaAa8w+ezsNIJ8= sha1:BYaXyb9JaV7WYpvOzKoZS2zz/hs= scott@slp53.sl.home (Scott Lurndal) writes: [...] > And sometimes, excessive use of the comma operator causes > compiler failures. > > cfront generated the comma operator extensively, and expression trees > would grow to very large sizes. There was a bug in PCC (for the > 88100) where it would run out of temporary registers while generating > code for some cfront generated comma expressions (which were -far- from > human readable). I had to fix the temporary register allocation > code in PCC to spill registers when the sethi-ullman number for an > expression exceeded the number of registers. > > That was circa 1990, and I've generally not found any arguments > favoring their general use persuasive in the years since, including > Andrey's and Kaz's responses recently posted here. So a compiler you used circa 1990 had problems with comma expressions. That's hardly an argument against using comma operators today. > The simple fact that experienced programmers that read this usenet > newsgroup missed the comma operators in the original example speaks > volumes. *That's* a valid argument. -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com void Void(void) { Void(); } /* The recursive call of the void */