[m-rev.] for review: fix assertion failure with promise_equivalent_solutions
Julien Fischer
juliensf at csse.unimelb.edu.au
Wed Jan 23 00:30:07 AEDT 2008
I have committed this one; I will address any review comments
separately.
Julien.
On Mon, 21 Jan 2008, Julien Fischer wrote:
>
> Hi, could someone please review this; I would like to commit it today.
>
> On Thu, 17 Jan 2008, Julien Fischer wrote:
>
>> Estimated hours taken: 1.5
>> Branches: main
>>
>> Fix bug #30. The determinism analysis run as part of partial deduction
>> was erroneously reporting that the head of a promise_equivalent_solutions
>> scope contained extra variables, i.e. non-locals that were not further
>> bound
>> or (potentially) constrained within the scope. This violated an assertion
>> that this run of determinism checking should
>> not produce any errors.
>>
>> The error was caused because some of the variables in the scope head that
>> prior to inlining had inst any, had become ground after inlining.
>> The fix is to ignore such extra variables in determinism analysis passes
>> that are invoked after inlining.
>>
>> compiler/det_util.m:
>> Add a field to the det_info structure that indicates whether or not
>> we
>> should report extra variables occurring in the head of a
>> promise_equivalent_solutions scope as an error.
>>
>> Define a new type to represent this.
>>
>> compiler/det_analysis.m:
>> Check the value of the above field before reporting the
>> presence of extra variables in a promise_equivalent_solutions scope.
>>
>> compiler/pd_util.m:
>> compiler/det_report.m:
>> compiler/simplify.m:
>> Set the value of the det_info di_pess_extra_vars field as necessary.
>>
>> tests/valid/Mercury.options:
>> tests/valid/Mmakefile:
>> tests/valid/equiv_solns_ia.m:
>> Regression test for the above.
>>
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to: mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions: mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------
More information about the reviews
mailing list