Index: algorithm =================================================================== RCS file: /cvsroot/GxInclude/Vc8sp1/Include/algorithm,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** algorithm 13 Feb 2007 15:03:08 -0000 1.1 --- algorithm 10 Oct 2007 14:52:29 -0000 1.2 *************** *** 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 Index: comdef.h =================================================================== RCS file: /cvsroot/GxInclude/Vc8sp1/Include/comdef.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** comdef.h 13 Feb 2007 15:03:08 -0000 1.1 --- comdef.h 13 Feb 2007 16:09:18 -0000 1.2 *************** public: *** 106,112 **** DWORD HelpContext() const throw(); _bstr_t HelpFile() const ; _bstr_t Source() const ; ! GUID GUID() const throw(); // FormatMessage accessors // --- 106,112 ---- DWORD HelpContext() const throw(); _bstr_t HelpFile() const ; _bstr_t Source() const ; ! struct _GUID GUID() const throw(); // FormatMessage accessors // *************** inline _com_error& _com_error::operator= *** 163,169 **** { if (this != &that) { this->_com_error::~_com_error(); ! this->_com_error::_com_error(that); } return *this; } --- 163,169 ---- { if (this != &that) { this->_com_error::~_com_error(); ! new (this) _com_error(that); } return *this; } Index: comip.h =================================================================== RCS file: /cvsroot/GxInclude/Vc8sp1/Include/comip.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** comip.h 13 Feb 2007 15:03:08 -0000 1.1 --- comip.h 13 Feb 2007 16:09:18 -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/Vc8sp1/Include/comutil.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** comutil.h 13 Feb 2007 15:03:08 -0000 1.1 --- comutil.h 13 Feb 2007 16:09:18 -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/Vc8sp1/Include/crtdbg.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** crtdbg.h 13 Feb 2007 15:03:08 -0000 1.1 --- crtdbg.h 10 Oct 2007 14:52:53 -0000 1.2 *************** should not have done so since it was not *** 589,594 **** --- 589,595 ---- #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/Vc8sp1/Include/crtdefs.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** crtdefs.h 13 Feb 2007 15:03:08 -0000 1.1 --- crtdefs.h 13 Feb 2007 16:09:18 -0000 1.2 *************** typedef __time64_t time_t; /* time *** 664,762 **** #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); \ } \ } --- 664,762 ---- #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 *** 765,777 **** { \ __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)); \ } --- 765,777 ---- { \ __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 *** 781,793 **** { \ __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)); \ } --- 781,793 ---- { \ __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 *** 924,934 **** { \ return __insecure_##_FuncName(_Dst); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size]) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Size), _Dst); \ } \ template <> \ inline \ --- 924,934 ---- { \ 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 *** 969,980 **** { \ 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); \ } \ --- 969,980 ---- { \ 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 *** 1024,1034 **** { \ return __insecure_##_FuncName(_Dst, _TArg1); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1), _Dst); \ } \ template <> \ inline \ --- 1024,1034 ---- { \ return __insecure_##_FuncName(_Dst, _TArg1); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Sz], _TType1 _TArg1) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Sz, _TArg1), _Dst); \ } \ template <> \ inline \ *************** typedef __time64_t time_t; /* time *** 1069,1079 **** { \ 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 \ --- 1069,1079 ---- { \ 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 *** 1114,1124 **** { \ return __insecure_##_FuncName(_Dst, _TArg1, _TArg2, _TArg3); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1, _TArg2, _TArg3), _Dst); \ } \ template <> \ inline \ --- 1114,1124 ---- { \ return __insecure_##_FuncName(_Dst, _TArg1, _TArg2, _TArg3); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Sz, _TArg1, _TArg2, _TArg3), _Dst); \ } \ template <> \ inline \ *************** typedef __time64_t time_t; /* time *** 1159,1169 **** { \ 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 \ --- 1159,1169 ---- { \ 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 *** 1204,1214 **** { \ 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 \ --- 1204,1214 ---- { \ 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 *** 1249,1259 **** { \ 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 \ --- 1249,1259 ---- { \ 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 *** 1310,1322 **** \ __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)); \ \ --- 1310,1322 ---- \ __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 *** 1354,1364 **** { \ 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 \ --- 1354,1364 ---- { \ 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 *** 1415,1427 **** \ __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)); \ \ --- 1415,1427 ---- \ __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 *** 1459,1469 **** { \ 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 \ --- 1459,1469 ---- { \ 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 *** 1504,1515 **** { \ 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 <> \ --- 1504,1515 ---- { \ 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 *** 1553,1564 **** { \ 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 <> \ --- 1553,1564 ---- { \ 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 <> \ *************** typedef __time64_t time_t; /* time *** 1600,1610 **** { \ return __insecure_##_FuncName(_Dst); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size]) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Size), _Dst); \ } \ template <> \ inline \ --- 1600,1610 ---- { \ return __insecure_##_FuncName(_Dst); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Sz]) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Sz), _Dst); \ } \ template <> \ inline \ *************** typedef __time64_t time_t; /* time *** 1643,1653 **** { \ return __insecure_##_FuncName(_Dst, _TArg1); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1), _Dst); \ } \ template <> \ inline \ --- 1643,1653 ---- { \ return __insecure_##_FuncName(_Dst, _TArg1); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Sz], _TType1 _TArg1) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Sz, _TArg1), _Dst); \ } \ template <> \ inline \ *************** typedef __time64_t time_t; /* time *** 1686,1696 **** { \ 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 \ --- 1686,1696 ---- { \ 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 *** 1729,1739 **** { \ return __insecure_##_FuncName(_Dst, _TArg1, _TArg2, _TArg3); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Size, _TArg1, _TArg2, _TArg3), _Dst); \ } \ template <> \ inline \ --- 1729,1739 ---- { \ return __insecure_##_FuncName(_Dst, _TArg1, _TArg2, _TArg3); \ } \ ! template \ inline \ ! _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Sz], _TType1 _TArg1, _TType2 _TArg2, _TType3 _TArg3) \ { \ ! _ReturnPolicy(_SecureFuncName(_Dst, _Sz, _TArg1, _TArg2, _TArg3), _Dst); \ } \ template <> \ inline \ Index: deque =================================================================== RCS file: /cvsroot/GxInclude/Vc8sp1/Include/deque,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** deque 13 Feb 2007 15:03:08 -0000 1.1 --- deque 13 Feb 2007 16:09:18 -0000 1.2 *************** 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/Vc8sp1/Include/eh.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** eh.h 13 Feb 2007 15:03:08 -0000 1.1 --- eh.h 13 Feb 2007 16:09:18 -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/Vc8sp1/Include/functional,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** functional 13 Feb 2007 15:03:08 -0000 1.1 --- functional 13 Feb 2007 16:09:18 -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/Vc8sp1/Include/iosfwd,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** iosfwd 13 Feb 2007 15:03:08 -0000 1.1 --- iosfwd 8 Oct 2007 21:29:22 -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/Vc8sp1/Include/iostream,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** iostream 13 Feb 2007 15:03:08 -0000 1.1 --- iostream 13 Feb 2007 16:09:18 -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/Vc8sp1/Include/iso646.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** iso646.h 13 Feb 2007 15:03:08 -0000 1.1 --- iso646.h 13 Feb 2007 16:09:18 -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/Vc8sp1/Include/iterator,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** iterator 13 Feb 2007 15:03:08 -0000 1.1 --- iterator 13 Feb 2007 16:09:18 -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/Vc8sp1/Include/limits,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** limits 13 Feb 2007 15:03:08 -0000 1.1 --- limits 10 Oct 2007 14:53:14 -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/Vc8sp1/Include/list,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** list 13 Feb 2007 15:03:08 -0000 1.1 --- list 13 Feb 2007 16:09:18 -0000 1.2 *************** 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/Vc8sp1/Include/math.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** math.h 13 Feb 2007 15:03:08 -0000 1.1 --- math.h 13 Feb 2007 16:09:18 -0000 1.2 *************** _CRTIMP __checkReturn double __cdecl at *** 132,138 **** _CRTIMP __checkReturn 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 __checkReturn 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/Vc8sp1/Include/memory,v retrieving revision 1.1 retrieving revision 1.3 diff -c -3 -p -r1.1 -r1.3 *** memory 13 Feb 2007 15:03:08 -0000 1.1 --- memory 8 Oct 2007 21:40:49 -0000 1.3 *************** *** 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/Vc8sp1/Include/process.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** process.h 13 Feb 2007 15:03:08 -0000 1.1 --- process.h 13 Feb 2007 16:09:18 -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/Vc8sp1/Include/setjmp.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** setjmp.h 13 Feb 2007 15:03:08 -0000 1.1 --- setjmp.h 13 Feb 2007 16:09:18 -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/Vc8sp1/Include/signal.h,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** signal.h 13 Feb 2007 15:03:08 -0000 1.1 --- signal.h 13 Feb 2007 16:09:18 -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: typeinfo =================================================================== RCS file: /cvsroot/GxInclude/Vc8sp1/Include/typeinfo,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** typeinfo 13 Feb 2007 15:03:08 -0000 1.1 --- typeinfo 13 Feb 2007 16:09:18 -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/Vc8sp1/Include/vector,v retrieving revision 1.1 retrieving revision 1.3 diff -c -3 -p -r1.1 -r1.3 *** vector 13 Feb 2007 15:03:08 -0000 1.1 --- vector 10 Oct 2007 14:53:35 -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/Vc8sp1/Include/xdebug,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** xdebug 13 Feb 2007 15:03:08 -0000 1.1 --- xdebug 10 Oct 2007 14:54:01 -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: xhash =================================================================== RCS file: /cvsroot/GxInclude/Vc8sp1/Include/xhash,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** xhash 13 Feb 2007 15:03:08 -0000 1.1 --- xhash 10 Oct 2007 14:54:24 -0000 1.2 *************** public: *** 231,237 **** } protected: ! typename _Mylist::_Iterator<0> _Mypos; }; typedef _List_position _Myvec_value_type; --- 231,237 ---- } protected: ! typename _Mylist::template _Iterator<0>::_Iterator _Mypos; }; typedef _List_position _Myvec_value_type; Index: xlocale =================================================================== RCS file: /cvsroot/GxInclude/Vc8sp1/Include/xlocale,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** xlocale 13 Feb 2007 15:03:08 -0000 1.1 --- xlocale 13 Feb 2007 16:09:18 -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/Vc8sp1/Include/xstddef,v retrieving revision 1.1 retrieving revision 1.2 diff -c -3 -p -r1.1 -r1.2 *** xstddef 13 Feb 2007 15:03:08 -0000 1.1 --- xstddef 13 Feb 2007 16:09:18 -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/Vc8sp1/Include/xutility,v retrieving revision 1.1 retrieving revision 1.5 diff -c -3 -p -r1.1 -r1.5 *** xutility 13 Feb 2007 15:03:08 -0000 1.1 --- xutility 10 Oct 2007 14:54:53 -0000 1.5 *************** *** 12,19 **** --- 12,48 ---- #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); + }; + + /* ------------------------------------------------------------------------ */ + /* Forward declare these now because they are used as non-dependent names. */ + _STDEXT_BEGIN + template class checked_array_iterator; + template + checked_array_iterator<_Iter> make_checked_array_iterator(_Iter _Ptr, size_t _Size); + _STDEXT_END + /* ------------------------------------------------------------------------ */ + _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 *** 838,845 **** __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); } --- 867,874 ---- __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); } --- 880,888 ---- __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: *** 1743,1749 **** _Checked_iterator_base_type _Checked_iterator_base() const { ! typename _Checked_iterator_base_type _Base(_CHECKED_BASE(current)); return _Base; } --- 1772,1778 ---- _Checked_iterator_base_type _Checked_iterator_base() const { ! _Checked_iterator_base_type _Base(_CHECKED_BASE(current)); return _Base; } *************** _STDEXT_END *** 3730,3736 **** #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 --- 3759,3765 ---- #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/Vc8sp1/Include/yvals.h,v retrieving revision 1.1 retrieving revision 1.4 diff -c -3 -p -r1.1 -r1.4 *** yvals.h 13 Feb 2007 15:03:08 -0000 1.1 --- yvals.h 10 Oct 2007 14:55:16 -0000 1.4 *************** *** 110,116 **** #define _STR2WSTR(str) __STR2WSTR(str) #define __FILEW__ _STR2WSTR(__FILE__) ! #define __FUNCTIONW__ _STR2WSTR(__FUNCTION__) /* _SECURE_SCL switches: default values */ --- 110,116 ---- #define _STR2WSTR(str) __STR2WSTR(str) #define __FILEW__ _STR2WSTR(__FILE__) ! #define __FUNCTIONW__ L"" /* _SECURE_SCL switches: default values */ *************** *** 175,180 **** --- 175,199 ---- #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 *** 518,525 **** /* 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 */ --- 537,544 ---- /* 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: *** 577,585 **** _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); --- 596,604 ---- _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: *** 728,735 **** _Mutex_Unlock(this); } #else ! __thiscall _Mutex(); ! __thiscall ~_Mutex(); void __thiscall _Lock(); void __thiscall _Unlock(); #endif --- 747,754 ---- _Mutex_Unlock(this); } #else ! _Mutex(); ! ~_Mutex(); void __thiscall _Lock(); void __thiscall _Unlock(); #endif *************** public: *** 772,779 **** _Init_locks_dtor(this); } #else ! __thiscall _Init_locks(); ! __thiscall ~_Init_locks(); #endif private: --- 791,798 ---- _Init_locks_dtor(this); } #else ! _Init_locks(); ! ~_Init_locks(); #endif private: *************** typedef int _Mbstatet; *** 810,816 **** _C_STD_END #define _EXTERN_TEMPLATE template ! #define _THROW_BAD_ALLOC _THROW1(...) #ifdef _MSC_VER #pragma pack(pop) --- 829,835 ---- _C_STD_END #define _EXTERN_TEMPLATE template ! #define _THROW_BAD_ALLOC #ifdef _MSC_VER #pragma pack(pop)