Compilation against STLport fails
---------------------------------

         Key: XALANC-531
         URL: http://issues.apache.org/jira/browse/XALANC-531
     Project: XalanC
        Type: Bug
  Components: XalanC  
    Versions: 1.9    
 Environment: W2k, MS VisualC++ 6.0 SP 5; XalanC 1.9.0, STLport 4.6.2
    Reporter: Evgeniy Bashevoy


I have searched through Internet for solution for the issue listed below, but 
failed to find an answer.
That is why this post is appeared here.

During compilation of Xalan-C against STLport, a number of errors of 2 types 
did occure:

1.
====================================================================================
S:\LIBRARIES\STLPORT-4.6.2\STLPORT\stl/_algobase.h(210) : error C2784: 'struct 
_STL::input_iterator_tag __cdecl _STL::iterator_category(const class 
_STL::istream_iterator<_Tp,_CharT,_Traits,_Dist> &)' : could not deduce 
template argument for 'const 
class _STL::istream_iterator<_Tp,_CharT,_Traits,_Dist> &' from 'struct 
xalanc_1_9::XalanDequeIterator<struct 
xalanc_1_9::XalanDequeConstIteratorTraits<class 
xalanc_1_9::XalanNamespace>,class xalanc_1_9::XalanDeque<class 
xalanc_1_9::XalanNamespace,st
ruct xalanc_1_9::MemoryManagedConstructionTraits<class 
xalanc_1_9::XalanNamespace> > >'
        S:\LIBRARIES\STLPORT-4.6.2\STLPORT\stl/_algobase.h(216) : see reference 
to function template instantiation 'class _STL::back_insert_iterator<class 
xalanc_1_9::XalanDeque<class xalanc_1_9::XalanNamespace,struct 
xalanc_1_9::MemoryManagedConstr
uctionTraits<class xalanc_1_9::XalanNamespace> > > __cdecl 
_STL::__copy_aux(struct xalanc_1_9::XalanDequeIterator<struct 
xalanc_1_9::XalanDequeConstIteratorTraits<class 
xalanc_1_9::XalanNamespace>,class xalanc_1_9::XalanDeque<class xalanc_1_9::Xalan
Namespace,struct xalanc_1_9::MemoryManagedConstructionTraits<class 
xalanc_1_9::XalanNamespace> > >,struct xalanc_1_9::XalanDequeIterator<struct 
xalanc_1_9::XalanDequeConstIteratorTraits<class 
xalanc_1_9::XalanNamespace>,class xalanc_1_9::XalanDeque<
class xalanc_1_9::XalanNamespace,struct 
xalanc_1_9::MemoryManagedConstructionTraits<class xalanc_1_9::XalanNamespace> > 
>,class _STL::back_insert_iterator<class xalanc_1_9::XalanDeque<class 
xalanc_1_9::XalanNamespace,struct xalanc_1_9::MemoryManaged
ConstructionTraits<class xalanc_1_9::XalanNamespace> > >,const struct 
_STL::__false_type &)' being compiled
====================================================================================

2.
====================================================================================
S:\LIBRARIES\STLPORT-4.6.2\STLPORT\stl/_algobase.h(210) : error C2664: 'int 
*__cdecl _STL::distance_type(const struct _STL::_Bit_iterator_base &)' : cannot 
convert parameter 1 from 'struct xalanc_1_9::XalanDequeIterator<struct 
xalanc_1_9::XalanDeque
ConstIteratorTraits<class xalanc_1_9::NameSpace>,class 
xalanc_1_9::XalanDeque<class xalanc_1_9::NameSpace,struct 
xalanc_1_9::ConstructWithMemoryManagerTraits<class xalanc_1_9::NameSpace> > >' 
to 'const struct _STL::_Bit_iterator_base &'
        Reason: cannot convert from 'struct 
xalanc_1_9::XalanDequeIterator<struct 
xalanc_1_9::XalanDequeConstIteratorTraits<class xalanc_1_9::NameSpace>,class 
xalanc_1_9::XalanDeque<class xalanc_1_9::NameSpace,struct 
xalanc_1_9::ConstructWithMemoryM
anagerTraits<class xalanc_1_9::NameSpace> > >' to 'const struct 
_STL::_Bit_iterator_base'
        No constructor could take the source type, or constructor overload 
resolution was ambiguous
        S:\LIBRARIES\STLPORT-4.6.2\STLPORT\stl/_algobase.h(216) : see reference 
to function template instantiation 'class _STL::back_insert_iterator<class 
xalanc_1_9::XalanDeque<class xalanc_1_9::NameSpace,struct 
xalanc_1_9::ConstructWithMemoryManag
erTraits<class xalanc_1_9::NameSpace> > > __cdecl _STL::__copy_aux(struct 
xalanc_1_9::XalanDequeIterator<struct 
xalanc_1_9::XalanDequeConstIteratorTraits<class xalanc_1_9::NameSpace>,class 
xalanc_1_9::XalanDeque<class xalanc_1_9::NameSpace,struct xa
lanc_1_9::ConstructWithMemoryManagerTraits<class xalanc_1_9::NameSpace> > 
>,struct xalanc_1_9::XalanDequeIterator<struct 
xalanc_1_9::XalanDequeConstIteratorTraits<class xalanc_1_9::NameSpace>,class 
xalanc_1_9::XalanDeque<class xalanc_1_9::NameSpace,
struct xalanc_1_9::ConstructWithMemoryManagerTraits<class 
xalanc_1_9::NameSpace> > >,class _STL::back_insert_iterator<class 
xalanc_1_9::XalanDeque<class xalanc_1_9::NameSpace,struct 
xalanc_1_9::ConstructWithMemoryManagerTraits<class xalanc_1_9::Name
Space> > >,const struct _STL::__false_type &)' being compiled
====================================================================================

As you can see, both errors are related to XalanDequeIterator class (that seems 
to be not a child of any standard iterator). The failure seems to occure during 
copying of iterators by call of copy(InIter, OutIter), which calls, in turn, 
__copy_aux(...) method.
With MS STL this worked since check of iterators type during copying is not 
performed (an operator ++ should only be implemented for iterator), with 
STLport's STL this type-check is a bit 'stronger'.

Thank you very much for any ideas in advance!

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to