diff --git a/Install/Linux/glslangValidator b/Install/Linux/glslangValidator
index b320415e184bb4259efa040300a393af527cb50a..f4dd868549dd25fe991a5c92088b24bb4bfc07da 100755
Binary files a/Install/Linux/glslangValidator and b/Install/Linux/glslangValidator differ
diff --git a/Install/Linux/libglslang.so b/Install/Linux/libglslang.so
index 851c871fcb65f10e9ccd1872baf486785ca05a72..d6ded7ab844f6f340c5537a7c76c06a648480f25 100755
Binary files a/Install/Linux/libglslang.so and b/Install/Linux/libglslang.so differ
diff --git a/Test/runtests b/Test/runtests
index ab800e7d832c39953440bce868a52287a03bc0c1..582695107e17a840c47425b246f214b36d5ee39e 100755
--- a/Test/runtests
+++ b/Test/runtests
@@ -2,7 +2,7 @@
 
 TARGETDIR=localResults
 BASEDIR=baseResults
-EXE=./glslangValidator.exe
+EXE=./glslangValidator
 mkdir -p localResults
 
 #
diff --git a/glslang/GenericCodeGen/Makefile b/glslang/GenericCodeGen/Makefile
index 44b0fd2ac58250915d3dd720c59e2e73f747ce12..48fa85fed7138e15575a6d0ce03560d78e264c92 100644
--- a/glslang/GenericCodeGen/Makefile
+++ b/glslang/GenericCodeGen/Makefile
@@ -28,9 +28,35 @@ depend:
 	makedepend -- $(CFLAGS) -- $(SRCS)
 # DO NOT DELETE
 
-CodeGen.o: ../Include/Common.h ../Include/PoolAlloc.h ../Include/ShHandle.h
-CodeGen.o: ../Public/ShaderLang.h
-CodeGen.o: ../Include/InfoSink.h
-Link.o: ../Include/Common.h ../Include/PoolAlloc.h ../Include/ShHandle.h
-Link.o: ../Public/ShaderLang.h
-Link.o: ../Include/InfoSink.h
+CodeGen.o: ../Include/Common.h /usr/include/stdint.h /usr/include/features.h
+CodeGen.o: /usr/include/stdc-predef.h /usr/include/bits/predefs.h
+CodeGen.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+CodeGen.o: /usr/include/gnu/stubs.h /usr/include/bits/wchar.h
+CodeGen.o: /usr/include/stdio.h /usr/include/bits/types.h
+CodeGen.o: /usr/include/bits/typesizes.h /usr/include/libio.h
+CodeGen.o: /usr/include/_G_config.h /usr/include/wchar.h
+CodeGen.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
+CodeGen.o: /usr/include/assert.h ../Include/PoolAlloc.h /usr/include/string.h
+CodeGen.o: /usr/include/xlocale.h ../Include/ShHandle.h
+CodeGen.o: ../Public/ShaderLang.h ../Include/ResourceLimits.h
+CodeGen.o: ../MachineIndependent/Versions.h ../Include/InfoSink.h
+CodeGen.o: /usr/include/math.h /usr/include/bits/huge_val.h
+CodeGen.o: /usr/include/bits/huge_valf.h /usr/include/bits/huge_vall.h
+CodeGen.o: /usr/include/bits/inf.h /usr/include/bits/nan.h
+CodeGen.o: /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
+Link.o: ../Include/Common.h /usr/include/stdint.h /usr/include/features.h
+Link.o: /usr/include/stdc-predef.h /usr/include/bits/predefs.h
+Link.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
+Link.o: /usr/include/gnu/stubs.h /usr/include/bits/wchar.h
+Link.o: /usr/include/stdio.h /usr/include/bits/types.h
+Link.o: /usr/include/bits/typesizes.h /usr/include/libio.h
+Link.o: /usr/include/_G_config.h /usr/include/wchar.h
+Link.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
+Link.o: /usr/include/assert.h ../Include/PoolAlloc.h /usr/include/string.h
+Link.o: /usr/include/xlocale.h ../Include/ShHandle.h ../Public/ShaderLang.h
+Link.o: ../Include/ResourceLimits.h ../MachineIndependent/Versions.h
+Link.o: ../Include/InfoSink.h /usr/include/math.h
+Link.o: /usr/include/bits/huge_val.h /usr/include/bits/huge_valf.h
+Link.o: /usr/include/bits/huge_vall.h /usr/include/bits/inf.h
+Link.o: /usr/include/bits/nan.h /usr/include/bits/mathdef.h
+Link.o: /usr/include/bits/mathcalls.h
diff --git a/glslang/MachineIndependent/Makefile b/glslang/MachineIndependent/Makefile
index a50350699fd35b1d170d530031e14285b7aeba86..91d50984207d6a635e9196110d2ebe181ce3e74b 100644
--- a/glslang/MachineIndependent/Makefile
+++ b/glslang/MachineIndependent/Makefile
@@ -75,77 +75,83 @@ clean :
 	
 # DO NOT DELETE
 
-gen_glslang_tab.o: SymbolTable.h ../Include/Common.h
-gen_glslang_tab.o: ../Include/intermediate.h ../Include/Common.h
-gen_glslang_tab.o: ../Include/PoolAlloc.h ../Include/Types.h
+gen_glslang_tab.o: SymbolTable.h ../Include/Common.h ../Include/PoolAlloc.h
+gen_glslang_tab.o: ../Include/intermediate.h ../Include/Types.h
 gen_glslang_tab.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
-gen_glslang_tab.o: ../Include/InfoSink.h ParseHelper.h ../Include/ShHandle.h
-gen_glslang_tab.o: ../Public/ShaderLang.h
-gen_glslang_tab.o: ../Include/InfoSink.h localintermediate.h
-gen_glslang_tab.o: ../Include/intermediate.h ../Public/ShaderLang.h
-Initialize.o: ../Include/intermediate.h Initialize.h
-Initialize.o: ../Include/ResourceLimits.h ../Include/Common.h
-Initialize.o: ../Include/PoolAlloc.h ../Include/ShHandle.h
-Initialize.o: ../Public/ShaderLang.h
-Initialize.o: ../Include/InfoSink.h SymbolTable.h ../Include/Common.h
-Initialize.o: ../Include/intermediate.h ../Include/Types.h
-Initialize.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
-Initialize.o: ../Include/InfoSink.h
-IntermTraverse.o: ../Include/intermediate.h
-Intermediate.o: ../Include/ShHandle.h
-Intermediate.o: ../Public/ShaderLang.h ../Include/InfoSink.h
-Intermediate.o: ../Include/Common.h ../Include/PoolAlloc.h
+gen_glslang_tab.o: ../Include/InfoSink.h ParseHelper.h Versions.h
+gen_glslang_tab.o: ../Include/ShHandle.h ../Public/ShaderLang.h
+gen_glslang_tab.o: ../Include/ResourceLimits.h
+gen_glslang_tab.o: ../MachineIndependent/Versions.h ../Include/InfoSink.h
+gen_glslang_tab.o: localintermediate.h Scan.h
+Initialize.o: ../Include/intermediate.h ../Include/Common.h
+Initialize.o: ../Include/PoolAlloc.h ../Include/Types.h
+Initialize.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h Initialize.h
+Initialize.o: ../Include/ResourceLimits.h ../Include/ShHandle.h
+Initialize.o: ../Public/ShaderLang.h ../MachineIndependent/Versions.h
+Initialize.o: ../Include/InfoSink.h SymbolTable.h ../Include/InfoSink.h
+Initialize.o: Versions.h
+IntermTraverse.o: ../Include/intermediate.h ../Include/Common.h
+IntermTraverse.o: ../Include/PoolAlloc.h ../Include/Types.h
+IntermTraverse.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
 Intermediate.o: localintermediate.h ../Include/intermediate.h
-Intermediate.o: ../Public/ShaderLang.h SymbolTable.h ../Include/Common.h
-Intermediate.o: ../Include/intermediate.h ../Include/Types.h
+Intermediate.o: ../Include/Common.h ../Include/PoolAlloc.h ../Include/Types.h
 Intermediate.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
-Intermediate.o: ../Include/InfoSink.h RemoveTree.h
-ParseHelper.o: ParseHelper.h ../Include/ShHandle.h
-ParseHelper.o: ../Public/ShaderLang.h ../Include/InfoSink.h
-ParseHelper.o: ../Include/Common.h ../Include/PoolAlloc.h SymbolTable.h
-ParseHelper.o: ../Include/Common.h ../Include/intermediate.h
-ParseHelper.o: ../Include/Types.h ../Include/BaseTypes.h
-ParseHelper.o: ../Include/ConstantUnion.h ../Include/InfoSink.h
-ParseHelper.o: localintermediate.h ../Include/intermediate.h
-ParseHelper.o: ../Public/ShaderLang.h
-ParseHelper.o: ../OSDependent/Linux/osinclude.h
-ParseHelper.o: ../Include/InitializeGlobals.h ../Include/PoolAlloc.h
-Scan.o: Scan.h
-Scan.o: ParseHelper.h SymbolTable.h
-Scan.o: glslang_tab.cpp.h
-Scan.o: ../Include/Types.h
-Scan.o: ScanContext.h preprocessor/PpContext.h preprocessor/PpTokens.h
-RemoveTree.o: ../Include/intermediate.h RemoveTree.h
-ShaderLang.o: SymbolTable.h ../Include/Common.h ../Include/intermediate.h
-ShaderLang.o: ../Include/Common.h ../Include/PoolAlloc.h ../Include/Types.h
+Intermediate.o: ../Public/ShaderLang.h ../Include/ResourceLimits.h Versions.h
+Intermediate.o: RemoveTree.h SymbolTable.h ../Include/InfoSink.h
+ParseHelper.o: ParseHelper.h Versions.h ../Include/ShHandle.h
+ParseHelper.o: ../Public/ShaderLang.h ../Include/ResourceLimits.h
+ParseHelper.o: ../MachineIndependent/Versions.h ../Include/InfoSink.h
+ParseHelper.o: SymbolTable.h ../Include/Common.h ../Include/PoolAlloc.h
+ParseHelper.o: ../Include/intermediate.h ../Include/Types.h
+ParseHelper.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
+ParseHelper.o: ../Include/InfoSink.h localintermediate.h Scan.h
+ParseHelper.o: ../OSDependent/Linux/osinclude.h preprocessor/PpContext.h
+ParseHelper.o: ParseHelper.h
+RemoveTree.o: ../Include/intermediate.h ../Include/Common.h
+RemoveTree.o: ../Include/PoolAlloc.h ../Include/Types.h
+RemoveTree.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h RemoveTree.h
+ShaderLang.o: SymbolTable.h ../Include/Common.h ../Include/PoolAlloc.h
+ShaderLang.o: ../Include/intermediate.h ../Include/Types.h
 ShaderLang.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
-ShaderLang.o: ../Include/InfoSink.h ParseHelper.h ../Include/ShHandle.h
-ShaderLang.o: ../Public/ShaderLang.h
-ShaderLang.o: ../Include/InfoSink.h localintermediate.h
-ShaderLang.o: ../Include/intermediate.h ../Public/ShaderLang.h
-ShaderLang.o: ../Include/ResourceLimits.h Initialize.h
-SymbolTable.o: SymbolTable.h ../Include/Common.h ../Include/intermediate.h
-SymbolTable.o: ../Include/Common.h ../Include/PoolAlloc.h ../Include/Types.h
+ShaderLang.o: ../Include/InfoSink.h ParseHelper.h Versions.h
+ShaderLang.o: ../Include/ShHandle.h ../Public/ShaderLang.h
+ShaderLang.o: ../Include/ResourceLimits.h ../MachineIndependent/Versions.h
+ShaderLang.o: ../Include/InfoSink.h localintermediate.h Scan.h ScanContext.h
+ShaderLang.o: ../../OGLCompilersDLL/InitializeDll.h
+ShaderLang.o: ../OSDependent/Linux/osinclude.h preprocessor/PpContext.h
+ShaderLang.o: ParseHelper.h reflection.h Initialize.h ../Include/revision.h
+SymbolTable.o: SymbolTable.h ../Include/Common.h ../Include/PoolAlloc.h
+SymbolTable.o: ../Include/intermediate.h ../Include/Types.h
 SymbolTable.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
 SymbolTable.o: ../Include/InfoSink.h
 intermOut.o: localintermediate.h ../Include/intermediate.h
-intermOut.o: ../Public/ShaderLang.h SymbolTable.h ../Include/Common.h
-intermOut.o: ../Include/intermediate.h ../Include/Common.h
-intermOut.o: ../Include/PoolAlloc.h ../Include/Types.h ../Include/BaseTypes.h
-intermOut.o: ../Include/ConstantUnion.h ../Include/InfoSink.h
-intermOut.o: ../Include/ShHandle.h
-intermOut.o: ../Public/ShaderLang.h ../Include/InfoSink.h
-parseConst.o: ParseHelper.h ../Include/ShHandle.h
-parseConst.o: ../Public/ShaderLang.h ../Include/InfoSink.h
-parseConst.o: ../Include/Common.h ../Include/PoolAlloc.h SymbolTable.h
-parseConst.o: ../Include/Common.h ../Include/intermediate.h
-parseConst.o: ../Include/Types.h ../Include/BaseTypes.h
-parseConst.o: ../Include/ConstantUnion.h ../Include/InfoSink.h
-parseConst.o: localintermediate.h ../Include/intermediate.h
-parseConst.o: ../Public/ShaderLang.h
-InfoSink.o: ../Include/InfoSink.h
-Versions.o: ParseHelper.h  Versions.h ../Include/ShHandle.h SymbolTable.h localintermediate.h
-Constant.o: localintermediate.h ../Include/intermediate.h ../Public/ShaderLang.h SymbolTable.h Versions.h
-limits.o:  ParseHelper.h
-linkValidate.o: localintermediate.h
-reflection.o: ../Include/Common.h reflection.h localintermediate.h gl_types.h
+intermOut.o: ../Include/Common.h ../Include/PoolAlloc.h ../Include/Types.h
+intermOut.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
+intermOut.o: ../Public/ShaderLang.h ../Include/ResourceLimits.h Versions.h
+intermOut.o: ../Include/InfoSink.h
+parseConst.o: ParseHelper.h Versions.h ../Include/ShHandle.h
+parseConst.o: ../Public/ShaderLang.h ../Include/ResourceLimits.h
+parseConst.o: ../MachineIndependent/Versions.h ../Include/InfoSink.h
+parseConst.o: SymbolTable.h ../Include/Common.h ../Include/PoolAlloc.h
+parseConst.o: ../Include/intermediate.h ../Include/Types.h
+parseConst.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
+parseConst.o: ../Include/InfoSink.h localintermediate.h Scan.h
+InfoSink.o: ../Include/InfoSink.h ../Include/Common.h ../Include/PoolAlloc.h
+Versions.o: ParseHelper.h Versions.h ../Include/ShHandle.h
+Versions.o: ../Public/ShaderLang.h ../Include/ResourceLimits.h
+Versions.o: ../MachineIndependent/Versions.h ../Include/InfoSink.h
+Versions.o: SymbolTable.h ../Include/Common.h ../Include/PoolAlloc.h
+Versions.o: ../Include/intermediate.h ../Include/Types.h
+Versions.o: ../Include/BaseTypes.h ../Include/ConstantUnion.h
+Versions.o: ../Include/InfoSink.h localintermediate.h Scan.h
+Constant.o: localintermediate.h ../Include/intermediate.h ../Include/Common.h
+Constant.o: ../Include/PoolAlloc.h ../Include/Types.h ../Include/BaseTypes.h
+Constant.o: ../Include/ConstantUnion.h ../Public/ShaderLang.h
+Constant.o: ../Include/ResourceLimits.h Versions.h
+Scan.o: ../Include/Types.h ../Include/Common.h ../Include/PoolAlloc.h
+Scan.o: ../Include/BaseTypes.h SymbolTable.h ../Include/intermediate.h
+Scan.o: ../Include/ConstantUnion.h ../Include/InfoSink.h glslang_tab.cpp.h
+Scan.o: ParseHelper.h Versions.h ../Include/ShHandle.h ../Public/ShaderLang.h
+Scan.o: ../Include/ResourceLimits.h ../MachineIndependent/Versions.h
+Scan.o: ../Include/InfoSink.h localintermediate.h Scan.h ScanContext.h
+Scan.o: preprocessor/PpContext.h ParseHelper.h preprocessor/PpTokens.h
diff --git a/glslang/MachineIndependent/preprocessor/Makefile b/glslang/MachineIndependent/preprocessor/Makefile
index 5232aac8bfbd653379b5567651a5a182c62c08b2..8711c4fdce58d1bbece8fe382612431bd5574d26 100644
--- a/glslang/MachineIndependent/preprocessor/Makefile
+++ b/glslang/MachineIndependent/preprocessor/Makefile
@@ -29,10 +29,62 @@ depend:
 
 # DO NOT DELETE
 
-PpAtom.o: PpContext.h PpTokens.h
-PpScanner.o: PpContext.h PpTokens.h
-PpTokens.o: PpContext.h PpTokens.h
-Pp.o: PpContext.h PpTokens.h
-PpContext.o: PpContext.h PpTokens.h
-PpMemory.o: PpContext.h PpTokens.h
-PpSymbols.o: PpContext.h PpTokens.h
+PpAtom.o: PpContext.h ../ParseHelper.h ../Versions.h ../../Include/ShHandle.h
+PpAtom.o: ../../Public/ShaderLang.h ../../Include/ResourceLimits.h
+PpAtom.o: ../../MachineIndependent/Versions.h ../../Include/InfoSink.h
+PpAtom.o: ../../Include/Common.h ../../Include/PoolAlloc.h ../SymbolTable.h
+PpAtom.o: ../../Include/intermediate.h ../../Include/Types.h
+PpAtom.o: ../../Include/BaseTypes.h ../../Include/ConstantUnion.h
+PpAtom.o: ../../Include/InfoSink.h ../localintermediate.h ../Scan.h
+PpAtom.o: PpTokens.h
+PpScanner.o: PpContext.h ../ParseHelper.h ../Versions.h
+PpScanner.o: ../../Include/ShHandle.h ../../Public/ShaderLang.h
+PpScanner.o: ../../Include/ResourceLimits.h
+PpScanner.o: ../../MachineIndependent/Versions.h ../../Include/InfoSink.h
+PpScanner.o: ../../Include/Common.h ../../Include/PoolAlloc.h
+PpScanner.o: ../SymbolTable.h ../../Include/intermediate.h
+PpScanner.o: ../../Include/Types.h ../../Include/BaseTypes.h
+PpScanner.o: ../../Include/ConstantUnion.h ../../Include/InfoSink.h
+PpScanner.o: ../localintermediate.h ../Scan.h PpTokens.h
+PpTokens.o: PpContext.h ../ParseHelper.h ../Versions.h
+PpTokens.o: ../../Include/ShHandle.h ../../Public/ShaderLang.h
+PpTokens.o: ../../Include/ResourceLimits.h
+PpTokens.o: ../../MachineIndependent/Versions.h ../../Include/InfoSink.h
+PpTokens.o: ../../Include/Common.h ../../Include/PoolAlloc.h ../SymbolTable.h
+PpTokens.o: ../../Include/intermediate.h ../../Include/Types.h
+PpTokens.o: ../../Include/BaseTypes.h ../../Include/ConstantUnion.h
+PpTokens.o: ../../Include/InfoSink.h ../localintermediate.h ../Scan.h
+PpTokens.o: PpTokens.h
+Pp.o: PpContext.h ../ParseHelper.h ../Versions.h ../../Include/ShHandle.h
+Pp.o: ../../Public/ShaderLang.h ../../Include/ResourceLimits.h
+Pp.o: ../../MachineIndependent/Versions.h ../../Include/InfoSink.h
+Pp.o: ../../Include/Common.h ../../Include/PoolAlloc.h ../SymbolTable.h
+Pp.o: ../../Include/intermediate.h ../../Include/Types.h
+Pp.o: ../../Include/BaseTypes.h ../../Include/ConstantUnion.h
+Pp.o: ../../Include/InfoSink.h ../localintermediate.h ../Scan.h PpTokens.h
+PpContext.o: PpContext.h ../ParseHelper.h ../Versions.h
+PpContext.o: ../../Include/ShHandle.h ../../Public/ShaderLang.h
+PpContext.o: ../../Include/ResourceLimits.h
+PpContext.o: ../../MachineIndependent/Versions.h ../../Include/InfoSink.h
+PpContext.o: ../../Include/Common.h ../../Include/PoolAlloc.h
+PpContext.o: ../SymbolTable.h ../../Include/intermediate.h
+PpContext.o: ../../Include/Types.h ../../Include/BaseTypes.h
+PpContext.o: ../../Include/ConstantUnion.h ../../Include/InfoSink.h
+PpContext.o: ../localintermediate.h ../Scan.h
+PpMemory.o: PpContext.h ../ParseHelper.h ../Versions.h
+PpMemory.o: ../../Include/ShHandle.h ../../Public/ShaderLang.h
+PpMemory.o: ../../Include/ResourceLimits.h
+PpMemory.o: ../../MachineIndependent/Versions.h ../../Include/InfoSink.h
+PpMemory.o: ../../Include/Common.h ../../Include/PoolAlloc.h ../SymbolTable.h
+PpMemory.o: ../../Include/intermediate.h ../../Include/Types.h
+PpMemory.o: ../../Include/BaseTypes.h ../../Include/ConstantUnion.h
+PpMemory.o: ../../Include/InfoSink.h ../localintermediate.h ../Scan.h
+PpSymbols.o: PpContext.h ../ParseHelper.h ../Versions.h
+PpSymbols.o: ../../Include/ShHandle.h ../../Public/ShaderLang.h
+PpSymbols.o: ../../Include/ResourceLimits.h
+PpSymbols.o: ../../MachineIndependent/Versions.h ../../Include/InfoSink.h
+PpSymbols.o: ../../Include/Common.h ../../Include/PoolAlloc.h
+PpSymbols.o: ../SymbolTable.h ../../Include/intermediate.h
+PpSymbols.o: ../../Include/Types.h ../../Include/BaseTypes.h
+PpSymbols.o: ../../Include/ConstantUnion.h ../../Include/InfoSink.h
+PpSymbols.o: ../localintermediate.h ../Scan.h