Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix gcc 4.6 warnings about clobbered variables with optimizations
authorChristophe Thiéry <christopho128@gmail.com>
Wed, 2 Nov 2011 14:17:12 +0000 (15:17 +0100)
committerChristophe Thiéry <christopho128@gmail.com>
Wed, 2 Nov 2011 14:17:12 +0000 (15:17 +0100)
src/gras/Msg/gras_msg_exchange.c
src/gras/Virtu/process.c

index bef7351..a992a81 100644 (file)
@@ -296,7 +296,7 @@ void gras_msg_handle(volatile double timeOut)
   double untiltimer;
 
   unsigned int cpt;
-  int volatile ran_ok;
+  volatile int ran_ok;
 
   s_gras_msg_t msg;
 
@@ -398,6 +398,7 @@ void gras_msg_handle(volatile double timeOut)
     ran_ok = 0;
     TRY {
       xbt_dynar_foreach(list->cbs, cpt, cb) {
+        volatile unsigned int cpt2 = cpt;
         if (!ran_ok) {
           XBT_DEBUG
               ("Use the callback #%d (@%p) for incomming msg '%s' (payload_size=%d)",
@@ -408,6 +409,7 @@ void gras_msg_handle(volatile double timeOut)
             ran_ok = 1;
           }
         }
+        cpt = cpt2;
       }
     }
     CATCH(e) {
index de2085b..c0cf02f 100644 (file)
@@ -124,7 +124,6 @@ void gras_procdata_init()
 
   unsigned int cursor;
 
-  xbt_ex_t e;
   xbt_set_elm_t elem;
 
   if (!pd->libdata) {
@@ -133,7 +132,6 @@ void gras_procdata_init()
   }
 
   xbt_dynar_foreach(_gras_procdata_fabrics, cursor, fab) {
-    volatile int found = 0;
 
     if (cursor + 1 <= xbt_set_length(pd->libdata)) {
       XBT_DEBUG("Skip fabric %d: there is already %ld libdata",
@@ -146,15 +144,8 @@ void gras_procdata_init()
     xbt_assert(fab.name, "Name of fabric #%d is NULL!", cursor);
     XBT_DEBUG("Create the procdata for %s", fab.name);
     /* Check for our own errors */
-    TRY {
-      xbt_set_get_by_name(pd->libdata, fab.name);
-      found = 1;
-    }
-    CATCH(e) {
-      xbt_ex_free(e);
-      found = 0;
-    }
-    if (found)
+
+    if (xbt_set_get_by_name_or_null(pd->libdata, fab.name) != NULL)
       THROWF(unknown_error, 0,
              "MayDay: two modules use '%s' as libdata name", fab.name);