[Boost-bugs] [Boost C++ Libraries] #3031: Boost::Accumulators: Shadow Variables and Unused Globals Cause Warnings/Errors When Headers Are Not in System Path

Subject: [Boost-bugs] [Boost C++ Libraries] #3031: Boost::Accumulators: Shadow Variables and Unused Globals Cause Warnings/Errors When Headers Are Not in System Path
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-05-15 03:51:45


#3031: Boost::Accumulators: Shadow Variables and Unused Globals Cause
Warnings/Errors When Headers Are Not in System Path
--------------------------------------+-------------------------------------
 Reporter: gerickson_at_[hidden] | Owner:
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: None
  Version: Boost 1.39.0 | Severity: Problem
 Keywords: |
--------------------------------------+-------------------------------------
 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/accumulators/framework/accumulator_set.hpp
     boost/accumulators/framework/accumulators/droppable_accumulator.hpp
     boost/accumulators/statistics/rolling_mean.hpp
     boost/accumulators/statistics/rolling_window.hpp
     boost/accumulators/statistics_fwd.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?

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3031>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:00 UTC