Index: algorithm =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/algorithm,v retrieving revision 1.1 retrieving revision 1.4 diff -c -3 -p -r1.1 -r1.4 *** algorithm 13 Dec 2005 16:25:33 -0000 1.1 --- algorithm 10 Oct 2007 15:23:05 -0000 1.4 *************** *** 11,16 **** --- 11,51 ---- #pragma warning(disable: 4244) #endif /* _MSC_VER */ + /* ------------------------------------------------------------------------ */ + /* Forward declare these now because they are used as non-dependent names. */ + _STDEXT_BEGIN + template + inline _OutIt unchecked_remove_copy(_InIt _First, _InIt _Last, + _OutIt _Dest, const _Ty& _Val); + template + inline _OutIt unchecked_remove_copy_if(_InIt _First, _InIt _Last, + _OutIt _Dest, _Pr _Pred); + template + inline _OutIt unchecked_merge(_InIt1 _First1, _InIt1 _Last1, + _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest); + template + inline _OutIt unchecked_merge(_InIt1 _First1, _InIt1 _Last1, + _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest, + _Pr _Pred); + template + inline _BidIt3 _Unchecked_merge_backward(_BidIt1 _First1, _BidIt1 _Last1, + _BidIt2 _First2, _BidIt2 _Last2, + _BidIt3 _Dest); + template + inline _BidIt3 _Unchecked_merge_backward(_BidIt1 _First1, _BidIt1 _Last1, + _BidIt2 _First2, _BidIt2 _Last2, + _BidIt3 _Dest, _Pr _Pred); + template + inline void _Unchecked_chunked_merge(_BidIt _First, _BidIt _Last, + _OutIt _Dest, _Diff _Chunk, + _Diff _Count); + template + inline void _Unchecked_chunked_merge(_BidIt _First, _BidIt _Last, + _OutIt _Dest, _Diff _Chunk, + _Diff _Count, _Pr _Pred); + _STDEXT_END + /* ------------------------------------------------------------------------ */ + _STD_BEGIN // COMMON SORT PARAMETERS *************** _SCL_INSECURE_DEPRECATE *** 2513,2519 **** _BidIt3 _Merge_backward(_BidIt1 _First1, _BidIt1 _Last1, _BidIt2 _First2, _BidIt2 _Last2, _BidIt3 _Dest, _Pr _Pred, _Unchecked_iterator_tag) { ! return _Merge_backward(_First1, _Last1, _First2, _Last2, _Dest, _Pred, _Unchecked_iterator_tag); } #endif --- 2548,2554 ---- _BidIt3 _Merge_backward(_BidIt1 _First1, _BidIt1 _Last1, _BidIt2 _First2, _BidIt2 _Last2, _BidIt3 _Dest, _Pr _Pred, _Unchecked_iterator_tag) { ! return _Merge_backward(_First1, _Last1, _First2, _Last2, _Dest, _Pred, _Unchecked_iterator_tag()); } #endif *************** inline *** 4037,4043 **** _FwdIt2 checked_swap_ranges(_FwdIt1 _First1, _FwdIt1 _Last1, _FwdIt2 _First2) { return _STD _Swap_ranges(_CHECKED_BASE(_First1), _CHECKED_BASE(_Last1), _First2, ! _STD _Iter_random(_First1, _First2), _STD _Checked_cat(_Dest)); } template_com_error::~_com_error(); ! this->_com_error::_com_error(that); } return *this; } --- 159,165 ---- { if (this != &that) { this->_com_error::~_com_error(); ! new (this) _com_error(that); } return *this; } Index: comip.h =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/comip.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** comip.h 13 Dec 2005 16:25:33 -0000 1.1 --- comip.h 13 Dec 2005 23:14:00 -0000 1.2 *************** public: *** 101,114 **** // Make sure correct ctor is called // ! template<> _com_ptr_t(__in LPSTR str) { new(this) _com_ptr_t(static_cast (str), NULL); } // Make sure correct ctor is called // ! template<> _com_ptr_t(__in LPWSTR str) { new(this) _com_ptr_t(static_cast (str), NULL); } --- 101,114 ---- // Make sure correct ctor is called // ! _com_ptr_t(__in LPSTR str) { new(this) _com_ptr_t(static_cast (str), NULL); } // Make sure correct ctor is called // ! _com_ptr_t(__in LPWSTR str) { new(this) _com_ptr_t(static_cast (str), NULL); } *************** public: *** 116,122 **** // Disable conversion using _com_ptr_t* specialization of // template _com_ptr_t(_InterfaceType* p) // ! template<> explicit _com_ptr_t(_com_ptr_t* p) : m_pInterface(NULL) { if (p == NULL) { --- 116,122 ---- // Disable conversion using _com_ptr_t* specialization of // template _com_ptr_t(_InterfaceType* p) // ! explicit _com_ptr_t(_com_ptr_t* p) : m_pInterface(NULL) { if (p == NULL) { *************** public: *** 156,162 **** // Saves the interface. // ! template<> _com_ptr_t(Interface* pInterface) throw() : m_pInterface(pInterface) { _AddRef(); --- 156,162 ---- // Saves the interface. // ! _com_ptr_t(Interface* pInterface) throw() : m_pInterface(pInterface) { _AddRef(); *************** public: *** 251,257 **** // Saves the interface. // ! template<> _com_ptr_t& operator=(Interface* pInterface) throw() { if (m_pInterface != pInterface) { Interface* pOldInterface = m_pInterface; --- 251,257 ---- // Saves the interface. // ! _com_ptr_t& operator=(Interface* pInterface) throw() { if (m_pInterface != pInterface) { Interface* pOldInterface = m_pInterface; *************** public: *** 431,437 **** // Compare with other interface // ! template<> bool operator==(Interface* p) { return (m_pInterface == p) ? true --- 431,437 ---- // Compare with other interface // ! bool operator==(Interface* p) { return (m_pInterface == p) ? true *************** public: *** 440,453 **** // Compare two smart pointers // ! template<> bool operator==(const _com_ptr_t& p) throw() { return operator==(p.m_pInterface); } // Compare two smart pointers // ! template<> bool operator==(_com_ptr_t& p) throw() { return operator==(p.m_pInterface); } --- 440,453 ---- // Compare two smart pointers // ! bool operator==(const _com_ptr_t& p) throw() { return operator==(p.m_pInterface); } // Compare two smart pointers // ! bool operator==(_com_ptr_t& p) throw() { return operator==(p.m_pInterface); } Index: comutil.h =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/comutil.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** comutil.h 13 Dec 2005 16:25:33 -0000 1.1 --- comutil.h 13 Dec 2005 23:14:00 -0000 1.2 *************** class _variant_t; *** 77,83 **** ////////////////////////////////////////////////////////////////////////////// namespace _com_util { ! inline void CheckError(HRESULT hr) throw(...) { if (FAILED(hr)) { _com_issue_error(hr); --- 77,83 ---- ////////////////////////////////////////////////////////////////////////////// namespace _com_util { ! inline void CheckError(HRESULT hr) { if (FAILED(hr)) { _com_issue_error(hr); *************** inline void _bstr_t::Attach(BSTR s) *** 572,578 **** // Detach the internal BSTR // ! inline BSTR _bstr_t::Detach() { _COM_ASSERT(m_Data != NULL && m_Data->RefCount() == 1); --- 572,578 ---- // Detach the internal BSTR // ! inline BSTR _bstr_t::Detach() throw() { _COM_ASSERT(m_Data != NULL && m_Data->RefCount() == 1); Index: crtdbg.h =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/crtdbg.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** crtdbg.h 13 Dec 2005 16:25:33 -0000 1.1 --- crtdbg.h 10 Oct 2007 14:57:45 -0000 1.2 *************** should not have done so since it was not *** 570,575 **** --- 570,576 ---- #if _MSC_VER >= 1300 && !defined(_CRT_PORTABLE) #define _CrtDbgBreak() __debugbreak() + extern void __cdecl __debugbreak(void); #elif defined(_M_IX86) && !defined(_CRT_PORTABLE) #define _CrtDbgBreak() __asm { int 3 } #elif defined(_M_IA64) && !defined(_CRT_PORTABLE) Index: crtdefs.h =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/crtdefs.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** crtdefs.h 13 Dec 2005 16:25:33 -0000 1.1 --- crtdefs.h 13 Dec 2005 23:14:00 -0000 1.2 *************** typedef __time64_t time_t; /* time *** 614,712 **** #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(_ReturnType, _FuncName, _DstType, _Dst) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size]) \ { \ ! return _FuncName(_Dst, _Size); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1) \ { \ ! return _FuncName(_Dst, _Size, _TArg1); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2) \ { \ ! return _FuncName(_Dst, _Size, _TArg1, _TArg2); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) \ { \ ! return _FuncName(_Dst, _Size, _TArg1, _TArg2, _TArg3); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_4(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3, _TType4, _TArg4) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4) \ { \ ! return _FuncName(_Dst, _Size, _TArg1, _TArg2, _TArg3, _TArg4); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(_ReturnType, _FuncName, _HType1, _HArg1, _DstType, _Dst, _TType1, _TArg1) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _DstType (&_Dst)[_Size], _TType1 _TArg1) \ { \ ! return _FuncName(_HArg1, _Dst, _Size, _TArg1); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_2(_ReturnType, _FuncName, _HType1, _HArg1, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2) \ { \ ! return _FuncName(_HArg1, _Dst, _Size, _TArg1, _TArg2); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_3(_ReturnType, _FuncName, _HType1, _HArg1, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) \ { \ ! return _FuncName(_HArg1, _Dst, _Size, _TArg1, _TArg2, _TArg3); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_2_0(_ReturnType, _FuncName, _HType1, _HArg1, _HType2, _HArg2, _DstType, _Dst) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _HType2 _HArg2, _DstType (&_Dst)[_Size]) \ { \ ! return _FuncName(_HArg1, _HArg2, _Dst, _Size); \ } \ } --- 614,712 ---- #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(_ReturnType, _FuncName, _DstType, _Dst) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Sz]) \ { \ ! return _FuncName(_Dst, _Sz); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Sz], _TType1 _TArg1) \ { \ ! return _FuncName(_Dst, _Sz, _TArg1); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2) \ { \ ! return _FuncName(_Dst, _Sz, _TArg1, _TArg2); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_3(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) \ { \ ! return _FuncName(_Dst, _Sz, _TArg1, _TArg2, _TArg3); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_4(_ReturnType, _FuncName, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3, _TType4, _TArg4) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4) \ { \ ! return _FuncName(_Dst, _Sz, _TArg1, _TArg2, _TArg3, _TArg4); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(_ReturnType, _FuncName, _HType1, _HArg1, _DstType, _Dst, _TType1, _TArg1) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _DstType (&_Dst)[_Sz], _TType1 _TArg1) \ { \ ! return _FuncName(_HArg1, _Dst, _Sz, _TArg1); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_2(_ReturnType, _FuncName, _HType1, _HArg1, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _DstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2) \ { \ ! return _FuncName(_HArg1, _Dst, _Sz, _TArg1, _TArg2); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_3(_ReturnType, _FuncName, _HType1, _HArg1, _DstType, _Dst, _TType1, _TArg1, _TType2, _TArg2, _TType3, _TArg3) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _DstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) \ { \ ! return _FuncName(_HArg1, _Dst, _Sz, _TArg1, _TArg2, _TArg3); \ } \ } #define __DEFINE_CPP_OVERLOAD_SECURE_FUNC_2_0(_ReturnType, _FuncName, _HType1, _HArg1, _HType2, _HArg2, _DstType, _Dst) \ extern "C++" \ { \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _HType2 _HArg2, _DstType (&_Dst)[_Sz]) \ { \ ! return _FuncName(_HArg1, _HArg2, _Dst, _Sz); \ } \ } *************** typedef __time64_t time_t; /* time *** 715,727 **** { \ __pragma(warning(push)); \ __pragma(warning(disable: 4793)); \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, ...) \ { \ va_list _ArgList; \ _crt_va_start(_ArgList, _TArg1); \ ! return _VFuncName(_Dst, _Size, _TArg1, _ArgList); \ } \ __pragma(warning(pop)); \ } --- 715,727 ---- { \ __pragma(warning(push)); \ __pragma(warning(disable: 4793)); \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Sz], _TType1 _TArg1, ...) \ { \ va_list _ArgList; \ _crt_va_start(_ArgList, _TArg1); \ ! return _VFuncName(_Dst, _Sz, _TArg1, _ArgList); \ } \ __pragma(warning(pop)); \ } *************** typedef __time64_t time_t; /* time *** 731,743 **** { \ __pragma(warning(push)); \ __pragma(warning(disable: 4793)); \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, ...) \ { \ va_list _ArgList; \ _crt_va_start(_ArgList, _TArg2); \ ! return _VFuncName(_Dst, _Size, _TArg1, _TArg2, _ArgList); \ } \ __pragma(warning(pop)); \ } --- 731,743 ---- { \ __pragma(warning(push)); \ __pragma(warning(disable: 4793)); \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2, ...) \ { \ va_list _ArgList; \ _crt_va_start(_ArgList, _TArg2); \ ! return _VFuncName(_Dst, _Sz, _TArg1, _TArg2, _ArgList); \ } \ __pragma(warning(pop)); \ } *************** typedef __time64_t time_t; /* time *** 874,884 **** { \ return __insecure_##_FuncName(_Dst); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size]) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Size), _Dst); \ } \ template <> \ inline \ --- 874,884 ---- { \ return __insecure_##_FuncName(_Dst); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Sz]) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Sz), _Dst); \ } \ template <> \ inline \ *************** typedef __time64_t time_t; /* time *** 919,930 **** { \ return __insecure_##_FuncName(_Dst); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size]) \ { \ size_t _SizeRead = 0; \ ! errno_t _Err = _FuncName##_s(_Dst + 2, (_Size - 2) < ((size_t)_Dst[0]) ? (_Size - 2) : ((size_t)_Dst[0]), &_SizeRead); \ _Dst[1] = (_DstType)(_SizeRead); \ return (_Err == 0 ? _Dst + 2 : 0); \ } \ --- 919,930 ---- { \ return __insecure_##_FuncName(_Dst); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Sz]) \ { \ size_t _SizeRead = 0; \ ! errno_t _Err = _FuncName##_s(_Dst + 2, (_Sz - 2) < ((size_t)_Dst[0]) ? (_Sz - 2) : ((size_t)_Dst[0]), &_SizeRead); \ _Dst[1] = (_DstType)(_SizeRead); \ return (_Err == 0 ? _Dst + 2 : 0); \ } \ *************** typedef __time64_t time_t; /* time *** 974,984 **** { \ return __insecure_##_FuncName(_Dst, _TArg1); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1), _Dst); \ } \ template <> \ inline \ --- 974,984 ---- { \ return __insecure_##_FuncName(_Dst, _TArg1); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Sz], _TType1 _TArg1) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Sz, _TArg1), _Dst); \ } \ template <> \ inline \ *************** typedef __time64_t time_t; /* time *** 1019,1029 **** { \ return __insecure_##_FuncName(_Dst, _TArg1, _TArg2); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1, _TArg2), _Dst); \ } \ template <> \ inline \ --- 1019,1029 ---- { \ return __insecure_##_FuncName(_Dst, _TArg1, _TArg2); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Sz, _TArg1, _TArg2), _Dst); \ } \ template <> \ inline \ *************** typedef __time64_t time_t; /* time *** 1064,1074 **** { \ return __insecure_##_FuncName(_Dst, _TArg1, _TArg2, _TArg3); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1, _TArg2, _TArg3), _Dst); \ } \ template <> \ inline \ --- 1064,1074 ---- { \ return __insecure_##_FuncName(_Dst, _TArg1, _TArg2, _TArg3); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Sz, _TArg1, _TArg2, _TArg3), _Dst); \ } \ template <> \ inline \ *************** typedef __time64_t time_t; /* time *** 1109,1119 **** { \ return __insecure_##_FuncName(_Dst, _TArg1, _TArg2, _TArg3, _TArg4); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1, _TArg2, _TArg3, _TArg4), _Dst); \ } \ template <> \ inline \ --- 1109,1119 ---- { \ return __insecure_##_FuncName(_Dst, _TArg1, _TArg2, _TArg3, _TArg4); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3, _TType4 _TArg4) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Sz, _TArg1, _TArg2, _TArg3, _TArg4), _Dst); \ } \ template <> \ inline \ *************** typedef __time64_t time_t; /* time *** 1154,1164 **** { \ return __insecure_##_FuncName(_HArg1, _Dst, _TArg1); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _DstType (&_Dst)[_Size], _TType1 _TArg1) \ { \ ! _ReturnPolicy(_SecureFuncName(_HArg1, _Dst, _Size, _TArg1), _Dst); \ } \ template <> \ inline \ --- 1154,1164 ---- { \ return __insecure_##_FuncName(_HArg1, _Dst, _TArg1); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _DstType (&_Dst)[_Sz], _TType1 _TArg1) \ { \ ! _ReturnPolicy(_SecureFuncName(_HArg1, _Dst, _Sz, _TArg1), _Dst); \ } \ template <> \ inline \ *************** typedef __time64_t time_t; /* time *** 1199,1209 **** { \ return __insecure_##_FuncName(_HArg1, _HArg2, _Dst); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _HType2 _HArg2, _DstType (&_Dst)[_Size]) \ { \ ! _ReturnPolicy(_SecureFuncName(_HArg1, _HArg2, _Dst, _Size), _Dst); \ } \ template <> \ inline \ --- 1199,1209 ---- { \ return __insecure_##_FuncName(_HArg1, _HArg2, _Dst); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_HType1 _HArg1, _HType2 _HArg2, _DstType (&_Dst)[_Sz]) \ { \ ! _ReturnPolicy(_SecureFuncName(_HArg1, _HArg2, _Dst, _Sz), _Dst); \ } \ template <> \ inline \ *************** typedef __time64_t time_t; /* time *** 1260,1272 **** \ __pragma(warning(push)); \ __pragma(warning(disable: 4793)); \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, ...) \ { \ va_list _ArgList; \ _crt_va_start(_ArgList, _TArg1); \ ! _ReturnPolicy(_SecureVFuncName(_Dst, _Size, _TArg1, _ArgList), _Dst); \ } \ __pragma(warning(pop)); \ \ --- 1260,1272 ---- \ __pragma(warning(push)); \ __pragma(warning(disable: 4793)); \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Sz], _TType1 _TArg1, ...) \ { \ va_list _ArgList; \ _crt_va_start(_ArgList, _TArg1); \ ! _ReturnPolicy(_SecureVFuncName(_Dst, _Sz, _TArg1, _ArgList), _Dst); \ } \ __pragma(warning(pop)); \ \ *************** typedef __time64_t time_t; /* time *** 1304,1314 **** { \ return __insecure_##_VFuncName(_Dst, _TArg1, _ArgList); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _VFuncName(_DstType (&_Dst)[_Size], _TType1 _TArg1, va_list _ArgList) \ { \ ! _ReturnPolicy(_SecureVFuncName(_Dst, _Size, _TArg1, _ArgList), _Dst); \ } \ template <> \ inline \ --- 1304,1314 ---- { \ return __insecure_##_VFuncName(_Dst, _TArg1, _ArgList); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _VFuncName(_DstType (&_Dst)[_Sz], _TType1 _TArg1, va_list _ArgList) \ { \ ! _ReturnPolicy(_SecureVFuncName(_Dst, _Sz, _TArg1, _ArgList), _Dst); \ } \ template <> \ inline \ *************** typedef __time64_t time_t; /* time *** 1365,1377 **** \ __pragma(warning(push)); \ __pragma(warning(disable: 4793)); \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, ...) \ { \ va_list _ArgList; \ _crt_va_start(_ArgList, _TArg2); \ ! _ReturnPolicy(_SecureVFuncName(_Dst, _Size, _TArg1, _TArg2, _ArgList), _Dst); \ } \ __pragma(warning(pop)); \ \ --- 1365,1377 ---- \ __pragma(warning(push)); \ __pragma(warning(disable: 4793)); \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2, ...) \ { \ va_list _ArgList; \ _crt_va_start(_ArgList, _TArg2); \ ! _ReturnPolicy(_SecureVFuncName(_Dst, _Sz, _TArg1, _TArg2, _ArgList), _Dst); \ } \ __pragma(warning(pop)); \ \ *************** typedef __time64_t time_t; /* time *** 1409,1419 **** { \ return __insecure_##_VFuncName(_Dst, _TArg1, _TArg2, _ArgList); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _VFuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, va_list _ArgList) \ { \ ! _ReturnPolicy(_SecureVFuncName(_Dst, _Size, _TArg1, _TArg2, _ArgList), _Dst); \ } \ template <> \ inline \ --- 1409,1419 ---- { \ return __insecure_##_VFuncName(_Dst, _TArg1, _TArg2, _ArgList); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _VFuncName(_SecureDstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2, va_list _ArgList) \ { \ ! _ReturnPolicy(_SecureVFuncName(_Dst, _Sz, _TArg1, _TArg2, _ArgList), _Dst); \ } \ template <> \ inline \ *************** typedef __time64_t time_t; /* time *** 1454,1465 **** { \ return __insecure_##_FuncName(_Dst, _TArg1, _TArg2); \ } \ ! template \ inline \ ! size_t __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2) \ { \ size_t _Ret = 0; \ ! _SecureFuncName(&_Ret, _Dst, _Size, _TArg1, _TArg2); \ return (_Ret > 0 ? (_Ret - 1) : _Ret); \ } \ template <> \ --- 1454,1465 ---- { \ return __insecure_##_FuncName(_Dst, _TArg1, _TArg2); \ } \ ! template \ inline \ ! size_t __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2) \ { \ size_t _Ret = 0; \ ! _SecureFuncName(&_Ret, _Dst, _Sz, _TArg1, _TArg2); \ return (_Ret > 0 ? (_Ret - 1) : _Ret); \ } \ template <> \ *************** typedef __time64_t time_t; /* time *** 1503,1514 **** { \ return __insecure_##_FuncName(_Dst, _TArg1, _TArg2, _TArg3); \ } \ ! template \ inline \ ! size_t __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) \ { \ size_t _Ret = 0; \ ! _SecureFuncName(&_Ret, _Dst, _Size, _TArg1, _TArg2, _TArg3); \ return (_Ret > 0 ? (_Ret - 1) : _Ret); \ } \ template <> \ --- 1503,1514 ---- { \ return __insecure_##_FuncName(_Dst, _TArg1, _TArg2, _TArg3); \ } \ ! template \ inline \ ! size_t __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) \ { \ size_t _Ret = 0; \ ! _SecureFuncName(&_Ret, _Dst, _Sz, _TArg1, _TArg2, _TArg3); \ return (_Ret > 0 ? (_Ret - 1) : _Ret); \ } \ template <> \ Index: deque =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/deque,v retrieving revision 1.1 retrieving revision 1.4 diff -c -3 -p -r1.1 -r1.4 *** deque 13 Dec 2005 16:25:33 -0000 1.1 --- deque 11 Jan 2007 14:45:36 -0000 1.4 *************** public: *** 47,54 **** _Deque_const_iterator<_Ty, _Alloc, false>, _Unchanged_checked_iterator_base_type_tag>::_Result _Checked_iterator_base_type; ! friend _Deque_const_iterator<_Ty, _Alloc, false>; ! friend _Deque_const_iterator<_Ty, _Alloc, true>; _Deque_const_iterator<_Ty, _Alloc, false> _Checked_iterator_base() const { --- 47,53 ---- _Deque_const_iterator<_Ty, _Alloc, false>, _Unchanged_checked_iterator_base_type_tag>::_Result _Checked_iterator_base_type; ! friend class _Deque_const_iterator<_Ty, _Alloc, !_SECURE_VALIDATION>; _Deque_const_iterator<_Ty, _Alloc, false> _Checked_iterator_base() const { *************** public: *** 339,346 **** _Deque_iterator<_Ty, _Alloc, false>, _Unchanged_checked_iterator_base_type_tag>::_Result _Checked_iterator_base_type; ! friend _Deque_iterator<_Ty, _Alloc, false>; ! friend _Deque_iterator<_Ty, _Alloc, true>; _Deque_iterator<_Ty, _Alloc, false> _Checked_iterator_base() const { --- 338,344 ---- _Deque_iterator<_Ty, _Alloc, false>, _Unchanged_checked_iterator_base_type_tag>::_Result _Checked_iterator_base_type; ! friend class _Deque_iterator<_Ty, _Alloc, !_SECURE_VALIDATION>; _Deque_iterator<_Ty, _Alloc, false> _Checked_iterator_base() const { Index: eh.h =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/eh.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** eh.h 13 Dec 2005 16:25:33 -0000 1.1 --- eh.h 13 Dec 2005 23:14:00 -0000 1.2 *************** typedef void (__cdecl *_se_translator_fu *** 58,63 **** --- 58,65 ---- _CRTIMP __declspec(noreturn) void __cdecl terminate(void); _CRTIMP void __cdecl unexpected(void); + namespace std {class type_info;} + using std::type_info; _CRTIMP int __cdecl _is_exception_typeof(__in const type_info &_Type, __in struct _EXCEPTION_POINTERS * _ExceptionPtr); #ifndef _M_CEE_PURE Index: functional =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/functional,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** functional 13 Dec 2005 16:25:33 -0000 1.1 --- functional 13 Dec 2005 23:14:00 -0000 1.2 *************** template(_Left)); } - #ifndef _M_CEE - template inline - pointer_to_unary_function<_Arg, _Result, - _Result (__fastcall *)(_Arg)> - ptr_fun(_Result (__fastcall *_Left)(_Arg)) - { // return pointer_to_unary_function functor adapter - return (std::pointer_to_unary_function<_Arg, _Result, _Result (__fastcall *)(_Arg)>(_Left)); - } - - #endif #endif #ifdef _M_CEE --- 403,408 ---- *************** template(_Left)); } - #ifndef _M_CEE - - template inline - pointer_to_binary_function<_Arg1, _Arg2, _Result, - _Result(__fastcall *)(_Arg1, _Arg2)> - ptr_fun(_Result (__fastcall *_Left)(_Arg1, _Arg2)) - { // return pointer_to_binary_function functor adapter - return (std::pointer_to_binary_function<_Arg1, _Arg2, _Result, - _Result (__fastcall *)(_Arg1, _Arg2)>(_Left)); - } - - #endif #endif #ifdef _M_CEE --- 437,442 ---- Index: iosfwd =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/iosfwd,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** iosfwd 13 Dec 2005 16:25:33 -0000 1.1 --- iosfwd 8 Oct 2007 21:41:01 -0000 1.2 *************** struct _Secure_char_traits_tag *** 138,143 **** --- 138,185 ---- { }; + /* ------------------------------------------------------------------------ */ + /* Forward declare these now because they are used as non-dependent names. */ + namespace _Traits_helper + { + // TEMPLATE FUNCTION _Traits_helper::copy_s + template + inline + typename _Traits::char_type *copy_s(typename _Traits::char_type *_First1, size_t _Size, + const typename _Traits::char_type *_First2, size_t _Count); + + template + inline + typename _Traits::char_type *copy_s(typename _Traits::char_type *_First1, size_t _Size, + const typename _Traits::char_type *_First2, size_t _Count, _Secure_char_traits_tag); + + // If _SECURE_SCL is turned on, the user will get a deprecation warning when calling an unsecure _Traits::copy + template + inline + _SCL_INSECURE_DEPRECATE + typename _Traits::char_type *copy_s(typename _Traits::char_type *_First1, size_t _Size, + const typename _Traits::char_type *_First2, size_t _Count, _Unsecure_char_traits_tag); + + // TEMPLATE FUNCTION _Traits_helper::move_s + template + inline + typename _Traits::char_type *move_s(typename _Traits::char_type *_First1, size_t _Size, + const typename _Traits::char_type *_First2, size_t _Count); + + template + inline + typename _Traits::char_type *move_s(typename _Traits::char_type *_First1, size_t _Size, + const typename _Traits::char_type *_First2, size_t _Count, _Secure_char_traits_tag); + + // If _SECURE_SCL is turned on, the user will get a deprecation warning when calling an unsecure _Traits::copy + template + inline + _SCL_INSECURE_DEPRECATE + typename _Traits::char_type *move_s(typename _Traits::char_type *_First1, size_t _Size, + const typename _Traits::char_type *_First2, size_t _Count, _Unsecure_char_traits_tag); + } // namespace _Traits_helper + /* ------------------------------------------------------------------------ */ + // TEMPLATE STRUCT _Char_traits_base // Used to define the Secure_char_traits tag. This typedef is used // only for user defined char_traits. A user defined char_traits should Index: iostream =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/iostream,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** iostream 13 Dec 2005 16:25:33 -0000 1.1 --- iostream 13 Dec 2005 23:14:00 -0000 1.2 *************** __PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 *** 23,30 **** // CLASS _Winit class _CRTIMP2_PURE _Winit { public: ! __thiscall _Winit(); ! __thiscall ~_Winit(); private: __PURE_APPDOMAIN_GLOBAL static int _Init_cnt; }; --- 23,30 ---- // CLASS _Winit class _CRTIMP2_PURE _Winit { public: ! _Winit(); ! ~_Winit(); private: __PURE_APPDOMAIN_GLOBAL static int _Init_cnt; }; Index: iso646.h =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/iso646.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** iso646.h 13 Dec 2005 16:25:33 -0000 1.1 --- iso646.h 13 Dec 2005 23:14:00 -0000 1.2 *************** *** 3,9 **** #ifndef _ISO646 #define _ISO646 ! #if !defined(__cplusplus) || defined(_MSC_EXTENSIONS) #define and && #define and_eq &= #define bitand & --- 3,9 ---- #ifndef _ISO646 #define _ISO646 ! #if 0 && (!defined(__cplusplus) || defined(_MSC_EXTENSIONS)) #define and && #define and_eq &= #define bitand & Index: iterator =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/iterator,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** iterator 13 Dec 2005 16:25:33 -0000 1.1 --- iterator 13 Dec 2005 23:14:00 -0000 1.2 *************** template ::pointer, typename _STD iterator_traits<_Iter>::reference> { ! friend class checked_iterator; public: typedef checked_iterator<_Cont, _Iter> _Myt; typedef typename _STD iterator_traits<_Iter>::difference_type difference_type; --- 361,367 ---- typename _STD iterator_traits<_Iter>::pointer, typename _STD iterator_traits<_Iter>::reference> { ! //friend class checked_iterator; public: typedef checked_iterator<_Cont, _Iter> _Myt; typedef typename _STD iterator_traits<_Iter>::difference_type difference_type; Index: limits =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/limits,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** limits 13 Dec 2005 16:25:33 -0000 1.1 --- limits 10 Oct 2007 14:58:00 -0000 1.2 *************** _STCONSDEF(_Num_base, int, min_exponent) *** 93,110 **** _STCONSDEF(_Num_base, int, min_exponent10) _STCONSDEF(_Num_base, int, radix) // TEMPLATE CLASS numeric_limits template class numeric_limits : public _Num_base { // numeric limits for arbitrary type _Ty (say little or nothing) public: ! static _Ty (__CRTDECL min)() _THROW0() { // return minimum value return (_Ty(0)); } ! static _Ty (__CRTDECL max)() _THROW0() { // return maximum value return (_Ty(0)); } --- 93,111 ---- _STCONSDEF(_Num_base, int, min_exponent10) _STCONSDEF(_Num_base, int, radix) + #define __GCCXML_AVOID_MACRO_EXPANSION // TEMPLATE CLASS numeric_limits template class numeric_limits : public _Num_base { // numeric limits for arbitrary type _Ty (say little or nothing) public: ! static _Ty __CRTDECL min __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return minimum value return (_Ty(0)); } ! static _Ty __CRTDECL max __GCCXML_AVOID_MACRO_EXPANSION() _THROW0() { // return maximum value return (_Ty(0)); } Index: list =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/list,v retrieving revision 1.1 retrieving revision 1.3 diff -c -3 -p -r1.1 -r1.3 *** list 13 Dec 2005 16:25:33 -0000 1.1 --- list 7 Dec 2006 16:55:49 -0000 1.3 *************** public: *** 187,194 **** _Const_iterator, _Unchanged_checked_iterator_base_type_tag>::_Result _Checked_iterator_base_type; ! friend _Const_iterator; ! friend _Const_iterator; _Const_iterator _Checked_iterator_base() const { --- 187,193 ---- _Const_iterator, _Unchanged_checked_iterator_base_type_tag>::_Result _Checked_iterator_base_type; ! friend class _Const_iterator; _Const_iterator _Checked_iterator_base() const { *************** public: *** 367,374 **** _Iterator, _Unchanged_checked_iterator_base_type_tag>::_Result _Checked_iterator_base_type; ! friend _Iterator; ! friend _Iterator; _Iterator _Checked_iterator_base() const { --- 366,372 ---- _Iterator, _Unchanged_checked_iterator_base_type_tag>::_Result _Checked_iterator_base_type; ! friend class _Iterator; _Iterator _Checked_iterator_base() const { Index: math.h =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/math.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** math.h 13 Dec 2005 16:25:33 -0000 1.1 --- math.h 13 Dec 2005 23:14:00 -0000 1.2 *************** _CRTIMP double __cdecl atof(__in_z cons *** 132,138 **** _CRTIMP double __cdecl _atof_l(__in_z const char *_String, __in_opt _locale_t _Locale); #endif ! _CRTIMP double __cdecl _cabs(__in struct _complex _Complex); _CRTIMP double __cdecl ceil(__in double _X); _CRTIMP double __cdecl floor(__in double _X); _CRTIMP double __cdecl frexp(__in double _X, __out int * _Y); --- 132,138 ---- _CRTIMP double __cdecl _atof_l(__in_z const char *_String, __in_opt _locale_t _Locale); #endif ! _CRTIMP double __cdecl _cabs(__in struct _complex _C); _CRTIMP double __cdecl ceil(__in double _X); _CRTIMP double __cdecl floor(__in double _X); _CRTIMP double __cdecl frexp(__in double _X, __out int * _Y); Index: memory =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/memory,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** memory 13 Dec 2005 16:25:33 -0000 1.1 --- memory 8 Oct 2007 21:41:01 -0000 1.2 *************** *** 11,16 **** --- 11,26 ---- #pragma warning(push,3) #endif /* _MSC_VER */ + /* ------------------------------------------------------------------------ */ + /* Forward declare these now because they are used as non-dependent names. */ + _STDEXT_BEGIN + template + inline _FwdIt unchecked_uninitialized_copy(_InIt _First, _InIt _Last, _FwdIt _Dest); + template + inline _FwdIt unchecked_uninitialized_copy(_InIt _First, _InIt _Last, _FwdIt _Dest, _Alloc& _Al); + _STDEXT_END + /* ------------------------------------------------------------------------ */ + _STD_BEGIN // TEMPLATE FUNCTION get_temporary_buffer Index: process.h =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/process.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** process.h 13 Dec 2005 16:25:33 -0000 1.1 --- process.h 13 Dec 2005 23:14:00 -0000 1.2 *************** extern uintptr_t __security_cookie; *** 162,168 **** _CRT_OBSOLETE(LoadLibrary) intptr_t __cdecl _loaddll(__in_z char * _Filename); _CRT_OBSOLETE(FreeLibrary) int __cdecl _unloaddll(__in intptr_t _Handle); ! _CRT_OBSOLETE(GetProcAddress) int (__cdecl * __cdecl _getdllprocaddr(__in intptr_t _Handle, __in_z_opt char * _ProcedureName, __in intptr_t _Ordinal))(void); /* --------- The preceding functions are OBSOLETE --------- */ --- 162,169 ---- _CRT_OBSOLETE(LoadLibrary) intptr_t __cdecl _loaddll(__in_z char * _Filename); _CRT_OBSOLETE(FreeLibrary) int __cdecl _unloaddll(__in intptr_t _Handle); ! typedef int (__cdecl * _getdllprocaddr_type)(); ! _CRT_OBSOLETE(GetProcAddress) _getdllprocaddr_type __cdecl _getdllprocaddr(__in intptr_t _Handle, __in_z_opt char * _ProcedureName, __in intptr_t _Ordinal); /* --------- The preceding functions are OBSOLETE --------- */ Index: setjmp.h =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/setjmp.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** setjmp.h 13 Dec 2005 16:25:33 -0000 1.1 --- setjmp.h 13 Dec 2005 23:14:00 -0000 1.2 *************** int __cdecl setjmp(__out jmp_buf _Buf); *** 253,259 **** #ifdef __cplusplus extern "C" { ! _CRTIMP __declspec(noreturn) void __cdecl longjmp(__in jmp_buf _Buf, __in int _Value) throw(...); } #else _CRTIMP __declspec(noreturn) void __cdecl longjmp(__in jmp_buf _Buf, __in int _Value); --- 253,259 ---- #ifdef __cplusplus extern "C" { ! _CRTIMP __declspec(noreturn) void __cdecl longjmp(__in jmp_buf _Buf, __in int _Value); } #else _CRTIMP __declspec(noreturn) void __cdecl longjmp(__in jmp_buf _Buf, __in int _Value); Index: signal.h =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/signal.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** signal.h 13 Dec 2005 16:25:33 -0000 1.1 --- signal.h 13 Dec 2005 23:14:00 -0000 1.2 *************** extern void * _pxcptinfoptrs; *** 88,94 **** /* Function prototypes */ #ifndef _M_CEE_PURE ! _CRTIMP void (__cdecl * __cdecl signal(__in int _SigNum, __in_opt void (__cdecl * _Func)(int)))(int); #endif _CRTIMP int __cdecl raise(__in int _SigNum); --- 88,95 ---- /* Function prototypes */ #ifndef _M_CEE_PURE ! typedef void (__cdecl * __signal_handler_t)(int); ! _CRTIMP __signal_handler_t __cdecl signal(__in int _SigNum, __in_opt __signal_handler_t); #endif _CRTIMP int __cdecl raise(__in int _SigNum); Index: stddef.h =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/stddef.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** stddef.h 13 Dec 2005 16:25:33 -0000 1.1 --- stddef.h 9 Jan 2009 13:47:14 -0000 1.2 *************** errno_t __cdecl _get_errno(__out int * _ *** 46,51 **** --- 46,53 ---- #endif /* Define offsetof macro */ + #define offsetof(s,m) ((size_t)__builtin_offsetof(s,m)) + #if 0 /* replaced for gccxml */ #ifdef __cplusplus #ifdef _WIN64 *************** errno_t __cdecl _get_errno(__out int * _ *** 63,68 **** --- 65,71 ---- #endif #endif /* __cplusplus */ + #endif /* 0 */ #ifdef _MT _CRTIMP extern unsigned long __cdecl __threadid(void); Index: typeinfo =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/typeinfo,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** typeinfo 13 Dec 2005 16:25:33 -0000 1.1 --- typeinfo 13 Dec 2005 23:14:00 -0000 1.2 *************** struct __type_info_node { *** 40,45 **** --- 40,46 ---- extern __type_info_node __type_info_root_node; + namespace std { class type_info { public: virtual ~type_info(); *************** private: *** 56,61 **** --- 57,64 ---- _CRTIMP_PURE static const char *__CLRCALL_OR_CDECL _Name_base(const type_info *,__type_info_node* __ptype_info_node); _CRTIMP_PURE static void __CLRCALL_OR_CDECL _Type_info_dtor(type_info *); }; + } + using std::type_info; #if _HAS_EXCEPTIONS Index: vector =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/vector,v retrieving revision 1.1 retrieving revision 1.3 diff -c -3 -p -r1.1 -r1.3 *** vector 13 Dec 2005 16:25:33 -0000 1.1 --- vector 10 Oct 2007 14:58:42 -0000 1.3 *************** public: *** 1402,1408 **** typename _MycontTy::size_type _My_actual_offset() const { ! _MycontTy::size_type _Off = this->_Myoff; _Off += _VBITS * (this->_Myptr - _My_cont_begin()); return _Off; } --- 1402,1408 ---- typename _MycontTy::size_type _My_actual_offset() const { ! typename _MycontTy::size_type _Off = this->_Myoff; _Off += _VBITS * (this->_Myptr - _My_cont_begin()); return _Off; } *************** public: *** 2169,2175 **** void flip() { // toggle all elements ! for (_Vbtype::iterator _Next = _Myvec.begin(); _Next != _Myvec.end(); ++_Next) *_Next = (_Vbase)~*_Next; _Trim(_Mysize); --- 2169,2175 ---- void flip() { // toggle all elements ! for (typename _Vbtype::iterator _Next = _Myvec.begin(); _Next != _Myvec.end(); ++_Next) *_Next = (_Vbase)~*_Next; _Trim(_Mysize); Index: xdebug =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/xdebug,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** xdebug 13 Dec 2005 16:25:33 -0000 1.1 --- xdebug 10 Oct 2007 14:59:29 -0000 1.2 *************** template *** 55,61 **** --- 55,63 ---- { // delete from the debug CRT heap even if operator delete exists if (_Ptr != 0) { // worth deleting + #if 0 _Ptr->~_Ty(); + #endif // delete as _NORMAL_BLOCK, not _CRT_BLOCK, since we might have // facets allocated by normal new. free(_Ptr); *************** public: *** 72,78 **** template struct rebind { // convert _DebugHeapAllocator<_Ty> to _DebugHeapAllocator<_Other> ! typedef typename _DebugHeapAllocator<_Other> other; }; typename allocator<_Ty>::pointer __CLRCALL_OR_CDECL allocate(typename allocator<_Ty>::size_type _Count, const void *) --- 74,80 ---- template struct rebind { // convert _DebugHeapAllocator<_Ty> to _DebugHeapAllocator<_Other> ! typedef _DebugHeapAllocator<_Other> other; }; typename allocator<_Ty>::pointer __CLRCALL_OR_CDECL allocate(typename allocator<_Ty>::size_type _Count, const void *) Index: xlocale =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/xlocale,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** xlocale 13 Dec 2005 16:25:33 -0000 1.1 --- xlocale 13 Dec 2005 23:14:00 -0000 1.2 *************** template *** 54,59 **** --- 54,61 ---- class locale; template const _Facet& __CRTDECL use_facet(const locale&); + template + class collate; // warning 4412 is benign here #pragma warning(push) Index: xstddef =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/xstddef,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** xstddef 13 Dec 2005 16:25:33 -0000 1.1 --- xstddef 13 Dec 2005 23:14:00 -0000 1.2 *************** _STD_BEGIN *** 28,34 **** #define _RERAISE throw #define _THROW0() throw () ! #define _THROW1(x) throw (...) #define _THROW(x, y) throw x(y) #define _THROW_NCEE(x, y) _THROW(x, y) --- 28,34 ---- #define _RERAISE throw #define _THROW0() throw () ! #define _THROW1(x) throw (x) #define _THROW(x, y) throw x(y) #define _THROW_NCEE(x, y) _THROW(x, y) Index: xutility =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/xutility,v retrieving revision 1.1 retrieving revision 1.7 diff -c -3 -p -r1.1 -r1.7 *** xutility 13 Dec 2005 16:25:33 -0000 1.1 --- xutility 10 Oct 2007 15:23:27 -0000 1.7 *************** *** 12,19 **** --- 12,39 ---- #pragma warning(push,3) #endif /* _MSC_VER */ + /* GCC-XML simulation of MSVC builtin __is_base_of. */ + #define __is_base_of(base, derived) \ + __gccxml_is_base_of< base , derived >::value + template + struct __gccxml_is_base_of + { + typedef char(&yes_type)[1]; + typedef char(&no_type)[2]; + static yes_type check(_Base*); + static no_type check(const volatile void*); + static _Derived* derived(); + static const bool value = sizeof(check(derived())) == sizeof(yes_type); + }; + _STD_BEGIN + /* ------------------------------------------------------------------------ */ + /* Forward declare these now because they are used as non-dependent names. */ + class out_of_range; + class invalid_argument; + /* ------------------------------------------------------------------------ */ + // RANGE CHECKED ITERATOR TAGS struct _Unchecked_iterator_tag { *************** template inl *** 800,807 **** __CLRCALL_OR_CDECL _Iter_random(const _Iter1&, const _Iter2&) { // return category from iterator argument typename _Iter_random_helper< ! iterator_traits<_Iter1>::iterator_category, ! iterator_traits<_Iter2>::iterator_category>::_Iter_random_cat _Cat; return (_Cat); } --- 820,827 ---- __CLRCALL_OR_CDECL _Iter_random(const _Iter1&, const _Iter2&) { // return category from iterator argument typename _Iter_random_helper< ! typename iterator_traits<_Iter1>::iterator_category, ! typename iterator_traits<_Iter2>::iterator_category>::_Iter_random_cat _Cat; return (_Cat); } *************** template::iterator_category, ! iterator_traits<_Iter2>::iterator_category, ! iterator_traits<_Iter3>::iterator_category>::_Iter_random_cat _Cat; return (_Cat); } --- 833,841 ---- __CLRCALL_OR_CDECL _Iter_random(const _Iter1&, const _Iter2&, const _Iter3&) { // return category from iterator argument typename _Iter_random_helper3< ! typename iterator_traits<_Iter1>::iterator_category, ! typename iterator_traits<_Iter2>::iterator_category, ! typename iterator_traits<_Iter3>::iterator_category>::_Iter_random_cat _Cat; return (_Cat); } *************** public: *** 1705,1711 **** _Checked_iterator_base_type _Checked_iterator_base() const { ! typename _Checked_iterator_base_type _Base(_CHECKED_BASE(current)); return _Base; } --- 1725,1731 ---- _Checked_iterator_base_type _Checked_iterator_base() const { ! _Checked_iterator_base_type _Base(_CHECKED_BASE(current)); return _Base; } *************** template inline void __CLRCALL_OR_CDECL checked_fill_n(_OutIt _First, _Diff _Count, const _Ty& _Val) { // copy _Val _Count times through [_First, ...) ! _STD _Fill_n(_First, _Count, _Val, _STD _Iter_cat(_First), _STD _Checked_cat(_Dest)); } template --- 3065,3071 ---- class _Ty> inline void __CLRCALL_OR_CDECL checked_fill_n(_OutIt _First, _Diff _Count, const _Ty& _Val) { // copy _Val _Count times through [_First, ...) ! _STD _Fill_n(_First, _Count, _Val, _STD _Iter_cat(_First), _STD _Checked_cat(_First)); } template *************** _STDEXT_END *** 3156,3162 **** #define _STR2WSTR(str) __STR2WSTR(str) #define __FILEW__ _STR2WSTR(__FILE__) ! #define __FUNCTIONW__ _STR2WSTR(__FUNCTION__) #if !defined(_W64) #if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 --- 3176,3182 ---- #define _STR2WSTR(str) __STR2WSTR(str) #define __FILEW__ _STR2WSTR(__FILE__) ! #define __FUNCTIONW__ L"" #if !defined(_W64) #if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 Index: yvals.h =================================================================== RCS file: /cvsroot/GxInclude/Vc8/Include/yvals.h,v retrieving revision 1.1 retrieving revision 1.4 diff -c -3 -p -r1.1 -r1.4 *** yvals.h 13 Dec 2005 16:25:33 -0000 1.1 --- yvals.h 10 Oct 2007 14:59:54 -0000 1.4 *************** *** 101,107 **** #define _STR2WSTR(str) __STR2WSTR(str) #define __FILEW__ _STR2WSTR(__FILE__) ! #define __FUNCTIONW__ _STR2WSTR(__FUNCTION__) /* _SECURE_SCL switches: default values */ --- 101,107 ---- #define _STR2WSTR(str) __STR2WSTR(str) #define __FILEW__ _STR2WSTR(__FILE__) ! #define __FUNCTIONW__ L"" /* _SECURE_SCL switches: default values */ *************** *** 144,149 **** --- 144,168 ---- #endif + /* ------------------------------------------------------------------------ */ + /* Forward declare these now because they are used as non-dependent names. */ + #ifdef _DEBUG + + #if !defined(_NATIVE_WCHAR_T_DEFINED) && defined(_M_CEE_PURE) + extern "C++" + #else + extern "C" + #endif + _CRTIMP void __cdecl _invalid_parameter(const wchar_t *, const wchar_t *, const wchar_t *, unsigned int, uintptr_t); + + #else /* _DEBUG */ + + extern "C" + _CRTIMP void __cdecl _invalid_parameter_noinfo(void); + + #endif /* def _DEBUG */ + /* ------------------------------------------------------------------------ */ + #if _SECURE_SCL_THROWS #define _SCL_SECURE_INVALID_ARGUMENT_NO_ASSERT _Xinvarg() *************** _STD_END *** 485,492 **** /* VC++ COMPILER PARAMETERS */ #define _LONGLONG __int64 #define _ULONGLONG unsigned __int64 ! #define _LLONG_MAX 0x7fffffffffffffff ! #define _ULLONG_MAX 0xffffffffffffffff /* INTEGER PROPERTIES */ #define _C2 1 /* 0 if not 2's complement */ --- 504,511 ---- /* VC++ COMPILER PARAMETERS */ #define _LONGLONG __int64 #define _ULONGLONG unsigned __int64 ! #define _LLONG_MAX 0x7fffffffffffffffi64 ! #define _ULLONG_MAX 0xffffffffffffffffui64 /* INTEGER PROPERTIES */ #define _C2 1 /* 0 if not 2's complement */ *************** public: *** 544,552 **** _Lockit_dtor(this); } #else ! explicit __thiscall _Lockit(); // set default lock ! explicit __thiscall _Lockit(int); // set the lock ! __thiscall ~_Lockit(); // clear the lock #endif static _MRTIMP2_NPURE void __cdecl _Lockit_ctor(int); --- 563,571 ---- _Lockit_dtor(this); } #else ! explicit _Lockit(); // set default lock ! explicit _Lockit(int); // set the lock ! ~_Lockit(); // clear the lock #endif static _MRTIMP2_NPURE void __cdecl _Lockit_ctor(int); *************** public: *** 695,702 **** _Mutex_Unlock(this); } #else ! __thiscall _Mutex(); ! __thiscall ~_Mutex(); void __thiscall _Lock(); void __thiscall _Unlock(); #endif --- 714,721 ---- _Mutex_Unlock(this); } #else ! _Mutex(); ! ~_Mutex(); void __thiscall _Lock(); void __thiscall _Unlock(); #endif *************** public: *** 739,746 **** _Init_locks_dtor(this); } #else ! __thiscall _Init_locks(); ! __thiscall ~_Init_locks(); #endif private: --- 758,765 ---- _Init_locks_dtor(this); } #else ! _Init_locks(); ! ~_Init_locks(); #endif private: *************** typedef int _Mbstatet; *** 777,783 **** _C_STD_END #define _EXTERN_TEMPLATE template ! #define _THROW_BAD_ALLOC _THROW1(...) #ifdef _MSC_VER #pragma pack(pop) --- 796,802 ---- _C_STD_END #define _EXTERN_TEMPLATE template ! #define _THROW_BAD_ALLOC #ifdef _MSC_VER #pragma pack(pop)