diff options
author | Damien Doligez <damien.doligez-inria.fr> | 2007-02-09 13:31:15 +0000 |
---|---|---|
committer | Damien Doligez <damien.doligez-inria.fr> | 2007-02-09 13:31:15 +0000 |
commit | f700284aac3f9bcafa29b40e4cedeadd6703d782 (patch) | |
tree | 463f0f8e3165cc294c17cb1677870947741a2ce6 /byterun/compare.c | |
parent | e1757faddcd080cc6a1d71a2aebd999399c5ab17 (diff) |
fusion des changements 3.09.3 -> release309_merge310
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7849 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'byterun/compare.c')
-rw-r--r-- | byterun/compare.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/byterun/compare.c b/byterun/compare.c index 3337f77d0..4cd6df29e 100644 --- a/byterun/compare.c +++ b/byterun/compare.c @@ -199,7 +199,10 @@ static intnat compare_val(value v1, value v2, int total) case Custom_tag: { int res; int (*compare)(value v1, value v2) = Custom_ops_val(v1)->compare; - if (compare == NULL) caml_invalid_argument("equal: abstract value"); + if (compare == NULL) { + compare_free_stack(); + caml_invalid_argument("equal: abstract value"); + } caml_compare_unordered = 0; res = Custom_ops_val(v1)->compare(v1, v2); if (caml_compare_unordered && !total) return UNORDERED; |