diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2018-03-15 23:38:31 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2018-03-15 23:38:31 +0300 |
commit | b82af3a3ff6c185785555c60f52f9d69c049c192 (patch) | |
tree | 447a181756e2764eb64b766b4b2fe14d2fdc18ca /finalize.c | |
parent | d194e44fec13f92baefe66c2e2f14521627a9679 (diff) | |
download | bdwgc-b82af3a3ff6c185785555c60f52f9d69c049c192.tar.gz |
Fix 'scope of var can be reduced' cppcheck err in enqueue_all_finalizers
* finalize.c [!JAVA_FINALIZATION_NOT_NEEDED]
(GC_enqueue_all_finalizers): Declare curr_fo and real_ptr in the scopes
of their use.
Diffstat (limited to 'finalize.c')
-rw-r--r-- | finalize.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -1124,18 +1124,19 @@ GC_INNER void GC_finalize(void) /* Enqueue all remaining finalizers to be run - Assumes lock is held. */ STATIC void GC_enqueue_all_finalizers(void) { - struct finalizable_object * curr_fo, * next_fo; - ptr_t real_ptr; + struct finalizable_object * next_fo; int i; int fo_size; fo_size = log_fo_table_size == -1 ? 0 : 1 << log_fo_table_size; GC_bytes_finalized = 0; for (i = 0; i < fo_size; i++) { - curr_fo = GC_fnlz_roots.fo_head[i]; + struct finalizable_object * curr_fo = GC_fnlz_roots.fo_head[i]; + GC_fnlz_roots.fo_head[i] = NULL; while (curr_fo != NULL) { - real_ptr = (ptr_t)GC_REVEAL_POINTER(curr_fo->fo_hidden_base); + ptr_t real_ptr = (ptr_t)GC_REVEAL_POINTER(curr_fo->fo_hidden_base); + GC_MARK_FO(real_ptr, GC_normal_finalize_mark_proc); GC_set_mark_bit(real_ptr); |