Bug with external variable declaration fixed
authorlbessard
Wed, 14 Jan 2009 20:54:29 +0100
changeset 166 09004f402097
parent 165 83963465b773
child 167 ae423926bc84
Bug with external variable declaration fixed
stage4/generate_c/generate_var_list.cc
--- a/stage4/generate_c/generate_var_list.cc	Wed Jan 14 19:47:41 2009 +0100
+++ b/stage4/generate_c/generate_var_list.cc	Wed Jan 14 20:54:29 2009 +0100
@@ -106,8 +106,13 @@
     void update_var_type_symbol(symbol_c *symbol) {
       
       this->current_var_type_name = spec_init_sperator_c::get_spec(symbol);
-      if (this->current_var_type_name == NULL)
+      if (this->current_var_type_name == NULL) {
+        std::list<SYMBOL>::iterator pt;
+        for(pt = current_symbol_list.begin(); pt != current_symbol_list.end(); pt++) {
+          fprintf(stderr, "%s.", ((identifier_c*)(pt->symbol))->value);
+        }
         ERROR;
+      }
       
       this->current_var_type_symbol = search_fb_typedecl->get_decl(this->current_var_type_name);
       if (this->current_var_type_symbol != NULL)
@@ -347,7 +352,7 @@
       /* Start off by setting the current_var_type_symbol and
        * current_var_init_symbol private variables...
        */
-      update_var_type_symbol(symbol);
+      update_var_type_symbol(symbol->specification);
       
       /* now to produce the c equivalent... */
       if (this->current_var_type_category == variable_vtc)