summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fnlz_mlc.c1
-rw-r--r--include/gc_disclaim.h2
-rw-r--r--reclaim.c1
3 files changed, 2 insertions, 2 deletions
diff --git a/fnlz_mlc.c b/fnlz_mlc.c
index 989000ad..94b1c52f 100644
--- a/fnlz_mlc.c
+++ b/fnlz_mlc.c
@@ -87,7 +87,6 @@ GC_API void GC_CALL GC_register_disclaim_proc(int kind, GC_disclaim_proc proc,
int mark_unconditionally)
{
GC_ASSERT((unsigned)kind < MAXOBJKINDS);
- GC_ASSERT(NONNULL_ARG_NOT_NULL(proc));
if (!EXPECT(GC_find_leak, FALSE)) {
GC_obj_kinds[kind].ok_disclaim_proc = proc;
GC_obj_kinds[kind].ok_mark_unconditionally =
diff --git a/include/gc_disclaim.h b/include/gc_disclaim.h
index 6394b05e..785182b5 100644
--- a/include/gc_disclaim.h
+++ b/include/gc_disclaim.h
@@ -43,7 +43,7 @@ typedef int (GC_CALLBACK * GC_disclaim_proc)(void * /*obj*/);
/* No-op in the leak-finding mode. */
GC_API void GC_CALL GC_register_disclaim_proc(int /*kind*/,
GC_disclaim_proc /*proc*/,
- int /*mark_from_all*/) GC_ATTR_NONNULL(2);
+ int /*mark_from_all*/);
/* The finalizer closure used by GC_finalized_malloc. */
struct GC_finalizer_closure {
diff --git a/reclaim.c b/reclaim.c
index 70122877..18e2b235 100644
--- a/reclaim.c
+++ b/reclaim.c
@@ -249,6 +249,7 @@ STATIC ptr_t GC_reclaim_uninit(struct hblk *hbp, hdr *hhdr, word sz,
struct obj_kind *ok = &GC_obj_kinds[hhdr->hb_obj_kind];
int (GC_CALLBACK *disclaim)(void *) = ok->ok_disclaim_proc;
+ GC_ASSERT(disclaim != 0);
# ifndef THREADS
GC_ASSERT(sz == hhdr -> hb_sz);
# endif