[m-dev.] for review: RTTI version numbers.

Zoltan Somogyi zs at cs.mu.OZ.AU
Tue Oct 19 15:39:52 AEST 1999


> +	% runtime/mercury_type_info.h.  This means you need to update
> +	% the handwritten type_ctor_info structures and the code in the
> +	% runtime that uses RTTI to conform to whatever changes the new
> +	% version introduces.

There is such code in the library as well.

In fact, it would be a good idea if we had a central list of the source files
that depend on the details of the RTTI system. The logical place to put this
list would be in runtime/mercury_type_info.h.

> --- builtin.m	1999/10/13 07:01:28	1.22
> +++ builtin.m	1999/10/18 08:17:33

This is why the central list would help: I think you missed library/array.m.

I think it would a good idea if all the types basic to the Mercury system
had their type_ctor_infos in one place (this does not include the
type_ctor_infos array.m or std_util.m). At present they are scattered in
several modules, in both the library and the runtime. That can be another
change, though.

> +#define MR_RTTI_VERSION 		MR_RTTI_VERSION__INITIAL
> +#define MR_RTTI_VERSION__INITIAL 	2

What is the purpose of the __INITIAL macro? Does anything refer to it
other than MR_RTTI_VERSION? If not, it should be deleted.

>  	MR_TypeCtorLayout		type_ctor_layout;
>  	String				type_ctor_module_name;
>  	String				type_ctor_name;
> +	Integer				version;
>  };

The field name should be type_ctor_version.

Zoltan.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list