[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