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]