glsl: Fix isinf() for non-C99-compliant compilers.
[mesa.git] / src / glsl / glsl_parser.yy
index f3e87380035c2ad610576d3768aed64639ed9d49..e774b4697ad8fb381b54f59599a38a62b7d02424 100644 (file)
 
 #define YYLEX_PARAM state->scanner
 
+#undef yyerror
+
+static void yyerror(YYLTYPE *loc, _mesa_glsl_parse_state *st, const char *msg)
+{
+   _mesa_glsl_error(loc, st, "%s", msg);
+}
 %}
 
 %pure-parser
 %token INVARIANT
 %token LOWP MEDIUMP HIGHP SUPERP PRECISION
 
-%token VERSION EXTENSION LINE COLON EOL INTERFACE OUTPUT
+%token VERSION_TOK EXTENSION LINE COLON EOL INTERFACE OUTPUT
 %token PRAGMA_DEBUG_ON PRAGMA_DEBUG_OFF
 %token PRAGMA_OPTIMIZE_ON PRAGMA_OPTIMIZE_OFF
 %token PRAGMA_INVARIANT_ALL
@@ -240,7 +246,7 @@ translation_unit:
 
 version_statement:
        /* blank - no #version specified: defaults are already set */
-       | VERSION INTCONSTANT EOL
+       | VERSION_TOK INTCONSTANT EOL
        {
           bool supported = false;
 
@@ -1124,7 +1130,9 @@ layout_qualifier_id:
           }
 
           /* Layout qualifiers for AMD/ARB_conservative_depth. */
-          if (!got_one && state->AMD_conservative_depth_enable) {
+          if (!got_one &&
+              (state->AMD_conservative_depth_enable ||
+               state->ARB_conservative_depth_enable)) {
              if (strcmp($1, "depth_any") == 0) {
                 got_one = true;
                 $$.flags.q.depth_any = 1;
@@ -1140,6 +1148,11 @@ layout_qualifier_id:
              }
        
              if (got_one && state->AMD_conservative_depth_warn) {
+                _mesa_glsl_warning(& @1, state,
+                                   "GL_AMD_conservative_depth "
+                                   "layout qualifier `%s' is used\n", $1);
+             }
+             if (got_one && state->ARB_conservative_depth_warn) {
                 _mesa_glsl_warning(& @1, state,
                                    "GL_ARB_conservative_depth "
                                    "layout qualifier `%s' is used\n", $1);
@@ -1706,7 +1719,7 @@ case_statement:
           ast_case_statement *stmts = new(state) ast_case_statement($1);
 
           stmts->stmts.push_tail(& $2->link);
-          $$ = stmts
+          $$ = stmts;
        }
        | case_statement statement
        {