[m-rev.] for review: improve procname mangling for .NET backend.
Tyson Dowd
trd at cs.mu.OZ.AU
Sun May 13 19:52:36 AEST 2001
Sorry about this, I think I made a few last minute changes to that code
and didn't realize that it needed to be bootstrapped again.
Thanks for fixing it.
On 11-May-2001, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> This change broke the MLDS back-end: the test for main/2 is not working
> anymore, so it gets link errors when compiling hello world or anything
> else. I have a fix for it below.
>
> On 11-May-2001, Tyson Dowd <trd at cs.mu.OZ.AU> wrote:
> > --- zzlog.mangling4 Wed May 9 23:22:36 2001
> > +++ zzlog.mangling5 Thu May 10 21:30:57 2001
> > @@ -11,7 +11,11 @@
> > compiler/mlds_to_c.m:
> > compiler/mlds_to_java.m:
> > Add the code_model and a boolean indicating whether this
> > - function has a non-default (in, in, in, out) mode to the proc_label.
> > + function (if it is a function) *doesn't* have a return value
> > + (i.e. it has a non-default mode).
> ...
> > @@ -1247,26 +1279,22 @@
> > ),
> > (
> > PredOrFunc = function,
> > - not (default_func_arg_modes(ArgModes))
> > + ml_is_output_det_function(ModuleInfo, PredId,
> > + ProcId, _)
> > ->
> > - NonDefaultModeFunc = yes
> > + NonOutputFunc = no
> > ;
> > - NonDefaultModeFunc = no
> > + NonOutputFunc = yes
> > ),
>
> I think that is wrong; at any rate, it is not
> consistent with the comment:
>
> > +++ compiler/mlds.m
> > @@ -1377,7 +1377,8 @@
> > string, % name
> > arity, % arity
> > code_model, % code model
> > - bool % non-default mode function
> > + bool % function without return value
> > + % (i.e. non-default mode)
> > )
>
> The code above sets the bool to `yes' for predicates, but the comments implies
> that for predicates it should be set to `no'.
>
> The following patch should fix it. I'm going to test it a bit
> and if it passes, I'll go ahead and commit it.
>
> ----------
>
> Estimated hours taken: 0.5
> Branches: main
>
> compiler/ml_code_util.m:
> Fix a bug in trd's previous change: it was not setting the "function
> without return value" field correctly for predicates.
>
> Index: ml_code_util.m
> ===================================================================
> RCS file: /home/staff/zs/imp/mercury/compiler/ml_code_util.m,v
> retrieving revision 1.35
> diff -u -d -r1.35 ml_code_util.m
> --- ml_code_util.m 2001/05/10 15:07:56 1.35
> +++ ml_code_util.m 2001/05/11 04:09:57
> @@ -1279,12 +1279,12 @@
> ),
> (
> PredOrFunc = function,
> - ml_is_output_det_function(ModuleInfo, PredId,
> + \+ ml_is_output_det_function(ModuleInfo, PredId,
> ProcId, _)
> ->
> - NonOutputFunc = no
> - ;
> NonOutputFunc = yes
> + ;
> + NonOutputFunc = no
> ),
> MLDS_PredLabel = pred(PredOrFunc, MaybeDeclaringModule,
> PredName, PredArity, CodeModel,
> --
> Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
> | of excellence is a lethal habit"
> WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.
> --------------------------------------------------------------------------
> 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
> --------------------------------------------------------------------------
--
Tyson Dowd #
# Surreal humour isn't everyone's cup of fur.
trd at cs.mu.oz.au #
http://www.cs.mu.oz.au/~trd #
--------------------------------------------------------------------------
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