save
[cdsspec-compiler.git] / benchmark / chase-lev-deque-bugfix / deque.h
index 6bb4698fee6480f95152f51e53bd8617c2176cdd..8a3e857a4de8b47c4133884625921c0658859f04 100644 (file)
@@ -47,11 +47,17 @@ typedef struct {
             }
         @DefineFunc:
             call_id_t get_id(void *wrapper) {
             }
         @DefineFunc:
             call_id_t get_id(void *wrapper) {
-                return ((tag_elem_t*) wrapper)->id;
+                               tag_elem_t *res = (tag_elem_t*) wrapper;
+                               if (res == NULL) {
+                                       //model_print("wrong id here\n");
+                                       return 0;
+                               }
+                return res->id;
             }
         @DefineFunc:
             int get_data(void *wrapper) {
             }
         @DefineFunc:
             int get_data(void *wrapper) {
-                return ((tag_elem_t*) wrapper)->data;
+                               tag_elem_t *res = (tag_elem_t*) wrapper;
+                return res->data;
             }
     @Happens_before:
         Push -> Steal
             }
     @Happens_before:
         Push -> Steal