[m-rev.] for review: fix mantis bug #43

Peter Wang novalazy at gmail.com
Wed Mar 5 15:14:30 AEDT 2008


On 2008-03-05, Julien Fischer <juliensf at csse.unimelb.edu.au> wrote:
>
> On Wed, 5 Mar 2008, Peter Wang wrote:
>
>> Branches: main
>>
>> Fix Mantis bug #43.  The compiler was aborting when making an `.opt' file when
>> `--intermod-unused-args' was enabled for the following test case.  The problem
>> was that polymorphism wasn't adding all type variables in typeclass
>> constraints into the procedure's type_info varmap.
>>
>> It also revealed a problem where we were writing out unused args pragmas for
>> type specialised procedures.  The compiler aborts when reading them back in,
>> as for other analyses.
>>
>> compiler/polymorphism.m:
>> 	In `record_constraint_type_info_locns', when working out which type
>> 	variables we haven't seen before, we only checked type variables which
>> 	appear directly in a constraint, e.g. `tc(T)'.  We also need to check
>> 	variables which appear in type constructors, e.g. `tc(tt(T))'.
...
>
> That looks fine.

I committed it, but then remembered I hadn't actually bootchecked it
with `--intermod-unused-args' (doesn't work, it turns out).  I have
reverted the change to polymorphism.m for now.

Peter

--------------------------------------------------------------------------
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