On 06/02/2014 12:53 AM, Paul Eggert wrote:
> Paul Eggert wrote:
>> Pádraig Brady wrote:
>>
>>> +# define _GL_UNUSED_LABEL _GL_UNUSED;
>>
>> Why is there a semicolon at the end of that macro definition?
>
> I removed it just now (since I was syncing to Emacs and I couldn't stand
> seeing the typo there...).
Well the ; is needed in C++ but optional in C.
I was worried about users leaving out the ; by mistake
and not noticing in the normal case of compiling in C.
I suppose one could contrive a change in behavior using something like
if (false)
label: _GL_UNUSED_LABEL puts("true");
That would output "true" always.
Better to give the compile error on C++ rather than that silent gotcha.
thanks,
Pádraig.