Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use homogeneous dictionaries whenever possible.
[simgrid.git] / src / gras / DataDesc / ddt_parse.c
index 2966cce5d26f86d95e3febb0eb3cd28e7d869844..77f5d661c5975a02511c6c6aab803d08dd144b2f 100644 (file)
@@ -240,7 +240,7 @@ static void parse_statement(char *definition,
   gras_ddt_parse_tok_num = gras_ddt_parse_lex_n_dump();
   if (gras_ddt_parse_tok_num == GRAS_DDT_PARSE_TOKEN_RA) {
     XBT_OUT();
-    THROW0(mismatch_error, 0, "End of the englobing structure or union");
+    THROWF(mismatch_error, 0, "End of the englobing structure or union");
   }
 
   if (XBT_LOG_ISENABLED(gras_ddt_parse, xbt_log_priority_debug)) {
@@ -614,7 +614,7 @@ static gras_datadesc_type_t parse_struct(char *definition)
   xbt_dynar_t fields_to_push;
   char *name;
 
-  gras_datadesc_type_t struct_type;
+  volatile gras_datadesc_type_t struct_type;
 
   XBT_IN("");
   identifiers = xbt_dynar_new(sizeof(s_identifier_t), NULL);
@@ -704,7 +704,6 @@ static gras_datadesc_type_t parse_typedef(char *definition)
 
   s_type_modifier_t tm;
 
-  gras_datadesc_type_t struct_desc = NULL;
   gras_datadesc_type_t typedef_desc = NULL;
 
   XBT_IN("");
@@ -714,7 +713,7 @@ static gras_datadesc_type_t parse_typedef(char *definition)
   parse_type_modifier(&tm);
 
   if (tm.is_struct) {
-    struct_desc = parse_struct(definition);
+     parse_struct(definition);
   }
 
   parse_type_modifier(&tm);
@@ -812,5 +811,5 @@ void gras_datadesc_set_const(const char *name, int value)
   int *stored = xbt_new(int, 1);
   *stored = value;
 
-  xbt_dict_set(gras_dd_constants, name, stored, xbt_free_f);
+  xbt_dict_set(gras_dd_constants, name, stored, NULL);
 }