From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.7 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_LOW,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 8459 invoked from network); 31 May 2023 14:19:15 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 31 May 2023 14:19:15 -0000 Received: (qmail 27828 invoked by uid 550); 31 May 2023 14:19:12 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 27768 invoked from network); 31 May 2023 14:19:11 -0000 Date: Wed, 31 May 2023 10:18:59 -0400 From: Rich Felker To: Joakim Sindholt Cc: musl@lists.openwall.com Message-ID: <20230531141858.GA4163@brightrain.aerifal.cx> References: <20230531145852.d6859c99a2ce15774ec657ad@zhasha.com> <20230531155337.18812af9@inria.fr> <20230531161338.f2de8144b3211cadd6afa283@zhasha.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230531161338.f2de8144b3211cadd6afa283@zhasha.com> User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [musl] [C23 divers headers 09/17] C23: update stdbool.h On Wed, May 31, 2023 at 04:13:38PM +0200, Joakim Sindholt wrote: > On Wed, 31 May 2023 15:53:37 +0200, Jā‚‘ā‚™ā‚› Gustedt wrote: > > Joakim, > > > > on Wed, 31 May 2023 14:58:52 +0200 you (Joakim Sindholt > > ) wrote: > > > > > Implementations may also provide macros in addition to > > > > the keywords, so we do that because some user code may rely on > > > > these. > > > > Is this not explanation enough? > > > > Implementations may also provide macros in addition to the keywords, > > so we do that because some user code may rely on these. > > I guess I just don't see the point. This is allowed for literally every > symbol in libc. I think the point is avoiding stupid things happening when programs (or cursed library headers they're using, iirc including nncurses) do things like: #ifndef bool #define bool int #endif If the application itself is including stdbool.h explicitly, I would not expect it to do such a thing. But it might only be including stdbool.h indirectly via the headers for a third party library it's using. C11 introduced the notion that you can test for the presence of bool with #ifdef, and it seems unfortunate to turn around and break that. Rich