https://gcc.gnu.org/bugzilla/show_bug.cgi?id=33877

--- Comment #12 from Harald van Dijk <harald at gigawatt dot nl> ---
(In reply to Alejandro Colomar from comment #8)
> (In reply to Harald van Dijk from comment #7)
> > If __VA_ARGC__ should return 0 here, then the behaviour of __VA_ARGC__ needs
> > to be documented very carefully to be different from the number of variable
> > arguments supplied.
> 
> Where is the specification of "the number of variable arguments supplied" so
> that we can differ from it?

It's never explicitly specified, in general foo() can be either 0 arguments or
1 empty argument, but prior to C23, the requirement that "there shall be more
arguments in the invocation than there are parameters in the macro definition
(excluding the ...)" (6.10.3) made it necessary to interpret it as 1 empty
argument in your example.

Reply via email to