diff options
author | Kenneth Graunke <[email protected]> | 2010-04-28 12:44:24 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2010-04-28 15:34:52 -0700 |
commit | bff6013d469b3d4e54cdc5731801c56994a523ec (patch) | |
tree | cfbd67f0ab174146df188d4e7563dafbe0084fc8 /ast_to_hir.cpp | |
parent | 0d605cb97c9cd2f9a170e3aa15bdf4021a75fc14 (diff) |
Factor out parameter list replacement for later reuse.
Diffstat (limited to 'ast_to_hir.cpp')
-rw-r--r-- | ast_to_hir.cpp | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/ast_to_hir.cpp b/ast_to_hir.cpp index 52e372c7e49..1dc4ea25b21 100644 --- a/ast_to_hir.cpp +++ b/ast_to_hir.cpp @@ -1973,20 +1973,9 @@ ast_function::hir(exec_list *instructions, if (sig == NULL) { sig = new ir_function_signature(return_type); f->add_signature(sig); - } else if (is_definition) { - /* Destroy all of the previous parameter information. The previous - * parameter information comes from the function prototype, and it can - * either include invalid parameter names or may not have names at all. - */ - foreach_iter(exec_list_iterator, iter, sig->parameters) { - assert(((ir_instruction *) iter.get())->as_variable() != NULL); - - iter.remove(); - delete iter.get(); - } } - hir_parameters.move_nodes_to(& sig->parameters); + sig->replace_parameters(&hir_parameters); signature = sig; /* Function declarations (prototypes) do not have r-values. |