summaryrefslogtreecommitdiff
path: root/abstract/nonrelational.ml
diff options
context:
space:
mode:
Diffstat (limited to 'abstract/nonrelational.ml')
-rw-r--r--abstract/nonrelational.ml11
1 files changed, 8 insertions, 3 deletions
diff --git a/abstract/nonrelational.ml b/abstract/nonrelational.ml
index ed029da..dbc17c9 100644
--- a/abstract/nonrelational.ml
+++ b/abstract/nonrelational.ml
@@ -33,9 +33,14 @@ module ND (V : VALUE_DOMAIN) : NUMERICAL_ENVIRONMENT_DOMAIN = struct
| NIdent id -> get_var env id
| NIntConst i -> V.const i
| NRealConst f -> V.const (int_of_float f) (* TODO floats *)
- | NUnary (AST_UPLUS, e, _) -> eval env e
- | NUnary (AST_UMINUS, e, _) -> V.neg (eval env e)
- | NBinary (op, e1, e2, _) ->
+ | NUnary (AST_UPLUS, e, isreal) ->
+ if isreal then not_implemented "real type for nonrelationnal domain";
+ eval env e
+ | NUnary (AST_UMINUS, e, isreal) ->
+ if isreal then not_implemented "real type for nonrelationnal domain";
+ V.neg (eval env e)
+ | NBinary (op, e1, e2, isreal) ->
+ if isreal then not_implemented "real type for nonrelationnal domain";
let f = match op with
| AST_PLUS -> V.add
| AST_MINUS -> V.sub