diff options
author | Chia-I Wu <[email protected]> | 2011-08-04 00:39:07 +0900 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2011-08-05 12:14:24 +0900 |
commit | 547212d963c70161915c46d64e8020617199fb8d (patch) | |
tree | af49fc31fc8ec59df4099f08649cb25f0b3892f2 /src/glsl/glsl_parser.yy | |
parent | a48118e510fcbb57634a7869cb628123fa8c3f2e (diff) |
glsl: empty declarations should be valid
Unlike C++, empty declarations such as
float;
should be valid. The spec is not explicit about this actually.
Some apps that generate their shader sources may rely on this. This was
noted when porting one of them to Linux from Windows.
Reviewed-by: Chad Versace <[email protected]>
Note: this is a candidate for the 7.11 branch.
Diffstat (limited to 'src/glsl/glsl_parser.yy')
-rw-r--r-- | src/glsl/glsl_parser.yy | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy index 2c0498ece7a..1851f1e202e 100644 --- a/src/glsl/glsl_parser.yy +++ b/src/glsl/glsl_parser.yy @@ -971,13 +971,9 @@ single_declaration: fully_specified_type { void *ctx = state; - if ($1->specifier->type_specifier != ast_struct) { - _mesa_glsl_error(& @1, state, "empty declaration list\n"); - YYERROR; - } else { - $$ = new(ctx) ast_declarator_list($1); - $$->set_location(yylloc); - } + /* Empty declaration list is valid. */ + $$ = new(ctx) ast_declarator_list($1); + $$->set_location(yylloc); } | fully_specified_type any_identifier { |