Ellipsis in varadic macro definitions

Richard Sandiford richard.sandiford@arm.com
Mon Aug 3 13:53:36 GMT 2020


Jonathan Wakely via Gcc <gcc@gcc.gnu.org> writes:
> On Mon, 3 Aug 2020 at 11:28, Florian Weimer wrote:
>>
>> * Jonathan Wakely via Gcc:
>>
>> > On Sun, 2 Aug 2020 at 15:49, Philip R Brenan via Gcc <gcc@gcc.gnu.org> wrote:
>> >>
>> >> Hi *GCC*:
>> >>
>> >> On page:
>> >>
>> >> https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html#Variadic-Macros
>> >>
>> >> you say:
>> >>
>> >> #define eprintf(args…) fprintf (stderr, args)
>> >>
>> >> but do you in fact mean:
>> >>
>> >> #define eprintf(args...) fprintf (stderr, args)
>> >>
>> >> The first variant produces:
>> >>
>> >> error: expected ',' or ')', found "…"
>> >>
>> >>  the second variant works well using GCC10.2 on Kubuntu 18.04.
>> >
>> > Yes, the texinfo source uses @dots which gets turned into … in
>> > the HTML, which isn't necessarily displayed as three separate dots in
>> > the browser. I don't know why @dots is used rather than ...
>>
>> It was introduced with:
>>
>> commit 1c5dd43ff7c78bbdba5e89a6cb16a3e50e1abff9
>> Author: Zack Weinberg <zackw@stanford.edu>
>> Date:   Fri Jun 15 17:57:48 2001 +0000
>>
>>     cpp.texi: Formatting corrections.
>>
>>     * doc/cpp.texi: Formatting corrections.
>>     Correct buggy example of use of __GNUC__ etc.
>>     Clarify $ in identifiers.
>>     * doc/cpp.1: Regenerate.
>>
>>     From-SVN: r43404
>>
>> Some of these changes were clearly correct, but the ... C token should
>> have not been changed.  Looks like a simple oversight to me.
>
> Thanks for the archaeology, Florian.
>
> Here's a patch to replace those inappropriate @dots macros with the
> literal ... token.
>
> Tested by building the docs and inspecting the .info and .html output.
>
> OK for trunk?

OK, thanks.  (And for branches too.)

Richard


More information about the Gcc-patches mailing list