stage3/lvalue_check.cc
changeset 828 a5f08df62002
parent 826 1e6bf9839ece
child 831 691e1cc38d3a
equal deleted inserted replaced
827:e3800aff352c 828:a5f08df62002
   259  * This means that, for non formal function calls in IL, de current (default value) must be artificially added to the
   259  * This means that, for non formal function calls in IL, de current (default value) must be artificially added to the
   260  * beginning of the parameter list BEFORE calling handle_function_call().
   260  * beginning of the parameter list BEFORE calling handle_function_call().
   261  */
   261  */
   262 #include <string.h> /* required for strcmp() */
   262 #include <string.h> /* required for strcmp() */
   263 void lvalue_check_c::check_nonformal_call(symbol_c *f_call, symbol_c *f_decl) {
   263 void lvalue_check_c::check_nonformal_call(symbol_c *f_call, symbol_c *f_decl) {
       
   264 	/* if data type semantic verification was unable to determine which function is being called,
       
   265 	 * then it does not make sense to go ahead and check for lvalues to unknown parameters.
       
   266 	 * We simply bug out!
       
   267 	 */
       
   268 	if (NULL == f_decl) return;
       
   269 	
   264 	symbol_c *call_param_value;
   270 	symbol_c *call_param_value;
   265 	identifier_c *param_name;
   271 	identifier_c *param_name;
   266 	function_param_iterator_c       fp_iterator(f_decl);
   272 	function_param_iterator_c       fp_iterator(f_decl);
   267 	function_call_param_iterator_c fcp_iterator(f_call);
   273 	function_call_param_iterator_c fcp_iterator(f_call);
   268 
   274