This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/24171] g++-3.3: internal compiler error: in resolve_overloaded_unification, at cp/pt.c:8541



------- Comment #5 from faheem at email dot unc dot edu  2005-10-03 15:32 -------
(In reply to comment #4)
> Here is a reduced testcase for the bug effecting 2.95.3-3.4.0 but not 4.0.0 or
> the mainline:
> template<typename _Tp>     struct _List_iterator {}; 
>  _List_iterator<int> end();
>  template<typename P_numtype, int N_length> class TinyVector {};             
>  template<typename T, int N>   bool TinyVectoreq(const TinyVector<T, N>& u,
> const TinyVector<T, N>& v);
>  void test_collision()   {           (equal(end(), end(), (end(),
> TinyVectoreq<int, 3>)));
> 
> The other reduced testcase for 3.4.0-current is already recorded as PR 21592 so
> closing as a dup of that bug since the first only is only reproducible after
> 3.3.3 and the one in this comment is only 4.0.0 and below.
> 
> *** This bug has been marked as a duplicate of 21592 ***
> 

So, apparently there are two things wrong. The problem that corresponds to
21592 is my error, is that correct? Can you point me to where the error is in
my code?

The second (corresponding to the testcase above) is a bona fide bug,
correct? This looks like it corresponds to the call to equal. Can you suggest a
workaround for this?

Thanks.                                                    Faheem.


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]