--- a/stage3/fill_candidate_datatypes.cc Tue Feb 21 17:39:57 2012 +0000
+++ b/stage3/fill_candidate_datatypes.cc Thu Feb 23 13:25:49 2012 +0000
@@ -45,7 +45,7 @@
#include <strings.h>
/* set to 1 to see debug info during execution */
-static int debug = 1;
+static int debug = 0;
fill_candidate_datatypes_c::fill_candidate_datatypes_c(symbol_c *ignore) {
}
@@ -921,6 +921,9 @@
prev_il_instruction = prev_il_instruction_backup;
symbol->il_expr_operator->accept(*this);
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*/);
return NULL;
}
@@ -998,7 +1001,6 @@
/* | simple_instr_list il_simple_instruction */
/* This object is referenced by il_expression_c objects */
void *fill_candidate_datatypes_c::visit(simple_instr_list_c *symbol) {
-std::cout << "simple_instr_list_c [filling starting]\n";
if (symbol->n <= 0)
return NULL; /* List is empty! Nothing to do. */
@@ -1009,7 +1011,6 @@
copy_candidate_datatype_list(symbol->elements[symbol->n-1] /*from*/, symbol /*to*/);
if (debug) std::cout << "simple_instr_list_c [" << symbol->candidate_datatypes.size() << "] result.\n";
-std::cout << "simple_instr_list_c [" << symbol->candidate_datatypes.size() << "] result.\n";
return NULL;
}