glsl: Add other missing error location information for switch statements.
authorEric Anholt <eric@anholt.net>
Mon, 30 Jan 2012 17:46:09 +0000 (09:46 -0800)
committerEric Anholt <eric@anholt.net>
Fri, 3 Feb 2012 10:06:59 +0000 (11:06 +0100)
NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/glsl/glsl_parser.yy

index 8368d063a6dc33f18deb7a2f5a40c6eee3ae89e3..d5e85abc021ad711de6ea6f96f32fbd03392fa69 100644 (file)
@@ -1671,6 +1671,7 @@ switch_statement:
        SWITCH '(' expression ')' switch_body
        {
           $$ = new(state) ast_switch_statement($3, $5);
+          $$->set_location(yylloc);
        }
        ;
 
@@ -1707,6 +1708,7 @@ case_label_list:
 
           labels->labels.push_tail(& $1->link);
           $$ = labels;
+          $$->set_location(yylloc);
        }
        | case_label_list case_label
        {
@@ -1719,6 +1721,7 @@ case_statement:
        case_label_list statement
        {
           ast_case_statement *stmts = new(state) ast_case_statement($1);
+          stmts->set_location(yylloc);
 
           stmts->stmts.push_tail(& $2->link);
           $$ = stmts;
@@ -1734,6 +1737,7 @@ case_statement_list:
        case_statement
        {
           ast_case_statement_list *cases= new(state) ast_case_statement_list();
+          cases->set_location(yylloc);
 
           cases->cases.push_tail(& $1->link);
           $$ = cases;