Files
mercury/tests/general/space.exp
Fergus Henderson 611639c74a Fix a bug introduced by Zoltan's changes to delay flushing
Estimated hours taken: 12

compiler/dense_switch.m:
	Fix a bug introduced by Zoltan's changes to delay flushing
	of variables needed on backtracking.
	The bug was that it was the final code_info after a nondet
	dense_switch had not unset the top failure continuation.
	This caused the code generator to generate incorrect C code for
	the code following the dense switch: the generated C code
	clobbered the topmost redoip, rather than using a new temp frame.
	The fix was to ensure that we use the code_info from the
	end of one of the switch branches (for which we will have called
	code_info__unset_failure_cont from code_info__branch_end)
	rather than using the initial code_info and just resetting
	the live variables.

compiler/code_gen.m:
compiler/code_info.m:
compiler/disj_info.m:
compiler/ite_gen.m:
	Various minor improvements to the comments.

tests/general/space.m:
	Regression test for the above-mentioned bug.
1997-05-20 04:10:05 +00:00

31 lines
281 B
Plaintext

a2 d3 f3
a2 c3 e3
f2 a#2 d3
e2 g2 c3
f2 a2 d3
a2 c3 e3
a2 d3 f3
a2 c3 e3
g#2 c3 f3
c3 e3 g3
c3 f3 a3
d3 g3 a#3
c3 f3 a3
d3 g3 a#3
e3 g3 c4
d3 f3 a#3
c3 e3 a3
d3 f3 a#3
e3 a3 c4
f3 a#3 d4
e3 a3 c4
f3 a#3 d4
e3 g3 c4
d3 f3 a#3
c3 f3 a3
a#2 d3 g3
a2 c3 f3
g2 c3 e3
g2 a#2 d3
f2 a2 c3