[m-rev.] for review: fix mode-specific clauses bug
    Tyson Dowd 
    trd at cs.mu.OZ.AU
       
    Fri Aug 17 19:16:14 AEST 2001
    
    
  
On 17-Aug-2001, Simon Taylor <stayl at cs.mu.OZ.AU> wrote:
> 
> Estimated hours taken: 0.5
> Branches: main
> 
> compiler/hlds_out.m:
> 	When writing a mode-specific clause in a `.opt' file, get the modes
> 	of the procedure using proc_info_declared_argmodes rather than
> 	proc_info_argmodes. This is necessary because the test in
> 	make_hlds.m to work out whether a clause matches a mode declaration
> 	uses syntactic equality on the modes, but the modes returned by
> 	proc_info_argmodes may have been expanded by
> 	propagate_types_into_modes.
> 
> compiler/intermod.m:
> 	Tell hlds_out.m to use the declared modes when writing clauses.
> 
> tests/hard_coded/multimode.m:
> tests/hard_coded/multimode_main.exp:
> 	Test case.
> Index: compiler/intermod.m
> ===================================================================
> RCS file: /home/mercury1/repository/mercury/compiler/intermod.m,v
> retrieving revision 1.106
> diff -u -u -r1.106 intermod.m
> --- compiler/intermod.m	2001/08/12 08:13:09	1.106
> +++ compiler/intermod.m	2001/08/17 05:12:38
> @@ -1437,8 +1437,11 @@
>  	% where the added arguments for a DCG pred expression
>  	% are named the same as variables in the enclosing clause.
>  	{ AppendVarNums = yes },
> +	{ ForIntermod = yes },
> +	{ MaybeVarTypes = no },
>  	hlds_out__write_clause(1, ModuleInfo, PredId, VarSet, AppendVarNums,
> -		ClauseHeadVars, PredOrFunc, Clause, no).
> +		ClauseHeadVars, PredOrFunc, Clause, ForIntermod,
> +		MaybeVarTypes).
>  
>  intermod__write_clause(ModuleInfo, PredId, VarSet, _HeadVars,
>  		PredOrFunc, SymName, Clause) -->
I think the variable name "ForIntermod" is confusing, as
hlds_out__write_clause refers to this as "UseDeclaredModes".  It's
conceivable that in future this might cause confusion. 
Otherwise this change looks fine, and thanks very much for fixing it!
Tyson.
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
    
    
More information about the reviews
mailing list