
Hi, Boost 1.33.1 contains a number of constructs which cause warnings when compiled with GCC 3.4.2 (and other versions) using some warning flags. The majority of warnings are -Wshadow warnings and are easily correctable. One is a C cast that should be written as a const_cast. The most severe one is an omission of "const" that produces a warning under -Wcast-qual. I maintain a local patch that fixes these things (as otherwise I can't use these warning flags on my own code), but it'd be really nice if they were fixed in Boost mainline. The C cast and -Wcast-qual problems have obvious fixes. My fixes for the -Wshadow warnings involve prepending x_ to variable names, since I don't need to be inventive. Better names should probably be chosen. I reported these problems against 1.33.0, but they appeared unchanged in 1.33.1. My patch is here: http://stl.nuwen.net/boost-1.33.1.patch * The following files have shadow warnings: boost/date_time/gregorian/gregorian_io.hpp boost/date_time/period_formatter.hpp boost/date_time/time_duration.hpp boost/date_time/time_system_counted.hpp boost/format/format_implementation.hpp boost/regex/v4/basic_regex_creator.hpp boost/regex/v4/match_results.hpp * This file has shadow warnings, and a redundant typedef that causes a shadow warning: boost/regex/v4/basic_regex_parser.hpp * This file has a C cast that should be a const_cast: boost/range/detail/implementation_help.hpp * This file omits a "const", which causes a nasty -Wcast-qual warning: boost/token_iterator.hpp The omission of the const is not intentional, if you look at the template carefully. The warning that this generates is here: http://stl.nuwen.net/boost-warning.txt * This file says "bash" when it should say "sh". MSYS bash appears under "sh" but not "bash". This is really minor, since in 1.33.1 I don't even need to execute gcc_gen.sh, but it'd be nice to have it fixed. libs/regex/build/gcc_gen.sh Finally, Boost Regex's gcc.mak causes problems for MinGW MSYS. It really doesn't like trailing slashes. The patch for this is here: http://stl.nuwen.net/boost-1.33.1-gcc.mak.patch I believe that other systems don't require trailing slashes, but I'm not sure. (I am only concerned with the -I../../../ here; the optimization settings are purely for myself and should not be put into mainline.) Thanks! Stephan T. Lavavej