diff options
author | letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2001-11-12 13:33:49 +0000 |
---|---|---|
committer | letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2001-11-12 13:33:49 +0000 |
commit | 2f611e10fb3dc42fc00d80b1e087fa33f6fc846e (patch) | |
tree | b81fb765ed77fe2d944495e5313b651fede45757 | |
parent | b731edadffd527a907a6aa4b5a420b6a8dbe4690 (diff) |
suite du petit oups
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@2185 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r-- | contrib/extraction/extract_env.ml | 6 | ||||
-rw-r--r-- | contrib/extraction/mlutil.ml | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/contrib/extraction/extract_env.ml b/contrib/extraction/extract_env.ml index 6969c412a..7b997d48c 100644 --- a/contrib/extraction/extract_env.ml +++ b/contrib/extraction/extract_env.ml @@ -165,7 +165,11 @@ let extract_reference r = if is_ml_extraction r then print_user_extract r else - mSGNL (ToplevelPp.pp_decl (List.find (decl_in_r r) (local_optimize [r]))) + let d = list_last (local_optimize [r]) in + mSGNL (ToplevelPp.pp_decl + (if (decl_in_r r d) || d = Dtype([],true) || d = Dtype([],false) + then d + else List.find (decl_in_r r) (local_optimize [r]))) let _ = vinterp_add "Extraction" diff --git a/contrib/extraction/mlutil.ml b/contrib/extraction/mlutil.ml index 39dc37f07..72e81964b 100644 --- a/contrib/extraction/mlutil.ml +++ b/contrib/extraction/mlutil.ml @@ -617,6 +617,8 @@ let rec optimize prm = function Dglob (r,t) :: (optimize prm l) else optimize prm l + | (Dtype ([],_) | Dabbrev _ | Dcustom _) as d :: l -> + d :: (optimize prm l) | Dtype ([ids,r,[r0,[t0]]],false) :: l when not (type_mem r t0) -> (* Detection of informative singleton. *) add_singleton r0; @@ -626,6 +628,5 @@ let rec optimize prm = function let l1,l2 = empty_ind il in if l2 = [] then l1 @ (optimize prm l) else l1 @ (Dtype(l2,b) :: (optimize prm l)) - | (Dabbrev _ | Dcustom _) as d :: l -> - d :: (optimize prm l) + |