Deutsch English Français Italiano |
<v33tob$fsul$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: BGB <cr88192@gmail.com> Newsgroups: comp.lang.c Subject: Re: errno (was Re: C23 thoughts and opinions - why so conservative?) Date: Tue, 28 May 2024 01:31:35 -0500 Organization: A noiseless patient Spider Lines: 19 Message-ID: <v33tob$fsul$1@dont-email.me> References: <v2l828$18v7f$1@dont-email.me> <20240523171911.00002f5a@yahoo.com> <v2o7re$1tlge$1@dont-email.me> <20240524003424.0000590a@yahoo.com> <v2qddg$2d33b$1@dont-email.me> <v2rc19$2i5ih$5@dont-email.me> <v2t174$2ue9j$1@dont-email.me> <875xv11mnb.fsf@nosuchdomain.example.com> <v2vgb9$3eaba$2@dont-email.me> <v2vi4t$3en8h$1@dont-email.me> <v2vn11$3ffl2$2@dont-email.me> <v33gls$e0ph$2@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 28 May 2024 08:31:39 +0200 (CEST) Injection-Info: dont-email.me; posting-host="b810f16882e19eed162c23e2cb8c9d10"; logging-data="521173"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19ottyxxjtYDXWzooUo+qCTeOFfxWTdlN8=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:naNmF/jMUGges/CwKJBSKziIx5g= In-Reply-To: <v33gls$e0ph$2@dont-email.me> Content-Language: en-US Bytes: 2113 On 5/27/2024 9:48 PM, Lawrence D'Oliveiro wrote: > On Sun, 26 May 2024 18:12:17 +0200, David Brown wrote: > >> Macros in C are not recursive. That stops them exploding, but also means >> there's a lot you can't do with the preprocessor. > > String-based macros + recursive substitution = recipe for trouble. It seems the preprocessor in BGBCC is likely not entirely conformant in this case... If given a recursive macro, it will most likely just explode and probably crash the compiler... Mostly as it handles macro-expansion by looping over the line and performing macro-substitutions until no more substitutions are seen, at which point it emits the line to the output buffer and moves on to the next line.