Date: Mon, 20 Nov 2023 05:24:15 +0100 From: Robert Clausecker <fuz@freebsd.org> To: Jessica Clarke <jrtc27@freebsd.org> Cc: Robert Clausecker <fuz@freebsd.org>, Warner Losh <imp@bsdimp.com>, freebsd-arch@freebsd.org Subject: Re: Some K&R support to be removed from sys/cdefs.h Message-ID: <ZVrfb856IA6nH0T1@fuz.su> In-Reply-To: <50B3506F-B0BF-4695-A0B5-CFDB918D6DAB@freebsd.org> References: <CANCZdfpZNaC6vqaLkOk2hbtFpmi6oLEVWNQgK2RTVofsJr%2Be9A@mail.gmail.com> <ZVrdSxgDZdepRZeL@fuz.su> <50B3506F-B0BF-4695-A0B5-CFDB918D6DAB@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Jessica, Am Mon, Nov 20, 2023 at 04:19:11AM +0000 schrieb Jessica Clarke: > On 20 Nov 2023, at 04:15, Robert Clausecker <fuz@freebsd.org> wrote: > > > > Hi Warner, > > > > __STRING and __CONCAT are still needed with ANSI C to change evaluation order. > > For example, I recently used __CONCAT in lib/libc/amd64/amd64_archlevel.h to > > build function names from pieces. ## cannot be used as that doesn't work if > > the argument passed to the macro is in turn a macro. Similar things apply to > > __STRING. > > You mean __XSTRING; __CONCAT is to __XSTRING what __CONCAT1 is to __STRING, > confusingly (though __CONCAT1 is unused except for implementing __CONCAT). It could be that __XSTRING is the one for stringification. I didn't have a need for it so far if I remember correctly. Yours, Robert Clausecker -- () ascii ribbon campaign - for an 8-bit clean world /\ - against html email - against proprietary attachments
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ZVrfb856IA6nH0T1>