[Gc] Possible problem in `GC_is_valid_displacement'?

Emmanuel Stapf [ES] manus@eiffel.com
Sat, 10 May 2003 19:41:25 -0700


Hi,

I've been using `GC_is_valid_displacement' and found that the following code fails
on Win32 with 6.1 and GC_WIN32_THREADS and of course ALL_INTERIOR_POINTERs
disabled.

{
	char * toto = NULL;
	GC_register_displacement(8);
	toto = GC_malloc (1248);
	GC_is_valid_displacement(toto);
	GC_is_valid_displacement(toto + 8);
}

It fails on both call to `GC_is_valid_displacement'. The bizarre thing is that it
does not do it on all blocks, but it does it when I allocate 1248 bytes.

Although the test fails, commenting it out and my application just works fine.

Regards,
Manu