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.