[Bug c++/17324] [4.0 Regression] Error: symbol `bRKNS0_IT_SD_EE' is already defined

bangerth at dealii dot org gcc-bugzilla@gcc.gnu.org
Tue Sep 14 03:42:00 GMT 2004


------- Additional Comments From bangerth at dealii dot org  2004-09-14 03:42 -------
This should be sufficiently short for people to fix the problem. I'd 
definitely say the code is valid: 
--------------------- 
template <typename _Iterator, typename _Sequence> struct S { 
    template<typename _Other> 
    bool foo(const S<_Other, _Sequence> &) {return false;}; 
}; 
 
template <typename _Sequence> struct X { 
    template<typename _Iterator> 
    void unrelated(const S<_Iterator, _Sequence>& __x); 
}; 
 
template<typename T> struct map : X<map<T> > { 
    typedef S<int, map> iterator; 
    void clear() { iterator().foo(iterator()); } 
}; 
 
template<typename T> struct scope { 
    map<T> undo; 
    void push () { undo.clear (); } 
}; 
 
struct A {}; 
struct B {}; 
 
template class scope<A>; 
template class scope<B>; 
------------------------ 
 
g/x> /home/bangerth/bin/gcc-4.0-pre/bin/c++ -c x.ii  
/tmp/ccOlRHCN.s: Assembler messages: 
/tmp/ccOlRHCN.s:61: Error: symbol `bRKS_IT_S2_E' is already defined 
 
W. 

-- 


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



More information about the Gcc-bugs mailing list