Subject: Re: [boost] Showstopper for Boost 1.56?
From: Edward Diener (eldiener_at_[hidden])
Date: 2014-07-30 21:10:09


On 7/30/2014 2:58 PM, Eric Niebler wrote:
> On 7/29/2014 6:45 AM, Peter Dimov wrote:
>> Niall Douglas wrote:
>>
>>> On 29 Jul 2014 at 16:27, Peter Dimov wrote:
>>>
>>>>> Unless I'm missing something, C++11 includes C99 preprocessor > >
>>> (variadic macros, at least). So I don't see why these warnings should
>>>>> be emitted. A compiler bug perhaps?
>>>>
>>>> C++11 (-std=c++11) does, but -std=c++0x probably doesn't.
>>>
>>> That occurred to me too, so I tried -std=c++11 and got the same
>>> warnings spew.
>>
>> Definitely a clang bug then. It should not enable C99 warnings by
>> default in C++11 mode. The fix is to disable the warning in the Jamfile.
>> I thought that the clang toolset already did that as we've discussed
>> this issue with Edward Diener in the past, but I can't find
>> -Wno-c99-extensions anywhere.
>
> Is someone working on a fix? I'd be willing to take a patch that
> suppresses the warning from the Jamfile(s). That's obviously
> unsatisfactory since it doesn't help people who build in other ways.

The warnings mentioned in the OP are emitted when the '-pedantic'
compiler option is used but do not appear otherwise. To get rid of the
warnings when '-pedantic' is used you need to add '-Wno-c99-extensions'
and '-Wno-variadic-macros' compiler options.

It is up to Boost whether they want to add '-Wno-c99-extensions' and
'-Wno-variadic-macros' when compiling with clang. I do not know how this
is done in the clang jam files but I suspect Vladimir Prus does know and
could implement this change in Boost Build if it is deemed necessary.