mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 01:13:30 +00:00
compiler/simplify_goal_conj.m:
Add conditionally-enabled code that can help debug problems with the code
that merges two successive switches on the same variable.
When doing such merges, do not insist on every cons_id that as an arm
in the second switch also having an arm in the first switch.
Document how situations can come about in which such insistence
would be wrong.
This fixes Mantis bug #570. The rest of the diff to the compiler directory
build the debugging infrastructure that lead to tracking down the bug.
compiler/simplify_info.m:
Include the progress stream in the simplify_info, for use by debugging code
such as what this diff adds to simplify_goal_conj.m.
Fix documentation rot.
compiler/simplify_proc.m:
Give the progress stream to simplify_info.m.
Make the argument order of some predicates match our guidelines.
compiler/mercury_compile_front_end.m:
compiler/mercury_compile_llds_back_end.m:
compiler/pd_util.m:
compiler/size_prof.m:
compiler/stack_opt.m:
compiler/structure_sharing.analysis.m:
Conform to the changes above.
compiler/pd_debug.m:
Put the parts of some debugging code into meaningful groups.
tests/hard_coded/bug570.{m,exp}:
tests/hard_coded/bug570_can_fail.{m,exp}:
Two variants of the Mantis bug's test case. Both are needed for the
explanation in simplify_goal_conj.m.
tests/hard_coded/Mercury.options:
tests/hard_coded/Mmakefile:
Enable the new test cases.
4 lines
159 B
Plaintext
4 lines
159 B
Plaintext
header(field_name("Subject"), header_value("value"))
|
|
header(field_name("Message-ID"), header_value("value"))
|
|
header(field_name("Date"), header_value("value"))
|