Detect and give error on second occurrence of #version.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24347 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
// okay
|
// okay
|
||||||
#version 100
|
#version 100
|
||||||
int a[3] = { 2, 3, 4, }; // ERROR
|
int a[3] = { 2, 3, 4, }; // ERROR
|
||||||
|
#version 100
|
||||||
int uint;
|
int uint;
|
||||||
|
|
||||||
attribute vec4 v[3]; // ERROR
|
attribute vec4 v[3]; // ERROR
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#version 420 core
|
#version 420 core
|
||||||
|
#version 420 core
|
||||||
varying vec2 v2; // ERROR, varying reserved
|
varying vec2 v2; // ERROR, varying reserved
|
||||||
in vec4 bad[10];
|
in vec4 bad[10];
|
||||||
highp in vec4 badorder;
|
highp in vec4 badorder;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
ERROR: 0:3: '{ } style initializers' : not supported with this profile: es
|
ERROR: 0:3: '{ } style initializers' : not supported with this profile: es
|
||||||
ERROR: 0:3: 'initializer' : not supported for this version or the enabled extensions
|
ERROR: 0:3: 'initializer' : not supported for this version or the enabled extensions
|
||||||
ERROR: 0:3: 'array initializer' : not supported for this version or the enabled extensions
|
ERROR: 0:3: 'array initializer' : not supported for this version or the enabled extensions
|
||||||
|
ERROR: 0:4: '#version' : must occur first in shader
|
||||||
ERROR: 0:7: 'attribute' : not supported in this stage: fragment
|
ERROR: 0:7: 'attribute' : not supported in this stage: fragment
|
||||||
ERROR: 0:7: 'float' : type requires declaration of default precision qualifier
|
ERROR: 0:7: 'float' : type requires declaration of default precision qualifier
|
||||||
ERROR: 0:9: '=' : cannot convert from 'const int' to 'mediump float'
|
ERROR: 0:9: '=' : cannot convert from 'const int' to 'mediump float'
|
||||||
@@ -66,7 +67,7 @@ ERROR: 0:167: 'highp' : overloaded functions must have the same parameter precis
|
|||||||
ERROR: 0:170: 'multiple prototypes for same function' : not supported for this version or the enabled extensions
|
ERROR: 0:170: 'multiple prototypes for same function' : not supported for this version or the enabled extensions
|
||||||
ERROR: 0:177: 'multiple prototypes for same function' : not supported for this version or the enabled extensions
|
ERROR: 0:177: 'multiple prototypes for same function' : not supported for this version or the enabled extensions
|
||||||
ERROR: 0:179: '' : syntax error
|
ERROR: 0:179: '' : syntax error
|
||||||
ERROR: 60 compilation errors. No code generated.
|
ERROR: 61 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
ERROR: node is still EOpNull!
|
ERROR: node is still EOpNull!
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
420.vert
|
420.vert
|
||||||
Warning, version 420 is not yet complete; some version-specific features are present, but many are missing.
|
Warning, version 420 is not yet complete; some version-specific features are present, but many 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
|
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
|
ERROR: 0:3: 'varying' : no longer supported in core profile; removed in version 420
|
||||||
ERROR: 0:7: '' : vertex input cannot be further qualified
|
ERROR: 0:7: '' : vertex input cannot be further qualified
|
||||||
@@ -27,7 +28,7 @@ ERROR: 0:70: 'binding' : requires uniform or buffer storage qualifier
|
|||||||
ERROR: 0:71: 'binding' : binding is too large
|
ERROR: 0:71: 'binding' : binding is too large
|
||||||
ERROR: 0:74: 'binding' : sampler binding not less than gl_MaxCombinedTextureImageUnits
|
ERROR: 0:74: 'binding' : sampler binding not less than gl_MaxCombinedTextureImageUnits
|
||||||
ERROR: 0:76: 'binding' : sampler binding not less than gl_MaxCombinedTextureImageUnits (using array)
|
ERROR: 0:76: 'binding' : sampler binding not less than gl_MaxCombinedTextureImageUnits (using array)
|
||||||
ERROR: 26 compilation errors. No code generated.
|
ERROR: 27 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
ERROR: node is still EOpNull!
|
ERROR: node is still EOpNull!
|
||||||
|
|||||||
@@ -9,5 +9,5 @@
|
|||||||
// source have to figure out how to create revision.h just to get a build
|
// source have to figure out how to create revision.h just to get a build
|
||||||
// going. However, if it is not updated, it can be a version behind.
|
// going. However, if it is not updated, it can be a version behind.
|
||||||
|
|
||||||
#define GLSLANG_REVISION "24342"
|
#define GLSLANG_REVISION "24343"
|
||||||
#define GLSLANG_DATE "2013/12/04 12:43:05"
|
#define GLSLANG_DATE "2013/12/04 12:46:19"
|
||||||
|
|||||||
@@ -694,8 +694,9 @@ int TPpContext::CPPversion(TPpToken* ppToken)
|
|||||||
{
|
{
|
||||||
int token = currentInput->scan(this, currentInput, ppToken);
|
int token = currentInput->scan(this, currentInput, ppToken);
|
||||||
|
|
||||||
if (errorOnVersion)
|
if (errorOnVersion || versionSeen)
|
||||||
parseContext.error(ppToken->loc, "must occur first in shader", "#version", "");
|
parseContext.error(ppToken->loc, "must occur first in shader", "#version", "");
|
||||||
|
versionSeen = true;
|
||||||
|
|
||||||
if (token == '\n') {
|
if (token == '\n') {
|
||||||
parseContext.error(ppToken->loc, "must be followed by version number", "#version", "");
|
parseContext.error(ppToken->loc, "must be followed by version number", "#version", "");
|
||||||
|
|||||||
@@ -155,6 +155,7 @@ void TPpContext::setInput(TInputScanner& input, bool versionWillBeError)
|
|||||||
in->prev = currentInput;
|
in->prev = currentInput;
|
||||||
currentInput = in;
|
currentInput = in;
|
||||||
errorOnVersion = versionWillBeError;
|
errorOnVersion = versionWillBeError;
|
||||||
|
versionSeen = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // end namespace glslang
|
} // end namespace glslang
|
||||||
|
|||||||
@@ -208,6 +208,7 @@ protected:
|
|||||||
|
|
||||||
InputSrc *currentInput;
|
InputSrc *currentInput;
|
||||||
bool errorOnVersion;
|
bool errorOnVersion;
|
||||||
|
bool versionSeen;
|
||||||
|
|
||||||
//
|
//
|
||||||
// from Pp.cpp
|
// from Pp.cpp
|
||||||
|
|||||||
Reference in New Issue
Block a user