glsl: Add an is_declaration field to ast_struct_specifier.
Will be used in a later commit to differentiate between a structure type declaration and a variable declaration of a struct type. I.e., the difference between struct S { float x; }; (is_declaration = true) and S s; (is_declaration = false) Also note that is_declaration = true for struct S { float x; } s; Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
@@ -460,7 +460,8 @@ public:
|
|||||||
* be modified. Zeros the inherited ast_node's fields.
|
* be modified. Zeros the inherited ast_node's fields.
|
||||||
*/
|
*/
|
||||||
ast_struct_specifier(const ast_struct_specifier& that):
|
ast_struct_specifier(const ast_struct_specifier& that):
|
||||||
ast_node(), name(that.name), declarations(that.declarations)
|
ast_node(), name(that.name), declarations(that.declarations),
|
||||||
|
is_declaration(that.is_declaration)
|
||||||
{
|
{
|
||||||
/* empty */
|
/* empty */
|
||||||
}
|
}
|
||||||
@@ -475,6 +476,7 @@ public:
|
|||||||
const char *name;
|
const char *name;
|
||||||
/* List of ast_declarator_list * */
|
/* List of ast_declarator_list * */
|
||||||
exec_list declarations;
|
exec_list declarations;
|
||||||
|
bool is_declaration;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1236,6 +1236,7 @@ ast_struct_specifier::ast_struct_specifier(const char *identifier,
|
|||||||
}
|
}
|
||||||
name = identifier;
|
name = identifier;
|
||||||
this->declarations.push_degenerate_list_at_head(&declarator_list->link);
|
this->declarations.push_degenerate_list_at_head(&declarator_list->link);
|
||||||
|
is_declaration = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
Reference in New Issue
Block a user