summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cas.c3
-rw-r--r--container_of.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/cas.c b/cas.c
index 910a56d..1f83ca5 100644
--- a/cas.c
+++ b/cas.c
@@ -67,16 +67,19 @@ static inline unsigned int cas( volatile split_t *mem,
int test_compare_and_swap () {
pointer_t mem, old, new;
+ new.concat = old.concat = 0;
return compare_and_swap(&mem.concat, old.concat, new.concat);
}
int test_cas () {
pointer_t mem, old, new;
+ new.concat = old.concat = 0;
return cas(&mem.split, old.split, new.split);
}
void check_assign_a() {
pointer_t a, b;
+ b.concat = 0;
a.concat = b.concat;
}
diff --git a/container_of.c b/container_of.c
index f67b644..d3f9e25 100644
--- a/container_of.c
+++ b/container_of.c
@@ -29,7 +29,7 @@
#include "stdlib.h"
#include "stddef.h"
-#define container_of(ptr, type, member) ({ \
+#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})