stage4/generate_c/generate_c.cc
changeset 237 cece842c7417
parent 234 e4d31cd0e6d8
child 241 0ba6d614573e
equal deleted inserted replaced
236:c55b02ca2342 237:cece842c7417
   329 
   329 
   330     unsigned long get_greatest_tick_count(void) {
   330     unsigned long get_greatest_tick_count(void) {
   331       unsigned long long least_common_tick = least_common_ticktime / common_ticktime;
   331       unsigned long long least_common_tick = least_common_ticktime / common_ticktime;
   332       if (least_common_tick >> 32)
   332       if (least_common_tick >> 32)
   333         ERROR;
   333         ERROR;
   334       return (unsigned long)(~(((unsigned long)-2) % (unsigned long)least_common_tick) + 1);
   334       return (unsigned long)(~(((unsigned long)-1) % (unsigned long)least_common_tick) + 1);
   335     }
   335     }
   336 
   336 
   337 /*  TASK task_name task_initialization */
   337 /*  TASK task_name task_initialization */
   338 //SYM_REF2(task_configuration_c, task_name, task_initialization)  
   338 //SYM_REF2(task_configuration_c, task_name, task_initialization)  
   339     void *visit(task_initialization_c *symbol) {
   339     void *visit(task_initialization_c *symbol) {
  1292       /* (A.1) resource name in comment */
  1292       /* (A.1) resource name in comment */
  1293       s4o.print("// RESOURCE ");
  1293       s4o.print("// RESOURCE ");
  1294       current_resource_name->accept(*this);
  1294       current_resource_name->accept(*this);
  1295       s4o.print("\n\n");
  1295       s4o.print("\n\n");
  1296       
  1296       
  1297       s4o.print("extern int common_ticktime__;\n\n");
  1297       s4o.print("extern unsigned long long common_ticktime__;\n\n");
  1298 
  1298 
  1299       s4o.print("#include \"accessor.h\"\n\n");
  1299       s4o.print("#include \"accessor.h\"\n\n");
  1300 
  1300 
  1301       /* (A.2) Global variables... */
  1301       /* (A.2) Global variables... */
  1302       if (current_global_vars != NULL) {
  1302       if (current_global_vars != NULL) {
  1650     symbol_c *current_configuration;
  1650     symbol_c *current_configuration;
  1651 
  1651 
  1652     const char *current_name;
  1652     const char *current_name;
  1653     const char *current_builddir;
  1653     const char *current_builddir;
  1654 
  1654 
  1655     unsigned long common_ticktime;
  1655     unsigned long long common_ticktime;
  1656 
  1656 
  1657   public:
  1657   public:
  1658     generate_c_c(stage4out_c *s4o_ptr, const char *builddir): 
  1658     generate_c_c(stage4out_c *s4o_ptr, const char *builddir): 
  1659             s4o(*s4o_ptr),
  1659             s4o(*s4o_ptr),
  1660             pous_s4o(builddir, "POUS", "c"),
  1660             pous_s4o(builddir, "POUS", "c"),