diff options
author | Brian Paul <[email protected]> | 2006-11-24 19:21:42 +0000 |
---|---|---|
committer | Brian Paul <[email protected]> | 2006-11-24 19:21:42 +0000 |
commit | 16e7ca9d72f7d1c24a12014ac482948e17be8d3f (patch) | |
tree | e93e063ab2d7e2c9725f1d4c1dac8873206ce45f /src/mesa/shader/slang | |
parent | e49d06e61955208b9cd3e18469034e7447394b95 (diff) |
call slang_variable_construct() inside slang_variable_scope_grow()
Diffstat (limited to 'src/mesa/shader/slang')
-rw-r--r-- | src/mesa/shader/slang/slang_compile.c | 6 | ||||
-rw-r--r-- | src/mesa/shader/slang/slang_compile_variable.c | 7 |
2 files changed, 6 insertions, 7 deletions
diff --git a/src/mesa/shader/slang/slang_compile.c b/src/mesa/shader/slang/slang_compile.c index 93c7fb0cdbf..c49ab4a68dc 100644 --- a/src/mesa/shader/slang/slang_compile.c +++ b/src/mesa/shader/slang/slang_compile.c @@ -439,8 +439,6 @@ parse_struct_field(slang_parse_ctx * C, slang_output_ctx * O, slang_info_log_memory(C->L); return 0; } - if (!slang_variable_construct(var)) - return 0; if (!parse_struct_field_var(C, &o, var, sp)) return 0; } @@ -1478,8 +1476,6 @@ parse_function_prototype(slang_parse_ctx * C, slang_output_ctx * O, slang_info_log_memory(C->L); return 0; } - if (!slang_variable_construct(p)) - return 0; if (!parse_parameter_declaration(C, O, p)) return 0; } @@ -1654,8 +1650,6 @@ parse_init_declarator(slang_parse_ctx * C, slang_output_ctx * O, slang_info_log_memory(C->L); return 0; } - if (!slang_variable_construct(var)) - return 0; /* copy the declarator qualifier type, parse the identifier */ var->global = C->global_scope; diff --git a/src/mesa/shader/slang/slang_compile_variable.c b/src/mesa/shader/slang/slang_compile_variable.c index a37deddff10..a8a2d6aa6a0 100644 --- a/src/mesa/shader/slang/slang_compile_variable.c +++ b/src/mesa/shader/slang/slang_compile_variable.c @@ -184,7 +184,7 @@ slang_variable_scope_copy(slang_variable_scope * x, /** * Grow the variable list by one. - * \return pointer to space for the new variable. + * \return pointer to space for the new variable (will be initialized) */ slang_variable * slang_variable_scope_grow(slang_variable_scope *scope) @@ -196,7 +196,12 @@ slang_variable_scope_grow(slang_variable_scope *scope) (n + 1) * sizeof(slang_variable)); if (!scope->variables) return NULL; + scope->num_variables++; + + if (!slang_variable_construct(scope->variables + n)) + return NULL; + return scope->variables + n; } |