mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-14 21:35:49 +00:00
Back out Pete's unreviewed change from yesterday.
Estimated hours taken: 0.2 Branches: main library/*.m Back out Pete's unreviewed change from yesterday. It doesn't compile without a recent bug fix, but no CVS tag was added.
This commit is contained in:
@@ -725,9 +725,6 @@ array__compare_elements(N, Size, Array1, Array2, Result) :-
|
||||
#endif
|
||||
").
|
||||
|
||||
bounds_checks :-
|
||||
private_builtin__sorry("array__bounds_checks").
|
||||
|
||||
%-----------------------------------------------------------------------------%
|
||||
|
||||
:- pragma foreign_decl("C", "
|
||||
@@ -789,15 +786,15 @@ array__init(Size, Item, Array) :-
|
||||
}
|
||||
").
|
||||
|
||||
array__init_2(_, _, _) :-
|
||||
private_builtin__sorry("array__init_2").
|
||||
:- pragma foreign_proc("C#",
|
||||
array__make_empty_array(_Array::array_uo),
|
||||
[will_not_call_mercury, promise_pure, thread_safe], "
|
||||
mercury.runtime.Errors.SORRY(""foreign code for this predicate"");
|
||||
").
|
||||
|
||||
array__make_empty_array(_) :-
|
||||
private_builtin__sorry("array__make_empty_array").
|
||||
|
||||
%-----------------------------------------------------------------------------%
|
||||
|
||||
:- pragma promise_pure(array__min/2).
|
||||
:- pragma foreign_proc("C",
|
||||
array__min(Array::array_ui, Min::out),
|
||||
[will_not_call_mercury, promise_pure, thread_safe], "
|
||||
@@ -824,10 +821,6 @@ array__make_empty_array(_) :-
|
||||
Min = 0;
|
||||
").
|
||||
|
||||
array__min(_, _) :-
|
||||
private_builtin__sorry("array__min").
|
||||
|
||||
:- pragma promise_pure(array__max/2).
|
||||
:- pragma foreign_proc("C",
|
||||
array__max(Array::array_ui, Max::out),
|
||||
[will_not_call_mercury, promise_pure, thread_safe], "
|
||||
@@ -849,8 +842,6 @@ array__min(_, _) :-
|
||||
Max = Array.Length - 1;
|
||||
").
|
||||
|
||||
array__max(_, _) :-
|
||||
private_builtin__sorry("array__max").
|
||||
|
||||
array__bounds(Array, Min, Max) :-
|
||||
array__min(Array, Min),
|
||||
@@ -858,7 +849,6 @@ array__bounds(Array, Min, Max) :-
|
||||
|
||||
%-----------------------------------------------------------------------------%
|
||||
|
||||
:- pragma promise_pure(array__size/2).
|
||||
:- pragma foreign_proc("C",
|
||||
array__size(Array::array_ui, Max::out),
|
||||
[will_not_call_mercury, promise_pure, thread_safe], "
|
||||
@@ -881,8 +871,6 @@ array__bounds(Array, Min, Max) :-
|
||||
Max = Array.Length;
|
||||
").
|
||||
|
||||
array__size(_, _) :-
|
||||
private_builtin__sorry("array__size").
|
||||
|
||||
%-----------------------------------------------------------------------------%
|
||||
|
||||
@@ -918,7 +906,6 @@ array__lookup(Array, Index, Item) :-
|
||||
:- pred array__unsafe_lookup(array(T), int, T).
|
||||
:- mode array__unsafe_lookup(array_ui, in, out) is det.
|
||||
:- mode array__unsafe_lookup(in, in, out) is det.
|
||||
:- pragma promise_pure(array__unsafe_lookup/3).
|
||||
|
||||
:- pragma foreign_proc("C",
|
||||
array__unsafe_lookup(Array::array_ui, Index::in, Item::out),
|
||||
@@ -944,8 +931,6 @@ array__lookup(Array, Index, Item) :-
|
||||
Item = Array.GetValue(Index);
|
||||
}").
|
||||
|
||||
array__unsafe_lookup(_, _, _) :-
|
||||
private_builtin__sorry("array__unsafe_lookup").
|
||||
|
||||
%-----------------------------------------------------------------------------%
|
||||
|
||||
@@ -976,8 +961,6 @@ array__set(Array0, Index, Item, Array) :-
|
||||
Array = Array0;
|
||||
}").
|
||||
|
||||
array__unsafe_set(_, _, _, _) :-
|
||||
private_builtin__sorry("array__unsafe_set").
|
||||
|
||||
%-----------------------------------------------------------------------------%
|
||||
|
||||
@@ -1056,8 +1039,6 @@ ML_resize_array(MR_ArrayType *array, MR_ArrayType *old_array,
|
||||
}
|
||||
").
|
||||
|
||||
array__resize(_, _, _, _) :-
|
||||
private_builtin__sorry("array__resize").
|
||||
|
||||
%-----------------------------------------------------------------------------%
|
||||
|
||||
@@ -1122,8 +1103,6 @@ array__shrink(Array0, Size, Array) :-
|
||||
System.Array.Copy(Array0, Array, Size);
|
||||
").
|
||||
|
||||
array__shrink_2(_, _, _) :-
|
||||
private_builtin__sorry("array__shrink_2").
|
||||
|
||||
%-----------------------------------------------------------------------------%
|
||||
|
||||
@@ -1183,9 +1162,13 @@ ML_copy_array(MR_ArrayType *array, const MR_ArrayType *old_array)
|
||||
System.Array.Copy(Array0, Array, Array0.Length);
|
||||
").
|
||||
|
||||
:- pragma promise_pure(array__copy/2).
|
||||
array__copy(_, _) :-
|
||||
private_builtin__sorry("array__copy").
|
||||
:- pragma foreign_proc("C#",
|
||||
array__copy(Array0::in, Array::array_uo),
|
||||
[will_not_call_mercury, promise_pure, thread_safe], "
|
||||
mercury.runtime.Errors.SORRY(""foreign code for this function"");
|
||||
// XXX need to deep copy it
|
||||
Array = Array0;
|
||||
").
|
||||
|
||||
%-----------------------------------------------------------------------------%
|
||||
|
||||
|
||||
Reference in New Issue
Block a user