This used to compile but doesn't any more on mainline (ok on 4.0.x branch): 
----------------------- 
struct B { 
    void foo(); 
}; 
 
template <typename T> class I : public B {}; 
 
template <typename T> class D : private I<T> { 
    I<T>::B::foo; 
}; 
-------------------------- 
 
g/x> /home/bangerth/bin/gcc-4.0.1-pre/bin/c++ -c x.cc 
g/x> /home/bangerth/bin/gcc-4.1-pre/bin/c++ -c x.cc 
x.cc:8: error: type &#8216;B&#8217; is not a base type for type 
&#8216;D<T>&#8217; 
 
W.

-- 
           Summary: [4.1 regression] Rejects old-style using declaration
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bangerth at dealii dot org
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22136

Reply via email to