diff -r d97a29b7fa8b -r 4910eaa1206a stage3/fill_candidate_datatypes.cc --- a/stage3/fill_candidate_datatypes.cc Thu Mar 08 18:57:55 2012 +0000 +++ b/stage3/fill_candidate_datatypes.cc Thu Mar 08 19:14:45 2012 +0000 @@ -301,7 +301,7 @@ * here). */ if (NULL != prev_il_instruction) - copy_candidate_datatype_list(prev_il_instruction/*from*/, il_instruction/*to*/); + il_instruction->candidate_datatypes = prev_il_instruction->candidate_datatypes; if (debug) std::cout << "handle_implicit_il_fb_call() [" << prev_il_instruction->candidate_datatypes.size() << "] ==> " << il_instruction->candidate_datatypes.size() << " result.\n"; } @@ -849,7 +849,7 @@ prev_il_instruction = NULL; /* This object has (inherits) the same candidate datatypes as the il_instruction */ - copy_candidate_datatype_list(symbol->il_instruction /*from*/, symbol /*to*/); + symbol->candidate_datatypes = symbol->il_instruction->candidate_datatypes; } return NULL; @@ -867,7 +867,7 @@ symbol->il_simple_operator->accept(*this); il_operand = NULL; /* This object has (inherits) the same candidate datatypes as the il_simple_operator */ - copy_candidate_datatype_list(symbol->il_simple_operator /*from*/, symbol /*to*/); + symbol->candidate_datatypes = symbol->il_simple_operator->candidate_datatypes; return NULL; } @@ -940,7 +940,7 @@ il_operand = NULL; /* This object has the same candidate datatypes as the il_expr_operator. */ - copy_candidate_datatype_list(symbol->il_expr_operator/*from*/, symbol/*to*/); + symbol->candidate_datatypes = symbol->il_expr_operator->candidate_datatypes; return NULL; } @@ -951,7 +951,7 @@ symbol->il_jump_operator->accept(*this); il_operand = NULL; /* This object has the same candidate datatypes as the il_jump_operator. */ - copy_candidate_datatype_list(symbol->il_jump_operator/*from*/, symbol/*to*/); + symbol->candidate_datatypes = symbol->il_jump_operator->candidate_datatypes; return NULL; } @@ -998,7 +998,7 @@ * print_datatypes_error_c, so the code will never reach stage 4! */ symbol->il_call_operator->accept(*this); - copy_candidate_datatype_list(symbol->il_call_operator/*from*/, symbol/*to*/); + symbol->candidate_datatypes = symbol->il_call_operator->candidate_datatypes; if (debug) std::cout << "FB [] ==> " << symbol->candidate_datatypes.size() << " result.\n"; return NULL; @@ -1040,7 +1040,7 @@ symbol->elements[i]->accept(*this); /* This object has (inherits) the same candidate datatypes as the last il_instruction */ - copy_candidate_datatype_list(symbol->elements[symbol->n-1] /*from*/, symbol /*to*/); + symbol->candidate_datatypes = symbol->elements[symbol->n-1]->candidate_datatypes; if (debug) std::cout << "simple_instr_list_c [" << symbol->candidate_datatypes.size() << "] result.\n"; return NULL; @@ -1058,7 +1058,7 @@ prev_il_instruction = NULL; /* This object has (inherits) the same candidate datatypes as the il_simple_instruction it points to */ - copy_candidate_datatype_list(symbol->il_simple_instruction /*from*/, symbol /*to*/); + symbol->candidate_datatypes = symbol->il_simple_instruction->candidate_datatypes; return NULL; }