stage4/generate_c/generate_c_il.cc
changeset 1016 91bef6704b44
parent 1011 76175defb87b
child 1041 56ebe2a31b5b
equal deleted inserted replaced
1015:9414b0785849 1016:91bef6704b44
   882   /* Check whether we are calling an overloaded function! */
   882   /* Check whether we are calling an overloaded function! */
   883   /* (fdecl_mutiplicity > 1)  => calling overloaded function */
   883   /* (fdecl_mutiplicity > 1)  => calling overloaded function */
   884   int fdecl_mutiplicity =  function_symtable.count(symbol->function_name);
   884   int fdecl_mutiplicity =  function_symtable.count(symbol->function_name);
   885   if (fdecl_mutiplicity == 0) ERROR;
   885   if (fdecl_mutiplicity == 0) ERROR;
   886 
   886 
   887   this->implicit_variable_result.accept(*this);
   887   /* when function returns a void, we do not store the value in the default variable! */
   888   s4o.print(" = ");
   888   if (!get_datatype_info_c::is_VOID(symbol->datatype)) {
       
   889     this->implicit_variable_result.accept(*this);
       
   890     s4o.print(" = ");
       
   891   }
   889     
   892     
   890   if (function_type_prefix != NULL) {
   893   if (function_type_prefix != NULL) {
   891     s4o.print("(");
   894     s4o.print("(");
   892     default_literal_type(function_type_prefix)->accept(*this);
   895     default_literal_type(function_type_prefix)->accept(*this);
   893     s4o.print(")");
   896     s4o.print(")");
  1286   if (fdecl_mutiplicity == 0) ERROR;
  1289   if (fdecl_mutiplicity == 0) ERROR;
  1287   if (fdecl_mutiplicity == 1) 
  1290   if (fdecl_mutiplicity == 1) 
  1288     /* function being called is NOT overloaded! */
  1291     /* function being called is NOT overloaded! */
  1289     f_decl = NULL; 
  1292     f_decl = NULL; 
  1290 
  1293 
  1291   this->implicit_variable_result.accept(*this);
  1294   /* when function returns a void, we do not store the value in the default variable! */
  1292   s4o.print(" = ");
  1295   if (!get_datatype_info_c::is_VOID(symbol->datatype)) {
       
  1296     this->implicit_variable_result.accept(*this);
       
  1297     s4o.print(" = ");
       
  1298   }
  1293   
  1299   
  1294   if (function_type_prefix != NULL) {
  1300   if (function_type_prefix != NULL) {
  1295     s4o.print("(");
  1301     s4o.print("(");
  1296     default_literal_type(function_type_prefix)->accept(*this);
  1302     default_literal_type(function_type_prefix)->accept(*this);
  1297     s4o.print(")");
  1303     s4o.print(")");