Commit Graph

2 Commits

Author SHA1 Message Date
Zoltan Somogyi
fdd141bf77 Clean up the tests in the other test directories.
tests/invalid/*.{m,err_exp}:
tests/misc_tests/*.m:
tests/mmc_make/*.m:
tests/par_conj/*.m:
tests/purity/*.m:
tests/stm/*.m:
tests/string_format/*.m:
tests/structure_reuse/*.m:
tests/submodules/*.m:
tests/tabling/*.m:
tests/term/*.m:
tests/trailing/*.m:
tests/typeclasses/*.m:
tests/valid/*.m:
tests/warnings/*.{m,exp}:
    Make these tests use four-space indentation, and ensure that
    each module is imported on its own line. (I intend to use the latter
    to figure out which subdirectories' tests can be executed in parallel.)

    These changes usually move code to different lines. For the tests
    that check compiler error messages, expect the new line numbers.

browser/cterm.m:
browser/tree234_cc.m:
    Import only one module per line.

tests/hard_coded/boyer.m:
    Fix something I missed.
2015-02-16 12:32:18 +11:00
Zoltan Somogyi
e747987afb Fix Mantis bug #109.
Estimated hours taken: 3
Branches: main

Fix Mantis bug #109.

compiler/add_heap_ops.m:
	Fix the bug. The bug was that this pass tried to record the heap
	pointer at the start of the nth disjunct, even in cases where
	there were no following disjuncts at whose starts that saved
	heap pointer could be restored (to recover the memory allocated
	by the nth disjunct). The symptom was a disjunction with only
	one disjunct, but the problem was a simple semantic one. The fix
	is simply to say that we won't record the heap pointer before the nth
	disjunct unless disjunct n+1 exists.

	Improve the generated HLDS in another way as well: wrap the appropriate
	kind of promise_purity scope around the transformed code (which uses
	impure primitives).

tests/valid/bug109.m:
	Add the regression test for this bug.

tests/valid/Mmakefile:
tests/valid/Mercury.options:
	Enable the test case.
2010-09-14 02:22:56 +00:00