stage4/generate_c/generate_c_st.cc
changeset 236 c55b02ca2342
parent 235 ed66dc50f31a
child 237 cece842c7417
equal deleted inserted replaced
235:ed66dc50f31a 236:c55b02ca2342
   206   else if (wanted_variablegeneration == complextype_suffix_vg)
   206   else if (wanted_variablegeneration == complextype_suffix_vg)
   207 	return NULL;
   207 	return NULL;
   208   else if (this->is_variable_prefix_null()) {
   208   else if (this->is_variable_prefix_null()) {
   209 	vartype = search_varfb_instance_type->get_vartype(symbol);
   209 	vartype = search_varfb_instance_type->get_vartype(symbol);
   210 	if (wanted_variablegeneration == fparam_output_vg) {
   210 	if (wanted_variablegeneration == fparam_output_vg) {
   211 	  if (vartype == search_var_instance_decl_c::inoutput_vt)
   211 	  s4o.print("&(");
   212 		generate_c_base_c::visit(symbol);
   212       generate_c_base_c::visit(symbol);
   213 	  else {
   213       s4o.print(")");
   214 		s4o.print("&(");
       
   215         generate_c_base_c::visit(symbol);
       
   216         s4o.print(")");
       
   217 	  }
       
   218     }
   214     }
   219     else {
   215     else {
   220       if (vartype == search_var_instance_decl_c::inoutput_vt) {
   216       generate_c_base_c::visit(symbol);
   221         s4o.print("(*");
       
   222         generate_c_base_c::visit(symbol);
       
   223         s4o.print(")");
       
   224       }
       
   225       else
       
   226     	generate_c_base_c::visit(symbol);
       
   227     }
   217     }
   228   }
   218   }
   229   else
   219   else
   230 	print_getter(symbol);
   220 	print_getter(symbol);
   231   return NULL;
   221   return NULL;