diff -r bd5998ee8876 -r ff4d26b7e51d stage3/narrow_candidate_datatypes.hh --- a/stage3/narrow_candidate_datatypes.hh Mon Feb 13 17:04:29 2012 +0000 +++ b/stage3/narrow_candidate_datatypes.hh Thu Feb 16 10:27:52 2012 +0000 @@ -39,10 +39,8 @@ class narrow_candidate_datatypes_c: public iterator_visitor_c { private: - symbol_c * selected_datatype; search_varfb_instance_type_c *search_varfb_instance_type; search_base_type_c search_base_type; - symbol_c *case_expression_type; symbol_c *il_operand; symbol_c *prev_il_instruction; @@ -51,6 +49,8 @@ void narrow_function_invocation(symbol_c *f_call, generic_function_call_t fcall_data); void narrow_nonformal_call(symbol_c *f_call, symbol_c *f_decl, int *ext_parm_count = NULL); void narrow_formal_call(symbol_c *f_call, symbol_c *f_decl, int *ext_parm_count = NULL); + + void *handle_il_instruction(symbol_c *symbol); public: narrow_candidate_datatypes_c(symbol_c *ignore); @@ -65,6 +65,7 @@ /* B 1.3.3 - Derived data types */ /********************************/ void *visit(subrange_c *symbol); + void *visit(simple_spec_init_c *symbol); /*********************/ /* B 1.4 - Variables */ @@ -76,6 +77,7 @@ /* B 1.4.2 - Multi-element variables */ /*************************************/ void *visit(array_variable_c *symbol); + void *visit(il_instruction_c *symbol); void *visit(subscript_list_c *symbol); /**************************************/ @@ -106,7 +108,7 @@ /***********************************/ /* B 2.1 Instructions and Operands */ /***********************************/ - // void *visit(instruction_list_c *symbol); + void *visit(instruction_list_c *symbol); void *visit(il_simple_operation_c *symbol); void *visit(il_function_call_c *symbol); void *visit(il_expression_c *symbol);