stage4/generate_c/generate_c_sfcdecl.cc
changeset 897 8c3e91c385f5
parent 885 b2604fc6d25c
child 920 4369ce5e687f
--- a/stage4/generate_c/generate_c_sfcdecl.cc	Sat May 31 12:49:43 2014 +0100
+++ b/stage4/generate_c/generate_c_sfcdecl.cc	Sat May 31 16:22:57 2014 +0100
@@ -252,11 +252,17 @@
           print_variable_prefix();
           s4o.print(",__step_list[");
           s4o.print(step_number);
-          s4o.print("].state,,1);\n");
+          s4o.print("].X,,1);\n");
           step_number++;
           break;
         case stepdef_sd:
           s4o.print("#define ");
+          symbol->step_name->accept(*this);
+          s4o.print(" __step_list[");
+          s4o.print(step_number);
+          s4o.print("]\n");
+
+          s4o.print("#define ");
           s4o.print(SFC_STEP_ACTION_PREFIX);
           symbol->step_name->accept(*this);
           s4o.print(" ");
@@ -266,6 +272,10 @@
           break;
         case stepundef_sd:
           s4o.print("#undef ");
+          symbol->step_name->accept(*this);
+          s4o.print("\n");
+
+          s4o.print("#undef ");
           s4o.print(SFC_STEP_ACTION_PREFIX);
           symbol->step_name->accept(*this);
           s4o.print("\n");
@@ -289,6 +299,12 @@
           break;
         case stepdef_sd:
           s4o.print("#define ");
+          symbol->step_name->accept(*this);
+          s4o.print(" __step_list[");
+          s4o.print(step_number);
+          s4o.print("]\n");
+
+          s4o.print("#define ");
           s4o.print(SFC_STEP_ACTION_PREFIX);
           symbol->step_name->accept(*this);
           s4o.print(" ");
@@ -298,6 +314,10 @@
           break;
         case stepundef_sd:
           s4o.print("#undef ");
+          symbol->step_name->accept(*this);
+          s4o.print("\n");
+
+          s4o.print("#undef ");
           s4o.print(SFC_STEP_ACTION_PREFIX);
           symbol->step_name->accept(*this);
           s4o.print("\n");