stage4/generate_c/generate_c_il.cc
changeset 221 c6aed7e5f070
parent 220 f332b62cd2c1
child 226 29f8ffc203c1
--- a/stage4/generate_c/generate_c_il.cc	Tue Dec 01 09:03:33 2009 +0100
+++ b/stage4/generate_c/generate_c_il.cc	Wed Dec 02 16:11:01 2009 +0100
@@ -469,28 +469,24 @@
 /*********************/
 /* B 1.4 - Variables */
 /*********************/
-/* B 1.4 - Variables */
-/*********************/
+
 void *visit(symbolic_variable_c *symbol) {
   unsigned int vartype = search_varfb_instance_type->get_vartype(symbol);
   if (this->is_variable_prefix_null()) {
     if (wanted_variablegeneration == fparam_output_vg) {
-      if (vartype == search_var_instance_decl_c::external_vt) {
+      if (vartype == search_var_instance_decl_c::external_vt)
     	s4o.print(GET_EXTERNAL);
-    	s4o.print("(");
-    	symbol->var_name->accept(*this);
-      }
-      else {
-    	s4o.print("&(");
-        generate_c_base_c::visit(symbol);
-      }
+      else
+    	s4o.print("&");
+      s4o.print("(");
+      generate_c_base_c::visit(symbol);
       s4o.print(")");
     }
     else {
       if (vartype == search_var_instance_decl_c::external_vt) {
         s4o.print(GET_EXTERNAL);
         s4o.print("(");
-        symbol->var_name->accept(*this);
+        generate_c_base_c::visit(symbol);
         s4o.print(")");
       }
       else
@@ -500,42 +496,29 @@
   else {
     switch (wanted_variablegeneration) {
       case expression_vg:
-        if (vartype == search_var_instance_decl_c::external_vt) {
+        if (vartype == search_var_instance_decl_c::external_vt)
     	  s4o.print(GET_EXTERNAL);
-    	  s4o.print("(");
-          symbol->var_name->accept(*this);
-        }
-        else {
-          if (vartype == search_var_instance_decl_c::located_vt)
-            s4o.print(GET_LOCATED);
-          else
-            s4o.print(GET_VAR);
-          s4o.print("(");
-          generate_c_base_c::visit(symbol);
-        }
+    	else if (vartype == search_var_instance_decl_c::located_vt)
+		  s4o.print(GET_LOCATED);
+	    else
+		  s4o.print(GET_VAR);
+	    s4o.print("(");
+	    generate_c_base_c::visit(symbol);
         s4o.print(")");
 		break;
       case fparam_output_vg:
-        if (vartype == search_var_instance_decl_c::external_vt) {
+        if (vartype == search_var_instance_decl_c::external_vt)
           s4o.print(GET_EXTERNAL_BY_REF);
-          s4o.print("(");
-          symbol->var_name->accept(*this);
-        }
-        else {
-          if (vartype == search_var_instance_decl_c::located_vt)
-            s4o.print(GET_LOCATED_BY_REF);
-          else
-            s4o.print(GET_VAR_BY_REF);
-          s4o.print("(");
-          generate_c_base_c::visit(symbol);
-        }
+        else if (vartype == search_var_instance_decl_c::located_vt)
+          s4o.print(GET_LOCATED_BY_REF);
+        else
+          s4o.print(GET_VAR_BY_REF);
+        s4o.print("(");
+        generate_c_base_c::visit(symbol);
         s4o.print(")");
         break;
       default:
-        if (vartype == search_var_instance_decl_c::external_vt)
-          symbol->var_name->accept(*this);
-        else
-          generate_c_base_c::visit(symbol);
+        generate_c_base_c::visit(symbol);
         break;
 	}
   }