profiling grades broken

Fergus Henderson fjh at
Sun Feb 16 22:52:37 AEDT 1997

Hi Tyson,

Your recent changes to mercury_builtin.m,
specifically the following part, broken all the
profiling grades.

	+void sys_init_builtin_types_module(void) {
	+	extern ModuleFunc builtin_types_module;
	+	extern ModuleFunc mercury__mercury_builtin__init;
	+	builtin_types_module();
	+	/* 
	+	** We had better call this init() because we use the
	+	** labels for the special preds of int, float, pred, 
	+	** character and string. If they aren't initialized,
	+	** we might initialize the base_type_info with
	+	** garbage
	+	*/
	+	mercury__mercury_builtin__init();
	+		mercury_data___base_type_info_int_0, _int_);

The problem is that mercury__mercury_builtin__init() ends up
being called twice, and this causes a number of complaints about
duplicate labels from runtime/label.c.

Can you please fix this?


Fergus Henderson <fjh at>   |  "I have always known that the pursuit
WWW: <>   |  of excellence is a lethal habit"
PGP: finger fjh at         |     -- the last words of T. S. Garp.

More information about the developers mailing list