From b2925f8b403f419b8cc9b5f3fa5f3b2d02de6f30 Mon Sep 17 00:00:00 2001
From: Julien Signoles <julien.signoles@cea.fr>
Date: Thu, 12 May 2011 13:36:16 +0000
Subject: [PATCH] explicitely mark as unimplement function contracts + overload
 vglob_aux instead of vglob

---
 src/plugins/e-acsl/visit.ml | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/src/plugins/e-acsl/visit.ml b/src/plugins/e-acsl/visit.ml
index 9791cc62cc0..75e89dd90a6 100644
--- a/src/plugins/e-acsl/visit.ml
+++ b/src/plugins/e-acsl/visit.ml
@@ -464,7 +464,7 @@ class e_acsl_visitor prj generate = object (self)
 
   val mutable gen_vars = []
 
-  method vglob g =
+  method vglob_aux g =
     if !first_global then begin
       first_global := false;
       ChangeDoChildrenPost([ g ], fun l -> e_acsl_header () :: l)
@@ -475,6 +475,22 @@ class e_acsl_visitor prj generate = object (self)
      BUT almost impossible without a main entry point *)
   (*  method vinit v off i = assert false *)
 
+  method vvdec vi =
+    try 
+      let kf = Globals.Functions.get vi in
+      let spec = Kernel_function.get_spec kf in
+      if spec.spec_behavior <> [] then not_yet "behaviors clause of function";
+      if spec.spec_variant <> None then not_yet "variant clause of function";
+      if spec.spec_terminates <> None then
+	not_yet "terminates clause of function";
+      if spec.spec_complete_behaviors <> [] then 
+	not_yet "complete behaviors of function";
+      if spec.spec_disjoint_behaviors <> [] then 
+	not_yet "disjoint behaviors of function";
+      DoChildren
+    with Not_found ->
+      DoChildren
+
   method vfundec f =
     let add_gen_vars f = f.slocals <- gen_vars @ f.slocals; f in
     ChangeDoChildrenPost(f, add_gen_vars)
-- 
GitLab