stage4/generate_c/generate_c_inlinefcall.cc
changeset 844 39c755f41ee8
parent 793 268bf4ca5fa1
child 851 2c59c2b8fca4
equal deleted inserted replaced
843:f9a059c24aea 844:39c755f41ee8
   510          */
   510          */
   511         if ((param_value == NULL) && (fp_iterator.is_extensible_param())) {
   511         if ((param_value == NULL) && (fp_iterator.is_extensible_param())) {
   512           break;
   512           break;
   513         }
   513         }
   514       
   514       
       
   515         /* We do not yet support embedded IL lists, so we abort the compiler if we find one */
       
   516         /* Note that in IL function calls the syntax does not allow embeded IL lists, so this check is not necessary here! */
       
   517         /*
       
   518         {simple_instr_list_c *instruction_list = dynamic_cast<simple_instr_list_c *>(param_value);
       
   519          if (NULL != instruction_list) STAGE4_ERROR(param_value, param_value, "The compiler does not yet support formal invocations in IL that contain embedded IL lists. Aborting!");
       
   520         }
       
   521         */
       
   522 
   515         if ((param_value == NULL) && (param_direction == function_param_iterator_c::direction_in)) {
   523         if ((param_value == NULL) && (param_direction == function_param_iterator_c::direction_in)) {
   516           /* No value given for parameter, so we must use the default... */
   524           /* No value given for parameter, so we must use the default... */
   517           /* First check whether default value specified in function declaration...*/
   525           /* First check whether default value specified in function declaration...*/
   518           param_value = fp_iterator.default_value();
   526           param_value = fp_iterator.default_value();
   519         }
   527         }
   667          * have reached the end, and should simply jump out of the for loop.
   675          * have reached the end, and should simply jump out of the for loop.
   668          */
   676          */
   669         if ((param_value == NULL) && (fp_iterator.is_extensible_param())) {
   677         if ((param_value == NULL) && (fp_iterator.is_extensible_param())) {
   670           break;
   678           break;
   671         }
   679         }
   672     
   680         
       
   681         /* We do not yet support embedded IL lists, so we abort the compiler if we find one */
       
   682         {simple_instr_list_c *instruction_list = dynamic_cast<simple_instr_list_c *>(param_value);
       
   683          if (NULL != instruction_list) STAGE4_ERROR(param_value, param_value, "The compiler does not yet support formal invocations in IL that contain embedded IL lists. Aborting!");
       
   684         }
       
   685 
   673         if ((param_value == NULL) && (param_direction == function_param_iterator_c::direction_in)) {
   686         if ((param_value == NULL) && (param_direction == function_param_iterator_c::direction_in)) {
   674           /* No value given for parameter, so we must use the default... */
   687           /* No value given for parameter, so we must use the default... */
   675           /* First check whether default value specified in function declaration...*/
   688           /* First check whether default value specified in function declaration...*/
   676           param_value = fp_iterator.default_value();
   689           param_value = fp_iterator.default_value();
   677         }
   690         }