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<class _InIt, class _OutIt, class _Ty>
+ inline _OutIt unchecked_remove_copy(_InIt _First, _InIt _Last,
+                                     _OutIt _Dest, const _Ty& _Val);
+ template<class _InIt, class _OutIt, class _Pr>
+ inline _OutIt unchecked_remove_copy_if(_InIt _First, _InIt _Last,
+                                        _OutIt _Dest, _Pr _Pred);
+ template<class _InIt1, class _InIt2, class _OutIt>
+ inline _OutIt unchecked_merge(_InIt1 _First1, _InIt1 _Last1,
+                               _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest);
+ template<class _InIt1, class _InIt2, class _OutIt, class _Pr>
+ inline _OutIt unchecked_merge(_InIt1 _First1, _InIt1 _Last1,
+                               _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest,
+                               _Pr _Pred);
+ template<class _BidIt1, class _BidIt2, class _BidIt3>
+ inline _BidIt3 _Unchecked_merge_backward(_BidIt1 _First1, _BidIt1 _Last1,
+                                          _BidIt2 _First2, _BidIt2 _Last2,
+                                          _BidIt3 _Dest);
+ template<class _BidIt1, class _BidIt2, class _BidIt3, class _Pr>
+ inline _BidIt3 _Unchecked_merge_backward(_BidIt1 _First1, _BidIt1 _Last1,
+                                          _BidIt2 _First2, _BidIt2 _Last2,
+                                          _BidIt3 _Dest, _Pr _Pred);
+ template<class _BidIt, class _OutIt, class _Diff>
+ inline void _Unchecked_chunked_merge(_BidIt _First, _BidIt _Last,
+                                      _OutIt _Dest, _Diff _Chunk,
+                                      _Diff _Count);
+ template<class _BidIt, class _OutIt, class _Diff, class _Pr>
+ 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<LPCSTR> (str), NULL);
      }
  
      // Make sure correct ctor is called
      //
!     template<> _com_ptr_t(__in LPWSTR str) 
      {
          new(this) _com_ptr_t(static_cast<LPCWSTR> (str), NULL);
      }
--- 101,114 ----
  
      // Make sure correct ctor is called
      //
!     _com_ptr_t(__in LPSTR str) 
      {
          new(this) _com_ptr_t(static_cast<LPCSTR> (str), NULL);
      }
  
      // Make sure correct ctor is called
      //
!     _com_ptr_t(__in LPWSTR str) 
      {
          new(this) _com_ptr_t(static_cast<LPCWSTR> (str), NULL);
      }
*************** public:
*** 116,122 ****
      // Disable conversion using _com_ptr_t* specialization of
      // template<typename _InterfaceType> _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<typename _InterfaceType> _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 <size_t _Size> \
      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 <size_t _Size> \
      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 <size_t _Size> \
      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 <size_t _Size> \
      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 <size_t _Size> \
      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 <size_t _Size> \
      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 <size_t _Size> \
      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 <size_t _Size> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Sz> \
      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 <size_t _Sz> \
      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 <size_t _Sz> \
      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 <size_t _Sz> \
      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 <size_t _Sz> \
      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 <size_t _Sz> \
      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 <size_t _Sz> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      inline \
!     _ReturnType __CRTDECL _FuncName(_DstType (&_Dst)[_Size]) \
      { \
!         _ReturnPolicy(_SecureFuncName(_Dst, _Size), _Dst); \
      } \
      template <> \
      inline \
--- 924,934 ----
      { \
          return __insecure_##_FuncName(_Dst); \
      } \
!     template <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      inline \
!     _ReturnType __CRTDECL _FuncName(_SecureDstType (&_Dst)[_Size]) \
      { \
!         _ReturnPolicy(_SecureFuncName(_Dst, _Size), _Dst); \
      } \
      template <> \
      inline \
--- 1600,1610 ----
      { \
          return __insecure_##_FuncName(_Dst); \
      } \
!     template <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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 <size_t _Size> \
      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 <size_t _Sz> \
      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<class _Arg,
*** 403,419 ****
  	return (std::pointer_to_unary_function<_Arg, _Result, _Result (__stdcall *)(_Arg)>(_Left));
  	}
  
- #ifndef _M_CEE
- template<class _Arg,
- 	class _Result> 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<class _Arg1,
*** 448,467 ****
  		_Result (__stdcall *)(_Arg1, _Arg2)>(_Left));
  	}
  
- #ifndef _M_CEE
- 
- template<class _Arg1,
- 	class _Arg2,
- 	class _Result> 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<class _Traits>
+ 	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<class _Traits>
+ 	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<class _Traits>
+ 	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<class _Traits>
+ 	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<class _Traits>
+ 	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<class _Traits>
+ 	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 <class _Cont, class _Iter = typ
*** 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;
--- 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 _Ty>
  	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 _Ty>
  	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<false>,
  		_Unchanged_checked_iterator_base_type_tag>::_Result _Checked_iterator_base_type;
  
! 	friend _Const_iterator<false>;
! 	friend _Const_iterator<true>;
  
  	_Const_iterator<false> _Checked_iterator_base() const
  	{
--- 187,193 ----
  		_Const_iterator<false>,
  		_Unchanged_checked_iterator_base_type_tag>::_Result _Checked_iterator_base_type;
  
! 	friend class _Const_iterator<!_SECURE_VALIDATION>;
  
  	_Const_iterator<false> _Checked_iterator_base() const
  	{
*************** public:
*** 367,374 ****
  		_Iterator<false>,
  		_Unchanged_checked_iterator_base_type_tag>::_Result _Checked_iterator_base_type;
  
! 	friend _Iterator<false>;
! 	friend _Iterator<true>;
  
  	_Iterator<false> _Checked_iterator_base() const
  	{
--- 366,372 ----
  		_Iterator<false>,
  		_Unchanged_checked_iterator_base_type_tag>::_Result _Checked_iterator_base_type;
  
! 	friend class _Iterator<!_SECURE_VALIDATION>;
  
  	_Iterator<false> _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<class _InIt, class _FwdIt>
+ inline _FwdIt unchecked_uninitialized_copy(_InIt _First, _InIt _Last, _FwdIt _Dest);
+ template<class _InIt, class _FwdIt, class _Alloc>
+ 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<class _Ty>
*** 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<class _Other>
  		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<class _Other>
  		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<class _Dummy>
*** 54,59 ****
--- 54,61 ----
  class locale;
  template<class _Facet>
  	const _Facet& __CRTDECL use_facet(const locale&);
+ template<class _Elem>
+     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 <class _Base, class _Derived>
+ 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 _Iterator> class checked_array_iterator;
+ template <class _Iter>
+ 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<class _Iter1, class _Iter2> 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<class _Iter1, class _Iter2, cla
*** 851,859 ****
  		__CLRCALL_OR_CDECL _Iter_random(const _Iter1&, const _Iter2&, const _Iter3&)
  	{	// return category from iterator argument
  	typename _Iter_random_helper3<
! 		iterator_traits<_Iter1>::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"<GCCXML-DISABLED>"
  
   #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"<GCCXML-DISABLED>"
  
  /* _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)
