diff -Naur -x CVS -x 'CMake*' -x 'cmake*' -x Makefile -x '*.cmake' -x '*.exe' CableSwig180/GCC_XML/GXFront/gxConfiguration.cxx cableswigitkNew/GCC_XML/GXFront/gxConfiguration.cxx --- CableSwig180/GCC_XML/GXFront/gxConfiguration.cxx 2004-05-07 13:03:42.000000000 +0200 +++ cableswigitkNew/GCC_XML/GXFront/gxConfiguration.cxx 2004-12-28 16:00:07.921875000 +0100 @@ -26,6 +26,11 @@ "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.0;InstallDir"; const char* gxConfigurationVc71Registry = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.1;InstallDir"; +const char* gxConfigurationWS2003PlatformSDK = +"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MicrosoftSDK\\InstalledSDKs\\" +"63DADB24-DC99-45EB-A748-EC93AB8A7497;Install Dir"; +const char* gxConfigurationWS2003PlatformSDKVc71 = +"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VC7;7.1"; //---------------------------------------------------------------------------- gxConfiguration::gxConfiguration() @@ -817,47 +822,66 @@ loc); bool have71 = gxSystemTools::ReadRegistryValue(gxConfigurationVc71Registry, loc); + bool haveFree71 = + gxSystemTools::ReadRegistryValue(gxConfigurationWS2003PlatformSDK, loc); + std::cout << "haveFree " << haveFree71 << "\n"; + bool support6 = gxSystemTools::FileIsDirectory((m_GCCXML_ROOT+"/Vc6").c_str()); bool support7 = gxSystemTools::FileIsDirectory((m_GCCXML_ROOT+"/Vc7").c_str()); bool support71 = gxSystemTools::FileIsDirectory((m_GCCXML_ROOT+"/Vc71").c_str()); + bool supportWS2003PlatformSDK = + gxSystemTools::FileIsDirectory((m_GCCXML_ROOT+ + "/WS2003PlatformSDK").c_str()); + std::cout << "support " << support6 << support7 << support71 << + supportWS2003PlatformSDK; // See if only one is installed. - if(have6 && !have7 && !have71) + if(have6 && !have7 && !have71 && !haveFree71) { return this->FindFlagsMSVC6(); } - else if(!have6 && have7 && !have71) + else if(!have6 && have7 && !have71 && !haveFree71) { return this->FindFlagsMSVC7(); } - else if(!have6 && !have7 && have71) + else if(!have6 && !have7 && have71 && !haveFree71) { return this->FindFlagsMSVC71(); } - else if(have6 || have7 || have71) + else if(!have6 && !have7 && !have71 && haveFree71) + { + return this->FindFlagsWS2003PlatformSDK(); + } + else if(have6 || have7 || have71 || haveFree71) { // Have more than one. See if only one has the support // directory available. - if(support6 && !support7 && !support71) + if(support6 && !support7 && !support71 && !supportWS2003PlatformSDK) { return this->FindFlagsMSVC6(); } - else if(!support6 && support7 && !support71) + else if(!support6 && support7 && !support71 && !supportWS2003PlatformSDK) { return this->FindFlagsMSVC7(); } - else if(!support6 && !support7 && support71) + else if(!support6 && !support7 && support71 && !supportWS2003PlatformSDK) { return this->FindFlagsMSVC71(); } - else if(!support6 && !support7 && !support71) + else if(!support6 && !support7 && !support71 && supportWS2003PlatformSDK) + { + return this->FindFlagsWS2003PlatformSDK(); + } + else if(!support6 && !support7 && !support71 && + !supportWS2003PlatformSDK) { std::cerr << "Compiler \"" << m_GCCXML_COMPILER << "\" is not supported by GCC_XML because none of \n" - << "the Vc6, Vc7, or Vc71 support directories exists.\n"; + << "the Vc6, Vc7, Vc71 or WS2003PlatformSDK support " + << "directories exists.\n"; return false; } @@ -1137,13 +1161,15 @@ // Make sure the support directories exist. if(!gxSystemTools::FileIsDirectory(vcIncludePath1.c_str())) { - std::cerr << "Vc71/Include support directory is not available.\n"; + std::cerr << + "WS2003PlatformSDK/Include support directory is not available.\n"; std::cerr << "Checked \"" << vcIncludePath1.c_str() << "\".\n"; return false; } if(!gxSystemTools::FileIsDirectory(vcIncludePath2.c_str())) { - std::cerr << "Vc71/PlatformSDK support directory is not available.\n"; + std::cerr << + "WS2003PlatformSDK/PlatformSDK support directory is not available.\n"; std::cerr << "Checked \"" << vcIncludePath2.c_str() << "\".\n"; return false; } @@ -1169,6 +1195,78 @@ } //---------------------------------------------------------------------------- + +bool gxConfiguration::FindFlagsWS2003PlatformSDK() +{ + // The registry key to use when attempting to automatically find the + // MSVC include files. + std::string platformSdkPath; + if(!gxSystemTools::ReadRegistryValue(gxConfigurationWS2003PlatformSDK, + platformSdkPath)) + { + std::cerr << "Error finding Windows Server 2003 Platform SDK registry key " + << gxConfigurationWS2003PlatformSDK << "\n"; + return false; + } + std::string platformSdkVc71Path; + if(!gxSystemTools::ReadRegistryValue(gxConfigurationWS2003PlatformSDKVc71, + platformSdkVc71Path)) + { + std::cerr << "Error finding Microsoft Visual Studio .NET 2003 registry " + << "key " << gxConfigurationWS2003PlatformSDK + << ". Expected since Windows Server 2003 Platform SDK exists.\n"; + return false; + } + std::string platformSdkPath1 = platformSdkVc71Path+"/Include"; + std::string platformSdkPath2 = platformSdkPath+"/Include"; + platformSdkPath1 = + gxSystemTools::CollapseDirectory(platformSdkPath1.c_str()); + platformSdkPath2 = + gxSystemTools::CollapseDirectory(platformSdkPath2.c_str()); + gxSystemTools::ConvertToUnixSlashes(platformSdkPath1); + gxSystemTools::ConvertToUnixSlashes(platformSdkPath2); + std::string supportIncludePath1 = m_GCCXML_ROOT+"/WS2003PlatformSDK/Include"; + std::string supportIncludePath2 = m_GCCXML_ROOT+"/WS2003PlatformSDK/PlatformSDK"; + gxSystemTools::ConvertToUnixSlashes(supportIncludePath1); + gxSystemTools::ConvertToUnixSlashes(supportIncludePath2); + + // Make sure the support directories exist. + if(!gxSystemTools::FileIsDirectory(supportIncludePath1.c_str())) + { + std::cerr << "Vc71/Include support directory is not available.\n"; + std::cerr << "Checked \"" << supportIncludePath1.c_str() << "\".\n"; + return false; + } + if(!gxSystemTools::FileIsDirectory(supportIncludePath2.c_str())) + { + std::cerr << "Windows Server 2003 Platform SDK support directory is not " + "available.\n"; + std::cerr << "Checked \"" << supportIncludePath2.c_str() << "\".\n"; + return false; + } + + m_GCCXML_FLAGS = + "-D__stdcall=__attribute__((__stdcall__)) " + "-D__cdecl=__attribute__((__cdecl__)) " + "-D__fastcall=__attribute__((__fastcall__)) " + "-D_stdcall=__attribute__((__stdcall__)) " + "-D_cdecl=__attribute__((__cdecl__)) " + "-D_fastcall=__attribute__((__fastcall__)) " + "-D__declspec(x)=__attribute__((x)) " + "-D__cplusplus -D_inline=inline -D__forceinline=__inline " + "-D_MSC_VER=1310 -D_MSC_EXTENSIONS -D_WIN32 -D_M_IX86 " + "-D_WCHAR_T_DEFINED -DPASCAL= -DRPC_ENTRY= -DSHSTDAPI=HRESULT " + "-D_INTEGRAL_MAX_BITS=64 " + "-D__uuidof(x)=IID() -DSHSTDAPI_(x)=x -D__w64= -D__int64=long long " + "-iwrapper"+supportIncludePath1+" " + "-iwrapper"+supportIncludePath2+" " + "-I"+platformSdkPath1+" " + "-I"+platformSdkPath2+" "; + return true; +} + +//---------------------------------------------------------------------------- + bool gxConfiguration::FindFlagsBCC55(const char* inBcc32) { // Find the support include directory. diff -Naur -x CVS -x 'CMake*' -x 'cmake*' -x Makefile -x '*.cmake' -x '*.exe' CableSwig180/GCC_XML/GXFront/gxConfiguration.h cableswigitkNew/GCC_XML/GXFront/gxConfiguration.h --- CableSwig180/GCC_XML/GXFront/gxConfiguration.h 2003-10-28 21:50:04.000000000 +0100 +++ cableswigitkNew/GCC_XML/GXFront/gxConfiguration.h 2004-12-28 16:00:07.921875000 +0100 @@ -143,6 +143,7 @@ bool FindFlagsMSVC6(); bool FindFlagsMSVC7(); bool FindFlagsMSVC71(); + bool FindFlagsWS2003PlatformSDK(); bool FindFlagsBCC55(const char* inBcc32); }; diff -Naur -x CVS -x 'CMake*' -x 'cmake*' -x Makefile -x '*.cmake' -x '*.exe' CableSwig180/GCC_XML/VcInstall/vcInstall.cxx cableswigitkNew/GCC_XML/VcInstall/vcInstall.cxx --- CableSwig180/GCC_XML/VcInstall/vcInstall.cxx 2004-08-05 22:11:04.000000000 +0200 +++ cableswigitkNew/GCC_XML/VcInstall/vcInstall.cxx 2004-12-28 16:00:13.312500000 +0100 @@ -58,19 +58,27 @@ "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.0;InstallDir"; const char* vc71Registry = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.1;InstallDir"; - + const char* coreSDKWindowsServer2003Registry = + "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MicrosoftSDK\\InstalledSDKs\\" + "63DADB24-DC99-45EB-A748-EC93AB8A7497;Install Dir"; + // Check which versions of MSVC are installed. std::string msvc6; std::string msvc7; std::string msvc71; + std::string coreSDKWindowsServer2003; bool have6 = gxSystemTools::ReadRegistryValue(vc6Registry, msvc6); bool have7 = gxSystemTools::ReadRegistryValue(vc7Registry, msvc7); bool have71 = gxSystemTools::ReadRegistryValue(vc71Registry, msvc71); + bool haveCoreSDKWindowsServer2003 = + gxSystemTools::ReadRegistryValue(coreSDKWindowsServer2003Registry, + coreSDKWindowsServer2003); // See if there is anything to do. - if(!have6 && !have7 && !have71) + if(!have6 && !have7 && !have71 && !haveCoreSDKWindowsServer2003) { - std::cout << "None of MSVC 6, 7, or 7.1 is installed.\n"; + std::cout << "None of MSVC 6, 7, 7.1 or Windows Server 2003 Core SDK " + "is installed.\n"; return 0; } @@ -78,14 +86,14 @@ // to find the cat and patch executables. std::string patchCommand; if(!FindTool(patchDir.c_str(), "patch", patchCommand) && - (have6||have7||have71)) + (have6||have7||have71|haveCoreSDKWindowsServer2003)) { std::cerr << "Cannot find patch executable.\n"; return 1; } std::string catCommand; if(!FindTool(patchDir.c_str(), "cat", catCommand) && - (have6||have7||have71)) + (have6||have7||have71|haveCoreSDKWindowsServer2003)) { std::cerr << "Cannot find cat executable.\n"; return 1; @@ -186,6 +194,60 @@ result = 1; } } + if(haveCoreSDKWindowsServer2003) + { + const char* vc7Registry = + "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VC7;7.1"; + std::string vc7; + bool haveVc7 = + gxSystemTools::ReadRegistryValue(vc7Registry, vc7); + if (!haveVc7) { + std::cout << + std::string("Windows Server 2003 Core SDK Installed but cannot find " + "registry key ") + vc7Registry + "\n"; + return 0; + } + std::string vc7Include = vc7 + "/Include"; + std::string platformInclude = coreSDKWindowsServer2003 + "/Include"; + + vc7Include = gxSystemTools::CollapseDirectory(vc7Include.c_str()); + platformInclude = + gxSystemTools::CollapseDirectory(platformInclude.c_str()); + std::string patchI = patchDir + "/coreSdkWs2003Include.patch"; + std::string patchP = patchDir + "/coreSdkWs2003PlatformSDK.patch"; + std::string destPathI = gccxmlRoot + "/WS2003PlatformSDK/Include"; + std::string destPathP = gccxmlRoot + "/WS2003PlatformSDK/PlatformSDK"; + if(gxSystemTools::FileExists(patchI.c_str())) + { + if(!InstallSupport(patchCommand.c_str(), catCommand.c_str(), + patchI.c_str(), vc7Include.c_str(), + destPathI.c_str())) + { + result = 1; + } + } + else + { + std::cerr << "Have Windows Server 2003 Core SDK, but cannot find " + "coreSdkWs2003Include.patch\n"; + result = 1; + } + if(gxSystemTools::FileExists(patchP.c_str())) + { + if(!InstallSupport(patchCommand.c_str(), catCommand.c_str(), + patchP.c_str(), platformInclude.c_str(), + destPathP.c_str())) + { + result = 1; + } + } + else + { + std::cerr << "Have Windows Server 2003 Core SDK, but cannot find " + "coreSdkWs2003PlatformSDK.patch\n"; + result = 1; + } + } // If we succeeded, write the timestamp file. if(result == 0 && (timestamp.length() > 0)) diff -Naur -x CVS -x 'CMake*' -x 'cmake*' -x Makefile -x '*.cmake' -x '*.exe' -x auto-hosts.h -x gtyp-gen.h CableSwig180/GCC_XML/VcInstall/coreSdkWs2003Include.patch cableswigitkNew/GCC_XML/VcInstall/coreSdkWs2003Include.patch --- CableSwig180/GCC_XML/VcInstall/coreSdkWs2003Include.patch 1970-01-01 01:00:00.000000000 +0100 +++ cableswigitkNew/GCC_XML/VcInstall/coreSdkWs2003Include.patch 2004-12-28 16:00:13.218750000 +0100 @@ -0,0 +1,162 @@ +Index: assert.h +=================================================================== +RCS file: /cvsroot/GxInclude/Vc71/Include/assert.h,v +retrieving revision 1.1 +retrieving revision 1.2 +diff -c -3 -p -r1.1 -r1.2 +*** assert.h 10 Jun 2003 16:12:29 -0000 1.1 +--- assert.h 10 Jun 2003 17:36:05 -0000 1.2 +*************** _CRTIMP void __cdecl _assert(const char +*** 53,58 **** + } + #endif + +! #define assert(exp) (void)( (exp) || (_assert(#exp, __FILE__, __LINE__), 0) ) + + #endif /* NDEBUG */ +--- 53,58 ---- + } + #endif + +! #define assert(exp) (void)( (exp) || (_assert((void*)#exp, __FILE__, __LINE__), 0) ) + + #endif /* NDEBUG */ +Index: signal.h +=================================================================== +RCS file: /cvsroot/GxInclude/Vc71/Include/signal.h,v +retrieving revision 1.1 +diff -c -3 -p -r1.1 signal.h +*** signal.h 10 Jun 2003 16:12:29 -0000 1.1 +--- signal.h 17 May 2004 17:32:37 -0000 +*************** extern void * _pxcptinfoptrs; +*** 89,95 **** + + /* Function prototypes */ + +! _CRTIMP void (__cdecl * __cdecl signal(int, void (__cdecl *)(int)))(int); + _CRTIMP int __cdecl raise(int); + + +--- 89,96 ---- + + /* Function prototypes */ + +! typedef void (__cdecl * __signal_handler_t)(int); +! _CRTIMP __signal_handler_t __cdecl signal(int, __signal_handler_t); + _CRTIMP int __cdecl raise(int); + + +Index: typeinfo +=================================================================== +RCS file: /cvsroot/GxInclude/Vc71/Include/typeinfo,v +retrieving revision 1.1 +retrieving revision 1.3 +diff -c -3 -p -r1.1 -r1.3 +Index: typeinfo.h +=================================================================== +RCS file: /cvsroot/GxInclude/Vc71/Include/typeinfo.h,v +retrieving revision 1.1 +retrieving revision 1.2 +diff -c -3 -p -r1.1 -r1.2 +*** typeinfo.h 10 Jun 2003 16:12:29 -0000 1.1 +--- typeinfo.h 17 May 2004 14:29:56 -0000 1.2 +*************** +*** 37,42 **** +--- 37,43 ---- + #endif /* _DLL */ + #endif /* _CRTIMP */ + ++ namespace std { + class type_info { + public: + _CRTIMP virtual ~type_info(); +*************** private: +*** 51,57 **** + type_info(const type_info& rhs); + type_info& operator=(const type_info& rhs); + }; +! + + // This include must occur below the definition of class type_info + #include +--- 52,59 ---- + type_info(const type_info& rhs); + type_info& operator=(const type_info& rhs); + }; +! } +! using std::type_info; + + // This include must occur below the definition of class type_info + #include +Index: xlocale +=================================================================== +RCS file: /cvsroot/GxInclude/Vc71/Include/xlocale,v +retrieving revision 1.1 +retrieving revision 1.2 +diff -c -3 -p -r1.1 -r1.2 +*** xlocale 10 Jun 2003 16:12:29 -0000 1.1 +--- xlocale 10 Jun 2003 17:36:05 -0000 1.2 +*************** +*** 13,18 **** +--- 13,21 ---- + #pragma warning(push,3) + + _STD_BEGIN ++ class _CRTIMP2 locale; ++ template class collate; ++ template const _Facet& __cdecl use_facet(const locale& _Loc); + + // TEMPLATE CLASS _Locbase + template +Index: xstddef +=================================================================== +RCS file: /cvsroot/GxInclude/Vc71/Include/xstddef,v +retrieving revision 1.1 +retrieving revision 1.2 +diff -c -3 -p -r1.1 -r1.2 +*** xstddef 10 Jun 2003 16:12:29 -0000 1.1 +--- xstddef 10 Jun 2003 17:36:05 -0000 1.2 +*************** _STD_BEGIN +*** 24,30 **** + #define _RERAISE throw + + #define _THROW0() throw () +! #define _THROW1(x) throw (...) + #define _THROW(x, y) throw x(y) + + #else /* _HAS_EXCEPTIONS */ +--- 24,30 ---- + #define _RERAISE throw + + #define _THROW0() throw () +! #define _THROW1(x) throw (x) + #define _THROW(x, y) throw x(y) + + #else /* _HAS_EXCEPTIONS */ +Index: yvals.h +=================================================================== +RCS file: /cvsroot/GxInclude/Vc71/Include/yvals.h,v +retrieving revision 1.1 +retrieving revision 1.2 +diff -c -3 -p -r1.1 -r1.2 +*** yvals.h 10 Jun 2003 16:12:29 -0000 1.1 +--- yvals.h 24 Jan 2004 18:03:43 -0000 1.2 +*************** _STD_END +*** 121,128 **** + /* 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 */ +--- 121,128 ---- + /* VC++ COMPILER PARAMETERS */ + #define _LONGLONG __int64 + #define _ULONGLONG unsigned __int64 +! #define _LLONG_MAX 0x7fffffffffffffffLL +! #define _ULLONG_MAX 0xffffffffffffffffLL + + /* INTEGER PROPERTIES */ + #define _C2 1 /* 0 if not 2's complement */ diff -Naur -x CVS -x 'CMake*' -x 'cmake*' -x Makefile -x '*.cmake' -x '*.exe' -x auto-hosts.h -x gtyp-gen.h CableSwig180/GCC_XML/VcInstall/coreSdkWs2003PlatformSDK.patch cableswigitkNew/GCC_XML/VcInstall/coreSdkWs2003PlatformSDK.patch --- CableSwig180/GCC_XML/VcInstall/coreSdkWs2003PlatformSDK.patch 1970-01-01 01:00:00.000000000 +0100 +++ cableswigitkNew/GCC_XML/VcInstall/coreSdkWs2003PlatformSDK.patch 2004-12-28 16:00:13.218750000 +0100 @@ -0,0 +1,112 @@ +Index: OAIdl.h +=================================================================== +diff -u -3 -p ./OAIdl.h ../include/OAIdl.h +--- ./OAIdl.h 2004-11-16 19:07:09.796875000 +0100 ++++ ../include/OAIdl.h 2004-11-16 19:21:21.781250000 +0100 +@@ -439,7 +439,7 @@ struct tagVARIANT + FLOAT fltVal; + DOUBLE dblVal; + VARIANT_BOOL boolVal; +- _VARIANT_BOOL bool; ++// _VARIANT_BOOL bool; + SCODE scode; + CY cyVal; + DATE date; +@@ -454,7 +454,7 @@ struct tagVARIANT + FLOAT *pfltVal; + DOUBLE *pdblVal; + VARIANT_BOOL *pboolVal; +- _VARIANT_BOOL *pbool; ++// _VARIANT_BOOL *pbool; + SCODE *pscode; + CY *pcyVal; + DATE *pdate; +Index: PropIdl.h +=================================================================== +diff -u -3 -p ./PropIdl.h ../include/PropIdl.h +--- ./PropIdl.h 2004-11-16 19:07:11.109375000 +0100 ++++ ../include/PropIdl.h 2004-11-16 19:22:37.796875000 +0100 +@@ -307,7 +307,7 @@ struct tag_inner_PROPVARIANT + /* [case()] */ FLOAT fltVal; + /* [case()] */ DOUBLE dblVal; + /* [case()] */ VARIANT_BOOL boolVal; +- /* [case()] */ _VARIANT_BOOL bool; ++// /* [case()] */ _VARIANT_BOOL bool; + /* [case()] */ SCODE scode; + /* [case()] */ CY cyVal; + /* [case()] */ DATE date; +Common subdirectories: ./Win64 and ../include/Win64 +Index: WinNT.h +=================================================================== +diff -u -3 -p ./WinNT.h ../include/WinNT.h +--- ./WinNT.h 2004-11-16 19:07:22.890625000 +0100 ++++ ../include/WinNT.h 2004-11-16 19:20:04.890625000 +0100 +@@ -593,13 +593,6 @@ Int64ShllMod32 ( + DWORD ShiftCount + ) + { +- __asm { +- mov ecx, ShiftCount +- mov eax, dword ptr [Value] +- mov edx, dword ptr [Value+4] +- shld edx, eax, cl +- shl eax, cl +- } + } + + __inline LONGLONG +@@ -609,13 +602,6 @@ Int64ShraMod32 ( + DWORD ShiftCount + ) + { +- __asm { +- mov ecx, ShiftCount +- mov eax, dword ptr [Value] +- mov edx, dword ptr [Value+4] +- shrd eax, edx, cl +- sar edx, cl +- } + } + + __inline ULONGLONG +@@ -625,13 +611,6 @@ Int64ShrlMod32 ( + DWORD ShiftCount + ) + { +- __asm { +- mov ecx, ShiftCount +- mov eax, dword ptr [Value] +- mov edx, dword ptr [Value+4] +- shrd eax, edx, cl +- shr edx, cl +- } + } + + #if _MSC_VER >= 1200 +@@ -2280,10 +2259,6 @@ MemoryBarrier ( + VOID + ) + { +- LONG Barrier; +- __asm { +- xchg Barrier, eax +- } + } + + #define YieldProcessor() __asm { rep nop } +@@ -2312,12 +2287,8 @@ _inline PVOID GetCurrentFiber( void ) { + #pragma warning(push) + #endif + #pragma warning (disable:4035) // disable 4035 (function must return something) +-_inline PVOID GetFiberData( void ) { __asm { +- mov eax, fs:[0x10] +- mov eax,[eax] +- } +- } +-_inline PVOID GetCurrentFiber( void ) { __asm mov eax, fs:[0x10] } ++_inline PVOID GetFiberData( void ) {} ++_inline PVOID GetCurrentFiber( void ) {} + + #if _MSC_VER >= 1200 + #pragma warning(pop) +