glsl: Don't hide the type of struct_declaration_list.
I've been trying to derive from this for UBO support, and the slightly obfuscated types were putting me over the edge. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
532e99cbf2
commit
912a429bc5
|
@ -417,15 +417,19 @@ struct ast_type_qualifier {
|
|||
const char *interpolation_string() const;
|
||||
};
|
||||
|
||||
class ast_declarator_list;
|
||||
|
||||
class ast_struct_specifier : public ast_node {
|
||||
public:
|
||||
ast_struct_specifier(const char *identifier, ast_node *declarator_list);
|
||||
ast_struct_specifier(const char *identifier,
|
||||
ast_declarator_list *declarator_list);
|
||||
virtual void print(void) const;
|
||||
|
||||
virtual ir_rvalue *hir(exec_list *instructions,
|
||||
struct _mesa_glsl_parse_state *state);
|
||||
|
||||
const char *name;
|
||||
/* List of ast_declarator_list * */
|
||||
exec_list declarations;
|
||||
};
|
||||
|
||||
|
|
|
@ -214,7 +214,7 @@ static void yyerror(YYLTYPE *loc, _mesa_glsl_parse_state *st, const char *msg)
|
|||
%type <node> declaration_statement
|
||||
%type <node> jump_statement
|
||||
%type <struct_specifier> struct_specifier
|
||||
%type <node> struct_declaration_list
|
||||
%type <declarator_list> struct_declaration_list
|
||||
%type <declarator_list> struct_declaration
|
||||
%type <declaration> struct_declarator
|
||||
%type <declaration> struct_declarator_list
|
||||
|
@ -1479,12 +1479,12 @@ struct_specifier:
|
|||
struct_declaration_list:
|
||||
struct_declaration
|
||||
{
|
||||
$$ = (ast_node *) $1;
|
||||
$$ = $1;
|
||||
$1->link.self_link();
|
||||
}
|
||||
| struct_declaration_list struct_declaration
|
||||
{
|
||||
$$ = (ast_node *) $1;
|
||||
$$ = $1;
|
||||
$$->link.insert_before(& $2->link);
|
||||
}
|
||||
;
|
||||
|
|
|
@ -1003,7 +1003,7 @@ ast_struct_specifier::print(void) const
|
|||
|
||||
|
||||
ast_struct_specifier::ast_struct_specifier(const char *identifier,
|
||||
ast_node *declarator_list)
|
||||
ast_declarator_list *declarator_list)
|
||||
{
|
||||
if (identifier == NULL) {
|
||||
static unsigned anon_count = 1;
|
||||
|
|
Loading…
Reference in New Issue