[
https://issues.apache.org/jira/browse/STDCXX-648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12579265#action_12579265
]
Martin Sebor commented on STDCXX-648:
-------------------------------------
Btw., I should note that the inefficiency above has been corrected in gcc 4.3
-- see [bug 19431|http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19431], and the
duplicate [bug 30738|http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30738].
> [MSVC] errors compiling with _RWSTD_STRICT_ANSI
> -----------------------------------------------
>
> Key: STDCXX-648
> URL: https://issues.apache.org/jira/browse/STDCXX-648
> Project: C++ Standard Library
> Issue Type: Bug
> Components: Build
> Affects Versions: 4.2.0
> Environment: MSVC, ICC/Windows
> Reporter: Farid Zaripov
> Assignee: Farid Zaripov
> Priority: Minor
> Fix For: 4.2.1
>
> Attachments: stdcxx-648-2.patch, stdcxx-648.patch
>
> Original Estimate: 8h
> Time Spent: 7h
> Remaining Estimate: 1h
>
> I've built the .configure project and appended #define _RWSTD_STRICT_ANSI to
> the generated config.h file. After that the library compiled with the
> following errors (MSVC 8):
> ------ Build started: Project: .stdcxx, Configuration: 15s Debug Thread-safe
> Static Win32 ------
> ...
> iostream.cpp
> D:\stdcxx\trunk\include\fstream(122) : warning C4099: 'std::ios_base::Init' :
> type name first seen using 'struct' now seen using 'class'
> D:\stdcxx\trunk\include\rw/_iosbase.h(221) : see declaration of
> 'std::ios_base::Init'
> D:\stdcxx\trunk\include\fstream(274) : see reference to class
> template instantiation 'std::basic_filebuf<_CharT,_Traits>' being compiled
> D:\stdcxx\trunk\include\fstream(122) : warning C4099: 'std::ios_base::Init' :
> type name first seen using 'struct' now seen using 'class'
> D:\stdcxx\trunk\include\rw/_iosbase.h(221) : see declaration of
> 'std::ios_base::Init'
> D:\stdcxx\trunk\include\fstream(668) : see reference to class
> template instantiation 'std::basic_filebuf<_CharT>' being compiled
> with
> [
> _CharT=char
> ]
> D:\stdcxx\trunk\include\fstream(122) : warning C4099: 'std::ios_base::Init' :
> type name first seen using 'struct' now seen using 'class'
> D:\stdcxx\trunk\include\rw/_iosbase.h(221) : see declaration of
> 'std::ios_base::Init'
> D:\stdcxx\trunk\include\fstream(676) : see reference to class
> template instantiation 'std::basic_filebuf<_CharT>' being compiled
> with
> [
> _CharT=wchar_t
> ]
> ...
> ti_filebuf.cpp
> D:\stdcxx\trunk\include\fstream(122) : warning C4099: 'std::ios_base::Init' :
> type name first seen using 'struct' now seen using 'class'
> D:\stdcxx\trunk\include\rw/_iosbase.h(221) : see declaration of
> 'std::ios_base::Init'
> D:\stdcxx\trunk\include\fstream(274) : see reference to class
> template instantiation 'std::basic_filebuf<_CharT,_Traits>' being compiled
> D:\stdcxx\trunk\include\fstream(122) : warning C4099: 'std::ios_base::Init' :
> type name first seen using 'struct' now seen using 'class'
> D:\stdcxx\trunk\include\rw/_iosbase.h(221) : see declaration of
> 'std::ios_base::Init'
> D:\stdcxx\trunk\include\fstream(668) : see reference to class
> template instantiation 'std::basic_filebuf<_CharT>' being compiled
> with
> [
> _CharT=char
> ]
> ...
> ti_istream.cpp
> D:\stdcxx\trunk\include\istream.cc(53) : error C2664:
> 'std::istreambuf_iterator<_CharT,_Traits>
> std::num_get<_CharT,_InputIter>::get(std::istreambuf_iterator<_CharT,_Traits>,std::istreambuf_iterator<_CharT,_Traits>,std::ios_base
> &,__rw::__rw_iostate &,bool &) const' : cannot convert parameter 5 from
> 'short' to 'bool &'
> with
> [
> _CharT=char,
> _Traits=std::char_traits<char>,
> _InputIter=std::istreambuf_iterator<char,std::char_traits<char>>
> ]
> D:\stdcxx\trunk\include\istream(164) : see reference to function
> template instantiation 'std::basic_istream<_CharT>
> &__rw::__rw_extract<char,std::char_traits<char>,short>(std::basic_istream<_CharT>
> &,_NativeType &)' being compiled
> with
> [
> _CharT=char,
> _NativeType=short
> ]
> D:\stdcxx\trunk\include\istream(163) : while compiling class template
> member function 'std::basic_istream<_CharT>
> &std::basic_istream<_CharT>::operator >>(short &)'
> with
> [
> _CharT=char
> ]
> D:\stdcxx\trunk\include\istream(585) : see reference to class
> template instantiation 'std::basic_istream<_CharT>' being compiled
> with
> [
> _CharT=char
> ]
> D:\stdcxx\trunk\include\istream.cc(53) : error C2664:
> 'std::istreambuf_iterator<_CharT,_Traits>
> std::num_get<_CharT,_InputIter>::get(std::istreambuf_iterator<_CharT,_Traits>,std::istreambuf_iterator<_CharT,_Traits>,std::ios_base
> &,__rw::__rw_iostate &,bool &) const' : cannot convert parameter 5 from
> 'int' to 'bool &'
> with
> [
> _CharT=char,
> _Traits=std::char_traits<char>,
> _InputIter=std::istreambuf_iterator<char,std::char_traits<char>>
> ]
> D:\stdcxx\trunk\include\istream(172) : see reference to function
> template instantiation 'std::basic_istream<_CharT>
> &__rw::__rw_extract<char,std::char_traits<char>,int>(std::basic_istream<_CharT>
> &,_NativeType &)' being compiled
> with
> [
> _CharT=char,
> _NativeType=int
> ]
> D:\stdcxx\trunk\include\istream(171) : while compiling class template
> member function 'std::basic_istream<_CharT>
> &std::basic_istream<_CharT>::operator >>(int &)'
> with
> [
> _CharT=char
> ]
> ...
> ti_podarray.cpp
> d:\stdcxx\trunk\src\podarray.h(86) : error C2027: use of undefined type
> 'std::char_traits<_CharT>'
> with
> [
> _CharT=const unsigned int *
> ]
> d:\stdcxx\trunk\src\podarray.h(86) : while compiling class template
> member function '__rw::__rw_pod_array<_TypeT,_Size>::__rw_pod_array(const
> _TypeT *)'
> with
> [
> _TypeT=const unsigned int *,
> _Size=1024
> ]
> d:\stdcxx\trunk\src\podarray.h(214) : see reference to class template
> instantiation '__rw::__rw_pod_array<_TypeT,_Size>' being compiled
> with
> [
> _TypeT=const unsigned int *,
> _Size=1024
> ]
> d:\stdcxx\trunk\src\podarray.h(86) : error C3861: 'length': identifier not
> found
> ...
> ti_wfilebuf.cpp
> D:\stdcxx\trunk\include\fstream(122) : warning C4099: 'std::ios_base::Init' :
> type name first seen using 'struct' now seen using 'class'
> D:\stdcxx\trunk\include\rw/_iosbase.h(221) : see declaration of
> 'std::ios_base::Init'
> D:\stdcxx\trunk\include\fstream(274) : see reference to class
> template instantiation 'std::basic_filebuf<_CharT,_Traits>' being compiled
> D:\stdcxx\trunk\include\fstream(122) : warning C4099: 'std::ios_base::Init' :
> type name first seen using 'struct' now seen using 'class'
> D:\stdcxx\trunk\include\rw/_iosbase.h(221) : see declaration of
> 'std::ios_base::Init'
> D:\stdcxx\trunk\include\fstream(676) : see reference to class
> template instantiation 'std::basic_filebuf<_CharT>' being compiled
> with
> [
> _CharT=wchar_t
> ]
> ...
> ti_wistream.cpp
> D:\stdcxx\trunk\include\istream.cc(53) : error C2664:
> 'std::istreambuf_iterator<_CharT,_Traits>
> std::num_get<_CharT,_InputIter>::get(std::istreambuf_iterator<_CharT,_Traits>,std::istreambuf_iterator<_CharT,_Traits>,std::ios_base
> &,__rw::__rw_iostate &,bool &) const' : cannot convert parameter 5 from
> 'short' to 'bool &'
> with
> [
> _CharT=wchar_t,
> _Traits=std::char_traits<wchar_t>,
>
> _InputIter=std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>
> ]
> D:\stdcxx\trunk\include\istream(164) : see reference to function
> template instantiation 'std::basic_istream<_CharT>
> &__rw::__rw_extract<wchar_t,std::char_traits<wchar_t>,short>(std::basic_istream<_CharT>
> &,_NativeType &)' being compiled
> with
> [
> _CharT=wchar_t,
> _NativeType=short
> ]
> D:\stdcxx\trunk\include\istream(163) : while compiling class template
> member function 'std::basic_istream<_CharT>
> &std::basic_istream<_CharT>::operator >>(short &)'
> with
> [
> _CharT=wchar_t
> ]
> D:\stdcxx\trunk\include\istream(598) : see reference to class
> template instantiation 'std::basic_istream<_CharT>' being compiled
> with
> [
> _CharT=wchar_t
> ]
> D:\stdcxx\trunk\include\istream.cc(53) : error C2664:
> 'std::istreambuf_iterator<_CharT,_Traits>
> std::num_get<_CharT,_InputIter>::get(std::istreambuf_iterator<_CharT,_Traits>,std::istreambuf_iterator<_CharT,_Traits>,std::ios_base
> &,__rw::__rw_iostate &,bool &) const' : cannot convert parameter 5 from
> 'int' to 'bool &'
> with
> [
> _CharT=wchar_t,
> _Traits=std::char_traits<wchar_t>,
>
> _InputIter=std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t>>
> ]
> D:\stdcxx\trunk\include\istream(172) : see reference to function
> template instantiation 'std::basic_istream<_CharT>
> &__rw::__rw_extract<wchar_t,std::char_traits<wchar_t>,int>(std::basic_istream<_CharT>
> &,_NativeType &)' being compiled
> with
> [
> _CharT=wchar_t,
> _NativeType=int
> ]
> D:\stdcxx\trunk\include\istream(171) : while compiling class template
> member function 'std::basic_istream<_CharT>
> &std::basic_istream<_CharT>::operator >>(int &)'
> with
> [
> _CharT=wchar_t
> ]
> ...
> .stdcxx - 6 error(s), 9 warning(s)
> ========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.