Subject: Re: [Boost-bugs] [Boost C++ Libraries] #6331: [Boost.Test] g++ compilation error due to ambiguity between template<class Cond, class T> struct boost::enable_if and class boost::unit_test::decorator::enable_if as well as the disable_if counterparts introduced after Boost 1.48.0 (up to at least svn rev. 76217)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-01-20 14:25:33
#6331: [Boost.Test] g++ compilation error due to ambiguity between template<class
Cond, class T> struct boost::enable_if and class
boost::unit_test::decorator::enable_if as well as the disable_if
counterparts introduced after Boost 1.48.0 (up to at least svn rev. 76217)
--------------------------------------+-------------------------------------
Reporter: t0rt1e@⦠| Owner: rogeeff
Type: Bugs | Status: new
Milestone: To Be Determined | Component: test
Version: Boost Development Trunk | Severity: Regression
Resolution: | Keywords: enable_if, disable_if
--------------------------------------+-------------------------------------
Comment (by t0rt1e@â¦):
While digging into the issue, I came across the
[http://gcc.gnu.org/gcc-4.7/changes.html CHANGES] document for g++
4.7.0 currently under development. It states:
"G++ now correctly implements the two-phase lookup rules such that an
unqualified name used in a template must have an appropriate declaration
found either in scope at the point of definition of the template or by
argument-dependent lookup at the point of instantiation. As a result,
code that relies on a second unqualified lookup at the point of
instantiation to find functions declared after the template or in
dependent bases will be rejected. The compiler will suggest ways to fix
affected code, and using the -fpermissive compiler flag will allow the
code to compile with a warning."
Could this problem be related?
I also found a meta-bug in gcc's bug tracker
([http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18805 ticket #18805])
grouping currently known problems around the name-lookup.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/6331#comment:5> 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:08 UTC