Opened 13 years ago

Closed 13 years ago

#3034 closed Bugs (fixed)

Boost::Parameter: Shadow Variables and Unused Globals Cause Warnings/Errors When Headers Are Not in System Path

Reported by: gerickson@… Owned by: Daniel Wallin
Milestone: Boost 1.40.0 Component: parameter
Version: Boost 1.39.0 Severity: Problem
Keywords: Cc:

Description

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/parameter/aux_/arg_list.hpp boost/parameter/aux_/maybe.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?

Attachments (1)

boost-03.patch (1.7 KB ) - added by gerickson@… 13 years ago.
Patch for Boost::Parameter -Wshadow and -Wunused Errors

Download all attachments as: .zip

Change History (4)

by gerickson@…, 13 years ago

Attachment: boost-03.patch added

Patch for Boost::Parameter -Wshadow and -Wunused Errors

comment:1 by Marshall Clow, 13 years ago

Owner: set to Daniel Wallin

comment:2 by Marshall Clow, 13 years ago

Component: Noneparameter

comment:3 by Daniel Wallin, 13 years ago

Resolution: fixed
Status: newclosed

(In [53414]) Silence annoying GCC -Wshadow warnings. Fixes #3034.

Note: See TracTickets for help on using tickets.