[m-rev.] diff: clean up stuff related to cc_multi_equal/2

Julien Fischer juliensf at csse.unimelb.edu.au
Tue Jul 5 12:37:39 AEST 2011


Branches: main, 11.07

library/builtin.m:
 	Use a promise_equivalent_clauses pragma in places of a promise_pure
 	pragma.

 	Delete the redundant Mercury clause for cc_multi_equal/2.  Foreign
 	clauses exist for all backends, so it will never be used.

Julien.

Index: library/builtin.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/library/builtin.m,v
retrieving revision 1.149
diff -u -r1.149 builtin.m
--- library/builtin.m	6 Dec 2010 03:37:25 -0000	1.149
+++ library/builtin.m	5 Jul 2011 02:34:21 -0000
@@ -1183,6 +1183,8 @@
  % NOTE: cc_multi_equal/2 is handled specially in browser/declarative_tree.m.
  % Any changes here may need to be reflected there.

+:- pragma promise_equivalent_clauses(cc_multi_equal/2).
+
  :- pragma foreign_proc("C",
      cc_multi_equal(X::in, Y::out),
      [will_not_call_mercury, thread_safe, promise_pure,
@@ -1237,10 +1239,6 @@
      Y = X
  ").

-:- pragma promise_pure(cc_multi_equal/2).
-
-cc_multi_equal(X, X).
-
  %-----------------------------------------------------------------------------%

  impure_true :-

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