stage3/narrow_candidate_datatypes.hh
changeset 480 8a58d7b8b26c
parent 478 b13feab3b918
child 502 a6211f73690b
--- a/stage3/narrow_candidate_datatypes.hh	Tue Mar 13 18:29:34 2012 +0000
+++ b/stage3/narrow_candidate_datatypes.hh	Tue Mar 13 19:04:07 2012 +0000
@@ -46,7 +46,7 @@
     std::vector <symbol_c *> *prev_il_instructions;
     std::vector <symbol_c *> *prev_il_instructions_intersected_datatypes;
 
-    bool is_widening_compatible(const struct widen_entry widen_table[], symbol_c *left_type, symbol_c *right_type, symbol_c *result_type, bool &deprecated_status);
+    bool is_widening_compatible(const struct widen_entry widen_table[], symbol_c *left_type, symbol_c *right_type, symbol_c *result_type, bool *deprecated_status = NULL);
 
     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);
@@ -54,7 +54,8 @@
     void *narrow_implicit_il_fb_call(symbol_c *il_instruction, const char *param_name, symbol_c *&called_fb_declaration);
 
     void *handle_il_instruction(symbol_c *symbol);
-    void *handle_il_instruction_widen(symbol_c *symbol, bool &deprecated_operation, const struct widen_entry widen_table[]);
+    void *narrow_binary_operator  (const struct widen_entry widen_table[], symbol_c *symbol,                                     bool *deprecated_operation = NULL);
+    void *narrow_binary_expression(const struct widen_entry widen_table[], symbol_c *symbol, symbol_c *l_expr, symbol_c *r_expr, bool *deprecated_operation = NULL);
 
     void *narrow_conditional_flow_control_IL_instruction(symbol_c *symbol);