mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-20 11:54:02 +00:00
Estimated hours taken: 8
Bug fixes for higher_order.m and unused_args.m
NEWS
Removed the message about bugs in unused_args.m and higher_order.m
compiler/options.m
Re-enabled higher_order and unused_args.
compiler/unused_args.m
Fixed so that this now handles partially instantiated
deconstructions correctly.
compiler/higher_order.m
Two bug fixes:
Specialization of types for specialized versions of predicates.
Fixed handling of curried arguments.
compiler/inlining.m, compiler/type_util.m:
Moved inlining:apply_substitution_to_type_map and
inlining:apply_rec_substitution_to_type_map to type_util.m
for use in the higher_order.m bug fix.
library/varset.m
Added predicate varset__new_vars which returns a list of new
variables.
library/term.m
Added predicates term__apply_variable_renaming(_to_list)
to apply a variable renaming (map(var, var)) to a term
or list of terms.
library/map.m
Added map__det_insert_from_corresponding_lists to insert
multiple key-value pairs into a map.
tests/valid/{Mmake, higher_order2.m, higher_order3.m, unused_args_test2.m}
Tests for the bug fixes.
56 lines
1.2 KiB
Plaintext
56 lines
1.2 KiB
Plaintext
#-----------------------------------------------------------------------------#
|
|
|
|
main_target: all
|
|
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
include ../Mmake
|
|
|
|
#-----------------------------------------------------------------------------#
|
|
|
|
SOURCES= \
|
|
complicated_unify.m \
|
|
dcg_test.m \
|
|
det_condition.m \
|
|
det_inference.m \
|
|
det_switch.m \
|
|
easy_nondet_test.m \
|
|
easy_nondet_test_2.m \
|
|
error.m \
|
|
followcode_det_problem.m \
|
|
higher_order.m \
|
|
higher_order2.m\
|
|
higher_order3.m\
|
|
implied_mode.m \
|
|
indexing.m \
|
|
loop.m \
|
|
name_mangling.m \
|
|
nondet_live.m \
|
|
semidet_disj.m \
|
|
stack_alloc.m \
|
|
switches.m \
|
|
two_pragma_c_codes.m \
|
|
unreachable_code.m
|
|
|
|
# The mode system can't handle the following test cases yet:
|
|
# assoc_list.m
|
|
# determinism.m
|
|
# mode_merge_insts.m
|
|
# There is a bug which prevents us from passing this test case:
|
|
# same_length_2.m
|
|
# Bug in code_exprn.m stops this case from working:
|
|
# unused_args_test2.m
|
|
|
|
OBJS= $(SOURCES:%.m=%.o)
|
|
NOS = $(SOURCES:%.m=%.no)
|
|
PROGS = $(SOURCES:%.m=%)
|
|
|
|
all: objs
|
|
check: objs
|
|
objs: $(OBJS)
|
|
depend:
|
|
clean:
|
|
rm -f *.c *.o *.err2 *.d
|
|
|
|
#-----------------------------------------------------------------------------#
|