From 35f04bde8aa4966786cd30e0ee05f2ab8bcc9bbd Mon Sep 17 00:00:00 2001 From: John Kessenich Date: Wed, 19 Feb 2014 02:47:20 +0000 Subject: [PATCH] Make 64-bit VS compile clean. Mostly size_t vs. int tweaks. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25411 e7fa87d3-cd2b-0410-9028-fcbf551c1848 --- StandAlone.sln | 20 ++ StandAlone.vcxproj | 250 ++++++++++++++++ StandAlone/StandAlone.cpp | 2 +- StandAlone/Worklist.h | 2 +- glslang.vcxproj | 304 ++++++++++++++++++++ glslang/Include/ConstantUnion.h | 4 +- glslang/Include/revision.h | 4 +- glslang/MachineIndependent/ParseHelper.cpp | 2 +- glslang/MachineIndependent/Scan.h | 2 +- glslang/MachineIndependent/limits.cpp | 2 +- glslang/MachineIndependent/linkValidate.cpp | 4 +- glslang/MachineIndependent/reflection.cpp | 8 +- glslang/MachineIndependent/reflection.h | 4 +- 13 files changed, 591 insertions(+), 17 deletions(-) diff --git a/StandAlone.sln b/StandAlone.sln index 644057c5..ab7ac68e 100644 --- a/StandAlone.sln +++ b/StandAlone.sln @@ -7,27 +7,47 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug CRT DLL|Win32 = Debug CRT DLL|Win32 + Debug CRT DLL|x64 = Debug CRT DLL|x64 Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 Release CRT DLL|Win32 = Release CRT DLL|Win32 + Release CRT DLL|x64 = Release CRT DLL|x64 Release|Win32 = Release|Win32 + Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Debug CRT DLL|Win32.ActiveCfg = Debug CRT DLL|Win32 {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Debug CRT DLL|Win32.Build.0 = Debug CRT DLL|Win32 + {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Debug CRT DLL|x64.ActiveCfg = Debug CRT DLL|x64 + {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Debug CRT DLL|x64.Build.0 = Debug CRT DLL|x64 {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Debug|Win32.ActiveCfg = Debug|Win32 {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Debug|Win32.Build.0 = Debug|Win32 + {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Debug|x64.ActiveCfg = Debug|x64 + {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Debug|x64.Build.0 = Debug|x64 {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Release CRT DLL|Win32.ActiveCfg = Release CRT DLL|Win32 {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Release CRT DLL|Win32.Build.0 = Release CRT DLL|Win32 + {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Release CRT DLL|x64.ActiveCfg = Release CRT DLL|x64 + {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Release CRT DLL|x64.Build.0 = Release CRT DLL|x64 {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Release|Win32.ActiveCfg = Release|Win32 {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Release|Win32.Build.0 = Release|Win32 + {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Release|x64.ActiveCfg = Release|x64 + {660D0A05-69A9-4F09-9664-02FBEB08FAE2}.Release|x64.Build.0 = Release|x64 {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Debug CRT DLL|Win32.ActiveCfg = Debug CRT DLL|Win32 {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Debug CRT DLL|Win32.Build.0 = Debug CRT DLL|Win32 + {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Debug CRT DLL|x64.ActiveCfg = Debug CRT DLL|x64 + {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Debug CRT DLL|x64.Build.0 = Debug CRT DLL|x64 {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Debug|Win32.ActiveCfg = Debug|Win32 {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Debug|Win32.Build.0 = Debug|Win32 + {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Debug|x64.ActiveCfg = Debug|x64 + {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Debug|x64.Build.0 = Debug|x64 {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Release CRT DLL|Win32.ActiveCfg = Release CRT DLL|Win32 {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Release CRT DLL|Win32.Build.0 = Release CRT DLL|Win32 + {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Release CRT DLL|x64.ActiveCfg = Release CRT DLL|x64 + {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Release CRT DLL|x64.Build.0 = Release CRT DLL|x64 {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Release|Win32.ActiveCfg = Release|Win32 {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Release|Win32.Build.0 = Release|Win32 + {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Release|x64.ActiveCfg = Release|x64 + {3B146CC5-B2B8-4573-9D46-6139E2EDFEA3}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/StandAlone.vcxproj b/StandAlone.vcxproj index aaec3869..f8d1210e 100644 --- a/StandAlone.vcxproj +++ b/StandAlone.vcxproj @@ -5,18 +5,34 @@ Debug CRT DLL Win32 + + Debug CRT DLL + x64 + Debug Win32 + + Debug + x64 + Release CRT DLL Win32 + + Release CRT DLL + x64 + Release Win32 + + Release + x64 + StandAlone @@ -29,37 +45,71 @@ MultiByte v110_xp + + Application + false + MultiByte + v110_xp + Application false MultiByte v110_xp + + Application + false + MultiByte + v110_xp + Application MultiByte v110_xp + + Application + MultiByte + v110_xp + Application MultiByte v110_xp + + Application + MultiByte + v110_xp + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 @@ -68,26 +118,42 @@ StandAlone\UserM_Debug\ StandAlone\UserM_Debug\ true + true true + true StandAlone\UserM_Release\ StandAlone\UserM_Release\ StandAlone\UserM_Release\ StandAlone\UserM_Release\ false + false false + false glslangValidator + + glslangValidator + glslangValidator + + glslangValidator + glslangValidator + + glslangValidator + glslangValidator + + glslangValidator + Disabled @@ -132,6 +198,49 @@ + + + Disabled + glslang;glslang\OSDependent\Windows + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + + + + + $(IntDir) + $(IntDir) + $(IntDir) + Level3 + true + ProgramDatabase + Cdecl + MultiThreadedDebug + + + odbc32.lib;odbccp32.lib;psapi.lib;$(OutDir)glslang.lib + true + true + UserM_Debug/StandAlone.pdb + Console + $(OutDir)$(TargetName)$(TargetExt) + + + UserM_Debug/StandAlone.tlb + + + copy glslangValidator + xcopy /y x64\Debug\glslangValidator.exe Test + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + + Disabled @@ -176,6 +285,49 @@ + + + Disabled + glslang;glslang\OSDependent\Windows + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + + + + + $(IntDir) + $(IntDir) + $(IntDir) + Level3 + true + ProgramDatabase + Cdecl + MultiThreadedDebugDLL + + + odbc32.lib;odbccp32.lib;psapi.lib;$(OutDir)glslang.lib + true + true + UserM_Debug/StandAlone.pdb + Console + $(OutDir)$(TargetName)$(TargetExt) + + + UserM_Debug/StandAlone.tlb + + + copy glslangValidator + xcopy /y x64\Debug\glslangValidator.exe Test + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + + + + MaxSpeed @@ -228,6 +380,55 @@ xcopy /y StandAlone\UserM_Release\glslangValidator.exe Install\Windows 0x0409 + + + MaxSpeed + OnlyExplicitInline + true + glslang;glslang\OSDependent\Windows + WIN32;NDEBUG;_CONSOLE;GENERIC_COMPILER;%(PreprocessorDefinitions) + true + Default + MultiThreaded + true + true + + + + + UserM_Release/ + UserM_Release/ + + + Level3 + true + ProgramDatabase + Cdecl + + + odbc32.lib;odbccp32.lib;psapi.lib;$(OutDir)glslang.lib + $(OutDir)$(TargetName)$(TargetExt) + true + + + true + UserM_Release/StandAlone.pdb + Console + true + true + + + UserM_Release/StandAlone.tlb + + + copy glslangValidator + xcopy /y x64\Release\glslangValidator.exe Test + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + MaxSpeed @@ -280,6 +481,55 @@ xcopy /y StandAlone\UserM_Release\glslangValidator.exe Install\Windows 0x0409 + + + MaxSpeed + OnlyExplicitInline + true + glslang;glslang\OSDependent\Windows + WIN32;NDEBUG;_CONSOLE;GENERIC_COMPILER;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + true + true + + + + + UserM_Release/ + UserM_Release/ + + + Level3 + true + ProgramDatabase + Cdecl + + + odbc32.lib;odbccp32.lib;psapi.lib;$(OutDir)glslang.lib + $(OutDir)$(TargetName)$(TargetExt) + true + + + true + UserM_Release/StandAlone.pdb + Console + true + true + + + UserM_Release/StandAlone.tlb + + + copy glslangValidator + xcopy /y x64\Release\glslangValidator.exe Test + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp index 05197c1b..e0faecfc 100644 --- a/StandAlone/StandAlone.cpp +++ b/StandAlone/StandAlone.cpp @@ -760,7 +760,7 @@ void CompileFile(const char* fileName, ShHandle compiler) // move to length-based strings, rather than null-terminated strings for (int s = 0; s < NumShaderStrings; ++s) - lengths[s] = strlen(shaderStrings[s]); + lengths[s] = (int)strlen(shaderStrings[s]); if (! shaderStrings) { CompileFailed = true; diff --git a/StandAlone/Worklist.h b/StandAlone/Worklist.h index 1bcc7e1e..1dabec99 100644 --- a/StandAlone/Worklist.h +++ b/StandAlone/Worklist.h @@ -80,7 +80,7 @@ namespace glslang { int size() { - return worklist.size(); + return (int)worklist.size(); } bool empty() diff --git a/glslang.vcxproj b/glslang.vcxproj index 0e2afa82..e576c45c 100644 --- a/glslang.vcxproj +++ b/glslang.vcxproj @@ -5,18 +5,34 @@ Debug CRT DLL Win32 + + Debug CRT DLL + x64 + Debug Win32 + + Debug + x64 + Release CRT DLL Win32 + + Release CRT DLL + x64 + Release Win32 + + Release + x64 + glslang @@ -29,37 +45,71 @@ MultiByte v110_xp + + StaticLibrary + false + MultiByte + v110_xp + StaticLibrary false MultiByte v110_xp + + StaticLibrary + false + MultiByte + v110_xp + StaticLibrary MultiByte v110_xp + + StaticLibrary + MultiByte + v110_xp + StaticLibrary MultiByte v110_xp + + StaticLibrary + MultiByte + v110_xp + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 @@ -68,21 +118,33 @@ glslang\UserM_Debug\ glslang\UserM_Debug\ false + false false + false glslang\UserM_Release\ glslang\UserM_Release\ glslang\UserM_Release\ glslang\UserM_Release\ false + false false + false false + false false + false .lib + .lib .lib + .lib .lib + .lib .lib + .lib false + false false + false @@ -123,6 +185,54 @@ copy dll del Test\$(TargetName)$(TargetExt) +xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test + + + _DEBUG;%(PreprocessorDefinitions) + 0x0809 + + + SubWCRev . glslang/Include/revision.template glslang/Include/revision.h -q + + + + + Disabled + glslang;glslang\MachineIndependent;glslang\OSDependent\Windows;OGLCompilersDLL;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + EnableFastChecks + + + $(IntDir) + $(IntDir) + $(IntDir) + + + Level3 + true + ProgramDatabase + Cdecl + Default + MultiThreadedDebug + true + + + odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + false + libcmtd.lib;libcd.lib;libcmt.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries) + true + UserM_Debug/glslang.pdb + Console + UserM_Debug/generic/glslang.lib + $(IntDir)$(TargetName)$(TargetExt) + + + UserM_Debug/generic/glslang.tlb + + + copy dll + del Test\$(TargetName)$(TargetExt) xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test @@ -172,6 +282,54 @@ xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test copy dll del Test\$(TargetName)$(TargetExt) +xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test + + + _DEBUG;%(PreprocessorDefinitions) + 0x0809 + + + SubWCRev . glslang/Include/revision.template glslang/Include/revision.h -q + + + + + Disabled + glslang;glslang\MachineIndependent;glslang\OSDependent\Windows;OGLCompilersDLL;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + EnableFastChecks + + + $(IntDir) + $(IntDir) + $(IntDir) + + + Level3 + true + ProgramDatabase + Cdecl + Default + MultiThreadedDebugDLL + true + + + odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + false + libcmtd.lib;libcd.lib;libcmt.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries) + true + UserM_Debug/glslang.pdb + Console + UserM_Debug/generic/glslang.lib + $(IntDir)$(TargetName)$(TargetExt) + + + UserM_Debug/generic/glslang.tlb + + + copy dll + del Test\$(TargetName)$(TargetExt) xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test @@ -228,6 +386,61 @@ xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test copy dll del Test\$(TargetName)$(TargetExt) +xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test + + + NDEBUG;%(PreprocessorDefinitions) + 0x0809 + + + SubWCRev . glslang/Include/revision.template glslang/Include/revision.h -q + + + + + MaxSpeed + OnlyExplicitInline + true + glslang;glslang\MachineIndependent;glslang\OSDependent\Windows;OGLCompilersDLL;%(AdditionalIncludeDirectories) + NDEBUG;WIN32;_CONSOLE;_USRDLL;TEST_EXPORTS;GENERIC_COMPILER;%(PreprocessorDefinitions) + true + false + Default + MultiThreaded + true + true + + + UserM_Release/ + UserM_Release/ + + + + + Level3 + true + ProgramDatabase + Cdecl + Default + + + odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + UserM_Release/generic/glslang.dll + true + libcmtd.lib;libcd.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries) + true + UserM_Release/generic/glslang.pdb + Console + true + true + UserM_Release/generic/glslang.lib + + + UserM_Release/generic/glslang.tlb + + + copy dll + del Test\$(TargetName)$(TargetExt) xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test @@ -284,6 +497,61 @@ xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test copy dll del Test\$(TargetName)$(TargetExt) +xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test + + + NDEBUG;%(PreprocessorDefinitions) + 0x0809 + + + SubWCRev . glslang/Include/revision.template glslang/Include/revision.h -q + + + + + MaxSpeed + OnlyExplicitInline + true + glslang;glslang\MachineIndependent;glslang\OSDependent\Windows;OGLCompilersDLL;%(AdditionalIncludeDirectories) + NDEBUG;WIN32;_CONSOLE;_USRDLL;TEST_EXPORTS;GENERIC_COMPILER;%(PreprocessorDefinitions) + true + false + Default + MultiThreadedDLL + true + true + + + UserM_Release/ + UserM_Release/ + + + + + Level3 + true + ProgramDatabase + Cdecl + Default + + + odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + UserM_Release/generic/glslang.dll + true + libcmtd.lib;libcd.lib;libcmt.lib;%(IgnoreSpecificDefaultLibraries) + true + UserM_Release/generic/glslang.pdb + Console + true + true + UserM_Release/generic/glslang.lib + + + UserM_Release/generic/glslang.tlb + + + copy dll + del Test\$(TargetName)$(TargetExt) xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test @@ -298,9 +566,13 @@ xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test 4065 + 4065 4065 + 4065 4065 + 4065 4065 + 4065 @@ -330,13 +602,21 @@ xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test true + true true + true $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj true + true true + true $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj $(IntDir)%(Filename)1.obj + $(IntDir)%(Filename)1.obj @@ -372,29 +652,53 @@ xcopy /y $(IntDir)$(TargetName)$(TargetExt) Test Document Executing Bison on glslang.y + Executing Bison on glslang.y Executing Bison on glslang.y + Executing Bison on glslang.y SET BISON_SIMPLE=%(RootDir)%(Directory)..\..\tools\bison.simple SET BISON_HAIRY=%(RootDir)%(Directory)..\..\tools\bison.simple cd %(RootDir)%(Directory) +%(RootDir)%(Directory)..\..\tools\bison.exe --defines=glslang_tab.cpp.h -t glslang.y -o glslang_tab.cpp + SET BISON_SIMPLE=%(RootDir)%(Directory)..\..\tools\bison.simple +SET BISON_HAIRY=%(RootDir)%(Directory)..\..\tools\bison.simple +cd %(RootDir)%(Directory) %(RootDir)%(Directory)..\..\tools\bison.exe --defines=glslang_tab.cpp.h -t glslang.y -o glslang_tab.cpp SET BISON_SIMPLE=%(RootDir)%(Directory)..\..\tools\bison.simple SET BISON_HAIRY=%(RootDir)%(Directory)..\..\tools\bison.simple cd %(RootDir)%(Directory) +%(RootDir)%(Directory)..\..\tools\bison.exe --defines=glslang_tab.cpp.h -t glslang.y -o glslang_tab.cpp + SET BISON_SIMPLE=%(RootDir)%(Directory)..\..\tools\bison.simple +SET BISON_HAIRY=%(RootDir)%(Directory)..\..\tools\bison.simple +cd %(RootDir)%(Directory) %(RootDir)%(Directory)..\..\tools\bison.exe --defines=glslang_tab.cpp.h -t glslang.y -o glslang_tab.cpp %(RootDir)%(Directory)%(Filename)_tab.cpp.h;%(RootDir)%(Directory)%(Filename)_tab.cpp + %(RootDir)%(Directory)%(Filename)_tab.cpp.h;%(RootDir)%(Directory)%(Filename)_tab.cpp %(RootDir)%(Directory)%(Filename)_tab.cpp.h;%(RootDir)%(Directory)%(Filename)_tab.cpp + %(RootDir)%(Directory)%(Filename)_tab.cpp.h;%(RootDir)%(Directory)%(Filename)_tab.cpp Executing Bison on glslang.y + Executing Bison on glslang.y Executing Bison on glslang.y + Executing Bison on glslang.y SET BISON_SIMPLE=%(RootDir)%(Directory)..\..\tools\bison.simple SET BISON_HAIRY=%(RootDir)%(Directory)..\..\tools\bison.simple cd %(RootDir)%(Directory) +%(RootDir)%(Directory)..\..\tools\bison.exe --defines=glslang_tab.cpp.h -t glslang.y -o glslang_tab.cpp + SET BISON_SIMPLE=%(RootDir)%(Directory)..\..\tools\bison.simple +SET BISON_HAIRY=%(RootDir)%(Directory)..\..\tools\bison.simple +cd %(RootDir)%(Directory) %(RootDir)%(Directory)..\..\tools\bison.exe --defines=glslang_tab.cpp.h -t glslang.y -o glslang_tab.cpp SET BISON_SIMPLE=%(RootDir)%(Directory)..\..\tools\bison.simple SET BISON_HAIRY=%(RootDir)%(Directory)..\..\tools\bison.simple cd %(RootDir)%(Directory) +%(RootDir)%(Directory)..\..\tools\bison.exe --defines=glslang_tab.cpp.h -t glslang.y -o glslang_tab.cpp + SET BISON_SIMPLE=%(RootDir)%(Directory)..\..\tools\bison.simple +SET BISON_HAIRY=%(RootDir)%(Directory)..\..\tools\bison.simple +cd %(RootDir)%(Directory) %(RootDir)%(Directory)..\..\tools\bison.exe --defines=glslang_tab.cpp.h -t glslang.y -o glslang_tab.cpp %(RootDir)%(Directory)%(Filename)_tab.cpp.h;%(RootDir)%(Directory)%(Filename)_tab.cpp + %(RootDir)%(Directory)%(Filename)_tab.cpp.h;%(RootDir)%(Directory)%(Filename)_tab.cpp %(RootDir)%(Directory)%(Filename)_tab.cpp.h;%(RootDir)%(Directory)%(Filename)_tab.cpp + %(RootDir)%(Directory)%(Filename)_tab.cpp.h;%(RootDir)%(Directory)%(Filename)_tab.cpp diff --git a/glslang/Include/ConstantUnion.h b/glslang/Include/ConstantUnion.h index 5de0d774..d9c04bb2 100644 --- a/glslang/Include/ConstantUnion.h +++ b/glslang/Include/ConstantUnion.h @@ -445,8 +445,8 @@ public: unionArray = new TConstUnionVector(size, val); } - TConstUnion& operator[](int index) { return (*unionArray)[index]; } - const TConstUnion& operator[](int index) const { return (*unionArray)[index]; } + TConstUnion& operator[](size_t index) { return (*unionArray)[index]; } + const TConstUnion& operator[](size_t index) const { return (*unionArray)[index]; } bool operator==(const TConstUnionArray& rhs) const { // this includes the case that both are unallocated diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h index df9fce15..0a79435d 100644 --- a/glslang/Include/revision.h +++ b/glslang/Include/revision.h @@ -9,5 +9,5 @@ // source have to figure out how to create revision.h just to get a build // going. However, if it is not updated, it can be a version behind. -#define GLSLANG_REVISION "25400" -#define GLSLANG_DATE "2014/02/18 16:37:57" +#define GLSLANG_REVISION "25408" +#define GLSLANG_DATE "2014/02/18 18:00:58" diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index 6c98f601..d90b5a70 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -3608,7 +3608,7 @@ TIntermTyped* TParseContext::convertInitializerList(TSourceLoc loc, const TType& TType arrayType; arrayType.shallowCopy(type); arrayType.setArraySizes(type); - arrayType.changeArraySize(initList->getSequence().size()); + arrayType.changeArraySize((int)initList->getSequence().size()); TType elementType(arrayType, 0); // dereferenced type for (size_t i = 0; i < initList->getSequence().size(); ++i) { initList->getSequence()[i] = convertInitializerList(loc, elementType, initList->getSequence()[i]->getAsTyped()); diff --git a/glslang/MachineIndependent/Scan.h b/glslang/MachineIndependent/Scan.h index 1c6dd6a6..8f6e9e48 100644 --- a/glslang/MachineIndependent/Scan.h +++ b/glslang/MachineIndependent/Scan.h @@ -139,7 +139,7 @@ protected: const char* const *sources; // array of strings const size_t *lengths; // length of each string int currentSource; - int currentChar; + size_t currentChar; // This is for reporting what string/line an error occurred on, and can be overridden by #line. // It remembers the last state of each source string as it is left for the next one, so unget() diff --git a/glslang/MachineIndependent/limits.cpp b/glslang/MachineIndependent/limits.cpp index 137c051b..08f873b1 100644 --- a/glslang/MachineIndependent/limits.cpp +++ b/glslang/MachineIndependent/limits.cpp @@ -106,7 +106,7 @@ bool TInductiveTraverser::visitAggregate(TVisit /* visit */, TIntermAggregate* n if (node->getOp() == EOpFunctionCall) { // see if an out or inout argument is the loop index const TIntermSequence& args = node->getSequence(); - for (size_t i = 0; i < args.size(); ++i) { + for (int i = 0; i < (int)args.size(); ++i) { if (args[i]->getAsSymbolNode() && args[i]->getAsSymbolNode()->getId() == loopId) { TSymbol* function = symbolTable.find(node->getName()); const TType* type = (*function->getAsFunction())[i].type; diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp index ec32c900..44b350e9 100644 --- a/glslang/MachineIndependent/linkValidate.cpp +++ b/glslang/MachineIndependent/linkValidate.cpp @@ -621,7 +621,7 @@ int TIntermediate::computeTypeLocationSize(const TType& type) // recursively..." if (type.isStruct()) { int size = 0; - for (size_t member = 0; member < type.getStruct()->size(); ++member) { + for (int member = 0; member < (int)type.getStruct()->size(); ++member) { TType memberType(type, member); size += computeTypeLocationSize(memberType); } @@ -706,7 +706,7 @@ unsigned int TIntermediate::computeTypeXfbSize(const TType& type, bool& contains if (type.isStruct()) { unsigned int size = 0; bool structContainsDouble = false; - for (size_t member = 0; member < type.getStruct()->size(); ++member) { + for (int member = 0; member < (int)type.getStruct()->size(); ++member) { TType memberType(type, member); // "... if applied to // an aggregate containing a double, the offset must also be a multiple of 8, diff --git a/glslang/MachineIndependent/reflection.cpp b/glslang/MachineIndependent/reflection.cpp index 709fc45e..07bba319 100644 --- a/glslang/MachineIndependent/reflection.cpp +++ b/glslang/MachineIndependent/reflection.cpp @@ -137,7 +137,7 @@ public: int getBlockSize(const TType& blockType) { const TTypeList& memberList = *blockType.getStruct(); - int lastIndex = memberList.size() - 1; + int lastIndex = (int)memberList.size() - 1; int lastOffset = getOffset(blockType, lastIndex); int lastMemberSize; @@ -211,7 +211,7 @@ public: // Visit all members of this aggregate, and for each one, // fully explode the remaining aggregate to dereference const TTypeList& typeList = *terminalType->getStruct(); - for (size_t i = 0; i < typeList.size(); ++i) { + for (int i = 0; i < (int)typeList.size(); ++i) { TString newBaseName = name; newBaseName.append(TString(".") + typeList[i].type->getFieldName()); TType derefType(*terminalType, i); @@ -232,7 +232,7 @@ public: TReflection::TNameToIndex::const_iterator it = reflection.nameToIndex.find(name); if (it == reflection.nameToIndex.end()) { - reflection.nameToIndex[name] = reflection.indexToUniform.size(); + reflection.nameToIndex[name] = (int)reflection.indexToUniform.size(); reflection.indexToUniform.push_back(TObjectReflection(name, offset, mapToGlType(*terminalType), arraySize, blockIndex)); } else if (arraySize > 1) { int& reflectedArraySize = reflection.indexToUniform[it->second].size; @@ -327,7 +327,7 @@ public: int blockIndex; TReflection::TNameToIndex::const_iterator it = reflection.nameToIndex.find(name); if (reflection.nameToIndex.find(name) == reflection.nameToIndex.end()) { - blockIndex = reflection.indexToUniformBlock.size(); + blockIndex = (int)reflection.indexToUniformBlock.size(); reflection.nameToIndex[name] = blockIndex; reflection.indexToUniformBlock.push_back(TObjectReflection(name, -1, -1, size, -1)); } else diff --git a/glslang/MachineIndependent/reflection.h b/glslang/MachineIndependent/reflection.h index 485d72dd..5448f912 100644 --- a/glslang/MachineIndependent/reflection.h +++ b/glslang/MachineIndependent/reflection.h @@ -74,7 +74,7 @@ public: bool addStage(EShLanguage, const TIntermediate&); // for mapping a uniform index to a uniform object's description - int getNumUniforms() { return indexToUniform.size(); } + int getNumUniforms() { return (int)indexToUniform.size(); } const TObjectReflection& getUniform(int i) const { if (i >= 0 && i < (int)indexToUniform.size()) @@ -84,7 +84,7 @@ public: } // for mapping a block index to the block's description - int getNumUniformBlocks() const { return indexToUniformBlock.size(); } + int getNumUniformBlocks() const { return (int)indexToUniformBlock.size(); } const TObjectReflection& getUniformBlock(int i) const { if (i >= 0 && i < (int)indexToUniformBlock.size())