aboutsummaryrefslogtreecommitdiff
path: root/interp/constrintern.ml
diff options
context:
space:
mode:
authormsozeau2007-03-19 16:54:25 +0000
committermsozeau2007-03-19 16:54:25 +0000
commit38ff8d2b59a481ba489400ea194fdd78c6c2d5e1 (patch)
treeb0c539c86860a372b7356e6245e8db4fa50df16a /interp/constrintern.ml
parent293675b06262698ba3b1ba30db8595bedd5c55ae (diff)
Add a parameter to QuestionMark evar kind to say it can be turned into an obligations (even an opaque one).
Change cast_type to include the converted-to type or nothing in case of a Coerce cast, required much minor changes. Various little subtac changes. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9718 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'interp/constrintern.ml')
-rw-r--r--interp/constrintern.ml8
1 files changed, 5 insertions, 3 deletions
diff --git a/interp/constrintern.ml b/interp/constrintern.ml
index 244f8228a9..5a41f35086 100644
--- a/interp/constrintern.ml
+++ b/interp/constrintern.ml
@@ -915,7 +915,7 @@ let internalise sigma globalenv env allow_patvar lvar c =
let p' = option_map (intern_type env'') po in
RIf (loc, c', (na', p'), intern env b1, intern env b2)
| CHole loc ->
- RHole (loc, Evd.QuestionMark)
+ RHole (loc, Evd.QuestionMark true)
| CPatVar (loc, n) when allow_patvar ->
RPatVar (loc, n)
| CPatVar (loc, _) ->
@@ -924,8 +924,10 @@ let internalise sigma globalenv env allow_patvar lvar c =
REvar (loc, n, None)
| CSort (loc, s) ->
RSort(loc,s)
- | CCast (loc, c1, k, c2) ->
- RCast (loc,intern env c1,k,intern_type env c2)
+ | CCast (loc, c1, CastConv (k, c2)) ->
+ RCast (loc,intern env c1, CastConv (k, intern_type env c2))
+ | CCast (loc, c1, CastCoerce) ->
+ RCast (loc,intern env c1, CastCoerce)
| CDynamic (loc,d) -> RDynamic (loc,d)