Files
mercury/tests/hard_coded/equality_pred_which_requires_boxing.exp
Peter Ross b0dccf76c4 The comparison and unification function pointers stored in the
Estimated hours taken: 8
Branches: main

The comparison and unification function pointers stored in the
type_ctor_info must be pointers to functions where all the arguments
are boxed.  This wasn't occuring on the IL backend for types which
are value types.

il_compiler/compiler/rtti_to_mlds.m:
	Call ml_gen_closure_wrapper to construct a version of the
	comparison and unification functions where the arguments are
	boxed.  The wrapper function simply unboxes the arguments and
	calls the actual special pred.

il_compiler/compiler/ml_closure_gen.m:
	Adapt ml_gen_closure_wrapper so that it can generate a wrapper
	function for special preds.

tests/hard_coded/Mmakefile:
tests/hard_coded/equality_pred_which_requires_boxing.exp:
tests/hard_coded/equality_pred_which_requires_boxing.m:
	Add a test case for this bug.
2003-12-01 22:31:36 +00:00

7 lines
160 B
Plaintext

float (boxed): true
float (unboxed): true
foreign_type (boxed): true
foreign_type (unboxed): true
foreign_type(T) (boxed): true
foreign_type(T) (unboxed): true