profiling grades broken

Fergus Henderson fjh at cs.mu.oz.au
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();
	+
	+	MR_INIT_BUILTIN_BASE_TYPE_INFO(
	+		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?

Thanks,
	Fergus.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3         |     -- the last words of T. S. Garp.



More information about the developers mailing list