stage4/generate_c/generate_c_il.cc
changeset 236 c55b02ca2342
parent 235 ed66dc50f31a
child 237 cece842c7417
equal deleted inserted replaced
235:ed66dc50f31a 236:c55b02ca2342
   571   else if (wanted_variablegeneration == complextype_suffix_vg)
   571   else if (wanted_variablegeneration == complextype_suffix_vg)
   572 	return NULL;
   572 	return NULL;
   573   else if (this->is_variable_prefix_null()) {
   573   else if (this->is_variable_prefix_null()) {
   574 	vartype = search_varfb_instance_type->get_vartype(symbol);
   574 	vartype = search_varfb_instance_type->get_vartype(symbol);
   575     if (wanted_variablegeneration == fparam_output_vg) {
   575     if (wanted_variablegeneration == fparam_output_vg) {
   576       if (vartype == search_var_instance_decl_c::external_vt)
   576       s4o.print("&(");
   577     	s4o.print(GET_EXTERNAL);
       
   578       else
       
   579     	s4o.print("&");
       
   580       s4o.print("(");
       
   581       generate_c_base_c::visit(symbol);
   577       generate_c_base_c::visit(symbol);
   582       s4o.print(")");
   578       s4o.print(")");
   583     }
   579     }
   584     else {
   580     else {
   585       if (vartype == search_var_instance_decl_c::external_vt) {
   581       generate_c_base_c::visit(symbol);
   586         s4o.print(GET_EXTERNAL);
       
   587         s4o.print("(");
       
   588         generate_c_base_c::visit(symbol);
       
   589         s4o.print(")");
       
   590       }
       
   591       else
       
   592     	generate_c_base_c::visit(symbol);
       
   593     }
   582     }
   594   }
   583   }
   595   else
   584   else
   596     print_getter(symbol);
   585     print_getter(symbol);
   597   return NULL;
   586   return NULL;