id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 3033,Boost::Fusion: Shadow Variables and Unused Globals Cause Warnings/Errors When Headers Are Not in System Path,gerickson@…,Joel de Guzman,"I've recently added Boost to an Xcode 3.1.2 project with the following warnings enabled in GCC/G++ 4.0.1: -Werror -Wreturn-type -Wunused-function -Wunused-label -Wunused-variable -Wshadow Unfortunately, when boost is not installed in a ""system"" path--as is the case here--unused and shadow variable warnings cause the build to fail when warnings are treated as errors. This issue last came up for me about a year ago in 1_35_0 with filesystem.hpp: http://article.gmane.org/gmane.comp.lib.boost.user/38297/match=shadow+variables+cause The included headers this time are: boost/accumulators/accumulators.hpp boost/accumulators/statistics/stats.hpp boost/accumulators/statistics/rolling_mean.hpp To test and fix, I isolated with: printf ""#include <${BoostHeader}>\nint main(void) { return 0; }"" | /Developer/usr/bin/gcc-4.0 -x c++ -Wall -Wshadow -Werror -o test -I${BoostRoot}/boost/include - The patch to address this is as follows and impacts the headers below: boost/fusion/container/list/cons.hpp boost/fusion/container/list/cons_iterator.hpp boost/fusion/container/vector/vector_iterator.hpp boost/fusion/view/filter_view/filter_view.hpp boost/fusion/view/filter_view/filter_view_iterator.hpp boost/fusion/view/iterator_range/iterator_range.hpp boost/fusion/view/joint_view/joint_view.hpp boost/fusion/view/joint_view/joint_view_iterator.hpp boost/fusion/view/single_view/single_view.hpp Patches for other headers to be filed separately. Because this problem seems to come up frequently, perhaps there is a way -Wshadow and -Wall can be forced for all unit tests?",Bugs,closed,Boost 1.40.0,fusion,Boost 1.39.0,Problem,fixed,,