From e00e8f45a60adb7fd2a84c6f6b608372a5398014 Mon Sep 17 00:00:00 2001
From: John Kessenich <cepheus@frii.com>
Date: Mon, 5 Jun 2017 16:42:33 -0600
Subject: [PATCH] GLSL: replace general missing functionality with specific
 messages.

---
 Test/400.frag                                 |  4 +
 Test/baseResults/150.tesc.out                 |  5 --
 Test/baseResults/310.comp.out                 |  1 -
 Test/baseResults/310.frag.out                 |  1 -
 Test/baseResults/310.geom.out                 |  1 -
 Test/baseResults/310.tesc.out                 |  1 -
 Test/baseResults/310.tese.out                 |  1 -
 Test/baseResults/310.vert.out                 |  1 -
 Test/baseResults/310AofA.vert.out             |  1 -
 .../310implicitSizeArrayError.vert.out        |  1 -
 Test/baseResults/400.frag.out                 | 21 ++++-
 Test/baseResults/400.geom.out                 |  1 -
 Test/baseResults/400.tesc.out                 |  1 -
 Test/baseResults/400.tese.out                 |  1 -
 Test/baseResults/400.vert.out                 |  1 -
 Test/baseResults/410.geom.out                 |  1 -
 Test/baseResults/410.tesc.out                 |  1 -
 Test/baseResults/410.vert.out                 |  2 -
 Test/baseResults/420.comp.out                 |  1 -
 Test/baseResults/420.frag.out                 |  1 -
 Test/baseResults/420.geom.out                 |  1 -
 Test/baseResults/420.tesc.out                 |  1 -
 Test/baseResults/420.tese.out                 |  1 -
 Test/baseResults/420.vert.out                 |  1 -
 Test/baseResults/420_size_gl_in.geom.out      |  1 -
 Test/baseResults/430.comp.out                 |  1 -
 Test/baseResults/430.vert.out                 |  1 -
 Test/baseResults/430AofA.frag.out             |  1 -
 Test/baseResults/430scope.vert.out            |  1 -
 Test/baseResults/440.frag.out                 |  1 -
 Test/baseResults/440.vert.out                 |  1 -
 Test/baseResults/450.comp.out                 |  2 -
 Test/baseResults/450.frag.out                 |  1 -
 Test/baseResults/450.geom.out                 |  1 -
 Test/baseResults/450.tesc.out                 |  1 -
 Test/baseResults/450.tese.out                 |  2 -
 Test/baseResults/450.vert.out                 |  1 -
 Test/baseResults/atomic_uint.frag.out         |  1 -
 Test/baseResults/badMacroArgs.frag.out        |  1 -
 Test/baseResults/comment.frag.out             |  1 -
 Test/baseResults/constFold.frag.out           |  1 -
 Test/baseResults/cppSimple.vert.out           |  1 -
 Test/baseResults/dce.frag.out                 |  2 -
 Test/baseResults/functionSemantics.frag.out   |  1 -
 Test/baseResults/glspv.esversion.vert.out     |  1 -
 Test/baseResults/glspv.vert.out               |  1 -
 Test/baseResults/include.vert.out             |  2 -
 Test/baseResults/link1.vk.frag.out            |  4 -
 Test/baseResults/missingBodies.vert.out       |  2 -
 Test/baseResults/negativeArraySize.comp.out   |  1 -
 Test/baseResults/newTexture.frag.out          |  2 -
 Test/baseResults/nonVulkan.frag.out           |  1 -
 Test/baseResults/numeral.frag.out             |  1 -
 Test/baseResults/precise.tesc.out             |  2 -
 .../baseResults/precise_struct_block.vert.out |  2 -
 .../preprocessor.edge_cases.vert.err          |  2 -
 Test/baseResults/preprocessor.errors.vert.err |  1 -
 .../preprocessor.extensions.vert.err          |  1 -
 .../preprocessor.function_macro.vert.err      |  2 -
 Test/baseResults/preprocessor.line.frag.err   |  2 -
 Test/baseResults/preprocessor.pragma.vert.err |  2 -
 Test/baseResults/preprocessor.simple.vert.err |  2 -
 Test/baseResults/reflection.vert.out          |  2 -
 Test/baseResults/remap.basic.dcefunc.frag.out |  2 -
 .../remap.basic.everything.frag.out           |  2 -
 Test/baseResults/remap.basic.none.frag.out    |  2 -
 Test/baseResults/remap.basic.strip.frag.out   |  2 -
 Test/baseResults/remap.if.everything.frag.out |  2 -
 Test/baseResults/remap.if.none.frag.out       |  2 -
 .../remap.similar_1a.everything.frag.out      |  2 -
 .../remap.similar_1a.none.frag.out            |  2 -
 .../remap.similar_1b.everything.frag.out      |  2 -
 .../remap.similar_1b.none.frag.out            |  2 -
 Test/baseResults/remap.specconst.comp.out     |  2 -
 .../remap.switch.everything.frag.out          |  1 -
 Test/baseResults/remap.switch.none.frag.out   |  1 -
 Test/baseResults/specExamples.frag.out        |  1 -
 Test/baseResults/specExamples.vert.out        |  1 -
 Test/baseResults/spv.100ops.frag.out          |  2 -
 Test/baseResults/spv.300BuiltIns.vert.out     |  2 -
 Test/baseResults/spv.300layout.frag.out       |  2 -
 Test/baseResults/spv.300layout.vert.out       |  2 -
 Test/baseResults/spv.300layoutp.vert.out      |  2 -
 Test/baseResults/spv.310.bitcast.frag.out     |  2 -
 Test/baseResults/spv.310.comp.out             |  2 -
 Test/baseResults/spv.400.frag.out             |  2 -
 Test/baseResults/spv.400.tesc.out             |  2 -
 Test/baseResults/spv.400.tese.out             |  2 -
 Test/baseResults/spv.420.geom.out             |  2 -
 Test/baseResults/spv.430.frag.out             |  2 -
 Test/baseResults/spv.430.vert.out             |  2 -
 Test/baseResults/spv.450.geom.out             |  2 -
 Test/baseResults/spv.450.noRedecl.tesc.out    |  2 -
 Test/baseResults/spv.450.tesc.out             |  2 -
 Test/baseResults/spv.AofA.frag.out            |  2 -
 .../spv.GeometryShaderPassthrough.geom.out    |  2 -
 Test/baseResults/spv.Operations.frag.out      |  2 -
 Test/baseResults/spv.accessChain.frag.out     |  2 -
 Test/baseResults/spv.aggOps.frag.out          |  1 -
 Test/baseResults/spv.atomic.comp.out          |  2 -
 Test/baseResults/spv.bitCast.frag.out         |  2 -
 Test/baseResults/spv.bool.vert.out            |  2 -
 Test/baseResults/spv.boolInBlock.frag.out     |  2 -
 Test/baseResults/spv.branch-return.vert.out   |  2 -
 .../spv.conditionalDiscard.frag.out           |  2 -
 Test/baseResults/spv.debugInfo.frag.out       |  2 -
 Test/baseResults/spv.depthOut.frag.out        |  2 -
 Test/baseResults/spv.deviceGroup.frag.out     |  2 -
 Test/baseResults/spv.do-simple.vert.out       |  2 -
 .../spv.do-while-continue-break.vert.out      |  2 -
 Test/baseResults/spv.double.comp.out          |  2 -
 Test/baseResults/spv.drawParams.vert.out      |  2 -
 Test/baseResults/spv.float16.frag.out         |  2 -
 .../spv.for-complex-condition.vert.out        |  2 -
 .../spv.for-continue-break.vert.out           |  2 -
 Test/baseResults/spv.for-nobody.vert.out      |  2 -
 Test/baseResults/spv.for-notest.vert.out      |  2 -
 Test/baseResults/spv.for-simple.vert.out      |  2 -
 .../spv.functionNestedOpaque.vert.out         |  2 -
 .../spv.functionSemantics.frag.out            |  2 -
 .../spv.glsl.register.autoassign.frag.out     |  2 -
 .../spv.glsl.register.noautoassign.frag.out   |  2 -
 Test/baseResults/spv.hlslOffsets.vert.out     |  2 -
 Test/baseResults/spv.image.frag.out           |  2 -
 Test/baseResults/spv.int64.frag.out           |  2 -
 Test/baseResults/spv.intOps.vert.out          |  2 -
 Test/baseResults/spv.interpOps.frag.out       |  2 -
 Test/baseResults/spv.layoutNested.vert.out    |  2 -
 Test/baseResults/spv.localAggregates.frag.out |  2 -
 Test/baseResults/spv.matFun.vert.out          |  2 -
 Test/baseResults/spv.matrix.frag.out          |  2 -
 Test/baseResults/spv.memoryQualifier.frag.out |  2 -
 .../spv.merge-unreachable.frag.out            |  2 -
 Test/baseResults/spv.multiStruct.comp.out     |  2 -
 .../spv.multiStructFuncall.frag.out           |  2 -
 Test/baseResults/spv.multiView.frag.out       |  2 -
 .../spv.multiviewPerViewAttributes.tesc.out   |  2 -
 .../spv.multiviewPerViewAttributes.vert.out   |  2 -
 Test/baseResults/spv.newTexture.frag.out      |  2 -
 .../spv.noDeadDecorations.vert.out            |  2 -
 Test/baseResults/spv.noLocation.vert.out      |  1 -
 Test/baseResults/spv.noWorkgroup.comp.out     |  2 -
 Test/baseResults/spv.offsets.frag.out         |  2 -
 Test/baseResults/spv.precise.tesc.out         |  2 -
 Test/baseResults/spv.precise.tese.out         |  2 -
 Test/baseResults/spv.precision.frag.out       |  2 -
 Test/baseResults/spv.pushConstant.vert.out    |  2 -
 .../baseResults/spv.pushConstantAnon.vert.out |  2 -
 Test/baseResults/spv.qualifiers.vert.out      |  2 -
 Test/baseResults/spv.queryL.frag.out          |  2 -
 .../spv.sampleMaskOverrideCoverage.frag.out   |  2 -
 Test/baseResults/spv.separate.frag.out        |  2 -
 Test/baseResults/spv.set.vert.out             |  2 -
 Test/baseResults/spv.shaderBallot.comp.out    |  2 -
 Test/baseResults/spv.shaderBallotAMD.comp.out |  2 -
 .../baseResults/spv.shaderDrawParams.vert.out |  2 -
 Test/baseResults/spv.shaderGroupVote.comp.out |  2 -
 Test/baseResults/spv.shiftOps.frag.out        |  2 -
 Test/baseResults/spv.shortCircuit.frag.out    |  2 -
 Test/baseResults/spv.sparseTexture.frag.out   |  2 -
 .../spv.sparseTextureClamp.frag.out           |  2 -
 Test/baseResults/spv.specConst.vert.out       |  2 -
 Test/baseResults/spv.specConstant.comp.out    |  2 -
 Test/baseResults/spv.specConstant.vert.out    |  2 -
 .../spv.specConstantComposite.vert.out        |  2 -
 .../spv.specConstantOperations.vert.out       |  2 -
 .../spv.stereoViewRendering.tesc.out          |  2 -
 .../spv.stereoViewRendering.vert.out          |  2 -
 Test/baseResults/spv.storageBuffer.vert.out   |  2 -
 Test/baseResults/spv.subpass.frag.out         |  2 -
 Test/baseResults/spv.switch.frag.out          |  1 -
 .../baseResults/spv.swizzleInversion.frag.out |  2 -
 Test/baseResults/spv.test.frag.out            |  2 -
 .../spv.texture.sampler.transform.frag.out    |  2 -
 Test/baseResults/spv.textureBuffer.vert.out   |  2 -
 .../spv.textureGatherBiasLod.frag.out         |  2 -
 Test/baseResults/spv.uint.frag.out            |  2 -
 .../spv.variableArrayIndex.frag.out           |  2 -
 Test/baseResults/spv.viewportArray2.tesc.out  |  2 -
 Test/baseResults/spv.viewportArray2.vert.out  |  2 -
 Test/baseResults/spv.voidFunction.frag.out    |  2 -
 .../spv.while-continue-break.vert.out         |  2 -
 Test/baseResults/spv.while-simple.vert.out    |  2 -
 Test/baseResults/tokenPaste.vert.out          |  1 -
 Test/baseResults/versionsClean.vert.out       |  2 -
 Test/baseResults/versionsErrors.vert.out      |  1 -
 Test/baseResults/vulkan.ast.vert.out          |  2 -
 Test/baseResults/vulkan.comp.out              |  1 -
 Test/baseResults/vulkan.frag.out              |  5 +-
 Test/baseResults/vulkan.vert.out              |  1 -
 glslang/MachineIndependent/ShaderLang.cpp     | 35 --------
 glslang/MachineIndependent/Versions.cpp       |  5 ++
 glslang/MachineIndependent/glslang.y          | 16 ++--
 glslang/MachineIndependent/glslang_tab.cpp    | 84 +++++++++----------
 glslang/MachineIndependent/parseVersions.h    |  1 +
 195 files changed, 80 insertions(+), 415 deletions(-)

diff --git a/Test/400.frag b/Test/400.frag
index 92dcd58ed..039d4809f 100644
--- a/Test/400.frag
+++ b/Test/400.frag
@@ -194,4 +194,8 @@ void bitwiseConv()
     iout += i | uu;
 }
 
+subroutine(subT1, subT2);
+subroutine float subT1() { return 1.0; }
+subroutine float subT2() { return 1.0; }
+
 struct SKeyMem { int precise; } KeyMem;     // ERROR, keyword can't be a member
diff --git a/Test/baseResults/150.tesc.out b/Test/baseResults/150.tesc.out
index 526b6e7d5..5cc9e804c 100644
--- a/Test/baseResults/150.tesc.out
+++ b/Test/baseResults/150.tesc.out
@@ -210,7 +210,6 @@ ERROR: node is still EOpNull!
 0:?     'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position,  gl_PointSize float PointSize gl_PointSize,  out implicitly-sized array of float ClipDistance gl_ClipDistance})
 
 400.tesc
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4) 
 ERROR: 0:7: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4) 
 ERROR: 0:8: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4) 
@@ -442,7 +441,6 @@ ERROR: node is still EOpNull!
 0:?     'badOrder' ( invariant noContraction out 4-element array of 4-component vector of float)
 
 400.tese
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:3: 'vertices' : there is no such layout identifier for this stage taking an assigned value 
 ERROR: 0:5: 'triangles' : cannot change previously set input primitive 
 ERROR: 0:6: 'isolines' : cannot change previously set input primitive 
@@ -612,7 +610,6 @@ ERROR: node is still EOpNull!
 0:?     'pinbi' ( patch in block{ in int a})
 
 410.tesc
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:4: 'length' :  array must first be sized by a redeclaration or layout qualifier
 ERROR: 1 compilation errors.  No code generated.
 
@@ -628,7 +625,6 @@ ERROR: node is still EOpNull!
 0:?     'patchOut' ( patch out 4-component vector of float)
 
 420.tesc
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size of gl_out
 ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a
 ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb
@@ -747,7 +743,6 @@ ERROR: node is still EOpNull!
 0:?     'vs_tcs_last' (layout( location=12) in 32-element array of 2X4 matrix of double)
 
 420.tese
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:7: '=' :  cannot convert from ' const 3-element array of float' to ' global 2-element array of float'
 ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column):  temp 2-component vector of float
 ERROR: 0:9: 'initializer list' : wrong number of matrix columns:  temp 3X3 matrix of float
diff --git a/Test/baseResults/310.comp.out b/Test/baseResults/310.comp.out
index 3246622de..e97571ac9 100644
--- a/Test/baseResults/310.comp.out
+++ b/Test/baseResults/310.comp.out
@@ -1,5 +1,4 @@
 310.comp
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:4: 'local_size' : cannot change previously set size 
 ERROR: 0:5: 'local_size' : too large; see gl_MaxComputeWorkGroupSize 
 ERROR: 0:23: '' : array size required 
diff --git a/Test/baseResults/310.frag.out b/Test/baseResults/310.frag.out
index 3b2fdd087..f5014cfb6 100644
--- a/Test/baseResults/310.frag.out
+++ b/Test/baseResults/310.frag.out
@@ -1,5 +1,4 @@
 310.frag
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:2: 'float' : type requires declaration of default precision qualifier 
 ERROR: 0:8: 'origin_upper_left' : not supported with this profile: es
 ERROR: 0:8: 'pixel_center_integer' : not supported with this profile: es
diff --git a/Test/baseResults/310.geom.out b/Test/baseResults/310.geom.out
index e57c8222c..b0dabc3b2 100644
--- a/Test/baseResults/310.geom.out
+++ b/Test/baseResults/310.geom.out
@@ -1,5 +1,4 @@
 310.geom
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:29: 'fromVertex' : block instance name redefinition 
 ERROR: 0:33: 'fromVertex' : redefinition 
 ERROR: 0:35: 'fooC' : block instance name redefinition 
diff --git a/Test/baseResults/310.tesc.out b/Test/baseResults/310.tesc.out
index 9c3d1d55f..01d7ecfb4 100644
--- a/Test/baseResults/310.tesc.out
+++ b/Test/baseResults/310.tesc.out
@@ -1,5 +1,4 @@
 310.tesc
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:8: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4) 
 ERROR: 0:9: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4) 
 ERROR: 0:10: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4) 
diff --git a/Test/baseResults/310.tese.out b/Test/baseResults/310.tese.out
index 4550230d2..52d19b4fd 100644
--- a/Test/baseResults/310.tese.out
+++ b/Test/baseResults/310.tese.out
@@ -1,5 +1,4 @@
 310.tese
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:7: 'vertices' : there is no such layout identifier for this stage taking an assigned value 
 ERROR: 0:9: 'triangles' : cannot change previously set input primitive 
 ERROR: 0:10: 'isolines' : cannot change previously set input primitive 
diff --git a/Test/baseResults/310.vert.out b/Test/baseResults/310.vert.out
index 6d4599c53..21fa27b90 100644
--- a/Test/baseResults/310.vert.out
+++ b/Test/baseResults/310.vert.out
@@ -1,5 +1,4 @@
 310.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:3: 'shared' : not supported in this stage: vertex
 ERROR: 0:4: 'local_size_x' : there is no such layout identifier for this stage taking an assigned value 
 ERROR: 0:5: 'buffer' : buffers can be declared only as blocks 
diff --git a/Test/baseResults/310AofA.vert.out b/Test/baseResults/310AofA.vert.out
index ffba25f9a..882c58a59 100644
--- a/Test/baseResults/310AofA.vert.out
+++ b/Test/baseResults/310AofA.vert.out
@@ -1,5 +1,4 @@
 310AofA.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:17: '' : array size required 
 ERROR: 0:23: '' : array size required 
 ERROR: 0:28: '[]' : only outermost dimension of an array of arrays can be implicitly sized 
diff --git a/Test/baseResults/310implicitSizeArrayError.vert.out b/Test/baseResults/310implicitSizeArrayError.vert.out
index 07ac52378..1eed457db 100644
--- a/Test/baseResults/310implicitSizeArrayError.vert.out
+++ b/Test/baseResults/310implicitSizeArrayError.vert.out
@@ -1,5 +1,4 @@
 310implicitSizeArrayError.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:3: '' : array size required 
 ERROR: 1 compilation errors.  No code generated.
 
diff --git a/Test/baseResults/400.frag.out b/Test/baseResults/400.frag.out
index 84456599d..443b10241 100644
--- a/Test/baseResults/400.frag.out
+++ b/Test/baseResults/400.frag.out
@@ -1,5 +1,4 @@
 400.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:18: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument
 ERROR: 0:22: 'textureGatherOffset(...)' : must be a compile-time constant: component argument
 ERROR: 0:23: 'textureGatherOffset(...)' : must be 0, 1, 2, or 3: component argument
@@ -34,8 +33,12 @@ ERROR: 0:183: 'textureQueryLod' : no matching overloaded function found
 ERROR: 0:183: 'assign' :  cannot convert from ' const float' to ' temp 2-component vector of float'
 ERROR: 0:184: 'textureQueryLod' : no matching overloaded function found 
 ERROR: 0:184: 'assign' :  cannot convert from ' const float' to ' temp 2-component vector of float'
-ERROR: 0:197: '' :  syntax error, unexpected PRECISE, expecting IDENTIFIER
-ERROR: 35 compilation errors.  No code generated.
+ERROR: 0:197: 'subroutine' : feature not yet implemented 
+ERROR: 0:197: '' : default qualifier requires 'uniform', 'buffer', 'in', or 'out' storage qualification 
+ERROR: 0:198: 'subroutine' : feature not yet implemented 
+ERROR: 0:199: 'subroutine' : feature not yet implemented 
+ERROR: 0:201: '' :  syntax error, unexpected PRECISE, expecting IDENTIFIER
+ERROR: 39 compilation errors.  No code generated.
 
 
 Shader version: 400
@@ -490,6 +493,18 @@ ERROR: node is still EOpNull!
 0:194          Convert int to uint ( temp uint)
 0:194            'i' ( flat in int)
 0:194          'uu' ( uniform uint)
+0:198  Function Definition: subT1( ( temp float)
+0:198    Function Parameters: 
+0:198    Sequence
+0:198      Branch: Return with expression
+0:198        Constant:
+0:198          1.000000
+0:199  Function Definition: subT2( ( temp float)
+0:199    Function Parameters: 
+0:199    Sequence
+0:199      Branch: Return with expression
+0:199        Constant:
+0:199          1.000000
 0:?   Linker Objects
 0:?     'c2D' ( smooth in 2-component vector of float)
 0:?     'i' ( flat in int)
diff --git a/Test/baseResults/400.geom.out b/Test/baseResults/400.geom.out
index 989b439b1..1d009d9ca 100644
--- a/Test/baseResults/400.geom.out
+++ b/Test/baseResults/400.geom.out
@@ -1,5 +1,4 @@
 400.geom
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:12: 'invocations' : can only apply to a standalone qualifier 
 ERROR: 0:20: 'patch' : not supported in this stage: geometry
 ERROR: 0:20: 'gl_PointSize' : cannot add layout to redeclared block member 
diff --git a/Test/baseResults/400.tesc.out b/Test/baseResults/400.tesc.out
index 434079e95..762f0b8d4 100644
--- a/Test/baseResults/400.tesc.out
+++ b/Test/baseResults/400.tesc.out
@@ -1,5 +1,4 @@
 400.tesc
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4) 
 ERROR: 0:7: 'ccw' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4) 
 ERROR: 0:8: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4) 
diff --git a/Test/baseResults/400.tese.out b/Test/baseResults/400.tese.out
index 2f1c97c09..e9ffcdf6d 100644
--- a/Test/baseResults/400.tese.out
+++ b/Test/baseResults/400.tese.out
@@ -1,5 +1,4 @@
 400.tese
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:3: 'vertices' : there is no such layout identifier for this stage taking an assigned value 
 ERROR: 0:5: 'triangles' : cannot change previously set input primitive 
 ERROR: 0:6: 'isolines' : cannot change previously set input primitive 
diff --git a/Test/baseResults/400.vert.out b/Test/baseResults/400.vert.out
index 0fd453d8e..05f58e2d8 100755
--- a/Test/baseResults/400.vert.out
+++ b/Test/baseResults/400.vert.out
@@ -1,5 +1,4 @@
 400.vert
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:3: 'vertex-shader `double` type input' : not supported for this version or the enabled extensions 
 ERROR: 0:4: 'vertex-shader `double` type input' : not supported for this version or the enabled extensions 
 ERROR: 0:5: 'vertex-shader `double` type input' : not supported for this version or the enabled extensions 
diff --git a/Test/baseResults/410.geom.out b/Test/baseResults/410.geom.out
index 7219e4de1..4d35d5206 100644
--- a/Test/baseResults/410.geom.out
+++ b/Test/baseResults/410.geom.out
@@ -1,5 +1,4 @@
 410.geom
-Warning, version 410 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:8: 'myIn' : cannot redeclare a built-in block with a user name 
 ERROR: 0:12: 'gl_myIn' : no declaration found for redeclaration 
 ERROR: 0:20: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use 
diff --git a/Test/baseResults/410.tesc.out b/Test/baseResults/410.tesc.out
index 9b459b17f..68593d0db 100644
--- a/Test/baseResults/410.tesc.out
+++ b/Test/baseResults/410.tesc.out
@@ -1,5 +1,4 @@
 410.tesc
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:4: 'length' :  array must first be sized by a redeclaration or layout qualifier
 ERROR: 1 compilation errors.  No code generated.
 
diff --git a/Test/baseResults/410.vert.out b/Test/baseResults/410.vert.out
index 0e2c87e73..aacdf36c0 100755
--- a/Test/baseResults/410.vert.out
+++ b/Test/baseResults/410.vert.out
@@ -1,6 +1,4 @@
 410.vert
-Warning, version 410 is not yet complete; most version-specific features are present, but some are missing.
-
 Shader version: 410
 0:? Sequence
 0:7  Function Definition: main( ( global void)
diff --git a/Test/baseResults/420.comp.out b/Test/baseResults/420.comp.out
index 07944de8f..4e091acff 100755
--- a/Test/baseResults/420.comp.out
+++ b/Test/baseResults/420.comp.out
@@ -1,5 +1,4 @@
 420.comp
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:3: 'gl_WorkGroupSize' : not supported for this version or the enabled extensions 
 ERROR: 1 compilation errors.  No code generated.
 
diff --git a/Test/baseResults/420.frag.out b/Test/baseResults/420.frag.out
index 31fe7f96f..699c0c590 100644
--- a/Test/baseResults/420.frag.out
+++ b/Test/baseResults/420.frag.out
@@ -1,5 +1,4 @@
 420.frag
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:4: 'redeclaration' : all redeclarations must use the same depth layout on gl_FragDepth
 ERROR: 0:11: 'layout qualifier' : can only apply depth layout to gl_FragDepth 
 ERROR: 0:12: 'gl_FragDepth' : cannot redeclare after use 
diff --git a/Test/baseResults/420.geom.out b/Test/baseResults/420.geom.out
index 0fccfe0f2..fe9e12f42 100644
--- a/Test/baseResults/420.geom.out
+++ b/Test/baseResults/420.geom.out
@@ -1,5 +1,4 @@
 420.geom
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:9: 'length' :  array must first be sized by a redeclaration or layout qualifier
 ERROR: 0:11: '[' :  array must be sized by a redeclaration or layout qualifier before being indexed with a variable
 ERROR: 0:42: 'assign' :  l-value required (can't modify a const)
diff --git a/Test/baseResults/420.tesc.out b/Test/baseResults/420.tesc.out
index 83816f30b..7876bd63a 100644
--- a/Test/baseResults/420.tesc.out
+++ b/Test/baseResults/420.tesc.out
@@ -1,5 +1,4 @@
 420.tesc
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size of gl_out
 ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a
 ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb
diff --git a/Test/baseResults/420.tese.out b/Test/baseResults/420.tese.out
index 9986c2a26..66d41e55b 100644
--- a/Test/baseResults/420.tese.out
+++ b/Test/baseResults/420.tese.out
@@ -1,5 +1,4 @@
 420.tese
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:7: '=' :  cannot convert from ' const 3-element array of float' to ' global 2-element array of float'
 ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column):  temp 2-component vector of float
 ERROR: 0:9: 'initializer list' : wrong number of matrix columns:  temp 3X3 matrix of float
diff --git a/Test/baseResults/420.vert.out b/Test/baseResults/420.vert.out
index 8fb8546ee..f66ab23ef 100644
--- a/Test/baseResults/420.vert.out
+++ b/Test/baseResults/420.vert.out
@@ -1,5 +1,4 @@
 420.vert
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:2: '#version' : must occur first in shader 
 WARNING: 0:3: varying deprecated in version 130; may be removed in future release
 ERROR: 0:3: 'varying' : no longer supported in core profile; removed in version 420
diff --git a/Test/baseResults/420_size_gl_in.geom.out b/Test/baseResults/420_size_gl_in.geom.out
index 3c3b8105f..d058013d8 100644
--- a/Test/baseResults/420_size_gl_in.geom.out
+++ b/Test/baseResults/420_size_gl_in.geom.out
@@ -1,5 +1,4 @@
 420_size_gl_in.geom
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:19: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use 
 ERROR: 1 compilation errors.  No code generated.
 
diff --git a/Test/baseResults/430.comp.out b/Test/baseResults/430.comp.out
index 91aaf786c..c4ad19ed0 100644
--- a/Test/baseResults/430.comp.out
+++ b/Test/baseResults/430.comp.out
@@ -1,5 +1,4 @@
 430.comp
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:4: 'local_size' : cannot change previously set size 
 ERROR: 0:5: 'local_size' : too large; see gl_MaxComputeWorkGroupSize 
 ERROR: 0:43: 'in' : global storage input qualifier cannot be used in a compute shader 
diff --git a/Test/baseResults/430.vert.out b/Test/baseResults/430.vert.out
index 78b16980c..29ffb01aa 100644
--- a/Test/baseResults/430.vert.out
+++ b/Test/baseResults/430.vert.out
@@ -1,5 +1,4 @@
 430.vert
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:3: 'location' : can only apply to uniform, buffer, in, or out storage qualifiers 
 ERROR: 0:7: 'input block' : not supported in this stage: vertex
 ERROR: 0:7: 'location qualifier on in/out block' : not supported for this version or the enabled extensions 
diff --git a/Test/baseResults/430AofA.frag.out b/Test/baseResults/430AofA.frag.out
index 3d532803a..788a8d17c 100644
--- a/Test/baseResults/430AofA.frag.out
+++ b/Test/baseResults/430AofA.frag.out
@@ -1,5 +1,4 @@
 430AofA.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:6: '[]' : only outermost dimension of an array of arrays can be implicitly sized 
 ERROR: 0:14: 'constructor' : constructing non-array constituent from array argument 
 ERROR: 0:15: 'constructor' : array constructor argument not correct type to construct array element 
diff --git a/Test/baseResults/430scope.vert.out b/Test/baseResults/430scope.vert.out
index 3e710024a..0d9138922 100644
--- a/Test/baseResults/430scope.vert.out
+++ b/Test/baseResults/430scope.vert.out
@@ -1,5 +1,4 @@
 430scope.vert
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:5: 'a' : redefinition 
 ERROR: 0:17: 'b' : function name is redeclaration of existing name 
 ERROR: 0:20: 'c' : redefinition 
diff --git a/Test/baseResults/440.frag.out b/Test/baseResults/440.frag.out
index ff276415f..18e014f92 100644
--- a/Test/baseResults/440.frag.out
+++ b/Test/baseResults/440.frag.out
@@ -1,5 +1,4 @@
 440.frag
-Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:11: 'location' : overlapping use of location 4
 ERROR: 0:13: 'component' : type overflows the available 4 components 
 ERROR: 0:22: 'location' : fragment outputs sharing the same location must be the same basic type 30
diff --git a/Test/baseResults/440.vert.out b/Test/baseResults/440.vert.out
index 3448113c8..8eafb0aea 100644
--- a/Test/baseResults/440.vert.out
+++ b/Test/baseResults/440.vert.out
@@ -1,5 +1,4 @@
 440.vert
-Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:8: 'component' : type overflows the available 4 components 
 ERROR: 0:15: 'component' : component is too large 
 ERROR: 0:23: 'location' : overlapping use of location 4
diff --git a/Test/baseResults/450.comp.out b/Test/baseResults/450.comp.out
index 203c4b24d..4d3ff7d88 100644
--- a/Test/baseResults/450.comp.out
+++ b/Test/baseResults/450.comp.out
@@ -1,6 +1,4 @@
 450.comp
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 Shader version: 450
 local_size = (1, 1, 1)
 0:? Sequence
diff --git a/Test/baseResults/450.frag.out b/Test/baseResults/450.frag.out
index 110323103..c0db5a7b9 100644
--- a/Test/baseResults/450.frag.out
+++ b/Test/baseResults/450.frag.out
@@ -1,5 +1,4 @@
 450.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:63: 'location' : cannot use in a block array where new locations are needed for each block element 
 ERROR: 1 compilation errors.  No code generated.
 
diff --git a/Test/baseResults/450.geom.out b/Test/baseResults/450.geom.out
index 8d313c8df..ee08188c7 100644
--- a/Test/baseResults/450.geom.out
+++ b/Test/baseResults/450.geom.out
@@ -1,5 +1,4 @@
 450.geom
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:15: '[' :  array index out of range '3'
 ERROR: 0:15: 'gl_Position' : no such field in structure 
 ERROR: 2 compilation errors.  No code generated.
diff --git a/Test/baseResults/450.tesc.out b/Test/baseResults/450.tesc.out
index 88cbfdfc9..b3f4e252d 100644
--- a/Test/baseResults/450.tesc.out
+++ b/Test/baseResults/450.tesc.out
@@ -1,5 +1,4 @@
 450.tesc
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:20: 'location' : cannot use in a block array where new locations are needed for each block element 
 ERROR: 1 compilation errors.  No code generated.
 
diff --git a/Test/baseResults/450.tese.out b/Test/baseResults/450.tese.out
index b7735e66b..7b803045e 100644
--- a/Test/baseResults/450.tese.out
+++ b/Test/baseResults/450.tese.out
@@ -1,6 +1,4 @@
 450.tese
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 Shader version: 450
 input primitive = none
 vertex spacing = none
diff --git a/Test/baseResults/450.vert.out b/Test/baseResults/450.vert.out
index cc300d99e..d2a05a9d3 100644
--- a/Test/baseResults/450.vert.out
+++ b/Test/baseResults/450.vert.out
@@ -1,5 +1,4 @@
 450.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:12: 'out' : cannot be bool 
 ERROR: 0:13: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: outo
 ERROR: 0:27: '::' : not supported 
diff --git a/Test/baseResults/atomic_uint.frag.out b/Test/baseResults/atomic_uint.frag.out
index e0ba0994b..e2773f9eb 100644
--- a/Test/baseResults/atomic_uint.frag.out
+++ b/Test/baseResults/atomic_uint.frag.out
@@ -1,5 +1,4 @@
 atomic_uint.frag
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:10: 'atomic_uint' : samplers and atomic_uints cannot be output parameters 
 ERROR: 0:12: 'return' : type does not match, or is not convertible to, the function's return type 
 ERROR: 0:18: 'atomic_uint' : atomic_uints can only be used in uniform variables or function parameters: non_uniform_counter
diff --git a/Test/baseResults/badMacroArgs.frag.out b/Test/baseResults/badMacroArgs.frag.out
index 95937ce31..5e6233f8d 100644
--- a/Test/baseResults/badMacroArgs.frag.out
+++ b/Test/baseResults/badMacroArgs.frag.out
@@ -1,5 +1,4 @@
 badMacroArgs.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:4: 'macro expansion' : Too few args in Macro m
 ERROR: 0:4: '' : compilation terminated 
 ERROR: 2 compilation errors.  No code generated.
diff --git a/Test/baseResults/comment.frag.out b/Test/baseResults/comment.frag.out
index 57f2a1d08..b1a00ff51 100644
--- a/Test/baseResults/comment.frag.out
+++ b/Test/baseResults/comment.frag.out
@@ -1,5 +1,4 @@
 comment.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
 WARNING: 0:10: 'line continuation' : used at end of comment; the following line is still part of the comment 
 WARNING: 0:12: 'line continuation' : used at end of comment; the following line is still part of the comment 
 
diff --git a/Test/baseResults/constFold.frag.out b/Test/baseResults/constFold.frag.out
index 965c6dbc5..33cfcbafe 100644
--- a/Test/baseResults/constFold.frag.out
+++ b/Test/baseResults/constFold.frag.out
@@ -1,5 +1,4 @@
 constFold.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:109: '[' :  index out of range '-1'
 ERROR: 0:110: '[' :  vector index out of range '4'
 ERROR: 0:111: '[' :  index out of range '-2'
diff --git a/Test/baseResults/cppSimple.vert.out b/Test/baseResults/cppSimple.vert.out
index 0696c7447..5b8794149 100644
--- a/Test/baseResults/cppSimple.vert.out
+++ b/Test/baseResults/cppSimple.vert.out
@@ -1,5 +1,4 @@
 cppSimple.vert
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:77: '#error' : good1  
 ERROR: 0:81: '#error' : good2  
 ERROR: 0:85: '#error' : good3  
diff --git a/Test/baseResults/dce.frag.out b/Test/baseResults/dce.frag.out
index 63d194ca4..6b02eb1c2 100644
--- a/Test/baseResults/dce.frag.out
+++ b/Test/baseResults/dce.frag.out
@@ -1,6 +1,4 @@
 dce.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 Shader version: 400
 0:? Sequence
 0:5  Sequence
diff --git a/Test/baseResults/functionSemantics.frag.out b/Test/baseResults/functionSemantics.frag.out
index 6c5ebdc6f..d04e6e7ad 100644
--- a/Test/baseResults/functionSemantics.frag.out
+++ b/Test/baseResults/functionSemantics.frag.out
@@ -1,5 +1,4 @@
 functionSemantics.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:74: 'return' : cannot convert return value to function return type 
 WARNING: 0:74: 'return' : type conversion on return values was not explicitly allowed until version 420 
 ERROR: 1 compilation errors.  No code generated.
diff --git a/Test/baseResults/glspv.esversion.vert.out b/Test/baseResults/glspv.esversion.vert.out
index 8e4b3b883..782865abc 100755
--- a/Test/baseResults/glspv.esversion.vert.out
+++ b/Test/baseResults/glspv.esversion.vert.out
@@ -1,6 +1,5 @@
 glspv.esversion.vert
 ERROR: #version: ES shaders for OpenGL SPIR-V are not supported
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 1 compilation errors.  No code generated.
 
 
diff --git a/Test/baseResults/glspv.vert.out b/Test/baseResults/glspv.vert.out
index fae52b7cf..f2fe53b29 100755
--- a/Test/baseResults/glspv.vert.out
+++ b/Test/baseResults/glspv.vert.out
@@ -1,5 +1,4 @@
 glspv.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:3: 'push_constant' : only allowed when using GLSL for Vulkan 
 ERROR: 0:6: 'descriptor set' : only allowed when using GLSL for Vulkan 
 ERROR: 0:8: 'shared' : not allowed when generating SPIR-V 
diff --git a/Test/baseResults/include.vert.out b/Test/baseResults/include.vert.out
index c94ffcb08..42f10323a 100644
--- a/Test/baseResults/include.vert.out
+++ b/Test/baseResults/include.vert.out
@@ -1,6 +1,4 @@
 include.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 Shader version: 450
 Requested GL_GOOGLE_cpp_style_line_directive
 Requested GL_GOOGLE_include_directive
diff --git a/Test/baseResults/link1.vk.frag.out b/Test/baseResults/link1.vk.frag.out
index 436f5e217..26a26af87 100644
--- a/Test/baseResults/link1.vk.frag.out
+++ b/Test/baseResults/link1.vk.frag.out
@@ -1,6 +1,4 @@
 link1.vk.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 Shader version: 450
 gl_FragCoord origin is upper left
 0:? Sequence
@@ -14,8 +12,6 @@ gl_FragCoord origin is upper left
 0:?     'color' ( out highp 4-component vector of float)
 
 link2.vk.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 Shader version: 450
 gl_FragCoord origin is upper left
 0:? Sequence
diff --git a/Test/baseResults/missingBodies.vert.out b/Test/baseResults/missingBodies.vert.out
index 7760c3fd3..3a9a99f6c 100755
--- a/Test/baseResults/missingBodies.vert.out
+++ b/Test/baseResults/missingBodies.vert.out
@@ -1,6 +1,4 @@
 missingBodies.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 Shader version: 450
 0:? Sequence
 0:4  Function Definition: foo( ( global void)
diff --git a/Test/baseResults/negativeArraySize.comp.out b/Test/baseResults/negativeArraySize.comp.out
index abdd51e2c..0a5ba310f 100644
--- a/Test/baseResults/negativeArraySize.comp.out
+++ b/Test/baseResults/negativeArraySize.comp.out
@@ -1,5 +1,4 @@
 negativeArraySize.comp
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:9: '' : array size must be a positive integer 
 ERROR: 1 compilation errors.  No code generated.
 
diff --git a/Test/baseResults/newTexture.frag.out b/Test/baseResults/newTexture.frag.out
index 3a1c7a201..52921e8fc 100644
--- a/Test/baseResults/newTexture.frag.out
+++ b/Test/baseResults/newTexture.frag.out
@@ -1,6 +1,4 @@
 newTexture.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-
 Shader version: 430
 0:? Sequence
 0:36  Function Definition: main( ( global void)
diff --git a/Test/baseResults/nonVulkan.frag.out b/Test/baseResults/nonVulkan.frag.out
index 236f5a847..2b8b6a0ce 100644
--- a/Test/baseResults/nonVulkan.frag.out
+++ b/Test/baseResults/nonVulkan.frag.out
@@ -1,5 +1,4 @@
 nonVulkan.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:3: 'constant_id' : only allowed when generating SPIR-V 
 ERROR: 0:4: 'input_attachment_index' : only allowed when using GLSL for Vulkan 
 ERROR: 0:4: 'input_attachment_index' : can only be used with a subpass 
diff --git a/Test/baseResults/numeral.frag.out b/Test/baseResults/numeral.frag.out
index 22f4a9498..11def1205 100644
--- a/Test/baseResults/numeral.frag.out
+++ b/Test/baseResults/numeral.frag.out
@@ -1,5 +1,4 @@
 numeral.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:14: '' : octal literal digit too large 
 ERROR: 0:15: '' : octal literal digit too large 
 ERROR: 0:16: '' : octal literal digit too large 
diff --git a/Test/baseResults/precise.tesc.out b/Test/baseResults/precise.tesc.out
index 7beff892e..abe56f750 100644
--- a/Test/baseResults/precise.tesc.out
+++ b/Test/baseResults/precise.tesc.out
@@ -1,6 +1,4 @@
 precise.tesc
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 Shader version: 450
 Requested GL_EXT_gpu_shader5
 Requested GL_EXT_shader_io_blocks
diff --git a/Test/baseResults/precise_struct_block.vert.out b/Test/baseResults/precise_struct_block.vert.out
index 638bd1b52..a239e95de 100644
--- a/Test/baseResults/precise_struct_block.vert.out
+++ b/Test/baseResults/precise_struct_block.vert.out
@@ -1,6 +1,4 @@
 precise_struct_block.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 Shader version: 450
 0:? Sequence
 0:11  Function Definition: struct_member( ( global float)
diff --git a/Test/baseResults/preprocessor.edge_cases.vert.err b/Test/baseResults/preprocessor.edge_cases.vert.err
index 5f177e6cc..e69de29bb 100644
--- a/Test/baseResults/preprocessor.edge_cases.vert.err
+++ b/Test/baseResults/preprocessor.edge_cases.vert.err
@@ -1,2 +0,0 @@
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
diff --git a/Test/baseResults/preprocessor.errors.vert.err b/Test/baseResults/preprocessor.errors.vert.err
index cfde4041e..bc588958f 100644
--- a/Test/baseResults/preprocessor.errors.vert.err
+++ b/Test/baseResults/preprocessor.errors.vert.err
@@ -1,4 +1,3 @@
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:9: '#error' : This should show up in pp output .  
 ERROR: 0:14: '#' : invalid directive: def
 ERROR: 0:15: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile Y
diff --git a/Test/baseResults/preprocessor.extensions.vert.err b/Test/baseResults/preprocessor.extensions.vert.err
index 925cc0ca0..35db30341 100644
--- a/Test/baseResults/preprocessor.extensions.vert.err
+++ b/Test/baseResults/preprocessor.extensions.vert.err
@@ -1,3 +1,2 @@
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
 WARNING: 0:6: '#extension' : extension not supported: GL_EXT_shader_texture_image_samples
 
diff --git a/Test/baseResults/preprocessor.function_macro.vert.err b/Test/baseResults/preprocessor.function_macro.vert.err
index 5f177e6cc..e69de29bb 100644
--- a/Test/baseResults/preprocessor.function_macro.vert.err
+++ b/Test/baseResults/preprocessor.function_macro.vert.err
@@ -1,2 +0,0 @@
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
diff --git a/Test/baseResults/preprocessor.line.frag.err b/Test/baseResults/preprocessor.line.frag.err
index 5f177e6cc..e69de29bb 100644
--- a/Test/baseResults/preprocessor.line.frag.err
+++ b/Test/baseResults/preprocessor.line.frag.err
@@ -1,2 +0,0 @@
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
diff --git a/Test/baseResults/preprocessor.pragma.vert.err b/Test/baseResults/preprocessor.pragma.vert.err
index 5f177e6cc..e69de29bb 100644
--- a/Test/baseResults/preprocessor.pragma.vert.err
+++ b/Test/baseResults/preprocessor.pragma.vert.err
@@ -1,2 +0,0 @@
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
diff --git a/Test/baseResults/preprocessor.simple.vert.err b/Test/baseResults/preprocessor.simple.vert.err
index 5f177e6cc..e69de29bb 100644
--- a/Test/baseResults/preprocessor.simple.vert.err
+++ b/Test/baseResults/preprocessor.simple.vert.err
@@ -1,2 +0,0 @@
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
diff --git a/Test/baseResults/reflection.vert.out b/Test/baseResults/reflection.vert.out
index ba3e0e698..de49cc457 100644
--- a/Test/baseResults/reflection.vert.out
+++ b/Test/baseResults/reflection.vert.out
@@ -1,6 +1,4 @@
 reflection.vert
-Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
-
 Uniform reflection:
 image_ui2D: offset -1, type 9063, size 1, index -1, binding -1
 sampler_2D: offset -1, type 8b5e, size 1, index -1, binding -1
diff --git a/Test/baseResults/remap.basic.dcefunc.frag.out b/Test/baseResults/remap.basic.dcefunc.frag.out
index c28d90a39..ff2e606d9 100644
--- a/Test/baseResults/remap.basic.dcefunc.frag.out
+++ b/Test/baseResults/remap.basic.dcefunc.frag.out
@@ -1,6 +1,4 @@
 remap.basic.dcefunc.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 22
diff --git a/Test/baseResults/remap.basic.everything.frag.out b/Test/baseResults/remap.basic.everything.frag.out
index 357a8d2be..82db4487c 100644
--- a/Test/baseResults/remap.basic.everything.frag.out
+++ b/Test/baseResults/remap.basic.everything.frag.out
@@ -1,6 +1,4 @@
 remap.basic.everything.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 24969
diff --git a/Test/baseResults/remap.basic.none.frag.out b/Test/baseResults/remap.basic.none.frag.out
index 44f5747bf..ebed8a129 100644
--- a/Test/baseResults/remap.basic.none.frag.out
+++ b/Test/baseResults/remap.basic.none.frag.out
@@ -1,6 +1,4 @@
 remap.basic.none.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 22
diff --git a/Test/baseResults/remap.basic.strip.frag.out b/Test/baseResults/remap.basic.strip.frag.out
index ab1a003af..026309d46 100644
--- a/Test/baseResults/remap.basic.strip.frag.out
+++ b/Test/baseResults/remap.basic.strip.frag.out
@@ -1,6 +1,4 @@
 remap.basic.strip.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 22
diff --git a/Test/baseResults/remap.if.everything.frag.out b/Test/baseResults/remap.if.everything.frag.out
index d20564c5d..1c9a8d166 100644
--- a/Test/baseResults/remap.if.everything.frag.out
+++ b/Test/baseResults/remap.if.everything.frag.out
@@ -1,6 +1,4 @@
 remap.if.everything.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 22855
diff --git a/Test/baseResults/remap.if.none.frag.out b/Test/baseResults/remap.if.none.frag.out
index 081d5cdd6..0aaec38db 100644
--- a/Test/baseResults/remap.if.none.frag.out
+++ b/Test/baseResults/remap.if.none.frag.out
@@ -1,6 +1,4 @@
 remap.if.none.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 25
diff --git a/Test/baseResults/remap.similar_1a.everything.frag.out b/Test/baseResults/remap.similar_1a.everything.frag.out
index 384b8e861..59ed9eb16 100644
--- a/Test/baseResults/remap.similar_1a.everything.frag.out
+++ b/Test/baseResults/remap.similar_1a.everything.frag.out
@@ -1,6 +1,4 @@
 remap.similar_1a.everything.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 24916
diff --git a/Test/baseResults/remap.similar_1a.none.frag.out b/Test/baseResults/remap.similar_1a.none.frag.out
index 910ef424a..af049b581 100644
--- a/Test/baseResults/remap.similar_1a.none.frag.out
+++ b/Test/baseResults/remap.similar_1a.none.frag.out
@@ -1,6 +1,4 @@
 remap.similar_1a.none.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 86
diff --git a/Test/baseResults/remap.similar_1b.everything.frag.out b/Test/baseResults/remap.similar_1b.everything.frag.out
index 0ce4544c9..483c622b1 100644
--- a/Test/baseResults/remap.similar_1b.everything.frag.out
+++ b/Test/baseResults/remap.similar_1b.everything.frag.out
@@ -1,6 +1,4 @@
 remap.similar_1b.everything.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 24916
diff --git a/Test/baseResults/remap.similar_1b.none.frag.out b/Test/baseResults/remap.similar_1b.none.frag.out
index ce79e00be..a5555c294 100644
--- a/Test/baseResults/remap.similar_1b.none.frag.out
+++ b/Test/baseResults/remap.similar_1b.none.frag.out
@@ -1,6 +1,4 @@
 remap.similar_1b.none.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 91
diff --git a/Test/baseResults/remap.specconst.comp.out b/Test/baseResults/remap.specconst.comp.out
index 141c1a479..ca276b6ee 100644
--- a/Test/baseResults/remap.specconst.comp.out
+++ b/Test/baseResults/remap.specconst.comp.out
@@ -1,6 +1,4 @@
 remap.specconst.comp
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 16104
diff --git a/Test/baseResults/remap.switch.everything.frag.out b/Test/baseResults/remap.switch.everything.frag.out
index e5a7ef759..bad1e1e74 100644
--- a/Test/baseResults/remap.switch.everything.frag.out
+++ b/Test/baseResults/remap.switch.everything.frag.out
@@ -1,5 +1,4 @@
 remap.switch.everything.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 WARNING: 0:5: '' : all default precisions are highp; use precision statements to quiet warning, e.g.:
          "precision mediump int; precision highp float;" 
 
diff --git a/Test/baseResults/remap.switch.none.frag.out b/Test/baseResults/remap.switch.none.frag.out
index 68d075b25..0c4cf6a51 100644
--- a/Test/baseResults/remap.switch.none.frag.out
+++ b/Test/baseResults/remap.switch.none.frag.out
@@ -1,5 +1,4 @@
 remap.switch.none.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 WARNING: 0:5: '' : all default precisions are highp; use precision statements to quiet warning, e.g.:
          "precision mediump int; precision highp float;" 
 
diff --git a/Test/baseResults/specExamples.frag.out b/Test/baseResults/specExamples.frag.out
index 939ea6206..ba47b6c75 100644
--- a/Test/baseResults/specExamples.frag.out
+++ b/Test/baseResults/specExamples.frag.out
@@ -1,5 +1,4 @@
 specExamples.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:6: '=' :  cannot convert from ' const uint' to ' global int'
 ERROR: 0:20: '' : numeric literal too big 
 ERROR: 0:21: '' : hexadecimal literal too big 
diff --git a/Test/baseResults/specExamples.vert.out b/Test/baseResults/specExamples.vert.out
index f050477be..71ce86898 100644
--- a/Test/baseResults/specExamples.vert.out
+++ b/Test/baseResults/specExamples.vert.out
@@ -1,5 +1,4 @@
 specExamples.vert
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:29: 'location' : can only apply to uniform, buffer, in, or out storage qualifiers 
 ERROR: 0:31: 'triangles' : unrecognized layout identifier, or qualifier requires assignment (e.g., binding = 4) 
 ERROR: 0:31: 'invocations' : there is no such layout identifier for this stage taking an assigned value 
diff --git a/Test/baseResults/spv.100ops.frag.out b/Test/baseResults/spv.100ops.frag.out
index efd82012b..17f0bdc59 100755
--- a/Test/baseResults/spv.100ops.frag.out
+++ b/Test/baseResults/spv.100ops.frag.out
@@ -1,6 +1,4 @@
 spv.100ops.frag
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 49
diff --git a/Test/baseResults/spv.300BuiltIns.vert.out b/Test/baseResults/spv.300BuiltIns.vert.out
index 7dc949dca..d3190941d 100755
--- a/Test/baseResults/spv.300BuiltIns.vert.out
+++ b/Test/baseResults/spv.300BuiltIns.vert.out
@@ -1,6 +1,4 @@
 spv.300BuiltIns.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 42
diff --git a/Test/baseResults/spv.300layout.frag.out b/Test/baseResults/spv.300layout.frag.out
index 7ce08d868..6a7accd3d 100755
--- a/Test/baseResults/spv.300layout.frag.out
+++ b/Test/baseResults/spv.300layout.frag.out
@@ -1,6 +1,4 @@
 spv.300layout.frag
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 37
diff --git a/Test/baseResults/spv.300layout.vert.out b/Test/baseResults/spv.300layout.vert.out
index 69f66b6a3..3eae4680a 100644
--- a/Test/baseResults/spv.300layout.vert.out
+++ b/Test/baseResults/spv.300layout.vert.out
@@ -1,6 +1,4 @@
 spv.300layout.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 163
diff --git a/Test/baseResults/spv.300layoutp.vert.out b/Test/baseResults/spv.300layoutp.vert.out
index 5924137cd..82a34ca2a 100755
--- a/Test/baseResults/spv.300layoutp.vert.out
+++ b/Test/baseResults/spv.300layoutp.vert.out
@@ -1,6 +1,4 @@
 spv.300layoutp.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 115
diff --git a/Test/baseResults/spv.310.bitcast.frag.out b/Test/baseResults/spv.310.bitcast.frag.out
index 14e184a47..407625173 100755
--- a/Test/baseResults/spv.310.bitcast.frag.out
+++ b/Test/baseResults/spv.310.bitcast.frag.out
@@ -1,6 +1,4 @@
 spv.310.bitcast.frag
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 153
diff --git a/Test/baseResults/spv.310.comp.out b/Test/baseResults/spv.310.comp.out
index 4b47c7d76..0d7a6bdfe 100644
--- a/Test/baseResults/spv.310.comp.out
+++ b/Test/baseResults/spv.310.comp.out
@@ -1,6 +1,4 @@
 spv.310.comp
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 69
diff --git a/Test/baseResults/spv.400.frag.out b/Test/baseResults/spv.400.frag.out
index cb2de9687..be1f6ed53 100644
--- a/Test/baseResults/spv.400.frag.out
+++ b/Test/baseResults/spv.400.frag.out
@@ -1,6 +1,4 @@
 spv.400.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 1118
diff --git a/Test/baseResults/spv.400.tesc.out b/Test/baseResults/spv.400.tesc.out
index 68b142e5a..5b402c474 100644
--- a/Test/baseResults/spv.400.tesc.out
+++ b/Test/baseResults/spv.400.tesc.out
@@ -1,6 +1,4 @@
 spv.400.tesc
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 93
diff --git a/Test/baseResults/spv.400.tese.out b/Test/baseResults/spv.400.tese.out
index 0c62bed6d..a322ac519 100755
--- a/Test/baseResults/spv.400.tese.out
+++ b/Test/baseResults/spv.400.tese.out
@@ -1,6 +1,4 @@
 spv.400.tese
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 96
diff --git a/Test/baseResults/spv.420.geom.out b/Test/baseResults/spv.420.geom.out
index 6413d5a45..9ce05d09d 100644
--- a/Test/baseResults/spv.420.geom.out
+++ b/Test/baseResults/spv.420.geom.out
@@ -1,6 +1,4 @@
 spv.420.geom
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 72
diff --git a/Test/baseResults/spv.430.frag.out b/Test/baseResults/spv.430.frag.out
index abe2a58a0..6d43ead0c 100755
--- a/Test/baseResults/spv.430.frag.out
+++ b/Test/baseResults/spv.430.frag.out
@@ -1,6 +1,4 @@
 spv.430.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 24
diff --git a/Test/baseResults/spv.430.vert.out b/Test/baseResults/spv.430.vert.out
index 8ea95d1a7..10c3eaea8 100755
--- a/Test/baseResults/spv.430.vert.out
+++ b/Test/baseResults/spv.430.vert.out
@@ -1,6 +1,4 @@
 spv.430.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 66
diff --git a/Test/baseResults/spv.450.geom.out b/Test/baseResults/spv.450.geom.out
index 85c681432..4d012c415 100755
--- a/Test/baseResults/spv.450.geom.out
+++ b/Test/baseResults/spv.450.geom.out
@@ -1,6 +1,4 @@
 spv.450.geom
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 26
diff --git a/Test/baseResults/spv.450.noRedecl.tesc.out b/Test/baseResults/spv.450.noRedecl.tesc.out
index e62aa38aa..91887b020 100755
--- a/Test/baseResults/spv.450.noRedecl.tesc.out
+++ b/Test/baseResults/spv.450.noRedecl.tesc.out
@@ -1,6 +1,4 @@
 spv.450.noRedecl.tesc
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 21
diff --git a/Test/baseResults/spv.450.tesc.out b/Test/baseResults/spv.450.tesc.out
index 6244be12d..18da599e9 100755
--- a/Test/baseResults/spv.450.tesc.out
+++ b/Test/baseResults/spv.450.tesc.out
@@ -1,6 +1,4 @@
 spv.450.tesc
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 23
diff --git a/Test/baseResults/spv.AofA.frag.out b/Test/baseResults/spv.AofA.frag.out
index 4eb756301..5837deb02 100644
--- a/Test/baseResults/spv.AofA.frag.out
+++ b/Test/baseResults/spv.AofA.frag.out
@@ -1,6 +1,4 @@
 spv.AofA.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 104
diff --git a/Test/baseResults/spv.GeometryShaderPassthrough.geom.out b/Test/baseResults/spv.GeometryShaderPassthrough.geom.out
index 05aeb9710..c771bc681 100644
--- a/Test/baseResults/spv.GeometryShaderPassthrough.geom.out
+++ b/Test/baseResults/spv.GeometryShaderPassthrough.geom.out
@@ -1,6 +1,4 @@
 spv.GeometryShaderPassthrough.geom
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 15
diff --git a/Test/baseResults/spv.Operations.frag.out b/Test/baseResults/spv.Operations.frag.out
index aeee253bf..5e89f494c 100755
--- a/Test/baseResults/spv.Operations.frag.out
+++ b/Test/baseResults/spv.Operations.frag.out
@@ -1,6 +1,4 @@
 spv.Operations.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 532
diff --git a/Test/baseResults/spv.accessChain.frag.out b/Test/baseResults/spv.accessChain.frag.out
index b319cfd13..ee97c6c65 100755
--- a/Test/baseResults/spv.accessChain.frag.out
+++ b/Test/baseResults/spv.accessChain.frag.out
@@ -1,6 +1,4 @@
 spv.accessChain.frag
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 206
diff --git a/Test/baseResults/spv.aggOps.frag.out b/Test/baseResults/spv.aggOps.frag.out
index c3ceb9a67..6825585fd 100644
--- a/Test/baseResults/spv.aggOps.frag.out
+++ b/Test/baseResults/spv.aggOps.frag.out
@@ -1,5 +1,4 @@
 spv.aggOps.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 WARNING: 0:4: '' : all default precisions are highp; use precision statements to quiet warning, e.g.:
          "precision mediump int; precision highp float;" 
 
diff --git a/Test/baseResults/spv.atomic.comp.out b/Test/baseResults/spv.atomic.comp.out
index 97c7f6e3a..beb0302af 100755
--- a/Test/baseResults/spv.atomic.comp.out
+++ b/Test/baseResults/spv.atomic.comp.out
@@ -1,6 +1,4 @@
 spv.atomic.comp
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 73
diff --git a/Test/baseResults/spv.bitCast.frag.out b/Test/baseResults/spv.bitCast.frag.out
index 07dd729e6..26846ec11 100644
--- a/Test/baseResults/spv.bitCast.frag.out
+++ b/Test/baseResults/spv.bitCast.frag.out
@@ -1,6 +1,4 @@
 spv.bitCast.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 172
diff --git a/Test/baseResults/spv.bool.vert.out b/Test/baseResults/spv.bool.vert.out
index 1e87c4215..e9d4e9760 100644
--- a/Test/baseResults/spv.bool.vert.out
+++ b/Test/baseResults/spv.bool.vert.out
@@ -1,6 +1,4 @@
 spv.bool.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 46
diff --git a/Test/baseResults/spv.boolInBlock.frag.out b/Test/baseResults/spv.boolInBlock.frag.out
index b057e285e..e3752a3c9 100644
--- a/Test/baseResults/spv.boolInBlock.frag.out
+++ b/Test/baseResults/spv.boolInBlock.frag.out
@@ -1,6 +1,4 @@
 spv.boolInBlock.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 107
diff --git a/Test/baseResults/spv.branch-return.vert.out b/Test/baseResults/spv.branch-return.vert.out
index 9093135b9..e11f15af6 100644
--- a/Test/baseResults/spv.branch-return.vert.out
+++ b/Test/baseResults/spv.branch-return.vert.out
@@ -1,6 +1,4 @@
 spv.branch-return.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 38
diff --git a/Test/baseResults/spv.conditionalDiscard.frag.out b/Test/baseResults/spv.conditionalDiscard.frag.out
index fd4a36679..a9fb2de36 100755
--- a/Test/baseResults/spv.conditionalDiscard.frag.out
+++ b/Test/baseResults/spv.conditionalDiscard.frag.out
@@ -1,6 +1,4 @@
 spv.conditionalDiscard.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 36
diff --git a/Test/baseResults/spv.debugInfo.frag.out b/Test/baseResults/spv.debugInfo.frag.out
index 16f605bfa..f501528a5 100644
--- a/Test/baseResults/spv.debugInfo.frag.out
+++ b/Test/baseResults/spv.debugInfo.frag.out
@@ -1,6 +1,4 @@
 spv.debugInfo.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 126
diff --git a/Test/baseResults/spv.depthOut.frag.out b/Test/baseResults/spv.depthOut.frag.out
index 247b2f3d0..a019710b2 100755
--- a/Test/baseResults/spv.depthOut.frag.out
+++ b/Test/baseResults/spv.depthOut.frag.out
@@ -1,6 +1,4 @@
 spv.depthOut.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 15
diff --git a/Test/baseResults/spv.deviceGroup.frag.out b/Test/baseResults/spv.deviceGroup.frag.out
index 42e045b3c..8244df0fe 100755
--- a/Test/baseResults/spv.deviceGroup.frag.out
+++ b/Test/baseResults/spv.deviceGroup.frag.out
@@ -1,6 +1,4 @@
 spv.deviceGroup.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 17
diff --git a/Test/baseResults/spv.do-simple.vert.out b/Test/baseResults/spv.do-simple.vert.out
index d6d4c28f3..4043a2124 100755
--- a/Test/baseResults/spv.do-simple.vert.out
+++ b/Test/baseResults/spv.do-simple.vert.out
@@ -1,6 +1,4 @@
 spv.do-simple.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 21
diff --git a/Test/baseResults/spv.do-while-continue-break.vert.out b/Test/baseResults/spv.do-while-continue-break.vert.out
index d1d0c85c9..ab7bfd88c 100644
--- a/Test/baseResults/spv.do-while-continue-break.vert.out
+++ b/Test/baseResults/spv.do-while-continue-break.vert.out
@@ -1,6 +1,4 @@
 spv.do-while-continue-break.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 43
diff --git a/Test/baseResults/spv.double.comp.out b/Test/baseResults/spv.double.comp.out
index 3b1bdc89c..015de2f0b 100755
--- a/Test/baseResults/spv.double.comp.out
+++ b/Test/baseResults/spv.double.comp.out
@@ -1,6 +1,4 @@
 spv.double.comp
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 60
diff --git a/Test/baseResults/spv.drawParams.vert.out b/Test/baseResults/spv.drawParams.vert.out
index b75efe048..9a5f116b7 100755
--- a/Test/baseResults/spv.drawParams.vert.out
+++ b/Test/baseResults/spv.drawParams.vert.out
@@ -1,6 +1,4 @@
 spv.drawParams.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 29
diff --git a/Test/baseResults/spv.float16.frag.out b/Test/baseResults/spv.float16.frag.out
index 7c2b3c05f..7eb2b68e3 100644
--- a/Test/baseResults/spv.float16.frag.out
+++ b/Test/baseResults/spv.float16.frag.out
@@ -1,6 +1,4 @@
 spv.float16.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 534
diff --git a/Test/baseResults/spv.for-complex-condition.vert.out b/Test/baseResults/spv.for-complex-condition.vert.out
index 939d08273..76282917d 100644
--- a/Test/baseResults/spv.for-complex-condition.vert.out
+++ b/Test/baseResults/spv.for-complex-condition.vert.out
@@ -1,6 +1,4 @@
 spv.for-complex-condition.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 31
diff --git a/Test/baseResults/spv.for-continue-break.vert.out b/Test/baseResults/spv.for-continue-break.vert.out
index 764001dbe..fcf9bbb6b 100644
--- a/Test/baseResults/spv.for-continue-break.vert.out
+++ b/Test/baseResults/spv.for-continue-break.vert.out
@@ -1,6 +1,4 @@
 spv.for-continue-break.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 45
diff --git a/Test/baseResults/spv.for-nobody.vert.out b/Test/baseResults/spv.for-nobody.vert.out
index 0ec3584da..810d776ed 100644
--- a/Test/baseResults/spv.for-nobody.vert.out
+++ b/Test/baseResults/spv.for-nobody.vert.out
@@ -1,6 +1,4 @@
 spv.for-nobody.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 25
diff --git a/Test/baseResults/spv.for-notest.vert.out b/Test/baseResults/spv.for-notest.vert.out
index c7346f9df..70697ad89 100644
--- a/Test/baseResults/spv.for-notest.vert.out
+++ b/Test/baseResults/spv.for-notest.vert.out
@@ -1,6 +1,4 @@
 spv.for-notest.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 20
diff --git a/Test/baseResults/spv.for-simple.vert.out b/Test/baseResults/spv.for-simple.vert.out
index 996b65a4a..7aaa17ee4 100755
--- a/Test/baseResults/spv.for-simple.vert.out
+++ b/Test/baseResults/spv.for-simple.vert.out
@@ -1,6 +1,4 @@
 spv.for-simple.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 24
diff --git a/Test/baseResults/spv.functionNestedOpaque.vert.out b/Test/baseResults/spv.functionNestedOpaque.vert.out
index 1dae38144..cc1d6d453 100644
--- a/Test/baseResults/spv.functionNestedOpaque.vert.out
+++ b/Test/baseResults/spv.functionNestedOpaque.vert.out
@@ -1,6 +1,4 @@
 spv.functionNestedOpaque.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 39
diff --git a/Test/baseResults/spv.functionSemantics.frag.out b/Test/baseResults/spv.functionSemantics.frag.out
index e4d8887ad..7e02e8b9c 100755
--- a/Test/baseResults/spv.functionSemantics.frag.out
+++ b/Test/baseResults/spv.functionSemantics.frag.out
@@ -1,6 +1,4 @@
 spv.functionSemantics.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 156
diff --git a/Test/baseResults/spv.glsl.register.autoassign.frag.out b/Test/baseResults/spv.glsl.register.autoassign.frag.out
index 8216e05f0..d1dea9ebd 100644
--- a/Test/baseResults/spv.glsl.register.autoassign.frag.out
+++ b/Test/baseResults/spv.glsl.register.autoassign.frag.out
@@ -1,6 +1,4 @@
 spv.glsl.register.autoassign.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 142
diff --git a/Test/baseResults/spv.glsl.register.noautoassign.frag.out b/Test/baseResults/spv.glsl.register.noautoassign.frag.out
index 8595a89cb..a82042d38 100644
--- a/Test/baseResults/spv.glsl.register.noautoassign.frag.out
+++ b/Test/baseResults/spv.glsl.register.noautoassign.frag.out
@@ -1,6 +1,4 @@
 spv.glsl.register.noautoassign.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 142
diff --git a/Test/baseResults/spv.hlslOffsets.vert.out b/Test/baseResults/spv.hlslOffsets.vert.out
index c1f6cb25e..bdc24b31d 100644
--- a/Test/baseResults/spv.hlslOffsets.vert.out
+++ b/Test/baseResults/spv.hlslOffsets.vert.out
@@ -1,6 +1,4 @@
 spv.hlslOffsets.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 Shader version: 450
 0:? Sequence
 0:27  Function Definition: main( ( global void)
diff --git a/Test/baseResults/spv.image.frag.out b/Test/baseResults/spv.image.frag.out
index b4f673bc1..c21f9bf15 100644
--- a/Test/baseResults/spv.image.frag.out
+++ b/Test/baseResults/spv.image.frag.out
@@ -1,6 +1,4 @@
 spv.image.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 376
diff --git a/Test/baseResults/spv.int64.frag.out b/Test/baseResults/spv.int64.frag.out
index df35fea78..c272660d7 100644
--- a/Test/baseResults/spv.int64.frag.out
+++ b/Test/baseResults/spv.int64.frag.out
@@ -1,6 +1,4 @@
 spv.int64.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 480
diff --git a/Test/baseResults/spv.intOps.vert.out b/Test/baseResults/spv.intOps.vert.out
index 93d2dfdae..7e846d6e0 100644
--- a/Test/baseResults/spv.intOps.vert.out
+++ b/Test/baseResults/spv.intOps.vert.out
@@ -1,6 +1,4 @@
 spv.intOps.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 268
diff --git a/Test/baseResults/spv.interpOps.frag.out b/Test/baseResults/spv.interpOps.frag.out
index 88d8e53cf..ebe9716fe 100644
--- a/Test/baseResults/spv.interpOps.frag.out
+++ b/Test/baseResults/spv.interpOps.frag.out
@@ -1,6 +1,4 @@
 spv.interpOps.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 100
diff --git a/Test/baseResults/spv.layoutNested.vert.out b/Test/baseResults/spv.layoutNested.vert.out
index 0d0b28bbe..533f5944a 100644
--- a/Test/baseResults/spv.layoutNested.vert.out
+++ b/Test/baseResults/spv.layoutNested.vert.out
@@ -1,6 +1,4 @@
 spv.layoutNested.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 66
diff --git a/Test/baseResults/spv.localAggregates.frag.out b/Test/baseResults/spv.localAggregates.frag.out
index 404563aaf..c9dbc3070 100755
--- a/Test/baseResults/spv.localAggregates.frag.out
+++ b/Test/baseResults/spv.localAggregates.frag.out
@@ -1,6 +1,4 @@
 spv.localAggregates.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 136
diff --git a/Test/baseResults/spv.matFun.vert.out b/Test/baseResults/spv.matFun.vert.out
index 38d9d2cf1..4d863c8ee 100755
--- a/Test/baseResults/spv.matFun.vert.out
+++ b/Test/baseResults/spv.matFun.vert.out
@@ -1,6 +1,4 @@
 spv.matFun.vert
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 103
diff --git a/Test/baseResults/spv.matrix.frag.out b/Test/baseResults/spv.matrix.frag.out
index c7077b9a0..872642f81 100644
--- a/Test/baseResults/spv.matrix.frag.out
+++ b/Test/baseResults/spv.matrix.frag.out
@@ -1,6 +1,4 @@
 spv.matrix.frag
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 286
diff --git a/Test/baseResults/spv.memoryQualifier.frag.out b/Test/baseResults/spv.memoryQualifier.frag.out
index a990e4759..d4841a413 100644
--- a/Test/baseResults/spv.memoryQualifier.frag.out
+++ b/Test/baseResults/spv.memoryQualifier.frag.out
@@ -1,6 +1,4 @@
 spv.memoryQualifier.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 97
diff --git a/Test/baseResults/spv.merge-unreachable.frag.out b/Test/baseResults/spv.merge-unreachable.frag.out
index 58bbb0627..678c5e4ac 100644
--- a/Test/baseResults/spv.merge-unreachable.frag.out
+++ b/Test/baseResults/spv.merge-unreachable.frag.out
@@ -1,6 +1,4 @@
 spv.merge-unreachable.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 25
diff --git a/Test/baseResults/spv.multiStruct.comp.out b/Test/baseResults/spv.multiStruct.comp.out
index 5eebe407c..c7af1410a 100755
--- a/Test/baseResults/spv.multiStruct.comp.out
+++ b/Test/baseResults/spv.multiStruct.comp.out
@@ -1,6 +1,4 @@
 spv.multiStruct.comp
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 161
diff --git a/Test/baseResults/spv.multiStructFuncall.frag.out b/Test/baseResults/spv.multiStructFuncall.frag.out
index b9b0cb2cb..8609b3ac9 100755
--- a/Test/baseResults/spv.multiStructFuncall.frag.out
+++ b/Test/baseResults/spv.multiStructFuncall.frag.out
@@ -1,6 +1,4 @@
 spv.multiStructFuncall.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 63
diff --git a/Test/baseResults/spv.multiView.frag.out b/Test/baseResults/spv.multiView.frag.out
index de2a54960..ba9e2d3ee 100755
--- a/Test/baseResults/spv.multiView.frag.out
+++ b/Test/baseResults/spv.multiView.frag.out
@@ -1,6 +1,4 @@
 spv.multiView.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 17
diff --git a/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out b/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out
index f93aa0172..31d8c51cb 100644
--- a/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out
+++ b/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out
@@ -1,6 +1,4 @@
 spv.multiviewPerViewAttributes.tesc
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 37
diff --git a/Test/baseResults/spv.multiviewPerViewAttributes.vert.out b/Test/baseResults/spv.multiviewPerViewAttributes.vert.out
index 350944a85..376493581 100644
--- a/Test/baseResults/spv.multiviewPerViewAttributes.vert.out
+++ b/Test/baseResults/spv.multiviewPerViewAttributes.vert.out
@@ -1,6 +1,4 @@
 spv.multiviewPerViewAttributes.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 29
diff --git a/Test/baseResults/spv.newTexture.frag.out b/Test/baseResults/spv.newTexture.frag.out
index ea694eeaf..d53fcb61e 100755
--- a/Test/baseResults/spv.newTexture.frag.out
+++ b/Test/baseResults/spv.newTexture.frag.out
@@ -1,6 +1,4 @@
 spv.newTexture.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 284
diff --git a/Test/baseResults/spv.noDeadDecorations.vert.out b/Test/baseResults/spv.noDeadDecorations.vert.out
index 41d2a4314..39c234311 100644
--- a/Test/baseResults/spv.noDeadDecorations.vert.out
+++ b/Test/baseResults/spv.noDeadDecorations.vert.out
@@ -1,6 +1,4 @@
 spv.noDeadDecorations.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 32
diff --git a/Test/baseResults/spv.noLocation.vert.out b/Test/baseResults/spv.noLocation.vert.out
index 7bd74679f..7a664745f 100644
--- a/Test/baseResults/spv.noLocation.vert.out
+++ b/Test/baseResults/spv.noLocation.vert.out
@@ -1,5 +1,4 @@
 spv.noLocation.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: spv.noLocation.vert:4: 'location' : SPIR-V requires location for user input/output 
 ERROR: spv.noLocation.vert:8: 'location' : SPIR-V requires location for user input/output 
 ERROR: spv.noLocation.vert:19: 'location' : SPIR-V requires location for user input/output 
diff --git a/Test/baseResults/spv.noWorkgroup.comp.out b/Test/baseResults/spv.noWorkgroup.comp.out
index 0f88436c5..d101b4fdc 100755
--- a/Test/baseResults/spv.noWorkgroup.comp.out
+++ b/Test/baseResults/spv.noWorkgroup.comp.out
@@ -1,6 +1,4 @@
 spv.noWorkgroup.comp
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 12
diff --git a/Test/baseResults/spv.offsets.frag.out b/Test/baseResults/spv.offsets.frag.out
index ea4be8f4c..ebfa7414c 100755
--- a/Test/baseResults/spv.offsets.frag.out
+++ b/Test/baseResults/spv.offsets.frag.out
@@ -1,6 +1,4 @@
 spv.offsets.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 15
diff --git a/Test/baseResults/spv.precise.tesc.out b/Test/baseResults/spv.precise.tesc.out
index 4bae395a8..1b5cd0c2c 100644
--- a/Test/baseResults/spv.precise.tesc.out
+++ b/Test/baseResults/spv.precise.tesc.out
@@ -1,6 +1,4 @@
 spv.precise.tesc
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 72
diff --git a/Test/baseResults/spv.precise.tese.out b/Test/baseResults/spv.precise.tese.out
index 4f1839c77..4e7b28a74 100644
--- a/Test/baseResults/spv.precise.tese.out
+++ b/Test/baseResults/spv.precise.tese.out
@@ -1,6 +1,4 @@
 spv.precise.tese
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 119
diff --git a/Test/baseResults/spv.precision.frag.out b/Test/baseResults/spv.precision.frag.out
index f49b35663..9cac37eaf 100755
--- a/Test/baseResults/spv.precision.frag.out
+++ b/Test/baseResults/spv.precision.frag.out
@@ -1,6 +1,4 @@
 spv.precision.frag
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 127
diff --git a/Test/baseResults/spv.pushConstant.vert.out b/Test/baseResults/spv.pushConstant.vert.out
index bdefd63de..bfef88338 100644
--- a/Test/baseResults/spv.pushConstant.vert.out
+++ b/Test/baseResults/spv.pushConstant.vert.out
@@ -1,6 +1,4 @@
 spv.pushConstant.vert
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 35
diff --git a/Test/baseResults/spv.pushConstantAnon.vert.out b/Test/baseResults/spv.pushConstantAnon.vert.out
index 9559815b5..398ef0580 100755
--- a/Test/baseResults/spv.pushConstantAnon.vert.out
+++ b/Test/baseResults/spv.pushConstantAnon.vert.out
@@ -1,6 +1,4 @@
 spv.pushConstantAnon.vert
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 38
diff --git a/Test/baseResults/spv.qualifiers.vert.out b/Test/baseResults/spv.qualifiers.vert.out
index 37f474cca..e9edbe421 100755
--- a/Test/baseResults/spv.qualifiers.vert.out
+++ b/Test/baseResults/spv.qualifiers.vert.out
@@ -1,6 +1,4 @@
 spv.qualifiers.vert
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 21
diff --git a/Test/baseResults/spv.queryL.frag.out b/Test/baseResults/spv.queryL.frag.out
index fbdcbc813..c06d87765 100755
--- a/Test/baseResults/spv.queryL.frag.out
+++ b/Test/baseResults/spv.queryL.frag.out
@@ -1,6 +1,4 @@
 spv.queryL.frag
-Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 224
diff --git a/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out b/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out
index 6bae6bd0c..315a60d01 100644
--- a/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out
+++ b/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out
@@ -1,6 +1,4 @@
 spv.sampleMaskOverrideCoverage.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 20
diff --git a/Test/baseResults/spv.separate.frag.out b/Test/baseResults/spv.separate.frag.out
index c654117f7..5b078afc7 100644
--- a/Test/baseResults/spv.separate.frag.out
+++ b/Test/baseResults/spv.separate.frag.out
@@ -1,6 +1,4 @@
 spv.separate.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 319
diff --git a/Test/baseResults/spv.set.vert.out b/Test/baseResults/spv.set.vert.out
index 38cb669c6..681487922 100755
--- a/Test/baseResults/spv.set.vert.out
+++ b/Test/baseResults/spv.set.vert.out
@@ -1,6 +1,4 @@
 spv.set.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 22
diff --git a/Test/baseResults/spv.shaderBallot.comp.out b/Test/baseResults/spv.shaderBallot.comp.out
index b8d5e3a01..45c21d90d 100644
--- a/Test/baseResults/spv.shaderBallot.comp.out
+++ b/Test/baseResults/spv.shaderBallot.comp.out
@@ -1,6 +1,4 @@
 spv.shaderBallot.comp
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 298
diff --git a/Test/baseResults/spv.shaderBallotAMD.comp.out b/Test/baseResults/spv.shaderBallotAMD.comp.out
index 8011fb664..b6b57ec43 100644
--- a/Test/baseResults/spv.shaderBallotAMD.comp.out
+++ b/Test/baseResults/spv.shaderBallotAMD.comp.out
@@ -1,6 +1,4 @@
 spv.shaderBallotAMD.comp
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 1048
diff --git a/Test/baseResults/spv.shaderDrawParams.vert.out b/Test/baseResults/spv.shaderDrawParams.vert.out
index 41ad78d48..fbce2d29c 100644
--- a/Test/baseResults/spv.shaderDrawParams.vert.out
+++ b/Test/baseResults/spv.shaderDrawParams.vert.out
@@ -1,6 +1,4 @@
 spv.shaderDrawParams.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 53
diff --git a/Test/baseResults/spv.shaderGroupVote.comp.out b/Test/baseResults/spv.shaderGroupVote.comp.out
index 027714941..ed76187c2 100644
--- a/Test/baseResults/spv.shaderGroupVote.comp.out
+++ b/Test/baseResults/spv.shaderGroupVote.comp.out
@@ -1,6 +1,4 @@
 spv.shaderGroupVote.comp
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 33
diff --git a/Test/baseResults/spv.shiftOps.frag.out b/Test/baseResults/spv.shiftOps.frag.out
index 498c28778..1381ea991 100644
--- a/Test/baseResults/spv.shiftOps.frag.out
+++ b/Test/baseResults/spv.shiftOps.frag.out
@@ -1,6 +1,4 @@
 spv.shiftOps.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 38
diff --git a/Test/baseResults/spv.shortCircuit.frag.out b/Test/baseResults/spv.shortCircuit.frag.out
index 7d5189a25..9318785a1 100644
--- a/Test/baseResults/spv.shortCircuit.frag.out
+++ b/Test/baseResults/spv.shortCircuit.frag.out
@@ -1,6 +1,4 @@
 spv.shortCircuit.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 147
diff --git a/Test/baseResults/spv.sparseTexture.frag.out b/Test/baseResults/spv.sparseTexture.frag.out
index 431ef1528..af3b63ecc 100644
--- a/Test/baseResults/spv.sparseTexture.frag.out
+++ b/Test/baseResults/spv.sparseTexture.frag.out
@@ -1,6 +1,4 @@
 spv.sparseTexture.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 438
diff --git a/Test/baseResults/spv.sparseTextureClamp.frag.out b/Test/baseResults/spv.sparseTextureClamp.frag.out
index 175dc35c8..c716efd38 100644
--- a/Test/baseResults/spv.sparseTextureClamp.frag.out
+++ b/Test/baseResults/spv.sparseTextureClamp.frag.out
@@ -1,6 +1,4 @@
 spv.sparseTextureClamp.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 360
diff --git a/Test/baseResults/spv.specConst.vert.out b/Test/baseResults/spv.specConst.vert.out
index 5e2020fe0..720d0a9ed 100755
--- a/Test/baseResults/spv.specConst.vert.out
+++ b/Test/baseResults/spv.specConst.vert.out
@@ -1,6 +1,4 @@
 spv.specConst.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 27
diff --git a/Test/baseResults/spv.specConstant.comp.out b/Test/baseResults/spv.specConstant.comp.out
index 481ed68c3..8db9ebe23 100644
--- a/Test/baseResults/spv.specConstant.comp.out
+++ b/Test/baseResults/spv.specConstant.comp.out
@@ -1,6 +1,4 @@
 spv.specConstant.comp
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 27
diff --git a/Test/baseResults/spv.specConstant.vert.out b/Test/baseResults/spv.specConstant.vert.out
index 2f11c2c62..6c2df3afc 100644
--- a/Test/baseResults/spv.specConstant.vert.out
+++ b/Test/baseResults/spv.specConstant.vert.out
@@ -1,6 +1,4 @@
 spv.specConstant.vert
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 81
diff --git a/Test/baseResults/spv.specConstantComposite.vert.out b/Test/baseResults/spv.specConstantComposite.vert.out
index 9079554ba..ec0dc4f87 100644
--- a/Test/baseResults/spv.specConstantComposite.vert.out
+++ b/Test/baseResults/spv.specConstantComposite.vert.out
@@ -1,6 +1,4 @@
 spv.specConstantComposite.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 43
diff --git a/Test/baseResults/spv.specConstantOperations.vert.out b/Test/baseResults/spv.specConstantOperations.vert.out
index ab83e61e5..3fb61d4cd 100644
--- a/Test/baseResults/spv.specConstantOperations.vert.out
+++ b/Test/baseResults/spv.specConstantOperations.vert.out
@@ -1,6 +1,4 @@
 spv.specConstantOperations.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 162
diff --git a/Test/baseResults/spv.stereoViewRendering.tesc.out b/Test/baseResults/spv.stereoViewRendering.tesc.out
index 8fd6dd5c8..8a83f9ef5 100644
--- a/Test/baseResults/spv.stereoViewRendering.tesc.out
+++ b/Test/baseResults/spv.stereoViewRendering.tesc.out
@@ -1,6 +1,4 @@
 spv.stereoViewRendering.tesc
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 38
diff --git a/Test/baseResults/spv.stereoViewRendering.vert.out b/Test/baseResults/spv.stereoViewRendering.vert.out
index d6c695601..2452c31c0 100644
--- a/Test/baseResults/spv.stereoViewRendering.vert.out
+++ b/Test/baseResults/spv.stereoViewRendering.vert.out
@@ -1,6 +1,4 @@
 spv.stereoViewRendering.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 27
diff --git a/Test/baseResults/spv.storageBuffer.vert.out b/Test/baseResults/spv.storageBuffer.vert.out
index fa08ca836..f9a7161e7 100755
--- a/Test/baseResults/spv.storageBuffer.vert.out
+++ b/Test/baseResults/spv.storageBuffer.vert.out
@@ -1,6 +1,4 @@
 spv.storageBuffer.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 31
diff --git a/Test/baseResults/spv.subpass.frag.out b/Test/baseResults/spv.subpass.frag.out
index c24211138..661ebbafb 100644
--- a/Test/baseResults/spv.subpass.frag.out
+++ b/Test/baseResults/spv.subpass.frag.out
@@ -1,6 +1,4 @@
 spv.subpass.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 67
diff --git a/Test/baseResults/spv.switch.frag.out b/Test/baseResults/spv.switch.frag.out
index 86acb6c8e..f7427560f 100755
--- a/Test/baseResults/spv.switch.frag.out
+++ b/Test/baseResults/spv.switch.frag.out
@@ -1,5 +1,4 @@
 spv.switch.frag
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
 WARNING: 0:121: 'switch' : last case/default label not followed by statements 
 WARNING: 0:134: 'switch' : last case/default label not followed by statements 
 WARNING: 0:139: 'switch' : last case/default label not followed by statements 
diff --git a/Test/baseResults/spv.swizzleInversion.frag.out b/Test/baseResults/spv.swizzleInversion.frag.out
index bf0699a3c..573bd6d47 100755
--- a/Test/baseResults/spv.swizzleInversion.frag.out
+++ b/Test/baseResults/spv.swizzleInversion.frag.out
@@ -1,6 +1,4 @@
 spv.swizzleInversion.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 46
diff --git a/Test/baseResults/spv.test.frag.out b/Test/baseResults/spv.test.frag.out
index 4f5fbaaf9..0e5deebea 100644
--- a/Test/baseResults/spv.test.frag.out
+++ b/Test/baseResults/spv.test.frag.out
@@ -1,6 +1,4 @@
 spv.test.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 55
diff --git a/Test/baseResults/spv.texture.sampler.transform.frag.out b/Test/baseResults/spv.texture.sampler.transform.frag.out
index 198c48196..bc86ab24a 100644
--- a/Test/baseResults/spv.texture.sampler.transform.frag.out
+++ b/Test/baseResults/spv.texture.sampler.transform.frag.out
@@ -1,6 +1,4 @@
 spv.texture.sampler.transform.frag
-Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 19
diff --git a/Test/baseResults/spv.textureBuffer.vert.out b/Test/baseResults/spv.textureBuffer.vert.out
index 8c287468a..606e566eb 100755
--- a/Test/baseResults/spv.textureBuffer.vert.out
+++ b/Test/baseResults/spv.textureBuffer.vert.out
@@ -1,6 +1,4 @@
 spv.textureBuffer.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 42
diff --git a/Test/baseResults/spv.textureGatherBiasLod.frag.out b/Test/baseResults/spv.textureGatherBiasLod.frag.out
index 4e52cac59..6d0c3e879 100644
--- a/Test/baseResults/spv.textureGatherBiasLod.frag.out
+++ b/Test/baseResults/spv.textureGatherBiasLod.frag.out
@@ -1,6 +1,4 @@
 spv.textureGatherBiasLod.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 298
diff --git a/Test/baseResults/spv.uint.frag.out b/Test/baseResults/spv.uint.frag.out
index e9ba0ce26..9ede2608d 100755
--- a/Test/baseResults/spv.uint.frag.out
+++ b/Test/baseResults/spv.uint.frag.out
@@ -1,6 +1,4 @@
 spv.uint.frag
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 213
diff --git a/Test/baseResults/spv.variableArrayIndex.frag.out b/Test/baseResults/spv.variableArrayIndex.frag.out
index bc638fdef..184c01db8 100755
--- a/Test/baseResults/spv.variableArrayIndex.frag.out
+++ b/Test/baseResults/spv.variableArrayIndex.frag.out
@@ -1,6 +1,4 @@
 spv.variableArrayIndex.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 93
diff --git a/Test/baseResults/spv.viewportArray2.tesc.out b/Test/baseResults/spv.viewportArray2.tesc.out
index fdfa2b884..814f0139c 100644
--- a/Test/baseResults/spv.viewportArray2.tesc.out
+++ b/Test/baseResults/spv.viewportArray2.tesc.out
@@ -1,6 +1,4 @@
 spv.viewportArray2.tesc
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 25
diff --git a/Test/baseResults/spv.viewportArray2.vert.out b/Test/baseResults/spv.viewportArray2.vert.out
index 766685f69..3b3e84767 100644
--- a/Test/baseResults/spv.viewportArray2.vert.out
+++ b/Test/baseResults/spv.viewportArray2.vert.out
@@ -1,6 +1,4 @@
 spv.viewportArray2.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 19
diff --git a/Test/baseResults/spv.voidFunction.frag.out b/Test/baseResults/spv.voidFunction.frag.out
index a5ad88af7..80a6d0afc 100755
--- a/Test/baseResults/spv.voidFunction.frag.out
+++ b/Test/baseResults/spv.voidFunction.frag.out
@@ -1,6 +1,4 @@
 spv.voidFunction.frag
-Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 43
diff --git a/Test/baseResults/spv.while-continue-break.vert.out b/Test/baseResults/spv.while-continue-break.vert.out
index 73dc35ced..415f3b964 100644
--- a/Test/baseResults/spv.while-continue-break.vert.out
+++ b/Test/baseResults/spv.while-continue-break.vert.out
@@ -1,6 +1,4 @@
 spv.while-continue-break.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 41
diff --git a/Test/baseResults/spv.while-simple.vert.out b/Test/baseResults/spv.while-simple.vert.out
index 82121dd00..7e5586b69 100755
--- a/Test/baseResults/spv.while-simple.vert.out
+++ b/Test/baseResults/spv.while-simple.vert.out
@@ -1,6 +1,4 @@
 spv.while-simple.vert
-Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 22
diff --git a/Test/baseResults/tokenPaste.vert.out b/Test/baseResults/tokenPaste.vert.out
index acc2ced1a..b5ba9a5f8 100755
--- a/Test/baseResults/tokenPaste.vert.out
+++ b/Test/baseResults/tokenPaste.vert.out
@@ -1,5 +1,4 @@
 tokenPaste.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:38: '##' : unexpected location 
 ERROR: 0:40: '##' : unexpected location; end of replacement list 
 ERROR: 0:49: '##' : combined tokens are too long 
diff --git a/Test/baseResults/versionsClean.vert.out b/Test/baseResults/versionsClean.vert.out
index cd9da127b..eb2e07b36 100644
--- a/Test/baseResults/versionsClean.vert.out
+++ b/Test/baseResults/versionsClean.vert.out
@@ -1,6 +1,4 @@
 versionsClean.vert
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
-
 Shader version: 420
 0:? Sequence
 0:40  Function Definition: main( ( global void)
diff --git a/Test/baseResults/versionsErrors.vert.out b/Test/baseResults/versionsErrors.vert.out
index 0d371365c..f11e0114f 100644
--- a/Test/baseResults/versionsErrors.vert.out
+++ b/Test/baseResults/versionsErrors.vert.out
@@ -1,5 +1,4 @@
 versionsErrors.vert
-Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
 WARNING: 0:38: attribute deprecated in version 130; may be removed in future release
 ERROR: 0:38: 'attribute' : no longer supported in core profile; removed in version 420
 ERROR: 0:45: 'discard' : not supported in this stage: vertex
diff --git a/Test/baseResults/vulkan.ast.vert.out b/Test/baseResults/vulkan.ast.vert.out
index bfc38c035..0487a4f96 100755
--- a/Test/baseResults/vulkan.ast.vert.out
+++ b/Test/baseResults/vulkan.ast.vert.out
@@ -1,6 +1,4 @@
 vulkan.ast.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
-
 Shader version: 450
 0:? Sequence
 0:7  Function Definition: main( ( global void)
diff --git a/Test/baseResults/vulkan.comp.out b/Test/baseResults/vulkan.comp.out
index 5eb4c5b48..e56dca48e 100644
--- a/Test/baseResults/vulkan.comp.out
+++ b/Test/baseResults/vulkan.comp.out
@@ -1,5 +1,4 @@
 vulkan.comp
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:5: 'local_size' : cannot change previously set size 
 ERROR: 1 compilation errors.  No code generated.
 
diff --git a/Test/baseResults/vulkan.frag.out b/Test/baseResults/vulkan.frag.out
index 27edff9b8..c8e1ed618 100644
--- a/Test/baseResults/vulkan.frag.out
+++ b/Test/baseResults/vulkan.frag.out
@@ -1,5 +1,4 @@
 vulkan.frag
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:14: 'sampler2D' : sampler-constructor requires two arguments 
 ERROR: 0:15: 'sampler2D' : sampler-constructor first argument must be a scalar textureXXX type 
 ERROR: 0:16: 'sampler2D' : sampler-constructor first argument must be a scalar textureXXX type 
@@ -26,9 +25,9 @@ ERROR: 0:60: 'subpassLoadMS' : no matching overloaded function found
 ERROR: 0:61: 'subpassLoad' : no matching overloaded function found 
 ERROR: 0:63: 'subpassLoadMS' : no matching overloaded function found 
 ERROR: 0:66: 'subroutine' : not allowed when generating SPIR-V 
-ERROR: 0:66: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan 
+ERROR: 0:66: 'subroutine' : feature not yet implemented 
 ERROR: 0:67: 'subroutine' : not allowed when generating SPIR-V 
-ERROR: 0:67: 'uniform' : no qualifiers allowed for function return 
+ERROR: 0:67: 'subroutine' : feature not yet implemented 
 ERROR: 0:69: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan 
 ERROR: 0:73: 'texture' : no matching overloaded function found 
 ERROR: 0:74: 'imageStore' : no matching overloaded function found 
diff --git a/Test/baseResults/vulkan.vert.out b/Test/baseResults/vulkan.vert.out
index 1e7441721..8d7a5ade8 100644
--- a/Test/baseResults/vulkan.vert.out
+++ b/Test/baseResults/vulkan.vert.out
@@ -1,5 +1,4 @@
 vulkan.vert
-Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:3: 'subpass input' : not supported in this stage: vertex
 ERROR: 0:4: 'subpass input' : not supported in this stage: vertex
 ERROR: 0:5: 'subpass input' : not supported in this stage: vertex
diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp
index b7485ec19..bb3f4f736 100644
--- a/glslang/MachineIndependent/ShaderLang.cpp
+++ b/glslang/MachineIndependent/ShaderLang.cpp
@@ -566,41 +566,6 @@ bool DeduceVersionProfile(TInfoSink& infoSink, EShLanguage stage, bool versionNo
         }
     }
 
-    // A meta check on the condition of the compiler itself...
-    switch (version) {
-
-    // ES versions
-    case 100:
-    case 300:
-        // versions are complete
-        break;
-
-    // Desktop versions
-    case 110:
-    case 120:
-    case 130:
-    case 140:
-    case 150:
-    case 330:
-        // versions are complete
-        break;
-
-    case 310:
-    case 400:
-    case 410:
-    case 420:
-    case 430:
-    case 440:
-    case 450:
-        infoSink.info << "Warning, version " << version << " is not yet complete; most version-specific features are present, but some are missing.\n";
-        break;
-
-    default:
-        infoSink.info << "Warning, version " << version << " is unknown.\n";
-        break;
-
-    }
-
     return correct;
 }
 
diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp
index 9ae6bc168..c85b3e959 100644
--- a/glslang/MachineIndependent/Versions.cpp
+++ b/glslang/MachineIndependent/Versions.cpp
@@ -500,6 +500,11 @@ void TParseVersions::requireNotRemoved(const TSourceLoc& loc, int profileMask, i
     }
 }
 
+void TParseVersions::unimplemented(const TSourceLoc& loc, const char* featureDesc)
+{
+    error(loc, "feature not yet implemented", featureDesc, "");
+}
+
 // Returns true if at least one of the extensions in the extensions parameter is requested. Otherwise, returns false.
 // Warns appropriately if the requested behavior of an extension is "warn".
 bool TParseVersions::checkExtensionsRequested(const TSourceLoc& loc, int numExtensions, const char* const extensions[], const char* featureDesc)
diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y
index 958cd6e80..611236e71 100644
--- a/glslang/MachineIndependent/glslang.y
+++ b/glslang/MachineIndependent/glslang.y
@@ -1260,25 +1260,25 @@ storage_qualifier
     | SUBROUTINE {
         parseContext.spvRemoved($1.loc, "subroutine");
         parseContext.globalCheck($1.loc, "subroutine");
+        parseContext.unimplemented($1.loc, "subroutine");
         $$.init($1.loc);
-        $$.qualifier.storage = EvqUniform;
     }
     | SUBROUTINE LEFT_PAREN type_name_list RIGHT_PAREN {
         parseContext.spvRemoved($1.loc, "subroutine");
         parseContext.globalCheck($1.loc, "subroutine");
+        parseContext.unimplemented($1.loc, "subroutine");
         $$.init($1.loc);
-        $$.qualifier.storage = EvqUniform;
-        // TODO: 4.0 semantics: subroutines
-        // 1) make sure each identifier is a type declared earlier with SUBROUTINE
-        // 2) save all of the identifiers for future comparison with the declared function
     }
     ;
 
 type_name_list
-    : TYPE_NAME {
-        // TODO: 4.0 functionality: subroutine type to list
+    : IDENTIFIER {
+        // TODO
     }
-    | type_name_list COMMA TYPE_NAME {
+    | type_name_list COMMA IDENTIFIER {
+        // TODO: 4.0 semantics: subroutines
+        // 1) make sure each identifier is a type declared earlier with SUBROUTINE
+        // 2) save all of the identifiers for future comparison with the declared function
     }
     ;
 
diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp
index b83e34b63..52b6c45f2 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp
+++ b/glslang/MachineIndependent/glslang_tab.cpp
@@ -822,7 +822,7 @@ static const yytype_uint16 yyrline[] =
     1066,  1078,  1084,  1087,  1094,  1098,  1102,  1110,  1119,  1122,
     1133,  1136,  1139,  1143,  1147,  1151,  1158,  1162,  1174,  1188,
     1193,  1199,  1205,  1212,  1218,  1223,  1228,  1233,  1240,  1244,
-    1248,  1252,  1256,  1260,  1266,  1278,  1281,  1286,  1290,  1299,
+    1248,  1252,  1256,  1260,  1266,  1275,  1278,  1286,  1290,  1299,
     1304,  1312,  1316,  1326,  1330,  1334,  1339,  1346,  1350,  1355,
     1360,  1365,  1369,  1374,  1379,  1384,  1390,  1396,  1402,  1410,
     1418,  1426,  1431,  1436,  1441,  1446,  1451,  1456,  1462,  1468,
@@ -1027,7 +1027,7 @@ static const yytype_int16 yypact[] =
     -512,  -512,  -512,  -512,  -512,  -512,  -153,  -512,  -210,  -220,
     -152,  -189,  4119,  -160,  -512,  -128,  -512,  -512,  -512,  -512,
     3079,  -512,  -512,  -512,  -122,  -512,  -512,   564,  -512,  -512,
-     -72,   -46,  -105,  -512,  6148,  -216,  -512,  -512,  -102,  -512,
+     -71,   -46,  -105,  -512,  6148,  -216,  -512,  -512,  -102,  -512,
     4119,  -512,  -512,  -512,  4119,   -68,   -66,  -512,  -225,  -187,
     -512,  -512,  -512,  4606,   -98,  -512,  -512,  -512,  -179,  -512,
     -104,  -172,  -512,  -512,  4119,  -101,  -512,  -186,   846,  -512,
@@ -1035,8 +1035,8 @@ static const yytype_int16 yypact[] =
     -512,  -151,  -512,  -512,  -512,  -512,  -512,  -512,  -512,  -512,
     -512,  5648,  5648,  5648,  -512,  -512,  -512,  -512,  -512,  -512,
     -512,  -209,  -512,  -512,  -512,   -94,  -170,  5898,   -92,  -512,
-    5648,  -139,  -133,  -109,  -223,  -103,  -111,  -108,  -106,   -71,
-     -74,  -218,   -86,  -512,  5134,  -512,   -52,  5648,  -512,   -46,
+    5648,  -139,  -133,  -109,  -223,  -103,  -111,  -108,  -106,   -72,
+     -73,  -218,   -86,  -512,  5134,  -512,   -51,  5648,  -512,   -46,
     4119,  4119,   -50,  3342,  -512,  -512,  -512,   -90,   -89,  -512,
      -78,   -76,   -85,  5398,   -70,  5648,   -80,   -69,   -64,  -512,
     -512,  -184,  -512,  -512,  -150,  -512,  -220,   -67,  -512,  -512,
@@ -1052,14 +1052,14 @@ static const yytype_int16 yypact[] =
     -512,  -512,  -512,  5648,  5648,  -512,  -512,  -512,  -512,  4870,
     -512,  -226,  -512,  3860,  -512,  -512,   -60,   -62,  -512,  -512,
     -512,  -512,  -512,  -139,  -139,  -133,  -133,  -109,  -109,  -109,
-    -109,  -223,  -223,  -103,  -111,  -108,  -106,   -71,   -74,  5648,
+    -109,  -223,  -223,  -103,  -111,  -108,  -106,   -72,   -73,  5648,
     -512,  -512,  -138,   -98,   -50,  -512,   -33,  2256,  -168,  -512,
     -167,  -512,  2798,  1410,  -512,  -512,  -512,  -512,  4342,  -512,
     -512,  -121,  -512,  -512,   -56,  -512,  -512,  2798,   -58,  -512,
-     -62,   -32,  4119,   -49,   -51,  -512,  -512,  5648,  5648,  -512,
-     -57,   -45,   177,   -55,  1974,  -512,   -47,   -44,  1692,  -512,
+     -62,   -32,  4119,   -52,   -53,  -512,  -512,  5648,  5648,  -512,
+     -57,   -47,   177,   -48,  1974,  -512,   -45,   -49,  1692,  -512,
     -512,  -165,  5648,  1692,   -58,  -512,  -512,  1410,  4870,  -512,
-    -512,  -512,   -48,   -62,  -512,  -512,  1410,   -42,  -512,  -512,
+    -512,  -512,   -44,   -62,  -512,  -512,  1410,   -43,  -512,  -512,
     -512
 };
 
@@ -1132,15 +1132,15 @@ static const yytype_uint16 yydefact[] =
 static const yytype_int16 yypgoto[] =
 {
     -512,  -512,  -512,  -512,  -512,  -512,  -512,  -512,  -512,  -512,
-    -512,  -512,   -96,  -512,  -263,  -262,  -304,  -264,  -204,  -199,
-    -205,  -197,  -206,  -196,  -512,  -252,  -512,  -282,  -512,  -296,
-    -512,     3,  -512,  -512,  -512,     6,  -512,  -512,  -512,   -29,
-     -23,   -26,  -512,  -512,  -489,  -512,  -512,  -512,  -512,  -118,
-    -512,  -221,  -228,  -512,  -512,     0,  -240,  -512,    13,  -512,
-    -512,  -512,  -328,  -330,  -200,  -271,  -363,  -512,  -273,  -364,
+    -512,  -512,   -96,  -512,  -263,  -262,  -304,  -264,  -205,  -200,
+    -206,  -197,  -202,  -196,  -512,  -252,  -512,  -282,  -512,  -296,
+    -512,     3,  -512,  -512,  -512,     6,  -512,  -512,  -512,   -34,
+     -25,   -27,  -512,  -512,  -489,  -512,  -512,  -512,  -512,  -110,
+    -512,  -221,  -228,  -512,  -512,     0,  -240,  -512,    12,  -512,
+    -512,  -512,  -328,  -330,  -199,  -272,  -363,  -512,  -273,  -364,
     -511,  -308,  -512,  -512,  -314,  -309,  -512,  -512,    -2,  -441,
     -260,  -512,  -512,  -279,  -512,  -512,  -512,  -512,  -512,  -512,
-    -512,  -512,  -512,  -512,  -512,  -512,  -512,    12,  -512,  -512
+    -512,  -512,  -512,  -512,  -512,  -512,  -512,    14,  -512,  -512
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
@@ -1180,15 +1180,15 @@ static const yytype_int16 yytable[] =
      511,   464,   537,   437,   483,   484,   508,   485,   486,   467,
      510,   491,   492,   267,   273,   536,   283,   278,   284,   334,
      337,   387,   397,   402,   345,   341,   417,   319,   418,   419,
-     421,   420,   424,   427,   433,   438,   439,   441,   270,   442,
+     420,   421,   424,   427,   433,   438,   439,   441,   270,   442,
      443,   514,   515,   448,   474,   446,   449,   383,   -29,   478,
      524,   -24,   547,   503,   554,   568,   450,   500,   520,   538,
-     464,  -396,   467,   521,   358,   390,   391,   548,   552,   549,
-     341,   553,   557,   493,   495,   497,   530,   569,   570,   494,
-     558,   430,   255,   496,   403,   281,   498,   280,   282,   244,
-     262,   530,   502,   523,   525,   555,   383,   233,   319,   564,
-     217,   319,   551,   219,   275,   565,   279,   526,   539,   266,
-     255,     0,   341,     0,   255,   550,   563,     0,     0,     0,
+     464,  -396,   467,   521,   548,   390,   391,   549,   552,   553,
+     341,   358,   493,   495,   557,   558,   530,   570,   494,   497,
+     281,   569,   255,   496,   403,   280,   498,   282,   244,   430,
+     262,   530,   523,   502,   525,   555,   383,   233,   319,   564,
+     217,   319,   551,   219,   275,   565,   279,   526,   539,     0,
+     255,   266,   341,     0,   255,   550,   563,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,   342,     0,   383,     0,   367,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
@@ -1820,17 +1820,17 @@ static const yytype_int16 yycheck[] =
      262,   265,   343,   265,   262,   234,   235,   265,   281,   282,
      283,   270,   271,   272,   267,   257,   269,   240,   241,   262,
      263,   262,   263,   473,   407,   408,   442,   409,   410,   513,
-     446,   415,   416,   225,   259,   518,   224,   259,   224,   257,
+     446,   415,   416,   224,   259,   518,   224,   259,   224,   257,
      264,   224,   256,   255,   265,   386,   277,   263,   276,   275,
-     244,   242,   258,   225,   224,   265,   265,   255,   224,   255,
+     242,   244,   258,   224,   224,   265,   265,   255,   224,   255,
      265,   463,   464,   263,   224,   255,   255,   469,   255,   224,
      223,   256,   224,   433,    17,   558,   260,   258,   258,   255,
-     262,   259,   566,   499,   259,   301,   302,   256,   265,   260,
-     431,   256,   259,   417,   419,   421,   512,   265,   260,   418,
-     264,   339,   222,   420,   320,   254,   422,   250,   254,   216,
-     230,   527,   432,   504,   507,   543,   518,   237,   334,   553,
-     237,   337,   538,   237,   244,   554,   248,   507,   527,   237,
-     250,    -1,   473,    -1,   254,   537,   552,    -1,    -1,    -1,
+     262,   259,   566,   499,   256,   301,   302,   260,   265,   256,
+     431,   259,   417,   419,   259,   264,   512,   260,   418,   421,
+     254,   265,   222,   420,   320,   250,   422,   254,   216,   339,
+     230,   527,   504,   432,   507,   543,   518,   237,   334,   553,
+     237,   337,   538,   237,   244,   554,   248,   507,   527,    -1,
+     250,   237,   473,    -1,   254,   537,   552,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,   274,    -1,   558,    -1,   278,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
@@ -2475,7 +2475,7 @@ static const yytype_uint16 yystos[] =
      339,   340,   341,   343,   345,   346,   347,   384,   385,   386,
      255,   255,   224,   259,   346,   224,   265,   265,   387,   256,
      262,   327,   328,   329,   339,   343,   262,   265,   224,   224,
-     265,   340,   343,   257,   344,     0,   385,   225,   342,    55,
+     265,   340,   343,   257,   344,     0,   385,   224,   342,    55,
      224,   336,   337,   259,   349,   343,   265,   344,   259,   366,
      328,   327,   329,   224,   224,   255,   264,   344,   259,   262,
      265,   322,   224,   226,   227,   228,   229,   230,   231,   232,
@@ -2491,7 +2491,7 @@ static const yytype_uint16 yystos[] =
      300,   300,   317,   236,   237,   257,   261,   256,   256,   262,
      222,   315,   255,   300,   270,   271,   272,   267,   269,   234,
      235,   238,   239,   273,   274,   240,   241,   277,   276,   275,
-     242,   244,   243,   278,   258,   258,   313,   225,   313,   318,
+     242,   244,   243,   278,   258,   258,   313,   224,   313,   318,
      337,   350,   343,   224,   352,   353,   260,   351,   265,   265,
      378,   255,   255,   265,   265,   317,   255,   317,   263,   255,
      260,   360,   245,   246,   247,   248,   249,   250,   251,   252,
@@ -4944,8 +4944,8 @@ yyreduce:
     {
         parseContext.spvRemoved((yyvsp[0].lex).loc, "subroutine");
         parseContext.globalCheck((yyvsp[0].lex).loc, "subroutine");
+        parseContext.unimplemented((yyvsp[0].lex).loc, "subroutine");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
-        (yyval.interm.type).qualifier.storage = EvqUniform;
     }
 #line 4951 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
@@ -4955,26 +4955,26 @@ yyreduce:
     {
         parseContext.spvRemoved((yyvsp[-3].lex).loc, "subroutine");
         parseContext.globalCheck((yyvsp[-3].lex).loc, "subroutine");
+        parseContext.unimplemented((yyvsp[-3].lex).loc, "subroutine");
         (yyval.interm.type).init((yyvsp[-3].lex).loc);
-        (yyval.interm.type).qualifier.storage = EvqUniform;
-        // TODO: 4.0 semantics: subroutines
-        // 1) make sure each identifier is a type declared earlier with SUBROUTINE
-        // 2) save all of the identifiers for future comparison with the declared function
     }
-#line 4965 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4962 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 165:
-#line 1278 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1275 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        // TODO: 4.0 functionality: subroutine type to list
+        // TODO
     }
-#line 4973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4970 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 166:
-#line 1281 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1278 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        // TODO: 4.0 semantics: subroutines
+        // 1) make sure each identifier is a type declared earlier with SUBROUTINE
+        // 2) save all of the identifiers for future comparison with the declared function
     }
 #line 4980 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
diff --git a/glslang/MachineIndependent/parseVersions.h b/glslang/MachineIndependent/parseVersions.h
index 0c85f8a19..3cd691ead 100755
--- a/glslang/MachineIndependent/parseVersions.h
+++ b/glslang/MachineIndependent/parseVersions.h
@@ -68,6 +68,7 @@ public:
     virtual void requireStage(const TSourceLoc&, EShLanguage, const char* featureDesc);
     virtual void checkDeprecated(const TSourceLoc&, int queryProfiles, int depVersion, const char* featureDesc);
     virtual void requireNotRemoved(const TSourceLoc&, int queryProfiles, int removedVersion, const char* featureDesc);
+    virtual void unimplemented(const TSourceLoc&, const char* featureDesc);
     virtual void requireExtensions(const TSourceLoc&, int numExtensions, const char* const extensions[], const char* featureDesc);
     virtual void ppRequireExtensions(const TSourceLoc&, int numExtensions, const char* const extensions[], const char* featureDesc);
     virtual TExtensionBehavior getExtensionBehavior(const char*);
-- 
GitLab