diff options
author | marha <marha@users.sourceforge.net> | 2012-06-11 09:01:24 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-06-11 09:01:24 +0200 |
commit | a660c10f0f261b390ada5c3a5d0543088830f070 (patch) | |
tree | 522977aa2a1be8687b1399e8afa2503daa58821b /mesalib/src/glsl | |
parent | 72ec0e3bb2d7fc6b77b2a75873792f781679da6a (diff) | |
parent | 080d1527a5358dd66ac927acbe0ec61cba7aa7e1 (diff) | |
download | vcxsrv-a660c10f0f261b390ada5c3a5d0543088830f070.tar.gz vcxsrv-a660c10f0f261b390ada5c3a5d0543088830f070.tar.bz2 vcxsrv-a660c10f0f261b390ada5c3a5d0543088830f070.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
mesalib/src/glsl/glcpp/.gitignore
Diffstat (limited to 'mesalib/src/glsl')
-rw-r--r-- | mesalib/src/glsl/glcpp/.gitignore | 3 | ||||
-rw-r--r-- | mesalib/src/glsl/ir.h | 10 | ||||
-rw-r--r-- | mesalib/src/glsl/ir_constant_expression.cpp | 7 |
3 files changed, 15 insertions, 5 deletions
diff --git a/mesalib/src/glsl/glcpp/.gitignore b/mesalib/src/glsl/glcpp/.gitignore index af1f899e9..9f7e0cc3e 100644 --- a/mesalib/src/glsl/glcpp/.gitignore +++ b/mesalib/src/glsl/glcpp/.gitignore @@ -3,7 +3,4 @@ glcpp-lex.c glcpp-parse.output
glcpp-parse.c
glcpp-parse.h
-*.o
-*.lo
-*~
tests/*.out
diff --git a/mesalib/src/glsl/ir.h b/mesalib/src/glsl/ir.h index 2c4723627..a3f9f0588 100644 --- a/mesalib/src/glsl/ir.h +++ b/mesalib/src/glsl/ir.h @@ -89,6 +89,16 @@ class ir_instruction : public exec_node { public: enum ir_node_type ir_type; + /** + * GCC 4.7+ and clang warn when deleting an ir_instruction unless + * there's a virtual destructor present. Because we almost + * universally use ralloc for our memory management of + * ir_instructions, the destructor doesn't need to do any work. + */ + virtual ~ir_instruction() + { + } + /** ir_print_visitor helper for debugging. */ void print(void) const; diff --git a/mesalib/src/glsl/ir_constant_expression.cpp b/mesalib/src/glsl/ir_constant_expression.cpp index 7a4d15f43..38a1ed96c 100644 --- a/mesalib/src/glsl/ir_constant_expression.cpp +++ b/mesalib/src/glsl/ir_constant_expression.cpp @@ -1322,8 +1322,11 @@ ir_function_signature::constant_expression_value(exec_list *actual_parameters, s foreach_list(n, actual_parameters) { ir_constant *constant = ((ir_rvalue *) n)->constant_expression_value(variable_context); - if (constant == NULL) - return NULL; + if (constant == NULL) { + hash_table_dtor(deref_hash); + return NULL; + } + ir_variable *var = (ir_variable *)parameter_info; hash_table_insert(deref_hash, constant, var); |