On 7/31/2014 7:17 PM, Gavin Lambert wrote:
On 1/08/2014 10:08, Niall Douglas wrote:
Ok, so solutions to stopping tens of megabytes of compiler warnings spew for a build of Boost 1.56 on clang are as follows:
1. Boost Build adds -Wno-c99-extensions and -Wno-variadic-macros to all clang builds.
2. All those libraries using -pedantic with Preprocessor (at least Chrono, Thread and Test) wrap their use of Preprocessor with #pragmas disabling the warnings.
3. All those libraries using -pedantic with Preprocessor (at least Chrono, Thread and Test) add -Wno-c99-extensions and -Wno-variadic-macros to all clang builds.
4. Those libraries currently using -pedantic stop doing so, at least for clang builds.
In clang-linux.jam and clang-darwin.jam, the '-pedantic' option is passed when <warnings>all is specified and not passed when <warnings>on is specified. So what appears to be needed is either just changing the line which specifies <warnings>all to be the same as <warnings>on in the clang jam files, or keeping the clang jam file as is and changing the particular libraries putting out the excessive messages to either specify <warnings>on rather than <warnings>all for clang builds or add the options specified in 3) above. The problem with changing the jam files is that end-users will also get the change where <warnings>all does not specify '-pedantic' where they might really want it to.
(I don't know whether this is better or worse than any of the others, just that it's an option that wasn't listed.)