
Hmmm - at what level are the tests run at? That is if using msvc at warning level 3 and it comes up "clean" but that doesn't happen at level 4, it the library "clean".
For gcc - I don't know if there is a concept of warning level or if there is something analogous. But there certain warnings can be suppressed, and there is -weff and -pedantic etc.
Currently I have /W4 for msvc, and /Wall /Wextra -pedantic for gcc listed on the wiki page. That's the starting point. There are some things that just can't be made clean at that level - that's fine - just log the fact on the wiki so folks don't waste their time on it (for example, I couldn't find a way to zero-initialize an aligned_storage that was portable and that gcc didn't complain about: try building type_traits/aligned_storage_test.cpp to see what I mean). Think of those warning levels as an *aspiration* and lets see how it goes.
Exactly what is the hoop we're expected to jump through?
Hopefully no hoops :-) OK so I haven't looked at many libraries yet (and not serialization I admit), but so far in testing mostly my stuff plus Test/Utility/Integer the needed fixes look trivial where they're needed at all. If those flags are just too onerous for some library X, then we can reconsider. Frankly we won't know until we try. Also the initial emphasis should be on those "core" Boost libraries that often get reused by the rest of Boost. "Terminal" libraries that aren't reused within Boost can mostly look after themselves. Not sure which category serialization is in though ;-) Regards, John.