aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/glsl/glsl_parser.yy
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-09-06 13:39:40 +0200
committermarha <marha@users.sourceforge.net>2013-09-06 13:39:40 +0200
commitd53900c52abc2402f978b72278712e4bcdbde9f2 (patch)
tree689cedc44df148a96d68ef460cff6b1756f096b6 /mesalib/src/glsl/glsl_parser.yy
parent36eb733ed5aaaeaefc49c8894bf213d16b58d242 (diff)
parent2414a1de3cc17f438219f8f2a58b530d33e99a5e (diff)
downloadvcxsrv-d53900c52abc2402f978b72278712e4bcdbde9f2.tar.gz
vcxsrv-d53900c52abc2402f978b72278712e4bcdbde9f2.tar.bz2
vcxsrv-d53900c52abc2402f978b72278712e4bcdbde9f2.zip
Merge remote-tracking branch 'origin/released'
* origin/released: mesa pixman xserver xkeyboard-config Conflicts: xorg-server/dix/dispatch.c
Diffstat (limited to 'mesalib/src/glsl/glsl_parser.yy')
-rw-r--r--mesalib/src/glsl/glsl_parser.yy10
1 files changed, 7 insertions, 3 deletions
diff --git a/mesalib/src/glsl/glsl_parser.yy b/mesalib/src/glsl/glsl_parser.yy
index d8e589d49..fa6e2053a 100644
--- a/mesalib/src/glsl/glsl_parser.yy
+++ b/mesalib/src/glsl/glsl_parser.yy
@@ -1714,13 +1714,17 @@ struct_declaration_list:
;
struct_declaration:
- type_specifier struct_declarator_list ';'
+ fully_specified_type struct_declarator_list ';'
{
void *ctx = state;
- ast_fully_specified_type *type = new(ctx) ast_fully_specified_type();
+ ast_fully_specified_type *const type = $1;
type->set_location(yylloc);
- type->specifier = $1;
+ if (type->qualifier.flags.i != 0)
+ _mesa_glsl_error(&@1, state,
+ "only precision qualifiers may be applied to "
+ "structure members");
+
$$ = new(ctx) ast_declarator_list(type);
$$->set_location(yylloc);