--- 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);