stage4/generate_c/generate_c_vardecl.cc
changeset 334 63b52a8a12f3
parent 279 c0453b7f99df
child 377 60b012b7793f
equal deleted inserted replaced
333:b495a49f5038 334:63b52a8a12f3
   161         s4o.print(s4o.indent_spaces);
   161         s4o.print(s4o.indent_spaces);
   162         s4o.print(SET_VAR);
   162         s4o.print(SET_VAR);
   163         s4o.print("(");
   163         s4o.print("(");
   164         print_variable_prefix();
   164         print_variable_prefix();
   165         symbol->elements[i]->accept(*this);
   165         symbol->elements[i]->accept(*this);
   166         s4o.print(", temp);\n");
   166         s4o.print(",temp);\n");
   167       }
   167       }
   168       return NULL;
   168       return NULL;
   169     }
   169     }
   170 
   170 
   171 /********************************/
   171 /********************************/
   916           }
   916           }
   917           else if (wanted_varformat == localinit_vf) {
   917           else if (wanted_varformat == localinit_vf) {
   918         	this->current_var_type_symbol->accept(*this);
   918         	this->current_var_type_symbol->accept(*this);
   919             s4o.print(" ");
   919             s4o.print(" ");
   920           }
   920           }
       
   921           else if (wanted_varformat == init_vf) {
       
   922         	s4o.print(SET_VAR);
       
   923         	s4o.print("(");
       
   924           }
   921           print_variable_prefix();
   925           print_variable_prefix();
   922           list->elements[i]->accept(*this);
   926           list->elements[i]->accept(*this);
   923           if (wanted_varformat != local_vf) {
   927           if (wanted_varformat != local_vf) {
   924         	if (wanted_varformat == localinit_vf &&
   928         	if (wanted_varformat == localinit_vf &&
   925         		(current_vartype & inoutput_vt) != 0) {
   929         		(current_vartype & inoutput_vt) != 0) {
   951               s4o.print(" = temp;\n");
   955               s4o.print(" = temp;\n");
   952               s4o.indent_left();
   956               s4o.indent_left();
   953               s4o.print(s4o.indent_spaces);
   957               s4o.print(s4o.indent_spaces);
   954               s4o.print("}\n");
   958               s4o.print("}\n");
   955             }
   959             }
       
   960         	else if (wanted_varformat == init_vf) {
       
   961         	  s4o.print(",");
       
   962         	  this->current_var_init_symbol->accept(*this);
       
   963         	  s4o.print(");\n");
       
   964         	}
   956         	else {
   965         	else {
   957         	  if (this->current_var_init_symbol != NULL) {
   966         	  if (this->current_var_init_symbol != NULL) {
   958                 s4o.print(" = ");
   967                 s4o.print(" = ");
   959                 this->current_var_init_symbol->accept(*this);
   968                 this->current_var_init_symbol->accept(*this);
   960               }
   969               }