aboutsummaryrefslogtreecommitdiffhomepage
path: root/plugins/micromega/coq_micromega.ml
diff options
context:
space:
mode:
authorGravatar glondu <glondu@85f007b7-540e-0410-9357-904b9bb8a0f7>2012-01-14 11:45:38 +0000
committerGravatar glondu <glondu@85f007b7-540e-0410-9357-904b9bb8a0f7>2012-01-14 11:45:38 +0000
commitd334dc409fc11847ed0abcb8fd3ac13043f73431 (patch)
tree12ea6f66501349d80d95d43c312d006bab835bba /plugins/micromega/coq_micromega.ml
parentfe0d62e0e95c157c0103a70454b74b1d7e89e041 (diff)
coq_micromega.ml: fix order of recursive calls to rconstant
Some tests were failing on architectures without native code because the evaluation order of arguments in a function call is not the same on bytecode, leading to different behaviours for the psatzl tactic. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@14904 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'plugins/micromega/coq_micromega.ml')
-rw-r--r--plugins/micromega/coq_micromega.ml8
1 files changed, 6 insertions, 2 deletions
diff --git a/plugins/micromega/coq_micromega.ml b/plugins/micromega/coq_micromega.ml
index be49aa351..8b7ee55bd 100644
--- a/plugins/micromega/coq_micromega.ml
+++ b/plugins/micromega/coq_micromega.ml
@@ -993,8 +993,12 @@ struct
else raise ParseError
| App(op,args) ->
begin
- try
- (assoc_const op rconst_assoc) (rconstant args.(0)) (rconstant args.(1))
+ try
+ (* the evaluation order is important in the following *)
+ let f = assoc_const op rconst_assoc in
+ let a = rconstant args.(0) in
+ let b = rconstant args.(1) in
+ f a b
with
ParseError ->
match op with