diff --git a/rts/Interpreter.c b/rts/Interpreter.c index a2f0b5898e0b38720d90af2330133e6e22c081a0..a22e966ff3aba4a18c7c31f5fe44f4c4c316be4d 100644 --- a/rts/Interpreter.c +++ b/rts/Interpreter.c @@ -285,7 +285,7 @@ interpretBCO (Capability* cap) // that these entities are non-aliasable. register StgPtr Sp; // local state -- stack pointer register StgPtr SpLim; // local state -- stack lim pointer - register StgClosure *tagged_obj = 0, *obj; + register StgClosure *tagged_obj = 0, *obj = NULL; uint32_t n, m; LOAD_THREAD_STATE(); diff --git a/rts/sm/MarkWeak.c b/rts/sm/MarkWeak.c index 691e56af5f3c2e45ef7bcc6ab45b7d6b52bac468..9a077b3d146c4d1c63d24dcd807f209f58e39030 100644 --- a/rts/sm/MarkWeak.c +++ b/rts/sm/MarkWeak.c @@ -364,7 +364,7 @@ static void tidyThreadList (generation *gen) static void checkWeakPtrSanity(StgWeak *hd, StgWeak *tl) { StgWeak *w, *prev; - for (w = hd; w != NULL; prev = w, w = w->link) { + for (prev = NULL, w = hd; w != NULL; prev = w, w = w->link) { ASSERT(INFO_PTR_TO_STRUCT(UNTAG_CLOSURE((StgClosure*)w)->header.info)->type == WEAK || UNTAG_CLOSURE((StgClosure*)w)->header.info == &stg_DEAD_WEAK_info); checkClosure((StgClosure*)w);