+++ /dev/null
-struct ir_instruction *
-_mesa_ast_constructor_to_hir(const struct ast_node *n,
- const struct ast_node *parameters,
- struct _mesa_glsl_parse_state *state)
-{
- const struct ast_type_specifier *type = (struct ast_type_specifier *) n;
-
-
- /* There are effectively three kinds of constructors. Each has its own set
- * of rules.
- *
- * * Built-in scalar, vector, and matrix types: For each of these the only
- * matching requirement is that the number of values supplied is
- * sufficient to initialize all of the fields of the type.
- * * Array types: The number of initializers must match the size of the
- * array, if a size is specified. Each of the initializers must
- * exactly match the base type of the array.
- * * Structure types: These initializers must exactly match the fields of
- * the structure in order. This is the most restrictive type.
- *
- * In all cases the built-in promotions from integer to floating-point types
- * are applied.
- */
-
- if (type->is_array) {
- /* FINISHME */
- } else if ((type->type_specifier == ast_struct)
- || (type->type_specifier == ast_type_name)) {
- /* FINISHME */
- } else {
- const struct glsl_type *ctor_type;
-
- /* Look-up the type, by name, in the symbol table.
- */
-
-
- /* Generate a series of assignments of constructor parameters to fields
- * of the object being initialized.
- */
- }
-}