From d3e639a3979205dc3ec52e6205170b03bbde3a1c Mon Sep 17 00:00:00 2001 From: Jordan Woyak Date: Sat, 1 Oct 2011 21:03:51 -0500 Subject: [PATCH] fix build issue with intel compiler and fix some unsafe string usages, patch by FilthyMonkey --- Source/Core/Common/Src/Common.h | 2 +- Source/Core/Common/Src/Version.cpp | 5 +++++ Source/Plugins/Plugin_VideoDX11/Src/LineGeometryShader.cpp | 7 ++++--- .../Plugins/Plugin_VideoDX11/Src/PointGeometryShader.cpp | 7 ++++--- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Source/Core/Common/Src/Common.h b/Source/Core/Common/Src/Common.h index bc9b4dc051..888a206d5d 100644 --- a/Source/Core/Common/Src/Common.h +++ b/Source/Core/Common/Src/Common.h @@ -143,7 +143,7 @@ private: #define _M_SSE 0x301 #elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) #define _M_SSE 0x301 -#elif _MSC_VER >= 1500 // Visual Studio 2008 +#elif (_MSC_VER >= 1500) || __INTEL_COMPILER // Visual Studio 2008 #define _M_SSE 0x402 #endif diff --git a/Source/Core/Common/Src/Version.cpp b/Source/Core/Common/Src/Version.cpp index f3d30398c8..97e232785d 100644 --- a/Source/Core/Common/Src/Version.cpp +++ b/Source/Core/Common/Src/Version.cpp @@ -30,7 +30,12 @@ const char *scm_rev_str = "Dolphin " #if !SCM_IS_MASTER "[" SCM_BRANCH_STR "] " #endif + +#ifdef __INTEL_COMPILER + BUILD_TYPE_STR SCM_DESC_STR "-ICC"; +#else BUILD_TYPE_STR SCM_DESC_STR; +#endif #ifdef _M_X64 #define NP_ARCH "x64" diff --git a/Source/Plugins/Plugin_VideoDX11/Src/LineGeometryShader.cpp b/Source/Plugins/Plugin_VideoDX11/Src/LineGeometryShader.cpp index 25f3712eb1..3afd38a2e1 100644 --- a/Source/Plugins/Plugin_VideoDX11/Src/LineGeometryShader.cpp +++ b/Source/Plugins/Plugin_VideoDX11/Src/LineGeometryShader.cpp @@ -187,14 +187,15 @@ bool LineGeometryShader::SetShader(u32 components, float lineWidth, p = GenerateVSOutputStruct(p, components, API_D3D11); p += sprintf(p, "\n%s", LINE_GS_COMMON); - std::stringstream numTexCoordsStr; - numTexCoordsStr << xfregs.numTexGen.numTexGens; + std::stringstream numTexCoordsStream; + numTexCoordsStream << xfregs.numTexGen.numTexGens; INFO_LOG(VIDEO, "Compiling line geometry shader for components 0x%.08X (num texcoords %d)", components, xfregs.numTexGen.numTexGens); + const std::string& numTexCoordsStr = numTexCoordsStream.str(); D3D_SHADER_MACRO macros[] = { - { "NUM_TEXCOORDS", numTexCoordsStr.str().c_str() }, + { "NUM_TEXCOORDS", numTexCoordsStr.c_str() }, { NULL, NULL } }; ID3D11GeometryShader* newShader = D3D::CompileAndCreateGeometryShader(code, unsigned int(strlen(code)), macros); diff --git a/Source/Plugins/Plugin_VideoDX11/Src/PointGeometryShader.cpp b/Source/Plugins/Plugin_VideoDX11/Src/PointGeometryShader.cpp index fcf3315802..ad23786610 100644 --- a/Source/Plugins/Plugin_VideoDX11/Src/PointGeometryShader.cpp +++ b/Source/Plugins/Plugin_VideoDX11/Src/PointGeometryShader.cpp @@ -181,14 +181,15 @@ bool PointGeometryShader::SetShader(u32 components, float pointSize, p = GenerateVSOutputStruct(p, components, API_D3D11); p += sprintf(p, "\n%s", POINT_GS_COMMON); - std::stringstream numTexCoordsStr; - numTexCoordsStr << xfregs.numTexGen.numTexGens; + std::stringstream numTexCoordsStream; + numTexCoordsStream << xfregs.numTexGen.numTexGens; INFO_LOG(VIDEO, "Compiling point geometry shader for components 0x%.08X (num texcoords %d)", components, xfregs.numTexGen.numTexGens); + const std::string& numTexCoordsStr = numTexCoordsStream.str(); D3D_SHADER_MACRO macros[] = { - { "NUM_TEXCOORDS", numTexCoordsStr.str().c_str() }, + { "NUM_TEXCOORDS", numTexCoordsStr.c_str() }, { NULL, NULL } }; ID3D11GeometryShader* newShader = D3D::CompileAndCreateGeometryShader(code, unsigned int(strlen(code)), macros);