diff options
author | glondu <glondu@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2012-01-14 11:45:38 +0000 |
---|---|---|
committer | glondu <glondu@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2012-01-14 11:45:38 +0000 |
commit | d334dc409fc11847ed0abcb8fd3ac13043f73431 (patch) | |
tree | 12ea6f66501349d80d95d43c312d006bab835bba /plugins/micromega | |
parent | fe0d62e0e95c157c0103a70454b74b1d7e89e041 (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')
-rw-r--r-- | plugins/micromega/coq_micromega.ml | 8 |
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 |