Skip site navigation (1)Skip section navigation (2)
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>