[m-rev.] for review: use ordinary_despite_detism

Fergus Henderson fjh at cs.mu.OZ.AU
Mon Aug 2 18:17:14 AEST 2004


For review by Zoltan.

library/exception.m:
	Add "ordinary_despite_detism" annotations to the C# and Java
	versions of the multi/nondet modes of catch_impl.
	This is needed to avoid compilation errors in Java/IL grades.

configure.in:
	Check that the bootstrap compiler supports "ordinary_despite_detism",
	since it is used in library/exception.m.

Workspace: /home/jupiter/fjh/ws-jupiter/mercury
Index: configure.in
===================================================================
RCS file: /home/mercury1/repository/mercury/configure.in,v
retrieving revision 1.399
diff -u -d -r1.399 configure.in
--- configure.in	21 Jul 2004 16:48:21 -0000	1.399
+++ configure.in	2 Aug 2004 01:53:20 -0000
@@ -213,7 +213,8 @@
 			[[can_pass_as_mercury_type, stable]]).
 
 		:- pragma foreign_proc("C", return_rtti_version(Version::out),
-			[[may_call_mercury, promise_pure, terminates]], "
+			[[may_call_mercury, promise_pure, terminates,
+			  ordinary_despite_detism]], "
 			Version = MR_RTTI_VERSION;
 		").
 EOF
Index: library/exception.m
===================================================================
RCS file: /home/mercury1/repository/mercury/library/exception.m,v
retrieving revision 1.93
diff -u -d -r1.93 exception.m
--- library/exception.m	7 Jul 2004 07:11:05 -0000	1.93
+++ library/exception.m	2 Aug 2004 01:51:02 -0000
@@ -1289,7 +1289,7 @@
 
 :- pragma foreign_proc("C#",
 	catch_impl(_Pred::pred(out) is multi, _Handler::in(handler), _T::out),
-	[will_not_call_mercury, promise_pure],
+	[will_not_call_mercury, promise_pure, ordinary_despite_detism],
 	local_vars(""),
 	first_code(""),
 	retry_code(""),
@@ -1299,7 +1299,7 @@
 ).
 :- pragma foreign_proc("C#",
 	catch_impl(_Pred::pred(out) is nondet, _Handler::in(handler), _T::out),
-	[will_not_call_mercury, promise_pure],
+	[will_not_call_mercury, promise_pure, ordinary_despite_detism],
 	local_vars(""),
 	first_code(""),
 	retry_code(""),
@@ -1401,13 +1401,13 @@
 }").
 :- pragma foreign_proc("Java",
 	catch_impl(_Pred::pred(out) is multi, _Handler::in(handler), _T::out),
-	[will_not_call_mercury, promise_pure],
+	[will_not_call_mercury, promise_pure, ordinary_despite_detism],
 "
 	throw new java.lang.Error(""catch_impl not yet implemented"");
 ").
 :- pragma foreign_proc("Java",
 	catch_impl(_Pred::pred(out) is nondet, _Handler::in(handler), _T::out),
-	[will_not_call_mercury, promise_pure],
+	[will_not_call_mercury, promise_pure, ordinary_despite_detism],
 "
 	throw new java.lang.Error(""catch_impl not yet implemented"");
 ").

-- 
Fergus Henderson                    |  "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
--------------------------------------------------------------------------



More information about the reviews mailing list