Estimated hours taken: 5
Remove support for term_to_type and type_to_term implemented as special
preds. Remove support for one-cell and one-or-two-cell type_infos (now
shared-one-or-two-cell type_infos). Move definitions that were in
mercury_builtin.m back to where they belong.
This code has been removed because it is no longer used, and was no
longer being maintained but was still quite complex.
tests/general/disj_disj.m:
tests/general/dnf.m:
tests/general/higher_order.m:
tests/general/nondet_disj.m:
tests/hard_coded/cc_nondet_disj.m:
tests/hard_coded/pragma_inline.m:
tests/invalid/funcs_as_preds.err_exp:
tests/misc_tests/mdemangle_test.exp:
tests/valid/agc_unbound_typevars.m:
tests/valid/middle_rec_labels.m:
tests/valid/subtype_switch.m:
tests/warnings/infinite_recursion.m:
Import module `list' or `term' (or both).
Estimated hours taken: 0.25
tests/pragma_c_code.m:
tests/pragma_inline.m:
Add `#include <stdio.h>', to avoid warnings now that it is
no longer included by "imp.h".
Estimated hours taken: 2.5
Fixed a bug in the C interface.
The names of C variables were indexed by the corresponding Mercury variable.
The problem arose when the same Mercury variable was passed in to a
C code in two separate arguments, as in string__append(X, X, Y).
If the procedure was inlined, excess assignments removed the assignment
introduced in make_hlds to put the clause into super-homogeneous form,
so a declaration for one C variable did not appear, and a declaration for
the other was repeated.
tests/hard_coded/pragma_inline.m
Add a regression test.
Estimated hours taken: 0.25
tests/hard_coded/pragma_inline.m:
Remove cast to (char *) which is now unnecessary,
and rename `String' variable to avoid name clash.
Estimated hours taken: 1
Made the testing of the C interface a little more robust, and added tests of
the pragma(inline, ...) declaration.
pragma_c_code.m:
Made the tests a little more rigorous.
pragma_c_code.exp:
Changed the expected results to reflect changes to the .m file.
pragma_inline.m:
Simple test of inlining:
pragma_inline.exp:
Expected results for the inlining test.