wiki:WarningFixes

Version 3 (modified by John Maddock, 13 years ago) ( diff )

--

This page is to log the progress of an initiative to reduce the number and impact of compiler warnings emitted from Boost code.

The priorities are:

  • Boost headers: warnings emitted with a long template instantiation back trace are particularly troublesome.
  • Boost source code: Users building Boost on their platform should ideally see a clean build with no warnings.
  • Core libraries, that are reused by other Boost libraries.

The main test compilers and flags are:

  • Microsoft Visual C++ (Current latest stable release is 2008), with /W4.
  • GNU GCC (Current latest stable release is 4.4.x) with /Wall /Wextra -pedantic.

In addition if library test cases can be made warning free, then we can begin to enforce a no-warnings policy by testing with warnings-as-errors with the above compilers.

LibraryOwnerStatusNotes
ConfigjohnmaddockCleanOnly headers are clean, I haven't looked at the tests.
Type TraitsjohnmaddockCleanOne test has (unfixable?) warnings with gcc.
RegexjohnmaddockClean
TestjohnmaddockPatchesA couple of tests still produce warnings: Jamfile issues?
Thread Warnings
Date Time Warnings
Program Options Warnings
MPL unknown
Preprocessor unknown
Any unknown
Array unknown
Bind unknown
Call Traits unknown
Compressed Pair unknown
Concept Check unknown
Conversion unknown
Enable If unknown
Exception unknown
Filesystem unknown
For Each unknown
Format unknown
Function unknown
Function Types unknown
Hash unknown
Integer unknown
Iterators unknown
Min Max unknown
Operators unknown
Optional unknown
Parameter unknown
Pool unknown
Serialization unknown
Smart Ptr unknown
Spirit unknown
Static Assert unknown
Swap unknown
System unknown
Timer unknown
Tuple unknown
Typeof unknown
Unordered unknown
Utility unknown

Please set the Status field above to one of:

  • unknown - library hasn't been tested for warnings yet.
  • warnings - we know that the library has warnings, but no one has done anything about it yet.
  • bug - if a bug report has been filed on the trac (with link)
  • patch - if a Trac patch has been filed (with link).
  • clean - fixes are in Trunk.
  • release - fixes are in release branch.

Please set the owner field to the Trac user ID of the person currently investigating so that we don't duplicate effort.

Libraries can be tested by cd'ing into boost-root/libname/test and invoking:

bjam msvc warnings=all

or

bjam gcc warnings=all cxxflags=-Wextra
Note: See TracWiki for help on using the wiki.