[m-rev.] for review: add maybe_thread_safe attribute
Julien Fischer
juliensf at cs.mu.OZ.AU
Thu Feb 24 14:34:38 AEDT 2005
On Thu, 24 Feb 2005, Ian MacLarty wrote:
> On Mon, Feb 21, 2005 at 05:29:05PM +1100, Julien Fischer wrote:
> >
> > compiler/make_hlds.m:
> > Convert a any `maybe_thread_safe' attributes into `thread_safe'
>
> Should that `a' be there?
>
No. I've removed it.
> > Index: compiler/globals.m
> > ===================================================================
> > RCS file: /home/mercury1/repository/mercury/compiler/globals.m,v
> > retrieving revision 1.64
> > diff -u -r1.64 globals.m
> > --- compiler/globals.m 27 Jan 2005 03:38:06 -0000 1.64
> > +++ compiler/globals.m 19 Feb 2005 17:00:57 -0000
> > @@ -100,11 +100,15 @@
> > % Map from module name to file name.
> > :- type source_file_map == map(module_name, string).
> >
> > +:- type maybe_thread_safe == bool.
> > +
> > :- pred convert_target(string::in, compilation_target::out) is semidet.
> > :- pred convert_foreign_language(string::in, foreign_language::out) is semidet.
> > :- pred convert_gc_method(string::in, gc_method::out) is semidet.
> > :- pred convert_tags_method(string::in, tags_method::out) is semidet.
> > :- pred convert_termination_norm(string::in, termination_norm::out) is semidet.
> > +:- pred convert_maybe_thread_safe(string::in, maybe_thread_safe::out)
> > + is semidet.
> >
>
> This new predicate doesn't appear to be used anywhere in this diff.
>
> > Index: compiler/handle_options.m
> > ===================================================================
> > @@ -263,6 +264,16 @@
> > add_error("Invalid argument to option `--suppress-trace'.",
> > !Errors)
> > ),
> > + map__lookup(OptionTable0, maybe_thread_safe, MaybeThreadSafeOption),
> > + ( MaybeThreadSafeOption = string("yes") ->
> > + MaybeThreadSafe = yes
> > + ; MaybeThreadSafeOption = string("no") ->
> > + MaybeThreadSafe = no
>
> Perhaps you should use convert_maybe_thread_safe here?
>
Yes, that was the intention but I accidently ended up writing
the thing inlining anyway. I've fixed it now.
> > + ;
> > + MaybeThreadSafe = no, % dummy
> > + add_error("Invalid argument to option `--maybe-thread-safe'.",
> > + !Errors)
> > + ),
>
> > Index: doc/user_guide.texi
> > ===================================================================
> > RCS file: /home/mercury1/repository/mercury/doc/user_guide.texi,v
> > retrieving revision 1.421
> > diff -u -r1.421 user_guide.texi
> > --- doc/user_guide.texi 18 Feb 2005 04:05:33 -0000 1.421
> > +++ doc/user_guide.texi 21 Feb 2005 06:24:57 -0000
> > @@ -6256,6 +6256,16 @@
> > or for backtrackable destructive update.
> > This option is not yet supported for the IL or Java back-ends.
> >
> > + at sp 1
> > + at item @code{--maybe-thread-safe @{yes, no@}}
> > + at findex --maybe-thread-safe
> > +Specify how to treate the @samp{maybe_thread_safe} foreign code
> > +attribute. @samp{yes} means that a foreign procedure with the
> > + at samp{maybe_thread_safe} option is treated as thought is has a
>
> s/thought/though/
>
Fixed.
Cheers,
Julien.
--------------------------------------------------------------------------
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