diff --git a/.Makefile.lint b/.Makefile.lint
index d3931d4707d8594d884be98371503d6460a21940..f213229e55714480b8766486a7538600f510672a 100644
--- a/.Makefile.lint
+++ b/.Makefile.lint
@@ -14,8 +14,6 @@ ML_LINT_KO+=src/kernel_internals/typing/allocates.ml
 ML_LINT_KO+=src/kernel_internals/typing/alpha.ml
 ML_LINT_KO+=src/kernel_internals/typing/alpha.mli
 ML_LINT_KO+=src/kernel_internals/typing/asm_contracts.ml
-ML_LINT_KO+=src/kernel_internals/typing/cabs2cil.ml
-ML_LINT_KO+=src/kernel_internals/typing/cabs2cil.mli
 ML_LINT_KO+=src/kernel_internals/typing/cfg.ml
 ML_LINT_KO+=src/kernel_internals/typing/cfg.mli
 ML_LINT_KO+=src/kernel_internals/typing/frontc.mli
@@ -217,7 +215,6 @@ ML_LINT_KO+=src/libraries/utils/hptset.ml
 ML_LINT_KO+=src/libraries/utils/hptset.mli
 ML_LINT_KO+=src/libraries/utils/indexer.ml
 ML_LINT_KO+=src/libraries/utils/indexer.mli
-ML_LINT_KO+=src/libraries/utils/json.mli
 ML_LINT_KO+=src/libraries/utils/leftistheap.mli
 ML_LINT_KO+=src/libraries/utils/pretty_utils.ml
 ML_LINT_KO+=src/libraries/utils/pretty_utils.mli
diff --git a/.gitignore b/.gitignore
index 583b96d24e7700d71389dd6fa5ddfa759504e0b5..065769eeba111c28e7250e496aec936c81b7db4f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -197,3 +197,10 @@ hello-*.tar.gz
 #######################
 # should remain empty #
 #######################
+/src/plugins/gui/GSourceView2.mli
+/src/plugins/gui/GSourceView2.ml
+/src/plugins/gui/dgraph.ml
+/src/plugins/gui/dgraph.mli
+/src/plugins/gui/gtk_compat.ml
+/src/plugins/gui/GSourceView.ml
+/src/plugins/gui/GSourceView.mli
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 96c52af374c82f1c0bc8524cda90c91437398ab7..0f54bad033530b3a48bbc86e9e541750c5ac9676 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,225 +1,248 @@
 stages:
- - update_docker
- - lint
- - frama_c_and_plugins
+ - git-update
+ - build
+ - tests
  - distrib_and_compatibility
 
-variables:
-  OPAM_PACKAGES: ocamlfind zarith ocamlgraph ocp-indent
-
-# update the cache
-update_docker:
-  stage: update_docker
-  image: ocaml/opam:debian
-  variables:
-   GIT_STRATEGY: none
-  before_script:
-   - sudo apt-get install -y -qq rsync
-   - mkdir -p .gitlab_oci_cache/.opam/
-   - rsync -a .gitlab_oci_cache/.opam/ /home/opam/.opam/
-   - opam list
-   - opam depext -i $OPAM_PACKAGES
-  after_script:
-   - rsync -a --delete /home/opam/.opam/ .gitlab_oci_cache/.opam/
-  cache:
-   key: "frama-c"
-   paths:
-     - .gitlab_oci_cache/
-  script:
-   - exit 0
-  tags:
-   - docker
-
-#lint uses the cache but doesn't modify it
-lint:
-  stage: lint
-  image: ocaml/opam:debian
-  before_script:
-   - sudo apt-get install -y -qq rsync autoconf build-essential bc
-   - mkdir -p .gitlab_oci_cache/.opam/
-   - rsync -a .gitlab_oci_cache/.opam/ /home/opam/.opam/
-   - opam list
-   - opam depext -i $OPAM_PACKAGES
-  cache:
-   key: "frama-c"
-   paths:
-     - .gitlab_oci_cache/
-  script:
-   - autoconf
-   - ./configure
-   - make lint
-   - make stats-lint
-#   - make check-headers OPEN_SOURCE=yes STRICT_HEADERS=yes
-  coverage: '/lint coverage: \d+\.\d+/'
-  tags:
-   - docker
-
-
-frama-c-external:
-  stage: frama_c_and_plugins
+#avoid a nix error https://github.com/NixOS/nix/issues/2087
+git-update:
+  stage: git-update
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME frama-c-external --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251 --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh instantiate --eval -A frama-c.src.outPath
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
 
 frama-c:
-  stage: frama_c_and_plugins
+  stage: build
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME frama-c --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A frama-c.installed
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
 
-frama-c-ocaml-4.03:
-  stage: distrib_and_compatibility
+lint:
+  stage: build
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --ocaml 4.03 --camlp4 4.03 --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME frama-c --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A frama-c.lint
+  coverage: '/lint coverage: \d+\.\d+/'
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
 
-frama-c-ocaml-4.04:
-  stage: distrib_and_compatibility
+tests:
+  stage: tests
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --ocaml 4.04 --camlp4 4.04 --lablgtk 4bbd5cf1990aa8b775cf247fbfe5be321e13cc61 --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME frama-c  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A frama-c.tests
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
 
-frama-c-ocaml-4.05:
-  stage: distrib_and_compatibility
+wp-qualif:
+  stage: tests
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --ocaml 4.05 --camlp4 4.05 --lablgtk 4bbd5cf1990aa8b775cf247fbfe5be321e13cc61 --camomile 3f4d657d50c17213f3338ca75efb30d728704df3 --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME frama-c  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A frama-c.wp-qualif
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
   allow_failure: true
 
-frama-c-internal:
-  stage: distrib_and_compatibility
-  script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME frama-c-internal  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
-  tags:
-  only:
-   - master
-   - stable/silicium
-  except:
-  - tags
-  retry: 2
-
-frama-c-distrib:
-  stage: distrib_and_compatibility
+genassigns:
+  stage: tests
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME frama-c-distrib  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A genassigns.tests
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
 
-
-Genassigns:
-  stage: frama_c_and_plugins
+counter-examples:
+  stage: tests
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME Genassigns  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A counter-examples.tests
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
 
-Mthread:
-  stage: frama_c_and_plugins
+acsl-importer:
+  stage: tests
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME Mthread  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A acsl-importer.tests
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
 
-a3export:
-  stage: frama_c_and_plugins
+volatile:
+  stage: tests
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME a3export  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A volatile.tests
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
 
-PathCrawler:
-  stage: frama_c_and_plugins
+E-ACSL:
+  stage: tests
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME PathCrawler  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A e-acsl.tests
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
 
 Security:
-  stage: frama_c_and_plugins
+  stage: tests
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME Security  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A security.tests
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
 
-E-ACSL:
-  stage: frama_c_and_plugins
+CFP:
+  stage: tests
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME E-ACSL  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A context-from-precondition.tests
   tags:
-  except:
-  - tags
-  allow_failure: true
-  retry: 2
+   - nix
 
-context-from-precondition:
-  stage: frama_c_and_plugins
+internal:
+  stage: distrib_and_compatibility
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME context-from-precondition  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A frama-c.internal
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
 
-open-source-case-studies:
-  stage: frama_c_and_plugins
+.build_template: &frama-c-ocaml
+  stage: distrib_and_compatibility
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --url open-source-case-studies,git@git.frama-c.com:frama-c/open-source-case-studies.git --commit open-source-case-studies,master open-source-case-studies  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A frama-c.installed
   tags:
-  except:
-  - tags
-  when: manual
-  retry: 2
+   - nix
+
+
+frama-c-ocaml-4.02:
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_02"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
+  <<: *frama-c-ocaml
 
-ACSL-importer:
-  stage: frama_c_and_plugins
+frama-c-ocaml-4.03:
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_03"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
+  <<: *frama-c-ocaml
+
+frama-c-ocaml-4.04:
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_04"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
+  <<: *frama-c-ocaml
+
+frama-c-ocaml-4.06:
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_06"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
+  <<: *frama-c-ocaml
+
+frama-c-ocaml-4.07:
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_07"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
+  <<: *frama-c-ocaml
+
+caveat-importer:
+  stage: tests
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME ACSL-importer  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A caveat-importer.tests
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
 
-Caveat-importer:
-  stage: frama_c_and_plugins
+mthread:
+  stage: tests
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME Caveat-importer  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A mthread.tests
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
 
-Volatile:
-  stage: frama_c_and_plugins
+pathcrawler:
+  stage: tests
+  variables:
+    CURRENT: $CI_COMMIT_REF_NAME
+    DEFAULT: "master"
+    OCAML: "4_05"
+    FRAMA_CI_OPT: "--override frama-c:$CI_COMMIT_REF_NAME,$CI_COMMIT_SHA"
   script:
-  - ~oci/oci/bin/bf_client.native run --socket ~oci/data/oci-data/oci.socket --frama-c $CI_BUILD_REF --branch $CI_BUILD_REF_NAME Volatile  --cppo 07d2bcee50670aecae7e094d92f68fd18314073a --ocamlgraph 9286b375c005d1d504a1def0c5986f54c7f12251  --url ocamlfind,git@git.frama-c.com:bobot/ocamlfind.git
+   - nix/frama-ci.sh build -A pathcrawler.tests
   tags:
-  except:
-  - tags
-  retry: 2
+   - nix
diff --git a/ALL_VERSIONS b/ALL_VERSIONS
index 127fa685225b133394702ffd2819c5d442a72a21..d9447f7b7d320386cd109d9acaaefc53da5ca3c8 100644
--- a/ALL_VERSIONS
+++ b/ALL_VERSIONS
@@ -1,5 +1,6 @@
 Version number			Date of release		Notes
 ==============			===============		=====
+18.0 (Argon)                    2018, November 29
 Chlorine-20180502               2018, July 06           Bug fixed
 Chlorine-20180501               2018, June 01
 Sulfur-20171101                 2017, November 28
diff --git a/Changelog b/Changelog
index 83bb566e5509290a1ceb7c67cd3aa0807ff9d94b..d95a4f95aa16899872a7884c3f1e4a8fe818cc8f 100644
--- a/Changelog
+++ b/Changelog
@@ -17,6 +17,14 @@
 Open Source Release <next-release>
 ##################################
 
+-   Eva       [2019/01/10] Improved precision on nested loops (by postponing
+              the widening on inner loops according to -eva-widening-period).
+-   Kernel    [2019/01/03] Add attributes for loop statements to allow
+              distinguishing between for, while and dowhile loops.
+-!  Kernel    [2019/01/03] Add statement attributes (sattr) to the AST. They
+              are not printed by default, use -kernel-msg-key printer:attrs
+-!  Kernel    [2019/01/03] Improved precision of integer abstract bitwise
+              operators.
 
 ################################
 Open Source Release 18.0 (Argon)
@@ -69,6 +77,7 @@ o!  Constant Propagation [2018/09/12] Removing Db API for Constant Propagation
               integer types when an alarm is emitted.
 -   Metrics   [2018/09/06] Add option -metrics-used-files, to help identify
               unnecessary files given in the command line
+-   RTE       [2018/09/05] Remove option -rte-precond.
 -   Eva       [2018/08/31] Supports the ACSL functions \min and \max.
 -   Eva       [2018/08/30] Fixes the alarms on subtractions and comparisons of
               pointers on weak bases (created by allocations in loops).
diff --git a/INSTALL.md b/INSTALL.md
index 8cf06f616b8e35744731164d784424fbeb15b921..4fdc7fd8b309cc4cb7bbe1d53f719240657d6fa8 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -240,8 +240,8 @@ Arch Linux: `yaourt -S frama-c`
 
 6. Optionally, test your installation by running:
 
-        frama-c -val tests/misc/CruiseControl*.c
-        frama-c-gui -val tests/misc/CruiseControl*.c # if frama-c-gui is available
+        frama-c -eva tests/misc/CruiseControl*.c
+        frama-c-gui -eva tests/misc/CruiseControl*.c # if frama-c-gui is available
 
 ### Full Compilation Guide
 
@@ -313,8 +313,8 @@ This step is optional.
 
 Test your installation by running:
 
-    frama-c -val tests/misc/CruiseControl*.c
-    frama-c-gui -val tests/misc/CruiseControl*.c (if frama-c-gui is available)
+    frama-c -eva tests/misc/CruiseControl*.c
+    frama-c-gui -eva tests/misc/CruiseControl*.c (if frama-c-gui is available)
 
 
 
diff --git a/Makefile b/Makefile
index 3a07137e69fcef09453cc25babc6c496c3e4f6e6..66c0425e779534241c469e900cd1b08a8a968e08 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
@@ -252,10 +252,14 @@ DISTRIB_FILES:=\
       VERSION VERSION_CODENAME $(wildcard licenses/*)                   \
       $(LIBC_FILES)							\
       share/analysis-scripts/cmd-dep.sh                                 \
+      share/analysis-scripts/concat-csv.sh                              \
+      $(wildcard share/analysis-scripts/examples/*)                     \
+      share/analysis-scripts/find_fun.py                                \
       share/analysis-scripts/flamegraph.pl                              \
       share/analysis-scripts/frama-c.mk                                 \
       share/analysis-scripts/list_files.py                              \
       share/analysis-scripts/parse-coverage.sh                          \
+      share/analysis-scripts/summary.sh                                 \
       share/analysis-scripts/README.md                                  \
       share/analysis-scripts/template.mk                                \
       $(wildcard share/emacs/*.el) share/autocomplete_frama-c           \
@@ -370,7 +374,7 @@ ifeq ("$(DEVELOPMENT)","yes")
 all:: share/.gitignore
 endif
 
-clean::
+clean_share_link:
 	if test -f share/.gitignore; then \
 	  for link in $$(cat share/.gitignore); do \
 	    if test -L share$$link; then \
@@ -382,6 +386,8 @@ clean::
 	  rm share/.gitignore; \
 	fi
 
+clean:: clean_share_link
+
 ##############
 # Ocamlgraph #
 ##############
@@ -676,8 +682,59 @@ STARTUP_CMX=$(STARTUP_CMO:.cmo=.cmx)
 WTOOLKIT= \
 	wutil widget wbox wfile wpane wpalette wtext wtable
 
+ifeq ($(strip $(GTKSOURCEVIEW)),lablgtk3.sourceview3)
+
+src/plugins/gui/GSourceView.ml: src/plugins/gui/GSourceView3.ml.in
+	$(CP) $< $@
+	$(CHMOD_RO) $@
+
+src/plugins/gui/GSourceView.mli: src/plugins/gui/GSourceView3.mli.in
+	$(CP) $< $@
+	$(CHMOD_RO) $@
+
+else
+src/plugins/gui/GSourceView.ml: src/plugins/gui/GSourceView2.ml.in
+	$(CP) $< $@
+	$(CHMOD_RO) $@
+
+src/plugins/gui/GSourceView.mli: src/plugins/gui/GSourceView2.mli.in
+	$(CP) $< $@
+	$(CHMOD_RO) $@
+
+endif
+
+SOURCEVIEWCOMPAT:=GSourceView
+GENERATED+=src/plugins/gui/GSourceView.ml src/plugins/gui/GSourceView.mli
+
+DGRAPHCOMPAT:=
+ifeq ($(HAS_GNOMECANVAS),no)
+DGRAPHCOMPAT:=dgraph
+src/plugins/gui/dgraph.ml: src/plugins/gui/dgraph.ml.in
+	$(CP) $< $@
+	$(CHMOD_RO) $@
+src/plugins/gui/dgraph.mli: src/plugins/gui/dgraph.mli.in
+	$(CP) $< $@
+	$(CHMOD_RO) $@
+
+GENERATED+=src/plugins/gui/dgraph.ml src/plugins/gui/dgraph.mli
+endif
+
+ifeq ($(LABLGTK),lablgtk3)
+src/plugins/gui/gtk_compat.ml: src/plugins/gui/gtk_compat.3.ml
+	$(CP) $< $@
+	$(CHMOD_RO) $@
+else
+src/plugins/gui/gtk_compat.ml: src/plugins/gui/gtk_compat.2.ml
+	$(CP) $< $@
+	$(CHMOD_RO) $@
+endif
+GENERATED+=src/plugins/gui/gtk_compat.ml
+
 SINGLE_GUI_CMO:= \
+	gtk_compat \
 	$(WTOOLKIT) \
+	$(SOURCEVIEWCOMPAT) \
+	$(DGRAPHCOMPAT) \
 	gui_parameters \
 	gtk_helper gtk_form \
 	source_viewer pretty_source source_manager book_manager \
@@ -730,7 +787,12 @@ PLUGIN_NAME:=Callgraph
 PLUGIN_DISTRIBUTED:=yes
 PLUGIN_DIR:=src/plugins/callgraph
 PLUGIN_CMO:= options journalize subgraph cg services uses register
+#GTK3: no DGraph available.
+ifeq ($(HAS_GNOMECANVAS),yes)
 PLUGIN_GUI_CMO:=cg_viewer
+else
+PLUGIN_GUI_CMO:=
+endif
 PLUGIN_CMI:= callgraph_api
 PLUGIN_INTERNAL_TEST:=yes
 PLUGIN_TESTS_DIRS:=callgraph
@@ -1161,6 +1223,16 @@ bin/toplevel.opt$(EXE): $(ALL_BATCH_CMX) $(GEN_OPT_LIBS) \
 	$(PRINT_LINKING) $@
 	$(OCAMLOPT) $(OLINKFLAGS) -o $@ $(OPT_LIBS) $(ALL_BATCH_CMX)
 
+LIB_KERNEL_CMO= $(filter-out src/kernel_internals/runtime/gui_init.cmo, $(CMO))
+LIB_KERNEL_CMX= $(filter-out src/kernel_internals/runtime/gui_init.cmx, $(CMX))
+
+lib/fc/frama-c.cma: $(LIB_KERNEL_CMO) $(GEN_OPT_LIBS) $(LIB_KERNEL_CMX) lib/fc/META.frama-c
+	$(PRINT_LINKING) $@ and lib/fc/frama-c.cmxa
+	$(MKDIR) $(FRAMAC_LIB)
+	$(OCAMLMKLIB) -o lib/fc/frama-c $(OPT_LIBS) $(LIB_KERNEL_CMO) $(LIB_KERNEL_CMX)
+
+lib/fc/frama-c.cmxa: lib/fc/frama-c.cma
+
 ####################
 # (Ocaml) Toplevel #
 ####################
@@ -1766,6 +1838,7 @@ install-lib: clean-install
 	$(PRINT_INSTALL) kernel API
 	$(MKDIR) $(FRAMAC_LIBDIR)
 	$(CP) $(LIB_BYTE_TO_INSTALL) $(LIB_OPT_TO_INSTALL) $(FRAMAC_LIBDIR)
+	$(CP) $(addprefix lib/fc/,dllframa-c.so libframa-c.a frama-c.cma frama-c.a frama-c.cmxa META.frama-c)  $(FRAMAC_LIBDIR)
 
 install-doc-code:
 	$(PRINT_INSTALL) API documentation
@@ -1800,13 +1873,19 @@ install:: install-lib
 	  $(FRAMAC_DATADIR)
 	$(MKDIR) $(FRAMAC_DATADIR)/analysis-scripts
 	$(CP) share/analysis-scripts/cmd-dep.sh \
+	  share/analysis-scripts/concat-csv.sh \
+	  share/analysis-scripts/find_fun.py \
 	  share/analysis-scripts/flamegraph.pl \
 	  share/analysis-scripts/frama-c.mk \
 	  share/analysis-scripts/parse-coverage.sh \
 	  share/analysis-scripts/README.md \
 	  share/analysis-scripts/list_files.py \
+	  share/analysis-scripts/summary.sh \
 	  share/analysis-scripts/template.mk \
 	  $(FRAMAC_DATADIR)/analysis-scripts
+	$(MKDIR) $(FRAMAC_DATADIR)/analysis-scripts/examples
+	$(CP) share/analysis-scripts/examples/* \
+	  $(FRAMAC_DATADIR)/analysis-scripts/examples
 	$(MKDIR) $(FRAMAC_DATADIR)/emacs
 	$(CP) $(wildcard share/emacs/*.el) $(FRAMAC_DATADIR)/emacs
 	$(CP) share/frama-c.rc $(ICONS) $(FRAMAC_DATADIR)
@@ -1992,7 +2071,8 @@ check-headers: $(HDRCK)
 		echo "Checking that distributed files do not use iso-8859..."; \
 		file --mime-encoding -f file_list_to_check.tmp | \
 			grep "iso-8859" \
-			| $(SED) "s/^/error: invalid encoding in /;{q1}"; \
+			| $(SED) "s/^/error: invalid encoding in /" \
+			| ( ! grep "error: invalid encoding" ); \
 	else echo "command 'file' not found, skipping encoding checks"; \
 	fi
 	$(HDRCK) \
@@ -2331,15 +2411,15 @@ clean-distrib: dist-clean
 
 create_lib_to_install_list = $(addprefix $(FRAMAC_LIB)/,$(call map,notdir,$(1)))
 
-byte:: bin/toplevel.byte$(EXE) share/Makefile.dynamic_config \
+byte:: bin/toplevel.byte$(EXE) lib/fc/frama-c.cma share/Makefile.dynamic_config \
 	$(call create_lib_to_install_list,$(LIB_BYTE_TO_INSTALL)) \
-      $(PLUGIN_META_LIST)
+      $(PLUGIN_META_LIST) lib/fc/META.frama-c
 
-opt:: bin/toplevel.opt$(EXE) share/Makefile.dynamic_config \
+opt:: bin/toplevel.opt$(EXE) lib/fc/frama-c.cmxa share/Makefile.dynamic_config \
 	$(call create_lib_to_install_list,$(LIB_OPT_TO_INSTALL)) \
 	$(filter %.o %.cmi,\
 	   $(call create_lib_to_install_list,$(LIB_BYTE_TO_INSTALL))) \
-      $(PLUGIN_META_LIST)
+      $(PLUGIN_META_LIST) lib/fc/META.frama-c
 
 top: bin/toplevel.top$(EXE) \
 	$(call create_lib_to_install_list,$(LIB_BYTE_TO_INSTALL)) \
diff --git a/Makefile.generating b/Makefile.generating
index a369e8ae688bdf5c7b4cf4707038da8b8b1b49a5..174a2b7bd4944525c884101148b7d1bf947bdb41 100644
--- a/Makefile.generating
+++ b/Makefile.generating
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
@@ -41,6 +41,8 @@ tests/ptests_config: Makefile.generating share/Makefile.config
 	$(CHMOD_RO) $@
 
 ALL_LIBRARY_NAMES=$(shell ocamlfind query -r -p-format $(LIBRARY_NAMES) $(LIBRARY_NAMES_GUI))
+MAJOR_VERSION=$(shell $(SED) 's/^\([0-9]\+\)\..*/\1/' VERSION)
+MINOR_VERSION=$(shell $(SED) 's/^[0-9]\+\.\([0-9]\+\).*/\1/' VERSION)
 
 $(CONFIG_FILE): $(CONFIG_FILE).in VERSION VERSION_CODENAME share/Makefile.config Makefile.generating configure.in
 	$(SED) \
@@ -64,6 +66,8 @@ $(CONFIG_FILE): $(CONFIG_FILE).in VERSION VERSION_CODENAME share/Makefile.config
 	  -e "s|@OPTDOT@|$(OPTDOT)|" \
           -e "s|@HAS_YOJSON@|$(if $(filter yes,$(HAS_YOJSON)),true,false)|" \
           -e "s|@EXE@|$(EXE)|" \
+          -e "s|@MAJOR_VERSION@|$(MAJOR_VERSION)|" \
+          -e "s|@MINOR_VERSION@|$(MINOR_VERSION)|" \
           $< > $@.tmp
 	@touch -r $@.tmp $<
 	$(CP_IF_DIFF) $@.tmp $@
@@ -205,6 +209,12 @@ ifeq ("$(DEVELOPMENT)","yes")
 all:: .merlin
 endif
 
+lib/fc/META.frama-c: share/META.frama-c share/Makefile.config Makefile.generating
+	$(MKDIR) lib/fc/
+	$(SED) $< -e "s/@REQUIRES/$(LIBRARY_NAMES)/" > $@
+
+GENERATED += lib/fc/META.frama-c
+
 
 # Local Variables:
 # mode: makefile
diff --git a/README.md b/README.md
index b3e8626a07754129acf3f849ad8c8c3538640d78..311311ec88e675bcba114a079bd908aa512a5064 100644
--- a/README.md
+++ b/README.md
@@ -57,7 +57,7 @@ The recommended usage for simple files is one of the following lines:
     frama-c-gui file.c
 
 Where `-<plugin>` is one of the several Frama-C plug-ins,
-e.g. `-val`, or `-wp`, or `-metrics`, etc.
+e.g. `-eva`, or `-wp`, or `-metrics`, etc.
 Plug-ins can also be run directly from the GUI.
 
 To list all plug-ins, run:
diff --git a/bin/build-src-distrib.sh b/bin/build-src-distrib.sh
index 67607a2e0835e5c71cbab3d6a56359f17830a6a4..111947be0a557a8aa3cd5d74275fc4987f32c2b5 100755
--- a/bin/build-src-distrib.sh
+++ b/bin/build-src-distrib.sh
@@ -36,7 +36,7 @@ FRAMAC_VERSION_CODENAME=$(cat VERSION_CODENAME)
 FRAMAC_VERSION_AND_CODENAME="${FRAMAC_VERSION}-${FRAMAC_VERSION_CODENAME}"
 TARGZ_FILENAME=frama-c-${FRAMAC_VERSION_AND_CODENAME}.tar.gz
 
-VERSION_MODIFIER=$(cat VERSION | sed -e s/[A-Za-z]*-[0-9]*\\\(.*\\\)/\\1/)
+VERSION_MODIFIER=$(cat VERSION | sed -e s/[0-9.]*\\\(.*\\\)/\\1/)
 
 if test -n "$VERSION_MODIFIER"; then FINAL_RELEASE=no; else FINAL_RELEASE=yes; fi
 
@@ -313,7 +313,7 @@ case "${STEP}" in
       echo " - [$TARGZ_FILENAME](downloads/$TARGZ_FILENAME)" >> $WIKI_PAGE
       echo "" >> $WIKI_PAGE
       echo "## Manuals" >> $WIKI_PAGE
-    for f in "user-manual" "acsl-implementation" "value-analysis" "plugin-development-guide" "rte-manual" "wp-manual" "metrics-manual" "aorai-manual"; do
+    for f in "user-manual" "acsl-implementation" "eva-manual" "plugin-development-guide" "rte-manual" "wp-manual" "metrics-manual" "aorai-manual"; do
         echo "- [$f](manuals/$f-${FRAMAC_VERSION_AND_CODENAME}.pdf)" >> $WIKI_PAGE
         run "cp $MANUALS_DIR/$f.pdf $GITHUB_WIKI/manuals/$f-${FRAMAC_VERSION_AND_CODENAME}.pdf"
         run "git -C $GITHUB_WIKI add manuals/$f-${FRAMAC_VERSION_AND_CODENAME}.pdf"
diff --git a/bin/developers-by-files.sh b/bin/developers-by-files.sh
index 93f959d3b062080132e74522b633e935101de6e0..243e44b9ca5358fbb3a97c83593e1bef57c9745c 100755
--- a/bin/developers-by-files.sh
+++ b/bin/developers-by-files.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/frama-c b/bin/frama-c
index 6b918fd2926d34832952dcbc0c9dacf387ad90df..bbd1ca4a92948637a73e4e064a4e0344f53f0134 100755
--- a/bin/frama-c
+++ b/bin/frama-c
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/frama-c-config b/bin/frama-c-config
index 9cd14c400d06bc466bc33c3766721af26a985dc4..9b70a6730f73da85d4c0ef85d9d1b2c67bf5971d 100755
--- a/bin/frama-c-config
+++ b/bin/frama-c-config
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/frama-c-gui b/bin/frama-c-gui
index e60f5c809e8dce4711b0703a15ef21545cd4151a..b70c1b8f54a5b6caa12b3c86c82fc6543cc50f6b 100755
--- a/bin/frama-c-gui
+++ b/bin/frama-c-gui
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/frama-c-gui.byte b/bin/frama-c-gui.byte
index 4ccc5fc3c0b61c77de7aca76fedfabec5fc7f92f..16a65b41eeb2dd6b82bbe0428585979e45c26468 100755
--- a/bin/frama-c-gui.byte
+++ b/bin/frama-c-gui.byte
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/frama-c-script b/bin/frama-c-script
index da3742df5247a70f03b01d0a5b07d2ed7b21d55e..b46c6944edca65174b822f16b565189f6cc64d9f 100755
--- a/bin/frama-c-script
+++ b/bin/frama-c-script
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
@@ -33,7 +33,7 @@ if [ $# -lt 1 ]; then
    echo ""
    echo "  - make-template [dir]"
    echo "      Interactively prepares a template for running analysis scripts,"
-   echo "      writing it to [dir/GNUmakefile]. [dir] is [.] if ommitted."
+   echo "      writing it to [dir/GNUmakefile]. [dir] is [.] if omitted."
    echo ""
    echo "  - make-path"
    echo "      [for Frama-C developers and advanced users without Frama-C in the path]"
@@ -49,6 +49,11 @@ if [ $# -lt 1 ]; then
    echo "      Generates flamegraph.svg and flamegraph.html in [dir]"
    echo "      (or in the FRAMAC_SESSION directory by default)."
    echo "      Also opens it in a browser, unless variable NOGUI is set."
+   echo ""
+   echo "  - find-fun <function-name> [dirs]"
+   echo "      Lists files in [dirs] declaring or defining <function-name>"
+   echo "      (defaults to PWD + /usr/include)."
+   echo "      Heuristics-based: neither correct nor complete."
    exit
 fi
 
@@ -188,6 +193,10 @@ case "$command" in
         shift;
         ${FRAMAC_SHARE}/analysis-scripts/list_files.py "$@";
         ;;
+    "find-fun")
+        shift;
+        ${FRAMAC_SHARE}/analysis-scripts/find_fun.py "$@";
+        ;;
     "flamegraph")
         shift;
         flamegraph "$@";
diff --git a/bin/frama-c.byte b/bin/frama-c.byte
index 758f9da90fcb0eb738895c4781df0a50a8fe61c3..43e10b23f57f800a60962ed92946786bb38c1a73 100755
--- a/bin/frama-c.byte
+++ b/bin/frama-c.byte
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/frama-c.top b/bin/frama-c.top
index 88158372025e40d2211f379c86976232556cdac2..7a149f2a74456a69741e219d055acafcd57d933a 100755
--- a/bin/frama-c.top
+++ b/bin/frama-c.top
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/local_export.sh b/bin/local_export.sh
index cdac4fe533772ac1d2243b61ab0474980e4058b9..4f1e10eb7bfba0ad706c731bb2aa0863f93ffaaf 100644
--- a/bin/local_export.sh
+++ b/bin/local_export.sh
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/migration_scripts/aluminium2silicon.sh b/bin/migration_scripts/aluminium2silicon.sh
index 72647a40813cc7046244113cd2a5ca3b406ca91f..7f7a4eb7cfbedf136fdc395a0e6ae445d59d40f0 100755
--- a/bin/migration_scripts/aluminium2silicon.sh
+++ b/bin/migration_scripts/aluminium2silicon.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/migration_scripts/boron2carbon.sh b/bin/migration_scripts/boron2carbon.sh
index 831a11f3da47bf9018053126042c06f957c4e8da..8b8b3ceec2953633d9468fc01011d768ab4e95a6 100755
--- a/bin/migration_scripts/boron2carbon.sh
+++ b/bin/migration_scripts/boron2carbon.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/migration_scripts/carbon2nitrogen.sh b/bin/migration_scripts/carbon2nitrogen.sh
index be6fb21b7920c04558dcb1ff06bf3b0c753140cd..42daa82f5dc12f58b6c8c10bbef61b4ade0c4905 100755
--- a/bin/migration_scripts/carbon2nitrogen.sh
+++ b/bin/migration_scripts/carbon2nitrogen.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/migration_scripts/chlorine2argon.sh b/bin/migration_scripts/chlorine2argon.sh
index 0c2d2a58fd439182bbe6fbfcc3d23f04b2137d1a..a010796bfd360277e043ea4c1362696090f974a9 100755
--- a/bin/migration_scripts/chlorine2argon.sh
+++ b/bin/migration_scripts/chlorine2argon.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/migration_scripts/fluorine2neon.sh b/bin/migration_scripts/fluorine2neon.sh
index c2791849cc2342ae72e5fd438c287277a6677c79..a13be5ef38fbad05c8e39bc21f001c1dcad3bafb 100755
--- a/bin/migration_scripts/fluorine2neon.sh
+++ b/bin/migration_scripts/fluorine2neon.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/migration_scripts/lithium2beryllium.sh b/bin/migration_scripts/lithium2beryllium.sh
index 7b03839b8aee5e4c6621fda83b332e5ae9154676..81da725617c6eb3270d20fe045dab83e0f6ebdf0 100755
--- a/bin/migration_scripts/lithium2beryllium.sh
+++ b/bin/migration_scripts/lithium2beryllium.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/migration_scripts/magnesium2aluminium.sh b/bin/migration_scripts/magnesium2aluminium.sh
index 2db830cf8c11855141db3797c5e0eddf0b11d601..b222dcc2f9365223b0785d370882fd2450a2a1b6 100755
--- a/bin/migration_scripts/magnesium2aluminium.sh
+++ b/bin/migration_scripts/magnesium2aluminium.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/migration_scripts/neon2sodium.sh b/bin/migration_scripts/neon2sodium.sh
index d8ffbdc05cc4b8a21422b3242d35368475b825d7..46d0904351693427578da8e7752aeaabcab1a610 100755
--- a/bin/migration_scripts/neon2sodium.sh
+++ b/bin/migration_scripts/neon2sodium.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/migration_scripts/nitrogen2oxygen.sh b/bin/migration_scripts/nitrogen2oxygen.sh
index 5f52bda0bd65a6e48abaf28d9662e5e423c28275..0808bb7dbb93ce290b938ef1c9ef229928de88da 100755
--- a/bin/migration_scripts/nitrogen2oxygen.sh
+++ b/bin/migration_scripts/nitrogen2oxygen.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/migration_scripts/oxygen2fluorine.sh b/bin/migration_scripts/oxygen2fluorine.sh
index 3d5bd058018bb375c337b95abb90e3a901453453..63e4bba7d2913157954c57c5dc04b783cc04767a 100755
--- a/bin/migration_scripts/oxygen2fluorine.sh
+++ b/bin/migration_scripts/oxygen2fluorine.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/migration_scripts/phosphorus2sulfur.sh b/bin/migration_scripts/phosphorus2sulfur.sh
index 400b953c2a19f52584a477657a4654e4fc23827b..6e0ae27792b1bf898698b72d82f87dffdf3db112 100755
--- a/bin/migration_scripts/phosphorus2sulfur.sh
+++ b/bin/migration_scripts/phosphorus2sulfur.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/migration_scripts/silicon2phosphorus.sh b/bin/migration_scripts/silicon2phosphorus.sh
index b72495c8a4e0d4655a4bb7ae074e78d8ea6d0750..a5ffae5bba6d87ee62833232dc466848beb5ef5c 100755
--- a/bin/migration_scripts/silicon2phosphorus.sh
+++ b/bin/migration_scripts/silicon2phosphorus.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/migration_scripts/sodium2magnesium.sh b/bin/migration_scripts/sodium2magnesium.sh
index ee4bf5a672a082c84de8d348bc947e0df9766384..a2f121c8cf7064aabf205e0b8b970fae6f0d645f 100755
--- a/bin/migration_scripts/sodium2magnesium.sh
+++ b/bin/migration_scripts/sodium2magnesium.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/migration_scripts/sulfur2chlorine.sh b/bin/migration_scripts/sulfur2chlorine.sh
index d2ee9da682bc4d45af4e9190c363ce9caa519417..f9710169d5a1549e116d99a6987f4d2c2b048f1d 100755
--- a/bin/migration_scripts/sulfur2chlorine.sh
+++ b/bin/migration_scripts/sulfur2chlorine.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/bin/test_all_plugins.sh b/bin/test_all_plugins.sh
index 108cb1c37bf8c4e924329a00ebe2d7b5cb3da112..f1fe1811c914c25eda5a43dd952c67f186493b5c 100755
--- a/bin/test_all_plugins.sh
+++ b/bin/test_all_plugins.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/config.h.in b/config.h.in
index 573fd99563a3230367c17ff646c8266f95752ec6..68114ae885e9005ad963539b511230bebafead47 100644
--- a/config.h.in
+++ b/config.h.in
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/configure.in b/configure.in
index bd9c9a010d412cff46fd8e5b9e979005f59cc462..988da1a7b0cada6cc5de981f4e790bc82aafdcb4 100644
--- a/configure.in
+++ b/configure.in
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA   (Commissariat à l'énergie atomique et aux énergies            #
 #           alternatives)                                                #
 #    INRIA (Institut National de Recherche en Informatique et en         #
@@ -741,7 +741,7 @@ plugin_require(from_analysis,callgraph)
 check_plugin(gui,src/plugins/gui,[support for gui],yes)
 
 plugin_require_external(gui,lablgtk)
-plugin_require_external(gui,gnomecanvas)
+plugin_use_external(gui,gnomecanvas)
 plugin_require_external(gui,gtksourceview)
 plugin_use_external(gui,dot)
 
@@ -921,22 +921,46 @@ new_section "configure tools and libraries used by some plug-ins"
 # lablgtk2
 ##########
 
+define([ENABLE_LABLGTK3_HELP],
+  AC_HELP_STRING([--disable-lablgtk3],
+  [in case lablgtk2 and lablgtk3 are available, the default is to compile
+   against lablgtk3. Use this option to force compiling against lablgtk2]))
+
+AC_ARG_ENABLE(
+  lablgtk3,[ENABLE_LABLGTK3_HELP],
+  [ENABLE_LABLGTK3=$enableval],[ENABLE_LABLGTK3=yes])
+
 REQUIRE_LABLGTK="$REQUIRE_LABLGTK$REQUIRE_GNOMECANVAS"
 USE_LABLGTK="$USE_LABLGTK$USE_GNOMECANVAS"
 
+LABLGTK_PATH=""
+
+if test "$ENABLE_LABLGTK3" = "yes"; then
+  LABLGTK_PATH=`ocamlfind query lablgtk3 | tr -d '\\r\\n'`;
+fi
+
+if test "$LABLGTK_PATH" = ""; then
+  LABLGTK_VERSION=2
   LABLGTK_PATH=`ocamlfind query lablgtk2 | tr -d '\\r\\n'`
-  if test "$LABLGTK_PATH" = "" -o "$LABLGTK_PATH" -ef "$OCAMLLIB/lablgtk2" ; then
-     echo "Ocamlfind -> using +lablgtk2.($LABLGTK_PATH,$OCAMLLIB/lablgtk2)"
-     LABLGTK_PATH=+lablgtk2
-     LABLGTKPATH_FOR_CONFIGURE=$OCAMLLIB/lablgtk2
+  if test "$LABLGTK_PATH" = "" -o \
+          "$LABLGTK_PATH" -ef "$OCAMLLIB/lablgtk2" ; then
+       echo "Ocamlfind -> using +lablgtk2.($LABLGTK_PATH,$OCAMLLIB/lablgtk2)"
+       LABLGTK_PATH=+lablgtk2
+       LABLGTKPATH_FOR_CONFIGURE=$OCAMLLIB/lablgtk2
   else
-     echo "Ocamlfind -> using $LABLGTK_PATH"
-     LABLGTKPATH_FOR_CONFIGURE=$LABLGTK_PATH
-  fi
+       echo "Ocamlfind -> using $LABLGTK_PATH"
+       LABLGTKPATH_FOR_CONFIGURE=$LABLGTK_PATH
+  fi;
+else
+  LABLGTK_VERSION=3
+  echo "ocamlfind -> using $LABLGTK_PATH"
+  LABLGTKPATH_FOR_CONFIGURE=$LABLGTK_PATH;
+fi
 
 configure_library([GTKSOURCEVIEW],
-                  [$LABLGTKPATH_FOR_CONFIGURE/lablgtksourceview2.$LIB_SUFFIX],
-                  [lablgtksourceview2.$LIB_SUFFIX not found],
+                  [$LABLGTKPATH_FOR_CONFIGURE/lablgtksourceview2.$LIB_SUFFIX,
+                   $LABLGTKPATH_FOR_CONFIGURE/lablgtksourceview3.$LIB_SUFFIX],
+                  [lablgtksourceview not found],
                   no)
 
 configure_library([GNOMECANVAS],
@@ -991,6 +1015,7 @@ AC_SUBST(HAS_YOJSON)
 AC_SUBST(HAS_APRON)
 AC_SUBST(HAS_MPFR)
 AC_SUBST(HAS_LANDMARKS)
+AC_SUBST(LABLGTK_VERSION)
 AC_SUBST(OCAMLBEST)
 AC_SUBST(OCAMLVERSION)
 AC_SUBST(OCAMLLIB)
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e64150378a86d1a128776f31ba1f5912ea77af15
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,15 @@
+# standalone derivation, for nix-build, nix-shell, etc
+{ pkgs ? import <nixpkgs> {} }:
+let
+    src = builtins.fetchGit {
+            "url" = ./.git;
+            "name" = "frama-c";
+            "rev" = "ffa925f404779a3a0c4aacff5bd78b1c502def11";
+            "ref" = "test-nix-fetchGit";
+    };
+ in
+
+pkgs.callPackage ./nix/default.nix {
+	opam2nix = pkgs.callPackage ../Frama-CI/opam2nix-packages.nix {};
+        src = src;
+}
diff --git a/doc/Makefile b/doc/Makefile
index de074ba66b8d858ba6ce46003caf5ed7d5b448be..9c59a4b6775dcf5996dfcb0658b53f27cebb11f9 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
@@ -55,7 +55,7 @@ MANUALS=acsl
 #MANUALS that depend on the frama-c version
 VERSIONED_MANUALS=acsl-implementation aorai-manual rte-manual	\
 		  wp-manual metrics-manual user-manual		\
-		  plugin-development-guide value-analysis
+		  plugin-development-guide eva-manual
 
 FILES= $(addprefix manuals/, \
 	 $(addsuffix -$(VERSION).pdf, $(VERSIONED_MANUALS)) \
diff --git a/doc/code/docgen.ml b/doc/code/docgen.ml
index eb9be2be87495617d4ed7006bc0f3b3e86cd130e..31fa061f8b6f83ae9f745c3f6af26605ddb6bb4a 100644
--- a/doc/code/docgen.ml
+++ b/doc/code/docgen.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/doc/code/intro_kernel_plugin.txt b/doc/code/intro_kernel_plugin.txt
index 577af241540f45ee7662277e4c655d1417da13f7..ff0fe91bf6331afd9280b50b71ad931c3e7ee27c 100644
--- a/doc/code/intro_kernel_plugin.txt
+++ b/doc/code/intro_kernel_plugin.txt
@@ -2,7 +2,7 @@
 #*                                                                        #
 #*  This file is part of Frama-C.                                         #
 #*                                                                        #
-#*  Copyright (C) 2007-2018                                               #
+#*  Copyright (C) 2007-2019                                               #
 #*    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #*         alternatives)                                                  #
 #*                                                                        #
diff --git a/doc/code/intro_occurrence.txt b/doc/code/intro_occurrence.txt
index 23d2b25b672f763d0f436f4ceda21b6c511364b9..9c1ed182b9204ef7942ecf4b430ca1f9a6780c6a 100644
--- a/doc/code/intro_occurrence.txt
+++ b/doc/code/intro_occurrence.txt
@@ -2,7 +2,7 @@
 #*                                                                        #
 #*  This file is part of Frama-C.                                         #
 #*                                                                        #
-#*  Copyright (C) 2007-2018                                               #
+#*  Copyright (C) 2007-2019                                               #
 #*    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #*         alternatives)                                                  #
 #*                                                                        #
diff --git a/doc/code/intro_pdg.txt b/doc/code/intro_pdg.txt
index 0fc3b3e8a6275ba5679a61b77f3dcfd8eec0fecb..aa55601f1992cdda3ab8ca533133d667db81729c 100644
--- a/doc/code/intro_pdg.txt
+++ b/doc/code/intro_pdg.txt
@@ -2,7 +2,7 @@
 #*                                                                        #
 #*  This file is part of Frama-C.                                         #
 #*                                                                        #
-#*  Copyright (C) 2007-2018                                               #
+#*  Copyright (C) 2007-2019                                               #
 #*    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #*         alternatives)                                                  #
 #*                                                                        #
diff --git a/doc/code/intro_plugin.txt b/doc/code/intro_plugin.txt
index 160d2b3be6e478b7b024f58d04971eb00f02bbb2..2d6889a51af0e250e70a2c976a75100e022e1241 100644
--- a/doc/code/intro_plugin.txt
+++ b/doc/code/intro_plugin.txt
@@ -2,7 +2,7 @@
 #*                                                                        #
 #*  This file is part of Frama-C.                                         #
 #*                                                                        #
-#*  Copyright (C) 2007-2018                                               #
+#*  Copyright (C) 2007-2019                                               #
 #*    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #*         alternatives)                                                  #
 #*                                                                        #
diff --git a/doc/code/intro_plugin_D_and_S.txt b/doc/code/intro_plugin_D_and_S.txt
index e0fec19ddbfcf8945b8b98d7a5177f75a0af94b3..670f184b8793afe09a8dce2b5cc4227bdc9e4e9f 100644
--- a/doc/code/intro_plugin_D_and_S.txt
+++ b/doc/code/intro_plugin_D_and_S.txt
@@ -2,7 +2,7 @@
 #*                                                                        #
 #*  This file is part of Frama-C.                                         #
 #*                                                                        #
-#*  Copyright (C) 2007-2018                                               #
+#*  Copyright (C) 2007-2019                                               #
 #*    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #*         alternatives)                                                  #
 #*                                                                        #
diff --git a/doc/code/intro_plugin_default.txt b/doc/code/intro_plugin_default.txt
index 9b2190a4a2117e29018711ddfa25d5e3488e6824..17c8d92915305a5622a187d1e5087fc0a5c15a61 100644
--- a/doc/code/intro_plugin_default.txt
+++ b/doc/code/intro_plugin_default.txt
@@ -2,7 +2,7 @@
 #*                                                                        #
 #*  This file is part of Frama-C.                                         #
 #*                                                                        #
-#*  Copyright (C) 2007-2018                                               #
+#*  Copyright (C) 2007-2019                                               #
 #*    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #*         alternatives)                                                  #
 #*                                                                        #
diff --git a/doc/code/intro_scope.txt b/doc/code/intro_scope.txt
index 7ebffff7012059e60881cf4ec3f88262a182aa5b..a6efd13396fb61efb8b4a84a8fcafd8349b95a04 100644
--- a/doc/code/intro_scope.txt
+++ b/doc/code/intro_scope.txt
@@ -2,7 +2,7 @@
 #*                                                                        #
 #*  This file is part of Frama-C.                                         #
 #*                                                                        #
-#*  Copyright (C) 2007-2018                                               #
+#*  Copyright (C) 2007-2019                                               #
 #*    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #*         alternatives)                                                  #
 #*                                                                        #
diff --git a/doc/code/intro_slicing.txt b/doc/code/intro_slicing.txt
index 99bfb9b66bfe6572ef5c5451df2dd8d476ac91fe..707f0988c8f85483899fac5d5f321339717b3c6c 100644
--- a/doc/code/intro_slicing.txt
+++ b/doc/code/intro_slicing.txt
@@ -2,7 +2,7 @@
 #*                                                                        #
 #*  This file is part of Frama-C.                                         #
 #*                                                                        #
-#*  Copyright (C) 2007-2018                                               #
+#*  Copyright (C) 2007-2019                                               #
 #*    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #*         alternatives)                                                  #
 #*                                                                        #
diff --git a/doc/code/intro_sparecode.txt b/doc/code/intro_sparecode.txt
index 7eb41c1788e9c37c702d99e2f81299181c7b76a6..683cafefc103f3dd9d56a6aede60bba28e0f2fb1 100644
--- a/doc/code/intro_sparecode.txt
+++ b/doc/code/intro_sparecode.txt
@@ -2,7 +2,7 @@
 #*                                                                        #
 #*  This file is part of Frama-C.                                         #
 #*                                                                        #
-#*  Copyright (C) 2007-2018                                               #
+#*  Copyright (C) 2007-2019                                               #
 #*    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #*         alternatives)                                                  #
 #*                                                                        #
diff --git a/doc/code/style.css b/doc/code/style.css
index ee67a9792ae07d1147882a0fa41a121e6fcbb762..2e1c896b1a29bbd2757eb11a545185858600fc42 100644
--- a/doc/code/style.css
+++ b/doc/code/style.css
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/doc/code/toc_head.htm b/doc/code/toc_head.htm
index 6bc6f6cdc507f532e3488d58558e759b125e84b2..d7aafb105b7dbabb1c601e2932a3e0403bda9a2b 100644
--- a/doc/code/toc_head.htm
+++ b/doc/code/toc_head.htm
@@ -2,7 +2,7 @@
 <!--                                                                        -->
 <!--  This file is part of Frama-C.                                         -->
 <!--                                                                        -->
-<!--  Copyright (C) 2007-2018                                               -->
+<!--  Copyright (C) 2007-2019                                               -->
 <!--    CEA (Commissariat à l'énergie atomique et aux énergies              -->
 <!--         alternatives)                                                  -->
 <!--                                                                        -->
diff --git a/doc/code/toc_tail.htm b/doc/code/toc_tail.htm
index a6f39e6fc6a69d5790b8428ed0072debbc12bcfe..87ef71351dee6426b95db1d20943cab093f7e69b 100644
--- a/doc/code/toc_tail.htm
+++ b/doc/code/toc_tail.htm
@@ -2,7 +2,7 @@
 <!--                                                                        -->
 <!--  This file is part of Frama-C.                                         -->
 <!--                                                                        -->
-<!--  Copyright (C) 2007-2018                                               -->
+<!--  Copyright (C) 2007-2019                                               -->
 <!--    CEA (Commissariat à l'énergie atomique et aux énergies              -->
 <!--         alternatives)                                                  -->
 <!--                                                                        -->
diff --git a/doc/developer/developer.bib b/doc/developer/developer.bib
index 69d4aa57560e3129b6e730607fce0edd325f2387..7f4c8c58ecdc729975a21be0a0379d7799336ce8 100644
--- a/doc/developer/developer.bib
+++ b/doc/developer/developer.bib
@@ -35,7 +35,7 @@
   title  = {{Frama-C}'s value analysis plug-in},
   year   = 2015,
   month  = feb,
-  note   = {\mbox{\url{http://frama-c.com/download/frama-c-value-analysis.pdf}}},
+  note   = {\mbox{\url{http://frama-c.com/download/frama-c-eva-manual.pdf}}},
 }
 
 @misc{slicing,
diff --git a/doc/opam-version-correspondence.md b/doc/opam-version-correspondence.md
new file mode 100644
index 0000000000000000000000000000000000000000..345459b4e68fe34a9dffc2683ebd91eee63ea5af
--- /dev/null
+++ b/doc/opam-version-correspondence.md
@@ -0,0 +1,19 @@
+Correspondence between versions of Frama-C opam packages
+========================================================
+
+This file lists the mapping between "old numbering" of opam packages and
+"new numbering", including the atomic element name.
+
+20111001 - 7.0 (Nitrogen)
+20120901 - 8.0 (Oxygen)
+20130501 - 9.0 (Fluorine)
+20130601 - 9.1 (Fluorine)
+20140301 - 10.0 (Neon)
+20150201 - 11.0 (Sodium)
+20151002 - 12.1 (Magnesium)
+20160502 - 13.1 (Aluminium)
+20161101 - 14.0 (Silicon)
+20170501 - 15.0 (Phosphorus)
+20171101 - 16.0 (Sulfur)
+20180501 - 17.0 (Chlorine)
+20180502 - 17.1 (Chlorine)
diff --git a/doc/rte/biblio.bib b/doc/rte/biblio.bib
index 12f5a2484516bc23f15dc83d1b406a3304890270..0bb03befc467bd8b9dfa10a17be6d55dd555205e 100644
--- a/doc/rte/biblio.bib
+++ b/doc/rte/biblio.bib
@@ -21,7 +21,7 @@ howpublished={\url{http://manju.cs.berkeley.edu/cil/}}
   title = {Frama-C's value analysis plug-in},
   author={Pascal Cuoq and Boris Yakobowski and Virgile Prevosto},
   organization = {CEA List, Software Reliability Laboratory},
-  note = {\url{http://frama-c.com/download/frama-c-value-analysis.pdf}}
+  note = {\url{http://frama-c.com/download/frama-c-eva-manual.pdf}}
 }
 
 @MANUAL{framacwp,
diff --git a/doc/userman/userman.bib b/doc/userman/userman.bib
index 0237983740a880d86e59ceeeb8992efc446a8f44..a8abde0581e886288dc4526765a1013c7ad2d742 100644
--- a/doc/userman/userman.bib
+++ b/doc/userman/userman.bib
@@ -4,7 +4,7 @@
   title  = {{Frama-C Plug-in Development Guide}},
   year   = 2015,
   month  = feb,
-  note   = {\newline \url{http://frama-c.cea.fr/download/plugin-developer.pdf}},
+  note   = {\newline \url{http://frama-c.com/download/frama-c-plugin-development-guide.pdf}},
 }
 
 @manual{value,
@@ -12,7 +12,7 @@
   title  = {{Frama-C}'s value analysis plug-in},
   year   = 2015,
   month  = feb,
-  note   = {\mbox{\url{http://frama-c.cea.fr/download/value-analysis.pdf}}},
+  note   = {\mbox{\url{http://frama-c.com/download/frama-c-eva-manual.pdf}}},
 }
 
 @manual{acsl,
@@ -109,5 +109,5 @@ note={Extended version of \cite{sefm12}},
   author = {Julien Signoles},
   year = {2015},
   month = feb,
-  note = {\url{http://frama-c.com/eacsl}},
+  note = {\url{http://frama-c.com/eacsl.html}},
 }
diff --git a/doc/value/examples/parametrizing/context-depth.1.log b/doc/value/examples/parametrizing/context-depth.1.log
index 9e6e7392399b0f3582264593baedaa2546956e1e..3f4497589cbc27fa521ad5ceb14ae2f1b9a7ea87 100644
--- a/doc/value/examples/parametrizing/context-depth.1.log
+++ b/doc/value/examples/parametrizing/context-depth.1.log
@@ -1,8 +1,8 @@
 [kernel] Parsing context-depth.c (with preprocessing)
-[value] Analyzing an incomplete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
+[eva] Analyzing an incomplete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
   s.v ∈ [--..--]
    .next ∈ {{ NULL ; &S_next_s[0] }}
   S_next_s[0].v ∈ [--..--]
@@ -73,8 +73,7 @@
   WELL_next_1_S_next_1_S_next_1_S_next_s[bits 0 to ..] ∈
                                         {{ garbled mix of &{WELL_next_1_S_next_1_S_next_1_S_next_s}
                                          (origin: Well) }}
-[value] Recording results for main
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
-[value] Values at end of function main:
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
   
diff --git a/doc/value/examples/parametrizing/context-depth.2.log b/doc/value/examples/parametrizing/context-depth.2.log
index e07139ddb890ddab5e0b4374424afb9065caf6b5..aa40ac4e166ab6994dcc729eda29c971fbc26b9c 100644
--- a/doc/value/examples/parametrizing/context-depth.2.log
+++ b/doc/value/examples/parametrizing/context-depth.2.log
@@ -1,8 +1,8 @@
 [kernel] Parsing context-depth.c (with preprocessing)
-[value] Analyzing an incomplete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
+[eva] Analyzing an incomplete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
   s.v ∈ [--..--]
    .next ∈ {{ NULL ; &S_next_s[0] }}
   S_next_s[0].v ∈ [--..--]
@@ -12,10 +12,9 @@
                    {{ garbled mix of &{WELL_next_0_S_next_0_S_next_s}
                     (origin: Well) }}
   WELL_next_0_S_next_0_S_next_s[bits 0 to ..] ∈
-                           {{ garbled mix of &{WELL_next_0_S_next_0_S_next_s}
-                            (origin: Well) }}
-[value] Recording results for main
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
-[value] Values at end of function main:
+                               {{ garbled mix of &{WELL_next_0_S_next_0_S_next_s}
+                                (origin: Well) }}
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
   
diff --git a/doc/value/examples/parametrizing/context-depth.3.log b/doc/value/examples/parametrizing/context-depth.3.log
index 42accb342e6f5ef03146b5c0be69c011d95b87b4..796a0b6e08f3e0952ff512a2f7bad3f25e026eda 100644
--- a/doc/value/examples/parametrizing/context-depth.3.log
+++ b/doc/value/examples/parametrizing/context-depth.3.log
@@ -1,16 +1,15 @@
 [kernel] Parsing context-depth.c (with preprocessing)
-[value] Analyzing an incomplete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
+[eva] Analyzing an incomplete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
   s.v ∈ [--..--]
    .next ∈ {{ &S_next_s[0] }}
   S_next_s[0].v ∈ [--..--]
           [0].next ∈ {{ &S_next_0_S_next_s[0] }}
   S_next_0_S_next_s[0].v ∈ [--..--]
                    [0].next ∈ {0}
-[value] Recording results for main
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
-[value] Values at end of function main:
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
   
diff --git a/doc/value/examples/parametrizing/context-width.log b/doc/value/examples/parametrizing/context-width.log
index 10cbdc4a728b83db06d3afebada8d0bcc58be329..9edcb21f15572a56426ca9304f0d6863bad55b3e 100644
--- a/doc/value/examples/parametrizing/context-width.log
+++ b/doc/value/examples/parametrizing/context-width.log
@@ -1,19 +1,20 @@
 [kernel] Parsing context-width.c (with preprocessing)
-[value] Analyzing a complete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
+[eva] Analyzing a complete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
   
-[value] DUMPING STATE of file context-width.c line 3
-        t ∈ {{ NULL ; &S_t[0] }}
-        S_t[0] ∈ {{ NULL ; &S_0_S_t[0] }}
-           [1] ∈ {{ NULL ; &S_1_S_t[0] }}
-           [2..4] ∈ {{ NULL ; &S_0_S_t[0] ; &S_1_S_t[0] }}
-        S_0_S_t[0..1] ∈ [--..--]
-        S_1_S_t[0..1] ∈ [--..--]
-        =END OF DUMP==
-[value] Recording results for main
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
-[value] Values at end of function main:
+[eva] context-width.c:3: 
+  Frama_C_dump_each:
+  # Cvalue domain:
+  t ∈ {{ NULL ; &S_t[0] }}
+  S_t[0] ∈ {{ NULL ; &S_0_S_t[0] }}
+     [1] ∈ {{ NULL ; &S_1_S_t[0] }}
+     [2..4] ∈ {{ NULL ; &S_0_S_t[0] ; &S_1_S_t[0] }}
+  S_0_S_t[0..1] ∈ [--..--]
+  S_1_S_t[0..1] ∈ [--..--]
+  ==END OF DUMP==
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
   
diff --git a/doc/value/examples/parametrizing/global-initial-values.log b/doc/value/examples/parametrizing/global-initial-values.log
index d2adc0cb4371927ddafaf69e2482f772f9a91664..f8a0ada3b0ebfb0280ec51512ac60ffbef5d0556 100644
--- a/doc/value/examples/parametrizing/global-initial-values.log
+++ b/doc/value/examples/parametrizing/global-initial-values.log
@@ -1,14 +1,13 @@
 [kernel] Parsing global-initial-values.c (with preprocessing)
-[value] Analyzing an incomplete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
+[eva] Analyzing an incomplete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
   s.i ∈ [--..--]
    .f ∈ [-3.40282346639e+38 .. 3.40282346639e+38]
    .p ∈ {{ NULL ; &S_p_s[0] }}
   S_p_s[0..1] ∈ [--..--]
-[value] Recording results for main
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
-[value] Values at end of function main:
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
   
diff --git a/doc/value/examples/parametrizing/ilevel.1.log b/doc/value/examples/parametrizing/ilevel.1.log
index 22fb68c066d64df8ce7d4527797edf3489ee9204..c24bbec5ea55aafd4dd4ec002f046c27471d5397 100644
--- a/doc/value/examples/parametrizing/ilevel.1.log
+++ b/doc/value/examples/parametrizing/ilevel.1.log
@@ -1,9 +1,8 @@
 [kernel] Parsing ilevel.c (with preprocessing)
-[value] Analyzing a complete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
-  Frama_C_entropy_source ∈ [--..--]
+[eva] Analyzing a complete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
   t[0] ∈ {2}
    [1] ∈ {3}
    [2] ∈ {5}
@@ -16,14 +15,9 @@
    [9] ∈ {27}
    [10] ∈ {29}
    [11] ∈ {31}
-[value] computing for function Frama_C_interval <- main.
-        Called from ilevel.c:7.
-[value] using specification for function Frama_C_interval
-FRAMAC_SHARE/libc/__fc_builtin.h:50:[value] function Frama_C_interval: precondition got status valid.
-[value] Done for function Frama_C_interval
-[value] Recording results for main
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
-[value] Values at end of function main:
+[eva] using specification for function Frama_C_interval
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
   Frama_C_entropy_source ∈ [--..--]
   __retres ∈ [2..31]
diff --git a/doc/value/examples/parametrizing/ilevel.2.log b/doc/value/examples/parametrizing/ilevel.2.log
index 602d5fbffe8bf7f083dd918bf406082be0945f68..49de84286e0f1c25406f1f449e8623c106750a82 100644
--- a/doc/value/examples/parametrizing/ilevel.2.log
+++ b/doc/value/examples/parametrizing/ilevel.2.log
@@ -1,9 +1,8 @@
 [kernel] Parsing ilevel.c (with preprocessing)
-[value] Analyzing a complete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
-  Frama_C_entropy_source ∈ [--..--]
+[eva] Analyzing a complete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
   t[0] ∈ {2}
    [1] ∈ {3}
    [2] ∈ {5}
@@ -16,14 +15,9 @@
    [9] ∈ {27}
    [10] ∈ {29}
    [11] ∈ {31}
-[value] computing for function Frama_C_interval <- main.
-        Called from ilevel.c:7.
-[value] using specification for function Frama_C_interval
-FRAMAC_SHARE/libc/__fc_builtin.h:50:[value] function Frama_C_interval: precondition got status valid.
-[value] Done for function Frama_C_interval
-[value] Recording results for main
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
-[value] Values at end of function main:
+[eva] using specification for function Frama_C_interval
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
   Frama_C_entropy_source ∈ [--..--]
   __retres ∈ {2; 3; 5; 7; 11; 13; 17; 19; 23; 27; 29; 31}
diff --git a/doc/value/examples/parametrizing/nor.1.log b/doc/value/examples/parametrizing/nor.1.log
index d5c74d7bee81da0cb01468630c74817905ceb060..d9202d664a9fe97e59eaea38a4e1256f1bb8fbd9 100644
--- a/doc/value/examples/parametrizing/nor.1.log
+++ b/doc/value/examples/parametrizing/nor.1.log
@@ -1,38 +1,33 @@
 [kernel] Parsing nor.c (with preprocessing)
-[value] Analyzing a complete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
+[eva] Analyzing a complete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
   t[0..1999] ∈ {0}
   i ∈ {0}
-[value] computing for function irrelevant_function <- main.
-        Called from nor.c:11.
-[value] Semantic level unrolling superposing up to 100 states
-[value] Semantic level unrolling superposing up to 200 states
-[value] Semantic level unrolling superposing up to 300 states
-[value] Semantic level unrolling superposing up to 400 states
-[value] Semantic level unrolling superposing up to 500 states
-[value] Semantic level unrolling superposing up to 600 states
-[value] Semantic level unrolling superposing up to 700 states
-[value] Semantic level unrolling superposing up to 800 states
-[value] Semantic level unrolling superposing up to 900 states
-[value] Semantic level unrolling superposing up to 1000 states
-[value] Semantic level unrolling superposing up to 1100 states
-[value] Semantic level unrolling superposing up to 1200 states
-[value] Semantic level unrolling superposing up to 1300 states
-[value] Semantic level unrolling superposing up to 1400 states
-[value] Semantic level unrolling superposing up to 1500 states
-[value] Semantic level unrolling superposing up to 1600 states
-[value] Semantic level unrolling superposing up to 1700 states
-[value] Semantic level unrolling superposing up to 1800 states
-[value] Semantic level unrolling superposing up to 1900 states
-[value] Semantic level unrolling superposing up to 2000 states
-[value] Recording results for irrelevant_function
-[value] Done for function irrelevant_function
-[value] Recording results for main
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
-[value] Values at end of function irrelevant_function:
+[eva] Semantic level unrolling superposing up to 100 states
+[eva] Semantic level unrolling superposing up to 200 states
+[eva] Semantic level unrolling superposing up to 300 states
+[eva] Semantic level unrolling superposing up to 400 states
+[eva] Semantic level unrolling superposing up to 500 states
+[eva] Semantic level unrolling superposing up to 600 states
+[eva] Semantic level unrolling superposing up to 700 states
+[eva] Semantic level unrolling superposing up to 800 states
+[eva] Semantic level unrolling superposing up to 900 states
+[eva] Semantic level unrolling superposing up to 1000 states
+[eva] Semantic level unrolling superposing up to 1100 states
+[eva] Semantic level unrolling superposing up to 1200 states
+[eva] Semantic level unrolling superposing up to 1300 states
+[eva] Semantic level unrolling superposing up to 1400 states
+[eva] Semantic level unrolling superposing up to 1500 states
+[eva] Semantic level unrolling superposing up to 1600 states
+[eva] Semantic level unrolling superposing up to 1700 states
+[eva] Semantic level unrolling superposing up to 1800 states
+[eva] Semantic level unrolling superposing up to 1900 states
+[eva] Semantic level unrolling superposing up to 2000 states
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function irrelevant_function:
   t[0] ∈ {0}
    [1] ∈ {1}
    [2] ∈ {2}
@@ -2034,7 +2029,7 @@
    [1998] ∈ {1998}
    [1999] ∈ {1999}
   i ∈ {2000}
-[value] Values at end of function main:
+[eva:final-states] Values at end of function main:
   t[0] ∈ {0}
    [1] ∈ {1}
    [2] ∈ {2}
@@ -4038,4 +4033,4 @@
   i ∈ {2000}
   __retres ∈ {143}
 
-user time: 2.86s
+user time: 0.61s
diff --git a/doc/value/examples/parametrizing/nor.2.log b/doc/value/examples/parametrizing/nor.2.log
index ed27ea556f97efb04f0887466f9c788d5a21311e..d79d6ad6a29371e5d6322a3cb2cb57eade5733ba 100644
--- a/doc/value/examples/parametrizing/nor.2.log
+++ b/doc/value/examples/parametrizing/nor.2.log
@@ -1,38 +1,33 @@
 [kernel] Parsing nor.c (with preprocessing)
-[value] Analyzing a complete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
+[eva] Analyzing a complete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
   t[0..1999] ∈ {0}
   i ∈ {0}
-[value] computing for function irrelevant_function <- main.
-        Called from nor.c:11.
-[value] Semantic level unrolling superposing up to 100 states
-[value] Semantic level unrolling superposing up to 200 states
-[value] Semantic level unrolling superposing up to 300 states
-[value] Semantic level unrolling superposing up to 400 states
-[value] Semantic level unrolling superposing up to 500 states
-[value] Semantic level unrolling superposing up to 600 states
-[value] Semantic level unrolling superposing up to 700 states
-[value] Semantic level unrolling superposing up to 800 states
-[value] Semantic level unrolling superposing up to 900 states
-[value] Semantic level unrolling superposing up to 1000 states
-[value] Semantic level unrolling superposing up to 1100 states
-[value] Semantic level unrolling superposing up to 1200 states
-[value] Semantic level unrolling superposing up to 1300 states
-[value] Semantic level unrolling superposing up to 1400 states
-[value] Semantic level unrolling superposing up to 1500 states
-[value] Semantic level unrolling superposing up to 1600 states
-[value] Semantic level unrolling superposing up to 1700 states
-[value] Semantic level unrolling superposing up to 1800 states
-[value] Semantic level unrolling superposing up to 1900 states
-[value] Semantic level unrolling superposing up to 2000 states
-[value] Recording results for irrelevant_function
-[value] Done for function irrelevant_function
-[value] Recording results for main
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
-[value] Values at end of function main:
+[eva] Semantic level unrolling superposing up to 100 states
+[eva] Semantic level unrolling superposing up to 200 states
+[eva] Semantic level unrolling superposing up to 300 states
+[eva] Semantic level unrolling superposing up to 400 states
+[eva] Semantic level unrolling superposing up to 500 states
+[eva] Semantic level unrolling superposing up to 600 states
+[eva] Semantic level unrolling superposing up to 700 states
+[eva] Semantic level unrolling superposing up to 800 states
+[eva] Semantic level unrolling superposing up to 900 states
+[eva] Semantic level unrolling superposing up to 1000 states
+[eva] Semantic level unrolling superposing up to 1100 states
+[eva] Semantic level unrolling superposing up to 1200 states
+[eva] Semantic level unrolling superposing up to 1300 states
+[eva] Semantic level unrolling superposing up to 1400 states
+[eva] Semantic level unrolling superposing up to 1500 states
+[eva] Semantic level unrolling superposing up to 1600 states
+[eva] Semantic level unrolling superposing up to 1700 states
+[eva] Semantic level unrolling superposing up to 1800 states
+[eva] Semantic level unrolling superposing up to 1900 states
+[eva] Semantic level unrolling superposing up to 2000 states
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
 Cannot filter: dumping raw memory (including unchanged variables)
   t[0] ∈ {0}
    [1] ∈ {1}
@@ -2037,4 +2032,4 @@ Cannot filter: dumping raw memory (including unchanged variables)
   i ∈ {2000}
   __retres ∈ {143}
 
-user time: 0.42s
+user time: 0.26s
diff --git a/doc/value/examples/parametrizing/out-of-bound.log b/doc/value/examples/parametrizing/out-of-bound.log
index c1f36ff5958f923dab86e05cb70ae85c29acb50e..06f21f7998e676d93d8c108dbcd2b48ef71f4447 100644
--- a/doc/value/examples/parametrizing/out-of-bound.log
+++ b/doc/value/examples/parametrizing/out-of-bound.log
@@ -1,13 +1,13 @@
 [kernel] Parsing out-of-bound.c (with preprocessing)
-[value] Analyzing a complete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
+[eva] Analyzing a complete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
   t[0..9][0..9] ∈ {0}
-out-of-bound.c:4:[kernel] warning: accessing out of bounds index. assert 12 < 10;
-[value] Recording results for main
-[value] done for function main
-out-of-bound.c:4:[value] assertion 'Value,index_bound' got final status invalid.
-[value] ====== VALUES COMPUTED ======
-[value] Values at end of function main:
+[eva:alarm] out-of-bound.c:4: Warning: 
+  accessing out of bounds index. assert 12 < 10;
+[eva] done for function main
+[eva] out-of-bound.c:4: assertion 'Eva,index_bound' got final status invalid.
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
   NON TERMINATING FUNCTION
diff --git a/doc/value/examples/parametrizing/simple-main.log b/doc/value/examples/parametrizing/simple-main.log
index 5b648abf0e905c6fddd6f8f38bed8fd7e3abb85e..d7defe1645a43850de824800f0e19a9bb6aff94f 100644
--- a/doc/value/examples/parametrizing/simple-main.log
+++ b/doc/value/examples/parametrizing/simple-main.log
@@ -1,20 +1,21 @@
 [kernel] Parsing simple-main.c (with preprocessing)
-[value] Analyzing a complete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
+[eva] Analyzing a complete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
   
-[value] DUMPING STATE of file simple-main.c line 3
-        argc ∈ [--..--]
-        argv ∈ {{ NULL ; &S_argv[0] }}
-        __retres ∈ UNINITIALIZED
-        S_argv[0] ∈ {{ NULL ; &S_0_S_argv[0] }}
-              [1] ∈ {{ NULL ; &S_1_S_argv[0] }}
-        S_0_S_argv[0..1] ∈ [--..--]
-        S_1_S_argv[0..1] ∈ [--..--]
-        =END OF DUMP==
-[value] Recording results for main
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
-[value] Values at end of function main:
+[eva] simple-main.c:3: 
+  Frama_C_dump_each:
+  # Cvalue domain:
+  argc ∈ [--..--]
+  argv ∈ {{ NULL ; &S_argv[0] }}
+  __retres ∈ UNINITIALIZED
+  S_argv[0] ∈ {{ NULL ; &S_0_S_argv[0] }}
+        [1] ∈ {{ NULL ; &S_1_S_argv[0] }}
+  S_0_S_argv[0..1] ∈ [--..--]
+  S_1_S_argv[0..1] ∈ [--..--]
+  ==END OF DUMP==
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
   __retres ∈ {0}
diff --git a/doc/value/examples/parametrizing/slevel.1.log b/doc/value/examples/parametrizing/slevel.1.log
index bfdcbf380ad646a6d887eda0154556262ee834f4..ca308071d5497e913e04fc07d678bf47f1c09be3 100644
--- a/doc/value/examples/parametrizing/slevel.1.log
+++ b/doc/value/examples/parametrizing/slevel.1.log
@@ -1,15 +1,14 @@
 [kernel] Parsing slevel.c (with preprocessing)
-[value] Analyzing a complete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
+[eva] Analyzing a complete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
   i ∈ {0}
   j ∈ {0}
   t[0..4][0..9] ∈ {0}
-[value] Recording results for main
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
-[value] Values at end of function main:
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
   i ∈ {5}
   j ∈ {10}
   t[0..4][0..9] ∈ {1}
diff --git a/doc/value/examples/parametrizing/slevel.2.log b/doc/value/examples/parametrizing/slevel.2.log
index c0da12b59f83edbe957469cc516d5d864b21cae6..9459da3c9930632a9ddf3d8c636f893133700702 100644
--- a/doc/value/examples/parametrizing/slevel.2.log
+++ b/doc/value/examples/parametrizing/slevel.2.log
@@ -1,16 +1,15 @@
 [kernel] Parsing slevel.c (with preprocessing)
-[value] Analyzing a complete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
+[eva] Analyzing a complete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
   i ∈ {0}
   j ∈ {0}
   t[0..4][0..9] ∈ {0}
-slevel.c:6:[value] entering loop for the first time
-[value] Recording results for main
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
-[value] Values at end of function main:
+[eva] slevel.c:6: starting to merge loop iterations
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
   i ∈ {5}
   j ∈ {10}
   t{[0..1][0..9]; [2][0..5]} ∈ {1}
diff --git a/doc/value/examples/parametrizing/widen-hints.log b/doc/value/examples/parametrizing/widen-hints.log
index 36982f044ef6797f6c62919a06be8804b9937509..9e760a40d3385119f17618e60c584b5e1c63d888 100644
--- a/doc/value/examples/parametrizing/widen-hints.log
+++ b/doc/value/examples/parametrizing/widen-hints.log
@@ -1,15 +1,14 @@
 [kernel] Parsing widen-hints.c (with preprocessing)
-[value] Analyzing a complete application starting at main
-[value] Computing initial state
-[value] Initial state computed
-[value] Values of globals at initialization
+[eva] Analyzing a complete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
   i ∈ {0}
   j ∈ {0}
-widen-hints.c:7:[value] entering loop for the first time
-[value] Recording results for main
-[value] done for function main
-[value] ====== VALUES COMPUTED ======
-[value] Values at end of function main:
+[eva] widen-hints.c:6: starting to merge loop iterations
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
   i ∈ {13}
   j ∈ [0..55]
   n ∈ {13}
diff --git a/doc/value/main.tex b/doc/value/main.tex
index 5ed9977fda4007c605d646093f84ff3dbe867d35..15d5553fb0a48ebc63c5c0bc8f0ab51525505895 100644
--- a/doc/value/main.tex
+++ b/doc/value/main.tex
@@ -450,9 +450,9 @@ Once we are convinced that all functions have either a body or a specification,
 we can focus on functions without bodies:
 \begin{listing-nonumber}
 grep "using specification for function" log
-[value] using specification for function memset
-[value] using specification for function memcpy
-[value] using specification for function printf
+[eva] using specification for function memset
+[eva] using specification for function memcpy
+[eva] using specification for function printf
 \end{listing-nonumber}
 We find three functions. Not having a body for \verb|printf| is fine,
 since calls to this function have no observable effects for the analysis.
@@ -492,7 +492,10 @@ All functions included from \verb+string.h+ are undefined, but only
 \verb+memcpy+, \verb+memset+ and \verb+printf+ are called.
 
 
-To handle the absence of functions \lstinline|memset| and \lstinline|memcpy|,
+To handle the absence of functions \lstinline|memset| and \lstinline|memcpy|%
+\footnote{Since \FramaC 18 (Argon), \Eva{} includes builtin functions for
+  \lstinline|memset| and \lstinline|memcpy|,
+  thus providing source code for them is no longer necessary.},
 we will provide source code for them.
 Sometimes it is a good idea to provide the
 exact source code that will actually be used in an actual
@@ -582,7 +585,7 @@ The next line in the log is a progression message, that indicates
 that \Eva{} has encountered a loop and is performing an approximations.
 Those messages can be ignored for now.
 \begin{logs}
-lib.c:17:[value] entering loop for the first time
+lib.c:17:[eva] entering loop for the first time
 \end{logs}
 
 The next log entry which is not a progression message is a
@@ -798,14 +801,14 @@ but when it is almost done (after the analysis of function
 ...
 main_1.c:14:[kernel] warning: Neither code nor specification for function printf, 
             generating default assigns from the prototype
-[value] using specification for function printf
-[value] Done for function printf
-main_1.c:14:[value] completely invalid value in evaluation of
-                      argument (int)hash[i]
+[eva] using specification for function printf
+[eva] Done for function printf
+main_1.c:14:[eva] completely invalid value in evaluation of
+                  argument (int)hash[i]
 main_1.c:14:[kernel] warning: accessing uninitialized left-value.
-                       assert \initialized(&hash[i]);
-[value] Recording results for main
-[value] done for function main
+                     assert \initialized(&hash[i]);
+[eva] Recording results for main
+[eva] done for function main
 ...
 \end{logs}
 
@@ -1593,7 +1596,7 @@ range of the integer type it is converted to.
 ov_float_int.c:6:[kernel] warning: overflow in conversion from floating-point 
  to integer. assert -2147483649 < f < 2147483648;
 
-[value] Values at end of function main:
+[eva] Values at end of function main:
 f $\in$ [2000000000. .. 3000000000.]
 __retres $\in$ [2000000000..2147483647]
 \end{logs}
@@ -1876,15 +1879,15 @@ and \lstinline|int *| are \emph{not} compatible).
 \listinginput{1}{valid_function.c}
 
 \begin{logs}
-valid_function.c:9:[kernel] warning: pointer to function with incompatible type.
-        assert \valid_function(p);
-valid_function.c:9:[kernel] warning: Neither code nor specification for
-        function f1, generating default assigns from the prototype
-[value] using specification for function f1
-valid_function.c:12:[kernel] warning: pointer to function with incompatible type.
-        assert \valid_function(p);
-valid_function.c:12:[value] assertion 'Value,function_pointer' got final status
-        invalid.
+[eva:alarm] valid_function.c:9: Warning:
+  pointer to function with incompatible type. assert \valid_function(p);
+[kernel:annot:missing-spec] valid_function.c:9: Warning:
+  Neither code nor specification for function f1, generating default assigns from the prototype
+[eva] using specification for function f1
+[eva:alarm] valid_function.c:12: Warning:
+  pointer to function with incompatible type. assert \valid_function(p);
+[eva] valid_function.c:12:
+  assertion 'Eva,function_pointer' got final status invalid.
 \end{logs}
 
 %TODO: alarm for pointer subtraction
@@ -1933,10 +1936,10 @@ is imprecise.
 Examples of messages that result from the apparition of imprecision in the
 analysis are:
 \begin{logs}
-origin.c:14:[value] assigning imprecise value to pa1.
+origin.c:14:[eva] assigning imprecise value to pa1.
         The imprecision originates from Arithmetic {origin.c:14}
 
-origin.c:15:[value] writing somewhere in {ta1} 
+origin.c:15:[eva] writing somewhere in {ta1} 
         because of Arithmetic {origin.c:14}.
 \end{logs}
 
@@ -2202,7 +2205,7 @@ Besides, the source code of some of the functions used by
 the application may not be available (library functions for instance).
 The plug-in can be used, usually with more work, in all these circumstances.
 The options for specifying the entry point of the analysis are detailed
-in this manual, section \ref{trait_fonctions}.
+in this manual, section \ref{val-use-spec}.
 
 \subsection{Entry point of a complete application}
 
@@ -2561,7 +2564,7 @@ the following program does not terminate:
 If this program is analyzed
 with the default options of \Eva{}, the analysis finds
 that every time execution reaches the end of \lstinline|main|, the value
-of \lstinline|x| is in  $\bropen 100..127\brclose$. This does
+of \lstinline|x| is $\geq 100$. This does
 not mean that the function always terminates or even that it may
 sometimes terminate (it does neither). When \Eva{}
 proposes an interval for \lstinline|x| at a point P, 
@@ -2588,7 +2591,7 @@ int x, y, z;
 main(int c){
   ...
   ...
-/* At this point \Eva{} guarantees:
+/* At this point Eva guarantees:
    x IN {0; 1} 
    y IN {0; 1}; */
   z = 10 / (x - y);
@@ -2631,7 +2634,27 @@ Just in case.}
 
 \vspace{2cm}
 
+Parameterization of \Eva{} involves two main kinds of options:
+{\em correctness options} and {\em performance tuning options}.
+The former require understanding of their meaning and of the extra hypotheses
+they entail; used incorrectly, they can lead to a wrong analysis.
+The latter control the tradeoff between the quality of the results and the
+resources taken by the analyzer to provide them (CPU time and memory usage).
+These options cannot be used wrongly, in the sense that they do not affect the
+correctness of the results. However, using them efficiently is essential for
+scalability of the analysis.
+
+Section \ref{command-line} presents the general usage options of \Eva{} in the
+command-line.
+The options described in section \ref{context} are correctness options,
+while the remaining sections (\ref{boucles-traitement},
+\ref{controlling-approximations} and \ref{sec:eva}) deal with performance
+tuning options. Finally, \ref{nonterm} presents a derived analysis to
+obtain information about non-termination.
+
+
 \section{Command line}
+\label{command-line}
 
 The parameters that determine Frama-C's behavior can be
 set through the command line.
@@ -2795,7 +2818,7 @@ prototype of \lstinline|main| is:
   {examples/parametrizing/simple-main.c}
 The types of arguments \lstinline|argc| and \lstinline|argv| 
 translate into the following initial values:
-\lstinputlisting[linerange={9-15}]
+\lstinputlisting[linerange={10-16}]
   {examples/parametrizing/simple-main.log}
 
 This is generally not what is wanted, but then again, embedded applications
@@ -2903,7 +2926,7 @@ also decided by the value of option \lstinline|-eva-context-width|.
 Example: with the default value \lstinline|2| for option
 \lstinline|-eva-context-width|, the declaration \lstinline|int *(t[5]);|
 causes the following array to be allocated:
-\lstinputlisting[linerange={9-14}]
+\lstinputlisting[linerange={10-15}]
   {examples/parametrizing/context-width.log}
       
 Note that for both arrays of pointers and pointers to pointers,
@@ -2930,7 +2953,7 @@ two is plenty for most programs.
 For instance, here is the initial state displayed by \Eva{}
 in \lstinline|-lib-entry| mode if a global variable \lstinline|s| 
 has type \lstinline|struct S| defined above:
-\lstinputlisting[linerange={7-13}]
+\lstinputlisting[linerange={6-13}]
   {examples/parametrizing/context-depth.1.log}
 \lstinputlisting[linerange={17-20},breaklines=true]
   {examples/parametrizing/context-depth.1.log}
@@ -2947,7 +2970,7 @@ Below are the initial contents for a variable \lstinline|s| of type \lstinline|s
 with options \lstinline|-eva-context-width 1|
 \lstinline|-eva-context-depth 1|:
 
-\lstinputlisting[linerange={7-17}]
+\lstinputlisting[linerange={6-16}]
   {examples/parametrizing/context-depth.2.log}
                                            
 \subsubsection{The possibility of invalid pointers}
@@ -2982,7 +3005,7 @@ a variable \lstinline|s| of
 type \lstinline|struct S| receives  the following initial contents,
 modeling a chained list of length exactly 3:
 
-\lstinputlisting[linerange={7-12}]
+\lstinputlisting[linerange={6-11}]
   {examples/parametrizing/context-depth.3.log}
 
 \subsection{State of the IEEE 754 environment}
@@ -3148,24 +3171,58 @@ informed assumptions. However, no guarantee is made that those assumptions
 over-approximate the real behavior of the function. The inferred
 contract should be verified carefully by the user.
 
+\subsection{Using the specification of a function instead of its body}
+\label{val-use-spec}
 
+In some cases, one can estimate that the analysis of a given function \verb+f+
+takes too much time. This can be caused by a very complex
+function, or because \verb+f+ is called many times during the analysis.
+Another situation is when a function already has a functional specification,
+proved for instance with the \textsf{WP} plug-in, and we do not want/need
+to analyze it with \Eva{}.
 
-\section{Controlling approximations}
+In the cases above, a somewhat radical
+approach consists in replacing the entire body of the function
+by an ACSL contract that describes its behavior. See for example
+section~\ref{annot_assigns} for how to specify which values the function
+reads and writes.
 
-Unlike options of section \ref{context}, which used wrongly may cause
-\Eva{} to produce incorrect results, all the options
-in this section give the user control over the tradeoff between the
-quality of the results and the resources taken by the analyzer to
-provide them. The options described in this section can, so to speak,
-not be used wrongly. They may cause Frama-C to exhaust the available
-memory, to take a nearly infinite time, or, in the other direction,
-to produce results so imprecise that they are useless, but {\bf never}
-to produce incorrect results.
-
-\subsection{Treatment of loops}
-\label{boucles-traitement}
+Alternatively, one can leave the body of the function untouched, but
+still write a contract. Then it is possible to use the option
+\verb+-eva-use-spec f+. This instructs \Eva{} to use the
+specification of \verb+f+ instead of its body each time a call to
+\verb+f+ is encountered. This is equivalent\footnote{Except for a few
+  properties, as described in the next paragraph.} to deleting the body
+of \verb+f+ for \Eva{}, but not for the other plug-ins of \FramaC,
+that may study the body of \verb+f+ on their own.
+
+Notice that option \verb+-eva-use-spec f+ loses some guarantees. In particular,
+the body of \verb+f+ is not studied at all by \Eva{}. Neither
+are the functions that \verb+f+ calls, unless they are used by some other
+functions than \verb+f+. Moreover, \Eva{} does not attempt
+to check that \verb+f+ conforms to its specification. In particular,
+postconditions are marked as {\em unknown} with \verb+-eva-use-spec+,
+while they are {\em considered valid} for functions without body.
+It is the responsibility
+of the user to verify those facts, for example by studying \verb+f+
+on its own in a generic context.
 
-\subsubsection{Default treatment of loops}
+
+
+%\section{Controlling approximations}
+%
+%Unlike options of section \ref{context}, which used wrongly may cause
+%\Eva{} to produce incorrect results, all the options
+%in this section give the user control over the tradeoff between the
+%quality of the results and the resources taken by the analyzer to
+%provide them. The options described in this section can, so to speak,
+%not be used wrongly. They may cause Frama-C to exhaust the available
+%memory, to take a nearly infinite time, or, in the other direction,
+%to produce results so imprecise that they are useless, but {\bf never}
+%to produce incorrect results.
+
+\section{Improving precision in loops}
+\label{boucles-traitement}
 
 The default treatment of loops by the analyzer may produce
 results that are too approximate. Tuning 
@@ -3178,8 +3235,181 @@ entering the loop. This englobing state may be too imprecise
 by construction: typically, if the analyzed loop is initializing
 an array, the user does not expect to see the initial values of
 the array appear in the state computed by the analyzer.
-The solution in this case is to use one of the two unrolling options,
-as described in this section.
+The solution in this case is to either unroll loops, using one of several
+available methods, or to add annotations (widening hints or loop invariants)
+that enable the analyzer to maintain precision while ensuring the analysis
+time remains bounded.
+
+\subsection{Loop unrolling}
+
+Loop unrolling is often easier to apply, since it does not require much
+knowledge about the loop, other than an estimate of the number of iterations.
+This estimate may not improve precision if too low
+or lead to unnecessary work if too high,
+but will never affect its correctness.
+
+\subsubsection{Loop unroll annotations}
+
+Whenever a loop has a fixed number of iterations (or a known upper bound),
+an easy and precise way to handle it is to include a
+\lstinline|loop unroll <n>| annotation, where
+\lstinline|<n>| is the number of iterations of the loop.
+It will indicate \Eva{} to analyze the loop by semantically unrolling each
+iteration, avoiding merging states from different iterations.
+This leads to increased cost in terms of analysis, but usually the cost
+increase is worth the improvement in precision.
+
+Such annotations must be placed before just before the loop (i.e. before the
+\lstinline|while|, \lstinline|for| or \lstinline|do| introducing the loop),
+and one annotation is required per loop, including nested ones. For instance:
+
+\begin{lstlisting}
+#define NROWS 10
+void main() {
+  int a[NROWS][20] = {0};
+  //@ loop unroll NROWS;
+  for (int i = 0; i < 10; i++) {
+    //@ loop unroll (10+10);
+    for (int j = 0; j < 20; j++) {
+      a[i][j] += i + j;
+    }
+  }
+}
+\end{lstlisting}
+
+Note that constants obtained via \lstinline|#define| macros can be used in
+annotations, as well as constant expressions. The annotations above will ensure
+that \Eva{} will unroll the loops and keep the analysis precise; otherwise,
+the array access \lstinline|a[i][j]| might generate alarms due to imprecisions.
+
+The unrolling mechanism is independent of \lstinline|-eva-slevel|
+(see next subsection): annotated loops are always unrolled at least the specified
+number of times. If the loop has not been entirely unrolled, however,
+remaining \lstinline|-eva-slevel| may be used to unroll more iterations.
+
+While it is sometimes useful to unroll only the first iterations, the usual
+objective is full unrolling; the user can enable option
+\lstinline|-value-msg-key=loop-unroll| to be informed whenever the specified
+unrolling value is insufficient to unroll the loop entirely:
+
+\begin{lstlisting}
+void main() {
+  //@ loop unroll 20; // should be 21
+  for (int i = 0 ; i <= 20 ; i ++) {
+  }
+}
+\end{lstlisting}
+
+\begin{lstlisting}
+[eva:loop-unroll] insuf-loop.c:3: loop not completely unrolled
+\end{lstlisting}
+
+Note that using an unrolling parameter which is higher than the actual number
+of iterations of a loop doesn't generally have an effect on the analysis.
+The analyzer will usually detect that further iterations are not useful.
+
+If all loops in a program need to be unrolled, one way to do it quickly
+consists in using option \lstinline|-eva-min-loop-unroll <n>|,
+where \lstinline|<n>| is the number of iterations to unroll in each loop.
+This option has lower precedence than \lstinline|loop unroll| annotations:
+\Eva{} will always consider the latter if it is present in a loop.
+This allows, for instance, to prevent unrolling of an infinite loop by
+adding \lstinline|loop unroll 0| before it, while unrolling the remaining
+loops by the specified amount in \lstinline|-eva-min-loop-unroll|.
+
+\subsubsection{Unrolling via option {\em -eva-slevel}}
+\label{slevel}
+
+The option \lstinline|-eva-slevel n| indicates that the analyzer is allowed
+to separate, in each point of the analyzed code,
+up to \lstinline|n| states from different execution paths before starting
+to compute the unions of said states. An effect of this option
+is that the states corresponding to the first, second,\ldots
+iterations in a loop remain separated, as if the loop had been unrolled.
+
+Unlike with \lstinline|loop unroll| annotations, the number \lstinline|n|
+to use with \lstinline|-eva-slevel| depends on the nature of the control flow
+graph of the function to analyze.
+If the only control structure is a loop of \lstinline|m| iterations,
+then \texttt{-eva-slevel \textsf{m+1}} allows to unroll the loop completely.
+The presence of other loops or of \lstinline|if-then-else| constructs
+multiplies the number of paths a state may correspond to,
+and thus the number of states it is necessary to keep separated
+in order to unroll a loop completely.
+For instance, the
+nested simple loops in the following example require the
+option \lstinline|-eva-slevel 55| in order to be completely unrolled:
+\lstinputlisting[numbers=left]
+  {examples/parametrizing/slevel.c}
+
+When the loops are sufficiently unrolled, the result obtained for the
+contents of array \lstinline|t| are the optimally precise:
+\lstinputlisting[linerange={14-14}]
+  {examples/parametrizing/slevel.1.log}
+
+The number to pass the option \lstinline|-eva-slevel|  is of the magnitude of
+the number of values for \lstinline|i| (the 6 integers between 0 and 5)
+times the number of possible values for \lstinline|j| (the 11
+integers comprised between 0 and 10). If a value much lower than
+this is passed, the result of the initialization of array \lstinline|t|
+will only be precise for the first cells. The option \lstinline|-eva-slevel 28|
+gives for instance the following result for array \lstinline|t|:
+\lstinputlisting[linerange={15-16}]
+  {examples/parametrizing/slevel.2.log}
+
+In this result, the effects of the first iterations of the loops
+(for the whole of \lstinline|t[0]|, the whole of \lstinline|t[1]| and the first
+half of \lstinline|t[2]|) have been computed precisely. The
+effects on the rest of \lstinline|t| were computed with
+approximations. Because of these approximations, the analyzer can not
+tell whether each of those cells contains 1 or its original value 0.
+The value proposed for the cells \lstinline|t[2][5]| and following
+is imprecise but correct. The set \lstinline|{0; 1}| does
+contain the actual value \lstinline|1| of the cells.
+
+The option \lstinline|-eva-slevel-function f:n| tells the analyzer to apply 
+semantic unrolling level \lstinline|n| to function \lstinline|f|.
+This fine-tuning option allows to 
+force the analyzer to invest time precisely analyzing functions that matter,
+for instance \lstinline|-eva-slevel-function crucial_initialization:2000|.
+Oppositely, options \lstinline|-eva-slevel 100 -eva-slevel-function trifle:0| 
+can be used together to avoid squandering resources over irrelevant parts of 
+the analyzed application. The \lstinline|-eva-slevel-function| option can be used 
+several times to set the semantic unrolling level of several functions.
+
+Overall, \lstinline|-eva-slevel| has the advantage of being quick to setup.
+However, it does not allow fine grained control as loop unrolling annotations,
+it is context-dependent (e.g. for nested loops), unstable (minor changes in
+control flow may affect the usage of slevel) and hard to estimate in presence
+of complex control flows.
+
+\subsubsection{Syntactic unrolling}
+
+Syntactic unrolling (option \lstinline|-ulevel n|, provided by the \FramaC
+kernel), while not recommended when using \Eva{}, is another way to unroll
+loops for a more precise analysis. The only advantage of syntactic unrolling
+is that the GUI will show separate statements, allowing
+the user to see the values of variables at each iteration.
+However, this method is slower and leads to code which may become less
+readable, due to the introduction of extra variables, labels and statements.
+
+The value \lstinline$n$ is the number of times to unroll the loop before starting
+any analysis (if larger than the number of loop iterations, the extra code will
+still be generated, but it may end up being considered unreachable by \Eva{}).
+In any case, a large value for \lstinline|n| makes the analyzed code larger,
+especially for nested loops. This may cause the analyzer to use more time and
+memory.
+
+It is possible to control syntactic unrolling for each loop in the analyzed code
+with the annotation \lstinline|//@loop pragma UNROLL n;|, placed before the loop.
+
+
+\subsection{Widening hints and loop invariants}
+
+Besides loop unrolling, another technique to improve precision in loops
+consists in using the standard computation by accumulation mechanism present in
+tools based on abstract interpretation. This mechanism requires a more involved
+setup, but can lead to more efficient analyses.
 
 As compared to loop unrolling, the advantage of the computation
 by accumulation is that it generally requires less iterations
@@ -3196,7 +3426,7 @@ parameters in the widening process, it may (rarely) be appropriate
 to help it by providing it with the bounds that are likely to
 be reached, for a given variable modified inside a loop.
 
-\subsubsection{Stipulating bounds}
+\subsubsection{Widening hints}
 \label{subsub:widen-hints}
 
 The user may place an annotation \lstinline|//@ widen_hints $v$, $e_1,\ldots,e_m$ ;|
@@ -3268,103 +3498,10 @@ Example:
 \lstinputlisting[numbers=left]
   {examples/parametrizing/pragma-widen-hints.c}
 
-\subsubsection{Loop unrolling}\label{deroulage}
-
-There are two different options for forcing \Eva{}
-to unroll the effects of the body of the loop, as many times as
-specified, in order to obtain a precise representation of the effects
-of the loop itself. If the number of iterations is sufficient,
-the analyzer is thus able to determine that each cell in the array
-is initialized, as opposed to the approximation techniques
-from the previous section.
-
-\paragraph{Syntactic unrolling}
-
-The option \lstinline|-ulevel n| indicates that Frama-C should unroll
-the loops syntactically \lstinline$n$ times before starting any analysis.
-If the provided number \lstinline|n| is larger than the number of iterations
-of the loop, then the loop is completely unrolled and the analysis will
-not observe any loop in that part of the code.
-
-Providing a large value for \lstinline|n| makes the analyzed code bigger:
-this may cause the analyzer to use more time and memory. This option
-can also make the code notably bigger in presence of
-nested loops (polynomially bigger in the depth of nested loops). A large value
-should therefore not be used in this case.
-
-It is possible to control the syntactic unrolling for each
-loop in the analyzed code with the annotation
-\lstinline|//@ loop pragma UNROLL n;|.  The user should place 
-this annotation in the source code, just before
-the loop. This annotation causes Frama-C's front-end to unroll 
-the loop \lstinline|n| times.
-
-\paragraph{Semantic unrolling}
-\label{slevel}
-
-The option \lstinline|-eva-slevel n| indicates that the analyzer is allowed
-to separate, in each point of the analyzed code,
-up to \lstinline|n| states from different execution paths before starting
-to compute the unions of said states. An effect of this option
-is that the states corresponding to the first, second,\ldots
-iterations in the loop remain separated, as if the loop had been
-unrolled.
-
-The number \lstinline|n| to use depends on the
-nature of the control flow graph of the function to analyze.
-If the only control structure is a loop of \lstinline|m| iterations,
-then \texttt{-eva-slevel \textsf{m+1}} allows to unroll the loop completely.
-The presence of other loops or of \lstinline|if-then-else| constructs
-multiplies the number of paths a state may correspond to,
-and thus the number of states it is necessary to keep separated
-in order to unroll a loop completely.
-For instance, the
-nested simple loops in the following example require the
-option \lstinline|-eva-slevel 55| in order to be completely unrolled:
-\lstinputlisting[numbers=left]
-  {examples/parametrizing/slevel.c}
-
-When the loops are sufficiently unrolled, the result obtained for the
-contents of array \lstinline|t| are the optimally precise:
-\lstinputlisting[linerange={16-16}]
-  {examples/parametrizing/slevel.1.log}
-
-The number to pass the option \lstinline|-eva-slevel|  is of the magnitude of
-the number of values for \lstinline|i| (the 6 integers between 0 and 5)
-times the number of possible values for \lstinline|j| (the 11
-integers comprised between 0 and 10). If a value much lower than
-this is passed, the result of the initialization of array \lstinline|t|
-will only be precise for the first cells. The option \lstinline|-eva-slevel 28|
-gives for instance the following result for array \lstinline|t|:
-\lstinputlisting[linerange={17-18}]
-  {examples/parametrizing/slevel.2.log}
-
-In this result, the effects of the first iterations of the loops
-(for the whole of \lstinline|t[0]|, the whole of \lstinline|t[1]| and the first
-half of \lstinline|t[2]|) have been computed precisely. The
-effects on the rest of \lstinline|t| were computed with
-approximations. Because of these approximations, the analyzer can not
-tell whether each of those cells contains 1 or its original value 0.
-The value proposed for the cells \lstinline|t[2][5]| and following
-is imprecise but correct. The set \lstinline|{0; 1}| does
-contain the actual value \lstinline|1| of the cells.
-
-The option \lstinline|-eva-slevel-function f:n| tells the analyzer to apply 
-semantic unrolling level \lstinline|n| to function \lstinline|f|.
-This fine-tuning option allows to 
-force the analyzer to invest time precisely analyzing functions that matter,
-for instance \lstinline|-eva-slevel-function crucial_initialization:2000|.
-Oppositely, options \lstinline|-eva-slevel 100 -eva-slevel-function trifle:0| 
-can be used together to avoid squandering resources over irrelevant parts of 
-the analyzed application. The \lstinline|-eva-slevel-function| option can be used 
-several times to set the semantic unrolling level of several functions.
-
-
 \subsubsection{Loop invariants}
 
-A last technique, complementary to the unrolling ones above, 
-consists in using the loop invariant construct of ACSL. Loop invariants
-describe some
+A last technique consists in using the loop invariant construct of ACSL.
+Loop invariants describe some
 properties that hold at the beginning of each execution of a loop,
 as explained in the ACSL specification, \S2.4.2.
 %\url{http://frama-c.com/download/acsl.pdf}
@@ -3427,126 +3564,99 @@ We have effectively replaced an alarm, the possible out-of-bounds access at
 line~7, by an invariant, that remains to be proven.
 
 
-\subsection{Treatment of functions}
-\label{trait_fonctions}
-
-\subsubsection{Skipping the recording of the results of a function}
-\label{noresults}
-
-When a function \lstinline|f|
-is called many times, or, in presence of semantic unrolling,
-if \lstinline|f| contains large/nested loops, significant 
-time may be spent recording the values taken by the program's variables
-at each of \lstinline|f|'s statements.
-If the user knows that these values will not be useful later,
-ey can instruct \Eva{} not to record these with the
-\lstinline|-eva-no-results-function f| option.
-The \lstinline|-eva-no-results-function| option
-can be used several times, to omit the results of several functions.
-The option \lstinline|-eva-no-results| can be used to omit all
-results.
-The time savings can be important, as in the following example.
-
-\lstinputlisting[numbers=left]
-  {examples/parametrizing/nor.c}
-
-\begin{shell}
-time frama-c -eva nor.c -eva-slevel 2001
-\end{shell}
-
-\lstinputlisting[linerange={36-39},numbers=left,firstnumber=36]
-  {examples/parametrizing/nor.1.log}
-\lstinputlisting[linerange={2036-2041},numbers=left,firstnumber=2036]
-  {examples/parametrizing/nor.1.log}
-\lstinputlisting[linerange={4038-4042},numbers=left,firstnumber=4038]
-  {examples/parametrizing/nor.1.log}
-
-Launched with option \lstinline|-eva-slevel 2001| so that the value returned
-by \lstinline|main| can be computed precisely, the analysis takes 3 seconds.
- Contrast with:
-
-\begin{shell}                                             
-time frama-c -eva nor.c -eva-slevel 2001 -eva-no-results-function irrelevant_function
-\end{shell}
-
-\lstinputlisting[linerange={36-40},numbers=left,firstnumber=36]
-  {examples/parametrizing/nor.2.log}
-\lstinputlisting[linerange={2037-2041},numbers=left,firstnumber=2037]
-  {examples/parametrizing/nor.2.log}
-
-When instructed, with 
-option \lstinline|-eva-no-results-function irrelevant_function|,
-that the values for the function
-\lstinline|irrelevant_function| do not need to be kept, \Eva{}
-takes less than a second to produce its results. This shows
-that in the earlier analysis, most of the time was not spent in the
-analysis itself but in recording the values
-of \lstinline|irrelevant_function|.
-
-Note that the function \lstinline|irrelevant_function| was analyzed with
-as much precision as before, and that the result for \lstinline|main| is
-as precise as before. The recording of some results 
-is omitted, but this does not cause any loss of precision {\em during}
-the analysis\footnote{The emission of run-time error alarms and the evaluation
-of user-provided ACSL properties are done during the analysis and are 
-not influenced by the {\tt -eva-no-results*} options. If you make use
-of only these functionalities, then you can speed up the analysis 
-with option {\tt -eva-no-results} without detrimental effects.}.
-The results for \verb|irrelevant_function| are, as expected, unavailable.
-The ``outputs'' of \verb|main| (the ``outputs'' computation is
-described in chapter \ref{inoutdeps}) cannot be computed, because
-they depend on the outputs of \lstinline|irrelevant_function|, which
-require the values of that function to be computed.
-These outputs would automatically be used for
-displaying only the relevant variables if they were available.
-Instead, all the program's variables are displayed.
-
-The meaning of option \lstinline|-eva-no-results-function irrelevant_function|
-is different from that of option 
-\lstinline|-eva-slevel-function irrelevant_function:0|. In the case of the latter,
-values
-are computed with less precision for \verb|irrelevant_function|
-but the computed values are kept in memory as usual.
-All derived analyses (such as outputs)
-are available, but the values predicted by the analysis are
-less precise, because \verb|irrelevant_function| has been analyzed
-less precisely.
-
-\subsubsection{Using the specification of a function instead of its body}
-\label{val-use-spec}
+%% \section{Treatment of functions}
+%% \label{trait_fonctions}
+
+%% Some \Eva{} options can be used to handle certain functions in a special
+%% way, to improve the efficiency of the analysis.
+
+
+%% \subsubsection{Skipping the recording of the results of a function}
+%% \label{noresults}
+
+%% When a function \lstinline|f|
+%% is called many times, or, in presence of semantic unrolling,
+%% if \lstinline|f| contains large/nested loops, significant 
+%% time may be spent recording the values taken by the program's variables
+%% at each of \lstinline|f|'s statements.
+%% If the user knows that these values will not be useful later,
+%% ey can instruct \Eva{} not to record these with the
+%% \lstinline|-eva-no-results-function f| option.
+%% The \lstinline|-eva-no-results-function| option
+%% can be used several times, to omit the results of several functions.
+%% The option \lstinline|-eva-no-results| can be used to omit all
+%% results.
+%% It can result in a significant saving of time, as in the following example.
+
+%% \lstinputlisting[numbers=left]
+%%   {examples/parametrizing/nor.c}
+
+%% \begin{shell}
+%% time frama-c -eva nor.c -eva-slevel 2001
+%% \end{shell}
+
+%% \lstinputlisting[linerange={30-33},numbers=left,firstnumber=36]
+%%   {examples/parametrizing/nor.1.log}
+%% \lstinputlisting[linerange={2032-2035},numbers=left,firstnumber=2036]
+%%   {examples/parametrizing/nor.1.log}
+%% \lstinputlisting[linerange={4032-4036},numbers=left,firstnumber=4038]
+%%   {examples/parametrizing/nor.1.log}
+
+%% Launched with option \lstinline|-eva-slevel 2001| so that the value returned
+%% by \lstinline|main| can be computed precisely, the analysis takes more than
+%% half a second.
+%%  Contrast with:
+
+%% \begin{shell}                                             
+%% time frama-c -eva nor.c -eva-slevel 2001 -eva-no-results-function irrelevant_function
+%% \end{shell}
+
+%% \lstinputlisting[linerange={30-34},numbers=left,firstnumber=36]
+%%   {examples/parametrizing/nor.2.log}
+%% \lstinputlisting[linerange={2031-2035},numbers=left,firstnumber=2037]
+%%   {examples/parametrizing/nor.2.log}
+
+%% When instructed, with 
+%% option \lstinline|-eva-no-results-function irrelevant_function|,
+%% that the values for the function
+%% \lstinline|irrelevant_function| do not need to be kept, \Eva{}
+%% takes less than half the time to produce its results. This shows
+%% that in the earlier analysis, most of the time was not spent in the
+%% analysis itself but in recording the values
+%% of \lstinline|irrelevant_function|.
+
+%% Note that the function \lstinline|irrelevant_function| was analyzed with
+%% as much precision as before, and that the result for \lstinline|main| is
+%% as precise as before. The recording of some results 
+%% is omitted, but this does not cause any loss of precision {\em during}
+%% the analysis\footnote{The emission of run-time error alarms and the evaluation
+%% of user-provided ACSL properties are done during the analysis and are 
+%% not influenced by the {\tt -eva-no-results*} options. If you make use
+%% of only these functionalities, then you can speed up the analysis 
+%% with option {\tt -eva-no-results} without detrimental effects.}.
+%% The results for \verb|irrelevant_function| are, as expected, unavailable.
+%% The ``outputs'' of \verb|main| (the ``outputs'' computation is
+%% described in chapter \ref{inoutdeps}) cannot be computed, because
+%% they depend on the outputs of \lstinline|irrelevant_function|, which
+%% require the values of that function to be computed.
+%% These outputs would automatically be used for
+%% displaying only the relevant variables if they were available.
+%% Instead, all the program's variables are displayed.
+
+%% The meaning of option \lstinline|-eva-no-results-function irrelevant_function|
+%% is different from that of option 
+%% \lstinline|-eva-slevel-function irrelevant_function:0|. In the case of the latter,
+%% values
+%% are computed with less precision for \verb|irrelevant_function|
+%% but the computed values are kept in memory as usual.
+%% All derived analyses (such as outputs)
+%% are available, but the values predicted by the analysis are
+%% less precise, because \verb|irrelevant_function| has been analyzed
+%% less precisely.
 
-In some cases, one can estimate that the analysis of a given function \verb+f+
-takes too much time. This can be caused by a very complex
-function, or because \verb+f+ is called many times during the analysis.
-If the solutions of the previous section are not sufficient, a radical
-approach consists in replacing the entire body of the function
-by an ACSL contract, that describes its behavior. See for example
-section~\ref{annot_assigns} for how to specify which values the function
-reads and writes.
 
-Alternatively, one can leave the body of the function untouched, but
-still write a contract. Then it is possible to use the option
-\verb+-eva-use-spec f+. This instructs \Eva{} to use the
-specification of \verb+f+ instead of its body each time a call to
-\verb+f+ is encountered. This is equivalent\footnote{Except for a few
-  properties, as described in the next paragraph.} to deleting the body
-of \verb+f+ for \Eva{}, but not for the other plug-ins of \FramaC,
-that may study the body of \verb+f+ on their own.
-
-Notice that option \verb+-eva-use-spec f+ loses some guarantees. In particular,
-the body of \verb+f+ is not studied at all by \Eva{}. Neither
-are the functions that \verb+f+ calls, unless they are used by some other
-functions than \verb+f+. Moreover, \Eva{} does not attempt
-to check that \verb+f+ conforms to its specification. In particular,
-postconditions are marked as {\em unknown} with \verb+-eva-use-spec+,
-while they are {\em considered valid} for functions without body.
-It is the responsibility
-of the user to verify those facts, for example by studying \verb+f+
-on its own in a generic context.
-
-
-
-\section{Analysis cutoff values}
+\section{Controlling approximations}
+\label{controlling-approximations}
 
 \subsection{Cutoff between integer sets and integer intervals}
 
@@ -3562,16 +3672,46 @@ Example:
 With the default limit of 8 elements for sets of integers, the
 analysis of the program shows a correct but approximated result:
 
-\lstinputlisting[linerange={28-30}]
+\lstinputlisting[linerange={23-23}]
   {examples/parametrizing/ilevel.1.log}
 
 Studying the program, the user may decide to improve the precision of
 the result by adding \verb|-eva-ilevel 16| to the command line. The
 analysis result then becomes:
 
-\lstinputlisting[linerange={28-30}]
+\lstinputlisting[linerange={23-23}]
   {examples/parametrizing/ilevel.2.log}
 
+\subsection{Maximum number of precise items in arrays}
+
+Option \verb|-eva-plevel <n>| is used to limit the number of elements
+in an array that can be considered precisely during assignments.
+When assigning a value to an array element, if the index is imprecise,
+it may be very costly to update each array element individually.
+Instead, if the range of indices to be accessed is larger than {\em plevel},
+some approximations are made and a message is emitted:
+
+\begin{lstlisting}
+[kernel] arrays.c:32:
+  more than 200(300) elements to enumerate. Approximating.
+\end{lstlisting}
+
+This message means that the array to be updated had 300 elements, and
+\verb|-eva-plevel| was set to 200 (the default value). In this case, it
+might be reasonable to increase the plevel to 300, especially if some alarms
+could be caused by the imprecision. In other cases, however, there is little
+hope of obtaining a reasonable bound:
+
+\begin{lstlisting}
+more than 200(0x20000000) elements to enumerate. Approximating.
+\end{lstlisting}
+
+In some cases, lowering the plevel can improve performance, but it is rarely
+a significant factor. Most of the time, this option has little impact in the
+analysis, both in terms of precision and performance. However, when dealing
+with large arrays and matrices, it is worth considering its usage.
+
+
 \section{Advanced analyses}
 \label{sec:eva}
 
@@ -3831,7 +3971,7 @@ interpreted as leading to any possible value.
 Moreover, the domain only infers error values for scalar variables. Structure
 and union fields, as well as arrays, are ignored.
 
-\section{Non-termination}
+\section{Non-termination}\label{nonterm}
 
 The parameterization of \Eva{} can lead to situations where the
 analysis stops abruptly due to the absence of valid states. For instance,
@@ -4134,7 +4274,7 @@ to prove is therefore the assertion at line 8.
 
 \subsubsection{Case analysis}
 
-When using {\em semantic unrolling} (section \ref{deroulage}), if an
+When using {\em slevel-based unrolling} (section \ref{slevel}), if an
 assertion is a disjunction, then the reduction of the state by the
 assertion may be computed independently for each disjunct.  This
 multiplies the number of states to propagate in the same way that
@@ -4637,8 +4777,8 @@ analysis starts diverging, it will print (by default) several messages of this
 form:
 
 \begin{listing-nonumber}
-[value] allocating variable __malloc_main_l42_2981
-[value] allocating variable __malloc_main_l42_2982
+[eva] allocating variable __malloc_main_l42_2981
+[eva] allocating variable __malloc_main_l42_2982
 \end{listing-nonumber}
 
 This indicates that new bases are being created.
diff --git a/doc/value/makefile b/doc/value/makefile
index 63e44b450e00db4cbfd4306b1ad75eefdb415c50..01b7f9053b1dda140a0973bba93923607f0745c6 100644
--- a/doc/value/makefile
+++ b/doc/value/makefile
@@ -23,5 +23,5 @@ clean:
 	rm -f $(GENERATED)
 
 install:
-	rm -f ../manuals/value-analysis.pdf
-	cp main.pdf ../manuals/value-analysis.pdf
+	rm -f ../manuals/eva-manual.pdf
+	cp main.pdf ../manuals/eva-manual.pdf
diff --git a/headers/check-headers.sh b/headers/check-headers.sh
index b88fa6305f5dd6a475b76a867a31a62f25a77b65..0a1a95e0b3512aa4609c4a20423f6e146db93bca 100755
--- a/headers/check-headers.sh
+++ b/headers/check-headers.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/headers/close-source/ACSL_EL b/headers/close-source/ACSL_EL
index 9984ea26eef801b99be0c4f6907226321bb018aa..99fcded1099e2e97889204aeb4ba741d6e2be775 100644
--- a/headers/close-source/ACSL_EL
+++ b/headers/close-source/ACSL_EL
@@ -4,7 +4,7 @@ This file is part of Frama-C.
 Copyright (C) 2008-2011
   Pierre Roux
 
-Copyright (C) 2009-2018
+Copyright (C) 2009-2019
   CEA LIST
 
 you can redistribute it and/or modify it under the terms of the GNU
diff --git a/headers/close-source/AORAI_LGPL b/headers/close-source/AORAI_LGPL
index ddcbbf500594d273881958a13ffee1e56bd1302f..a37f43ed4dbcdcde1649a901b47d1448db0434a8 100644
--- a/headers/close-source/AORAI_LGPL
+++ b/headers/close-source/AORAI_LGPL
@@ -1,7 +1,7 @@
 
 This file is part of Aorai plug-in of Frama-C.
 
-Copyright (C) 2007-2018
+Copyright (C) 2007-2019
   CEA (Commissariat à l'énergie atomique et aux énergies
        alternatives)
   INRIA (Institut National de Recherche en Informatique et en
diff --git a/headers/close-source/CEA_INRIA_LGPL b/headers/close-source/CEA_INRIA_LGPL
index f71388de28872349b680152efd0418b1a7e49aa1..62bce5275ee7ad73c9f8b8b1ff70d75fd581e612 100644
--- a/headers/close-source/CEA_INRIA_LGPL
+++ b/headers/close-source/CEA_INRIA_LGPL
@@ -1,7 +1,7 @@
 
 This file is part of Frama-C.
 
-Copyright (C) 2007-2018
+Copyright (C) 2007-2019
   CEA   (Commissariat à l'énergie atomique et aux énergies
          alternatives)
   INRIA (Institut National de Recherche en Informatique et en
diff --git a/headers/close-source/CEA_LGPL b/headers/close-source/CEA_LGPL
index 236c12248780eadc45026e657f79dde38615ca27..87798be30e7cf28ebbd3b7c2365e95b7d2fad5a8 100644
--- a/headers/close-source/CEA_LGPL
+++ b/headers/close-source/CEA_LGPL
@@ -1,7 +1,7 @@
 
 This file is part of Frama-C.
 
-Copyright (C) 2007-2018
+Copyright (C) 2007-2019
   CEA (Commissariat à l'énergie atomique et aux énergies
        alternatives)
 
diff --git a/headers/close-source/CEA_LGPL_OR_PROPRIETARY b/headers/close-source/CEA_LGPL_OR_PROPRIETARY
index 39bb899ccc59fce71bc7639790fd77a509eb5ad3..d592caa19b9f4fcfa3ecf8db45b1b68e8affe87b 100644
--- a/headers/close-source/CEA_LGPL_OR_PROPRIETARY
+++ b/headers/close-source/CEA_LGPL_OR_PROPRIETARY
@@ -1,7 +1,7 @@
 
 This file is part of Frama-C.
 
-Copyright (C) 2007-2018
+Copyright (C) 2007-2019
   CEA (Commissariat à l'énergie atomique et aux énergies
        alternatives)
 
diff --git a/headers/close-source/CEA_PROPRIETARY b/headers/close-source/CEA_PROPRIETARY
index 39bb899ccc59fce71bc7639790fd77a509eb5ad3..d592caa19b9f4fcfa3ecf8db45b1b68e8affe87b 100644
--- a/headers/close-source/CEA_PROPRIETARY
+++ b/headers/close-source/CEA_PROPRIETARY
@@ -1,7 +1,7 @@
 
 This file is part of Frama-C.
 
-Copyright (C) 2007-2018
+Copyright (C) 2007-2019
   CEA (Commissariat à l'énergie atomique et aux énergies
        alternatives)
 
diff --git a/headers/close-source/CEA_WP b/headers/close-source/CEA_WP
index 83802f3b8f0cbcbdff584ff08ba0177c7e766e67..079a10bf96bc6d3deaf3f65262a37ed59d8fe287 100644
--- a/headers/close-source/CEA_WP
+++ b/headers/close-source/CEA_WP
@@ -1,9 +1,10 @@
 
 This file is part of WP plug-in of Frama-C.
 
-Copyright (C) 2007-2018
-  CEA (Commissariat a l'energie atomique et aux energies 
+Copyright (C) 2007-2019
+  CEA (Commissariat a l'energie atomique et aux energies
        alternatives)
 
 All rights reserved.
 Contact CEA LIST for licensing.
+
diff --git a/headers/headache.sh b/headers/headache.sh
index 4da5fb8b04fd05d32c10ca44bbe4cf3cc9213887..6231da5ef50c928990d2eceb54039d05879814db 100755
--- a/headers/headache.sh
+++ b/headers/headache.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/headers/header_spec.txt b/headers/header_spec.txt
index 1c366973dbd44dc51ca0816462a3ae6433d0ca50..0a279499223744d29686aa8da1ff084dab09e751 100644
--- a/headers/header_spec.txt
+++ b/headers/header_spec.txt
@@ -116,9 +116,17 @@ share/_frama-c: CEA_LGPL
 share/analysis-scripts/frama-c.mk: CEA_LGPL
 share/analysis-scripts/README.md: .ignore
 share/analysis-scripts/cmd-dep.sh: .ignore
+share/analysis-scripts/concat-csv.sh: .ignore
+share/analysis-scripts/examples/example.c: .ignore
+share/analysis-scripts/examples/example.mk: .ignore
+share/analysis-scripts/examples/example-multi.mk: .ignore
+share/analysis-scripts/examples/example-slevel.mk: .ignore
+share/analysis-scripts/examples/Makefile: .ignore
+share/analysis-scripts/find_fun.py: .ignore
 share/analysis-scripts/flamegraph.pl: CDDL
 share/analysis-scripts/list_files.py: .ignore
 share/analysis-scripts/parse-coverage.sh: .ignore
+share/analysis-scripts/summary.sh: .ignore
 share/analysis-scripts/template.mk: .ignore
 share/autocomplete_frama-c: CEA_LGPL
 share/Makefile.clean: CEA_LGPL
@@ -179,9 +187,10 @@ share/libc/__fc_define_uid_and_gid.h: CEA_LGPL
 share/libc/__fc_define_useconds_t.h: CEA_LGPL
 share/libc/__fc_define_wchar_t.h: CEA_LGPL
 share/libc/__fc_define_wint_t.h: CEA_LGPL
+share/libc/__fc_gcc_builtins.h: CEA_LGPL
 share/libc/__fc_inet.h: CEA_LGPL
 share/libc/__fc_machdep.h: CEA_LGPL
-share/libc/__fc_machdep_linux_gcc_shared.h: CEA_LGPL
+share/libc/__fc_machdep_linux_shared.h: CEA_LGPL
 share/libc/__fc_select.h: CEA_LGPL
 share/libc/__fc_string_axiomatic.h: CEA_LGPL
 share/libc/alloca.h: CEA_LGPL
@@ -285,6 +294,7 @@ share/libc/syslog.h: CEA_LGPL
 share/libc/termios.h: CEA_LGPL
 share/libc/tgmath.h: CEA_LGPL
 share/libc/time.h: CEA_LGPL
+share/libc/time.c: CEA_LGPL
 share/libc/uchar.h: CEA_LGPL
 share/libc/unistd.h: CEA_LGPL
 share/libc/utime.h: CEA_LGPL
@@ -745,6 +755,10 @@ src/plugins/from/from_register_gui.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/from/from_register_gui.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/from/functionwise.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/from/functionwise.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/gui/GSourceView2.ml.in: CEA_LGPL_OR_PROPRIETARY
+src/plugins/gui/GSourceView2.mli.in: CEA_LGPL_OR_PROPRIETARY
+src/plugins/gui/GSourceView3.ml.in: CEA_LGPL_OR_PROPRIETARY
+src/plugins/gui/GSourceView3.mli.in: CEA_LGPL_OR_PROPRIETARY
 src/plugins/gui/analyses_manager.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/gui/analyses_manager.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/gui/book_manager.ml: CEA_LGPL_OR_PROPRIETARY
@@ -753,10 +767,15 @@ src/plugins/gui/debug_manager.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/gui/debug_manager.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/gui/design.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/gui/design.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/gui/dgraph.ml.in: CEA_LGPL_OR_PROPRIETARY
+src/plugins/gui/dgraph.mli.in: CEA_LGPL_OR_PROPRIETARY
 src/plugins/gui/file_manager.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/gui/file_manager.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/gui/filetree.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/gui/filetree.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/gui/gtk_compat.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/gui/gtk_compat.2.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/gui/gtk_compat.3.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/gui/gtk_form.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/gui/gtk_form.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/gui/gtk_helper.ml: CEA_LGPL_OR_PROPRIETARY
diff --git a/headers/open-source/ACSL_EL b/headers/open-source/ACSL_EL
index 9984ea26eef801b99be0c4f6907226321bb018aa..99fcded1099e2e97889204aeb4ba741d6e2be775 100644
--- a/headers/open-source/ACSL_EL
+++ b/headers/open-source/ACSL_EL
@@ -4,7 +4,7 @@ This file is part of Frama-C.
 Copyright (C) 2008-2011
   Pierre Roux
 
-Copyright (C) 2009-2018
+Copyright (C) 2009-2019
   CEA LIST
 
 you can redistribute it and/or modify it under the terms of the GNU
diff --git a/headers/open-source/AORAI_LGPL b/headers/open-source/AORAI_LGPL
index ddcbbf500594d273881958a13ffee1e56bd1302f..a37f43ed4dbcdcde1649a901b47d1448db0434a8 100644
--- a/headers/open-source/AORAI_LGPL
+++ b/headers/open-source/AORAI_LGPL
@@ -1,7 +1,7 @@
 
 This file is part of Aorai plug-in of Frama-C.
 
-Copyright (C) 2007-2018
+Copyright (C) 2007-2019
   CEA (Commissariat à l'énergie atomique et aux énergies
        alternatives)
   INRIA (Institut National de Recherche en Informatique et en
diff --git a/headers/open-source/CEA_INRIA_LGPL b/headers/open-source/CEA_INRIA_LGPL
index f71388de28872349b680152efd0418b1a7e49aa1..62bce5275ee7ad73c9f8b8b1ff70d75fd581e612 100644
--- a/headers/open-source/CEA_INRIA_LGPL
+++ b/headers/open-source/CEA_INRIA_LGPL
@@ -1,7 +1,7 @@
 
 This file is part of Frama-C.
 
-Copyright (C) 2007-2018
+Copyright (C) 2007-2019
   CEA   (Commissariat à l'énergie atomique et aux énergies
          alternatives)
   INRIA (Institut National de Recherche en Informatique et en
diff --git a/headers/open-source/CEA_LGPL b/headers/open-source/CEA_LGPL
index 236c12248780eadc45026e657f79dde38615ca27..87798be30e7cf28ebbd3b7c2365e95b7d2fad5a8 100644
--- a/headers/open-source/CEA_LGPL
+++ b/headers/open-source/CEA_LGPL
@@ -1,7 +1,7 @@
 
 This file is part of Frama-C.
 
-Copyright (C) 2007-2018
+Copyright (C) 2007-2019
   CEA (Commissariat à l'énergie atomique et aux énergies
        alternatives)
 
diff --git a/headers/open-source/CEA_LGPL_OR_PROPRIETARY b/headers/open-source/CEA_LGPL_OR_PROPRIETARY
index 236c12248780eadc45026e657f79dde38615ca27..87798be30e7cf28ebbd3b7c2365e95b7d2fad5a8 100644
--- a/headers/open-source/CEA_LGPL_OR_PROPRIETARY
+++ b/headers/open-source/CEA_LGPL_OR_PROPRIETARY
@@ -1,7 +1,7 @@
 
 This file is part of Frama-C.
 
-Copyright (C) 2007-2018
+Copyright (C) 2007-2019
   CEA (Commissariat à l'énergie atomique et aux énergies
        alternatives)
 
diff --git a/headers/open-source/CEA_PROPRIETARY b/headers/open-source/CEA_PROPRIETARY
index 39bb899ccc59fce71bc7639790fd77a509eb5ad3..d592caa19b9f4fcfa3ecf8db45b1b68e8affe87b 100644
--- a/headers/open-source/CEA_PROPRIETARY
+++ b/headers/open-source/CEA_PROPRIETARY
@@ -1,7 +1,7 @@
 
 This file is part of Frama-C.
 
-Copyright (C) 2007-2018
+Copyright (C) 2007-2019
   CEA (Commissariat à l'énergie atomique et aux énergies
        alternatives)
 
diff --git a/headers/open-source/CEA_WP b/headers/open-source/CEA_WP
index d123eedfb80180cfe70da25005e9d7354f3add47..19e59e23132d118cb7decbf6b6db039011fee1fc 100644
--- a/headers/open-source/CEA_WP
+++ b/headers/open-source/CEA_WP
@@ -1,7 +1,7 @@
 
 This file is part of WP plug-in of Frama-C.
 
-Copyright (C) 2007-2018
+Copyright (C) 2007-2019
   CEA (Commissariat a l'energie atomique et aux energies
        alternatives)
 
diff --git a/headers/updates-headers.sh b/headers/updates-headers.sh
index 24e1946995422ccdf6d83b41509e37e3ebdcb818..c026810335e87bb18ad896f4befb6de1af44eaad 100755
--- a/headers/updates-headers.sh
+++ b/headers/updates-headers.sh
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/man/frama-c.1 b/man/frama-c.1
index a6d2358f564f9634aba54f17efebc84c8bbb0015..8195efa760fefebbb1878eb745e3d32d4edca2a7 100644
--- a/man/frama-c.1
+++ b/man/frama-c.1
@@ -2,7 +2,7 @@
 .\"                                                                        
 .\"  This file is part of Frama-C.                                         
 .\"                                                                        
-.\"  Copyright (C) 2007-2018                                               
+.\"  Copyright (C) 2007-2019                                               
 .\"    CEA (Commissariat à l'énergie atomique et aux énergies              
 .\"         alternatives)                                                  
 .\"                                                                        
diff --git a/nix/default.nix b/nix/default.nix
new file mode 100644
index 0000000000000000000000000000000000000000..3bc25269109649cda4fcd4975e348e46a170e8e7
--- /dev/null
+++ b/nix/default.nix
@@ -0,0 +1,238 @@
+# paramaterised derivation with dependencies injected (callPackage style)
+{ pkgs, stdenv, src ? ../., opam2nix, ocaml_version ? "ocaml-ng.ocamlPackages_4_05.ocaml", plugins ? { } }:
+
+let mk_buildInputs = { opamPackages ? [] } :
+    [ pkgs.gnugrep pkgs.gnused  pkgs.autoconf pkgs.gnumake pkgs.gcc pkgs.ncurses pkgs.time pkgs.python3 pkgs.perl] ++ opam2nix.build {
+           specs = opam2nix.toSpecs ([ "ocamlfind" "zarith" "ocamlgraph"
+                { name = "coq"; constraint = "=8.7.2"; }
+                ] ++ opamPackages ++
+                (if ocaml_version == "pkgs.ocaml-ng.ocamlPackages_4_02.ocaml"
+                then [ { name = "ocamlbuild" ; constraint = "=0"; } ] else [])
+              );
+           ocamlAttr = ocaml_version;
+        };
+
+in
+
+rec {
+  inherit src;
+  buildInputs = mk_buildInputs {};
+  installed = main.out;
+  main = stdenv.mkDerivation {
+        name = "frama-c";
+        inherit src buildInputs;
+        outputs = [ "out" "build_dir" ];
+        postPatch = ''
+               patchShebangs .
+        '';
+        configurePhase = ''
+               unset CC
+               autoconf
+               ./configure --prefix=$out
+        '';
+        buildPhase = ''
+                make -j 4
+        '';
+        installPhase = ''
+               make install
+               mkdir -p $build_dir
+               tar -cf $build_dir/dir.tar .
+               pwd > $build_dir/old_pwd
+        '';
+        setupHook = pkgs.writeText "setupHook.sh" ''
+          addFramaCPath () {
+            if test -d "''$1/lib/frama-c/plugins"; then
+              export FRAMAC_PLUGIN="''${FRAMAC_PLUGIN}''${FRAMAC_PLUGIN:+:}''$1/lib/frama-c/plugins"
+              export OCAMLPATH="''${OCAMLPATH}''${OCAMLPATH:+:}''$1/lib/frama-c/plugins"
+            fi
+
+            if test -d "''$1/lib/frama-c"; then
+              export OCAMLPATH="''${OCAMLPATH}''${OCAMLPATH:+:}''$1/lib/frama-c"
+            fi
+
+            if test -d "''$1/share/frama-c/"; then
+              export FRAMAC_EXTRA_SHARE="''${FRAMAC_EXTRA_SHARE}''${FRAMAC_EXTRA_SHARE:+:}''$1/share/frama-c"
+            fi
+
+          }
+
+          addEnvHooks "$targetOffset" addFramaCPath
+        '';
+  };
+
+  lint = stdenv.mkDerivation {
+        name = "frama-c-lint";
+        inherit src;
+        buildInputs = (mk_buildInputs {opamPackages = [ "ocp-indent" ];} ) ++ [ pkgs.bc plugins.headache.installed pkgs.file ];
+        outputs = [ "out" ];
+        postPatch = ''
+               patchShebangs .
+        '';
+        configurePhase = ''
+               unset CC
+               autoconf
+               ./configure --prefix=$out
+        '';
+        buildPhase = ''
+               make lint
+               make stats-lint
+               make check-headers
+        '';
+        installPhase = ''
+               true
+        '';
+  };
+
+  tests = stdenv.mkDerivation {
+        name = "frama-c-test";
+        inherit buildInputs;
+        build_dir = main.build_dir;
+        src = main.build_dir + "/dir.tar";
+        sourceRoot = ".";
+        postUnpack = ''
+               find . \( -name "Makefile*" -or -name ".depend" -o -name "ptests_config" -o -name "config.status" \) -exec bash -c "t=\$(stat -c %y \"\$0\"); sed -i -e \"s&$(cat $build_dir/old_pwd)&$(pwd)&g\" \"\$0\"; touch -d \"\$t\" \"\$0\"" {} \;
+        '';
+        configurePhase = ''
+           true
+        '';
+        buildPhase = ''
+               make clean_share_link
+               make create_share_link
+               make tests -j4 PTESTS_OPTS="-error-code -j 4"
+        '';
+        installPhase = ''
+               true
+        '';
+  };
+
+  distrib = stdenv.mkDerivation {
+        name = "frama-c-distrib";
+        inherit src;
+        buildInputs = buildInputs ++ [ plugins.headache.installed ];
+        postPatch = ''
+               patchShebangs .
+        '';
+        configurePhase = ''
+               unset CC
+               autoconf
+               ./configure --prefix=$out
+        '';
+        buildPhase = ''
+                make DISTRIB="frama-c-archive" src-distrib
+        '';
+        installPhase = ''
+               tar -C $out --strip-components=1 -xf frama-c-archive.tar.gz
+        '';
+  };
+
+  tests-distrib = stdenv.mkDerivation {
+        name = "frama-c-tests-distrib";
+        inherit distrib buildInputs;
+        outputs = [ "out" "build_dir" ];
+        configurePhase = ''
+               unset CC
+               autoconf
+               ./configure --prefix=$out
+        '';
+        buildPhase = ''
+                make -j 4
+                make tests -j4 PTESTS_OPTS="-error-code -j 4"
+        '';
+        installPhase = ''
+               make install
+        '';
+  };
+
+  wp-qualif = stdenv.mkDerivation {
+        name = "frama-c-wp-qualif";
+        buildInputs = mk_buildInputs { opamPackages = [
+                    { name = "alt-ergo"; constraint = "=2.0.0"; }
+                    { name = "why3" ; constraint = "=0.88.3"; }
+               ]; };
+        build_dir = main.build_dir;
+        src = main.build_dir + "/dir.tar";
+        sourceRoot = ".";
+        postUnpack = ''
+               find . \( -name "Makefile*" -or -name ".depend" -o -name "ptests_config" -o -name "config.status" \) -exec bash -c "t=\$(stat -c %y \"\$0\"); sed -i -e \"s&$(cat $build_dir/old_pwd)&$(pwd)&g\" \"\$0\"; touch -d \"\$t\" \"\$0\"" {} \;
+        '';
+        configurePhase = ''
+           true
+        '';
+        buildPhase = ''
+               make clean_share_link
+               make create_share_link
+               mkdir home
+               HOME=$(pwd)/home
+               why3 config
+               bin/ptests.opt -error-code -config qualif src/plugins/wp/tests
+        '';
+        installPhase = ''
+               true
+        '';
+  };
+
+  internal = stdenv.mkDerivation {
+        name = "frama-c-internal";
+        inherit src;
+        buildInputs = (mk_buildInputs { opamPackages = [ "xml-light" ];} ) ++
+                    [ pkgs.getopt pkgs.which
+                      pkgs.libxslt pkgs.libxml2 pkgs.file pkgs.autoPatchelfHook stdenv.cc.cc.lib
+        ];
+        counter_examples_src = plugins.counter-examples.src;
+        genassigns_src = plugins.genassigns.src;
+        pathcrawler_src = plugins.pathcrawler.src;
+        mthread_src = plugins.mthread.src;
+        caveat_importer_src = plugins.caveat-importer.src;
+        acsl_importer_src = plugins.acsl-importer.src;
+        volatile_src = plugins.volatile.src;
+        e_acsl_src = plugins.e-acsl.src;
+        security_src = plugins.security.src;
+        context_from_precondition_src = plugins.context-from-precondition.src;
+        postPatch = ''
+               patchShebangs .
+        '';
+        postUnpack = ''
+           cp -r --preserve=mode "$counter_examples_src" "$sourceRoot/src/plugins/counter-examples"
+           chmod -R u+w -- "$sourceRoot/src/plugins/counter-examples"
+           cp -r --preserve=mode "$genassigns_src" "$sourceRoot/src/plugins/genassigns"
+           chmod -R u+w -- "$sourceRoot/src/plugins/genassigns"
+           cp -r --preserve=mode "$pathcrawler_src" "$sourceRoot/src/plugins/pathcrawler"
+           chmod -R u+w -- "$sourceRoot/src/plugins/pathcrawler"
+           cp -r --preserve=mode "$mthread_src" "$sourceRoot/src/plugins/mthread"
+           chmod -R u+w -- "$sourceRoot/src/plugins/mthread"
+           cp -r --preserve=mode "$caveat_importer_src" "$sourceRoot/src/plugins/caveat-importer"
+           chmod -R u+w -- "$sourceRoot/src/plugins/caveat-importer"
+           cp -r --preserve=mode "$volatile_src" "$sourceRoot/src/plugins/volatile"
+           chmod -R u+w -- "$sourceRoot/src/plugins/volatile"
+           cp -r --preserve=mode "$acsl_importer_src" "$sourceRoot/src/plugins/acsl-importer"
+           chmod -R u+w -- "$sourceRoot/src/plugins/acsl-importer"
+           cp -r --preserve=mode "$e_acsl_src" "$sourceRoot/src/plugins/e-acsl"
+           chmod -R u+w -- "$sourceRoot/src/plugins/e-acsl"
+           echo IN_FRAMA_CI=yes > "$sourceRoot/in_frama_ci"
+           cp -r --preserve=mode "$context_from_precondition_src" "$sourceRoot/src/plugins/context-from-precondition"
+           chmod -R u+w -- "$sourceRoot/src/plugins/context-from-precondition"
+           cp -r --preserve=mode "$security_src" "$sourceRoot/src/plugins/security"
+           chmod -R u+w -- "$sourceRoot/src/plugins/security"
+           '';
+
+        configurePhase = ''
+               unset CC
+               autoconf
+               ./configure --prefix=$out
+        '';
+        buildPhase = ''
+                make unpack-eclipse
+                sed -i src/plugins/pathcrawler/extern/eclipseCLP/RUNME -e "s/chmod 2755/chmod 755/g"
+                rm src/plugins/pathcrawler/extern/eclipseCLP/lib/x86_64_linux/dbi_mysql.so
+                rm src/plugins/pathcrawler/extern/eclipseCLP/lib/x86_64_linux/ic.so
+                prefix="src/plugins/pathcrawler" autoPatchelf
+                make -j 4
+                ln -sr src/plugins/pathcrawler/share share/pc
+                make tests -j4 PTESTS_OPTS="-error-code -j 4"
+        '';
+        installPhase = ''
+               make install
+        '';
+  };
+
+}
diff --git a/nix/empty b/nix/empty
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/nix/frama-ci.nix b/nix/frama-ci.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e26a55d0f058b25b43d59ddd40a3656c951ef440
--- /dev/null
+++ b/nix/frama-ci.nix
@@ -0,0 +1,15 @@
+#To copy in other repository
+{ pkgs ? import <nixpkgs> {}, password}:
+
+let
+    src = builtins.fetchGit {
+            "url" = "https://bobot:${password}@git.frama-c.com/frama-c/Frama-CI.git";
+            "name" = "Frama-CI";
+            "rev" = "70045f4252e668e0facad12d7db2c6ab83fc813b";
+            "ref" = "master";
+    };
+ in
+ {
+  src = src;
+  compiled = pkgs.callPackage "${src}/compile.nix" { inherit pkgs; };
+ }
diff --git a/nix/frama-ci.sh b/nix/frama-ci.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b4a69f90154968218273a70d50be6173a2909841
--- /dev/null
+++ b/nix/frama-ci.sh
@@ -0,0 +1,12 @@
+#!/bin/sh -eu
+
+DIR=$(dirname $0)
+
+export FRAMA_CI_NIX=$DIR/frama-ci.nix
+
+export FRAMA_CI=$(nix-instantiate --eval -E "((import <nixpkgs> {}).callPackage $FRAMA_CI_NIX  { password = \"$TOKEN_FOR_API\";}).src.outPath")
+
+FRAMA_CI=${FRAMA_CI#\"}
+FRAMA_CI=${FRAMA_CI%\"}
+
+$FRAMA_CI/compile.sh $@
diff --git a/opam/opam b/opam/opam
index df7158ed6fb625a5804c020bf4ed21ce0b1e56f7..caef4a4893ad8ec34c890f659daddaaa9bc5a594 100644
--- a/opam/opam
+++ b/opam/opam
@@ -44,7 +44,7 @@ authors: [
 homepage: "http://frama-c.com/"
 license: "GNU Lesser General Public License version 2.1"
 dev-repo: "git+https://github.com/Frama-C/Frama-C-snapshot.git#latest"
-doc: "http://frama-c.com/download/user-manual-Chlorine-20180501.pdf"
+doc: "http://frama-c.com/download/user-manual-18.0-Argon.pdf"
 bug-reports: "https://bts.frama-c.com/"
 tags: [
   "deductive"
@@ -104,7 +104,8 @@ depopts: [
 ]
 
 conflicts: [
-  "why3-base" { < "0.88" | >= "1.0.0" } #for WP plug-in
+  "why3-base" { < "0.88" } #for WP plug-in
+  "why3"      { >= "1.0.0" } #for WP plug-in
   "coq"      { < "8.4.6" } #for WP plug-in
   "lablgtk" { < "2.18.2" } #for ocaml >= 4.02.1
   "frama-c-e-acsl" #avoid mixing old releases of E-ACSL, it is already
diff --git a/ptests/ptests.ml b/ptests/ptests.ml
index fc448fffbf8f80d8e7b1562f4c131138d711ac0b..ef9497abebbceba829913c2c4cf56847fd4b08ca 100644
--- a/ptests/ptests.ml
+++ b/ptests/ptests.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -707,11 +707,12 @@ let config_options =
     (fun _ s current ->
        let new_top =
          List.map
-           (fun (cmd,opts, log) -> cmd, make_custom_opts opts s, current.dc_default_log)
+           (fun (cmd,opts, log) -> cmd, make_custom_opts opts s, log)
            !current_default_cmds
        in
        { current with dc_toplevels = new_top @ current.dc_toplevels;
-                      dc_default_log = !current_default_log });
+                      dc_default_log = !current_default_log @
+                                       current.dc_default_log });
 
     "FILEREG",
     (fun _ s current -> { current with dc_test_regexp = s });
diff --git a/share/META.frama-c b/share/META.frama-c
new file mode 100644
index 0000000000000000000000000000000000000000..be05739fdfee70b426d186932e71a06352db62e4
--- /dev/null
+++ b/share/META.frama-c
@@ -0,0 +1,16 @@
+description="frama-c"
+version=""
+requires=""
+
+package "kernel" (
+  description="The kernel library of frama-c"
+  version=""
+  requires="@REQUIRES"
+  archive(byte) = "frama-c.cma"
+  plugin(byte) = "frama-c.cma"
+  archive(native) = "frama-c.cmxa"
+  plugin(native) = "frama-c.cmxs"
+  directory=""
+)
+
+directory=""
diff --git a/share/Makefile.clean b/share/Makefile.clean
index 753e556ed8abc977081fd4d0df9745f16dcfa422..be4c0133cbdf239af6c1c3f19a59814226ebd651 100644
--- a/share/Makefile.clean
+++ b/share/Makefile.clean
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/Makefile.common b/share/Makefile.common
index d5061d699d1e11bbf51cdf910d717accfd93eccd..d89db19e691bc8da319a60cca8a8cab6e476ad3a 100644
--- a/share/Makefile.common
+++ b/share/Makefile.common
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/Makefile.config.in b/share/Makefile.config.in
index 993b677842a1f90c021bf18d911c88be1b97448a..9d321679ed94e0bd3c09e788c50172408cd44421 100644
--- a/share/Makefile.config.in
+++ b/share/Makefile.config.in
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
@@ -38,10 +38,10 @@ prefix		?=@prefix@
 exec_prefix	?=@exec_prefix@
 datarootdir     ?=@datarootdir@
 datadir         ?=@datadir@
-BINDIR		?="$(DESTDIR)@bindir@"
-LIBDIR		?="$(DESTDIR)@libdir@"
-DATADIR		?="$(DESTDIR)@datarootdir@"
-MANDIR		?="$(DESTDIR)@mandir@"
+BINDIR		?=$(DESTDIR)@bindir@
+LIBDIR		?=$(DESTDIR)@libdir@
+DATADIR		?=$(DESTDIR)@datarootdir@
+MANDIR		?=$(DESTDIR)@mandir@
 
 FRAMAC_LIBDIR	?=$(LIBDIR)/frama-c
 FRAMAC_PLUGINDIR ?=$(FRAMAC_LIBDIR)/plugins
@@ -65,6 +65,8 @@ OCAMLDEP	?=@OCAMLDEP@ -slash
 OCAMLLEX	?=@OCAMLLEX@
 OCAMLYACC	?=@OCAMLYACC@
 OCAMLMKTOP	?=@OCAMLMKTOP@
+OCAMLMKLIB	?=@OCAMLFIND@ ocamlmklib
+OCAMLFIND	?=@OCAMLFIND@
 OCAMLDOC	?=@OCAMLDOC@
 OCAMLCP		?=@OCAMLCP@
 
@@ -102,10 +104,13 @@ DEVELOPMENT	?=@DEVELOPMENT@
 HAS_LABLGTK	?=@HAS_LABLGTK@
 HAS_LABLGTK_CUSTOM_MODEL ?=@HAS_LABLGTK@
 LABLGTK_PATH ?=@LABLGTK_PATH@
-
+LABLGTK ?= lablgtk@LABLGTK_VERSION@
 # lablgtksourceview
 HAS_GTKSOURCEVIEW ?=@HAS_GTKSOURCEVIEW@
 
+GTKSOURCEVIEW:=\
+  $(patsubst lablgtk%,$(LABLGTK).%,$(basename $(notdir @GTKSOURCEVIEW@)))
+
 # lablgnomecanvas
 HAS_GNOMECANVAS	?=@HAS_GNOMECANVAS@
 
@@ -190,7 +195,10 @@ LIBRARY_NAMES += yojson
 endif
 
 ifneq ($(ENABLE_GUI),no)
-LIBRARY_NAMES_GUI = lablgtk2 lablgtk2.gnomecanvas lablgtk2.sourceview2
+  LIBRARY_NAMES_GUI = $(LABLGTK) $(GTKSOURCEVIEW)
+  ifeq ($(HAS_GNOMECANVAS),yes)
+    LIBRARY_NAMES_GUI+=lablgtk2.gnomecanvas
+  endif
 else
 LIBRARY_NAMES_GUI =
 endif
diff --git a/share/Makefile.dynamic b/share/Makefile.dynamic
index ab4f3647d3332669b6ba0eb414654b49d27ef231..4ebe6147bc6d2b7b10b77c5c0c9e035d93765a01 100644
--- a/share/Makefile.dynamic
+++ b/share/Makefile.dynamic
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
@@ -46,6 +46,7 @@ ifeq ($(FRAMAC_INTERNAL),yes)
 PLUGIN_RESET	:=yes
 
 else
+
 # The plugin is compiled from an installed frama-c
 PLUGIN_RESET	:=no
 include $(MAKECONFIG_DIR)/Makefile.common
@@ -186,11 +187,11 @@ $(eval $(call include_generic_plugin_Makefile,$(PLUGIN_NAME)))
 
 TARGETS := $(TARGET_META) $(TARGET_CMI)
 TARGETS_TOP := $(TARGET_TOP_CMO) $(TARGET_TOP_CMX) \
-	       $(TARGET_TOP_CMA) $(TARGET_TOP_CMXS)
+	       $(TARGET_TOP_CMA) $(TARGET_TOP_CMXS) $(TARGET_TOP_O)
 TARGETS_GUI_BYTE := $(TARGET_GUI_CMI) $(TARGET_GUI_CMO)
-TARGETS_GUI := $(TARGETS_GUI_BYTE) $(TARGET_GUI_CMX) $(TARGET_GUI_CMXS)
+TARGETS_GUI := $(TARGETS_GUI_BYTE) $(TARGET_GUI_CMX) $(TARGET_GUI_CMXS) $(TARGET_GUI_O)
 TARGETS_BYTE:= $(TARGET_META) $(TARGET_CMI) $(TARGET_TOP_CMO) $(TARGET_TOP_CMA)
-TARGETS_OPT:=  $(TARGET_META) $(TARGET_CMI) $(TARGET_TOP_CMX) $(TARGET_TOP_CMXS)
+TARGETS_OPT:=  $(TARGET_META) $(TARGET_CMI) $(TARGET_TOP_CMX) $(TARGET_TOP_CMXS) $(TARGET_TOP_O)
 
 byte:: $(TARGETS_BYTE)
 opt:: $(TARGETS_OPT)
@@ -247,14 +248,24 @@ endif # PLUGIN_ENABLE <> no
 # Merlin #
 ##########
 
-.PHONY: merlin_plugin
-merlin_plugin::
-	echo "B $(FRAMAC_LIBDIR)" > .merlin
+.PHONY: create_merlin
+create_merlin:
+#create Merlin file for external plug-in
+	$(PRINT_MAKING) .merlin
+	echo "FLG -c $(FLAGS) $(FRAMAC_USER_MERLIN_FLAGS)" > .merlin
+	echo "B $(FRAMAC_LIBDIR)" >> .merlin
 	echo "B $(FRAMAC_LIBDIR)/plugins" >> .merlin
 	echo "B $(FRAMAC_LIBDIR)/plugins/gui" >> .merlin
-	echo "PKG ocamlgraph" >> .merlin
-	echo "PKG zarith" >> .merlin
-	echo "PKG lablgtk2" >> .merlin
+	for PKG in $(LIBRARY_NAMES); do echo PKG $$PKG >> .merlin; done
+	for PKG in $(LIBRARY_NAMES_GUI); do echo PKG $$PKG >> .merlin; done
+	for PKG in $(MERLIN_PACKAGES); do echo PKG $$PKG >> .merlin; done
+	for DIR in $(patsubst %/,%,$(sort $(dir $(PLUGIN_ML_SRC) $(PLUGIN_TESTS_LIB)))); do echo S $$DIR>> .merlin; echo B $$DIR >> .merlin; done
+
+# To allow completion of .merlin file
+.PHONY: merlin
+merlin:: create_merlin
+
+.merlin: merlin
 
 ############
 # Cleaning #
diff --git a/share/Makefile.dynamic_config.external b/share/Makefile.dynamic_config.external
index 30f7f68761412daa0e71c005e97d382021a496bc..e76a1aa89899864ff5f1c29830e04a997b0f855c 100644
--- a/share/Makefile.dynamic_config.external
+++ b/share/Makefile.dynamic_config.external
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
@@ -29,13 +29,16 @@ export FRAMAC_INCLUDES=-I "$(FRAMAC_LIBDIR)"
 
 export PTESTS=$(BINDIR)/ptests.$(PTESTSBEST)$(EXE)
 
-export FRAMAC_LIB="$(FRAMAC_LIBDIR)"
+export FRAMAC_LIB=$(FRAMAC_LIBDIR)
 export DOC_DIR=$(FRAMAC_SHARE)/doc/code
 
 export PLUGIN_LIB_DIR=$(PLUGIN_DIR)
 
 export FRAMAC_COMPILED_PLUGINDIR=$(FRAMAC_LIBDIR)/plugins
 
+export OCAMLPATH:=$(FRAMAC_LIB):$(FRAMAC_PLUGINDIR)$(if $(OCAMLPATH),:,)$(OCAMLPATH)
+export OCAMLFIND_IGNORE_DUPS_IN:=$(FRAMAC_LIB):$(FRAMAC_PLUGINDIR)$(if $(OCAMLFIND_IGNORE_DUPS_IN),:,)$(OCAMLFIND_IGNORE_DUPS_IN)
+
 # fake target corresponding to the clean-install of Frama-C's Makefile
 .PHONY: clean-install
 clean-install: ;
diff --git a/share/Makefile.dynamic_config.internal b/share/Makefile.dynamic_config.internal
index a836f0ab98c5db3ca1986dad79435c3f076fb26c..6c50e7bba80c9ccea20a91c6c08111c773703ba3 100644
--- a/share/Makefile.dynamic_config.internal
+++ b/share/Makefile.dynamic_config.internal
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
@@ -36,6 +36,9 @@ export PLUGIN_LIB_DIR=$(FRAMAC_ROOT_SRCDIR)/lib/plugins
 
 export FRAMAC_COMPILED_PLUGINDIR=$(FRAMAC_ROOT_SRCDIR)/lib/plugins
 
+export OCAMLPATH:=$(FRAMAC_LIB):$(PLUGIN_LIB_DIR)$(if $(OCAMLPATH),:,)$(OCAMLPATH)
+export OCAMLFIND_IGNORE_DUPS_IN:=$(FRAMAC_LIB):$(PLUGIN_LIB_DIR)$(if $(OCAMLFIND_IGNORE_DUPS_IN),:,)$(OCAMLFIND_IGNORE_DUPS_IN)
+
 ##########################################################################
 # Local Variables:
 # mode: makefile
diff --git a/share/Makefile.generic b/share/Makefile.generic
index e201cab8cdc66454a8afaf51ba15c0825ce4f6a6..77074035606542c0cbb8638f9660d4ccc8c46b3f 100644
--- a/share/Makefile.generic
+++ b/share/Makefile.generic
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/Makefile.plugin.template b/share/Makefile.plugin.template
index f9bf4c671652122ce19b17d6032125fdef4939c2..7d699300c57861a82917dfa14ecfb1e52be630f4 100644
--- a/share/Makefile.plugin.template
+++ b/share/Makefile.plugin.template
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
@@ -183,18 +183,26 @@ PLUGIN_RESET?=yes # Set it to no in order to NOT reset plug-in variable.
 #
 ###############################################################################
 
+
+DEPEND_PKG  := $(addprefix frama-c-, $(shell echo $(PLUGIN_DEPENDENCIES) | tr '[:upper:]' '[:lower:]'))
+
 # Where the other plug-ins to load are already installed
 ifeq ($(FRAMAC_INTERNAL),yes)
 INSTALLED_PLUGIN_DIR:=$(FRAMAC_ROOT_SRCDIR)/lib/plugins
 # Also inform the main Makefile that there's another plug-in to be
 # considered
 PLUGIN_LIST+=$(PLUGIN_DIR)/@PLUGIN_NAME@
+PLUGIN_PACKAGES:=$(PLUGIN_REQUIRES)
+
 else
 
 INSTALLED_PLUGIN_DIR:=$(PLUGIN_INSTALL_DIR)
+PLUGIN_PACKAGES:=$(PLUGIN_REQUIRES) $(DEPEND_PKG)
 
 endif
 
+PLUGIN_REQUIRES += $(DEPEND_PKG)
+
 # The plugin types .cm* files
 PLUGIN_TYPES_CMO:=$(addsuffix .cmo,$(PLUGIN_TYPES_CMO))
 PLUGIN_TYPES_CMX:=$(PLUGIN_TYPES_CMO:.cmo=.cmx)
@@ -213,6 +221,8 @@ $(notdir $(patsubst %/,%,$(PLUGIN_DIR)))))
 
 PLUGIN_DEPENDS:=$(PLUGIN_DEPENDS) $(PLUGIN_DEPENDENCIES)
 
+
+
 ################
 # ml sources   #
 ################
@@ -268,6 +278,12 @@ endif
 
 ifneq ($(PLUGIN_DISTRIBUTED),no)
 PLUGIN_DISTRIBUTED_LIST += $(PLUGIN_SRC)
+ifeq ($(ENABLE_GUI),no)
+# Also include GUI files to be distributed, even if not currently used
+PLUGIN_DISTRIBUTED_LIST += \
+  $(patsubst %,$(PLUGIN_DIR)/%.ml*,$(PLUGIN_GUI_CMO)) \
+  $(patsubst %,$(PLUGIN_DIR)/%.mli,$(PLUGIN_GUI_CMI))
+endif
 
 # VP: this needs to be adapted for external plugins.
 ifeq ($(PLUGIN_HAS_EXT_DOC),yes)
@@ -420,7 +436,7 @@ PLUGIN_EXTRA_DIRS_INC:=$(patsubst %,-I $(PLUGIN_DIR)/% ,$(PLUGIN_EXTRA_DIRS))
 # Set the compilation flags for the plugin
 INCLUDE_FLAGS:=-I $(PLUGIN_DIR) -I $(INSTALLED_PLUGIN_DIR) \
 			$(PLUGIN_EXTRA_DIRS_INC) \
-			$(addprefix -package ,$(PLUGIN_REQUIRES) $(LIBRARY_NAMES))
+			$(addprefix -package ,$(PLUGIN_PACKAGES) $(LIBRARY_NAMES))
 
 $(NAME_BFLAGS):=$(BFLAGS) $(INCLUDE_FLAGS) $(PLUGIN_BFLAGS)
 $(NAME_OFLAGS):=$(OFLAGS) $(INCLUDE_FLAGS) $(PLUGIN_OFLAGS)
@@ -453,9 +469,8 @@ endif
 
 # META file
 PLUGIN_PKG  :=$(shell echo frama-c-@PLUGIN_NAME@ | tr '[:upper:]' '[:lower:]')
-DEPEND_PKG  :=$(shell echo $(PLUGIN_DEPENDENCIES) | tr '[:upper:]' '[:lower:]')
-PLUGIN_REQUIRES += $(addprefix frama-c-,$(DEPEND_PKG))
 TARGET_META :=$(PLUGIN_LIB_DIR)/META.$(PLUGIN_PKG)
+PLUGIN_GENERATED+= $(TARGET_META)
 
 ifneq ($(PLUGIN_HAS_META),yes)
 # generated META
@@ -504,7 +519,7 @@ $(TARGET_META):
 	$(RM) $@
 	$(ECHO) "description = \"$($(notdir $@).DESCRIPTION)\"" >> $@
 	$(ECHO) "version = \"$($(notdir $@).VERSION)\""         >> $@
-	$(ECHO) "requires = \"$($(notdir $@).REQUIRES)\""       >> $@
+	$(ECHO) "requires = \"frama-c.kernel $($(notdir $@).REQUIRES)\""       >> $@
 	$(ECHO) "archive(byte) = \"top/$($(notdir $@).BYTE)\""      >> $@
 	$(ECHO) "archive(native) = \"top/$($(notdir $@).NATIVE)\""  >> $@
 	$(ECHO) "plugin(native) = \"top/$($(notdir $@).PLUGIN)\""  >> $@
@@ -975,7 +990,7 @@ endif #EXTRA_BYTE
 endif #HAS_GUI
 
 PLUGIN_DYN_DEP_GUI_CMX_LIST += $(PLUGIN_GUI_CMX)
-PLUGIN_DYN_CMX_LIST	+= $(TARGET_TOP_CMXS) $(TARGET_TOP_CMX)
+PLUGIN_DYN_CMX_LIST	+= $(TARGET_TOP_CMXS) $(TARGET_TOP_CMX) $(TARGET_TOP_O)
       # If P1 depends on P2, then dynamically link P1.cmxs requires to have 
       # compiled P1's sources wrt the P2's .cmx.
 ifeq ($(HAS_GUI),yes)
diff --git a/share/_frama-c b/share/_frama-c
index 174f99374715734bc27c9a91349c84e4ea637928..f4250a0323691b1e0d11d0c84aabc0b543f581b8 100644
--- a/share/_frama-c
+++ b/share/_frama-c
@@ -3,7 +3,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/analysis-scripts/find_fun.py b/share/analysis-scripts/find_fun.py
new file mode 100755
index 0000000000000000000000000000000000000000..8451cdf13022196d665f0b3a24cc120f6524debe
--- /dev/null
+++ b/share/analysis-scripts/find_fun.py
@@ -0,0 +1,108 @@
+#!/usr/bin/env python3
+#-*- coding: utf-8 -*-
+##########################################################################
+#                                                                        #
+#  This file is part of Frama-C.                                         #
+#                                                                        #
+#  Copyright (C) 2007-2018                                               #
+#    CEA (Commissariat à l'énergie atomique et aux énergies              #
+#         alternatives)                                                  #
+#                                                                        #
+#  you can redistribute it and/or modify it under the terms of the GNU   #
+#  Lesser General Public License as published by the Free Software       #
+#  Foundation, version 2.1.                                              #
+#                                                                        #
+#  It is distributed in the hope that it will be useful,                 #
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of        #
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         #
+#  GNU Lesser General Public License for more details.                   #
+#                                                                        #
+#  See the GNU Lesser General Public License version 2.1                 #
+#  for more details (enclosed in the file licenses/LGPLv2.1).            #
+#                                                                        #
+##########################################################################
+
+# This script finds files containing likely declarations and definitions
+# for a given function name, via heuristic syntactic matching.
+
+import sys
+import os
+import re
+import glob
+
+debug = False
+
+arg = ""
+if len(sys.argv) < 2:
+   print("usage: %s fname [dir1 dir2 ...]" % sys.argv[0])
+   print("       looks for likely declarations/definitions of function fname")
+   print("       in files with extensions '.c', '.h' and '.i';")
+   print("       if dir1, dir2, etc, are specified, looks inside them,")
+   print("       otherwise looks inside PWD and /usr/include.")
+   print("       Subdirectories are always considered recursively.")
+   sys.exit(1)
+else:
+   fname = sys.argv[1]
+   if re.match('[a-zA-Z_][a-zA-Z0-9_]*$', fname) == None:
+      print("error: function name contains invalid characters: %s" % fname)
+      print("       (only letters/digits/underscore allowed)")
+      sys.exit(1)
+
+dirs = set()
+if len(sys.argv) < 3:
+   pwd = os.getcwd()
+   dirs = [pwd, "/usr/include"]
+else:
+   dirs = set(sys.argv[2:])
+
+if debug:
+   print("Looking for files in dirs (and their subdirs): %s" % dirs)
+
+files = []
+for d in dirs:
+   files += glob.glob(d + "/**/*.[ich]", recursive=True)
+
+print("Looking for '%s' inside %d file(s)..." % (fname, len(files)))
+#print("\n".join(files))
+
+# To minimize the amount of false positives, we try to match the following:
+# - the line must begin with a C identifier (declarations and definitions in C
+#   rarely start with spaces in the line), or with the function name itself
+#   (supposing the return type is in the previous line)
+# - any number of identifiers are allowed (to allow for 'struct', 'volatile',
+#   'extern', etc)
+# - asterisks are allowed both before and after identifiers, except for the
+#   first one (to allow for 'char *', 'struct **ptr', etc)
+# - identifiers are allowed after the parentheses, to allow for some macros/
+#   modifiers
+
+possible_declarators = []
+possible_definers = []
+c_identifier = "[a-zA-Z_][a-zA-Z0-9_]*"
+c_id_maybe_pointer = c_identifier + "\**"
+type_prefix = c_id_maybe_pointer + "(?:\s+\**" + c_id_maybe_pointer + ")*\s+\**"
+parentheses_suffix = "\s*\([^)]*\)"
+re_fun = re.compile("^(?:" + type_prefix + "\s*)?" + fname + parentheses_suffix
+                  + "\s*(?:" + c_identifier + ")?\s*(;|{)", flags=re.MULTILINE)
+for f in files:
+   with open(f, encoding="ascii", errors='ignore') as content_file:
+      content = content_file.read()
+      has_decl_or_def = re_fun.search(content)
+      if has_decl_or_def is not None:
+         is_decl = has_decl_or_def.group(1) == ";"
+         if is_decl:
+            possible_declarators.append(f)
+         else:
+            possible_definers.append(f)
+
+if possible_declarators == [] and possible_definers == []:
+   print("No declaration/definition found for function '%s'" % fname)
+else:
+   if possible_declarators != []:
+      print("Possible declarations for function '%s' in the following file(s):"
+            % fname)
+      print("  " + "\n  ".join(possible_declarators))
+   if possible_definers != []:
+      print("Possible definitions for function '%s' in the following file(s):"
+            % fname)
+      print("  " + "\n  ".join(possible_definers))
diff --git a/share/analysis-scripts/frama-c.mk b/share/analysis-scripts/frama-c.mk
index cd3ae313ebb1a181c8e13e5d38be02cfeec0bdb4..6f0ec68c482eabf8234d60eefabfeecb41fae351 100644
--- a/share/analysis-scripts/frama-c.mk
+++ b/share/analysis-scripts/frama-c.mk
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
@@ -205,7 +205,8 @@ SHELL        := /bin/bash
 	  printf 'timestamp=%q\n' "$(HR_TIMESTAMP)";
 	  printf 'warnings=%s\n' "`cat $@/warnings.log | grep ':\[\(eva\|kernel\|from\)\]' | wc -l`";
 	  printf 'alarms=%s\n' "`expr $$(cat $@/alarms.csv | wc -l) - 1`";
-	  printf 'cmd_args=%q\n' "$(subst ",\",$(wordlist 2,999,$(EVA)))"
+	  printf 'cmd_args=%q\n' "$(subst ",\",$(wordlist 2,999,$(EVA)))";
+	  printf 'benchmark_tag=%s' "$(BENCHMARK)"
 	} >> $@/stats.txt
 	if [ ! -z $${FLAMEGRAPH+x} ]; then
 	  NOGUI=1 $(FRAMAC_SCRIPT) flamegraph $@/flamegraph.txt $@/
diff --git a/share/autocomplete_frama-c b/share/autocomplete_frama-c
index 48c443678930fe24f94202eba7f89cf4ef66bb9c..5cbbb141a6459cc27bfd78000361c1a38696dfc9 100644
--- a/share/autocomplete_frama-c
+++ b/share/autocomplete_frama-c
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/builtin.h b/share/builtin.h
index c9bf927fc124e0b35560cf2375c2dfc50f7189c9..ce5a87c749ac48d97c08d08e670a65d6fc8cd228 100644
--- a/share/builtin.h
+++ b/share/builtin.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/configure.ac b/share/configure.ac
index 31403990467e09d84b60cfe4668b79f5b84cf7fe..1ea8d54d0ee906608bb404a4eaa5e4d11a9210e9 100644
--- a/share/configure.ac
+++ b/share/configure.ac
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/emacs/acsl.el b/share/emacs/acsl.el
index 97650d0a5aec38e40676fe7cd41767cb29b9f68e..34f21d2ffed344fc2cbdb0013db2460c2ce22518 100644
--- a/share/emacs/acsl.el
+++ b/share/emacs/acsl.el
@@ -5,7 +5,7 @@
 ;  Copyright (C) 2008-2011                                               ;
 ;    Pierre Roux                                                         ;
 ;                                                                        ;
-;  Copyright (C) 2009-2018                                               ;
+;  Copyright (C) 2009-2019                                               ;
 ;    CEA LIST                                                            ;
 ;                                                                        ;
 ;  you can redistribute it and/or modify it under the terms of the GNU   ;
diff --git a/share/emacs/frama-c-dev.el b/share/emacs/frama-c-dev.el
index dcd7722f9fd5e6ee057d15d9d9b09d73de54411c..87fca32f0e6a89f9176beb2895ffaf071006ee80 100644
--- a/share/emacs/frama-c-dev.el
+++ b/share/emacs/frama-c-dev.el
@@ -2,7 +2,7 @@
 ;                                                                        ;
 ;  This file is part of Frama-C.                                         ;
 ;                                                                        ;
-;  Copyright (C) 2007-2018                                               ;
+;  Copyright (C) 2007-2019                                               ;
 ;    CEA (Commissariat à l'énergie atomique et aux énergies              ;
 ;         alternatives)                                                  ;
 ;                                                                        ;
diff --git a/share/emacs/frama-c-init.el b/share/emacs/frama-c-init.el
index 64a90eb2c1bf5272273136ce5e368023b7aff3c8..b6f7e5989a7528061eb4055e60c5f28b13759aab 100644
--- a/share/emacs/frama-c-init.el
+++ b/share/emacs/frama-c-init.el
@@ -2,7 +2,7 @@
 ;                                                                        ;
 ;  This file is part of Frama-C.                                         ;
 ;                                                                        ;
-;  Copyright (C) 2007-2018                                               ;
+;  Copyright (C) 2007-2019                                               ;
 ;    CEA (Commissariat à l'énergie atomique et aux énergies              ;
 ;         alternatives)                                                  ;
 ;                                                                        ;
diff --git a/share/emacs/frama-c-recommended.el b/share/emacs/frama-c-recommended.el
index 383fe533edf51e6f4cd0777224c0368265526bc3..88426743b6308b0d55a5f7d39a06cbe60caa671f 100644
--- a/share/emacs/frama-c-recommended.el
+++ b/share/emacs/frama-c-recommended.el
@@ -2,7 +2,7 @@
 ;                                                                        ;
 ;  This file is part of Frama-C.                                         ;
 ;                                                                        ;
-;  Copyright (C) 2007-2018                                               ;
+;  Copyright (C) 2007-2019                                               ;
 ;    CEA (Commissariat à l'énergie atomique et aux énergies              ;
 ;         alternatives)                                                  ;
 ;                                                                        ;
diff --git a/share/frama-c.Unix.rc b/share/frama-c.Unix.rc
index 898c5069268b2f264b1da3568f05e9d3ecc6c404..81c21f20dc4f7aebc5eac04f316dfbaef7fd4f22 100644
--- a/share/frama-c.Unix.rc
+++ b/share/frama-c.Unix.rc
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/frama-c.WIN32.rc b/share/frama-c.WIN32.rc
index febc1cf361124942fedd926965a508521ff68a44..574ebc5b509fb542f80790ac98d2a78e48e6ae84 100644
--- a/share/frama-c.WIN32.rc
+++ b/share/frama-c.WIN32.rc
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/share/libc.c b/share/libc.c
index 8c8d3f58a31c2a8f2fc7eb9177926329f3731906..bd14e7820b752c14887790e628692ff83d7d4a87 100644
--- a/share/libc.c
+++ b/share/libc.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_alloc_axiomatic.h b/share/libc/__fc_alloc_axiomatic.h
index 2b8f8800cf411b65d803181c10ad635d65a24a74..43bb7cb6534657bade7ba53268df1905295c9ee3 100644
--- a/share/libc/__fc_alloc_axiomatic.h
+++ b/share/libc/__fc_alloc_axiomatic.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_builtin.c b/share/libc/__fc_builtin.c
index ed89586c4d38587228fc7b20528277d198d133fa..0c099981f983a5d8ac718694a3f3427aa99120a8 100644
--- a/share/libc/__fc_builtin.c
+++ b/share/libc/__fc_builtin.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_builtin.h b/share/libc/__fc_builtin.h
index 19f80b43a557a50942de5783cc499544600442fb..a201ec354be35f992af10fe24017a9ba23b4c482 100644
--- a/share/libc/__fc_builtin.h
+++ b/share/libc/__fc_builtin.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_blkcnt_t.h b/share/libc/__fc_define_blkcnt_t.h
index 244a15928abff1c8c008512652fe74c7e9ce57b5..72d131dae155cd2e212339aaeb731c73f940b5a6 100644
--- a/share/libc/__fc_define_blkcnt_t.h
+++ b/share/libc/__fc_define_blkcnt_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_blksize_t.h b/share/libc/__fc_define_blksize_t.h
index 17a8ec909a3babfcc0ba4b520dfe488def54deb7..dae9c9dca6c60ce06852451b3524a0ed65142682 100644
--- a/share/libc/__fc_define_blksize_t.h
+++ b/share/libc/__fc_define_blksize_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_clockid_t.h b/share/libc/__fc_define_clockid_t.h
index ef43abaf6657cc8c68fdb0fb2e3b35a389222db2..08dc3994a6e769c7b81a9716b9f3da843d9510f7 100644
--- a/share/libc/__fc_define_clockid_t.h
+++ b/share/libc/__fc_define_clockid_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_dev_t.h b/share/libc/__fc_define_dev_t.h
index 29c7d4d0159c3a77037c0771cc476d4b7f50fc0c..dbddbdfe4c1110a66fb16801705c0d11215f2ea4 100644
--- a/share/libc/__fc_define_dev_t.h
+++ b/share/libc/__fc_define_dev_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_eof.h b/share/libc/__fc_define_eof.h
index 15f7a468af99c389d3bfd33aebfa9eae0d98cea6..843518c27f7d656e29262428fb90e026880b7827 100644
--- a/share/libc/__fc_define_eof.h
+++ b/share/libc/__fc_define_eof.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_fd_set_t.h b/share/libc/__fc_define_fd_set_t.h
index 55d2d2155d78bf2d108547901093273c473cbffc..9a33dcec7e78b5abeb7c54179c2b3764ce8fb84e 100644
--- a/share/libc/__fc_define_fd_set_t.h
+++ b/share/libc/__fc_define_fd_set_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_file.h b/share/libc/__fc_define_file.h
index 6b9ec24f3e3e53d8c05eddfc9115761bcc522f96..d1c0687b59da58d7f964aaa329e158c23d34247b 100644
--- a/share/libc/__fc_define_file.h
+++ b/share/libc/__fc_define_file.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_fpos_t.h b/share/libc/__fc_define_fpos_t.h
index 03ba44085b8a3841ccfc2fc44e33bfac6d8032fb..8a04d0e9083515291445537353045cb6434f5e85 100644
--- a/share/libc/__fc_define_fpos_t.h
+++ b/share/libc/__fc_define_fpos_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_id_t.h b/share/libc/__fc_define_id_t.h
index e03e235f5aaae5c28438d66335211b0ed08f2e85..a22a686e0ec81f8a605ad68375e064911bdbc4e9 100644
--- a/share/libc/__fc_define_id_t.h
+++ b/share/libc/__fc_define_id_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_ino_t.h b/share/libc/__fc_define_ino_t.h
index 1f78dfdceebb24a340fe45ac88267d14e03d4ac0..0cb76d79bfab35481dd6fa442e89faf7a49faf55 100644
--- a/share/libc/__fc_define_ino_t.h
+++ b/share/libc/__fc_define_ino_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_intptr_t.h b/share/libc/__fc_define_intptr_t.h
index 18783c107e0db37902d12639913a68e88b5003d6..8095d6e7937ee90c214e580d294654b3f4fe1c8c 100644
--- a/share/libc/__fc_define_intptr_t.h
+++ b/share/libc/__fc_define_intptr_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_iovec.h b/share/libc/__fc_define_iovec.h
index 69d6656160062781539967ba53ea9bd021d69f47..16c331b09ce5283832d37984f6482d46ae61aecf 100644
--- a/share/libc/__fc_define_iovec.h
+++ b/share/libc/__fc_define_iovec.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_key_t.h b/share/libc/__fc_define_key_t.h
index bf12080587c104884df86d5d82dd15f13c114f8b..be49ff2d8df4627800fd82149cf2663ef656c223 100644
--- a/share/libc/__fc_define_key_t.h
+++ b/share/libc/__fc_define_key_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_mode_t.h b/share/libc/__fc_define_mode_t.h
index 2b2022af6cfc22d3ac4a4b8d5b0cda72c624a275..7f0aee4e12ed763f988f2655e7310b8fb81d95b0 100644
--- a/share/libc/__fc_define_mode_t.h
+++ b/share/libc/__fc_define_mode_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_nlink_t.h b/share/libc/__fc_define_nlink_t.h
index d16ad9f033862d0e504abbd7882eb33d1a47fd65..409d62a67b0af4e84f6cb79a7e60ebfdb81420c8 100644
--- a/share/libc/__fc_define_nlink_t.h
+++ b/share/libc/__fc_define_nlink_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_null.h b/share/libc/__fc_define_null.h
index 983fac7d4162dcdf22558c86f782e8678ac7dafe..1b7cec39268dfedcfdd6151a77e415e5fa0883c1 100644
--- a/share/libc/__fc_define_null.h
+++ b/share/libc/__fc_define_null.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_off_t.h b/share/libc/__fc_define_off_t.h
index 2b15928b8d194aed66b6c89d72d0b01c70c97bc4..3c00c5e7da7204df7e2c269af7b35750e4e4a6c2 100644
--- a/share/libc/__fc_define_off_t.h
+++ b/share/libc/__fc_define_off_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_pid_t.h b/share/libc/__fc_define_pid_t.h
index 1b9585b5563e4450a1eb27b91090d67e0d2fae87..1226707869ee73ed0aa84973c63a688eb38a5016 100644
--- a/share/libc/__fc_define_pid_t.h
+++ b/share/libc/__fc_define_pid_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_pthread_types.h b/share/libc/__fc_define_pthread_types.h
index 1ccd78200e29298c45db366aa8f9776c0f1a62e5..bd9a591bc55c194098716a5e5df96e8762982a6d 100644
--- a/share/libc/__fc_define_pthread_types.h
+++ b/share/libc/__fc_define_pthread_types.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_sa_family_t.h b/share/libc/__fc_define_sa_family_t.h
index 3502b258885423256cf9b5cbd6dea00e1cbe19fc..49e5de72c9a9a1251dbd6696fc41b1976817fb2a 100644
--- a/share/libc/__fc_define_sa_family_t.h
+++ b/share/libc/__fc_define_sa_family_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_seek_macros.h b/share/libc/__fc_define_seek_macros.h
index 51a98efe03acfb9abb808c4dda3dc8acd4042d0d..026fc4be4979eb7ae504c8bb9424ac3b183158a1 100644
--- a/share/libc/__fc_define_seek_macros.h
+++ b/share/libc/__fc_define_seek_macros.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_sigset_t.h b/share/libc/__fc_define_sigset_t.h
index 5e20b6a494e6501ff2f7a7a1f28e64df37f8b307..299908fbb0c4bafe489cf61865c67a806846ec64 100644
--- a/share/libc/__fc_define_sigset_t.h
+++ b/share/libc/__fc_define_sigset_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_size_t.h b/share/libc/__fc_define_size_t.h
index 8b60233e1cb49d889ba5d28a3b74edf87d5a1e23..6e70cbd98b2a2af08a8e6ccfa762157f36003360 100644
--- a/share/libc/__fc_define_size_t.h
+++ b/share/libc/__fc_define_size_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_sockaddr.h b/share/libc/__fc_define_sockaddr.h
index 705201d37729ea364e365e070e09cc6715ca1645..6c524e7dba6493c466749da80cd8260e6469bf7b 100644
--- a/share/libc/__fc_define_sockaddr.h
+++ b/share/libc/__fc_define_sockaddr.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_ssize_t.h b/share/libc/__fc_define_ssize_t.h
index 4303426d2c5da7b58c95f12404e1e24b8816944d..3bb0ce562c5d2fc62a139a1ee3b0ced7a6a1d495 100644
--- a/share/libc/__fc_define_ssize_t.h
+++ b/share/libc/__fc_define_ssize_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_stat.h b/share/libc/__fc_define_stat.h
index 5c6559a50fcea335830134d6687e04d8eb018240..c9ec17a474efb9d3015216924bedd943f2c16655 100644
--- a/share/libc/__fc_define_stat.h
+++ b/share/libc/__fc_define_stat.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_suseconds_t.h b/share/libc/__fc_define_suseconds_t.h
index 4cd0fa8601526b700c37cfc994d5cca6b06e027e..e14c14b5180f0f85f7ca40939a124a9aa7141a10 100644
--- a/share/libc/__fc_define_suseconds_t.h
+++ b/share/libc/__fc_define_suseconds_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_time_t.h b/share/libc/__fc_define_time_t.h
index 2e31a7968a09dd4f4136cf6f536ca1396d77d4d4..b1779dd0a24a655a64a878473c9976acdfd130bd 100644
--- a/share/libc/__fc_define_time_t.h
+++ b/share/libc/__fc_define_time_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_timer_t.h b/share/libc/__fc_define_timer_t.h
index 95bcb72ddd9290cb839c09e771d62b1da7b8a7b6..0677a9b2a4f67f89d6a7f90c09c7f352251eceba 100644
--- a/share/libc/__fc_define_timer_t.h
+++ b/share/libc/__fc_define_timer_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_timespec.h b/share/libc/__fc_define_timespec.h
index 6752a93639138a65778bfcb813db283e394373b1..b6bcae76d66cca29775777a626b1e1228d38f4d3 100644
--- a/share/libc/__fc_define_timespec.h
+++ b/share/libc/__fc_define_timespec.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_uid_and_gid.h b/share/libc/__fc_define_uid_and_gid.h
index 2624e5fcc14f45cb8d00e2ed1ec2aceccba088c5..7bff3f2c64c87e39ecd1b3879ccda90200279ffc 100644
--- a/share/libc/__fc_define_uid_and_gid.h
+++ b/share/libc/__fc_define_uid_and_gid.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_useconds_t.h b/share/libc/__fc_define_useconds_t.h
index cc2d77764310671734af07a3a0d9157cbd5d0830..bf7915a8b01e9970f7023ddeaf256dcc27b93f1f 100644
--- a/share/libc/__fc_define_useconds_t.h
+++ b/share/libc/__fc_define_useconds_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_wchar_t.h b/share/libc/__fc_define_wchar_t.h
index c6a8d68efd3c5a655eecc34cfb2e0feaed20a116..6e66e39399d26c6bc28f78b7c9fbe9ad577f08b7 100644
--- a/share/libc/__fc_define_wchar_t.h
+++ b/share/libc/__fc_define_wchar_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_define_wint_t.h b/share/libc/__fc_define_wint_t.h
index bd24aa79f30ea4cd8b399281506e9f1cfd34915b..caeef9031e827dd50ef4779bbbb1b5b497ac80e9 100644
--- a/share/libc/__fc_define_wint_t.h
+++ b/share/libc/__fc_define_wint_t.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_gcc_builtins.h b/share/libc/__fc_gcc_builtins.h
new file mode 100644
index 0000000000000000000000000000000000000000..7db2e0fed113092cd4a734652d53bb7cad4c793d
--- /dev/null
+++ b/share/libc/__fc_gcc_builtins.h
@@ -0,0 +1,199 @@
+/**************************************************************************/
+/*                                                                        */
+/*  This file is part of Frama-C.                                         */
+/*                                                                        */
+/*  Copyright (C) 2007-2019                                               */
+/*    CEA (Commissariat à l'énergie atomique et aux énergies              */
+/*         alternatives)                                                  */
+/*                                                                        */
+/*  you can redistribute it and/or modify it under the terms of the GNU   */
+/*  Lesser General Public License as published by the Free Software       */
+/*  Foundation, version 2.1.                                              */
+/*                                                                        */
+/*  It is distributed in the hope that it will be useful,                 */
+/*  but WITHOUT ANY WARRANTY; without even the implied warranty of        */
+/*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         */
+/*  GNU Lesser General Public License for more details.                   */
+/*                                                                        */
+/*  See the GNU Lesser General Public License version 2.1                 */
+/*  for more details (enclosed in the file licenses/LGPLv2.1).            */
+/*                                                                        */
+/**************************************************************************/
+
+// This file contains some GCC builtins which are not already hardcoded in
+// Frama-C, and which can be expressed using ACSL.
+
+#ifndef __FC_GCC_BUILTINS
+#define __FC_GCC_BUILTINS
+#include "features.h"
+
+__PUSH_FC_STDLIB
+
+__BEGIN_DECLS
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (int)(a + b);
+  ensures result_overflow: a + b == (int)(a + b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_sadd_overflow (int a, int b, int *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (long)(a + b);
+  ensures result_overflow: a + b == (long)(a + b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_saddl_overflow (long a, long b, long *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (long long)(a + b);
+  ensures result_overflow: a + b == (long long)(a + b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_saddll_overflow (long long a, long long b, long long *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (unsigned)(a + b);
+  ensures result_overflow: a + b == (unsigned)(a + b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_uadd_overflow (unsigned a, unsigned b, unsigned *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (unsigned long)(a + b);
+  ensures result_overflow: a + b == (unsigned long)(a + b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_uaddl_overflow (unsigned long a, unsigned long b, unsigned long *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (unsigned long long)(a + b);
+  ensures result_overflow: a + b == (unsigned long long)(a + b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_uaddll_overflow (unsigned long long a, unsigned long long b, unsigned long long *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (int)(a - b);
+  ensures result_overflow: a - b == (int)(a - b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_ssub_overflow (int a, int b, int *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (long)(a - b);
+  ensures result_overflow: a - b == (long)(a - b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_ssubl_overflow (long a, long b, long *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (long long)(a - b);
+  ensures result_overflow: a - b == (long long)(a - b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_ssubll_overflow (long long a, long long b, long long *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (unsigned)(a - b);
+  ensures result_overflow: a - b == (unsigned)(a - b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_usub_overflow (unsigned a, unsigned b, unsigned *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (unsigned long)(a - b);
+  ensures result_overflow: a - b == (unsigned long)(a - b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_usubl_overflow (unsigned long a, unsigned long b, unsigned long *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (unsigned long long)(a - b);
+  ensures result_overflow: a - b == (unsigned long long)(a - b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_usubll_overflow (unsigned long long a, unsigned long long b, unsigned long long *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (int)(a * b);
+  ensures result_overflow: a * b == (int)(a * b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_smul_overflow (int a, int b, int *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (long)(a * b);
+  ensures result_overflow: a * b == (long)(a * b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_smull_overflow (long a, long b, long *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (long long)(a * b);
+  ensures result_overflow: a * b == (long long)(a * b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_smulll_overflow (long long a, long long b, long long *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (unsigned)(a * b);
+  ensures result_overflow: a * b == (unsigned)(a * b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_umul_overflow (unsigned a, unsigned b, unsigned *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (unsigned long)(a * b);
+  ensures result_overflow: a * b == (unsigned long)(a * b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_umull_overflow (unsigned long a, unsigned long b, unsigned long *res);
+
+/*@
+  requires valid_res: \valid(res);
+  assigns \result, *res \from a, b;
+  ensures initialization:res: \initialized(res);
+  ensures res_wrapped: *res == (unsigned long long)(a * b);
+  ensures result_overflow: a * b == (unsigned long long)(a * b) ? \result == 0 : \result == 1;
+ */
+_Bool __builtin_umulll_overflow (unsigned long long a, unsigned long long b, unsigned long long *res);
+
+__END_DECLS
+
+__POP_FC_STDLIB
+#endif
diff --git a/share/libc/__fc_inet.h b/share/libc/__fc_inet.h
index 1ac5d20ebab4a146a6179d5253ae777b3855beab..07fe52fccc6a481e7c45fb47d0beec7133313464 100644
--- a/share/libc/__fc_inet.h
+++ b/share/libc/__fc_inet.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_machdep.h b/share/libc/__fc_machdep.h
index d2541c4146ab4572ca2151f27f370015685d1e02..34752edcb40c7f10b325068e1670f17831ed9f50 100644
--- a/share/libc/__fc_machdep.h
+++ b/share/libc/__fc_machdep.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
@@ -23,9 +23,12 @@
 #ifndef __FC_MACHDEP
 #define __FC_MACHDEP
 
-#ifdef __FC_MACHDEP_X86_32
+#if defined(__FC_MACHDEP_X86_32) || defined(__FC_MACHDEP_GCC_X86_32)
 #define __FC_FORCE_INCLUDE_MACHDEP__
-#include "__fc_machdep_linux_gcc_shared.h"
+#include "__fc_machdep_linux_shared.h"
+#ifdef __FC_MACHDEP_GCC_X86_32
+#include "__fc_gcc_builtins.h"
+#endif
 #undef __FC_FORCE_INCLUDE_MACHDEP__
 #define  __FC_BYTE_ORDER __LITTLE_ENDIAN
 /* Required */
@@ -105,11 +108,14 @@
 #define __FC_WINT_MIN 0
 #define __FC_WINT_MAX __FC_UINT_MAX
 
-// End of X86_32
+// End of X86_32 || GCC_X86_32
 #else
-#ifdef __FC_MACHDEP_X86_64
+#if defined(__FC_MACHDEP_X86_64) || defined(__FC_MACHDEP_GCC_X86_64)
 #define __FC_FORCE_INCLUDE_MACHDEP__
-#include "__fc_machdep_linux_gcc_shared.h"
+#include "__fc_machdep_linux_shared.h"
+#ifdef __FC_MACHDEP_GCC_X86_64
+#include "__fc_gcc_builtins.h"
+#endif
 #undef __FC_FORCE_INCLUDE_MACHDEP__
 #define  __FC_BYTE_ORDER __LITTLE_ENDIAN
 /* Required */
@@ -198,11 +204,14 @@
 #define __FC_WINT_MIN 0
 #define __FC_WINT_MAX __FC_UINT_MAX
 
-// End of X86_64
+// End of X86_64 || GCC_X86_64
 #else
-#ifdef __FC_MACHDEP_X86_16
+#if defined(__FC_MACHDEP_X86_16) || defined(__FC_MACHDEP_GCC_X86_16)
 #define __FC_FORCE_INCLUDE_MACHDEP__
-#include "__fc_machdep_linux_gcc_shared.h"
+#include "__fc_machdep_linux_shared.h"
+#ifdef __FC_MACHDEP_GCC_X86_16
+#include "__fc_gcc_builtins.h"
+#endif
 #undef __FC_FORCE_INCLUDE_MACHDEP__
 #define  __FC_BYTE_ORDER __LITTLE_ENDIAN
 /* Required */
@@ -294,11 +303,11 @@
 #define __FC_WINT_MIN 0
 #define __FC_WINT_MAX __FC_ULONG_MAX
 
-// End of X86_16
+// End of X86_16 || GCC_X86_16
 #else
 #ifdef __FC_MACHDEP_PPC_32
 #define __FC_FORCE_INCLUDE_MACHDEP__
-#include "__fc_machdep_linux_gcc_shared.h"
+#include "__fc_machdep_linux_shared.h"
 #undef __FC_FORCE_INCLUDE_MACHDEP__
 #define  __FC_BYTE_ORDER __BIG_ENDIAN
 /* Required */
@@ -607,7 +616,8 @@
 // End of MSVC_X86_64
 #else
 #error Must define __FC_MACHDEP_<M>, where <M> is one of the            \
-  following: X86_32, X86_64, X86_16, PPC_32, MSVC_X86_64.               \
+  following: X86_32, X86_64, X86_16, GCC_X86_32, GCC_X86_64,            \
+  GCC_X86_16, PPC_32, MSVC_X86_64.                                      \
   If you are using a custom machdep, you must include your machdep      \
   header file defining __FC_MACHDEP to avoid inclusion of this file.
 #endif
diff --git a/share/libc/__fc_machdep_linux_gcc_shared.h b/share/libc/__fc_machdep_linux_shared.h
similarity index 97%
rename from share/libc/__fc_machdep_linux_gcc_shared.h
rename to share/libc/__fc_machdep_linux_shared.h
index e43ad6f3808c5a7cab53d70abd49917ff7bd6bd7..0b0760b19e339a05a22e0b114fa8ea815b93216d 100644
--- a/share/libc/__fc_machdep_linux_gcc_shared.h
+++ b/share/libc/__fc_machdep_linux_shared.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
@@ -24,7 +24,7 @@
 #error "Frama-C: This file shall not be directly included"
 #endif
 /* This file contains common machine specific values between 
- Linux/GCC x86 32-bit, AMD64 and x86 16-bit.*/
+   Linux x86 32-bit, AMD64 and x86 16-bit.*/
 
 #ifndef __FC_MACHDEP_LINUX_SHARED
 #define __FC_MACHDEP_LINUX_SHARED
@@ -116,7 +116,7 @@
 #define __FC_INTMAX_MAX 9223372036854775807LL
 #define __FC_UINTMAX_MAX 18446744073709551615ULL
 
-// Linux/GCC usually defines wchar_t as a signed int, but this is not required
+// Linux usually defines wchar_t as a signed int, but this is not required
 #define __WCHAR_T int
 
 /* stdio.h */
diff --git a/share/libc/__fc_select.h b/share/libc/__fc_select.h
index e32831dd22e2683ea2962414d8962f4092a09d4c..82a079e98bd4fab78b03020d910170aaa3b64b1e 100644
--- a/share/libc/__fc_select.h
+++ b/share/libc/__fc_select.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/__fc_string_axiomatic.h b/share/libc/__fc_string_axiomatic.h
index 52de34035580066a124eb67a8681cd38abd07829..a89a527466eacc4412932d441b23dbfbb3817c69 100644
--- a/share/libc/__fc_string_axiomatic.h
+++ b/share/libc/__fc_string_axiomatic.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/alloca.h b/share/libc/alloca.h
index 7ebd85e0a0976da831bc4bf5da414c9adb17520c..1403454fdcc4037cc3c3991b92c63e7eb287472e 100644
--- a/share/libc/alloca.h
+++ b/share/libc/alloca.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/arpa/inet.h b/share/libc/arpa/inet.h
index d56c83df68d64b552c8bdb0dc7078461c684c3ae..8e9cf21bdc537ec1fb4e4f53f1f946fd149858e8 100644
--- a/share/libc/arpa/inet.h
+++ b/share/libc/arpa/inet.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/assert.c b/share/libc/assert.c
index bf185913c5f41d1291330b03e299ffe3d153cef6..cfbf8e50d00e44e765d42afb4648582082e65f7f 100644
--- a/share/libc/assert.c
+++ b/share/libc/assert.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/assert.h b/share/libc/assert.h
index 0ad8904b81731aa6b28023b98d89f61d111e8418..0313b44aeafa371e9a365f58451243b944600f56 100644
--- a/share/libc/assert.h
+++ b/share/libc/assert.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/byteswap.h b/share/libc/byteswap.h
index 8fd1b74619a721bfbc494f5b8d951d677925f3f4..f3ca11ff17c469366fa7ef95ee99d9c21d921efd 100644
--- a/share/libc/byteswap.h
+++ b/share/libc/byteswap.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/complex.h b/share/libc/complex.h
index a9cb4ec97dc64e64485542631ceb71143ca7371e..da8e129559c25b87d4c6057fe1c618513a1a5569 100644
--- a/share/libc/complex.h
+++ b/share/libc/complex.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/ctype.c b/share/libc/ctype.c
index d345850a8bcade8d215b43bc4bbf7611495745c8..8954e5b109fdf44269be1e436b8fa761d7d22949 100644
--- a/share/libc/ctype.c
+++ b/share/libc/ctype.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/ctype.h b/share/libc/ctype.h
index 7072e58a267b94c55fe30c56ff0d75bcc484ae14..e946e5eef0c4debc56c25dae463573bcc7a9f450 100644
--- a/share/libc/ctype.h
+++ b/share/libc/ctype.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/dirent.h b/share/libc/dirent.h
index bde4da9523bac911be2f3f34befcd258edb8a600..6d75102f9e1bb1e51ca609e8d532fdfdda787cd0 100644
--- a/share/libc/dirent.h
+++ b/share/libc/dirent.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/dlfcn.h b/share/libc/dlfcn.h
index bc65b736a834f5ce8999605bacfef73f918659a4..b612cf638eee62850c6376161ef77b94d9bda72c 100644
--- a/share/libc/dlfcn.h
+++ b/share/libc/dlfcn.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/endian.h b/share/libc/endian.h
index 63cb4d2f7c106b2da0ef51340d49118329142a0d..85a893a37a891043513d6feb8661d34c8c472a69 100644
--- a/share/libc/endian.h
+++ b/share/libc/endian.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/errno.c b/share/libc/errno.c
index b43be400737d723f13890d6034867fe3d9a115df..53501bb02a54b636cccfbd0d09d0dc897297a5cf 100644
--- a/share/libc/errno.c
+++ b/share/libc/errno.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/errno.h b/share/libc/errno.h
index 757a7e4bcea63016be68197782a8c5db8c132926..254ed1af53f1024a369c585062e194571c2ae946 100644
--- a/share/libc/errno.h
+++ b/share/libc/errno.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/fc_runtime.c b/share/libc/fc_runtime.c
index 9db5598839bb35cd65f7ad6e30ef4a268b42534b..8890a09a7516cfb88c464a992ea4df1caaa8e2f0 100644
--- a/share/libc/fc_runtime.c
+++ b/share/libc/fc_runtime.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/fcntl.h b/share/libc/fcntl.h
index 432ff7b16c3f43eac2d2e67a2242bf45cf4e96f3..d5e21e8726ad9c1e74b929ed166209d5f498892c 100644
--- a/share/libc/fcntl.h
+++ b/share/libc/fcntl.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/features.h b/share/libc/features.h
index ec2b71ed32883bb6b8185b96120444fb71898c3c..08d5c8de3db90bb829c33a440b5ba89dc29dc8be 100644
--- a/share/libc/features.h
+++ b/share/libc/features.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
@@ -107,21 +107,8 @@
 # define __wur /* Ignore */
 #endif
 
-#ifndef __STDC_VERSION__
-#define restrict
-#else
-#define __restrict__
-#define __restrict
-# if __STDC_VERSION__ >= 199901L && defined (FRAMA_C_C99)
-#define restrict restrict
-#define __restrict__ restrict
-#define __restrict restrict
-#  else
-#define restrict
-#define __restrict__
-#define __restrict
-# endif
-#endif
+#define restrict __restrict
+#define __restrict__ __restrict
 
 #define __USE_ISOC99	1
 
diff --git a/share/libc/fenv.c b/share/libc/fenv.c
index 27a21d32577ad990c1d530fb608221bfd3a50b53..9f34644e7d4580b57837e26ab3e064ea2895341c 100644
--- a/share/libc/fenv.c
+++ b/share/libc/fenv.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/fenv.h b/share/libc/fenv.h
index 1ebae3fab3e9aa657a56c05e364cf96a0172c5a0..4fb6dacdd2967c3ef7b9fccd6b7f438bf8742c1e 100644
--- a/share/libc/fenv.h
+++ b/share/libc/fenv.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/float.h b/share/libc/float.h
index 745ff77c8283e3c253fb5c131641bc3abe3f3cc6..bc3c4b1de0ae811cbcce53c70416f027c258c320 100644
--- a/share/libc/float.h
+++ b/share/libc/float.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/fnmatch.h b/share/libc/fnmatch.h
index 69a57e376de120b79756a4a6ea59ca0343434875..86c1fd1425cc192bbfd8a6ea8119d393d3cfd02c 100644
--- a/share/libc/fnmatch.h
+++ b/share/libc/fnmatch.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/getopt.c b/share/libc/getopt.c
index 0b554dbf501a86c196e6b25f2017ba3c3a2e21d5..9bb2c44da563cd433e39de0c0943c9c40058c655 100644
--- a/share/libc/getopt.c
+++ b/share/libc/getopt.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/getopt.h b/share/libc/getopt.h
index 90a62b249b33b4ecf77e7f141d41d96968ddfd2e..6788b728779835daa8f5d3e12b7e9d08a85d47d0 100644
--- a/share/libc/getopt.h
+++ b/share/libc/getopt.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/glob.c b/share/libc/glob.c
index 0811a6b4853616226cf6805c8b51cc34c0840701..05377dfe093fc51e631ca28032e44e21fb8beb80 100644
--- a/share/libc/glob.c
+++ b/share/libc/glob.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/glob.h b/share/libc/glob.h
index 220ce88e94a748a2372de9e24712398b0326569e..cafe8f453c4ac9ccda0b2c42609189c45e3608e6 100644
--- a/share/libc/glob.h
+++ b/share/libc/glob.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/grp.h b/share/libc/grp.h
index a0ea701feb24b7360dd26c884a02b6a4046d3cb1..a4e4450d77f20a7b282bc9462c3c1012849fbb1d 100644
--- a/share/libc/grp.h
+++ b/share/libc/grp.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/iconv.h b/share/libc/iconv.h
index b8a23c12dea9b62e91a1ecdc17c29b8d6b4e45a1..92fae1bace58ef09cba99560df764b7cd9a88833 100644
--- a/share/libc/iconv.h
+++ b/share/libc/iconv.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/ifaddrs.h b/share/libc/ifaddrs.h
index e34fbba6564e23a25c90471e6cc6f37a9d0a6710..9c1cadd191bf1f357ca9e077694639d9cdd03ef7 100644
--- a/share/libc/ifaddrs.h
+++ b/share/libc/ifaddrs.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/inttypes.c b/share/libc/inttypes.c
index c30a96d9f066ab7a2acf0a47aee3f2ad99ece6b0..a12156da2f0bed308499fc7e679a49766b99f4f2 100644
--- a/share/libc/inttypes.c
+++ b/share/libc/inttypes.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/inttypes.h b/share/libc/inttypes.h
index 060bc8c6dfc0ffa6f6bdb3e3b40ad055ec344177..7a5a4f1396bf9c74803a3b48e2883e1166e17d98 100644
--- a/share/libc/inttypes.h
+++ b/share/libc/inttypes.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/iso646.h b/share/libc/iso646.h
index 492b2ff524542693fac3cc986bbf5832a271edd6..89e3c4759675f55bb947e61c608b5bb96b6e2a05 100644
--- a/share/libc/iso646.h
+++ b/share/libc/iso646.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/libgen.h b/share/libc/libgen.h
index c21a57da9faee597ad9d01ea593bed9afeaccb3c..1abe66dd28cc3ebb3d7847b1ba63074c4296f798 100644
--- a/share/libc/libgen.h
+++ b/share/libc/libgen.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/libintl.h b/share/libc/libintl.h
index 8682b18228560c32329d790f5f49dec8c1916a5e..f79f14d0fcfdb0482bfa524301ebc55a9f38eb53 100644
--- a/share/libc/libintl.h
+++ b/share/libc/libintl.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/limits.h b/share/libc/limits.h
index fffc496c32eb4a319ad61b9f83600892a319d1cc..703571925dcddcba60c9ec3df8feee73d755276f 100644
--- a/share/libc/limits.h
+++ b/share/libc/limits.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/linux/fs.h b/share/libc/linux/fs.h
index cd93d6762a671d6be5b5ca4f2b871807841dff21..c0b6d361f2d781309374dd3c9efcc86cd1d8196c 100644
--- a/share/libc/linux/fs.h
+++ b/share/libc/linux/fs.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/linux/if_addr.h b/share/libc/linux/if_addr.h
index d5d1ecd616f8bd72717e2c9df9b4ebc3844ff2a4..51efee090ac1788a4db5851a27a04303a0efb0d5 100644
--- a/share/libc/linux/if_addr.h
+++ b/share/libc/linux/if_addr.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/linux/if_netlink.h b/share/libc/linux/if_netlink.h
index 630c4566125e9efa83cd91a22b87ff8f343fcd6a..276d067832a672962cb593531e6b95205c857db2 100644
--- a/share/libc/linux/if_netlink.h
+++ b/share/libc/linux/if_netlink.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/linux/netlink.h b/share/libc/linux/netlink.h
index d993849f8e78bf13d4e95396c2a3778282c869eb..1ddd191ab29e8419a1ef0dedfbcdbc6ac73c56ce 100644
--- a/share/libc/linux/netlink.h
+++ b/share/libc/linux/netlink.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/linux/rtnetlink.h b/share/libc/linux/rtnetlink.h
index f1d2af1c6e6c51fc526110e63cc6ce68ecfaa72a..7ea2a119e9f92904ec8d82044c36b2eb89273995 100644
--- a/share/libc/linux/rtnetlink.h
+++ b/share/libc/linux/rtnetlink.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/locale.c b/share/libc/locale.c
index 0b2dc4bebf1d600f73c54fccf7e58cc92940c432..96aaec7b2f3e397a2912939166999daaddc05c21 100644
--- a/share/libc/locale.c
+++ b/share/libc/locale.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
@@ -27,7 +27,7 @@ struct lconv __C_locale = {".","","","","","","","","","",CHAR_MAX,CHAR_MAX,CHAR
 
 struct lconv *__frama_c_locale=&__C_locale;
 
-char*__frama_c_locale_names[1]={"C"};
+char*__frama_c_locale_names[512]={"C"};
 char *setlocale(int category, const char *locale) {
   if (*locale == 'C') 
     { __frama_c_locale = &__C_locale;
diff --git a/share/libc/locale.h b/share/libc/locale.h
index 346e686b85cf66abbdbe5c52a96b43b726826af5..11f0244bcb3cf4b8f4df547113ba2de04669bf37 100644
--- a/share/libc/locale.h
+++ b/share/libc/locale.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
@@ -132,7 +132,7 @@ struct lconv
                                   )
 
 extern struct lconv* __frama_c_locale;
-extern char*__frama_c_locale_names[];
+extern char*__frama_c_locale_names[512];
 
 /*@ 
   requires locale_null_or_valid_string: locale == \null || valid_read_string(locale);
diff --git a/share/libc/malloc.h b/share/libc/malloc.h
index 4b00c058c829abd93198d87bc09312c51ee1af48..3508e681088d7156a2c1ef1463ec483a387ca669 100644
--- a/share/libc/malloc.h
+++ b/share/libc/malloc.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/math.c b/share/libc/math.c
index d24525f7c4a4be560cb77a7b74f7f8c79be34ee0..dbe443de13f2e5d6973e77226aa14c34f80cd18e 100644
--- a/share/libc/math.c
+++ b/share/libc/math.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/math.h b/share/libc/math.h
index da98d886eeb603667561f7de0c13e04d1e934a47..a7a0ef9dbf6040e15ff30925742c05f9d1678ed0 100644
--- a/share/libc/math.h
+++ b/share/libc/math.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/memory.h b/share/libc/memory.h
index 60924c439eed162026b141d011c48ac45408cc36..4c1227c6134fc888153acd73db5fca43ba6b1bdd 100644
--- a/share/libc/memory.h
+++ b/share/libc/memory.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/net/if.h b/share/libc/net/if.h
index 82dc07e9c92f00d68c49a520d43dc9a6c3ae5c78..0b92ebd79829f463d0370a2b5ef0056eeb660e0b 100644
--- a/share/libc/net/if.h
+++ b/share/libc/net/if.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/netdb.c b/share/libc/netdb.c
index 12af93afa0dd750e3812d7606cbbd4bab131e741..cfdea15cc7fb7a6bf9c09f96fd8ab6c851b0bb1c 100644
--- a/share/libc/netdb.c
+++ b/share/libc/netdb.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/netdb.h b/share/libc/netdb.h
index 2611c02af22059a6133b928452c4d19cac0b1923..860c95c85025032ffebbf883061760c2a756169c 100644
--- a/share/libc/netdb.h
+++ b/share/libc/netdb.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/netinet/in.h b/share/libc/netinet/in.h
index d56c83df68d64b552c8bdb0dc7078461c684c3ae..8e9cf21bdc537ec1fb4e4f53f1f946fd149858e8 100644
--- a/share/libc/netinet/in.h
+++ b/share/libc/netinet/in.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/netinet/in_systm.h b/share/libc/netinet/in_systm.h
index 5db1fed93ae1bea1400e554e400da5d7eba7a206..1beabb1cae1d68c9448bc06e4f4d61a4f0a9eb99 100644
--- a/share/libc/netinet/in_systm.h
+++ b/share/libc/netinet/in_systm.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/netinet/ip.h b/share/libc/netinet/ip.h
index 10f651143b643c8e60dee1c7c2333969c21aec96..0c469cede7533dbba94f67cb2e601c6d585a8539 100644
--- a/share/libc/netinet/ip.h
+++ b/share/libc/netinet/ip.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/netinet/ip_icmp.h b/share/libc/netinet/ip_icmp.h
index 8f31eef9c7049af4bb8c1e1cb2a5b0a52351b1cf..78e895961d9fba583731860cac67c0cee72f8e9e 100644
--- a/share/libc/netinet/ip_icmp.h
+++ b/share/libc/netinet/ip_icmp.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/netinet/tcp.h b/share/libc/netinet/tcp.h
index 66735e9c1367e1a78d29b633863b10fdaf7d7700..fb7abe05a65782a53e85991a95ebfab6b4c479ee 100644
--- a/share/libc/netinet/tcp.h
+++ b/share/libc/netinet/tcp.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/nl_types.h b/share/libc/nl_types.h
index 9855266a5083f206cfe44c8261d2fca082099e24..390d581811b5b20ff8259d22126e14ca369d1498 100644
--- a/share/libc/nl_types.h
+++ b/share/libc/nl_types.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/poll.h b/share/libc/poll.h
index beb5082b34fc0b575889bd91ea868714da5d10dc..4995c69d888b50fec29beabeed3e53c7804590b2 100644
--- a/share/libc/poll.h
+++ b/share/libc/poll.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/pthread.h b/share/libc/pthread.h
index b11ef330c31c4a03f11ac36bd1a72c2886c135be..d55ece32dee5c2f5a6c474d7495635726e9a7d5e 100644
--- a/share/libc/pthread.h
+++ b/share/libc/pthread.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/pwd.h b/share/libc/pwd.h
index 5b82cae28e21c6c4e3bd65e7563bb04f051e6734..17cca2f73e46b400a9f5656a76902982db557ed3 100644
--- a/share/libc/pwd.h
+++ b/share/libc/pwd.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
@@ -41,8 +41,35 @@ struct passwd {
   char    *pw_shell;
 };
 
+extern char __fc_getpwuid_pw_name[64];
+extern char __fc_getpwuid_pw_passwd[64];
+extern uid_t __fc_getpwuid_pw_uid;
+extern gid_t __fc_getpwuid_pw_gid;
+extern char __fc_getpwuid_pw_dir[64];
+extern char __fc_getpwuid_pw_shell[64];
+
+struct passwd __fc_getpwuid =
+  {.pw_name = __fc_getpwuid_pw_name,
+   .pw_passwd = __fc_getpwuid_pw_passwd,
+   .pw_uid = __fc_getpwuid_pw_uid,
+   .pw_gid = __fc_getpwuid_pw_gid,
+   .pw_dir = __fc_getpwuid_pw_dir,
+   .pw_shell = __fc_getpwuid_pw_shell};
+
+struct passwd *__fc_p_getpwuid = & __fc_getpwuid;
+
+
 extern struct passwd *getpwnam(const char *);
-extern struct passwd *getpwuid(uid_t);
+
+/*@ // missing: assigns \result, __fc_getpwuid[0..] \from 'password database'
+  assigns \result \from __fc_p_getpwuid, indirect:uid;
+  assigns __fc_getpwuid \from indirect:uid;
+  ensures result_null_or_internal_struct:
+    \result == \null || \result == __fc_p_getpwuid;
+*/
+extern struct passwd *getpwuid(uid_t uid);
+
+
 extern int            getpwnam_r(const char *, struct passwd *, char *,
 			  size_t, struct passwd **);
 extern int            getpwuid_r(uid_t, struct passwd *, char *,
diff --git a/share/libc/regex.h b/share/libc/regex.h
index 64ca98378176e0acc88de7baaaff0644116f4456..97277d5564e19613ff3867a2556331879e0e37ee 100644
--- a/share/libc/regex.h
+++ b/share/libc/regex.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/resolv.h b/share/libc/resolv.h
index 65c89b0656f45fb73a9ece9355fbde6a62c32f29..beaf508bea85f13d13fa10e75d21cbf5ee32cbf5 100644
--- a/share/libc/resolv.h
+++ b/share/libc/resolv.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sched.h b/share/libc/sched.h
index eed88716eef7023f203f998a8c136caa7bf14e11..50f8ba16e77b0a9fdf5b783942c269a5c6d930a3 100644
--- a/share/libc/sched.h
+++ b/share/libc/sched.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/semaphore.h b/share/libc/semaphore.h
index f032e82ee62d963c4936b6443c8469d0c50ffc48..264a85bfeda14cc93d550b93bdae55e390fc78b6 100644
--- a/share/libc/semaphore.h
+++ b/share/libc/semaphore.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/setjmp.h b/share/libc/setjmp.h
index a3b60f82a2f35bc57432c684a36232ba65b750d0..ecca7307fda4be495b6b765343d6fa178b14e4c0 100644
--- a/share/libc/setjmp.h
+++ b/share/libc/setjmp.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/signal.h b/share/libc/signal.h
index fd2ae1b22e0b50f619d9fffd1343c8884a411944..f1eb5d6cc1b20256a72059b97021f8219c07661d 100644
--- a/share/libc/signal.h
+++ b/share/libc/signal.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/stdarg.h b/share/libc/stdarg.h
index 83a23331657626b0041bdc0b755bc8a66efa8515..e0f7efbd2774284cbcf878bff0d5864194717dfb 100644
--- a/share/libc/stdarg.h
+++ b/share/libc/stdarg.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/stdbool.h b/share/libc/stdbool.h
index e7092fc5b57bf84a907c399aa29c9352a104529c..7c5f1e35b7c108b88fcef36413757de6ca4ddf30 100644
--- a/share/libc/stdbool.h
+++ b/share/libc/stdbool.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/stddef.h b/share/libc/stddef.h
index c82123e9329dc154aae9460d359f67aa309c1aeb..e32d8548e869d1d2bee02714348b5b151cf7d2c1 100644
--- a/share/libc/stddef.h
+++ b/share/libc/stddef.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/stdint.h b/share/libc/stdint.h
index f7cc8358ac3e13ee86a02dfbe6c4e303fe3a0df4..f73a75048ed34117c9dad58276602e77e0a11a9c 100644
--- a/share/libc/stdint.h
+++ b/share/libc/stdint.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/stdio.c b/share/libc/stdio.c
index 48c6419e9c800f4d75611508ca109d7e395e27d2..c4bf2ae37bb2a33045805cf96c4a0e0d418979d1 100644
--- a/share/libc/stdio.c
+++ b/share/libc/stdio.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/stdio.h b/share/libc/stdio.h
index d3d147f5c8154aacff0f6048d34384a98813f3e7..9c27119c016ce7fced52dde77b279b8f1db2630b 100644
--- a/share/libc/stdio.h
+++ b/share/libc/stdio.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/stdlib.c b/share/libc/stdlib.c
index e08714f86e364711c1aa0adde2c67db633d17fab..72dd24cc238641547c7bdcd5f4855cc7f099936f 100644
--- a/share/libc/stdlib.c
+++ b/share/libc/stdlib.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/stdlib.h b/share/libc/stdlib.h
index 5c703ee21b00fc050ad3a2eb43a0d2c20b09140c..acdbbf87f659a078e3a89127771f0089eb11704c 100644
--- a/share/libc/stdlib.h
+++ b/share/libc/stdlib.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/string.c b/share/libc/string.c
index 9a1b82b0b3b1ea7a788be0bfdad7cada52cb4bff..06662b1f297c20820c33eed85b77ad1febdcc9da 100644
--- a/share/libc/string.c
+++ b/share/libc/string.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/string.h b/share/libc/string.h
index 57c5196c07feae9b6994913bb96834702a7ccd69..f810f9a8067f6cdceadb0bea39c93ec3bd01c8e8 100644
--- a/share/libc/string.h
+++ b/share/libc/string.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/strings.h b/share/libc/strings.h
index 2914e6cbe7e4546f1454a5955de3a7943be51de1..f1091001fc4b1bf80ad01cf123ceba53cda6431e 100644
--- a/share/libc/strings.h
+++ b/share/libc/strings.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/stropts.h b/share/libc/stropts.h
index e09547dd3bfc7548446411c9494c45bccee0ca77..48351585e7e3537806592d6ac9d2d6cf81d9f2af 100644
--- a/share/libc/stropts.h
+++ b/share/libc/stropts.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/file.h b/share/libc/sys/file.h
index 78d64f1428e58815b9c5a79cbb4558e2ee52a0e8..0414b8b04b99075105b304560360a9a49c3b4538 100644
--- a/share/libc/sys/file.h
+++ b/share/libc/sys/file.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/ioctl.h b/share/libc/sys/ioctl.h
index 4b3ddc551034459f2350307f60c73b548e2cd534..21fb87e02b4666e1649d15cdaff90fd2bfbe3b36 100644
--- a/share/libc/sys/ioctl.h
+++ b/share/libc/sys/ioctl.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/ipc.h b/share/libc/sys/ipc.h
index 90280e6f255a9a02e438dd03a721a75afc7978d7..0f7c9558af7add11dc0418da359cd629b91e38c3 100644
--- a/share/libc/sys/ipc.h
+++ b/share/libc/sys/ipc.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/mman.h b/share/libc/sys/mman.h
index fff6efa9f426aae3f54d1aa9f5398ee9e29ffd9c..5c0d1c5b751463644e33feb05be11c8f8a3d9326 100644
--- a/share/libc/sys/mman.h
+++ b/share/libc/sys/mman.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/param.h b/share/libc/sys/param.h
index 691bdd5a720ded321f8aa9e8fc393a75b0e3169a..93e55b1606cdcd6eeec17f095f0e59482a8a8729 100644
--- a/share/libc/sys/param.h
+++ b/share/libc/sys/param.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/random.h b/share/libc/sys/random.h
index 00d33703c995857322e080b1e825b36b7a0b4b36..833ab6b4d7b25bf889cd7e5fd617f1de5e559005 100644
--- a/share/libc/sys/random.h
+++ b/share/libc/sys/random.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/resource.h b/share/libc/sys/resource.h
index 6d88b3be41810dfddca8a4b1e47e8d288df00146..566a0fa31e89d69517d1abc749a81056d01f6c07 100644
--- a/share/libc/sys/resource.h
+++ b/share/libc/sys/resource.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/select.h b/share/libc/sys/select.h
index 14134d27bbd99da10e06213db78b6a0926f2042a..8e1608d267e3da518ee4f933fc4e891b2e3a3a30 100644
--- a/share/libc/sys/select.h
+++ b/share/libc/sys/select.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/shm.h b/share/libc/sys/shm.h
index 6dffdaf658917c9f21853304d1165b86c9131419..b630e30ba8a2100fcb12a3c9cd4cab0e26bb2ecc 100644
--- a/share/libc/sys/shm.h
+++ b/share/libc/sys/shm.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/signal.h b/share/libc/sys/signal.h
index 1fc06ade177b0d9c2ef47be5f25186aa6da95940..5468c1a1b7a621e58daff361c0569074356fc04a 100644
--- a/share/libc/sys/signal.h
+++ b/share/libc/sys/signal.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/socket.h b/share/libc/sys/socket.h
index de87e135671ecc3d470bdeb4832e11b2c4c1bd11..20b339c5ed8e978866fbbcb07cd91fdd55b3c0b0 100644
--- a/share/libc/sys/socket.h
+++ b/share/libc/sys/socket.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/stat.h b/share/libc/sys/stat.h
index 7ae9fa5b0a767a233d4518e0621c79580553a33a..7aa8cbf24176675e835ef830386dd226f4893c21 100644
--- a/share/libc/sys/stat.h
+++ b/share/libc/sys/stat.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/sysctl.h b/share/libc/sys/sysctl.h
index 8c8d3f58a31c2a8f2fc7eb9177926329f3731906..bd14e7820b752c14887790e628692ff83d7d4a87 100644
--- a/share/libc/sys/sysctl.h
+++ b/share/libc/sys/sysctl.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/time.h b/share/libc/sys/time.h
index 9f1b4f9a36d712814cb001abdbb9ccc5ea872a25..73fed482445f4c6a663ae88e8535b45fc5c704a8 100644
--- a/share/libc/sys/time.h
+++ b/share/libc/sys/time.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/times.h b/share/libc/sys/times.h
index d2355d49d96642348092156783a725267a3cf540..beb930fec77ebe34943b60fe8cc0623d9e3adc31 100644
--- a/share/libc/sys/times.h
+++ b/share/libc/sys/times.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/timex.h b/share/libc/sys/timex.h
index 8ecc4f32d9c7ca5fb979a8770fd3fa79e5373ba2..0650f0ed55902e8e7b190c2866da98b6a5d9a90d 100644
--- a/share/libc/sys/timex.h
+++ b/share/libc/sys/timex.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/types.h b/share/libc/sys/types.h
index c5e3911fccba93ca478a8506ec73c3c98c359f34..08d8cabb47038e948f734ff7a81deaa648f14832 100644
--- a/share/libc/sys/types.h
+++ b/share/libc/sys/types.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/uio.h b/share/libc/sys/uio.h
index 9cfc073432daf51692f3a30ae33b5b940f35ad06..2898fc9bb9e48659978ac1b218d86dc4cf6ef71f 100644
--- a/share/libc/sys/uio.h
+++ b/share/libc/sys/uio.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/un.h b/share/libc/sys/un.h
index 7848cc8d8031900ef05b8fee0811b439b854ece4..5bd678020a65bdf7e01a86b743541a65097e1e35 100644
--- a/share/libc/sys/un.h
+++ b/share/libc/sys/un.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/utsname.h b/share/libc/sys/utsname.h
index 91e67def6260cf0623f454afc591f19abc747454..0b1fde579832175f48983147be562ed361baaaaf 100644
--- a/share/libc/sys/utsname.h
+++ b/share/libc/sys/utsname.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/sys/wait.h b/share/libc/sys/wait.h
index a7d2315b4ebca08f2a4f8a78f7f32024171f9f51..91de3d80201d127012d5b0e6339f52da4379de6b 100644
--- a/share/libc/sys/wait.h
+++ b/share/libc/sys/wait.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/syslog.h b/share/libc/syslog.h
index 701308e6344881cd330bc402863dc7487dbeeba0..937e3fcfbe3a1a9e781946dcc26615d65afade6c 100644
--- a/share/libc/syslog.h
+++ b/share/libc/syslog.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/termios.h b/share/libc/termios.h
index 1affded1d8727ef038157bae73f6afa89b621f09..240140cc8455e61bf91ddff463c55ee665085500 100644
--- a/share/libc/termios.h
+++ b/share/libc/termios.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/tgmath.h b/share/libc/tgmath.h
index 921081b6b26e268b9ef4694f3204b9bd1efb9142..b43c795e9c22813ae14a21c1de71111246fa1e0f 100644
--- a/share/libc/tgmath.h
+++ b/share/libc/tgmath.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/time.c b/share/libc/time.c
new file mode 100644
index 0000000000000000000000000000000000000000..6c11356f00d1a07f59ce763958a0517a668dc750
--- /dev/null
+++ b/share/libc/time.c
@@ -0,0 +1,37 @@
+/**************************************************************************/
+/*                                                                        */
+/*  This file is part of Frama-C.                                         */
+/*                                                                        */
+/*  Copyright (C) 2007-2019                                               */
+/*    CEA (Commissariat à l'énergie atomique et aux énergies              */
+/*         alternatives)                                                  */
+/*                                                                        */
+/*  you can redistribute it and/or modify it under the terms of the GNU   */
+/*  Lesser General Public License as published by the Free Software       */
+/*  Foundation, version 2.1.                                              */
+/*                                                                        */
+/*  It is distributed in the hope that it will be useful,                 */
+/*  but WITHOUT ANY WARRANTY; without even the implied warranty of        */
+/*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         */
+/*  GNU Lesser General Public License for more details.                   */
+/*                                                                        */
+/*  See the GNU Lesser General Public License version 2.1                 */
+/*  for more details (enclosed in the file licenses/LGPLv2.1).            */
+/*                                                                        */
+/**************************************************************************/
+
+#include "time.h"
+#include "__fc_builtin.h"
+__PUSH_FC_STDLIB
+
+extern char __fc_ctime[26];
+
+extern char *ctime(const time_t *timer) {
+  //@ assert \valid_read(timer);
+  //@ assert \initialized(timer);
+  Frama_C_make_unknown(__fc_ctime, 26);
+  __fc_ctime[25] = 0;
+  return __fc_ctime;
+}
+
+__POP_FC_STDLIB
diff --git a/share/libc/time.h b/share/libc/time.h
index eaedd90b305382315161acbbb68cf4a79c3960cb..2906228203f8ab73f85cc8fa4eaab65be8f95a39 100644
--- a/share/libc/time.h
+++ b/share/libc/time.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
@@ -104,8 +104,19 @@ extern time_t mktime(struct tm *timeptr);
 */
 extern time_t time(time_t *timer);
 
+char __fc_ctime[26];
+char * const  __fc_p_ctime = &__fc_ctime;
+
 extern char *asctime(const struct tm *timeptr);
 
+/*@
+  requires valid_timer: \valid_read(timer);
+  requires initialization:init_timer: \initialized(timer);
+  assigns __fc_ctime[0..25] \from indirect:*timer, indirect:__fc_time;
+  assigns \result \from indirect:*timer, indirect:__fc_time, __fc_p_ctime;
+  ensures result_points_to_ctime: \result == __fc_p_ctime;
+  ensures result_valid_string: valid_read_string(__fc_p_ctime);
+*/
 extern char *ctime(const time_t *timer);
 
 struct tm __fc_time_tm;
diff --git a/share/libc/uchar.h b/share/libc/uchar.h
index 7a5c7b61f61d2fcfb6ebde1ced94b9bb22dc4ea9..61011a2d979742edf859fbf2c054aa58c83d4023 100644
--- a/share/libc/uchar.h
+++ b/share/libc/uchar.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/unistd.h b/share/libc/unistd.h
index 50812b4e15e63cf82ecd331e8ac73ae64f657105..7edb5316c3ee84e9f688d89f65d67a5a3d34ac02 100644
--- a/share/libc/unistd.h
+++ b/share/libc/unistd.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
@@ -828,11 +828,35 @@ extern pid_t        fork(void);
 extern long int     fpathconf(int, int);
 extern int          fsync(int);
 extern int          ftruncate(int, off_t);
-extern char        *getcwd(char *, size_t);
+
+/*@ // missing: assigns buf[0..size-1] \from 'cwd'
+    // missing: may assign to errno: EACCES, EINVAL, ENAMETOOLONG, ENOENT,
+    //                               ENOMEM, ERANGE
+  requires valid_buf: \valid(buf + (0 .. size-1));
+  assigns buf[0 .. size-1], \result;
+  assigns buf[0 .. size-1] \from indirect:buf, indirect:size;
+  assigns \result \from buf, indirect: size;
+  ensures result_ok_or_error: \result == \null || \result == buf;
+*/
+extern char        *getcwd(char *buf, size_t size);
+
 extern int          getdtablesize(void);
+
+/*@ //missing: assigns \result \from 'process effective gid'
+  assigns \result \from \nothing;
+*/
 extern gid_t        getegid(void);
+
+/*@ //missing: assigns \result \from 'process effective uid'
+  assigns \result \from \nothing;
+*/
 extern uid_t        geteuid(void);
+
+/*@ //missing: assigns \result \from 'process gid'
+  assigns \result \from \nothing;
+*/
 extern gid_t        getgid(void);
+
 extern int          getgroups(int, gid_t []);
 extern long         gethostid(void);
 
@@ -862,11 +886,27 @@ extern int          getpagesize(void);
 extern char        *getpass(const char *);
 extern pid_t        getpgid(pid_t);
 extern pid_t        getpgrp(void);
+
+/*@ //missing: assigns \result \from 'process id'
+  assigns \result \from \nothing;
+*/
 extern pid_t        getpid(void);
+
+/*@ //missing: assigns \result \from 'parent process id'
+  assigns \result \from \nothing;
+*/
 extern pid_t        getppid(void);
+
+/*@ //missing: assigns \result \from 'process sid'
+  assigns \result \from \nothing;
+*/
 extern pid_t        getsid(pid_t);
-/*@ assigns \result \from \nothing; */
+
+/*@ //missing: assigns \result \from 'process uid'
+  assigns \result \from \nothing;
+*/
 extern uid_t        getuid(void);
+
 extern char        *getwd(char *);
 extern int          isatty(int);
 extern int          lchown(const char *, uid_t, gid_t);
@@ -874,7 +914,14 @@ extern int          link(const char *, const char *);
 extern int          lockf(int, int, off_t);
 extern off_t        lseek(int, off_t, int);
 extern int          nice(int);
-extern long int     pathconf(const char *, int);
+
+/*@ // missing: may assign to errno: EACCES, EINVAL, ELOOP, ENOENT, ENOTDIR
+    // missing: assigns \result \from 'file path in filesystem'
+  requires valid_path: valid_read_string(path);
+  assigns \result \from indirect:path[0 ..], indirect:name;
+*/
+extern long pathconf(char const *path, int name);
+
 extern int          pause(void);
 
 /*@
@@ -906,22 +953,63 @@ extern ssize_t      read(int fd, void *buf, size_t count);
 extern int          readlink(const char *, char *, size_t);
 extern int          rmdir(const char *);
 extern void        *sbrk(intptr_t);
+
+/*@ // missing: may assign errno to EINVAL or EPERM
+    // missing: assigns 'process egid' \from gid
+  assigns \result \from indirect:gid;
+  ensures result_ok_or_error: \result == 0 || \result == -1;
+*/
 extern int setegid(gid_t gid);
+
+/*@ // missing: may assign errno to EINVAL or EPERM
+    // missing: assigns 'process euid' \from uid
+  assigns \result \from indirect:uid;
+  ensures result_ok_or_error: \result == 0 || \result == -1;
+*/
 extern int seteuid(uid_t uid);
-extern int          setgid(gid_t);
+
+/*@ // missing: may assign errno to EINVAL or EPERM
+    // missing: assigns 'process gid' \from gid, 'process permissions'
+    // missing: assigns \result \from 'process permissions'
+  assigns \result \from indirect:gid;
+  ensures result_ok_or_error: \result == 0 || \result == -1;
+*/
+extern int          setgid(gid_t gid);
+
 extern int          setpgid(pid_t, pid_t);
 extern pid_t        setpgrp(void);
-extern int          setregid(gid_t, gid_t);
-extern int          setreuid(uid_t, uid_t);
+
+/*@ // missing: may assign errno to EINVAL, EPERM or EAGAIN
+    // missing: assigns 'process real/effective gid' \from gid
+    // missing: assigns \result \from 'process gid and permissions'
+  assigns \result \from indirect:rgid, indirect:egid;
+  ensures result_ok_or_error: \result == 0 || \result == -1;
+*/
+extern int          setregid(gid_t rgid, gid_t egid);
+
+/*@ // missing: may assign errno to EINVAL, EPERM or EAGAIN
+    // missing: assigns 'process real/effective uid' \from uid
+    // missing: assigns \result \from 'process uid and permissions'
+  assigns \result \from indirect:ruid, indirect:euid;
+  ensures result_ok_or_error: \result == 0 || \result == -1;
+*/
+extern int          setreuid(uid_t ruid, uid_t euid);
 
 /*@ // missing: may assign errno to EPERM
-    // missing: assigns 'processes' \from 'processes'
+    // missing: assigns \result, 'session, process, gid' \from 'process';
   assigns \result \from \nothing;
-  ensures result_new_proc_group_or_error: \result >= 0 || \result == -1;
-*/
+  ensures result_pgid_or_error: \result == -1 || \result >= 0;
+ */
 extern pid_t        setsid(void);
 
+/*@ // missing: may assign errno to EINVAL, EPERM or EAGAIN
+    // missing: assigns 'process uid' \from uid, 'process permissions'
+    // missing: assigns \result \from 'process permissions'
+  assigns \result \from indirect:uid;
+  ensures result_ok_or_error: \result == 0 || \result == -1;
+*/
 extern int          setuid(uid_t uid);
+
 extern unsigned int sleep(unsigned int);
 extern void         swab(const void *, void *, ssize_t);
 extern int          symlink(const char *, const char *);
@@ -972,6 +1060,59 @@ extern ssize_t      write(int fd, const void *buf, size_t count);
 // setgroups() is not POSIX
 extern int setgroups(size_t size, const gid_t *list);
 
+// The following functions are GNU extensions
+#ifdef _GNU_SOURCE
+
+/*@
+  // missing: assigns \result, *ruid, *euid, *suid \from 'process'
+  // missing: may assign to errno: EFAULT
+  requires valid_ruid: \valid(ruid);
+  requires valid_euid: \valid(suid);
+  requires valid_suid: \valid(euid);
+  assigns *ruid, *euid, *suid \from \nothing;
+  assigns \result \from indirect:ruid, indirect:euid, indirect:suid;
+  ensures initialization:result_ok_or_error:
+    (\result == 0 &&
+     \initialized(ruid) && \initialized(euid) && \initialized(suid))
+    || \result == -1;
+ */
+int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid);
+
+/*@
+  // missing: assigns 'process uid' \from ruid, euid, suid
+  // missing: assigns \result \from 'process permissions'
+  // missing: may assign to errno: EAGAIN, EINVAL, EPERM
+  assigns \result \from indirect:ruid, indirect:euid, indirect:suid;
+  ensures result_ok_or_error: \result == 0 || \result == -1;
+ */
+int setresuid(uid_t ruid, uid_t euid, uid_t suid);
+
+/*@
+  // missing: assigns \result, *ruid, *euid, *suid \from 'process'
+  // missing: may assign to errno: EFAULT
+  requires valid_rgid: \valid(rgid);
+  requires valid_egid: \valid(sgid);
+  requires valid_sgid: \valid(egid);
+  assigns *rgid, *egid, *sgid \from \nothing;
+  assigns \result \from indirect:rgid, indirect:egid, indirect:sgid;
+  ensures initialization:result_ok_or_error:
+    (\result == 0 &&
+     \initialized(rgid) && \initialized(egid) && \initialized(sgid))
+    || \result == -1;
+ */
+int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid);
+
+/*@
+  // missing: assigns 'process gid' \from rgid, egid, sgid
+  // missing: assigns \result \from 'process permissions'
+  // missing: may assign to errno: EAGAIN, EINVAL, EPERM
+  assigns \result \from indirect:rgid, indirect:egid, indirect:sgid;
+  ensures result_ok_or_error: \result == 0 || \result == -1;
+ */
+int setresgid(gid_t rgid, gid_t egid, gid_t sgid);
+
+#endif
+
 __END_DECLS
 
 __POP_FC_STDLIB
diff --git a/share/libc/utime.h b/share/libc/utime.h
index 9e548e84a85ffbfdbec5ddfc1bd0689fb245b8f9..a3d4f41d26b9748d0573f79c5d5ce190feddff76 100644
--- a/share/libc/utime.h
+++ b/share/libc/utime.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/utmpx.h b/share/libc/utmpx.h
index c17d890500517024d5f62f8e4205417083d70420..cc1c85dc142c5fed93416b518f92ef9fc5e4d068 100644
--- a/share/libc/utmpx.h
+++ b/share/libc/utmpx.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/wchar.c b/share/libc/wchar.c
index 825666ea07e370b1b65b9efa5459bce84da9e4a3..047b875431dc9a832c330089d67f0177be38c1cc 100644
--- a/share/libc/wchar.c
+++ b/share/libc/wchar.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/wchar.h b/share/libc/wchar.h
index 5c6cab790a0deffa3ee412b3c47f8854672bbaa2..aeb08ed3eae799080bb75fd042674f6e138af0e1 100644
--- a/share/libc/wchar.h
+++ b/share/libc/wchar.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/share/libc/wctype.h b/share/libc/wctype.h
index f6a3128b00dc7052022d8e963f84f22e1b304556..33a357b65f3766ef6167651813e7564943f6acbc 100644
--- a/share/libc/wctype.h
+++ b/share/libc/wctype.h
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/kernel_internals/parsing/check_logic_parser.ml b/src/kernel_internals/parsing/check_logic_parser.ml
index b9ded2c35cb438b19d0e2622c3a2d86b4ef5c40e..aee38d9cbe09fa16cdcd19943321e36be088cb4b 100644
--- a/src/kernel_internals/parsing/check_logic_parser.ml
+++ b/src/kernel_internals/parsing/check_logic_parser.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/parsing/logic_lexer.mli b/src/kernel_internals/parsing/logic_lexer.mli
index a83a0e2c2a7ec72eea8259135fecf06309e6752c..97eab7669f2faa1fb063e2ab74b0d504ae29a8f1 100644
--- a/src/kernel_internals/parsing/logic_lexer.mli
+++ b/src/kernel_internals/parsing/logic_lexer.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_internals/parsing/logic_lexer.mll b/src/kernel_internals/parsing/logic_lexer.mll
index e39192b490684a67476a3993da30dbc8891f03ae..c02a126964259ed12cdceb977060569ca62eaed4 100644
--- a/src/kernel_internals/parsing/logic_lexer.mll
+++ b/src/kernel_internals/parsing/logic_lexer.mll
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
@@ -127,7 +127,8 @@
         "module", MODULE, false;(* ACSL extension for external spec file *)
         "pragma", PRAGMA, false;
         "predicate", PREDICATE, false;
-        "reads", READS, false;
+        "reads", READS, true; (* treated specifically in the parser to
+                                 avoid issue in volatile clause. *)
         "requires", REQUIRES, false;
         "returns", RETURNS, false;
         "short", SHORT, true;
@@ -142,7 +143,8 @@
         "variant", VARIANT, false;
         "void", VOID, true;
         "volatile", VOLATILE, true;
-        "writes", WRITES, false;
+        "writes", WRITES, true; (* treated specifically in the parser to
+                                   avoid issue in volatile clause. *)
       ];
     List.iter (fun (x, y) -> Hashtbl.add type_kw x y)
       ["integer", INTEGER; "real", REAL; "boolean", BOOLEAN; ];
diff --git a/src/kernel_internals/parsing/logic_parser.mly b/src/kernel_internals/parsing/logic_parser.mly
index 86d705460a976694d980ddca728df44d77246f40..489cf83599cba3d1c347d9b5f45f835d5c7d29a2 100644
--- a/src/kernel_internals/parsing/logic_parser.mly
+++ b/src/kernel_internals/parsing/logic_parser.mly
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA   (Commissariat à l'énergie atomique et aux énergies            */
 /*           alternatives)                                                */
 /*    INRIA (Institut National de Recherche en Informatique et en         */
@@ -879,6 +879,10 @@ full_zones:
 | enter_kw_c_mode zones exit_kw_c_mode  { $2 }
 ;
 
+full_ne_zones:
+| enter_kw_c_mode ne_zones exit_kw_c_mode { $2 }
+;
+
 full_ne_lexpr_list:
 enter_kw_c_mode ne_lexpr_list exit_kw_c_mode { $2 }
 ;
@@ -1106,7 +1110,9 @@ clause_kw:
 /* often, we'll be in c_kw_mode, where these keywords are 
    recognized as identifiers... */
 | IDENTIFIER { $1 }
+| EXT_CONTRACT { $1 }
 | EOF { "end of annotation" }
+;
 
 requires:
 | /* epsilon */ { [] }
@@ -1266,43 +1272,33 @@ custom_tree:
 ;
 
 custom_tree_list:
-| custom_tree   { [$1] } 
-| custom_tree COMMA custom_tree_list  { $1::$3 } 
+| custom_tree   { [$1] }
+| custom_tree COMMA custom_tree_list  { $1::$3 }
+;
 
 annotation:
 | loop_annotations
       { let (b,v,p) = $1 in
-	(* TODO: do better, do not lose the structure ! *)
-	let l = b@v@p in
+        (* TODO: do better, do not lose the structure ! *)
+        let l = b@v@p in
         Aloop_annot (loc (), l) }
-| FOR ne_behavior_name_list COLON contract
-      { let s, pos = $4 in Acode_annot (pos, AStmtSpec ($2,s)) }
-| code_annotation { Acode_annot (loc(),$1) }
-| code_annotation beg_code_annotation
+| FOR ne_behavior_name_list COLON contract_or_code_annotation
+      { $4 $2 }
+| pragma_or_code_annotation { Acode_annot (loc(),$1) }
+| pragma_or_code_annotation beg_pragma_or_code_annotation
       { raise
           (Not_well_formed (loc(),
                             "Only one code annotation is allowed per comment"))
       }
-| EXT_CODE_ANNOT grammar_extension SEMICOLON
-  {
-    let open Cil_types in
-    let ext = $1 in
-    match Logic_env.extension_category ext with
-    | Some (Ext_code_annot (Ext_here | Ext_next_stmt | Ext_next_both)) ->
-      Acode_annot (loc(), Logic_ptree.AExtended([],false,(ext,$2)))
-    | Some (Ext_code_annot Ext_next_loop) ->
-      raise
-        (Not_well_formed
-          (lexeme_loc 1,
-             ext ^ " is not a loop annotation extension. It can't be used as \
-                     plain code annotation extension"))
-    | Some (Ext_contract | Ext_global) | None ->
-      Kernel.fatal ~source:(lexeme_start 1)
-        "%s is not a code annotation extension. Parser got wrong lexeme" ext
-  }
 | full_identifier_or_typename { Aattribute_annot (loc (), $1) }
 ;
 
+contract_or_code_annotation:
+| contract
+      { fun bhvs -> let s, pos = $1 in Acode_annot (pos, AStmtSpec (bhvs,s)) }
+| code_annotation { fun bhvs -> Acode_annot (loc(), ($1 bhvs)) }
+;
+
 /*** loop annotations ***/
 
 loop_annotations:
@@ -1429,23 +1425,42 @@ loop_pragma:
 
 /*** code annotations ***/
 
-beg_code_annotation:
+beg_pragma_or_code_annotation:
 | IMPACT {}
 | SLICE {}
 | FOR {}
 | ASSERT {}
 | INVARIANT {}
+| EXT_CODE_ANNOT {}
 ;
 
-code_annotation:
+pragma_or_code_annotation:
 | slice_pragma     { APragma (Slice_pragma $1) }
 | impact_pragma    { APragma (Impact_pragma $1) }
-| FOR ne_behavior_name_list COLON ASSERT full_lexpr SEMICOLON
-      { AAssert ($2,$5) }
-| FOR ne_behavior_name_list COLON INVARIANT full_lexpr SEMICOLON
-      { AInvariant ($2,false,$5) }
-| ASSERT full_lexpr SEMICOLON    { AAssert ([],$2) }
-| INVARIANT full_lexpr SEMICOLON { AInvariant ([],false,$2) }
+| code_annotation  { $1 []  }
+;
+
+code_annotation:
+| ASSERT full_lexpr SEMICOLON
+      { fun bhvs -> AAssert (bhvs,$2) }
+| INVARIANT full_lexpr SEMICOLON { fun bhvs -> AInvariant (bhvs,false,$2) }
+| EXT_CODE_ANNOT grammar_extension SEMICOLON
+  { fun bhvs ->
+    let open Cil_types in
+    let ext = $1 in
+    match Logic_env.extension_category ext with
+    | Some (Ext_code_annot (Ext_here | Ext_next_stmt | Ext_next_both)) ->
+      Logic_ptree.AExtended(bhvs,false,(ext,$2))
+    | Some (Ext_code_annot Ext_next_loop) ->
+      raise
+        (Not_well_formed
+          (lexeme_loc 1,
+             ext ^ " is not a loop annotation extension. It can't be used as \
+                     plain code annotation extension"))
+    | Some (Ext_contract | Ext_global) | None ->
+      Kernel.fatal ~source:(lexeme_start 1)
+        "%s is not a code annotation extension. Parser got wrong lexeme" ext
+  }
 ;
 
 slice_pragma:
@@ -1476,7 +1491,7 @@ decl_list:
 decl:
 | GLOBAL INVARIANT any_identifier COLON full_lexpr SEMICOLON
     { LDinvariant ($3, $5) }
-| VOLATILE ne_zones volatile_opt SEMICOLON { LDvolatile ($2, $3) }
+| VOLATILE full_ne_zones volatile_opt SEMICOLON { LDvolatile ($2, $3) }
 | type_annot {LDtype_annot $1}
 | model_annot {LDmodel_annot $1}
 | logic_def  { $1 }
@@ -1652,7 +1667,7 @@ logic_decl_loc:
 
 reads_clause:
 | /* epsilon */ { None }
-| READS zones { Some $2 }
+| READS full_zones { Some $2 }
 ;
 
 typedef:
@@ -1754,6 +1769,8 @@ identifier_or_typename:
 
 identifier:
 | IDENTIFIER { $1 }
+| READS { "reads" }
+| WRITES { "writes" }
 ;
 
 bounded_var:
@@ -1794,7 +1811,7 @@ acsl_c_keyword:
 ;
 
 post_cond:
-| ENSURES { Normal, "normal" }
+| ENSURES { Normal, "ensures" }
 | EXITS   { Exits, "exits" }
 | BREAKS  { Breaks, "breaks" }
 | CONTINUES { Continues, "continues" }
@@ -1816,8 +1833,10 @@ is_acsl_spec:
 ;
 
 is_acsl_decl_or_code_annot:
-| ASSERT    { "assert" }
+| EXT_CODE_ANNOT { $1 }
+| EXT_GLOBAL     { $1 }
 | ASSUMES   { "assumes" }
+| ASSERT    { "assert" }
 | GLOBAL    { "global" }
 | IMPACT    { "impact" }
 | INDUCTIVE { "inductive" }
@@ -1855,6 +1874,7 @@ is_ext_spec:
 keyword:
 | LOGIC     { "logic" }
 | non_logic_keyword { $1 }
+;
 
 non_logic_keyword:
 | c_keyword      { $1 }
@@ -1963,8 +1983,6 @@ wildcard:
 | STRING_LITERAL { () }
 | TILDE { () }
 | IN { () }
-| EXT_GLOBAL { () }
-| EXT_CODE_ANNOT { () }
 ;
 
 any:
diff --git a/src/kernel_internals/parsing/logic_preprocess.mli b/src/kernel_internals/parsing/logic_preprocess.mli
index 92303230c129d22cc774597dbea72d71481a780b..c84f6e2dd8b97982cc3fa5e5fcaba5d84ece2ebd 100644
--- a/src/kernel_internals/parsing/logic_preprocess.mli
+++ b/src/kernel_internals/parsing/logic_preprocess.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_internals/parsing/logic_preprocess.mll b/src/kernel_internals/parsing/logic_preprocess.mll
index a8ae715b2c2f5da18bcbeaf6e1cd7e4e15502e10..91018631d2efcede80e905a502b411a8b51215c5 100644
--- a/src/kernel_internals/parsing/logic_preprocess.mll
+++ b/src/kernel_internals/parsing/logic_preprocess.mll
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_internals/runtime/boot.ml b/src/kernel_internals/runtime/boot.ml
index cf4d984887027307a912f76228b124200701f505..f1d0ce13fe9804f3627541aaf0ca9bc63b470392 100644
--- a/src/kernel_internals/runtime/boot.ml
+++ b/src/kernel_internals/runtime/boot.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/runtime/config.ml.in b/src/kernel_internals/runtime/config.ml.in
index c51c4c0be3c415f1016b6ff4eed58d050191ac32..c0f5852814ae1f34681f122f7a672be1ee95ed92 100644
--- a/src/kernel_internals/runtime/config.ml.in
+++ b/src/kernel_internals/runtime/config.ml.in
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -26,34 +26,51 @@ let version = "@VERSION@"
 let codename = "@VERSION_CODENAME@"
 let version_and_codename = version ^ " (" ^ codename ^ ")"
 
+let major_version = @MAJOR_VERSION@
+
+let minor_version = @MINOR_VERSION@
+
 let is_gui = ref false
 
 let ocamlc = "@OCAMLC@"
 let ocamlopt = "@OCAMLOPT@"
 let ocaml_wflags = "@WARNINGS@"
 
+let getenv_list name =
+  let path = Sys.getenv name in
+  Str.split (Str.regexp ":") path
+
+let add_symbolic_dir_list name = function
+  | [d] -> Filepath.add_symbolic_dir name d
+  | ds ->
+      List.iteri
+        (fun i d ->
+           let path = Printf.sprintf "%s#%d" name (succ i) in
+           Filepath.add_symbolic_dir path d)
+        ds
+
+
 let datadir = try Sys.getenv "FRAMAC_SHARE" with Not_found -> "@FRAMAC_DATADIR@"
+let framac_libc = datadir ^ "/libc"
+let extra_datadir = try getenv_list "FRAMAC_EXTRA_SHARE" with Not_found -> []
+let () = add_symbolic_dir_list "FRAMAC_EXTRA_SHARE" extra_datadir
+(** After so that it has the priority for pretty printing *)
 let () = Filepath.add_symbolic_dir "FRAMAC_SHARE" datadir
+
+let datadirs = datadir::extra_datadir
+
 let libdir = try Sys.getenv "FRAMAC_LIB" with Not_found -> "@FRAMAC_LIBDIR@"
 let () = Filepath.add_symbolic_dir "FRAMAC_LIB" libdir
 let plugin_dir =
   try
-    let path = Sys.getenv "FRAMAC_PLUGIN" in
-    Str.split (Str.regexp ":") path
+    getenv_list "FRAMAC_PLUGIN"
   with Not_found ->
     try [ Sys.getenv "FRAMAC_LIB" ^ "/plugins" ]
     with Not_found -> [ "@FRAMAC_PLUGINDIR@" ]
 
 let plugin_path = String.concat ":" plugin_dir
 
-let () = match plugin_dir with
-  | [d] -> Filepath.add_symbolic_dir "FRAMAC_PLUGIN" d
-  | ds ->
-      Array.iteri
-        (fun i d ->
-           let path = Printf.sprintf "FRAMAC_PLUGIN#%d" (succ i) in
-           Filepath.add_symbolic_dir path d)
-        (Array.of_list ds)
+let () = add_symbolic_dir_list "FRAMAC_PLUGIN" plugin_dir
 
 let default_cpp = "@FRAMAC_DEFAULT_CPP@"
 
diff --git a/src/kernel_internals/runtime/config.mli b/src/kernel_internals/runtime/config.mli
index 2d49810b265d24d7e86ea0f63a62cf3e40ec605c..d223daf3b963e3919f947abc024a05619d04c9f4 100644
--- a/src/kernel_internals/runtime/config.mli
+++ b/src/kernel_internals/runtime/config.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -28,10 +28,18 @@ val version: string
 
 val codename: string
 (** Frama-C version codename.
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 
 val version_and_codename: string
 (** Frama-C version and codename.
+    @since 18.0-Argon *)
+
+val major_version: int
+(** Frama-C major version number.
+    @since Frama-C+dev *)
+
+val minor_version: int
+(** Frama-C minor version number.
     @since Frama-C+dev *)
 
 val is_gui: bool ref
@@ -51,7 +59,17 @@ val ocaml_wflags: string
       @since Chlorine-20180501 *)
 
 val datadir: string
-  (** Directory where architecture independent files are. *)
+  (** Directory where architecture independent files are.
+      Main directory, use {!datadirs} for the others *)
+
+val datadirs: string list
+  (** Directories where architecture independent files are in order of
+      priority.
+      @since Frama-C-trunk*)
+
+val framac_libc: string
+  (** Directory where Frama-C libc headers are.
+      @since Frama-C-trunk*)
 
 val libdir: string
   (** Directory where the Frama-C kernel library is.
diff --git a/src/kernel_internals/runtime/frama_c_config.ml.in b/src/kernel_internals/runtime/frama_c_config.ml.in
index 872ca17eb22548a5ab7711e89b32378f5a5add01..15f01b713b6e94cbc096e0bbff64a88a9bae3d93 100644
--- a/src/kernel_internals/runtime/frama_c_config.ml.in
+++ b/src/kernel_internals/runtime/frama_c_config.ml.in
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/runtime/frama_c_init.ml b/src/kernel_internals/runtime/frama_c_init.ml
index 5587705baafb5425e175afef27a11485e1b73c09..94099da7b5febdc09bf9fc158a5ab3389c7f74ba 100644
--- a/src/kernel_internals/runtime/frama_c_init.ml
+++ b/src/kernel_internals/runtime/frama_c_init.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/runtime/frama_c_init.mli b/src/kernel_internals/runtime/frama_c_init.mli
index 0b78298540d2c54f3b1c88027f2cdf7ff6461e16..fff1a57dde130f657e49841a9f66314510d72cff 100644
--- a/src/kernel_internals/runtime/frama_c_init.mli
+++ b/src/kernel_internals/runtime/frama_c_init.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/runtime/gui_init.ml b/src/kernel_internals/runtime/gui_init.ml
index b06914a5cea3eb221b29b2072b9e6d49fe5ecd76..aaaf9362a05a095b78854ced947a73a1a695f4da 100644
--- a/src/kernel_internals/runtime/gui_init.ml
+++ b/src/kernel_internals/runtime/gui_init.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/runtime/gui_init.mli b/src/kernel_internals/runtime/gui_init.mli
index 4ec9af8d63ae3487115c38ea94d6171bd0c479a4..de5814abead6a05e0d90e214c19096fba5aa219d 100644
--- a/src/kernel_internals/runtime/gui_init.mli
+++ b/src/kernel_internals/runtime/gui_init.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/runtime/messages.ml b/src/kernel_internals/runtime/messages.ml
index 42d142ebb8c7f784c6372eebf4e0eb9dfdd6dd11..9d32138b4df31616c75d96d46e008967af5fda13 100644
--- a/src/kernel_internals/runtime/messages.ml
+++ b/src/kernel_internals/runtime/messages.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/runtime/messages.mli b/src/kernel_internals/runtime/messages.mli
index 49fc8d6646a91857ec4b958c71926181af8bb856..5a7da51baa5a65f6f3287a57e9155ed58667963d 100644
--- a/src/kernel_internals/runtime/messages.mli
+++ b/src/kernel_internals/runtime/messages.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/runtime/special_hooks.ml b/src/kernel_internals/runtime/special_hooks.ml
index c302651359ef88cf75158a60d265e9919ac06900..9aecb292da713a7214e26574f10a62229de8f029 100644
--- a/src/kernel_internals/runtime/special_hooks.ml
+++ b/src/kernel_internals/runtime/special_hooks.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/runtime/special_hooks.mli b/src/kernel_internals/runtime/special_hooks.mli
index 223a8bc98bfd63e6ce270e622b32859d42359d82..0b4bb35903abcd92d7213a16ae5b200b28d29a2f 100644
--- a/src/kernel_internals/runtime/special_hooks.mli
+++ b/src/kernel_internals/runtime/special_hooks.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/runtime/toplevel_config.ml b/src/kernel_internals/runtime/toplevel_config.ml
index b78c7a82b4790e7582266afaa3d0b920343a730a..6c03708b5d536796d917176cccb9c296ab0bbb5c 100644
--- a/src/kernel_internals/runtime/toplevel_config.ml
+++ b/src/kernel_internals/runtime/toplevel_config.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/typing/allocates.ml b/src/kernel_internals/typing/allocates.ml
index 7fa2691165885362cd5bed069473b51fe7981820..708ffa5705235244f0416d78b0b413b32eb0b376 100644
--- a/src/kernel_internals/typing/allocates.ml
+++ b/src/kernel_internals/typing/allocates.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/typing/allocates.mli b/src/kernel_internals/typing/allocates.mli
index ae41367e2949bdb90827dbf97f36a8b078290d64..8e03dec87599f7dd73882a6a401822fbfc28fd29 100644
--- a/src/kernel_internals/typing/allocates.mli
+++ b/src/kernel_internals/typing/allocates.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/typing/asm_contracts.ml b/src/kernel_internals/typing/asm_contracts.ml
index 8442c9d157b20f1a20576307981da91ec131dd86..3bf647bcaa472e030cd5ddb1868c4e77f8d504b4 100644
--- a/src/kernel_internals/typing/asm_contracts.ml
+++ b/src/kernel_internals/typing/asm_contracts.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/typing/asm_contracts.mli b/src/kernel_internals/typing/asm_contracts.mli
index 3cc03df63f0f990ba1e5f3bf4f1005ad51322d76..068fe6ab31027d0bae2d6769ba4a99dfcd542079 100644
--- a/src/kernel_internals/typing/asm_contracts.mli
+++ b/src/kernel_internals/typing/asm_contracts.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/typing/cabs2cil.ml b/src/kernel_internals/typing/cabs2cil.ml
index d4fc5632a69bc967f2e026fdc892aba896544390..984fef51c452bc6ffd8b2cab48b3e9c352650d11 100644
--- a/src/kernel_internals/typing/cabs2cil.ml
+++ b/src/kernel_internals/typing/cabs2cil.ml
@@ -149,7 +149,7 @@ module ConditionalSideEffectHook =
   Hook.Build(struct type t = Cabs.expression * Cabs.expression end)
 
 module ForLoopHook =
-  Hook.Build(struct 
+  Hook.Build(struct
     type t =
       Cabs.for_clause * Cabs.expression * Cabs.expression * Cabs.statement
   end)
@@ -210,8 +210,8 @@ let rec is_dangerous e = match e.enode with
   | Const _ | SizeOf _ | SizeOfE _ | SizeOfStr _ | AlignOf _ | AlignOfE _ ->
     false
 and is_dangerous_lval = function
-  | Var v,_ when 
-      (not v.vglob && not v.vformal && not v.vtemp) 
+  | Var v,_ when
+      (not v.vglob && not v.vformal && not v.vtemp)
       || Cil.hasAttribute "volatile" v.vattr
       || Cil.typeHasAttribute "volatile" (Cil.unrollType v.vtype)
     -> true
@@ -280,8 +280,8 @@ let current_stdheader = ref []
 let pop_stdheader () =
   match !current_stdheader with
   | s::l ->
-     Kernel.debug ~dkey:Kernel.dkey_typing_pragma "Popping %s %s" fc_stdlib s;
-     current_stdheader := l
+    Kernel.debug ~dkey:Kernel.dkey_typing_pragma "Popping %s %s" fc_stdlib s;
+    current_stdheader := l
   | [] -> Kernel.warning "#pragma %s pop does not match a push" fc_stdlib
 
 let push_stdheader s =
@@ -315,7 +315,7 @@ let process_stdlib_pragma name args =
     match args with
     | [ ACons ("pop",_) ] -> pop_stdheader (); None
     | [ ACons ("push",_); AStr s ] ->
-      let base_name = Config.datadir ^ "/libc" in
+      let base_name = Config.framac_libc in
       let relative_name = Filepath.relativize ~base_name s in
       push_stdheader relative_name;
       None
@@ -914,7 +914,7 @@ let fresh_global lookupname =
  * "enum" for enumerations, or "type" for types *)
 let kindPlusName (kind: string)
     (origname: string) : string =
-  (* typedefs live in the same namespace as normal identifiers. *) 
+  (* typedefs live in the same namespace as normal identifiers. *)
   if kind = "" || kind = "type" then origname
   else kind ^ " " ^ origname
 
@@ -992,7 +992,7 @@ let newAlphaName (globalscope: bool) (* The name should have global scope *)
            Previous declaration was at %a"
           origname (if is_same_kind kind info then "" else " with different kind")
           Cil_datatype.Location.pretty oldloc
-    with 
+    with
     | Not_found -> () (* no clash of identifiers *)
     | Failure _ ->
       Kernel.fatal
@@ -1151,7 +1151,7 @@ let get_temp_name () =
 (* Create a new temporary variable *)
 let newTempVar descr (descrpure:bool) typ =
   let t' = (!typeForInsertedVar) typ in
-  let name = get_temp_name () in 
+  let name = get_temp_name () in
   let vi = makeVarinfo ~temp:true false false name t' in
   vi.vdescr <- Some descr;
   vi.vdescrpure <- descrpure;
@@ -1404,7 +1404,7 @@ struct
       (Pretty_utils.pp_list ~sep:",@ " Cil_printer.pp_lval) modified
       (Pretty_utils.pp_list ~sep:",@ " Cil_printer.pp_lval) write
       (Pretty_utils.pp_list ~sep:",@ " Cil_printer.pp_lval) reads
-      (Pretty_utils.pp_list ~sep:",@ " 
+      (Pretty_utils.pp_list ~sep:",@ "
          (fun fmt x -> Cil_printer.pp_stmt fmt !x)) calls
       Cil_printer.pp_stmt s
 
@@ -1424,7 +1424,7 @@ struct
   let empty_stmts l =
     let rec is_empty_stmt s =
       match s.skind with
-      | Instr (Skip _) -> s.labels = []
+      | Instr (Skip _) -> s.labels = [] && s.sattr = []
       | Block b -> b.battrs = [] && List.for_all is_empty_stmt b.bstmts
       | UnspecifiedSequence seq ->
         List.for_all is_empty_stmt (List.map (fun (x,_,_,_,_) -> x) seq)
@@ -1506,8 +1506,8 @@ struct
         let my_ref =
           ref
             (mkEmptyStmt
-              (* just a placeholder that will never be used. no need to
-                 check for ghost status here. *)
+               (* just a placeholder that will never be used. no need to
+                  check for ghost status here. *)
                ~ghost:false ~valid_sid ~loc:(cabslu "_find_label") ())
         in
         addGoto s my_ref; my_ref
@@ -1529,12 +1529,12 @@ struct
   let c2block ~ghost ?(collapse_block=true) ?(force_non_scoping=false) c =
     let declares_var = c.locals <> [] || c.statics <> [] in
     if c.unspecified_order then begin
-        if List.length c.stmts >= 2 then begin
-          let first_stmt =
-            (fun (s,_,_,_,_) -> s) (Extlib.last c.stmts) in
-          Kernel.warning ~wkey:Kernel.wkey_cert_exp_10
-            ~source:(fst (Stmt.loc first_stmt))
-            "Potential unsequenced side-effects" end;
+      if List.length c.stmts >= 2 then begin
+        let first_stmt =
+          (fun (s,_,_,_,_) -> s) (Extlib.last c.stmts) in
+        Kernel.warning ~wkey:Kernel.wkey_cert_exp_10
+          ~source:(fst (Stmt.loc first_stmt))
+          "Potential unsequenced side-effects" end;
       let b =
         Cil.mkBlock
           [mkStmt ~ghost ~valid_sid (UnspecifiedSequence (List.rev c.stmts))]
@@ -1865,10 +1865,10 @@ struct
   let canDrop (c: chunk) =
     List.for_all (fun (s,_,_,_,_) -> canDropStatement s) c.stmts
 
-  let loopChunk ~ghost a (body: chunk) : chunk =
+  let loopChunk ~ghost ~sattr a (body: chunk) : chunk =
     (* Make the statement *)
     let loop =
-      mkStmt ~ghost ~valid_sid
+      mkStmt ~ghost ~valid_sid ~sattr
         (Loop (a,c2block ~ghost body, CurrentLoc.get (), None, None))
     in
     { stmts = [ loop,[],[],[],[] ];
@@ -1967,7 +1967,7 @@ struct
          | Some i1, Some i2 when not (Integer.equal i1 i2) ->
            Kernel.feedback ~once:true ~source:(fst e.eloc)
              "Case label %a exceeds range of %a for switch expression. \
-              Nothing to worry." 
+              Nothing to worry."
              Cil_printer.pp_exp e Cil_printer.pp_typ t;
          | _ -> ()
         );
@@ -2581,12 +2581,12 @@ let rec combineTypes (what: combineWhat) (oldt: typ) (t: typ) : typ =
         end
     in
     (* Drop missingproto as soon as one of the type is a properly declared one*)
-    let olda = 
+    let olda =
       if not (Cil.hasAttribute "missingproto" a) then
         Cil.dropAttribute "missingproto" olda'
       else olda'
     in
-    let a = 
+    let a =
       if not (Cil.hasAttribute "missingproto" olda') then
         Cil.dropAttribute "missingproto" a
       else a
@@ -2729,9 +2729,9 @@ let rec castTo ?(fromsource=false)
       in
       castTo ~fromsource (TPtr (ot', [])) nt' clean_e
 
-      (* accept converting a ptr to function to/from a ptr to void, even though
-         not really accepted by the standard. gcc supports it. though
-      *)
+    (* accept converting a ptr to function to/from a ptr to void, even though
+       not really accepted by the standard. gcc supports it. though
+    *)
     | TPtr (TFun _,_), TPtr (TVoid _, _) -> result
     | TPtr (TVoid _, _), TPtr (TFun _,_) -> result
     (* Taking numerical address or calling an absolute location. Also
@@ -2742,13 +2742,13 @@ let rec castTo ?(fromsource=false)
     (* pointer to potential function type. Note that we do not
        use unrollTypeDeep above in order to avoid needless divergence with
        original type in the sources.
-     *)
+    *)
     | TPtr(TFun _,_), TPtr(TNamed(ti,nattr),pattr) ->
-        castTo
-          ~fromsource ot (TPtr (Cil.typeAddAttributes nattr ti.ttype, pattr)) e
+      castTo
+        ~fromsource ot (TPtr (Cil.typeAddAttributes nattr ti.ttype, pattr)) e
     | TPtr(TNamed(ti,nattr),pattr), TPtr(TFun _,_) ->
-        castTo
-          ~fromsource (TPtr (Cil.typeAddAttributes nattr ti.ttype, pattr)) nt e
+      castTo
+        ~fromsource (TPtr (Cil.typeAddAttributes nattr ti.ttype, pattr)) nt e
 
     (* No other conversion implying a pointer to function
        and a pointer to object are supported. *)
@@ -2826,7 +2826,7 @@ let rec castTo ?(fromsource=false)
     | TComp(_, _, _), _ -> begin
         match isTransparentUnion ot with
         | None ->
-          Kernel.fatal ~current:true "castTo %a -> %a" 
+          Kernel.fatal ~current:true "castTo %a -> %a"
             Cil_printer.pp_typ ot Cil_printer.pp_typ nt'
         | Some fstfield -> begin
             (* We do it now only if the expression is an lval *)
@@ -2871,9 +2871,9 @@ let makeGlobalVarinfo (isadef: bool) (vi: varinfo) : varinfo * bool =
       let newstorage = (** See 6.2.2 *)
         match oldvi.vstorage, vi.vstorage with
         | Extern, NoStorage when isadef -> NoStorage
-          (* the case above is not strictly C standard, but will not accept
-             more program and is more compatible with old implicit
-             quasi-invariant that Extern == not defined. *)
+        (* the case above is not strictly C standard, but will not accept
+           more program and is more compatible with old implicit
+           quasi-invariant that Extern == not defined. *)
         | Extern, (Extern | NoStorage) -> Extern
         | NoStorage, Extern -> if oldvi.vdefined then NoStorage else Extern
         | NoStorage, NoStorage -> NoStorage
@@ -2935,7 +2935,7 @@ let makeGlobalVarinfo (isadef: bool) (vi: varinfo) : varinfo * bool =
             Cil_printer.pp_typ vi.vtype ;
           Kernel.error ~once:true ~current:true
             "Declaration of %s does not match previous declaration from \
- %a (%s)."
+             %a (%s)."
             vi.vname Cil_printer.pp_location oldloc reason;
           IncompatibleDeclHook.apply (oldvi,vi,reason)
       end;
@@ -2956,18 +2956,18 @@ let makeGlobalVarinfo (isadef: bool) (vi: varinfo) : varinfo * bool =
              let old_formals_env = getFormalsDecl oldvi in
              List.iter2
                (fun old (name,typ,attr) ->
-                 if name <> "" then begin
-                   Kernel.debug ~dkey:Kernel.dkey_typing_global
-                     "replacing formal %s with %s" old.vname name;
-                   old.vname <- name;
-                   if not oldvi.vdefined || isadef then begin
-                     Cil.update_var_type old typ;
-                     old.vattr <- attr;
-                   end;
-                   (match old.vlogic_var_assoc with
-                   | None -> ()
-                   | Some old_lv -> old_lv.lv_name <- name)
-                 end)
+                  if name <> "" then begin
+                    Kernel.debug ~dkey:Kernel.dkey_typing_global
+                      "replacing formal %s with %s" old.vname name;
+                    old.vname <- name;
+                    if not oldvi.vdefined || isadef then begin
+                      Cil.update_var_type old typ;
+                      old.vattr <- attr;
+                    end;
+                    (match old.vlogic_var_assoc with
+                     | None -> ()
+                     | Some old_lv -> old_lv.lv_name <- name)
+                  end)
                old_formals_env
                formals;
            with
@@ -2987,18 +2987,18 @@ let makeGlobalVarinfo (isadef: bool) (vi: varinfo) : varinfo * bool =
          temporaries have sufficiently fresh names that this is not a problem *)
       oldvi, true
     with Not_found -> begin (* A new one.  *)
-      Kernel.debug ~dkey:Kernel.dkey_typing_global
-        "  %s not in the env already" vi.vname;
-      (* Announce the name to the alpha conversion table. This will not
-       * actually change the name of the vi. See the definition of
-       * alphaConvertVarAndAddToEnv *)
-      let vi = alphaConvertVarAndAddToEnv true vi in
-      (* update the field [vdefined] *)
-      if isadef then vi.vdefined <- true;
-      vi.vattr <- dropAttribute "FC_OLDSTYLEPROTO" vi.vattr;
-      vi.vattr <- fc_stdlib_attribute vi.vattr;
-      vi, false
-    end
+        Kernel.debug ~dkey:Kernel.dkey_typing_global
+          "  %s not in the env already" vi.vname;
+        (* Announce the name to the alpha conversion table. This will not
+         * actually change the name of the vi. See the definition of
+         * alphaConvertVarAndAddToEnv *)
+        let vi = alphaConvertVarAndAddToEnv true vi in
+        (* update the field [vdefined] *)
+        if isadef then vi.vdefined <- true;
+        vi.vattr <- dropAttribute "FC_OLDSTYLEPROTO" vi.vattr;
+        vi.vattr <- fc_stdlib_attribute vi.vattr;
+        vi, false
+      end
   in
   NewGlobalHook.apply res;
   res
@@ -3181,7 +3181,7 @@ let rec setOneInit this o preinit =
  * (ANSI C, 6.7.8, para 22).
  * Finally, we return the set of lvals that are read for the evaluation of
  * the initializer (for unspecified sequences)
- *)
+*)
 let rec collectInitializer
     reads (* lval already read by the rest of the initializer. *)
     (this: preInit)
@@ -3497,25 +3497,25 @@ let fieldsToInit
     (* Ignore anonymous non-comp fields *)
     if f.fname = missingFieldName then
       acc
-    (* if we have already found the designator, just append the current field *)
+      (* if we have already found the designator, just append the current field *)
     else if found then
       found, offset :: loff
-    (* if this field is an anonymous comp, search for the designator inside *)
+      (* if this field is an anonymous comp, search for the designator inside *)
     else if prefix anonCompFieldName f.fname && not found then
       match unrollType f.ftype with
       | TComp (comp, _, _) ->
         add_comp offset comp acc (* go deeper inside *)
       | _ ->
         abort_context "unnamed field type is not a struct/union"
-   (* does this field match the designator ? *)
+        (* does this field match the designator ? *)
     else match designator with
       | Some fn when f.fname = fn -> (true, [offset])
       | _ -> acc
   in
   let found, r = add_comp NoOffset comp (designator = None, []) in
   begin if not found then
-    let fn = Extlib.the designator in
-    Kernel.fatal ~current:true "Cannot find designated field %s" fn;
+      let fn = Extlib.the designator in
+      Kernel.fatal ~current:true "Cannot find designated field %s" fn;
   end;
   List.rev r
 
@@ -3597,7 +3597,7 @@ let allow_return_collapse ~tlv ~tf =
    | TInt (iklv, _), TInt (ikf, _) ->
      Cil.isSigned iklv = Cil.isSigned ikf &&
      Cil.bitsSizeOfBitfield tlv = Cil.bitsSizeOf tf (* && *)
-     (* not (Cil.typeHasQualifier "volatile" tlv) *)
+   (* not (Cil.typeHasQualifier "volatile" tlv) *)
    | TFloat (fklv, _), TFloat (fkf, _) -> fklv = fkf
    | _, _ -> false
   )
@@ -4060,7 +4060,7 @@ let default_argument_promotion idx exp =
     | TVoid _ -> voidType
     | TInt(k,_) when Cil.rank k < Cil.rank IInt ->
       if intTypeIncluded k IInt then intType
-      else (* This may happen when char or short have the same size as int *) 
+      else (* This may happen when char or short have the same size as int *)
         uintType
     | TInt(k,_) -> TInt(k,[])
     | TFloat(FFloat,_) -> doubleType
@@ -4079,9 +4079,9 @@ let default_argument_promotion idx exp =
   (name,typ,[]), e
 
 (* Promote variadic arguments with standard argument promotions.*)
-let promote_variadic_arguments (chunk,args) = 
+let promote_variadic_arguments (chunk,args) =
   let args =
-    Extlib.mapi 
+    Extlib.mapi
       (fun i arg -> snd (default_argument_promotion i arg))
       args
   in
@@ -4192,7 +4192,7 @@ let checkTypedefSize name typ =
            check for mismatch between -machdep flag and headers used"
           Typ.pretty typ size name
     with
-      (* Not a standard integer type, ignore it. *)
+    (* Not a standard integer type, ignore it. *)
       Not_found -> ()
   end
 
@@ -4504,7 +4504,7 @@ let rec doSpecList ghost (suggestedAnonName: string)
               let ik = updateEnum i in
               if theMachine.lowerConstants then
                 kinteger64 ~loc:e.expr_loc ~kind:ik i
-              else 
+              else
                 e'
           in
           processName kname e' (convLoc cloc) rest
@@ -4528,7 +4528,7 @@ let rec doSpecList ghost (suggestedAnonName: string)
         let ekind =
           match Kernel.Enums.get () with
           | "" | "help" | "gcc-enums" ->
-            if hasAttribute "packed" enum.eattr || 
+            if hasAttribute "packed" enum.eattr ||
                bytesSizeOfInt real_kind >= bytesSizeOfInt IInt
             then real_kind
             else if unsigned then IUInt else IInt
@@ -4863,7 +4863,7 @@ and doType (ghost:bool) isFuncArg
           "declaration of array of incomplete type '%a`"
           Cil_printer.pp_typ bt
       else if not allowZeroSizeArrays &&
-         not (Cil.isCompleteType ~allowZeroSizeArrays:false bt)
+              not (Cil.isCompleteType ~allowZeroSizeArrays:false bt)
       then
         (* because we tested previously for incomplete types and now tested again
            forbidding zero-length arrays, bt is necessarily a zero-length array *)
@@ -4881,42 +4881,42 @@ and doType (ghost:bool) isFuncArg
         match len.expr_node with
         | A.NOTHING -> None
         | _ ->
-            (* Check that len is a constant expression.
-               We used to also cast the length to int here, but that's
-               theoretically too restrictive on 64-bit machines. *)
-            let len' = doPureExp (ghost_local_env ghost) len in
-            if not (isIntegralType (typeOf len')) then
-              Kernel.error ~once:true ~current:true
-                "Array length %a does not have an integral type."
-                Cil_printer.pp_exp len';
-            if not allowVarSizeArrays then begin
-              (* Assert that len' is a constant *)
-              let cst = constFold true len' in
-              (match cst.enode with
-               | Const(CInt64(i, _, _)) ->
-                 if Integer.lt i Integer.zero then
-                   Kernel.error ~once:true ~current:true 
-                     "Length of array is negative"
-               | _ ->
-                 if isConstant cst then
-                   (* e.g., there may be a float constant involved.
-                    * We'll leave it to the user to ensure the length is
-                    * non-negative, etc.*)
-                   Kernel.warning ~once:true ~current:true
-                     "Unable to do constant-folding on array length %a. \
-                      Some CIL operations on this array may fail."
-                     Cil_printer.pp_exp cst
-                 else
-                   Kernel.error ~once:true ~current:true
-                     "Length of array is not a constant: %a"
-                     Cil_printer.pp_exp cst)
-            end;
-            if Cil.isZero len' && not allowZeroSizeArrays &&
-               not (Cil.gccMode () || Cil.msvcMode ())
-            then
-              Kernel.error ~once:true ~current:true
-                "zero-length arrays only allowed for GCC/MSVC";
-            Some len'
+          (* Check that len is a constant expression.
+             We used to also cast the length to int here, but that's
+             theoretically too restrictive on 64-bit machines. *)
+          let len' = doPureExp (ghost_local_env ghost) len in
+          if not (isIntegralType (typeOf len')) then
+            Kernel.error ~once:true ~current:true
+              "Array length %a does not have an integral type."
+              Cil_printer.pp_exp len';
+          if not allowVarSizeArrays then begin
+            (* Assert that len' is a constant *)
+            let cst = constFold true len' in
+            (match cst.enode with
+             | Const(CInt64(i, _, _)) ->
+               if Integer.lt i Integer.zero then
+                 Kernel.error ~once:true ~current:true
+                   "Length of array is negative"
+             | _ ->
+               if isConstant cst then
+                 (* e.g., there may be a float constant involved.
+                  * We'll leave it to the user to ensure the length is
+                  * non-negative, etc.*)
+                 Kernel.warning ~once:true ~current:true
+                   "Unable to do constant-folding on array length %a. \
+                    Some CIL operations on this array may fail."
+                   Cil_printer.pp_exp cst
+               else
+                 Kernel.error ~once:true ~current:true
+                   "Length of array is not a constant: %a"
+                   Cil_printer.pp_exp cst)
+          end;
+          if Cil.isZero len' && not allowZeroSizeArrays &&
+             not (Cil.gccMode () || Cil.msvcMode ())
+          then
+            Kernel.error ~once:true ~current:true
+              "zero-length arrays only allowed for GCC/MSVC";
+          Some len'
       in
       let al' = doAttributes ghost al in
       if not isFuncArg && hasAttribute "static" al' then
@@ -5101,7 +5101,7 @@ and makeCompType ghost (isstruct: bool)
    * one exists already from a forward reference  *)
   let comp, _ = createCompInfo isstruct n' norig in
   let doFieldGroup ~is_first_group ~is_last_group ((s: A.spec_elem list),
-                    (nl: (A.name * A.expression option) list)) =
+                                                   (nl: (A.name * A.expression option) list)) =
     (* Do the specifiers exactly once *)
     let sugg = match nl with
       | [] -> ""
@@ -5117,7 +5117,7 @@ and makeCompType ghost (isstruct: bool)
       let allowZeroSizeArrays = true in
       let ftype, nattr =
         doType
-          ~allowZeroSizeArrays ghost false (AttrName false) bt 
+          ~allowZeroSizeArrays ghost false (AttrName false) bt
           (A.PARENTYPE(attrs, ndt, a))
       in
       (* check for fields whose type is incomplete. In particular, this rules
@@ -5126,8 +5126,8 @@ and makeCompType ghost (isstruct: bool)
          struct C2 { struct C1 c1; int dummy; };
       *)
       if Cil.isFunctionType ftype then
-          Kernel.error ~current:true
-            "field `%s' declared as a function" n
+        Kernel.error ~current:true
+          "field `%s' declared as a function" n
       else if Cil.has_flexible_array_member ftype then
         Kernel.error ~current:true
           "field `%s' declared with a type containing a flexible array member."
@@ -5167,7 +5167,7 @@ and makeCompType ghost (isstruct: bool)
                 "bitfield width is not an integer constant"
             | Some s as w ->
               let ftype =
-                typeAddAttributes 
+                typeAddAttributes
                   [Attr (bitfield_attribute_name, [AInt (Integer.of_int s)])]
                   ftype
               in
@@ -5200,7 +5200,7 @@ and makeCompType ghost (isstruct: bool)
             (* abort and not error, as this circularity could lead
                to infinite recursion... *)
             Kernel.abort
-              "type %s %s is circular" 
+              "type %s %s is circular"
               (if comp.cstruct then "struct" else "union")
               comp.cname;
           end else
@@ -5273,8 +5273,8 @@ and makeCompType ghost (isstruct: bool)
      * the type structure. We do a thorough check and then we reuse the type
      * for A *)
     if List.length comp.cfields <> List.length flds
-       || (List.exists2 (fun f1 f2 -> not (Cil_datatype.Typ.equal f1.ftype f2.ftype))
-             comp.cfields flds)
+    || (List.exists2 (fun f1 f2 -> not (Cil_datatype.Typ.equal f1.ftype f2.ftype))
+          comp.cfields flds)
     then
       Kernel.error ~once:true ~current:true
         "%s seems to be multiply defined" (compFullName comp)
@@ -5343,7 +5343,7 @@ and getIntConstExp ghost (aexp) : exp =
   let loc = aexp.expr_loc in
   let _, c, e, _ = doExp (ghost_local_env ghost) true aexp (AExp None) in
   if not (isEmpty c) then
-    Kernel.error ~once:true ~current:true "Constant expression %a has effects" 
+    Kernel.error ~once:true ~current:true "Constant expression %a has effects"
       Cil_printer.pp_exp e;
   match e.enode with
   (* first, filter for those Const exps that are integers *)
@@ -5353,7 +5353,7 @@ and getIntConstExp ghost (aexp) : exp =
 
   (* other Const expressions are not ok *)
   | Const _ ->
-    Kernel.fatal ~current:true "Expected integer constant and got %a" 
+    Kernel.fatal ~current:true "Expected integer constant and got %a"
       Cil_printer.pp_exp e
 
   (* now, anything else that 'doExp true' returned is ok (provided
@@ -5443,7 +5443,7 @@ and doExp local_env
           (*Kernel.debug "finishExp: e = %a\n  e'' = %a\n" Cil_printer.pp_exp e Cil_printer.pp_exp e'';*)
           let writes = if is_real_write then [lv] else [] in
           ([], (* the reads are incorporated in the chunk. *)
-           ((unspecified_chunk empty) @@ (remove_reads lv se, ghost)) 
+           ((unspecified_chunk empty) @@ (remove_reads lv se, ghost))
            +++
            (mkStmtOneInstr ~ghost ~valid_sid (Set(lv, e'', CurrentLoc.get ())),
             writes,writes,
@@ -6107,7 +6107,7 @@ and doExp local_env
             in
             let r1, tmplv, se3 =
               if needsTemp then
-                let descr = 
+                let descr =
                   Format.asprintf "%a" Cil_descriptive_printer.pp_lval lv
                 in
                 let tmp = newTempVar descr true lvt in
@@ -6155,14 +6155,14 @@ and doExp local_env
     | A.BINARY((A.ADD_ASSIGN|A.SUB_ASSIGN|A.MUL_ASSIGN|A.DIV_ASSIGN|
                 A.MOD_ASSIGN|A.BAND_ASSIGN|A.BOR_ASSIGN|A.SHL_ASSIGN|
                 A.SHR_ASSIGN|A.XOR_ASSIGN) as bop, e1, e2) ->
-        let se0 = unspecified_chunk empty in
-        let action local_env asconst e _what =
-          match e.expr_node with
-          | A.COMMA _ | A.QUESTION _ | A.PAREN _ ->
-            Kernel.fatal "normalization of lval in compound assignment failed"
-          | A.VARIABLE _ | A.UNARY (A.MEMOF, _) | (* Regular lvalues *)
-             A.INDEX _ | A.MEMBEROF _ | A.MEMBEROFPTR _ |
-           A.CAST _ (* GCC extension *) -> begin
+      let se0 = unspecified_chunk empty in
+      let action local_env asconst e _what =
+        match e.expr_node with
+        | A.COMMA _ | A.QUESTION _ | A.PAREN _ ->
+          Kernel.fatal "normalization of lval in compound assignment failed"
+        | A.VARIABLE _ | A.UNARY (A.MEMOF, _) | (* Regular lvalues *)
+          A.INDEX _ | A.MEMBEROF _ | A.MEMBEROFPTR _ |
+          A.CAST _ (* GCC extension *) -> begin
             if asconst then
               Kernel.warning ~current:true "op_ASSIGN in constant";
             let bop' = match bop with
@@ -6257,9 +6257,9 @@ and doExp local_env
          * takes INTs as arguments  *)
         | A.VARIABLE n -> begin
             try
-              (* First look for polymorphic builtins. The typing rule is 
+              (* First look for polymorphic builtins. The typing rule is
                  luckily always the same one. *)
-              let n = match n with 
+              let n = match n with
                 | "__sync_add_and_fetch" | "__sync_sub_and_fetch"
                 | "__sync_or_and_fetch" | "__sync_and_and_fetch"
                 | "__sync_xor_and_fetch" | "__sync_nand_and_fetch"
@@ -6268,10 +6268,10 @@ and doExp local_env
                 | "__sync_fetch_and_xor" | "__sync_fetch_and_nand"
                 | "__sync_bool_compare_and_swap"
                 | "__sync_val_compare_and_swap"
-                | "__sync_lock_release" | "__sync_lock_test_and_set" -> 
+                | "__sync_lock_release" | "__sync_lock_test_and_set" ->
                   begin
-                    match args with 
-                    | a1::_ -> 
+                    match args with
+                    | a1::_ ->
                       (* The available prototypes are
                          typ' f(typ* a1,typ a2,typ a3,...);
                          typ' f(typ* a1,typ a2,...);
@@ -6287,12 +6287,12 @@ and doExp local_env
                         n
                         (if isSignedInteger t then "" else "u")
                         (bitsSizeOf t)
-                    | [] -> 
-                      Kernel.error ~once:true ~current:true 
+                    | [] ->
+                      Kernel.error ~once:true ~current:true
                         "Too few arguments for builtin %s" n;
                       n
                   end
-                | _ -> n 
+                | _ -> n
               in
               let vi, _ = lookupVar n in
               let reads =
@@ -6340,8 +6340,8 @@ and doExp local_env
               let f'' =
                 match f'.enode with
                 | AddrOf lv -> new_exp ~loc:f'.eloc (Lval(lv))
-                | _ -> 
-                  new_exp ~loc:f'.eloc 
+                | _ ->
+                  new_exp ~loc:f'.eloc
                     (Lval (mkMem f' NoOffset))
               in
               (rt,at,isvar, f'',[])
@@ -6442,7 +6442,7 @@ and doExp local_env
                  (Cil.isPointerType texpected && Ast_info.is_null_expr a') ||
                  areCompatibleTypes texpected att ||
                  (let texpected_no_qualif =
-                    Cil.typeRemoveAttributesDeep ["const"] texpected
+                    Cil.typeRemoveAttributesDeep ["const"; "restrict"] texpected
                   in
                   areCompatibleTypes texpected_no_qualif att)
                in
@@ -6513,8 +6513,8 @@ and doExp local_env
                Cil.setFormalsDecl f typ;
                (chunk,args)
              end
-           | None, _ -> res 
-           (* TODO: treat function pointers. 
+           | None, _ -> res
+           (* TODO: treat function pointers.
               The issue is that their origin is more
               difficult to trace than plain variables (e.g. we'd have
               to take into account possible assignments, or update
@@ -6660,7 +6660,7 @@ and doExp local_env
                   * __builtin_va_alist argument from this function) *)
              end
 
-           | "__builtin_varargs_start" -> 
+           | "__builtin_varargs_start" ->
              begin
                (* Lookup the prototype for the replacement *)
                let v, _  =
@@ -6672,7 +6672,7 @@ and doExp local_env
                in
                pf := new_exp ~loc (Lval (var v))
              end
-           |  "__builtin_next_arg" -> 
+           |  "__builtin_next_arg" ->
              begin
                match !pargs with
                | last :: [] -> begin
@@ -6691,20 +6691,20 @@ and doExp local_env
                  end
                | _ ->
                  Kernel.warning ~current:true "Invalid call to %s\n" fv.vname;
-             end 
+             end
            | "__builtin_va_arg_pack" ->
-             begin 
+             begin
                (match !pargs with
-                | [ ] -> begin 
-                    piscall := false; 
+                | [ ] -> begin
+                    piscall := false;
                     pres := new_exp ~loc:e.expr_loc (SizeOfE !pf);
                     prestype := theMachine.typeOfSizeOf
                   end
-                | _ -> 
-                  Kernel.warning ~current:true 
+                | _ ->
+                  Kernel.warning ~current:true
                     "Invalid call to builtin_va_arg_pack");
              end
-           | "__builtin_constant_p" -> 
+           | "__builtin_constant_p" ->
              begin
                (* Before emptying the chunk, we remove the corresponding
                   generated labels from the tables. Otherwise, they will
@@ -6715,8 +6715,8 @@ and doExp local_env
                    inherit Cil.nopCilVisitor
                    method! vstmt { labels } =
                      List.iter
-                       (function 
-                         | Label (l, _, _) -> 
+                       (function
+                         | Label (l, _, _) ->
                            H.remove labelStmt l;
                            H.remove backPatchGotos l
                          | _ -> ())
@@ -6726,7 +6726,7 @@ and doExp local_env
                  in
                  ignore (Cil.visitCilStmt vis s)
                in
-               List.iter 
+               List.iter
                  (fun (stmt, _, _, _, _) ->
                     remove_label stmt
                  ) !prechunk.stmts;
@@ -6749,14 +6749,14 @@ and doExp local_env
                   Kernel.warning ~current:true
                     "Invalid call to builtin_constant_p")
              end
-           | "__builtin_types_compatible_p" -> 
+           | "__builtin_types_compatible_p" ->
              begin
                (* Constant-fold the argument and see if it is a constant *)
-               (match !pargs with 
+               (match !pargs with
                 | [ {enode = SizeOf t1}; {enode = SizeOf t2}] -> begin
                     (* Drop the side-effects *)
                     prechunk := empty;
-                    piscall := false; 
+                    piscall := false;
                     let compatible =
                       try ignore(combineTypes CombineOther t1 t2); true
                       with Cannot_combine _ -> false
@@ -6766,18 +6766,18 @@ and doExp local_env
                       pres := integer ~loc 0;
                     prestype := intType
                   end
-                | _ -> 
-                  Kernel.warning 
-                    ~once:true 
-                    ~current:true 
+                | _ ->
+                  Kernel.warning
+                    ~once:true
+                    ~current:true
                     "Invalid call to builtin_types_compatible_p");
              end
-           | "__builtin_expect" -> 
+           | "__builtin_expect" ->
              begin
                match !pargs with
                | [ arg;_ ] ->
-                 (* Keep all side-effects, including those stemming 
-                    from the second argument. This is quite strange but 
+                 (* Keep all side-effects, including those stemming
+                    from the second argument. This is quite strange but
                     compliant with GCC's behavior. *)
                  piscall := false;
                  pres := arg
@@ -6786,15 +6786,15 @@ and doExp local_env
                    "Invalid call to builtin_expect"
              end
 
-           (* TODO: Only keep the side effects of the 1st or 2nd argument 
-              | "__builtin_choose_expr" -> 
-              begin match !pargs with 
-              | [ arg; e1; e2 ] -> 
-                begin 
+           (* TODO: Only keep the side effects of the 1st or 2nd argument
+              | "__builtin_choose_expr" ->
+              begin match !pargs with
+              | [ arg; e1; e2 ] ->
+                begin
                   let constfolded = constFold true arg in
-                  match constfolded.enode with 
-                  | Const _ -> 
-                    piscall := false; 
+                  match constfolded.enode with
+                  | Const _ ->
+                    piscall := false;
                     if isZero constfolded then begin
                     (* Keep only 3rd arg side effects *)
                       (*TODO: prechunk := sf @@ (List.nth sargsl 2);*)
@@ -6809,14 +6809,14 @@ and doExp local_env
                   | _ -> Kernel.warning ~once:true ~current:true
                     "builtin_choose_expr expects a constant first argument"
                 end
-              | _ -> 
+              | _ ->
               Kernel.warning ~once:true ~current:true
                 "Invalid call to builtin_choose_expr: 3 arguments are \
-                 expected but %d are provided." 
+                 expected but %d are provided."
                 (List.length !pargs)
               end*)
            | _ ->
-             if asconst then 
+             if asconst then
                (* last special case: we cannot allow a function call
                   at this point.*)
                begin
@@ -6874,8 +6874,8 @@ and doExp local_env
             let descr =
               Format.asprintf "%a(%a)"
                 Cil_descriptive_printer.pp_exp !pf
-                (Pretty_utils.pp_list ~sep:", " 
-                   Cil_descriptive_printer.pp_exp) 
+                (Pretty_utils.pp_list ~sep:", "
+                   Cil_descriptive_printer.pp_exp)
                 !pargs
             in
             let tmp = newTempVar descr false restype'' in
@@ -7444,7 +7444,7 @@ and doCondExp local_env (asconst: bool)
         let ce1 = remove_effects_ce ce1 in
         match ce1, ce2 with
         | CEExp (se1, ({enode = Const ci1})), _ ->
-          (match isConstTrueFalse ci1 with 
+          (match isConstTrueFalse ci1 with
            | `CTrue -> addChunkBeforeCE se1 ce2
            | `CFalse ->
              (* se2 might contain labels so we cannot always drop it *)
@@ -7622,10 +7622,10 @@ and doCondition local_env (isconst: bool)
         se
       end
     end else begin
-      let ce = doCondExp (no_paren_local_env local_env) isconst e in
-      let chunk = compileCondExp ~ghost:local_env.is_ghost ce st sf in
-      chunk
-    end
+    let ce = doCondExp (no_paren_local_env local_env) isconst e in
+    let chunk = compileCondExp ~ghost:local_env.is_ghost ce st sf in
+    chunk
+  end
 
 and doPureExp local_env (e : A.expression) : exp =
   let (_,se, e', _) = doExp local_env true e (AExp None) in
@@ -7643,7 +7643,7 @@ and doInitializer local_env (vi: varinfo) (inite: A.init_expression)
   (* Return the accumulated chunk, the initializer and the new type (might be
    * different for arrays), together with the lvals read during evaluation of
    * the initializer (for local intialization)
-   *)
+  *)
   : chunk * init * typ * Cil_datatype.Lval.Set.t =
 
   Kernel.debug ~dkey:Kernel.dkey_typing_init
@@ -7684,7 +7684,7 @@ and doInitializer local_env (vi: varinfo) (inite: A.init_expression)
    - acc is the chunk corresponding to initializations seen previously
      (for locals)
    - initl is the current list of initializers to be processed
-doInit returns a triple:
+   doInit returns a triple:
    - chunk performing initialization
    - preinit corresponding to the complete initialization
    - the list of unused initializers if any (should be empty most of the time)
@@ -8007,7 +8007,7 @@ and doInit local_env isconst add_implicit_ensures preinit so acc initl =
     normalSubobj so';
     let acc', preinit', initl' =
       match initl with
-      | [] -> (* empty initializer, a GNU extension to indicate 
+      | [] -> (* empty initializer, a GNU extension to indicate
                  0-initialization. We must indicate to our parent that we are
                  here, though. *)
         let preinit' = setOneInit preinit so'.curOff (empty_preinit()) in
@@ -8045,7 +8045,7 @@ and doInit local_env isconst add_implicit_ensures preinit so acc initl =
         doInit local_env isconst add_implicit_ensures preinit' so se restil
       with Not_found ->
         abort_context
-          "scalar value (of type %a) initialized by compound initializer" 
+          "scalar value (of type %a) initialized by compound initializer"
           Cil_printer.pp_typ t
     end
   (* We have a designator *)
@@ -8518,49 +8518,49 @@ and createLocal ghost ((_, sto, _, _) as specs)
         (* Register it *)
         let savelen = alphaConvertVarAndAddToEnv true savelen in
         let se0 = local_var_chunk se0 savelen in
-          (* Compute the allocation size *)
-          let elt_size = new_exp ~loc (SizeOf (Cil.typeOf_pointed vi.vtype)) in
-          let alloca_size =
-            new_exp ~loc
-              (BinOp(Mult,
-                     elt_size,
-                     new_exp ~loc (Lval (var savelen)),
-                     theMachine.typeOfSizeOf))
-          in
+        (* Compute the allocation size *)
+        let elt_size = new_exp ~loc (SizeOf (Cil.typeOf_pointed vi.vtype)) in
+        let alloca_size =
+          new_exp ~loc
+            (BinOp(Mult,
+                   elt_size,
+                   new_exp ~loc (Lval (var savelen)),
+                   theMachine.typeOfSizeOf))
+        in
         (* Register the length *)
         IH.add varSizeArrays vi.vid alloca_size;
         (* There can be no initializer for this *)
         if inite != A.NO_INIT then
           Kernel.error ~once:true ~current:true
             "Variable-sized array cannot have initializer";
-        let se0 = 
-        (* add an assertion to ensure the given size is correctly bound:
-           assert alloca_bounds: 0 < elt_size * array_size <= max_bounds 
-        *)
+        let se0 =
+          (* add an assertion to ensure the given size is correctly bound:
+             assert alloca_bounds: 0 < elt_size * array_size <= max_bounds
+          *)
           (se0 +++ (
-            let castloc = CurrentLoc.get () in
-            let talloca_size = 
-              let telt_size = Logic_utils.expr_to_term ~cast:false elt_size in
-              let tlen = Logic_utils.expr_to_term ~cast:false len in
-              Logic_const.term (TBinOp (Mult,telt_size,tlen)) telt_size.term_type 
-            in
-            let pos_size =
-              let zero =  Logic_const.tinteger ~loc:castloc 0 in
-              Logic_const.prel ~loc:castloc (Rlt, zero, talloca_size)
-            in
-            let max_size = 
-              let szTo = Cil.bitsSizeOf theMachine.typeOfSizeOf in
-              let max_bound =  Logic_const.tint ~loc:castloc (Cil.max_unsigned_number szTo) in
-              Logic_const.prel ~loc:castloc (Rle, talloca_size, max_bound) 
-            in
-            let alloca_bounds = Logic_const.pand ~loc:castloc (pos_size, max_size) in
-            let alloca_bounds = { alloca_bounds with pred_name = ["alloca_bounds"] } in
-            let annot =
-              Logic_const.new_code_annotation (AAssert ([], alloca_bounds))
-            in
-            (mkStmtOneInstr ~ghost ~valid_sid
-               (Code_annot (annot, castloc)),
-             [],[],[])))                  
+              let castloc = CurrentLoc.get () in
+              let talloca_size =
+                let telt_size = Logic_utils.expr_to_term ~cast:false elt_size in
+                let tlen = Logic_utils.expr_to_term ~cast:false len in
+                Logic_const.term (TBinOp (Mult,telt_size,tlen)) telt_size.term_type
+              in
+              let pos_size =
+                let zero =  Logic_const.tinteger ~loc:castloc 0 in
+                Logic_const.prel ~loc:castloc (Rlt, zero, talloca_size)
+              in
+              let max_size =
+                let szTo = Cil.bitsSizeOf theMachine.typeOfSizeOf in
+                let max_bound =  Logic_const.tint ~loc:castloc (Cil.max_unsigned_number szTo) in
+                Logic_const.prel ~loc:castloc (Rle, talloca_size, max_bound)
+              in
+              let alloca_bounds = Logic_const.pand ~loc:castloc (pos_size, max_size) in
+              let alloca_bounds = { alloca_bounds with pred_name = ["alloca_bounds"] } in
+              let annot =
+                Logic_const.new_code_annotation (AAssert ([], alloca_bounds))
+              in
+              (mkStmtOneInstr ~ghost ~valid_sid
+                 (Code_annot (annot, castloc)),
+               [],[],[])))
         in
         let setlen =  se0 +++
                       (mkStmtOneInstr ~ghost ~valid_sid
@@ -8580,7 +8580,7 @@ and createLocal ghost ((_, sto, _, _) as specs)
           (* do it in two *)
           let rt, _, _, _ = splitFunctionType alloca.vtype in
           let tmp =
-            newTempVar 
+            newTempVar
               (Format.asprintf "alloca(%a)" Cil_printer.pp_exp alloca_size)
               false rt
           in
@@ -9256,21 +9256,21 @@ and doTypedef ghost ((specs, nl): A.name_group) =
              Previous declaration was at %a" n Cil_datatype.Location.pretty oldloc;
       end
     else (* effectively create new type *) begin
-    let n', _  = newAlphaName true "type" n in
-    let ti =
-      { torig_name = n; tname = n';
-        ttype = newTyp'; treferenced = false }
-    in
-    (* Since we use the same name space, we might later hit a global with
-     * the same name and we would want to change the name of the global.
-     * It is better to change the name of the type instead. So, remember
-     * all types whose names have changed *)
-    H.add typedefs n' ti;
-    let namedTyp = TNamed(ti, []) in
-    (* Register the type. register it as local because we might be in a
-     * local context  *)
-    addLocalToEnv (kindPlusName "type" n) (EnvTyp namedTyp);
-    cabsPushGlobal (GType (ti, CurrentLoc.get ()))
+      let n', _  = newAlphaName true "type" n in
+      let ti =
+        { torig_name = n; tname = n';
+          ttype = newTyp'; treferenced = false }
+      in
+      (* Since we use the same name space, we might later hit a global with
+       * the same name and we would want to change the name of the global.
+       * It is better to change the name of the type instead. So, remember
+       * all types whose names have changed *)
+      H.add typedefs n' ti;
+      let namedTyp = TNamed(ti, []) in
+      (* Register the type. register it as local because we might be in a
+       * local context  *)
+      addLocalToEnv (kindPlusName "type" n) (EnvTyp namedTyp);
+      cabsPushGlobal (GType (ti, CurrentLoc.get ()))
     end
   in
   List.iter createTypedef nl
@@ -9356,7 +9356,7 @@ and doBody local_env (blk: A.block) : chunk =
                    true
                  | CODE_ANNOT(Logic_ptree.APragma _,_) -> [], true
                  | CODE_ANNOT
-                   (Logic_ptree.AExtended(_,is_loop,(name,_)),loc) ->
+                     (Logic_ptree.AExtended(_,is_loop,(name,_)),loc) ->
                    let source = fst loc in
                    (match Logic_env.extension_category name, is_loop with
                     | Some (Ext_code_annot Ext_here), false -> [], false
@@ -9485,7 +9485,7 @@ and doStatement local_env (s : A.statement) : chunk =
     let break_cond = breakChunk ~ghost loc' in
     exitLoop ();
     CurrentLoc.set loc';
-    loopChunk ~ghost a
+    loopChunk ~ghost ~sattr:[Attr("while",[])] a
       ((doCondition local_env false e skipChunk break_cond)
        @@ (s', ghost))
 
@@ -9520,7 +9520,7 @@ and doStatement local_env (s : A.statement) : chunk =
              false e skipChunk (breakChunk ~ghost loc'))
       in
       exitLoop ();
-      loopChunk ~ghost a (s' @@ (s'', ghost))
+      loopChunk ~ghost ~sattr:[Attr("dowhile",[])] a (s' @@ (s'', ghost))
 
   | A.FOR(a,fc1,e2,e3,s,loc) -> begin
       let loc' = convLoc loc in
@@ -9545,10 +9545,10 @@ and doStatement local_env (s : A.statement) : chunk =
       let res =
         match e2.expr_node with
         | A.NOTHING -> (* This means true *)
-          se1 @@ (loopChunk ~ghost a (s' @@ (s'', ghost)), ghost)
+          se1 @@ (loopChunk ~sattr:[Attr("for",[])] ~ghost a (s' @@ (s'', ghost)), ghost)
         | _ ->
           se1 @@
-          (loopChunk ~ghost a
+          (loopChunk ~sattr:[Attr("for",[])] ~ghost a
              (((doCondition
                   local_env false e2 skipChunk break_cond)
                @@ (s', ghost)) @@ (s'', ghost)), ghost)
@@ -9647,7 +9647,7 @@ and doStatement local_env (s : A.statement) : chunk =
     let rec mkAll (i: int) =
       if i > ih then [] else integer ~loc i :: mkAll (i + 1)
     in
-    (sel @@ (seh,ghost)) @@ 
+    (sel @@ (seh,ghost)) @@
     (caseRangeChunk ~ghost (mkAll il) loc' (doStatement local_env s),
      ghost)
 
@@ -9727,17 +9727,9 @@ and doStatement local_env (s : A.statement) : chunk =
     let attr' = doAttributes local_env.is_ghost asmattr in
     CurrentLoc.set loc';
     let stmts : chunk ref = ref empty in
-    let (tmpls', ext_asm) =
+    let ext_asm =
       match details with
-      | None ->
-        let tmpls' =
-          if Cil.msvcMode () then tmpls
-          else
-            let pattern = Str.regexp "%" in
-            let escape = Str.global_replace pattern "%%" in
-            List.map escape tmpls
-        in
-        (tmpls', None)
+      | None -> None
       | Some { aoutputs; ainputs; aclobbers; alabels} ->
         let asm_outputs =
           List.map
@@ -9772,19 +9764,19 @@ and doStatement local_env (s : A.statement) : chunk =
         in
         let asm_clobbers = aclobbers in
         let asm_gotos =
-          List.map 
-            (fun label -> 
+          List.map
+            (fun label ->
                let label = lookupLabel label in
                let gref = ref dummyStmt in
                addGoto label gref;
-               gref) 
+               gref)
             alabels
         in
-        (tmpls, Some { asm_outputs; asm_inputs; asm_clobbers; asm_gotos })
+        Some { asm_outputs; asm_inputs; asm_clobbers; asm_gotos }
     in
     !stmts @@
     (i2c(mkStmtOneInstr ~ghost:local_env.is_ghost ~valid_sid
-           (Asm(attr', tmpls', ext_asm, loc')),[],[],[]),
+           (Asm(attr', tmpls, ext_asm, loc')),[],[],[]),
      ghost)
   | THROW (e,loc) ->
     let loc' = convLoc loc in
@@ -9849,10 +9841,10 @@ and doStatement local_env (s : A.statement) : chunk =
     let stmt_to_instrs s =
       List.rev_map
         (function (s,_,_,_,_) -> match s.skind with
-           | Instr s -> s
-           | _ ->
-             Kernel.fatal ~current:true
-               "Except expression contains unexpected statement")
+            | Instr s -> s
+            | _ ->
+              Kernel.fatal ~current:true
+                "Except expression contains unexpected statement")
         s
     in
     let il' = stmt_to_instrs se.stmts in
diff --git a/src/kernel_internals/typing/cabs2cil.mli b/src/kernel_internals/typing/cabs2cil.mli
index 2a22123d3bae961085d3006de7c8510811d1b066..44ea2ddf74785720d77ef8af20e9510925f8866b 100644
--- a/src/kernel_internals/typing/cabs2cil.mli
+++ b/src/kernel_internals/typing/cabs2cil.mli
@@ -76,7 +76,7 @@ val register_new_global_hook: (Cil_types.varinfo -> bool -> unit) -> unit
     already existing (it is [false] if this is the first declaration/definition
     of [vi] in the file).
     @since Silicon-20161101
- *)
+*)
 
 (** new hook called when encountering a definition of a local function. The hook
     take as argument the varinfo of the local function.
@@ -85,8 +85,8 @@ val register_new_global_hook: (Cil_types.varinfo -> bool -> unit) -> unit
 val register_local_func_hook: (Cil_types.varinfo -> unit) -> unit
 
 (** new hook called when side-effects are dropped.
-The first argument is the original expression, the second one
-the (side-effect free) normalized expression.
+    The first argument is the original expression, the second one
+    the (side-effect free) normalized expression.
 *)
 val register_ignore_side_effect_hook:
   (Cabs.expression -> Cil_types.exp -> unit) -> unit
@@ -103,10 +103,10 @@ val register_ignore_side_effect_hook:
 val register_conditional_side_effect_hook:
   (Cabs.expression -> Cabs.expression -> unit) -> unit
 
-(** new hook that will be called when processing a for loop. 
-    Arguments are the four elements of the for clause 
+(** new hook that will be called when processing a for loop.
+    Arguments are the four elements of the for clause
     (init, test, increment, body)
-    @since Oxygen-20120901 
+    @since Oxygen-20120901
 *)
 val register_for_loop_all_hook:
   (Cabs.for_clause ->
@@ -114,7 +114,7 @@ val register_for_loop_all_hook:
 
 (** new hook that will be called when processing a for loop. Argument is
     the initializer of the for loop.
-    @since Oxygen-20120901 
+    @since Oxygen-20120901
 *)
 val register_for_loop_init_hook: (Cabs.for_clause -> unit) -> unit
 
@@ -152,12 +152,12 @@ val frama_c_destructor: string
 (** Name of the attribute used to indicate that a given static variable has a
     local syntactic scope (despite a global lifetime).
     @since Chlorine-20180501
- *)
+*)
 val fc_local_static: string
 
 (** A hook into the code that creates temporary local vars.  By default this
-  is the identity function, but you can overwrite it if you need to change the
-  types of cabs2cil-introduced temp variables. *)
+    is the identity function, but you can overwrite it if you need to change the
+    types of cabs2cil-introduced temp variables. *)
 val typeForInsertedVar: (Cil_types.typ -> Cil_types.typ) ref
 
 (** Like [typeForInsertedVar], but for casts.
@@ -186,11 +186,11 @@ val find_field_offset:
 (** returns the offset (can be more than one field in case of unnamed members)
     corresponding to the first field matching the condition.
     @raise Not_found if no such field exists.
- *)
+*)
 
 (** returns the type of the result of a logic operator applied to values of
     the corresponding input types.
- *)
+*)
 val logicConditionalConversion: Cil_types.typ -> Cil_types.typ -> Cil_types.typ
 
 (** returns the type of the result of an arithmetic operator applied to
@@ -206,27 +206,27 @@ val integralPromotion : Cil_types.typ -> Cil_types.typ
 
 (** local information needed to typecheck expressions and statements *)
 type local_env = private
-    { authorized_reads: Cil_datatype.Lval.Set.t;
-      (** sets of lvalues that can be read regardless of a potential
-          write access between sequence points. Mainly for tmp variables
-          introduced by the normalization.
-       *)
-      known_behaviors: string list;
-      (** list of known behaviors at current point. *)
-      is_ghost: bool;
-      (** whether we're analyzing ghost code or not *)
-      is_paren: bool;
-      (** is the current expr a child of A.PAREN *)
-      inner_paren: bool;
-      (** used internally for normalizations of unop and binop. *)
-    }
+  { authorized_reads: Cil_datatype.Lval.Set.t;
+    (** sets of lvalues that can be read regardless of a potential
+        write access between sequence points. Mainly for tmp variables
+        introduced by the normalization.
+    *)
+    known_behaviors: string list;
+    (** list of known behaviors at current point. *)
+    is_ghost: bool;
+    (** whether we're analyzing ghost code or not *)
+    is_paren: bool;
+    (** is the current expr a child of A.PAREN *)
+    inner_paren: bool;
+    (** used internally for normalizations of unop and binop. *)
+  }
 
 (** an empty local environment. *)
 val empty_local_env: local_env
 
 (** same as [empty_local_env], but sets the ghost status to the value of its
     argument
- *)
+*)
 val ghost_local_env: bool -> local_env
 
 (** Applies [mkAddrOf] after marking variable whose address is taken. *)
@@ -274,7 +274,7 @@ val stmtFallsThrough: Cil_types.stmt -> bool
     syntactical one.
 
     @since Phosphorus-20170501-beta1 exported
- *)
+*)
 
 (**/**)
 
diff --git a/src/kernel_internals/typing/infer_annotations.ml b/src/kernel_internals/typing/infer_annotations.ml
index ce6db212ee42f28a0ed2bda736cd0d7b1cc071ed..d4d4103964a90292cadc12908ab670513e9f0b7a 100644
--- a/src/kernel_internals/typing/infer_annotations.ml
+++ b/src/kernel_internals/typing/infer_annotations.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/typing/infer_annotations.mli b/src/kernel_internals/typing/infer_annotations.mli
index 300f0660f60a3663e0e7581e3efbb12b5668b718..a1178c10203390e3849db3a87a02837a84c04a8b 100644
--- a/src/kernel_internals/typing/infer_annotations.mli
+++ b/src/kernel_internals/typing/infer_annotations.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_internals/typing/logic_builtin.ml b/src/kernel_internals/typing/logic_builtin.ml
index f4abac663caa34e324cb0ed2a640324ae3158a0e..ae1a73a97132d659383b01a7ec8643a7f72c002d 100644
--- a/src/kernel_internals/typing/logic_builtin.ml
+++ b/src/kernel_internals/typing/logic_builtin.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_internals/typing/logic_builtin.mli b/src/kernel_internals/typing/logic_builtin.mli
index 344158dea5e2fd00fbd531e1d6c6ec1ec5ea22af..450424692e24d917270d85f301063c3f003989a0 100644
--- a/src/kernel_internals/typing/logic_builtin.mli
+++ b/src/kernel_internals/typing/logic_builtin.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_internals/typing/translate_lightweight.ml b/src/kernel_internals/typing/translate_lightweight.ml
index 9cef8543bca6a3cd3ae5db537a662f0bedf9b300..6a0d0782976a50aed991de0cb5bea509d9b12cff 100644
--- a/src/kernel_internals/typing/translate_lightweight.ml
+++ b/src/kernel_internals/typing/translate_lightweight.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_internals/typing/translate_lightweight.mli b/src/kernel_internals/typing/translate_lightweight.mli
index 4d16614c777c866145e3ccafd272f53b5fee24a9..de459d4d757afdc55a337b0a53f4f3df05ef37b1 100644
--- a/src/kernel_internals/typing/translate_lightweight.mli
+++ b/src/kernel_internals/typing/translate_lightweight.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_internals/typing/unroll_loops.ml b/src/kernel_internals/typing/unroll_loops.ml
index 4ed4a1c7ea381ebe0b282db96d256de616148d30..c85d9b2aa7178af7dff2298349b53fb2639bff72 100644
--- a/src/kernel_internals/typing/unroll_loops.ml
+++ b/src/kernel_internals/typing/unroll_loops.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -322,7 +322,8 @@ let copy_block kf switch_label_action break_continue_must_change bl =
         succs = []; 
         preds = []; 
         skind = stmt.skind; 
-        ghost = stmt.ghost}
+        ghost = stmt.ghost;
+        sattr = []}
     in
     let labelled_stmt_tbl =
       if stmt.labels = [] then
diff --git a/src/kernel_internals/typing/unroll_loops.mli b/src/kernel_internals/typing/unroll_loops.mli
index d6d265978d4d136a14628c71b6e47612cb790118..010ba3032136293a5bdf9f972d55cf4e45c19fa9 100644
--- a/src/kernel_internals/typing/unroll_loops.mli
+++ b/src/kernel_internals/typing/unroll_loops.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/abstract_interp.ml b/src/kernel_services/abstract_interp/abstract_interp.ml
index 9048a2f38903e22f39c073f2def2881b06aca866..31bdbd7a92432988a8e4002ce562aa327740cd50 100644
--- a/src/kernel_services/abstract_interp/abstract_interp.ml
+++ b/src/kernel_services/abstract_interp/abstract_interp.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/abstract_interp.mli b/src/kernel_services/abstract_interp/abstract_interp.mli
index d76e2edee1ad4e7de7fd965cef2972be066e1371..140949d5b2561e5ff91009bf111cbcc86a25b54d 100644
--- a/src/kernel_services/abstract_interp/abstract_interp.mli
+++ b/src/kernel_services/abstract_interp/abstract_interp.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/base.ml b/src/kernel_services/abstract_interp/base.ml
index 559048aacaeeb540be77d5108eee34599f55f1cc..87254965dd6ab4feac9e7fcfffa6109a7ab4d2eb 100644
--- a/src/kernel_services/abstract_interp/base.ml
+++ b/src/kernel_services/abstract_interp/base.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/base.mli b/src/kernel_services/abstract_interp/base.mli
index 0bcd2352f29fa9cbf8feb26d20e9ad39593af07c..0c4cefd19495e11fb35129e8649ca2b1e9bd3346 100644
--- a/src/kernel_services/abstract_interp/base.mli
+++ b/src/kernel_services/abstract_interp/base.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/bottom.ml b/src/kernel_services/abstract_interp/bottom.ml
index 213248a9c5618a58be1d14e9f59350a0045007f1..c6ae61d80ae4388dd589aefb37f602232ed75845 100644
--- a/src/kernel_services/abstract_interp/bottom.ml
+++ b/src/kernel_services/abstract_interp/bottom.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/bottom.mli b/src/kernel_services/abstract_interp/bottom.mli
index 50c9aa6ab3fcdd45e2d5c00899e98a077acc5acd..7fca1504bf344fe2b83b1036d3026be61a54a1ec 100644
--- a/src/kernel_services/abstract_interp/bottom.mli
+++ b/src/kernel_services/abstract_interp/bottom.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/fc_float.ml b/src/kernel_services/abstract_interp/fc_float.ml
index 82d8e62c7b182b22553910b4cde33b001263c246..3d0b23e3631f7bfb202e8e67e383728d05b71b8b 100644
--- a/src/kernel_services/abstract_interp/fc_float.ml
+++ b/src/kernel_services/abstract_interp/fc_float.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/fc_float.mli b/src/kernel_services/abstract_interp/fc_float.mli
index 1b6925274029ddf0510b62759290e5e1b1b3741f..f440bcbc3952dcca315240edc24118981c56b16e 100644
--- a/src/kernel_services/abstract_interp/fc_float.mli
+++ b/src/kernel_services/abstract_interp/fc_float.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/float_interval.ml b/src/kernel_services/abstract_interp/float_interval.ml
index 1726ff540f395749908db9cd33444394e54db903..719eaa98d82b78b55698343539bd1a6351e3cf5b 100644
--- a/src/kernel_services/abstract_interp/float_interval.ml
+++ b/src/kernel_services/abstract_interp/float_interval.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/float_interval.mli b/src/kernel_services/abstract_interp/float_interval.mli
index 4deca1935b871aaefb9f70d24d6dfc62f5906d82..51cb520393b5c50cb8390dadddfdf829c78602ba 100644
--- a/src/kernel_services/abstract_interp/float_interval.mli
+++ b/src/kernel_services/abstract_interp/float_interval.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/float_interval_sig.mli b/src/kernel_services/abstract_interp/float_interval_sig.mli
index 5b23a28afe6b81976a13422c735077b2465ce41a..d2250132fe1b9cf1497adf4cd7b6469ff8e10045 100644
--- a/src/kernel_services/abstract_interp/float_interval_sig.mli
+++ b/src/kernel_services/abstract_interp/float_interval_sig.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/float_sig.mli b/src/kernel_services/abstract_interp/float_sig.mli
index fc133f4b842676e71f7d36f88c99e08b6ea5d3d3..37c9d5be3d16637b75a742a64d47f7914e8b0dc6 100644
--- a/src/kernel_services/abstract_interp/float_sig.mli
+++ b/src/kernel_services/abstract_interp/float_sig.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/fval.ml b/src/kernel_services/abstract_interp/fval.ml
index 4e408d7501dda2045959a736f6b1b7084269fc8c..401366d2a1119228bdf5fb580ea2925c0159d1a7 100644
--- a/src/kernel_services/abstract_interp/fval.ml
+++ b/src/kernel_services/abstract_interp/fval.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/fval.mli b/src/kernel_services/abstract_interp/fval.mli
index 00fa44e87ee170ce8c5d12af5d47673e74131617..4bebb2da3ebd637dcf68cfed1baf656a8cf5d696 100644
--- a/src/kernel_services/abstract_interp/fval.mli
+++ b/src/kernel_services/abstract_interp/fval.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/int_Base.ml b/src/kernel_services/abstract_interp/int_Base.ml
index f9c8f71d1ee5a3630990789e67afdf472d7bb1ac..c7a469da08bb20c41907029a939a63759b3cccdc 100644
--- a/src/kernel_services/abstract_interp/int_Base.ml
+++ b/src/kernel_services/abstract_interp/int_Base.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/int_Base.mli b/src/kernel_services/abstract_interp/int_Base.mli
index eb0c01c0bb8aebebfa1b9317f33a0d21568ba9be..c7b6247c930f80e62063c33aeff07282c810a38b 100644
--- a/src/kernel_services/abstract_interp/int_Base.mli
+++ b/src/kernel_services/abstract_interp/int_Base.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/int_Intervals.ml b/src/kernel_services/abstract_interp/int_Intervals.ml
index 3401fa0e714a2173e4653e86d0ed4993759c9bfe..8e2225bd7ad3b21ed9f2df6bd76c216b9d507deb 100644
--- a/src/kernel_services/abstract_interp/int_Intervals.ml
+++ b/src/kernel_services/abstract_interp/int_Intervals.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/int_Intervals.mli b/src/kernel_services/abstract_interp/int_Intervals.mli
index 5cda124f221e0236f31e2b0d649fd0b91f0b5fd9..58537df64aec31018c9d0d8851a5b89f0e73864d 100644
--- a/src/kernel_services/abstract_interp/int_Intervals.mli
+++ b/src/kernel_services/abstract_interp/int_Intervals.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/int_Intervals_sig.mli b/src/kernel_services/abstract_interp/int_Intervals_sig.mli
index 732ae85767f32f04befb0da4c609939daa61e5b8..a949c184f7c360df07ec538eefacc76bd4fe8f5b 100644
--- a/src/kernel_services/abstract_interp/int_Intervals_sig.mli
+++ b/src/kernel_services/abstract_interp/int_Intervals_sig.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/ival.ml b/src/kernel_services/abstract_interp/ival.ml
index 466205db41588f032ceada59587ed8e9e5a03f5c..ce2e6ad7ca77b84a1848fc74c0a9dcb318db2f4a 100644
--- a/src/kernel_services/abstract_interp/ival.ml
+++ b/src/kernel_services/abstract_interp/ival.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -268,8 +268,6 @@ let float_zeros = Float Fval.zeros
 let positive_integers = Top(Some Int.zero, None, Int.zero, Int.one)
 let negative_integers =
   Top(None, Some Int.zero, Int.zero, Int.one)
-let strictly_negative_integers =
-  Top(None, Some Int.minus_one, Int.zero, Int.one)
 
 let is_zero x = x == zero
 
@@ -580,9 +578,10 @@ let min_max_r_mod t =
 let min_and_max t =
   match t with
   | Set s ->
-      let l = Array.length s in
-      assert (l >= 1);
-      Some s.(0), Some s.(pred l)
+    let l = Array.length s in
+    if l = 0
+    then raise Error_Bottom
+    else Some s.(0), Some s.(pred l)
   | Top (a,b,_,_) -> a, b
   | Float _ -> None, None
 
@@ -792,6 +791,29 @@ let array_truncate r i =
       Set r
     end
 
+let array_filter (f : Int.t -> bool) (a : Int.t array) : t =
+  let l = Array.length a in
+  let r = Array.make l Int.zero in
+  let j = ref 0 in
+  for i = 0 to l  - 1 do
+    let x = a.(i) in
+    if f x then begin
+      r.(!j) <- x;
+      incr j;
+    end
+  done;
+  array_truncate r !j
+
+let array_map_reduce (f : 'a -> 'b) (g : 'b -> 'b -> 'b) (set : 'a array) : 'b =
+  if Array.length set <= 0 then
+    raise Error_Bottom
+  else
+    let acc = ref (f set.(0)) in
+    for i = 1 to Array.length set - 1 do
+      acc := g !acc (f set.(i))
+    done;
+    !acc
+
 let array_inter a1 a2 =
   let l1 = Array.length a1 in
   let l2 = Array.length a2 in
@@ -1258,13 +1280,6 @@ let apply2_n f (s1 : Integer.t array) (s2 : Integer.t array) =
   done;
   inject_ps !ps
 
-let apply2_v f s1 s2 =
-  match s1, s2 with
-    [| x1 |], [| x2 |] -> 
-      inject_singleton (f x1 x2)
-  | _ -> apply2_n f s1 s2
-
-
 let apply_set f v1 v2 =
   match v1,v2 with
   | Set s1, Set s2 -> apply2_n f s1 s2
@@ -1515,156 +1530,6 @@ let max_int s =
   | Float _ -> None
 
 
-exception No_such_element
-
-let smallest_above min x = (* TODO: improve for Set *)
-  match x with
-  | Set s ->
-      let r = ref None in
-      Array.iter
-        (fun e ->
-          if Int.ge e min
-          then match !r with
-          | Some rr when Int.lt e rr -> r := Some e
-          | None -> r := Some e
-          | _ -> ())
-        s;
-      begin match !r with
-        None -> raise No_such_element
-      | Some r -> r
-      end
-  | Top(mn,mx,r,modu) ->
-      let some_min = Some min in
-      if not (max_is_greater mx some_min)
-      then raise No_such_element;
-      if min_is_lower some_min mn
-      then Extlib.the mn
-      else Int.round_up_to_r ~min ~r ~modu
-  | Float _ -> raise No_such_element
-
-let largest_below max x = (* TODO: improve for Set *)
-  match x with
-  | Float _ -> raise No_such_element
-  | Set s ->
-      let r = ref None in
-      Array.iter
-        (fun e ->
-          if Int.le e max
-          then match !r with
-          | Some rr when Int.gt e rr -> r := Some e
-          | None -> r := Some e
-          | _ -> ())
-        s;
-      begin match !r with
-        None -> raise No_such_element
-      | Some r -> r
-      end
-  | Top(mn,mx,r,modu) ->
-      let some_max = Some max in
-      if not (min_is_lower mn some_max)
-      then raise No_such_element;
-      if max_is_greater some_max mx
-      then Extlib.the mx
-      else Int.round_down_to_r ~max ~r ~modu
-
-(* Rounds up (x+1) to the next power of two, then subtracts one; optimized. *)
-let next_pred_power_of_two x =
-  (* Unroll the first iterations, and skip the tests. *)
-  let x = Int.logor x (Int.shift_right x Int.one) in
-  let x = Int.logor x (Int.shift_right x Int.two) in
-  let x = Int.logor x (Int.shift_right x Int.four) in
-  let x = Int.logor x (Int.shift_right x Int.eight) in
-  let x = Int.logor x (Int.shift_right x Int.sixteen) in
-  let shift = Int.thirtytwo in
-  let rec loop old shift =
-    let x = Int.logor old (Int.shift_right old shift) in
-    if Int.equal old x then x
-    else loop x (Int.shift_left shift Int.one) in
-  loop x shift
-
-(* [different_bits min max] returns an overapproximation of the mask
-   of the bits that can be different for different numbers
-   in the interval [min]..[max] *)
-let different_bits min max =
-  let x = Int.logxor min max in
-  next_pred_power_of_two x
-
-(* [pos_max_land min1 max1 min2 max2] computes an upper bound for
-   [x1 land x2] where [x1] is in [min1]..[max1] and [x2] is in [min2]..[max2].
-   Precondition : [min1], [max1], [min2], [max2] must all have the
-   same sign.
-   Note: the algorithm below is optimal for the problem as stated.
-   It is possible to compute this optimal solution faster but it does not
-   seem worth the time necessary to think about it as long as integers
-   are at most 64-bit. *)
-let pos_max_land min1 max1 min2 max2 =
-  let x1 = different_bits min1 max1 in
-  let x2 = different_bits min2 max2 in
-(*      Format.printf "pos_max_land %a %a -> %a |  %a %a -> %a@."
-        Int.pretty min1 Int.pretty max1 Int.pretty x1
-        Int.pretty min2 Int.pretty max2 Int.pretty x2; *)
-  let fold_maxs max1 p f acc =
-    let rec aux p acc =
-      let p = Int.shift_right p Int.one in
-      if Int.is_zero p
-      then f max1 acc
-      else if Int.is_zero (Int.logand p max1) 
-      then aux p acc
-      else 
-	let c = Int.logor (Int.sub max1 p) (Int.pred p) in
-	aux p (f c acc)
-    in aux p acc
-  in
-  let sx1 = Int.succ x1 in
-  let n1 = fold_maxs max1 sx1 (fun _ y -> succ y) 0 in
-  let maxs1 = Array.make n1 sx1 in
-  let _ = fold_maxs max1 sx1 (fun x i -> Array.set maxs1 i x; succ i) 0 in
-  fold_maxs max2 (Int.succ x2)
-    (fun max2 acc -> 
-      Array.fold_left
-	(fun acc max1 -> Int.max (Int.logand max1 max2) acc)
-	acc
-	maxs1)
-    (Int.logand max1 max2)
-
-let bitwise_or v1 v2 =
-  if is_bottom v1 || is_bottom v2
-  then bottom
-  else
-    match v1, v2 with
-      | Float _, _ | _, Float _ -> top
-      | Set s1, Set s2 -> apply2_v Int.logor s1 s2
-      | Set [|s|],(Top _ as v) | (Top _ as v),Set [|s|] when Int.is_zero s -> v
-      | Top _, _ | _, Top _ ->
-        ( match min_and_max v1 with
-           Some mn1, Some mx1 when Int.ge mn1 Int.zero ->
-             ( match min_and_max v2 with
-               Some mn2, Some mx2 when Int.ge mn2 Int.zero ->
-                 let new_max = next_pred_power_of_two (Int.logor mx1 mx2) in
-		 let new_min = Int.max mn1 mn2 in (* Or can only add bits *)
-                 inject_range (Some new_min) (Some new_max)
-             | _ -> top )
-         | _ -> top )
-
-
-let bitwise_xor v1 v2 =
-  if is_bottom v1 || is_bottom v2
-  then bottom
-  else
-    match v1, v2 with
-     | Float _, _ | _, Float _ -> top
-     | Set s1, Set s2 -> apply2_v Int.logxor s1 s2
-     | Top _, _ | _, Top _ ->
-       (match min_and_max v1 with
-         | Some mn1, Some mx1 when Int.ge mn1 Int.zero ->
-           (match min_and_max v2 with
-             | Some mn2, Some mx2 when Int.ge mn2 Int.zero ->
-               let new_max = next_pred_power_of_two (Int.logor mx1 mx2) in
-	       let new_min = Int.zero in
-               inject_range (Some new_min) (Some new_max)
-             | _ -> top )
-         | _ -> top )
-
 (* TODO: rename this function to scale_int *)
 let scale f v =
   if Int.is_zero f
@@ -2657,207 +2522,6 @@ let reinterpret_as_float kind i =
       (* currently always imprecise *)
       top_float
 
-let set_bits mn mx =
-  match mn, mx with
-    Some mn, Some mx ->
-      Int.logand (Int.lognot (different_bits mn mx)) mn
-  | _ -> Int.zero
-
-let sub_bits x = (* TODO: can be improved *)
-  let popcnt = Int.popcount x in
-  let rec aux cursor acc =
-    if Int.gt cursor x 
-    then acc
-    else 
-      let acc = 
-	if Int.is_zero (Int.logand cursor x)
-	then acc
-	else O.fold (fun e acc -> O.add (Int.logor cursor e) acc) acc acc
-      in
-      aux (Int.shift_left cursor Int.one) acc
-  in
-  let o = aux Int.one o_zero in
-  let s = 1 lsl popcnt in
-  (* assert (O.cardinal o = s); *)
-  inject_ps (Pre_set (o, s))
-
-let bitwise_and_intervals ~size ~signed v1 v2 =
-  let max_int_v1, max_int_v2 as max_int_v1_v2 = max_int v1, max_int v2 in
-  let min_int_v1, min_int_v2 as min_int_v1_v2 = min_int v1, min_int v2 in
-  let half_range = Int.two_power_of_int (pred size) in
-  let minint = Int.neg half_range in
-  let vmax =
-    match max_int_v1_v2 with
-    | Some maxv1, Some maxv2 ->
-      if Int.lt maxv1 Int.zero && Int.lt maxv2 Int.zero
-      then begin
-        Some (match min_int_v1_v2 with
-          Some minv1, Some minv2 ->
-            pos_max_land minv1 maxv1 minv2 maxv2
-        | _ -> assert false)
-      end
-      else
-        let max1 = (* improved min of maxv1 and maxv2*)
-          try
-            let bi1 = smallest_above Int.zero v1 in
-            let bi2 = smallest_above Int.zero v2 in
-            pos_max_land bi1 maxv1 bi2 maxv2
-          with No_such_element -> minint
-        in
-        let max2 = (* improved min of maxv1 and altmax2*)
-          try
-            let altmax2 =
-              Int.add half_range (largest_below Int.minus_one v2)
-            in
-            let bi1 = smallest_above Int.zero v1 in
-            let bi2 =
-              Int.add half_range (smallest_above minint v2)
-            in
-            pos_max_land bi1 maxv1 bi2 altmax2
-          with No_such_element -> minint
-        in
-        let max3 = (* improved min of maxv2 and altmax1*)
-          try
-            let altmax1 =
-              Int.add half_range (largest_below Int.minus_one v1)
-            in
-            let bi2 = smallest_above Int.zero v2 in
-            let bi1 =
-              Int.add half_range (smallest_above minint v1)
-            in
-            pos_max_land bi2 maxv2 bi1 altmax1
-          with No_such_element -> minint
-        in
-          (* Format.printf "bitwise_and v1 %a v2 %a maxv1 %a maxv2 %a \
-             max1 max2 max3 %a %a %a@."
-             pretty v1 pretty v2
-             Int.pretty maxv1 Int.pretty maxv2
-             Int.pretty max1 Int.pretty max2 Int.pretty max3; *)
-        Some (Int.max max1 (Int.max max2 max3))
-    | _ -> None
-  in
-  let somenegativev1 = intersects v1 strictly_negative_integers in
-  let somenegativev2 = intersects v2 strictly_negative_integers in
-  let vmin =
-    if somenegativev1 && somenegativev2
-    then Some minint
-    else if somenegativev1 || somenegativev2
-    then some_zero
-    else begin
-      let bits1 = set_bits min_int_v1 max_int_v1 in
-      let bits2 = set_bits min_int_v2 max_int_v2 in
-      let min_a = Int.logand bits1 bits2 in
-      let min_a =
-        if not signed
-        then
-          let rec find_mask x bit acc =
-            if Int.is_zero (Int.logand x bit)
-            then acc
-            else
-              find_mask
-                x
-                (Int.shift_right bit Int.one)
-                (Int.logor bit acc)
-          in
-          match min_int_v1_v2 with
-            Some m1, Some m2 ->
-              let mask1 = find_mask bits1 half_range Int.zero in
-              let min_b = Int.logand mask1 m2 in
-              let mask2 = find_mask bits2 half_range Int.zero in
-              let min_c = Int.logand mask2 m1 in
-                      (* Format.printf
-                         "bitwise_and v1 %a v2 %a min_b %a min_c %a@."
-                         pretty v1 pretty v2
-                         Int.pretty min_b Int.pretty min_c; *)
-              Int.max (Int.max min_a min_b) min_c
-          | _ -> assert false
-        else min_a
-      in
-              (* Format.printf "bitwise_and v1 %a v2 %a bits1 %a bits2 %a@."
-                 pretty v1 pretty v2
-                 Int.pretty bits1 Int.pretty bits2; *)
-      Some min_a
-    end
-  in
-  vmin, vmax
-
-(* [common_low_bits v] returns the common pattern between the 
-   least-significant bits of all the elements of the Ival [v]. 
-   The pattern is in the form [lower_bits, mask] where [mask]
-   indicates the consecutive least significant bits that are
-   common between all elements, and
-   [lower_bits] indicates their values. *)
-let common_low_bits v =
-  match v with
-  | Float _ -> assert false
-  | Top(_,_,r,m) -> 
-    if Int.is_zero (Int.logand m (Int.pred m))
-    then (* m is a power of two *)
-      r, Int.pred m
-    else Int.zero, Int.zero (* TODO *)
-  | Set [| v |] ->
-    v, next_pred_power_of_two v
-  | Set _ -> Int.zero, Int.zero (* TODO *)
-
-let bitwise_and ~size ~signed v1 v2 =
-  if is_bottom v1 || is_bottom v2
-  then bottom
-  else
-    match v1, v2 with
-    | Float _, _ | _, Float _ -> assert false
-    | Set s1, Set s2 ->
-      apply2_v Int.logand s1 s2
-    | Top _, other | other, Top _ ->
-      let min, max = bitwise_and_intervals ~signed ~size v1 v2 in
-      let lower_bits1, mask1 = common_low_bits v1 in
-      let lower_bits2, mask2 = common_low_bits v2 in
-      let mask = Int.logand mask1 mask2 in
-      let modu = Int.succ mask in
-      let r = Int.logand lower_bits1 (Int.logand lower_bits2 mask) in
-      let min = match min with
-        | Some min -> Some (Int.round_up_to_r ~min ~r ~modu)
-        | _ -> min 
-      in
-      let max = match max with
-        | Some max -> Some (Int.round_down_to_r ~max ~r ~modu)
-        | _ -> max 
-      in
-      let result = inject_top min max r modu in
-      ( match other with
-	Top _ | Float _ -> result
-      | Set s ->
-	if 
-	  array_for_all
-	    (fun elt -> 
-	      Int.ge elt Int.zero && 
-		Int.popcount elt <= !small_cardinal_log) 
-	    s 
-	then
-	  let result2 = 
-	    Array.fold_left
-	      (fun acc elt ->
-		join 
-		  (sub_bits elt)
-		  acc)
-	      bottom
-	      s
-	  in
-	  narrow result result2
-	else result)
-
-let bitwise_not v =
-  (* the result is [-v - 1] *)
-  match v with
-  | Float _ -> assert false
-  | Top _ -> add_int (neg_int v) minus_one
-  | Set s -> map_set_strict_decr Int.lognot s
-
-let bitwise_not_size ~size ~signed v =
-  let nv = bitwise_not v in
-  if not signed then
-    cast_int_to_int ~size:(Integer.of_int size) ~signed nv
-  else nv (* always fits in the type if the argument fitted. *)
-
 let overlaps ~partial ~size t1 t2 =
   let diff = sub_int t1 t2 in
   match diff with
@@ -2870,6 +2534,389 @@ let overlaps ~partial ~size t1 t2 =
     min_le_elt min pred_size && max_ge_elt max (Int.neg pred_size)
   | Float _ -> assert false
 
+
+
+(* ------------------------------------------------------------------------ *)
+(* --- Bitwise operators                                                --- *)
+(* ------------------------------------------------------------------------ *)
+
+(* --- Bit lattice --- *)
+
+type bit_value = On | Off | Both
+
+module Bit =
+struct
+  type t = bit_value
+
+  let to_string = function
+    | Off -> "0"
+    | On -> "1"
+    | Both -> "T"
+
+  let _pretty (fmt : Format.formatter) (b :t) =
+    Format.pp_print_string fmt (to_string b)
+
+  let union (b1 : t) (b2 : t) : t =
+    if b1 = b2 then b1 else Both
+
+  let not : t -> t = function
+    | On -> Off
+    | Off -> On
+    | Both -> Both
+end
+
+
+(* --- Bit operators --- *)
+
+module type BitOperator =
+sig
+  (* Printable version of the operator *)
+  val representation : string
+  (* forward is given here as the lifted function of some bit operator op
+     where op
+     1. is assumed to be commutative (backward functions do not assume the
+        position of the arguments)
+     2. must ensure  0 op 0 = 0  as otherwise applying op on a sign bit may
+        produce a negative result from two positive operands; but we don't
+        want to produce a negative result when the operation is unsigned which
+        we don't know unless one of the operands is negative;
+     3. is not constant, otherwise nothing of all of this makes sense.
+     forward is defined as
+     forward b1 b2 = { x1 op x2 | x1 \in b1, x2 \in b2 } *)
+  val forward : bit_value -> bit_value -> bit_value
+  (* backward_off b = { x | \exist y \in b . x op y = y op x = 1 } *)
+  val backward_off : bit_value -> bit_value
+  (* backward_on b = { x | \exist y \in b . x op y = y op x = 0 } *)
+  val backward_on : bit_value -> bit_value
+end
+
+module And : BitOperator =
+struct
+  let representation = "&"
+
+  let forward v1 v2 =
+    match v1 with
+    | Off -> Off
+    | On -> v2
+    | Both -> if v2 = Off then Off else Both
+
+  let backward_off = function
+    | (Off | Both) -> Both
+    | On -> Off
+
+  let backward_on = function
+    | Off -> assert false
+    | (On | Both) -> On
+end
+
+module Or : BitOperator =
+struct
+  let representation = "|"
+
+  let forward v1 v2 =
+    match v1 with
+    | On -> On
+    | Off -> v2
+    | Both -> if v2 = On then On else Both
+
+  let backward_off = function
+    | On -> assert false
+    | (Off | Both) -> Off
+
+  let backward_on = function
+    | (On | Both) -> Both
+    | Off -> On
+end
+
+module Xor : BitOperator =
+struct
+  let representation = "^"
+
+  let forward v1 v2 =
+    match v1 with
+    | Both -> Both
+    | Off -> v2
+    | On -> Bit.not v2
+
+  let backward_on v = Bit.not v
+
+  let backward_off v = v
+end
+
+
+(* --- Bit extraction and mutation --- *)
+
+let significant_bits (v : t) : int option =
+  match min_and_max v with
+  | None, _ | _, None -> None
+  | Some l, Some u -> Some (max (Z.numbits l) (Z.numbits u))
+
+let extract_sign (v : t) : bit_value =
+  match min_and_max v with
+  | _, Some u when Int.(lt u zero) -> On
+  | Some l, _ when Int.(ge l zero) -> Off
+  | _, _ -> Both
+
+let extract_bit (i : int) (v : t) : bit_value =
+  let bit_value x = if Z.testbit x i then On else Off in
+  match v with
+  | Float _ -> Both
+  | Set s -> array_map_reduce bit_value Bit.union s
+  | Top (None, _, _r, _m) | Top (_, None, _r, _m) -> Both
+  | Top (Some l, Some u, _r, _m) ->
+    (* It does not take modulo into account *)
+    if Int.(ge (sub u l) (two_power_of_int i)) (* u - l >= mask *)
+    then Both
+    else Bit.union (bit_value l) (bit_value u)
+
+let reduce_sign (v : t) (b : bit_value) : t =
+  match b with
+  | Both -> v
+  | On ->
+    begin match v with
+      | Float _ -> v
+      | Set s -> array_filter Int.(gt zero) s
+      | Top (_l, Some u, _r, _modu) when Int.(lt u zero) -> v
+      | Top (l, _u, r, modu) ->
+        let u = Some Int.(round_down_to_r ~max:minus_one ~r ~modu) in
+        inject_top l u r modu
+    end
+  | Off ->
+    begin match v with
+      | Float _ -> v
+      | Set s -> array_filter Int.(le zero) s
+      | Top (Some l, _u, _r, _modu) when Int.(ge l zero) -> v
+      | Top (_l, u, r, modu) ->
+        let l = Some Int.(round_up_to_r ~min:zero ~r ~modu) in
+        inject_top l u r modu
+    end
+
+let reduce_bit (i : int) (v : t) (b : bit_value) : t =
+  let bit_value x = if Z.testbit x i then On else Off in
+  if b = Both
+  then v
+  else match v with
+    | Float _ -> v
+    | Set s -> array_filter (fun x -> bit_value x = b) s
+    | Top (l, u, r, modu) ->
+      let power = Int.(two_power_of_int i) in (* 001000 *)
+      let mask = Int.(pred (two_power_of_int (i+1))) in (* 001111 *)
+      (* Reduce bounds to the nearest satisfying bound *)
+      let l' = match l with
+        | Some l when bit_value l <> b ->
+          let min = match b with
+            | On ->  Int.(logor (logand l (lognot mask)) power) (* ll1000 *)
+            | Off -> Int.(succ (logor l mask)) (* ll1111 + 1 *)
+            | Both -> assert false
+          in
+          Some (Int.round_up_to_r ~min ~r ~modu)
+        | _ -> l
+      and u' = match u with
+        | Some u when bit_value u <> b ->
+          let max = match b with
+            | On ->  Int.(pred (logand u (lognot mask))) (* uu0000 - 1 *)
+            | Off -> Int.(logand (logor u mask) (lognot power)) (* uu0111 *)
+            | Both -> assert false
+          in
+          Some (Int.round_down_to_r ~max ~r ~modu)
+        | _ -> u
+      in
+      inject_top l' u' r modu
+
+type bit = Sign | Bit of int
+
+let extract_bit = function
+  | Sign -> extract_sign
+  | Bit i -> extract_bit i
+
+let set_bit_on ~size bit =
+  let mask = match bit with
+    | Sign -> Int.(neg (two_power_of_int size))
+    | Bit i -> Int.(two_power_of_int i)
+  in
+  fun v -> Int.logor mask v
+
+let reduce_bit = function
+  | Sign -> reduce_sign
+  | Bit i -> reduce_bit i
+
+(* --- Bitwise binary operators --- *)
+
+module BitwiseOperator (Op : BitOperator) =
+struct
+
+  let backward (b : bit_value) = function
+    | On -> Op.backward_on b
+    | Off -> Op.backward_off b
+    | Both -> assert false
+
+  (** Bit masks are composed of an array of significant bit values where index 0
+      represents the lowest bit, and a single bit_value to represent the
+      possible leading bits. *)
+  type bit_mask = bit_value array * bit_value
+
+  (* Converts an integer [x] into a bit array of size [n]. *)
+  let int_to_bit_array n (x : Int.t) =
+    let make i = if Z.testbit x i then On else Off in
+    Array.init n make
+
+  (* Computes a bit_mask for the lowest bits of an ival, using the modulo
+     information for non singleton values. *)
+  let low_bit_mask : t -> bit_mask = function
+    | Set [| |] -> raise Error_Bottom
+    | Set [| x |] -> (* singleton : build a full mask  *)
+      let n = Z.numbits x in
+      int_to_bit_array n x, if Int.(ge x zero) then Off else On
+    | v ->
+      let _,_,r,modu = min_max_r_mod v in (* requires cardinal > 1 *)
+      (* Find how much [modu] can be divided by two. *)
+      let n = Z.trailing_zeros modu in
+      int_to_bit_array n r, Both
+
+  (* Computes a remainder and modulo for the result of [v1 op v2]. *)
+  let compute_modulo v1 v2 =
+    let b1, s1 = low_bit_mask v1
+    and b2, s2 = low_bit_mask v2 in
+    let size = max (Array.length b1) (Array.length b2) in
+    (* Sets the [i] nth bits of [rem] until an uncertainty appears. *)
+    let rec step i rem =
+      let b1 = try b1.(i) with _ -> s1
+      and b2 = try b2.(i) with _ -> s2 in
+      let b = Op.forward b1 b2 in
+      if i >= size || b = Both
+      then rem, Int.two_power_of_int i
+      else
+        (* [rem] starts at 0, so we only need to turn on the 1 bits. *)
+        let rem = if b = On then set_bit_on ~size (Bit i) rem else rem in
+        step (i+1) rem
+    in
+    step 0 Int.zero
+
+  (* The number of bits on which the result should be significant *)
+  let result_size (v1 : t) (v2 : t) : int option =
+    let n1 = significant_bits v1 and n2 = significant_bits v2 in
+    let n1_greater =
+      match n1, n2 with
+      | None, _ -> true
+      | _, None -> false
+      | Some n1, Some n2 -> n1 >= n2
+    in
+    (* whether n1 or n2 is greater, look if the sign bit oped with anything is
+       not constant. If it is constant, then the highest bits are irrelevant. *)
+    if n1_greater
+    then if Op.forward Both (extract_sign v2) = Both then n1 else n2
+    else if Op.forward (extract_sign v1) Both = Both then n2 else n1
+
+  exception Do_not_fit_small_sets
+
+  (* Try to build a small set.
+     It is basically enumerating the possible results, by choosing the possible
+     bits from left to right. This function aborts if it ever exceeds the small
+     set size. The algorithm is probably not complete, as it is not always
+     possible to reduce the operands leading to a result (without an
+     exponential cost)  meaning that sometimes small sets can be obtained but
+     the algorithm will fail to find them. *)
+  let compute_small_set ~size (v1 : t) (v2 : t) (r : Int.t) (modu : Int.t) =
+    let set_bit i acc (r, v1, v2) =
+      let b1 = extract_bit i v1
+      and b2 = extract_bit i v2 in
+      match Op.forward b1 b2 with
+      | On -> (set_bit_on ~size i r, v1, v2) :: acc
+      | Off -> (r, v1, v2) :: acc
+      | Both ->
+        let v1_off = reduce_bit i v1 (Op.backward_off b2)
+        and v2_off = reduce_bit i v2 (Op.backward_off b1) in
+        let v1_on = reduce_bit i v1 (Op.backward_on b2)
+        and v2_on = reduce_bit i v2 (Op.backward_on b1) in
+        (set_bit_on ~size i r, v1_on, v2_on) :: (r, v1_off, v2_off) :: acc
+    in
+    let acc = ref (set_bit Sign [] (r, v1, v2)) in
+    for i = size - 1 downto Z.numbits modu - 1 do
+      acc := List.fold_left (set_bit (Bit i)) [] !acc;
+      if List.length !acc > !small_cardinal then raise Do_not_fit_small_sets
+    done;
+    let o = List.fold_left (fun o (r,_,_) -> O.add r o) O.empty !acc in
+    share_set o (O.cardinal o)
+
+  (* If lower is true (resp. false), compute the lower (resp. upper) bound of
+     the result interval when applying the bitwise operator to [v1] and [v2].
+     [size] is the number of bits of the result.
+     This function should be exact when the operands are small sets or tops
+     with modulo 1. Otherwise, it is an overapproximation of the bound. *)
+  let compute_bound ~size v1 v2 lower =
+    (* Sets the [i]-nth bit of the currently computed bound [r] of [v1 op v2].
+       If possible, reduces [v1] and [v2] accordingly. *)
+    let set_bit i (r, v1, v2) =
+      let b1 = extract_bit i v1
+      and b2 = extract_bit i v2 in
+      let b, v1, v2 =
+        match Op.forward b1 b2 with
+        | On | Off as b -> b, v1, v2 (* Constant bit, no reduction. *)
+        | Both ->
+          (* Choose the best bit for the searched bound, and reduces [v1] and
+             [v2] accordingly. *)
+          let b = match i with
+            | Sign -> if lower then On else Off
+            | Bit _ -> if lower then Off else On
+          in
+          let v1 = reduce_bit i v1 (backward b2 b)
+          and v2 = reduce_bit i v2 (backward b1 b) in
+          b, v1, v2
+      in
+      (* Only sets 1 bit, as [r] is 0 at the beginning. *)
+      let r = if b = On then set_bit_on ~size i r else r in
+      r, v1, v2
+    in
+    (* The result is 0 at the beginning, and [set_bit] turns on the 1 bits. *)
+    let r = ref (Int.zero, v1, v2) in
+    (* Sets the sign bit, and then the bits from size to 0. *)
+    r := set_bit Sign !r;
+    for i = (size - 1) downto 0 do
+      r := set_bit (Bit i) !r;
+    done;
+    let bound, _v1, _v2 = !r in
+    bound
+
+  let bitwise_forward (v1 : t) (v2 : t) : t =
+    try
+      let r, modu = compute_modulo v1 v2 in
+      match result_size v1 v2 with
+      | None ->
+        (* We could do better here, as one of the bound may be finite. However,
+           this case should occur rarely or not at all. *)
+        inject_interval None None r modu
+      | Some size ->
+        try compute_small_set ~size v1 v2 r modu
+        with Do_not_fit_small_sets ->
+          let min = compute_bound ~size v1 v2 true
+          and max = compute_bound ~size v1 v2 false in
+          inject_interval (Some min) (Some max) r modu
+    with Error_Bottom -> bottom
+end
+
+let bitwise_or = let module M = BitwiseOperator (Or) in M.bitwise_forward
+let bitwise_and = let module M = BitwiseOperator (And) in M.bitwise_forward
+let bitwise_xor = let module M = BitwiseOperator (Xor) in M.bitwise_forward
+
+
+(* --- Bitwise not --- *)
+
+let bitwise_signed_not v =
+  match v with
+  | Float _ -> assert false
+  | Top _ -> add_int (neg_int v) minus_one (* [-v - 1] *)
+  | Set s -> map_set_strict_decr Int.lognot s
+
+let bitwise_unsigned_not ~size v =
+  let size = Int.of_int size in
+  cast_int_to_int ~size ~signed:false (bitwise_signed_not v)
+
+let bitwise_not ~size ~signed v =
+  if signed then
+    bitwise_signed_not v
+  else
+    bitwise_unsigned_not ~size v
+
 let pretty_debug = pretty
 let name = "ival"
 
diff --git a/src/kernel_services/abstract_interp/ival.mli b/src/kernel_services/abstract_interp/ival.mli
index 9fdab36c7ac7f88aa28fc8500bc73614408e8e52..b4f3e5a485b8c26e3936e919e65ade6a44346eef 100644
--- a/src/kernel_services/abstract_interp/ival.mli
+++ b/src/kernel_services/abstract_interp/ival.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -91,6 +91,9 @@ val min_max_r_mod :
 
 val min_and_max :
   t -> Integer.t option * Integer.t option
+(** Returns the minimal and maximal integers represented by an ival.
+    [None] means the argument is unbounded.
+    @raise Abstract_interp.Error_Bottom if the argument is bottom. *)
 
 val min_and_max_float : t -> (Fval.F.t * Fval.F.t) option * bool
 (** returns the bounds of the float interval, (or None if the argument is
@@ -98,14 +101,15 @@ val min_and_max_float : t -> (Fval.F.t * Fval.F.t) option * bool
     may be NaN. *)
 
 
-val bitwise_and : size:int -> signed:bool -> t -> t -> t
+val bitwise_and : t -> t -> t
 val bitwise_or : t -> t -> t
 val bitwise_xor : t -> t -> t
-val bitwise_not: t -> t
+val bitwise_signed_not: t -> t
+(* For the two following functions, the argument is assumed to fit within the
+   given size. *)
+val bitwise_unsigned_not: size:int -> t -> t
+val bitwise_not: size:int -> signed:bool -> t -> t
 
-val bitwise_not_size: size:int -> signed:bool -> t -> t
-(** bitwise negation on a finite integer type. The argument is assumed to
-    fit within the type. *)
 
 val zero : t
 (** The lattice element that contains only the integer 0. *)
diff --git a/src/kernel_services/abstract_interp/lattice_messages.ml b/src/kernel_services/abstract_interp/lattice_messages.ml
index 04ee0ac4327b5e1817586cc1ddde5c9ad94c95f0..4f03bc4633845ca4e4ba75f7e58b204bf90b9486 100644
--- a/src/kernel_services/abstract_interp/lattice_messages.ml
+++ b/src/kernel_services/abstract_interp/lattice_messages.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/lattice_messages.mli b/src/kernel_services/abstract_interp/lattice_messages.mli
index 417eed1923406c25f3ff21bbe4091e2cadc961a1..553ef235babc1d1dbc1b6d9dfbed103eb852f33f 100644
--- a/src/kernel_services/abstract_interp/lattice_messages.mli
+++ b/src/kernel_services/abstract_interp/lattice_messages.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/lattice_type.mli b/src/kernel_services/abstract_interp/lattice_type.mli
index d4cc251e5d4db201c721338ba78a78d63c1d3abe..a494ea5ea67ac6c910bc95c9f441970c807a1f72 100644
--- a/src/kernel_services/abstract_interp/lattice_type.mli
+++ b/src/kernel_services/abstract_interp/lattice_type.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/lmap.ml b/src/kernel_services/abstract_interp/lmap.ml
index fdffff1b6fab76c2367d9dd4c2b8b523acd3f012..28caf337006fcec6b57e30107c4995b82d084cc5 100644
--- a/src/kernel_services/abstract_interp/lmap.ml
+++ b/src/kernel_services/abstract_interp/lmap.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/lmap.mli b/src/kernel_services/abstract_interp/lmap.mli
index 881cea3c9677097fb8453a5079ed15a0f3907280..44f39505c5bc96129f0a44021069b449f4c71229 100644
--- a/src/kernel_services/abstract_interp/lmap.mli
+++ b/src/kernel_services/abstract_interp/lmap.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/lmap_bitwise.ml b/src/kernel_services/abstract_interp/lmap_bitwise.ml
index e64ae1790eed2d5b3368cc530ec57dc47c6c93d5..3c87d3bcbc353aa1a405681a6483f058f9bc9dcb 100644
--- a/src/kernel_services/abstract_interp/lmap_bitwise.ml
+++ b/src/kernel_services/abstract_interp/lmap_bitwise.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/lmap_bitwise.mli b/src/kernel_services/abstract_interp/lmap_bitwise.mli
index 6965e5c2cf17b8f403e7c034f6d2d9a38e57cc46..7a35801ca87f9c61d1132140139642f36673f121 100644
--- a/src/kernel_services/abstract_interp/lmap_bitwise.mli
+++ b/src/kernel_services/abstract_interp/lmap_bitwise.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/lmap_sig.mli b/src/kernel_services/abstract_interp/lmap_sig.mli
index 470d6b791d0171ce65f46bf2e09f54fbb3e3f939..5ce3fde3695c5cb108532ec53d8ffc221385917d 100644
--- a/src/kernel_services/abstract_interp/lmap_sig.mli
+++ b/src/kernel_services/abstract_interp/lmap_sig.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/locations.ml b/src/kernel_services/abstract_interp/locations.ml
index a1ab29ef8ea8ae2d8579e823c7b65ab0bcefc98e..f508068d2dbd6d7c4ccf4594625a23e2f5ea903d 100644
--- a/src/kernel_services/abstract_interp/locations.ml
+++ b/src/kernel_services/abstract_interp/locations.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/locations.mli b/src/kernel_services/abstract_interp/locations.mli
index e534cab24f86193d73753b69b75852faaea4d1d0..f1facdc393237c64a1b8892bf852f36ff05f83d0 100644
--- a/src/kernel_services/abstract_interp/locations.mli
+++ b/src/kernel_services/abstract_interp/locations.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/map_lattice.ml b/src/kernel_services/abstract_interp/map_lattice.ml
index 2e0ac18fa3c7f9f922f998c53e4d5335375be203..6dbc13c604bf1a7bff81817254fb141a0e401eff 100644
--- a/src/kernel_services/abstract_interp/map_lattice.ml
+++ b/src/kernel_services/abstract_interp/map_lattice.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/map_lattice.mli b/src/kernel_services/abstract_interp/map_lattice.mli
index 943df7027ccb38bf73f69580842b1b5d294499a8..d8148633719f381f557367cc2e23c5735d128263 100644
--- a/src/kernel_services/abstract_interp/map_lattice.mli
+++ b/src/kernel_services/abstract_interp/map_lattice.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/offsetmap.ml b/src/kernel_services/abstract_interp/offsetmap.ml
index 7914f54871a6507f283a8ff4e01cbfc1cdee548a..65b75830d44797231236f36c18da41f0e86135f4 100644
--- a/src/kernel_services/abstract_interp/offsetmap.ml
+++ b/src/kernel_services/abstract_interp/offsetmap.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/offsetmap.mli b/src/kernel_services/abstract_interp/offsetmap.mli
index af0d3548205d32bd62c3bec8198bf174a89f1a7a..88e2986c36d8cebb73384279ffd563b139a00eb3 100644
--- a/src/kernel_services/abstract_interp/offsetmap.mli
+++ b/src/kernel_services/abstract_interp/offsetmap.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/offsetmap_bitwise_sig.mli b/src/kernel_services/abstract_interp/offsetmap_bitwise_sig.mli
index 74e5c282130c78464971be5212ea7cbacaac6dc6..96c829e1f81f8253473b48b2046efcd80b233ac2 100644
--- a/src/kernel_services/abstract_interp/offsetmap_bitwise_sig.mli
+++ b/src/kernel_services/abstract_interp/offsetmap_bitwise_sig.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/offsetmap_lattice_with_isotropy.mli b/src/kernel_services/abstract_interp/offsetmap_lattice_with_isotropy.mli
index 10794055e3aa4aa80753f3c0850c3d850a436e2e..e2dfef042edd030211d9100ad5ac0ee2819d52f3 100644
--- a/src/kernel_services/abstract_interp/offsetmap_lattice_with_isotropy.mli
+++ b/src/kernel_services/abstract_interp/offsetmap_lattice_with_isotropy.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/offsetmap_sig.mli b/src/kernel_services/abstract_interp/offsetmap_sig.mli
index 538ae8984af8fd019f4cb602d375aa744df47767..87ee6349e914f8f428991146cde7aeba63c5a113 100644
--- a/src/kernel_services/abstract_interp/offsetmap_sig.mli
+++ b/src/kernel_services/abstract_interp/offsetmap_sig.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/origin.ml b/src/kernel_services/abstract_interp/origin.ml
index f5df03b9dfb29002f0f4346893ddb7dc9791a2a1..a52ccdf1187cd648944c4d929001b78e75108b5f 100644
--- a/src/kernel_services/abstract_interp/origin.ml
+++ b/src/kernel_services/abstract_interp/origin.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/origin.mli b/src/kernel_services/abstract_interp/origin.mli
index 8b6af5208aa36992fd8f0f84b3ea6ce7c6da0b85..cbad78145bef6661246cf06c3a58ed7a3424e793 100644
--- a/src/kernel_services/abstract_interp/origin.mli
+++ b/src/kernel_services/abstract_interp/origin.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/tr_offset.ml b/src/kernel_services/abstract_interp/tr_offset.ml
index 2a6af76e8fc4357ce4167bf45eb6b2027e33f688..190317dfd3faa1084880a06df2395fe5ecb7b58f 100644
--- a/src/kernel_services/abstract_interp/tr_offset.ml
+++ b/src/kernel_services/abstract_interp/tr_offset.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/abstract_interp/tr_offset.mli b/src/kernel_services/abstract_interp/tr_offset.mli
index c88fd738bfdfad100b26ba64b3d211614ebb585f..d59336ec349c56dce580427d086d84151453dc43 100644
--- a/src/kernel_services/abstract_interp/tr_offset.mli
+++ b/src/kernel_services/abstract_interp/tr_offset.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/bit_utils.ml b/src/kernel_services/analysis/bit_utils.ml
index a820ec1df7cb803c4fb017e8349faba02686f465..136e76937003d473afea011ffa5282634c8f44a6 100644
--- a/src/kernel_services/analysis/bit_utils.ml
+++ b/src/kernel_services/analysis/bit_utils.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/bit_utils.mli b/src/kernel_services/analysis/bit_utils.mli
index d606f6adac536e4dfa43e185db834f86b95fc52a..a1848f842b42c957b06776b71158aceefd4e596e 100644
--- a/src/kernel_services/analysis/bit_utils.mli
+++ b/src/kernel_services/analysis/bit_utils.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/dataflow2.ml b/src/kernel_services/analysis/dataflow2.ml
index 5581e725e9895dd79c370c5b7dcef71e0c1e4eb4..bb3745381898398296e8fceefb6b9503fa870e04 100644
--- a/src/kernel_services/analysis/dataflow2.ml
+++ b/src/kernel_services/analysis/dataflow2.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/dataflow2.mli b/src/kernel_services/analysis/dataflow2.mli
index bdcf36b4806674e44d54e2e1a33e59493bd99cc6..70a682c02acc54472493023e76cb23570df9a651 100644
--- a/src/kernel_services/analysis/dataflow2.mli
+++ b/src/kernel_services/analysis/dataflow2.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/destructors.ml b/src/kernel_services/analysis/destructors.ml
index 5218c823d0e2e408da05510bdbd924034a7927ed..366440d2a58930a27ac6f61d9191bd4c32af8856 100644
--- a/src/kernel_services/analysis/destructors.ml
+++ b/src/kernel_services/analysis/destructors.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/destructors.mli b/src/kernel_services/analysis/destructors.mli
index 6a499055ae14fe0f8eafe287f55094c0172ee514..dc5f1828661cbd79621809ed9e7052de7acd7738 100644
--- a/src/kernel_services/analysis/destructors.mli
+++ b/src/kernel_services/analysis/destructors.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/dominators.ml b/src/kernel_services/analysis/dominators.ml
index 54d6c678932f29a4841bae89fdf0e5a0f3e50bb4..5fceb38618ee843b01ab0135654ffc2baa4a803e 100644
--- a/src/kernel_services/analysis/dominators.ml
+++ b/src/kernel_services/analysis/dominators.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/dominators.mli b/src/kernel_services/analysis/dominators.mli
index 35853c21ed2711dd8774b15428efd310155a8719..e390bf5e3a059439af8f7a0beba5f84eeab009cb 100644
--- a/src/kernel_services/analysis/dominators.mli
+++ b/src/kernel_services/analysis/dominators.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/exn_flow.ml b/src/kernel_services/analysis/exn_flow.ml
index e45cdac76203cd0451c323929021bd740af5c0e2..fb55879b28007bff7b40df5665fd34b94e42863f 100644
--- a/src/kernel_services/analysis/exn_flow.ml
+++ b/src/kernel_services/analysis/exn_flow.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/exn_flow.mli b/src/kernel_services/analysis/exn_flow.mli
index 37b29cbe7b0d9e0e1a40570297280dcefd851ad7..3bd95fd0b51da72134e6a141ff28270cc5ead0c4 100644
--- a/src/kernel_services/analysis/exn_flow.mli
+++ b/src/kernel_services/analysis/exn_flow.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/interpreted_automata.ml b/src/kernel_services/analysis/interpreted_automata.ml
index c9b421da2f531f86c7c971febf4e5425cb438477..7038bbce318da3fdf1a9a6541b73a257930490db 100644
--- a/src/kernel_services/analysis/interpreted_automata.ml
+++ b/src/kernel_services/analysis/interpreted_automata.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/interpreted_automata.mli b/src/kernel_services/analysis/interpreted_automata.mli
index 6d51fe680a44990ec91db2de73954143af54c9d6..c7c1b86d8732efb66b29bd2448ba60f0b8fa557c 100644
--- a/src/kernel_services/analysis/interpreted_automata.mli
+++ b/src/kernel_services/analysis/interpreted_automata.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/logic_interp.ml b/src/kernel_services/analysis/logic_interp.ml
index f40ed55aec7ff66c75402e1c937d960bcc51b140..8a82bb7009c44cdb18b0358052dc123bf79527ad 100644
--- a/src/kernel_services/analysis/logic_interp.ml
+++ b/src/kernel_services/analysis/logic_interp.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/logic_interp.mli b/src/kernel_services/analysis/logic_interp.mli
index b8e1fcb314c080e7177cfff079eaa45290c68630..af93fc8fb44946d5614f441e1cc6e6220289e994 100644
--- a/src/kernel_services/analysis/logic_interp.mli
+++ b/src/kernel_services/analysis/logic_interp.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/loop.ml b/src/kernel_services/analysis/loop.ml
index d54e6aa71a6299b21a4f299d564cb78a282d90d6..9daa7eace4299ae3e788f41156bcb14439d537dd 100644
--- a/src/kernel_services/analysis/loop.ml
+++ b/src/kernel_services/analysis/loop.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/loop.mli b/src/kernel_services/analysis/loop.mli
index 2f580026d3b2b3f04b8f1a2f8d8fb3145da1c821..da142b70ce20bc926594c640e12be5b09337a906 100644
--- a/src/kernel_services/analysis/loop.mli
+++ b/src/kernel_services/analysis/loop.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/ordered_stmt.ml b/src/kernel_services/analysis/ordered_stmt.ml
index 46320f0f5a7f9f9414bbe1c66c337438742ea515..762f37254ff368a8b32f51c0e6814e5639a4ddb4 100644
--- a/src/kernel_services/analysis/ordered_stmt.ml
+++ b/src/kernel_services/analysis/ordered_stmt.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/ordered_stmt.mli b/src/kernel_services/analysis/ordered_stmt.mli
index e0ee49e2ebf5b4a22dd00e05a58b0d27c325542a..6ad24780272bd2f488fdcb412522cbe6f16265dc 100644
--- a/src/kernel_services/analysis/ordered_stmt.mli
+++ b/src/kernel_services/analysis/ordered_stmt.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/service_graph.ml b/src/kernel_services/analysis/service_graph.ml
index d00a785c30b76a0835bbfecdbee68e46d2456dce..f7f042288ff4983d7d709296ae1c5546953a8b4e 100644
--- a/src/kernel_services/analysis/service_graph.ml
+++ b/src/kernel_services/analysis/service_graph.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/service_graph.mli b/src/kernel_services/analysis/service_graph.mli
index 66a5eefb362a2a2ab99d46091097ecb62cb8b8b7..0ada83031f4e81619d41f95bdc20078e2de97236 100644
--- a/src/kernel_services/analysis/service_graph.mli
+++ b/src/kernel_services/analysis/service_graph.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/stmts_graph.ml b/src/kernel_services/analysis/stmts_graph.ml
index 88b588cc0e08b60320a3fcd020e947bf0835a7f6..096e3a9ce0be525bb6dc26725287de8e1d1b5ccc 100644
--- a/src/kernel_services/analysis/stmts_graph.ml
+++ b/src/kernel_services/analysis/stmts_graph.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/stmts_graph.mli b/src/kernel_services/analysis/stmts_graph.mli
index cb29d1310c2f598e6f77002e5add4b71a64e17ee..dd64d3a01a81f74fee60bd63a66000e5e5f73a49 100644
--- a/src/kernel_services/analysis/stmts_graph.mli
+++ b/src/kernel_services/analysis/stmts_graph.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/undefined_sequence.ml b/src/kernel_services/analysis/undefined_sequence.ml
index c7fd90985fc4dccaeacc15188b79b8131ffafab7..1fbc213478de01a00dbde6968197a8d438b70b30 100644
--- a/src/kernel_services/analysis/undefined_sequence.ml
+++ b/src/kernel_services/analysis/undefined_sequence.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/undefined_sequence.mli b/src/kernel_services/analysis/undefined_sequence.mli
index 489295ecd5dca3482af5df1f3fe3cba9ec9ca273..48b80a46be1d222af219924748b529fdce3bf513 100644
--- a/src/kernel_services/analysis/undefined_sequence.mli
+++ b/src/kernel_services/analysis/undefined_sequence.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/wto_statement.ml b/src/kernel_services/analysis/wto_statement.ml
index 17d5fb33a64a523fb2b354623c439ad170077c6d..7cb1c48e8d78dbe61504b9fb6504bba135bbccaf 100644
--- a/src/kernel_services/analysis/wto_statement.ml
+++ b/src/kernel_services/analysis/wto_statement.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/analysis/wto_statement.mli b/src/kernel_services/analysis/wto_statement.mli
index 1e6fd83213227179a05c44f5176e444bd372f974..7c51d4c53c293b0cf378d6dfb67be02a9be51880 100644
--- a/src/kernel_services/analysis/wto_statement.mli
+++ b/src/kernel_services/analysis/wto_statement.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_data/alarms.ml b/src/kernel_services/ast_data/alarms.ml
index 44148a384ac7d4f05e4fd45685377db432f015cd..ff279b93cf08519395f6ef3652339a5a93912ccf 100644
--- a/src/kernel_services/ast_data/alarms.ml
+++ b/src/kernel_services/ast_data/alarms.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_data/alarms.mli b/src/kernel_services/ast_data/alarms.mli
index 220176b34cb7f082d0ff09b426eedfa69eee796a..c8a332f79f106f52fef155317c6004704ca2e210 100644
--- a/src/kernel_services/ast_data/alarms.mli
+++ b/src/kernel_services/ast_data/alarms.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_data/annotations.ml b/src/kernel_services/ast_data/annotations.ml
index 340218eafb9aa88e87767599e958c29a187926cf..8051b863e0d6e10256fff2665917d6a25abaa14f 100644
--- a/src/kernel_services/ast_data/annotations.ml
+++ b/src/kernel_services/ast_data/annotations.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_data/annotations.mli b/src/kernel_services/ast_data/annotations.mli
index ae97a1ea5d865b000529f30a96f15e196a74a791..3252d40e661210bc7754c71483567110d4a31abc 100644
--- a/src/kernel_services/ast_data/annotations.mli
+++ b/src/kernel_services/ast_data/annotations.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_data/ast.ml b/src/kernel_services/ast_data/ast.ml
index 2e90deaeb70e3b812726884bf92f538a2707ee84..c7fcabb67d62459612d5e4cb52e16d4ca19a7386 100644
--- a/src/kernel_services/ast_data/ast.ml
+++ b/src/kernel_services/ast_data/ast.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_data/ast.mli b/src/kernel_services/ast_data/ast.mli
index 27380d5e97c933cdf45217e273c7873ac2215db7..0385cecc9181b85c762953238def70075c43ffb4 100644
--- a/src/kernel_services/ast_data/ast.mli
+++ b/src/kernel_services/ast_data/ast.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_data/cil_types.mli b/src/kernel_services/ast_data/cil_types.mli
index 38c85c983aa9b6220ae22506663dfa104b1a92f5..d9acbb6b3b8891732a8607cce573208df9d8b005 100644
--- a/src/kernel_services/ast_data/cil_types.mli
+++ b/src/kernel_services/ast_data/cil_types.mli
@@ -1062,7 +1062,11 @@ and stmt = {
   mutable preds: stmt list;
   (** The inverse of the succs function. *)
 
-  mutable ghost : bool
+  mutable ghost : bool;
+
+  mutable sattr : attributes
+  (** Statement attributes.
+      @since Frama-C+dev *)
 }
 
 (** Labels *)
@@ -1671,7 +1675,7 @@ and acsl_extension_kind =
 
 (** Where are we expected to find corresponding extension keyword.
     @plugin development guide
-    @since Frama-C+dev
+    @since 18.0-Argon
 *)
 and ext_category =
   | Ext_contract
diff --git a/src/kernel_services/ast_data/globals.ml b/src/kernel_services/ast_data/globals.ml
index 0d6653284553b0c3317794c33b56ca5b0244f16e..b84dfc4a2b8b68eda18195b19b57f12e2468b223 100644
--- a/src/kernel_services/ast_data/globals.ml
+++ b/src/kernel_services/ast_data/globals.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_data/globals.mli b/src/kernel_services/ast_data/globals.mli
index b5127dab9e63c7ee5102bdbbd9d00397d9ef37e1..7ec981f70ba9afa672cbe7f060f914862d16f897 100644
--- a/src/kernel_services/ast_data/globals.mli
+++ b/src/kernel_services/ast_data/globals.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -75,7 +75,7 @@ module Vars: sig
   val remove: varinfo -> unit
   (** Removes the given varinfo, which must have already been removed from the
       AST. Warning: this is very dangerous.
-      @since Frama-C+dev
+      @since 18.0-Argon
   *)
 
   val add_decl: varinfo -> unit
@@ -131,7 +131,7 @@ module Functions: sig
   val remove: varinfo -> unit
   (** Removes the given varinfo, which must have already been removed from the
       AST. Warning: this is very dangerous.
-      @since Frama-C+dev
+      @since 18.0-Argon
   *)
 
   val replace_by_declaration: funspec -> varinfo -> location -> unit
@@ -164,7 +164,7 @@ module FileIndex : sig
   [@@deprecated "Use FileIndex.get_symbols instead."]
     (** [find path] returns all global C symbols associated with [path],
         plus [path] itself. The returned [global] list is reversed.
-        @deprecated Frama-C+dev use [get_symbols] instead. *)
+        @deprecated 18.0-Argon use [get_symbols] instead. *)
 
   val get_files: unit -> Datatype.Filepath.t list
     (** Get the files list containing all [global] C symbols. *)
diff --git a/src/kernel_services/ast_data/kernel_function.ml b/src/kernel_services/ast_data/kernel_function.ml
index e24380065ea8bc793b15a3c2ab5506c1ab3039a6..1d7d7d982b0cda0c31270cbb7c6692eb9d426f48 100644
--- a/src/kernel_services/ast_data/kernel_function.ml
+++ b/src/kernel_services/ast_data/kernel_function.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_data/kernel_function.mli b/src/kernel_services/ast_data/kernel_function.mli
index 501f1323be4686be7f89a9d0d83309aac65a421c..d6700783c495fe773ecb3fc9af317b1732058340 100644
--- a/src/kernel_services/ast_data/kernel_function.mli
+++ b/src/kernel_services/ast_data/kernel_function.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -161,7 +161,7 @@ val get_locals : t -> varinfo list
 
 val get_statics : t -> varinfo list
 (** Returns the list of static variables declared inside the function.
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 
 exception No_Definition
 val get_definition : t -> fundec
diff --git a/src/kernel_services/ast_data/property.ml b/src/kernel_services/ast_data/property.ml
index c1b6a0334b9cb81cd722393f7c152557537f3801..4b49226f70f318ca3b60565b60509917e2c86f86 100644
--- a/src/kernel_services/ast_data/property.ml
+++ b/src/kernel_services/ast_data/property.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_data/property.mli b/src/kernel_services/ast_data/property.mli
index 9a852748600d19d00d7398fa09b4bfda310718dc..7b5100d1ae11ab05d021dc551b057805e680febe 100644
--- a/src/kernel_services/ast_data/property.mli
+++ b/src/kernel_services/ast_data/property.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -164,15 +164,15 @@ val pretty_predicate_kind: Format.formatter -> predicate_kind -> unit
 
 val pretty_debug: Format.formatter -> identified_property -> unit
 (** Internal use only.
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 
 (** create a Loc_contract or Loc_stmt depending on the kinstr.
-    @since Frama-C+dev
+    @since 18.0-Argon
 *)
 val e_loc_of_stmt: kernel_function -> kinstr -> extended_loc
 
 (** create a Loc_contract or Loc_stmt depending on the kinstr.
-    @since Frama-C+dev
+    @since 18.0-Argon
 *)
 val o_loc_of_stmt: kernel_function -> kinstr -> other_loc
 
@@ -184,7 +184,7 @@ val o_loc_of_stmt: kernel_function -> kinstr -> other_loc
 val ip_other: string -> other_loc -> identified_property
 (** Create a non-standard property.
     @since Nitrogen-20111001
-    @modify Frama-C+dev Refine localisation argument
+    @modify 18.0-Argon Refine localisation argument
  *)
 
 val ip_reachable_stmt: kernel_function -> stmt -> identified_property
@@ -223,7 +223,7 @@ val ip_of_ensures:
 
 (** Extended property.
     @since Chlorine-20180501
-    @modify Frama-C+dev refine localisation argument
+    @modify 18.0-Argon refine localisation argument
 *)
 val ip_of_extended: extended_loc -> acsl_extension -> identified_property
 
diff --git a/src/kernel_services/ast_data/property_status.ml b/src/kernel_services/ast_data/property_status.ml
index cb1d6cebb3f268c8bb14e190e18002db612b4193..10e25594bfed19cfedf49dca7ae9938475b680cf 100644
--- a/src/kernel_services/ast_data/property_status.ml
+++ b/src/kernel_services/ast_data/property_status.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_data/property_status.mli b/src/kernel_services/ast_data/property_status.mli
index 4b78fabe9f20fbb21190946d03272b490f635037..7a6ea9770f65e1a447bb408dd4fe4e1114246186 100644
--- a/src/kernel_services/ast_data/property_status.mli
+++ b/src/kernel_services/ast_data/property_status.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_data/statuses_by_call.ml b/src/kernel_services/ast_data/statuses_by_call.ml
index 03d33c01f5dd0e9eec5aaae7d791e16612063a9c..e5506a00785c6ed8f974d911d05ab7b3e730d42a 100644
--- a/src/kernel_services/ast_data/statuses_by_call.ml
+++ b/src/kernel_services/ast_data/statuses_by_call.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_data/statuses_by_call.mli b/src/kernel_services/ast_data/statuses_by_call.mli
index 9479c3a2f15e0586eb5113a1670d25a0b6bfaafe..7894fc6a191b84f94d0d5164ad3c255553f30107 100644
--- a/src/kernel_services/ast_data/statuses_by_call.mli
+++ b/src/kernel_services/ast_data/statuses_by_call.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_printing/cabs_debug.ml b/src/kernel_services/ast_printing/cabs_debug.ml
index 758cfab2983cb7a73821eee32e09b288259fe31a..25dca2c6207f8d27ae96479aed86d11ac27fba69 100644
--- a/src/kernel_services/ast_printing/cabs_debug.ml
+++ b/src/kernel_services/ast_printing/cabs_debug.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_printing/cabs_debug.mli b/src/kernel_services/ast_printing/cabs_debug.mli
index 969d3a6e3fe7e4715503728c4aaec78e2456033a..ba13a2c40491768333012a2324db26646c74ded0 100644
--- a/src/kernel_services/ast_printing/cabs_debug.mli
+++ b/src/kernel_services/ast_printing/cabs_debug.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_printing/cil_descriptive_printer.ml b/src/kernel_services/ast_printing/cil_descriptive_printer.ml
index 79f7fa7e3be44f372873731cbbdf0c13229bcbd3..f4c2885c06426178197a2e74108e4b3f5fc03843 100644
--- a/src/kernel_services/ast_printing/cil_descriptive_printer.ml
+++ b/src/kernel_services/ast_printing/cil_descriptive_printer.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_printing/cil_descriptive_printer.mli b/src/kernel_services/ast_printing/cil_descriptive_printer.mli
index 1d2f0ddc685d6905a4980e7a5b23c9a62f52844f..c3e0e0ba2cdcb7d42fe7daefde26a796e9ec5396 100644
--- a/src/kernel_services/ast_printing/cil_descriptive_printer.mli
+++ b/src/kernel_services/ast_printing/cil_descriptive_printer.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_printing/cil_printer.ml b/src/kernel_services/ast_printing/cil_printer.ml
index b4c6b964b73062e25b193a279e2a4d32c9f2e4c5..583f672121c9f591f3c6691ecf4d37bf5a1726a9 100644
--- a/src/kernel_services/ast_printing/cil_printer.ml
+++ b/src/kernel_services/ast_printing/cil_printer.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -495,7 +495,7 @@ class cil_printer () = object (self)
   method private current_stmt =
     try Some (Stack.top current_stmt) with Stack.Empty -> None
 
-  method private may_be_skipped s = s.labels = []
+  method private may_be_skipped s = s.labels = [] && s.sattr = []
 
   method location fmt loc =
     Format.fprintf fmt "%a" Filepath.pp_pos (fst loc)
@@ -1058,7 +1058,7 @@ class cil_printer () = object (self)
     pp_open_hvbox fmt 0;
     self#stmt_labels fmt s;
     (* print the statement. *)
-    if Cil.is_skip s.skind && not s.ghost then begin
+    if Cil.is_skip s.skind && not s.ghost && s.sattr = [] then begin
       if verbose || s.labels <> [] then fprintf fmt ";"
     end else begin
       let was_ghost = is_ghost in
@@ -1068,7 +1068,7 @@ class cil_printer () = object (self)
         Format.fprintf fmt "%t %a "
           (fun fmt -> self#pp_open_annotation fmt) self#pp_acsl_keyword "ghost"
       end;
-      self#stmtkind next fmt s.skind ;
+      self#stmtkind s.sattr next fmt s.skind ;
       if display_ghost then begin
 	is_ghost <- false;
         self#pp_close_annotation fmt
@@ -1234,7 +1234,7 @@ class cil_printer () = object (self)
       fprintf fmt "@[@<0>\n@<0>%s@<0> @<0>%d@<0> @<0>%s@]@\n" 
 	directive (fst l).Filepath.pos_lnum filename
 
-  method stmtkind (next: stmt) fmt = function
+  method stmtkind sattr (next: stmt) fmt = function
     | UnspecifiedSequence seq ->
       let ctxt =
         match self#current_stmt with None -> Other | Some s -> Stmt_block s
@@ -1374,6 +1374,11 @@ class cil_printer () = object (self)
         Pretty_utils.pp_list ~sep:"@\n" self#code_annotation fmt a;
         Format.fprintf fmt "@ %t" (fun fmt -> self#pp_close_annotation fmt);
       end;
+      let pp_sattr fmt =
+        if sattr <> [] && Kernel.is_debug_key_enabled Kernel.dkey_print_attrs
+        then Format.fprintf fmt "@[/*%a */ @]" self#attributes sattr
+        else Format.ifprintf fmt ""
+      in
       ((* Maybe the first thing is a conditional. Turn it into a WHILE *)
         try
 	  let rec skipEmpty = function
@@ -1409,15 +1414,17 @@ class cil_printer () = object (self)
 	      [{ skind=Block b} as s ] when self#may_be_skipped s -> b
 	    | _ -> { b with bstmts = bodystmts }
 	  in
-	  Format.fprintf fmt "%a@[<v 2>%a (%a) %a@]"
+	  Format.fprintf fmt "%a@[<v 2>%a (%a) %t%a@]"
 	    (fun fmt -> self#line_directive fmt) l
             self#pp_keyword "while"
 	    self#exp term
+	    pp_sattr
 	    (self#unboxed_block Other) b;
         with Not_found ->
-	  Format.fprintf fmt "%a@[<v 2>%a (1) %a@]"
+	  Format.fprintf fmt "%a@[<v 2>%a (1) %t%a@]"
 	    (fun fmt -> self#line_directive fmt) l
             self#pp_keyword "while"
+            pp_sattr
 	    (self#unboxed_block Other) b);
       Format.pp_close_box fmt ()
 
diff --git a/src/kernel_services/ast_printing/cil_printer.mli b/src/kernel_services/ast_printing/cil_printer.mli
index 8e01bb196cc2c097dc2ca6abbe95f7557202004b..1eb890808ea36782f8e71e5e506f5211a25df895 100644
--- a/src/kernel_services/ast_printing/cil_printer.mli
+++ b/src/kernel_services/ast_printing/cil_printer.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_printing/cil_types_debug.ml b/src/kernel_services/ast_printing/cil_types_debug.ml
index e07632dee25ef9a048e3501d6f9e27f94ab6c2e9..8a0c8c33b31b0bc6d935ae21281db06035f22010 100644
--- a/src/kernel_services/ast_printing/cil_types_debug.ml
+++ b/src/kernel_services/ast_printing/cil_types_debug.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_printing/cil_types_debug.mli b/src/kernel_services/ast_printing/cil_types_debug.mli
index ffaae353ea05ad8577a851ad210e446430f11804..e8b52c76c1c5ebdde2b17623a18563afc710a189 100644
--- a/src/kernel_services/ast_printing/cil_types_debug.mli
+++ b/src/kernel_services/ast_printing/cil_types_debug.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_printing/description.ml b/src/kernel_services/ast_printing/description.ml
index 4dbb21c9455022dfd23d5cc4c152f3210b83bf30..c4fe1d6cdfd06e13ccd79cae4b4d75a690744bb7 100644
--- a/src/kernel_services/ast_printing/description.ml
+++ b/src/kernel_services/ast_printing/description.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_printing/description.mli b/src/kernel_services/ast_printing/description.mli
index 9ec78a06ac1e9970b33e2dbb1b52c56d8d8b3f42..a27280f88ac6fee91de4764000671b93f4d5b63b 100644
--- a/src/kernel_services/ast_printing/description.mli
+++ b/src/kernel_services/ast_printing/description.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -53,11 +53,11 @@ val pp_property : Format.formatter -> Property.t -> unit
 val property_kind_and_node: Property.t -> (string * string) option
 (** Returns separately the kind and the node of a property. Returns None for
     unsupported property kinds. Used to output properties in csv files.
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 
 val status_feedback: Property_status.Feedback.t -> string
 (** User-friendly description of property statuses.
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 
 type kf = [ `Always | `Never | `Context of kernel_function ]
 
diff --git a/src/kernel_services/ast_printing/logic_print.ml b/src/kernel_services/ast_printing/logic_print.ml
index fa85c594c505c6be0a885e2c3d72211fb55e1e16..c81c74c97ee67bd26927d81afb46bd787b7efb7b 100644
--- a/src/kernel_services/ast_printing/logic_print.ml
+++ b/src/kernel_services/ast_printing/logic_print.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_services/ast_printing/logic_print.mli b/src/kernel_services/ast_printing/logic_print.mli
index 40f8d8903d74ac7048c38d6bcf2e454c3586d3ea..db94c84ee9d5a5e40c36f53ed38b5d7e171cdefb 100644
--- a/src/kernel_services/ast_printing/logic_print.mli
+++ b/src/kernel_services/ast_printing/logic_print.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_services/ast_printing/printer.ml b/src/kernel_services/ast_printing/printer.ml
index 61f6615b15fa27c804ac4048523ac2f2834ff36f..27c8a438e075f0d31e60e9db083b7402677e1c88 100644
--- a/src/kernel_services/ast_printing/printer.ml
+++ b/src/kernel_services/ast_printing/printer.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -244,7 +244,7 @@ class printer_with_annot () = object (self)
             self#pp_acsl_keyword "ghost";
           is_ghost <- true
 	end;
-	self#stmtkind next fmt s.skind;
+	self#stmtkind s.sattr next fmt s.skind;
 	if not was_ghost && s.ghost then begin
           self#pp_close_annotation ~suf:"@,*/@]" fmt;
           is_ghost <- false;
@@ -257,7 +257,7 @@ class printer_with_annot () = object (self)
           (fun fmt -> self#pp_open_annotation ~block:false fmt)
           self#code_annotation a
           (fun fmt -> self#pp_close_annotation ~block:false fmt)
-          (self#stmtkind next) s.skind;
+          (self#stmtkind s.sattr next) s.skind;
       | _ ->
 	let loop_annot, stmt_annot =
           List.partition Logic_utils.is_loop_annot all_annot
@@ -266,11 +266,11 @@ class printer_with_annot () = object (self)
 	self#loop_annotations fmt loop_annot;
 	pGhost fmt s)
     end else
-      self#stmtkind next fmt s.skind;
+      self#stmtkind s.sattr next fmt s.skind;
     Format.pp_close_box fmt ()
   
-  method! stmtkind (next: stmt) fmt skind =
-    super#stmtkind next fmt
+  method! stmtkind sattr (next: stmt) fmt skind =
+    super#stmtkind sattr next fmt
       begin
         match skind with
         | Goto({ contents = { skind = (Return _) as return }},_)
diff --git a/src/kernel_services/ast_printing/printer.mli b/src/kernel_services/ast_printing/printer.mli
index 7b43534d83e8df68802b7e0483c3f28911392822..2f8f4723c892681ebcbddc0439ec7c79c67c8ca9 100644
--- a/src/kernel_services/ast_printing/printer.mli
+++ b/src/kernel_services/ast_printing/printer.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_printing/printer_api.mli b/src/kernel_services/ast_printing/printer_api.mli
index 493de08bad1d547358b357dd0086f1c03e00f76c..ad1b05fafc42fe074cd0743c7edb7d5705f619bf 100644
--- a/src/kernel_services/ast_printing/printer_api.mli
+++ b/src/kernel_services/ast_printing/printer_api.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -190,7 +190,7 @@ class type extensible_printer_type = object
       last {!Cil_types.stmt} argument. The initial {!Cil_types.stmt} argument
       records the statement which follows the one being printed. *)
 
-  method stmtkind: stmt ->  Format.formatter -> stmtkind -> unit
+  method stmtkind: attributes -> stmt ->  Format.formatter -> stmtkind -> unit
   (** Print a statement kind. The code to be printed is given in the
       {!Cil_types.stmtkind} argument.  The initial {!Cil_types.stmt} argument
       records the statement which follows the one being printed;
diff --git a/src/kernel_services/ast_printing/printer_builder.ml b/src/kernel_services/ast_printing/printer_builder.ml
index 67a8019325bc0dc9825ce3071030a3be65e03483..f8947c807d7fdcb243ed4dc569713409282d00e2 100644
--- a/src/kernel_services/ast_printing/printer_builder.ml
+++ b/src/kernel_services/ast_printing/printer_builder.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_printing/printer_builder.mli b/src/kernel_services/ast_printing/printer_builder.mli
index cc52b60774b315c7ef97f2c5166cb159cc4c8260..4e433b73d0fde0437a39bc8f3f51ebbfc3becd04 100644
--- a/src/kernel_services/ast_printing/printer_builder.mli
+++ b/src/kernel_services/ast_printing/printer_builder.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_queries/ast_info.ml b/src/kernel_services/ast_queries/ast_info.ml
index 40fd2abfac6e3f5b8fca0620e24b5a7879fe10ca..56fe55253d37e7c986f3157ef79b830d844a923d 100644
--- a/src/kernel_services/ast_queries/ast_info.ml
+++ b/src/kernel_services/ast_queries/ast_info.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_queries/ast_info.mli b/src/kernel_services/ast_queries/ast_info.mli
index fdbba765191b76ddc390bd2ed5b54d1d57a8cf86..967ade48a3a0dc0b57e02349f6c73f56d237d0a2 100644
--- a/src/kernel_services/ast_queries/ast_info.mli
+++ b/src/kernel_services/ast_queries/ast_info.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_queries/cil.ml b/src/kernel_services/ast_queries/cil.ml
index 9493c45605a07006f03f9a29264b86f09364cfcf..86eb84205298d80638abceaf63fc096dda62aa85 100644
--- a/src/kernel_services/ast_queries/cil.ml
+++ b/src/kernel_services/ast_queries/cil.ml
@@ -265,7 +265,7 @@ let mkBlock (slst: stmt list) : block =
 
 let mkBlockNonScoping l = let b = mkBlock l in b.bscoping <- false; b
 
-let mkStmt ?(ghost=false) ?(valid_sid=false) (sk: stmtkind) : stmt =
+let mkStmt ?(ghost=false) ?(valid_sid=false) ?(sattr=[]) (sk: stmtkind) : stmt =
   { skind = sk;
     labels = [];
      (* It is better to create statements with a valid sid, so that they can
@@ -274,7 +274,8 @@ let mkStmt ?(ghost=false) ?(valid_sid=false) (sk: stmtkind) : stmt =
 	(e.g. slicing). *)
     sid = if valid_sid then Sid.next () else -1;
     succs = []; preds = [];
-    ghost = ghost}
+    ghost = ghost;
+    sattr = sattr;}
 
 let stmt_of_instr_list ?(loc=Location.unknown) = function
    | [] -> Instr (Skip loc)
@@ -4212,7 +4213,7 @@ let parseIntExp ~loc repr =
  let mkStmtCfg ~before ~(new_stmtkind:stmtkind) ~(ref_stmt:stmt) : stmt =
    let new_ = { skind = new_stmtkind;
 		labels = [];
-		sid = -1; succs = []; preds = []; ghost = false }
+		sid = -1; succs = []; preds = []; ghost = false; sattr = [] }
    in
    new_.sid <- Sid.next ();
    if before then begin
@@ -4263,10 +4264,11 @@ let parseIntExp ~loc repr =
 	   old_preds;
 	 n
 
- let mkEmptyStmt ?ghost ?valid_sid ?(loc=Location.unknown) () =
-   mkStmt ?ghost ?valid_sid (Instr (Skip loc))
+ let mkEmptyStmt ?ghost ?valid_sid ?sattr ?(loc=Location.unknown) () =
+   mkStmt ?ghost ?valid_sid ?sattr (Instr (Skip loc))
 
- let mkStmtOneInstr ?ghost ?valid_sid i = mkStmt ?ghost ?valid_sid (Instr i)
+ let mkStmtOneInstr ?ghost ?valid_sid ?sattr i =
+   mkStmt ?ghost ?valid_sid ?sattr (Instr i)
 
  let dummyInstr = Asm([], ["dummy statement!!"], None, Location.unknown)
  let dummyStmt = mkStmt (Instr dummyInstr)
@@ -4310,9 +4312,9 @@ let parseIntExp ~loc repr =
 
  let mkString ~loc s = new_exp ~loc (Const(CStr s))
 
- let mkWhile ~(guard:exp) ~(body: stmt list) : stmt list =
+ let mkLoop ?(sattr = [Attr("while", [])]) ~(guard:exp) ~(body: stmt list) : stmt list =
   (* Do it like this so that the pretty printer recognizes it *)
-  [ mkStmt ~valid_sid:true
+  [ mkStmt ~valid_sid:true ~sattr
       (Loop ([],
 	     mkBlock
 	       (mkStmt ~valid_sid:true
@@ -4324,7 +4326,7 @@ let parseIntExp ~loc repr =
  let mkFor ~(start: stmt list) ~(guard: exp) ~(next: stmt list)
 	   ~(body: stmt list) : stmt list =
    (start @
-      (mkWhile guard (body @ next)))
+      (mkLoop ~sattr:[Attr("For",[])] ~guard ~body:(body @ next)))
 
  let mkForIncr ~(iter : varinfo) ~(first: exp) ~(stopat: exp) ~(incr: exp)
      ~(body: stmt list) : stmt list =
diff --git a/src/kernel_services/ast_queries/cil.mli b/src/kernel_services/ast_queries/cil.mli
index 2b7ca72f32c254d82e1eae2640897c25f2438e1a..799986722ec0afbc0e43e5acc5cffcd8fb59c5a0 100644
--- a/src/kernel_services/ast_queries/cil.mli
+++ b/src/kernel_services/ast_queries/cil.mli
@@ -470,7 +470,7 @@ val isCompleteType: ?allowZeroSizeArrays:bool -> typ -> bool
     array member. When in gcc mode, a zero-sized array is identified with a
     FAM for this purpose.
 
-    @since Frama-C+dev
+    @since 18.0-Argon
 *)
 val has_flexible_array_member: typ -> bool
 
@@ -542,27 +542,27 @@ val isIntegralOrPointerType: typ -> bool
 
 (** True if the argument is an integral type (i.e. integer or enum), either
     C or mathematical one.
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val isLogicIntegralType: logic_type -> bool
 
 (** True if the argument is a boolean type, either integral C type or
     mathematical boolean one.
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val isLogicBooleanType: logic_type -> bool
 
 (** True if the argument is a floating point type. *)
 val isFloatingType: typ -> bool
 
 (** True if the argument is a floating point type.
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val isLogicFloatType: logic_type -> bool
 
 (** True if the argument is a C floating point type or logic 'real' type.
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val isLogicRealOrFloatType: logic_type -> bool
 
 (** True if the argument is the logic 'real' type.
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val isLogicRealType: logic_type -> bool
 
 (** True if the argument is an arithmetic type (i.e. integer, enum or
@@ -575,7 +575,7 @@ val isArithmeticOrPointerType: typ -> bool
 
 (** True if the argument is a logic arithmetic type (i.e. integer, enum or
     floating point, either C or mathematical one.
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val isLogicArithmeticType: logic_type -> bool
 
 (** True if the argument is a function type *)
@@ -583,23 +583,23 @@ val isFunctionType: typ -> bool
 
 (** True if the argument is the logic function type.
     Expands the logic type definition if necessary.
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 val isLogicFunctionType: logic_type -> bool
 
 (** True if the argument is a pointer type. *)
 val isPointerType: typ -> bool
 
 (** True if the argument is a function pointer type.
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 val isFunPtrType: typ -> bool
 
 (** True if the argument is the logic function pointer type.
     Expands the logic type definition if necessary.
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 val isLogicFunPtrType: logic_type -> bool
 
 (** True if the argument is the type for reified C types.
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val isTypeTagType: logic_type -> bool
 
 (** True if the argument denotes the type of ... in a variadic function.
@@ -1025,7 +1025,8 @@ val appears_in_expr: varinfo -> exp -> bool
     if [valid_sid] is false (the default),
     or to a valid sid if [valid_sid] is true,
     and [labels], [succs] and [preds] to the empty list *)
-val mkStmt: ?ghost:bool -> ?valid_sid:bool -> stmtkind -> stmt
+val mkStmt: ?ghost:bool -> ?valid_sid:bool -> ?sattr:attributes -> stmtkind ->
+  stmt
 
 (* make the [new_stmtkind] changing the CFG relatively to [ref_stmt] *)
 val mkStmtCfg: before:bool -> new_stmtkind:stmtkind -> ref_stmt:stmt -> stmt
@@ -1048,7 +1049,8 @@ val mkStmtCfgBlock: stmt list -> stmt
 (** Construct a statement consisting of just one instruction
     See {!Cil.mkStmt} for the signification of the optional args.
  *)
-val mkStmtOneInstr: ?ghost:bool -> ?valid_sid:bool -> instr -> stmt
+val mkStmtOneInstr: ?ghost:bool -> ?valid_sid:bool -> ?sattr:attributes ->
+  instr -> stmt
 
 (** Try to compress statements so as to get maximal basic blocks.
  * use this instead of List.@ because you get fewer basic blocks *)
@@ -1057,7 +1059,8 @@ val mkStmtOneInstr: ?ghost:bool -> ?valid_sid:bool -> instr -> stmt
 (** Returns an empty statement (of kind [Instr]). See [mkStmt] for [ghost] and
     [valid_sid] arguments.
     @modify Neon-20130301 adds the [valid_sid] optional argument. *)
-val mkEmptyStmt: ?ghost:bool -> ?valid_sid:bool -> ?loc:location -> unit -> stmt
+val mkEmptyStmt: ?ghost:bool -> ?valid_sid:bool -> ?sattr:attributes ->
+  ?loc:location -> unit -> stmt
 
 (** A instr to serve as a placeholder *)
 val dummyInstr: instr
@@ -1089,8 +1092,10 @@ val mkPureExpr:
   ?ghost:bool -> ?valid_sid:bool -> fundec:fundec ->
   ?loc:location -> exp -> stmt
 
-(** Make a while loop. Can contain Break or Continue *)
-val mkWhile: guard:exp -> body:stmt list -> stmt list
+(** Make a loop. Can contain Break or Continue.
+    The kind of loop (While, For, DoWhile) is given by [sattr];
+    it is a While loop if unspecified. *)
+val mkLoop: ?sattr:attributes -> guard:exp -> body:stmt list -> stmt list
 
 (** Make a for loop for(i=start; i<past; i += incr) \{ ... \}. The body
     can contain Break but not Continue. Can be used with i a pointer
@@ -1184,7 +1189,7 @@ val dropAttributes: string list -> attributes -> attributes
 (** a field struct marked with this attribute is known to be mutable, i.e.
     it can be modified even on a const object.
 
-    @since Frama-C+dev
+    @since 18.0-Argon
 *)
 val frama_c_mutable: string
 
@@ -1192,7 +1197,7 @@ val frama_c_mutable: string
     object being initialized by the current function, which can thus assign
     any sub-object regardless of const status.
 
-    @since Frama-C+dev
+    @since 18.0-Argon
  *)
 val frama_c_init_obj: string
 
diff --git a/src/kernel_services/ast_queries/cil_datatype.ml b/src/kernel_services/ast_queries/cil_datatype.ml
index 11ee585d0ccc150d1b3c9305f0fec6314753e2ec..634eb66b2073c730f0e81b163e457b71c957c347 100644
--- a/src/kernel_services/ast_queries/cil_datatype.ml
+++ b/src/kernel_services/ast_queries/cil_datatype.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -271,7 +271,8 @@ module Stmt_Id = struct
 	    sid = -1;
 	    succs = [];
 	    preds = [];
-	    ghost  = false } ]
+	    ghost  = false;
+	    sattr = [] } ]
       let compare t1 t2 = Datatype.Int.compare t1.sid t2.sid
       let hash t1 = t1.sid
       let equal t1 t2 = t1.sid = t2.sid
diff --git a/src/kernel_services/ast_queries/cil_datatype.mli b/src/kernel_services/ast_queries/cil_datatype.mli
index 3f1a856bcb76c557b73932b07bf36f52cdc7ea92..f2552c6d88bf094febf927dafbbf53ac612336bb 100644
--- a/src/kernel_services/ast_queries/cil_datatype.mli
+++ b/src/kernel_services/ast_queries/cil_datatype.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_queries/cil_state_builder.ml b/src/kernel_services/ast_queries/cil_state_builder.ml
index af9776fa1f9c6429425e595687642b46c4decd71..aab2fc7dc74439733b4d2251f6aea72a69ddb715 100644
--- a/src/kernel_services/ast_queries/cil_state_builder.ml
+++ b/src/kernel_services/ast_queries/cil_state_builder.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_queries/cil_state_builder.mli b/src/kernel_services/ast_queries/cil_state_builder.mli
index cdb8546e65602f1c3fd271dde409ad55a1c8936e..933a31430eabf4b7cc235b062cc7ce243b7f4721 100644
--- a/src/kernel_services/ast_queries/cil_state_builder.mli
+++ b/src/kernel_services/ast_queries/cil_state_builder.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_queries/file.ml b/src/kernel_services/ast_queries/file.ml
index 496c907cbec9c067b0b96a5b7d11139d09448252..cc22eb64b92a5628a90b5cb3d00c82b73c678fbd 100644
--- a/src/kernel_services/ast_queries/file.ml
+++ b/src/kernel_services/ast_queries/file.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -311,9 +311,12 @@ let existing_machdep_macro () =
   with Not_found -> false
 
 let machdep_macro = function
-  | "x86_16" | "gcc_x86_16" -> "__FC_MACHDEP_X86_16"
-  | "x86_32" | "gcc_x86_32" -> "__FC_MACHDEP_X86_32"
-  | "x86_64" | "gcc_x86_64" -> "__FC_MACHDEP_X86_64"
+  | "x86_16"                -> "__FC_MACHDEP_X86_16"
+  | "gcc_x86_16"            -> "__FC_MACHDEP_GCC_X86_16"
+  | "x86_32"                -> "__FC_MACHDEP_X86_32"
+  | "gcc_x86_32"            -> "__FC_MACHDEP_GCC_X86_32"
+  | "x86_64"                -> "__FC_MACHDEP_X86_64"
+  | "gcc_x86_64"            -> "__FC_MACHDEP_GCC_X86_64"
   | "ppc_32"                -> "__FC_MACHDEP_PPC_32"
   | "msvc_x86_64"           -> "__FC_MACHDEP_MSVC_X86_64"
   | s ->
@@ -474,7 +477,7 @@ let parse_cabs = function
       (* Hypothesis: the preprocessor is POSIX compliant,
          hence understands -I and -D. *)
       let include_args =
-        if Kernel.FramaCStdLib.get () then [Config.datadir ^ "/libc"]
+        if Kernel.FramaCStdLib.get () then [Config.framac_libc]
         else []
       in
       let define_args =
@@ -915,7 +918,7 @@ let cleanup file =
     method! vstmt_aux st =
       self#remove_lexical_annotations st;
       let loc = Stmt.loc st in
-      if Annotations.has_code_annot st || st.labels <> [] then
+      if Annotations.has_code_annot st || st.labels <> [] || st.sattr <> [] then
         keep_stmt <- Stmt.Set.add st keep_stmt;
       match st.skind with
       | Block b ->
diff --git a/src/kernel_services/ast_queries/file.mli b/src/kernel_services/ast_queries/file.mli
index d9a7013f5a2e5c0395c20748c23b64955fc1193b..d529d99e0f47a07a1dec138c7d4dd2197b6f48af 100644
--- a/src/kernel_services/ast_queries/file.mli
+++ b/src/kernel_services/ast_queries/file.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_queries/filecheck.ml b/src/kernel_services/ast_queries/filecheck.ml
index c763a41600191e0275d74ac466215ea351a7e73c..d9769c7e6d957dcf0031a5bedccf8c9ecab785c4 100644
--- a/src/kernel_services/ast_queries/filecheck.ml
+++ b/src/kernel_services/ast_queries/filecheck.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -1253,6 +1253,7 @@ class check ?(is_normalized=true) what : Visitor.frama_c_visitor =
            | None -> ()
            | Some lv ->
              let tlv = Cil.typeOfLval lv in
+             let tlv = Cil.type_remove_qualifier_attributes tlv in
              if not (Cabs2cil.allow_return_collapse ~tlv ~tf:treturn) then
                check_abort "in call %a, cannot implicitly cast from \
                             function return type %a to type of %a (%a)"
diff --git a/src/kernel_services/ast_queries/filecheck.mli b/src/kernel_services/ast_queries/filecheck.mli
index 358e00d3cc7cec0bbafd8a68df6f9193e2fe58d5..75dc0cfa7c741b2e5574e2a45e1242b5a906b128 100644
--- a/src/kernel_services/ast_queries/filecheck.mli
+++ b/src/kernel_services/ast_queries/filecheck.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_queries/json_compilation_database.ko.ml b/src/kernel_services/ast_queries/json_compilation_database.ko.ml
index 414499c6ddacb0ff22e34a9c94ccf0f4aff3d762..079422abcf706e5f3d4052bf209cbe9055686379 100644
--- a/src/kernel_services/ast_queries/json_compilation_database.ko.ml
+++ b/src/kernel_services/ast_queries/json_compilation_database.ko.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_queries/json_compilation_database.mli b/src/kernel_services/ast_queries/json_compilation_database.mli
index f343d4a1f4cc8aed52019ce213ee41ca5b8e0b40..8bd90611e25f9aded8fb15a36f03c1eef384daeb 100644
--- a/src/kernel_services/ast_queries/json_compilation_database.mli
+++ b/src/kernel_services/ast_queries/json_compilation_database.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_queries/json_compilation_database.ok.ml b/src/kernel_services/ast_queries/json_compilation_database.ok.ml
index 3c93f7eac0c997f2ab1b2f508a04282dbbfe7a96..2f2990575fa4e91b7e24bf26fee4fb02bd6b415e 100644
--- a/src/kernel_services/ast_queries/json_compilation_database.ok.ml
+++ b/src/kernel_services/ast_queries/json_compilation_database.ok.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -128,7 +128,7 @@ let quote_define_argument arg = Format.sprintf "%S" arg
 let parse_entry ?(cwd=Sys.getcwd()) (r : Yojson.Basic.json) =
   let open Yojson.Basic.Util in
   let filename = r |> member "file" |> to_string in
-  let dirname  = r |> member "directory" |> to_string in
+  let dirname  = r |> member "directory" |> to_string_option |> Extlib.opt_conv "" in
   let path = Datatype.Filepath.of_string ~base_name:dirname filename in
 
   (* get the list of arguments, and a flag indicating if the arguments
diff --git a/src/kernel_services/ast_queries/logic_const.ml b/src/kernel_services/ast_queries/logic_const.ml
index fba0d666986e185d8d9607a2187b1cf4ddd8f46c..61114f0c37af579d784cc9e23106db3f0ddcaed8 100644
--- a/src/kernel_services/ast_queries/logic_const.ml
+++ b/src/kernel_services/ast_queries/logic_const.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_services/ast_queries/logic_const.mli b/src/kernel_services/ast_queries/logic_const.mli
index a9353c9609de93781af178547bee2e7d9f68ee87..75813d76de60c4eb44c2a57a4165f2a6f74bf612 100644
--- a/src/kernel_services/ast_queries/logic_const.mli
+++ b/src/kernel_services/ast_queries/logic_const.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
@@ -198,18 +198,18 @@ val pseparated: ?loc:location -> term list -> predicate
 (* ************************************************************************** *)
 
 (** instantiate type variables in a logic type.
-    @since Frama-C+dev moved from Logic_utils *)
+    @since 18.0-Argon moved from Logic_utils *)
 val instantiate :
   (string * logic_type) list ->
   logic_type -> logic_type
 
 (** @return [true] if the logic type definition can be expanded.
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 val is_unrollable_ltdef : logic_type_info -> bool
 
 (** expands logic type definitions only.
     To expands both logic part and C part, uses [Logic_utils.unroll_type].
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 val unroll_ltdef : logic_type -> logic_type
 
 (** [isLogicType test typ] is [false] for pure logic types and the result
@@ -218,7 +218,7 @@ val isLogicCType : (typ -> bool) -> logic_type -> bool
 
 (** returns [true] if the type is a list<t>.
     @since Aluminium-20160501
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val is_list_type: logic_type -> bool
 
 (** [make_type_list_of t] returns the type list<[t]>.
@@ -228,52 +228,52 @@ val make_type_list_of: logic_type -> logic_type
 (** returns the type of elements of a list type.
     @raise Failure if the input type is not a list type.
     @since Aluminium-20160501
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val type_of_list_elem: logic_type -> logic_type
 
 (** returns [true] if the type is a set<t>.
     @since Neon-20140301
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val is_set_type: logic_type -> bool
 
 (** [set_conversion ty1 ty2] returns a set type as soon as [ty1] and/or [ty2]
     is a set. Elements have type [ty1], or the type of the elements of [ty1] if
     it is itself a set-type ({i.e.} we do not build set of sets that way).
-    @modify Frama-C+dev expands the logic type definitions if necessary. *)
+    @modify 18.0-Argon expands the logic type definitions if necessary. *)
 val set_conversion: logic_type -> logic_type -> logic_type
 
 (** converts a type into the corresponding set type if needed. Does nothing
     if the argument is already a set type.
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val make_set_type: logic_type -> logic_type
 
 (** returns the type of elements of a set type.
     @raise Failure if the input type is not a set type.
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val type_of_element: logic_type -> logic_type
 
 (** [plain_or_set f t] applies [f] to [t] or to the type of elements of [t]
     if it is a set type.
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val plain_or_set: (logic_type -> 'a) -> logic_type -> 'a
 
 (** [transform_element f t] is the same as
     [set_conversion (plain_or_set f t) t]
     @since Nitrogen-20111001
-    @modify Frama-C+dev expands the logic type definition if necessary.
+    @modify 18.0-Argon expands the logic type definition if necessary.
 *)
 val transform_element: (logic_type -> logic_type) -> logic_type -> logic_type
 
 (** [true] if the argument is not a set type.
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val is_plain_type: logic_type -> bool
 
 (** @return true if the argument is the boolean type.
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val is_boolean_type: logic_type -> bool
 
 (** @since Sodium-20150201
-    @modify Frama-C+dev expands the logic type definition if necessary. *)
+    @modify 18.0-Argon expands the logic type definition if necessary. *)
 val boolean_type: logic_type
 
 (* ************************************************************************** *)
diff --git a/src/kernel_services/ast_queries/logic_env.ml b/src/kernel_services/ast_queries/logic_env.ml
index ffefb54619259bf8b409c61181c016c768731c09..5c09918e303db103dbf6ea685ef0c85b6638eb26 100644
--- a/src/kernel_services/ast_queries/logic_env.ml
+++ b/src/kernel_services/ast_queries/logic_env.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_services/ast_queries/logic_env.mli b/src/kernel_services/ast_queries/logic_env.mli
index e9081e5021f77973732a2641382ff73203e99aea..afa488e5c8e8770e01b7c23807a6807a3df0fb41 100644
--- a/src/kernel_services/ast_queries/logic_env.mli
+++ b/src/kernel_services/ast_queries/logic_env.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_services/ast_queries/logic_typing.ml b/src/kernel_services/ast_queries/logic_typing.ml
index a4fd18e3d362b2e13a0ff30cd311d41bcc8f9a07..c08ee2865a60efb4ba15286969b41bf8c63cb094 100644
--- a/src/kernel_services/ast_queries/logic_typing.ml
+++ b/src/kernel_services/ast_queries/logic_typing.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_services/ast_queries/logic_typing.mli b/src/kernel_services/ast_queries/logic_typing.mli
index d7eb312fc1d66a140a49c6547653a6db67f3efdb..d6c27a03d9228306a4d0841a24aa1e78666341fd 100644
--- a/src/kernel_services/ast_queries/logic_typing.mli
+++ b/src/kernel_services/ast_queries/logic_typing.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
@@ -177,7 +177,7 @@ val register_behavior_extension:
 
     @plugin development guide
 
-    @since Frama-C+dev
+    @since 18.0-Argon
 *)
 val register_global_extension:
   string ->
@@ -189,7 +189,7 @@ val register_global_extension:
 
     @plugin development guide
 
-    @since Frama-C+dev
+    @since 18.0-Argon
 *)
 val register_code_annot_extension:
   string ->
@@ -201,7 +201,7 @@ val register_code_annot_extension:
 
     @plugin development guide
 
-    @since Frama-C+dev
+    @since 18.0-Argon
 *)
 val register_code_annot_next_stmt_extension:
   string ->
@@ -212,7 +212,7 @@ val register_code_annot_next_stmt_extension:
 
     @plugin development guide
 
-    @since Frama-C+dev
+    @since 18.0-Argon
 *)
 val register_code_annot_next_loop_extension:
   string ->
@@ -224,7 +224,7 @@ val register_code_annot_next_loop_extension:
 
     @plugin development guide
 
-    @since Frama-C+dev
+    @since 18.0-Argon
 *)
 val register_code_annot_next_both_extension:
   string ->
diff --git a/src/kernel_services/ast_queries/logic_utils.ml b/src/kernel_services/ast_queries/logic_utils.ml
index 67728f142ba9df8fb382ca541748af96839ffba4..0a7ec7f9bd67fe6ebfa6465c2b1d4de18a4c9a73 100644
--- a/src/kernel_services/ast_queries/logic_utils.ml
+++ b/src/kernel_services/ast_queries/logic_utils.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_services/ast_queries/logic_utils.mli b/src/kernel_services/ast_queries/logic_utils.mli
index cb754dd910de3ba128b1b89634f1654fd4c4b060..c5c7be4b017ea70d3b412c0fb03c8b6bea7939be 100644
--- a/src/kernel_services/ast_queries/logic_utils.mli
+++ b/src/kernel_services/ast_queries/logic_utils.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/kernel_services/ast_transformations/clone.ml b/src/kernel_services/ast_transformations/clone.ml
index 8b3ca2ee6ec444ff57f9c6bcdc02195c7a6ddad0..485b19f9893029c125c93c96554fb3e821330eaa 100644
--- a/src/kernel_services/ast_transformations/clone.ml
+++ b/src/kernel_services/ast_transformations/clone.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_transformations/clone.mli b/src/kernel_services/ast_transformations/clone.mli
index 6a5e1198cb568136079ccfe2533d7c5ef90bd747..ef7bb3e4d3f1100c0bafbcf35d151c8f1021d60e 100644
--- a/src/kernel_services/ast_transformations/clone.mli
+++ b/src/kernel_services/ast_transformations/clone.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_transformations/filter.ml b/src/kernel_services/ast_transformations/filter.ml
index b198c1a0de7f5824e226a2fa4edf508eb02d1e44..50fcb567f702d5a7393eca2815b87e50bd6a5797 100644
--- a/src/kernel_services/ast_transformations/filter.ml
+++ b/src/kernel_services/ast_transformations/filter.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_transformations/filter.mli b/src/kernel_services/ast_transformations/filter.mli
index af8825cba399b072230cf694c6d707f03b8f95d5..572a9406603fbbe7e1fe0a97e3389d52d2755c27 100644
--- a/src/kernel_services/ast_transformations/filter.mli
+++ b/src/kernel_services/ast_transformations/filter.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_transformations/inline.ml b/src/kernel_services/ast_transformations/inline.ml
index 8cac0d7edec0f5ad7ba770eb3a7f52edfae515bc..ea63e968b7c1392aa4b18bf91fb9aecf8db1d505 100644
--- a/src/kernel_services/ast_transformations/inline.ml
+++ b/src/kernel_services/ast_transformations/inline.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/ast_transformations/inline.mli b/src/kernel_services/ast_transformations/inline.mli
index 5571b25c71a8e08c1799e7e7905d395b8cea9d64..b7a5ede211435c5c7219a02064667dbb9be60f62 100644
--- a/src/kernel_services/ast_transformations/inline.mli
+++ b/src/kernel_services/ast_transformations/inline.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/cmdline_parameters/cmdline.ml b/src/kernel_services/cmdline_parameters/cmdline.ml
index d7ed4cb2f35fbbdbeb5c507d6891ce1c71b90897..d74c0ed2086143d36929e877277bd6d6557b9ebb 100644
--- a/src/kernel_services/cmdline_parameters/cmdline.ml
+++ b/src/kernel_services/cmdline_parameters/cmdline.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/cmdline_parameters/cmdline.mli b/src/kernel_services/cmdline_parameters/cmdline.mli
index 3f50efd89d592f4e3af44fdf8f82322f8462d5b9..995dc90f77fd682ac9850f8505257801068b8472 100644
--- a/src/kernel_services/cmdline_parameters/cmdline.mli
+++ b/src/kernel_services/cmdline_parameters/cmdline.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/cmdline_parameters/parameter_builder.ml b/src/kernel_services/cmdline_parameters/parameter_builder.ml
index 9599166243234d7bf8455d00298791016ec6b426..d74de525bfa58a548f5990215ab66750e7423ef6 100644
--- a/src/kernel_services/cmdline_parameters/parameter_builder.ml
+++ b/src/kernel_services/cmdline_parameters/parameter_builder.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/cmdline_parameters/parameter_builder.mli b/src/kernel_services/cmdline_parameters/parameter_builder.mli
index b8e15ab961cf3823da562115b93554989b3d50ad..4b532d65558c4e26656ffe1daf647d8593ee6511 100644
--- a/src/kernel_services/cmdline_parameters/parameter_builder.mli
+++ b/src/kernel_services/cmdline_parameters/parameter_builder.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/cmdline_parameters/parameter_category.ml b/src/kernel_services/cmdline_parameters/parameter_category.ml
index c8980893e1cfe83e2ae4bb502c6565b813ad4137..1e0e4f6a97b346f26cf59d93574b33d3774bdbe5 100644
--- a/src/kernel_services/cmdline_parameters/parameter_category.ml
+++ b/src/kernel_services/cmdline_parameters/parameter_category.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/cmdline_parameters/parameter_category.mli b/src/kernel_services/cmdline_parameters/parameter_category.mli
index 145677672c201430a269ce4cc0e2da0fda83f481..f0c2617271cde15723125b0f2df19bf14350d13b 100644
--- a/src/kernel_services/cmdline_parameters/parameter_category.mli
+++ b/src/kernel_services/cmdline_parameters/parameter_category.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/cmdline_parameters/parameter_customize.ml b/src/kernel_services/cmdline_parameters/parameter_customize.ml
index 70d45e94e7bcebb6a7111ab27ed9d8faace7f2e5..caf53dedc93917ca5c828489260009af8299082b 100644
--- a/src/kernel_services/cmdline_parameters/parameter_customize.ml
+++ b/src/kernel_services/cmdline_parameters/parameter_customize.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/cmdline_parameters/parameter_customize.mli b/src/kernel_services/cmdline_parameters/parameter_customize.mli
index 9547fd027a97f315aa100e67283448207ecb7a8f..dea727cbbbd15f6bebc2f8dc9f74b09c929c9132 100644
--- a/src/kernel_services/cmdline_parameters/parameter_customize.mli
+++ b/src/kernel_services/cmdline_parameters/parameter_customize.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/cmdline_parameters/parameter_sig.mli b/src/kernel_services/cmdline_parameters/parameter_sig.mli
index 3814c586131795fce6a3713b7bfc0bf6ade8fc57..bb827691793567e0bbe804f712a2fb7293d5a96b 100644
--- a/src/kernel_services/cmdline_parameters/parameter_sig.mli
+++ b/src/kernel_services/cmdline_parameters/parameter_sig.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/cmdline_parameters/parameter_state.ml b/src/kernel_services/cmdline_parameters/parameter_state.ml
index 82493f524f524308b0cbdc5db777bb9806534a3d..ad30035bc2541227bd1385e016712a4b27b6bcc4 100644
--- a/src/kernel_services/cmdline_parameters/parameter_state.ml
+++ b/src/kernel_services/cmdline_parameters/parameter_state.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/cmdline_parameters/parameter_state.mli b/src/kernel_services/cmdline_parameters/parameter_state.mli
index c78567515a5fd05b4ac9ba9cda23486c0597dd9d..487efa787ebb313fb29b3d483a1194f2f01b61f3 100644
--- a/src/kernel_services/cmdline_parameters/parameter_state.mli
+++ b/src/kernel_services/cmdline_parameters/parameter_state.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/cmdline_parameters/typed_parameter.ml b/src/kernel_services/cmdline_parameters/typed_parameter.ml
index 84a36f04897113dbd4680edfa64254d9b69ca5a5..1790a0a7b0943a3843faec230b9870ecb8dcd305 100644
--- a/src/kernel_services/cmdline_parameters/typed_parameter.ml
+++ b/src/kernel_services/cmdline_parameters/typed_parameter.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/cmdline_parameters/typed_parameter.mli b/src/kernel_services/cmdline_parameters/typed_parameter.mli
index 015d3044182e6d8265d13c2bd51e01dbe899a7e8..93ce23f4ba8d84f2eb7934a9dcf47ff2d845af18 100644
--- a/src/kernel_services/cmdline_parameters/typed_parameter.mli
+++ b/src/kernel_services/cmdline_parameters/typed_parameter.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/parsetree/logic_ptree.mli b/src/kernel_services/parsetree/logic_ptree.mli
index 8b5b418cda57ec1407e6583aaffd88ae0b5270c0..3b97808c2aa5ec0230cd69ae7945420ea918677a 100644
--- a/src/kernel_services/parsetree/logic_ptree.mli
+++ b/src/kernel_services/parsetree/logic_ptree.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
@@ -369,7 +369,7 @@ type code_annot =
   | AExtended of string list * bool * extension
     (** extension in a code or loop (when boolean flag is true) annotation.
         @since Silicon-20161101
-        @modify Frama-C+dev
+        @modify 18.0-Argon
     *)
 
 (** custom trees *)
diff --git a/src/kernel_services/plugin_entry_points/db.ml b/src/kernel_services/plugin_entry_points/db.ml
index 9d6eb7c394f969e49d0ff150e5d2f7940b00a410..092c6039c77899f16c43862f59dccac0949fc8b3 100644
--- a/src/kernel_services/plugin_entry_points/db.ml
+++ b/src/kernel_services/plugin_entry_points/db.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/plugin_entry_points/db.mli b/src/kernel_services/plugin_entry_points/db.mli
index f44e4e197c4e86794b74229a643b5347ee1ec849..873a8c6eb4b31069846a9cead7452983943d2d76 100644
--- a/src/kernel_services/plugin_entry_points/db.mli
+++ b/src/kernel_services/plugin_entry_points/db.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/plugin_entry_points/dynamic.ml b/src/kernel_services/plugin_entry_points/dynamic.ml
index 47716f23a018609dc1c204ee8e5a4ec3d502401c..5666e51558b4c86c74e925a73b5c5f36d71bb469 100644
--- a/src/kernel_services/plugin_entry_points/dynamic.ml
+++ b/src/kernel_services/plugin_entry_points/dynamic.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -125,7 +125,7 @@ let is_object base =
 
 let packages = Hashtbl.create 64
 
-let () = List.iter (fun p -> Hashtbl.add packages p ()) Config.library_names
+let () = List.iter (fun p -> Hashtbl.add packages p ()) ("frama-c.kernel"::Config.library_names)
 
 let missing pkg = not (Hashtbl.mem packages pkg)
 
@@ -281,8 +281,9 @@ let set_module_load_path path =
   Klog.debug ~dkey "plugin_dir: %s" (String.concat ":" Config.plugin_dir);
   load_path :=
     List.fold_right (add_dir ~user:true) path
-      (List.fold_right (add_dir ~user:false) Config.plugin_dir []);
-  let findlib_path = String.concat ":" !load_path in
+      (List.fold_right (add_dir ~user:false) (Config.libdir::Config.plugin_dir) []);
+  let env_ocamlpath = try Str.split (Str.regexp ":") (Sys.getenv "OCAMLPATH") with Not_found -> [] in
+  let findlib_path = String.concat ":" (!load_path@env_ocamlpath) in
   Klog.debug ~dkey "setting findlib path to %s" findlib_path;
   Findlib.init ~env_ocamlpath:findlib_path ()
 
diff --git a/src/kernel_services/plugin_entry_points/dynamic.mli b/src/kernel_services/plugin_entry_points/dynamic.mli
index 721aab61421ca33e3a76ec09183b6a5b54afe6b2..c837a15601e045eb08dfe2a936ba8c4960687689 100644
--- a/src/kernel_services/plugin_entry_points/dynamic.mli
+++ b/src/kernel_services/plugin_entry_points/dynamic.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/plugin_entry_points/emitter.ml b/src/kernel_services/plugin_entry_points/emitter.ml
index f4e74b4b178bbb5f66dfd028ac822e7538c04e0b..b79daa99120742b7c7bb406883ddce0df76b05a3 100644
--- a/src/kernel_services/plugin_entry_points/emitter.ml
+++ b/src/kernel_services/plugin_entry_points/emitter.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/plugin_entry_points/emitter.mli b/src/kernel_services/plugin_entry_points/emitter.mli
index f838151c6e15788beb325d2fdebd05f3806440fa..0138bd0e372f962501678102d82a4facbf312857 100644
--- a/src/kernel_services/plugin_entry_points/emitter.mli
+++ b/src/kernel_services/plugin_entry_points/emitter.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/plugin_entry_points/journal.ml b/src/kernel_services/plugin_entry_points/journal.ml
index f7a7a9164d3d08aae5da84c9b1b32fb9b37580a2..cec362c256961bb8d530fbf329aad550db0f70cf 100644
--- a/src/kernel_services/plugin_entry_points/journal.ml
+++ b/src/kernel_services/plugin_entry_points/journal.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/plugin_entry_points/journal.mli b/src/kernel_services/plugin_entry_points/journal.mli
index fa0baee3c1e8f589258190ab1d56cae24ca53a60..698ef5ffc5905ec7382dfe159d5ebfecedf9d9b8 100644
--- a/src/kernel_services/plugin_entry_points/journal.mli
+++ b/src/kernel_services/plugin_entry_points/journal.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/plugin_entry_points/kernel.ml b/src/kernel_services/plugin_entry_points/kernel.ml
index 4edd4171dfd05aa954861ef917289330a993592b..4557fc830718516406d81c41596b812271f7878f 100644
--- a/src/kernel_services/plugin_entry_points/kernel.ml
+++ b/src/kernel_services/plugin_entry_points/kernel.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/plugin_entry_points/kernel.mli b/src/kernel_services/plugin_entry_points/kernel.mli
index 33d2d5ff230115930391f8ebcd55a5883999516a..a5d8940582debc50495088b2b85b87e2610f9678 100644
--- a/src/kernel_services/plugin_entry_points/kernel.mli
+++ b/src/kernel_services/plugin_entry_points/kernel.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/plugin_entry_points/log.ml b/src/kernel_services/plugin_entry_points/log.ml
index c64e11b3987e0a6ba072959df24372967ae3b832..be6d501cfc71e95f795400fbbd97ead1fa8e7257 100644
--- a/src/kernel_services/plugin_entry_points/log.ml
+++ b/src/kernel_services/plugin_entry_points/log.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/plugin_entry_points/log.mli b/src/kernel_services/plugin_entry_points/log.mli
index 1efef9b18217cbc189d356ce1be767f5b3887ba8..590127009215bfc31da81364f17b64a425baf38b 100644
--- a/src/kernel_services/plugin_entry_points/log.mli
+++ b/src/kernel_services/plugin_entry_points/log.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -221,22 +221,22 @@ module type Messages = sig
   val with_result  : (event option -> 'b) -> ('a,'b) pretty_aborter
   (** [with_result f fmt] calls [f] in the same condition as [logwith].
       @since Beryllium-20090601-beta1
-      @modified Frama-C+dev the argument of the continuation is optionnal *)
+      @modified 18.0-Argon the argument of the continuation is optionnal *)
 
   val with_warning : (event option -> 'b) -> ('a,'b) pretty_aborter
   (** [with_warning f fmt] calls [f] in the same condition as [logwith].
       @since Beryllium-20090601-beta1
-      @modified Frama-C+dev the argument of the continuation is optionnal *)
+      @modified 18.0-Argon the argument of the continuation is optionnal *)
 
   val with_error   : (event option -> 'b) -> ('a,'b) pretty_aborter
   (** [with_error f fmt] calls [f] in the same condition as [logwith].
       @since Beryllium-20090601-beta1
-      @modified Frama-C+dev the argument of the continuation is optionnal *)
+      @modified 18.0-Argon the argument of the continuation is optionnal *)
 
   val with_failure : (event option -> 'b) -> ('a,'b) pretty_aborter
   (** [with_failure f fmt] calls [f] in the same condition as [logwith].
       @since Beryllium-20090601-beta1
-      @modified Frama-C+dev the argument of the continuation is optionnal *)
+      @modified 18.0-Argon the argument of the continuation is optionnal *)
 
   val log : ?kind:kind -> ?verbose:int -> ?debug:int -> 'a pretty_printer
   (** Generic log routine. The default kind is [Result]. Use cases (with
@@ -261,7 +261,7 @@ module type Messages = sig
       In case the [wkey] is considered as a [Failure], the continution is not called.
       This kind of message denotes a fatal error aborting Frama-C.
       Notice that the [~emitwith] action is called iff a message is logged.
-      @since Frama-C+dev *)
+      @since 18.0-Argon *)
 
   val register : kind -> (event -> unit) -> unit
   (** Local registry for listeners. *)
@@ -284,7 +284,7 @@ module type Messages = sig
 
   val dkey_name: category -> string
   (** returns the category name as a string.
-      @since Frama-C+dev
+      @since 18.0-Argon
   *)
 
   val is_registered_category: string -> bool
@@ -346,7 +346,7 @@ module type Messages = sig
 
   val wkey_name: warn_category -> string
   (** returns the warning category name as a string.
-      @since Frama-C+dev
+      @since 18.0-Argon
   *)
 
   val get_warn_category: string -> warn_category option
@@ -362,19 +362,19 @@ module type Messages = sig
 end
 
 (** Split an event category into its constituants.
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 val evt_category : event -> string list
 
 (** Split a category specification into its constituants.
     ["*"] is considered as empty, and [""] categories are skipped.
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 val split_category : string -> string list
 
 (** Sub-category checks.
     [is_subcategory a b] checks whether [a] is a sub-category of [b].
     Indeed, it checks whether [b] is a prefix of [a], that is,
     that [a] equals [b] or refines [b] with (a list of) sub-category(ies).
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 val is_subcategory : string list -> string list -> bool
 
 (** Each plugin has its own channel to output messages.
@@ -446,7 +446,7 @@ val kernel_label_name: string
 
 val source : file:Filepath.Normalized.t -> line:int -> Filepath.position
 (** @since Chlorine-20180501
-    @modify Frama-C+dev change type of [file]
+    @modify 18.0-Argon change type of [file]
  *)
 
 val get_current_source : unit -> Filepath.position
diff --git a/src/kernel_services/plugin_entry_points/plugin.ml b/src/kernel_services/plugin_entry_points/plugin.ml
index d810847a57e275bdcbf2e1d762c68d29a1ff9260..6048de1b0a82fa0d40d1a4205d38cd22201f09d9 100644
--- a/src/kernel_services/plugin_entry_points/plugin.ml
+++ b/src/kernel_services/plugin_entry_points/plugin.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -277,10 +277,10 @@ struct
 
   include Parameter_builder.Make
       (struct
-	let shortname = P.shortname
-	module L = L
-	let messages_group = messages
-	let parameters = plugin.p_parameters
+        let shortname = P.shortname
+        module L = L
+        let messages_group = messages
+        let parameters = plugin.p_parameters
        end)
 
   let prefix =
@@ -297,7 +297,7 @@ struct
   module Make_specific_dir
     (O: Parameter_sig.Input_with_arg)
     (D: sig 
-      val dir: unit -> string 
+      val dirs: unit -> string list
       val visible_ref: bool 
       val force_dir: bool 
     end)
@@ -325,44 +325,54 @@ struct
 
     let mk_dir d =
       try
-	Unix.mkdir d 0o755;
-	L.warning "creating %s directory `%s'" O.option_name d;
-	d
+        Unix.mkdir d 0o755;
+        L.warning "creating %s directory `%s'" O.option_name d;
+        d
       with Unix.Unix_error _ -> 
-	L.warning "cannot create %s directory `%s'" O.option_name d;
-	raise No_dir
-
-    let get_and_check_dir ?(error=true) d =
-      (* DO NOT Filepath.normalize the argument, since it can transform an
-         absolute path into a relative one, leading to issues if a chdir occurs
-         at some point. *)
-      if (try Sys.is_directory d with Sys_error _ -> false) then d
-      else
-	if error then 
-	  L.abort "no %s directory `%s' for plug-in `%s'" 
-	    O.option_name
-	    d 
-	    P.name 
-        else begin
-	  if force_dir then begin
-	    (* create the parent, if it does not exist *)
-	    let p = Filename.dirname d in
-	    if not (try Sys.is_directory p with Sys_error _ -> false) then
-	      ignore (mk_dir p);
-	    mk_dir d
-	  end else
-	    raise No_dir
-	end
+        L.warning "cannot create %s directory `%s'" O.option_name d;
+        raise No_dir
+
+    let rec get_and_check_dirs error = function
+      | [] ->
+        raise No_dir
+      | d::l ->
+        if (try Sys.is_directory d with Sys_error _ -> false) then d
+        else
+          get_and_check_dirs error l
+
+    let get_and_check_dirs ?(error=true) = function
+      | [] ->
+        if error then
+          L.abort "no %s directories to look into" O.option_name
+        else
+          raise No_dir
+      | (first::_) as l ->
+        try
+          get_and_check_dirs error l
+        with
+        | No_dir when error ->
+          L.abort "no %s directory for plug-in `%s' among %a" 
+            O.option_name
+            P.name 
+            Pretty_utils.(pp_list ~sep:",@ " Format.pp_print_string) l
+        | No_dir when force_dir ->
+          (* create the parent, if it does not exist *)
+          let p = Filename.dirname first in
+          if not (try Sys.is_directory p with Sys_error _ -> false) then
+            ignore (mk_dir p);
+          mk_dir first
 
     let dir ?error () =
       (* get the specified dir if any *)
       let d = if is_visible then Dir_name.get () else empty_string in
       if d = empty_string then
-	(* no specified dir: look for the default one. *)
-        if is_kernel then get_and_check_dir ?error (D.dir ())
-        else get_and_check_dir ?error (D.dir () ^ "/" ^ plugin_subpath)
+        (* no specified dir: look for the default one. *)
+        if is_kernel then get_and_check_dirs ?error (D.dirs ())
+        else
+          let dirs = List.map (fun x -> x ^ "/" ^ plugin_subpath) (D.dirs ()) in
+          get_and_check_dirs ?error dirs
       else
-        get_and_check_dir ?error d
+        get_and_check_dirs ?error [d]
 
     let file ?error f = dir ?error () ^ "/" ^ f
 
@@ -371,32 +381,32 @@ struct
   module Share = 
     Make_specific_dir
       (struct
-	let option_name = "share"
-	let arg_name = "dir"
-	let help = "set the plug-in share directory to <dir> \
+        let option_name = "share"
+        let arg_name = "dir"
+        let help = "set the plug-in share directory to <dir> \
 (may be used if the plug-in is not installed at the same place as Frama-C)"
        end)
       (struct 
-	let dir () = Config.datadir 
-	let visible_ref = !share_visible_ref 
-	let force_dir = false
+        let dirs () = Config.datadirs
+        let visible_ref = !share_visible_ref 
+        let force_dir = false
        end)
 
   module Session = 
     Make_specific_dir
       (struct
-	let option_name = "session"
-	let arg_name = "dir"
-	let help = "set the plug-in session directory to <dir>"
+        let option_name = "session"
+        let arg_name = "dir"
+        let help = "set the plug-in session directory to <dir>"
        end)
       (struct 
-	let dir () =
-	  if !session_is_set_ref () then !session_ref ()
-	  else
-	    try Sys.getenv "FRAMAC_SESSION"
-	    with Not_found -> "./.frama-c"
-	let visible_ref = !session_visible_ref
-	let force_dir = true
+        let dirs () = [
+          if !session_is_set_ref () then !session_ref ()
+          else
+            try Sys.getenv "FRAMAC_SESSION"
+            with Not_found -> "./.frama-c"]
+        let visible_ref = !session_visible_ref
+        let force_dir = true
        end)
   let () = 
     if is_kernel () then Journal.get_session_file := Session.file ~error:false
@@ -404,29 +414,30 @@ struct
   module Config = 
     Make_specific_dir
       (struct
-	let option_name = "config"
-	let arg_name = "dir"
-	let help = "set the plug-in config directory to <dir> \
+        let option_name = "config"
+        let arg_name = "dir"
+        let help = "set the plug-in config directory to <dir> \
 (may be used on systems with no default user directory)"
        end)
       (struct 
-	let dir () =
-	  let d, vis =
-	    if !config_is_set_ref () then !config_ref (), false
-	    else
-	      try Sys.getenv "FRAMAC_CONFIG", false
-	      with Not_found ->
-		try Sys.getenv "USERPROFILE", false (* Win32 *) 
-		with Not_found ->
-		  (* Unix like *) 
-		  try Sys.getenv "XDG_CONFIG_HOME", true
-		  with Not_found -> 
-		    try Sys.getenv "HOME" ^ "/.config", true
-		    with Not_found -> ".", false
-	  in
-	  d ^ if vis then "/frama-c" else "/.frama-c"
-	let visible_ref = !config_visible_ref
-	let force_dir = true
+        let dirs () = [
+          let d, vis =
+            if !config_is_set_ref () then !config_ref (), false
+            else
+              try Sys.getenv "FRAMAC_CONFIG", false
+              with Not_found ->
+                try Sys.getenv "USERPROFILE", false (* Win32 *) 
+                with Not_found ->
+                  (* Unix like *) 
+                  try Sys.getenv "XDG_CONFIG_HOME", true
+                  with Not_found -> 
+                    try Sys.getenv "HOME" ^ "/.config", true
+                    with Not_found -> ".", false
+          in
+          d ^ if vis then "/frama-c" else "/.frama-c"
+        ]
+        let visible_ref = !config_visible_ref
+        let force_dir = true
        end)
 
   let help = add_group "Getting Information"
@@ -588,10 +599,10 @@ struct
       (* line order below matters *)
       set_range ~min:0 ~max:max_int;
       if is_kernel () then begin
-	Cmdline.kernel_verbose_atleast_ref := (fun n -> get () >= n);
-	match !Cmdline.Kernel_verbose_level.value_if_set with
-	| None -> ()
-	| Some n -> set n
+        Cmdline.kernel_verbose_atleast_ref := (fun n -> get () >= n);
+        match !Cmdline.Kernel_verbose_level.value_if_set with
+        | None -> ()
+        | Some n -> set n
       end
   end
 
@@ -614,15 +625,15 @@ struct
       set_range ~min:0 ~max:max_int;
       add_set_hook
         (fun old n ->
-	  (* the level of verbose is at least the level of debug *)
-	  if n > Verbose.get () then Verbose.set n;
+          (* the level of verbose is at least the level of debug *)
+          if n > Verbose.get () then Verbose.set n;
           if n = 0 then Pervasives.decr positive_debug_ref
           else if old = 0 then Pervasives.incr positive_debug_ref);
       if is_kernel () then begin
-	Cmdline.kernel_debug_atleast_ref := (fun n -> get () >= n);
-	match !Cmdline.Kernel_debug_level.value_if_set with
-	| None -> ()
-	| Some n -> set n
+        Cmdline.kernel_debug_atleast_ref := (fun n -> get () >= n);
+        match !Cmdline.Kernel_debug_level.value_if_set with
+        | None -> ()
+        | Some n -> set n
       end
   end
 
diff --git a/src/kernel_services/plugin_entry_points/plugin.mli b/src/kernel_services/plugin_entry_points/plugin.mli
index 09efba3f25bd058e05a8aa6ce8e4585ae67d16a2..11afcfe00f71a0841c99f67b645cd64e327301f9 100644
--- a/src/kernel_services/plugin_entry_points/plugin.mli
+++ b/src/kernel_services/plugin_entry_points/plugin.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -69,7 +69,7 @@ module type S_no_log = sig
       -plugin-msg-key, and -plugin-warn-key.
       [add_plugin_output_aliases [alias]] adds the aliases -alias-help,
       -alias-verbose, etc.
-      @since Frama-C+dev *)
+      @since 18.0-Argon *)
 end
 
 (** Provided plug-general services for plug-ins.
diff --git a/src/kernel_services/visitors/visitor.ml b/src/kernel_services/visitors/visitor.ml
index 5058818c14f3ecf517713f6726efc1a3d66296be..9e6738a2b39efce81be89b924d4670a5263211d2 100644
--- a/src/kernel_services/visitors/visitor.ml
+++ b/src/kernel_services/visitors/visitor.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/kernel_services/visitors/visitor.mli b/src/kernel_services/visitors/visitor.mli
index 96bafb4c9c5d6ec656510b01d9c1e1a9d22a0624..3fffe6a974c20e101b8ec86108f970214b55c417 100644
--- a/src/kernel_services/visitors/visitor.mli
+++ b/src/kernel_services/visitors/visitor.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/datatype/datatype.ml b/src/libraries/datatype/datatype.ml
index cdc1856a568a14b5dbda399e838cb8d5690f841b..9752b11209c61111831cfa57d7b0ce6dfea3e5a9 100644
--- a/src/libraries/datatype/datatype.ml
+++ b/src/libraries/datatype/datatype.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/datatype/datatype.mli b/src/libraries/datatype/datatype.mli
index cb813ba6dc83014ed37c1ae721c94206cabd04cd..42e15dfc1435e7bc523eaeeb6353663fb00d7398 100644
--- a/src/libraries/datatype/datatype.mli
+++ b/src/libraries/datatype/datatype.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -345,7 +345,7 @@ val integer: Integer.t Type.t
 
 (** Type-safe strings representing normalized filepaths.
     See module {!Filepath.Normalized}.
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 module Filepath: sig
   include S_with_collections with type t = Filepath.Normalized.t
   val of_string: ?base_name:string -> string -> t
diff --git a/src/libraries/datatype/descr.ml b/src/libraries/datatype/descr.ml
index 7346fbfd94a61e1223ba528221d3e18a5a5bcd41..7e202ea947e83401e530a320a3e6132a3c254694 100644
--- a/src/libraries/datatype/descr.ml
+++ b/src/libraries/datatype/descr.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/datatype/descr.mli b/src/libraries/datatype/descr.mli
index e36720b0f9ed0742adcd913e3aa283f4ba0c0e09..3d78c05751e5601a92f093b8ffe99bc0b1ea96e4 100644
--- a/src/libraries/datatype/descr.mli
+++ b/src/libraries/datatype/descr.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/datatype/structural_descr.ml b/src/libraries/datatype/structural_descr.ml
index 1aa20d721afe987d9c71bc9a7e064c28498d7fae..e9dbf9b24794477bb06140162ee4711314d6198d 100644
--- a/src/libraries/datatype/structural_descr.ml
+++ b/src/libraries/datatype/structural_descr.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/datatype/structural_descr.mli b/src/libraries/datatype/structural_descr.mli
index 70132a3c24194472c3230b32fa14a7f5173f9b91..5b244746a4ac4829822fea8a426f9807f4e7036e 100644
--- a/src/libraries/datatype/structural_descr.mli
+++ b/src/libraries/datatype/structural_descr.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/datatype/type.ml b/src/libraries/datatype/type.ml
index 234bc5779a1d9b5491534f372f6f0fde054f4a60..07c3e89fe6ba4ffe08aeffa3a4201d1a4a60d025 100644
--- a/src/libraries/datatype/type.ml
+++ b/src/libraries/datatype/type.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/datatype/type.mli b/src/libraries/datatype/type.mli
index a9c035e24c50501d96a1a902912019d88fa8cc7d..c92568997443644687b15e5c3242f7139e8dfebb 100644
--- a/src/libraries/datatype/type.mli
+++ b/src/libraries/datatype/type.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/datatype/unmarshal_z.ml b/src/libraries/datatype/unmarshal_z.ml
index dd27d22134e0a2798d953afdfa80c0264dbedf34..2697d1a317efdd5801c6b7ae31050ff5f9dae5dc 100644
--- a/src/libraries/datatype/unmarshal_z.ml
+++ b/src/libraries/datatype/unmarshal_z.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/datatype/unmarshal_z.mli b/src/libraries/datatype/unmarshal_z.mli
index 75bdb5a5c65100d292a651f939e7787376f177cc..20a52aa659aee1ac05ca6daecf93317a9372d953 100644
--- a/src/libraries/datatype/unmarshal_z.mli
+++ b/src/libraries/datatype/unmarshal_z.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/project/project.ml b/src/libraries/project/project.ml
index 88a80c647fe9e6544387584c9769780e02f5e731..55280721f01c32fbc314ed7bc74e1571363aae86 100644
--- a/src/libraries/project/project.ml
+++ b/src/libraries/project/project.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/project/project.mli b/src/libraries/project/project.mli
index f91dfa1ea8ef5583de9aaaf133917d4d149f441e..d24b9b72f021aa85a77861a275c364da006b82cf 100644
--- a/src/libraries/project/project.mli
+++ b/src/libraries/project/project.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/project/project_skeleton.ml b/src/libraries/project/project_skeleton.ml
index 8e4681538efcdd9945d5211f26371242384e5e7f..cf06e41cca0fe367ad957221121f91451f7d8d8d 100644
--- a/src/libraries/project/project_skeleton.ml
+++ b/src/libraries/project/project_skeleton.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/project/project_skeleton.mli b/src/libraries/project/project_skeleton.mli
index 4a2783d543b2be9cd22a4b46b430379dff3ead16..68bdc765344d2514dd34c15b32a42d1d76f04656 100644
--- a/src/libraries/project/project_skeleton.mli
+++ b/src/libraries/project/project_skeleton.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/project/state.ml b/src/libraries/project/state.ml
index 9217522bf17e7d868261d21bc28cfaa4a5303512..259b86356980d59d15527bd5d543a87f06013bae 100644
--- a/src/libraries/project/state.ml
+++ b/src/libraries/project/state.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/project/state.mli b/src/libraries/project/state.mli
index 7719b7d407ffeb1eb7265c959a1a61853c2b3426..22589bef865139354f32df97b04da65a979d1ae5 100644
--- a/src/libraries/project/state.mli
+++ b/src/libraries/project/state.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/project/state_builder.ml b/src/libraries/project/state_builder.ml
index 08ea62a2eec8779987e9d5ce68da090f940053ce..de752d5a942768757f3a238c5e01d66dfa1431da 100644
--- a/src/libraries/project/state_builder.ml
+++ b/src/libraries/project/state_builder.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/project/state_builder.mli b/src/libraries/project/state_builder.mli
index 311256777108da1bfe69202f03a7b1d405b78cc5..e328a4012d9c9b7fd89f909e65945be2ea594a97 100644
--- a/src/libraries/project/state_builder.mli
+++ b/src/libraries/project/state_builder.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/project/state_dependency_graph.ml b/src/libraries/project/state_dependency_graph.ml
index 949ea746b596fae412ad459ebfa1c6eb96edcf06..c5b32d329ec29bc812e3892a85160945f39b11f5 100644
--- a/src/libraries/project/state_dependency_graph.ml
+++ b/src/libraries/project/state_dependency_graph.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/project/state_dependency_graph.mli b/src/libraries/project/state_dependency_graph.mli
index 8ef4dc9bf55f8b8c2663317547b1291efef85b68..8a8adeb933cb533d44f1a5076e1a8c261d411896 100644
--- a/src/libraries/project/state_dependency_graph.mli
+++ b/src/libraries/project/state_dependency_graph.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/project/state_selection.ml b/src/libraries/project/state_selection.ml
index f1ed9db1b20d00315cbddb6bd270271588714948..7a10b4fcd77da4808d5868185b72f45b346a81cb 100644
--- a/src/libraries/project/state_selection.ml
+++ b/src/libraries/project/state_selection.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/project/state_selection.mli b/src/libraries/project/state_selection.mli
index 1dd9d889102eda81259301f0526d24ee427ffa36..b5cf6ab6e599deb2a2c2a3e2eb1e80642d88428f 100644
--- a/src/libraries/project/state_selection.mli
+++ b/src/libraries/project/state_selection.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/stdlib/FCHashtbl.ml b/src/libraries/stdlib/FCHashtbl.ml
index 2954bc00a21aa80089a5dc70e5a4b7b8cb1846b3..4e84f1b3ced33540d4cb72ff7b1f797937ef2bfe 100644
--- a/src/libraries/stdlib/FCHashtbl.ml
+++ b/src/libraries/stdlib/FCHashtbl.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/stdlib/FCHashtbl.mli b/src/libraries/stdlib/FCHashtbl.mli
index 642af0598487ec316f16531b9f70c839b45001c1..33805c33f6cc4075930e49e2673bd891c53dee60 100644
--- a/src/libraries/stdlib/FCHashtbl.mli
+++ b/src/libraries/stdlib/FCHashtbl.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/stdlib/extlib.ml b/src/libraries/stdlib/extlib.ml
index 97279cf59ccd579fb2b1bb346d61260f7267cbec..6ec413e5c12a3a40379b4c3d3e786609b54915e0 100644
--- a/src/libraries/stdlib/extlib.ml
+++ b/src/libraries/stdlib/extlib.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/stdlib/extlib.mli b/src/libraries/stdlib/extlib.mli
index d331629c8bc5b0ddaa916a976a62ccb46793d280..389a34fc00dbc551f3b374f637439aa4d90aa880 100644
--- a/src/libraries/stdlib/extlib.mli
+++ b/src/libraries/stdlib/extlib.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -141,7 +141,7 @@ val find_opt : ('a -> 'b option) -> 'a list -> 'b
       is no such value the list l.
 
       @since Nitrogen-20111001
-      @deprecated Frama-C+dev use [Transitioning.List.find_opt] instead *)
+      @deprecated 18.0-Argon use [Transitioning.List.find_opt] instead *)
 
 val iteri: (int -> 'a -> unit) -> 'a list -> unit
   (** Same as iter, but the function to be applied take also as argument the
@@ -178,7 +178,7 @@ val list_slice: ?first:int -> ?last:int -> 'a list -> 'a list
     Negative indices are allowed, and count from the end of the list.
     [list_slice] never raises exceptions: out-of-bounds arguments are clipped,
     and inverted ranges result in empty lists.
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 
 (* ************************************************************************* *)
 (** {2 Arrays} *)
@@ -307,7 +307,7 @@ val strip_underscore: string -> string
 (** remove underscores at the beginning and end of a string. If a string
     is composed solely of underscores, return the empty string
 
-    @since Frama-C+dev
+    @since 18.0-Argon
   *)
 
 val html_escape: string -> string
diff --git a/src/libraries/stdlib/integer.ml b/src/libraries/stdlib/integer.ml
index 1d258f2ded6358b74495e182e6510703eed06c0c..55d36122770094da3949f3540941b9fdc0bdccbd 100644
--- a/src/libraries/stdlib/integer.ml
+++ b/src/libraries/stdlib/integer.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/stdlib/integer.mli b/src/libraries/stdlib/integer.mli
index 75969a139e1c8ff52c6504efd0047cd3d8f36285..4e939382bf131017b673f534505420f04c0df94c 100644
--- a/src/libraries/stdlib/integer.mli
+++ b/src/libraries/stdlib/integer.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/stdlib/transitioning.ml.in b/src/libraries/stdlib/transitioning.ml.in
index 635167b68b28f494bd01b14a8636893e26f12f71..053b4627244c1fcbc7e79231494b20f7747b7d9c 100644
--- a/src/libraries/stdlib/transitioning.ml.in
+++ b/src/libraries/stdlib/transitioning.ml.in
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/stdlib/transitioning.mli b/src/libraries/stdlib/transitioning.mli
index 2038c085a07399c9ed1ff38d079969f0534df2f3..c138f09e9b9b1daa70928d14d302664d2875b73f 100644
--- a/src/libraries/stdlib/transitioning.mli
+++ b/src/libraries/stdlib/transitioning.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/bag.ml b/src/libraries/utils/bag.ml
index 14394e49248e2015062c2540deb996696917d141..667efc3e03825b89dc6977eab34702ab7f26564e 100644
--- a/src/libraries/utils/bag.ml
+++ b/src/libraries/utils/bag.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/bag.mli b/src/libraries/utils/bag.mli
index 1222b3293f1783e971b31e897aa03cf0571d2d26..5be0132ac86a6b8073fb8cbd438f23ec34dfe967 100644
--- a/src/libraries/utils/bag.mli
+++ b/src/libraries/utils/bag.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/binary_cache.ml b/src/libraries/utils/binary_cache.ml
index ac9256daa871f80bd61e801c818baba485480de8..6e3f0aff434203da187112c6548b5e34744a7055 100644
--- a/src/libraries/utils/binary_cache.ml
+++ b/src/libraries/utils/binary_cache.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/binary_cache.mli b/src/libraries/utils/binary_cache.mli
index 106c39ae5d30b87688cbb496c7875b7d93e6fef6..19e947519a56794659890ccfeecbdac40d871607 100644
--- a/src/libraries/utils/binary_cache.mli
+++ b/src/libraries/utils/binary_cache.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/bitvector.ml b/src/libraries/utils/bitvector.ml
index d0832a92bfaedd6181b4b7ea49696f4782318041..a1dfcfa38a4fedeaedb472bed9e4da705168d501 100644
--- a/src/libraries/utils/bitvector.ml
+++ b/src/libraries/utils/bitvector.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/bitvector.mli b/src/libraries/utils/bitvector.mli
index 94a0712c51db815d46466d84402b1f9079f14127..4ef47ae578f358a97b39024960e6fc71c40fccd4 100644
--- a/src/libraries/utils/bitvector.mli
+++ b/src/libraries/utils/bitvector.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/c_bindings.c b/src/libraries/utils/c_bindings.c
index 3436ae57b98374859a98fe95eade8a06f1049c96..992111ceb27a10cd953c5df066a095a2895834cb 100644
--- a/src/libraries/utils/c_bindings.c
+++ b/src/libraries/utils/c_bindings.c
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/libraries/utils/command.ml b/src/libraries/utils/command.ml
index aad137db03bbc65edbaf84a1c9bf8c82c300cdeb..3e08c8037a6c31de22960dd26f2553b9e6d9e8dd 100644
--- a/src/libraries/utils/command.ml
+++ b/src/libraries/utils/command.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/command.mli b/src/libraries/utils/command.mli
index 45486f7ad2acc0311baee4294ec1e948411d4a28..c3bb0ea3fa1f78f72746d98a95b7951a04e7c6ba 100644
--- a/src/libraries/utils/command.mli
+++ b/src/libraries/utils/command.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/filepath.ml b/src/libraries/utils/filepath.ml
index 1e9bed543f11cb24cb0dd27a0366259a1000486d..0e774657a818b0b5f91cafba14f4b21197480427 100644
--- a/src/libraries/utils/filepath.ml
+++ b/src/libraries/utils/filepath.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/filepath.mli b/src/libraries/utils/filepath.mli
index 2c9267e77f4d876dcae466f45a7f7aec92185018..6ea46d821541a1de524e1baad38bbadcf6339b54 100644
--- a/src/libraries/utils/filepath.mli
+++ b/src/libraries/utils/filepath.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -63,7 +63,7 @@ val is_relative: ?base_name:string -> string -> bool
     in the filesystem.
 
     @since Neon-20140301
-    @deprecated since Frama-C+dev
+    @deprecated since 18.0-Argon
 *)
 val pretty: string -> string
 [@@deprecated "Use Filepath.Normalized.to_pretty_string instead."]
@@ -76,7 +76,7 @@ val add_symbolic_dir: string -> string -> unit
 
 (** The [Normalized] module is simply a wrapper that ensures that paths are
     always normalized. Used by [Datatype.Filepath].
-    @since Frama-C+dev *)
+    @since 18.0-Argon *)
 module Normalized: sig
 
   (** The normalized (absolute) path. *)
@@ -123,7 +123,7 @@ module Normalized: sig
 end
 
 (** Describes a position in a source file.
-    @since Frama-C+dev
+    @since 18.0-Argon
 *)
 type position =
   {
@@ -134,7 +134,7 @@ type position =
   }
 
 (** Pretty-prints a position, in the format file:line.
-    @since Frama-C+dev
+    @since 18.0-Argon
 *)
 val pp_pos : Format.formatter -> position -> unit
 
diff --git a/src/libraries/utils/floating_point.ml b/src/libraries/utils/floating_point.ml
index a9c8af45ec6d028d1ec6228b6bb5bbccb025d936..c8361ffa26a50e71ea52282b8ee9653872c2202e 100644
--- a/src/libraries/utils/floating_point.ml
+++ b/src/libraries/utils/floating_point.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/floating_point.mli b/src/libraries/utils/floating_point.mli
index c39eb54a561e9098351f0985567de5bd04b755d6..8e82a0a59b39867adac48ab0f6eed8e32a7c8880 100644
--- a/src/libraries/utils/floating_point.mli
+++ b/src/libraries/utils/floating_point.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/hook.ml b/src/libraries/utils/hook.ml
index f2fb12679e486bfe8f056328400d7f7877386081..c8a1ea7c6e231a2dbbdc2b3b3fa1b38312d5cc1e 100644
--- a/src/libraries/utils/hook.ml
+++ b/src/libraries/utils/hook.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/hook.mli b/src/libraries/utils/hook.mli
index cdbe96ea503ef3fcaeba8ea10a26ff75a7613d44..945e5baef4450bd034980a14812af305e9d13e27 100644
--- a/src/libraries/utils/hook.mli
+++ b/src/libraries/utils/hook.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/hptset.ml b/src/libraries/utils/hptset.ml
index f5c71cb736d69d29134c384f300f26183a9ac39a..7624684f2e8c855e3b9873f397cdde077d74aeeb 100644
--- a/src/libraries/utils/hptset.ml
+++ b/src/libraries/utils/hptset.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/hptset.mli b/src/libraries/utils/hptset.mli
index 1f3ff9a6a2550790166bab52d2436c7c64559aaf..e1dc4f1678a4f6a160cb4fa7ed144548bc4b740b 100644
--- a/src/libraries/utils/hptset.mli
+++ b/src/libraries/utils/hptset.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/indexer.ml b/src/libraries/utils/indexer.ml
index aefcd248fc0821cd838d189fcd90cd2581dac59b..f4cee597ec2bd91e10ebea04706e6edf5e7b5dd0 100644
--- a/src/libraries/utils/indexer.ml
+++ b/src/libraries/utils/indexer.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/indexer.mli b/src/libraries/utils/indexer.mli
index 93d56bff17d7d4ec9251659a358a581bcc122629..95fff6e7fd8273aa01503ed11acad3fb24dfc1e5 100644
--- a/src/libraries/utils/indexer.mli
+++ b/src/libraries/utils/indexer.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/json.mli b/src/libraries/utils/json.mli
index 82027243df20fa6471ef0272ba18fdf9c7c86911..39136af9caceae2176591cb428ab3529b4619ea3 100644
--- a/src/libraries/utils/json.mli
+++ b/src/libraries/utils/json.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -20,27 +20,30 @@
 (*                                                                        *)
 (**************************************************************************)
 
-(** Json Library 
+(** Json Library
 
     Remarks:
-     - UTF-8 escaping is not supported;
-     - Parsers are less {i strict} than Json format;
-     - Printers are supposed to {i strictly} conforms to Json format;
-     - [Number] can be used to encode non OCaml-primitive numbers,
+    - UTF-8 escaping is not supported;
+    - Parsers are less {i strict} than Json format;
+    - Printers are supposed to {i strictly} conforms to Json format;
+    - [Number] can be used to encode non OCaml-primitive numbers,
        for instance Zarith.
 *)
 
-(** Json Objects *)
-type t =
-  | Null
-  | True | False
-  | String of string
-  | Number of string
-  | Int of int
-  | Float of float
-  | Array of t list
-  | Assoc of (string * t) list
+(** Json Objects
 
+    Same type than [Yojson.Basic.json]
+*)
+type json =
+  [ `Assoc of (string * json) list
+  | `Bool of bool
+  | `Float of float
+  | `Int of int
+  | `List of json list
+  | `Null
+  | `String of string ]
+
+type t = json
 val equal : t -> t -> bool (** Pervasives *)
 val compare : t -> t -> int (** Pervasives *)
 val pp : Format.formatter -> t -> unit
@@ -79,11 +82,11 @@ val save_file : ?pretty:bool -> string -> t -> unit
     format. *)
 
 val bool : t -> bool
-(** Extract [True] and [False] only. 
+(** Extract [True] and [False] only.
     @raise Invalid_argument when the conversion fails. *)
 
 val int : t -> int
-(** Convert [Null], [Int], [Float], [Number] and [String] to an [int]. 
+(** Convert [Null], [Int], [Float], [Number] and [String] to an [int].
     Floats are truncated with [int_of_float] and [Null] to 0.
     @raise Invalid_argument when the conversion fails. *)
 
@@ -97,19 +100,19 @@ val float : t -> float
     @raise Invalid_argument when the conversion fails. *)
 
 val array : t -> t array
-(** Extract the array of an [Array] object. 
+(** Extract the array of an [Array] object.
     [Null] is considered an empty array.
     @raise Invalid_argument if the object is not an array. *)
 
 val list : t -> t list
-(** Extract the list of an [Array] object. 
+(** Extract the list of an [Array] object.
     [Null] is considered an empty list.
     @raise Invalid_argument if the object is not a list. *)
-    
+
 val fold : (string -> t -> 'a -> 'a) -> t -> 'a -> 'a
-(** Fold over all fields of the object. 
+(** Fold over all fields of the object.
     [Null] is considered an empty object.
-    Typical usage is [fold M.add t M.empty] where [M=Map.Make(String)]. 
+    Typical usage is [fold M.add t M.empty] where [M=Map.Make(String)].
     @raise Invalid_argument if the object is not an [Assoc] or [Null] object. *)
 
 val field : string -> t -> t
diff --git a/src/libraries/utils/json.mll b/src/libraries/utils/json.mll
index 3a18621bf642a982d41c2a7f65d4c4bb0a9806d5..700505ac5cb6f4a65a282353e3cd5a17f04408dd 100644
--- a/src/libraries/utils/json.mll
+++ b/src/libraries/utils/json.mll
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -26,16 +26,16 @@
 
 {
 
-type t =
-  | Null
-  | True | False
-  | String of string
-  | Number of string
-  | Int of int
-  | Float of float
-  | Array of t list
-  | Assoc of (string * t) list
+type json =
+       [ `Assoc of (string * json) list
+       | `Bool of bool
+       | `Float of float
+       | `Int of int
+       | `List of json list
+       | `Null
+       | `String of string ]
 
+type t = json
 let equal = (=)
 let compare = Pervasives.compare
 
@@ -88,15 +88,15 @@ let skip input =
 *)
 let rec parse_value input =
   match input.token with
-  | EOF -> Null
-  | TRUE -> skip input ; True
-  | FALSE -> skip input ; False
-  | NULL -> skip input ; Null
-  | STR a -> skip input ; String a
-  | INT a -> skip input ; (try Int(int_of_string a) with _ -> Number a)
-  | DEC a -> skip input ; (try Float(float_of_string a) with _ -> Number a)
-  | KEY '[' -> skip input ; Array (parse_array [] input)
-  | KEY '{' -> skip input ; Assoc (parse_object [] input)
+  | EOF -> `Null
+  | TRUE -> skip input ; `Bool true
+  | FALSE -> skip input ; `Bool false
+  | NULL -> skip input ; `Null
+  | STR a -> skip input ; `String a
+  | INT a -> skip input ; (try `Int(int_of_string a) with _ -> `String a)
+  | DEC a -> skip input ; (try `Float(float_of_string a) with _ -> `String a)
+  | KEY '[' -> skip input ; `List (parse_array [] input)
+  | KEY '{' -> skip input ; `Assoc (parse_object [] input)
   | _ -> failwith "unexpected token"
 
 and parse_array es input =
@@ -163,20 +163,18 @@ let load_file file =
 
 let rec pp fmt v = let open Format in
   match v with
-  | Null -> pp_print_string fmt "null"
-  | True -> pp_print_string fmt "true"
-  | False -> pp_print_string fmt "false"
-  | String s -> fprintf fmt "%S" s
-  | Number s -> pp_print_string fmt s
-  | Int a -> pp_print_int fmt a
-  | Float f -> pp_print_float fmt f
-  | Array [] -> pp_print_string fmt "[]"
-  | Array (e::es) ->
+  | `Null -> pp_print_string fmt "null"
+  | `Bool b -> pp_print_bool fmt b
+  | `String s -> fprintf fmt "%S" s
+  | `Int a -> pp_print_int fmt a
+  | `Float f -> pp_print_float fmt f
+  | `List [] -> pp_print_string fmt "[]"
+  | `List (e::es) ->
       Format.fprintf fmt "@[<hov 2>[ %a" pp e ;
       List.iter (fun e -> Format.fprintf fmt ",@ %a" pp e) es ;
       Format.fprintf fmt " ]@]"
-  | Assoc [] -> pp_print_string fmt "{}"
-  | Assoc (e::es) ->
+  | `Assoc [] -> pp_print_string fmt "{}"
+  | `Assoc (e::es) ->
       Format.fprintf fmt "@[<hov 2>{ %a" pp_entry e ;
       List.iter (fun e -> Format.fprintf fmt ",@ %a" pp_entry e) es ;
       Format.fprintf fmt " }@]"
@@ -188,20 +186,19 @@ let dump_string f s =
   f quote ; f (String.escaped s) ; f quote
 
 let rec dump f = function
-  | Null -> f "null"
-  | True -> f "true"
-  | False -> f "false"
-  | String s -> dump_string f s
-  | Number s -> f s
-  | Int a -> f (string_of_int a)
-  | Float x -> f (string_of_float x)
-  | Array [] -> f "[]"
-  | Array (e::es) ->
+  | `Null -> f "null"
+  | `Bool true -> f "true"
+  | `Bool false -> f "false"
+  | `String s -> dump_string f s
+  | `Int a -> f (string_of_int a)
+  | `Float x -> f (string_of_float x)
+  | `List [] -> f "[]"
+  | `List (e::es) ->
       f "[" ; dump f e ;
       List.iter (fun e -> f "," ; dump f e) es ;
       f "]"
-  | Assoc [] -> f "{}"
-  | Assoc (e::es) ->
+  | `Assoc [] -> f "{}"
+  | `Assoc (e::es) ->
       f "{" ;
       dump_entry f e ;
       List.iter (fun e -> f "," ; dump_entry f e) es ;
@@ -244,57 +241,54 @@ let save_file ?(pretty=true) file v =
 let invalid name = raise (Invalid_argument ("Json." ^ name))
 
 let bool = function
-  | True -> true
-  | False -> false
+  | `Bool b -> b
   | _ -> invalid "bool"
 
 let int = function
-  | Null -> 0
-  | Int n -> n
-  | Float f -> (try int_of_float f with _ -> invalid "int")
-  | Number s | String s -> (try int_of_string s with _ -> invalid "int")
+  | `Null -> 0
+  | `Int n -> n
+  | `Float f -> (try int_of_float f with _ -> invalid "int")
   | _ -> invalid "int"
 
 let float = function
-  | Null -> 0.0
-  | Float f -> f
-  | Int n -> (try float_of_int n with _ -> invalid "float")
-  | Number s | String s -> (try float_of_string s with _ -> invalid "float")
+  | `Null -> 0.0
+  | `Float f -> f
+  | `Int n -> (try float_of_int n with _ -> invalid "float")
   | _ -> invalid "float"
 
 let string = function
-  | Null -> ""
-  | Int n -> string_of_int n
-  | Float f -> string_of_float f
-  | Number s | String s -> s
+  | `Null -> ""
+  | `Int n -> string_of_int n
+  | `Float f -> string_of_float f
+  | `String s -> s
   | _ -> invalid "string"
 
 let list = function
-  | Null -> []
-  | Array es -> es
+  | `Null -> []
+  | `List es -> es
   | _ -> invalid "list"
 
 let array = function
-  | Null -> [| |]
-  | Array es -> Array.of_list es
+  | `Null -> [| |]
+  | `List es -> Array.of_list es
   | _ -> invalid "array"
 
 let field f = function
-  | Null -> raise Not_found
-  | Assoc fs -> List.assoc f fs
+  | `Null -> raise Not_found
+  | `Assoc fs -> List.assoc f fs
   | _ -> invalid "field"
 
 let fold f v w = match v with
-  | Null -> w
-  | Assoc fs -> List.fold_left (fun w (e,v) -> f e v w) w fs
+  | `Null -> w
+  | `Assoc fs -> List.fold_left (fun w (e,v) -> f e v w) w fs
   | _ -> invalid "fold"
 
-let of_bool b = if b then True else False
-let of_int k = Int k
-let of_string s = String s
-let of_float f = Float f
-let of_list xs = Array xs
-let of_array xs = Array (Array.to_list xs)
-let of_fields m = Assoc m
+let of_bool b = `Bool b
+let of_int k = `Int k
+let of_string s = `String s
+let of_float f = `Float f
+let of_list xs = `List xs
+let of_array xs = `List (Array.to_list xs)
+let of_fields m = `Assoc m
 
 }
diff --git a/src/libraries/utils/pretty_utils.ml b/src/libraries/utils/pretty_utils.ml
index 025134145a19814d56979985d0d005cc9e03b128..3ecc2ed1913e5f0d15842863071b9cd74435c621 100644
--- a/src/libraries/utils/pretty_utils.ml
+++ b/src/libraries/utils/pretty_utils.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/pretty_utils.mli b/src/libraries/utils/pretty_utils.mli
index 9917bdd7855e0dd58f819db8ddcfb563332e85a6..c0cfa39b1b6543cf0fc3e5d46704bb93846ed55b 100644
--- a/src/libraries/utils/pretty_utils.mli
+++ b/src/libraries/utils/pretty_utils.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/qstack.ml b/src/libraries/utils/qstack.ml
index 55cd0c5dc68048d2b2d34dc596940adde824aa3d..525e2f7f130eb332ae7e7c79eb8acac30802c12f 100644
--- a/src/libraries/utils/qstack.ml
+++ b/src/libraries/utils/qstack.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/qstack.mli b/src/libraries/utils/qstack.mli
index 5fc4fbd7eac621822f1fbb02f8615ce5e1d21971..5a3dfdcc202a2ea1d36f6fcd79e2a6b82f1553dd 100644
--- a/src/libraries/utils/qstack.mli
+++ b/src/libraries/utils/qstack.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/rgmap.ml b/src/libraries/utils/rgmap.ml
index 840274b5143f9aca1300ceee785b24bc83a74fa0..054bb4b9cfac56c9129dd6daf04d862a9df3feed 100644
--- a/src/libraries/utils/rgmap.ml
+++ b/src/libraries/utils/rgmap.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/rgmap.mli b/src/libraries/utils/rgmap.mli
index 7571afcc1b635268ed97a297a4ceeec4e8d00f11..0c6bacd6e2f188c42080fdd871b555dfff36bd52 100644
--- a/src/libraries/utils/rgmap.mli
+++ b/src/libraries/utils/rgmap.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/rich_text.ml b/src/libraries/utils/rich_text.ml
index 301306fb270b347a12157a04a72cb004464afbde..b29ffe37e52a7ac8d08f4291ed80042613f362c9 100644
--- a/src/libraries/utils/rich_text.ml
+++ b/src/libraries/utils/rich_text.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/rich_text.mli b/src/libraries/utils/rich_text.mli
index 537a8e4a94c5593b62bd278971b597fd8f892d21..9e84fc4b9960e6ad0d3ca848c0e9dd3f7cc54001 100644
--- a/src/libraries/utils/rich_text.mli
+++ b/src/libraries/utils/rich_text.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/task.ml b/src/libraries/utils/task.ml
index 44c5d8502339d4c73d8869b60de32a051c23d46d..aaaf758d4f84ec83e4fdfeff05bbf92ad7fb1fc7 100644
--- a/src/libraries/utils/task.ml
+++ b/src/libraries/utils/task.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/task.mli b/src/libraries/utils/task.mli
index 9de878ba092c33e1073293990cfc013541ed497d..af8a018bd16ab0d4da61e1aa5ddea83b3ba381bc 100644
--- a/src/libraries/utils/task.mli
+++ b/src/libraries/utils/task.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/unicode.ml b/src/libraries/utils/unicode.ml
index 070e83d04256e89f012a144df394b7f9f4b2a665..f4f7ad09a1998d0ca055a1bc94d5e6e5730ead04 100644
--- a/src/libraries/utils/unicode.ml
+++ b/src/libraries/utils/unicode.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/unicode.mli b/src/libraries/utils/unicode.mli
index b085178748d92180cffd83ecd57e80d6d4078b85..4d02557081388e1b234785ed9e327452e939ad99 100644
--- a/src/libraries/utils/unicode.mli
+++ b/src/libraries/utils/unicode.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/utf8_logic.ml b/src/libraries/utils/utf8_logic.ml
index a00be6b94204433e86fa3cc8d30fd534433978bc..6e303a0a8b140a4fe5ac3138d7290b885784d769 100644
--- a/src/libraries/utils/utf8_logic.ml
+++ b/src/libraries/utils/utf8_logic.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/libraries/utils/utf8_logic.mli b/src/libraries/utils/utf8_logic.mli
index c1cdcf07a41872676b1b63c5344fa5fb869738f1..89256c6e961a6b34fa711199ae40668dedfc6633 100644
--- a/src/libraries/utils/utf8_logic.mli
+++ b/src/libraries/utils/utf8_logic.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA   (Commissariat à l'énergie atomique et aux énergies            *)
 (*           alternatives)                                                *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/libraries/utils/vector.ml b/src/libraries/utils/vector.ml
index 0ddf8515fa6f768151d6c233a20aeced21a293e1..916a3f7249c286b24066502b2091387b0fa21759 100644
--- a/src/libraries/utils/vector.ml
+++ b/src/libraries/utils/vector.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/vector.mli b/src/libraries/utils/vector.mli
index 86a3a0609d8dbe095a9438b69562f2afb11dfdac..51798840e16bbe0371580d5b1a70ddbe06687f6e 100644
--- a/src/libraries/utils/vector.mli
+++ b/src/libraries/utils/vector.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/wto.ml b/src/libraries/utils/wto.ml
index 9dfb1741e05f60a31e2178639cb443ede81e839d..617ae52bb06bbbe839ee1c99b7f562f00df96d04 100644
--- a/src/libraries/utils/wto.ml
+++ b/src/libraries/utils/wto.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/libraries/utils/wto.mli b/src/libraries/utils/wto.mli
index 884a49c931018f34ede4c7a40b4972e97bed81f7..ffd631371e9663c2367ddb2a899c391195fb091c 100644
--- a/src/libraries/utils/wto.mli
+++ b/src/libraries/utils/wto.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/aorai/Aorai.mli b/src/plugins/aorai/Aorai.mli
index de19722cd7f714ba1d6aead4acd02edb87f7de43..b4832d9d2ffb220ccbd4a26ca27d9d3764d16726 100644
--- a/src/plugins/aorai/Aorai.mli
+++ b/src/plugins/aorai/Aorai.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/Makefile.in b/src/plugins/aorai/Makefile.in
index 0a0f11715921579d18ebcd13fb56aadf8cef3f0e..5478d009fa7e206bca7df4310e9062b357370d6a 100644
--- a/src/plugins/aorai/Makefile.in
+++ b/src/plugins/aorai/Makefile.in
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Aorai plug-in of Frama-C.                        #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #    INRIA (Institut National de Recherche en Informatique et en         #
@@ -84,8 +84,6 @@ PLUGIN_TESTS_LIB:=$(PLUGIN_DIR)/tests/aorai/Aorai_test.ml
 
 include $(FRAMAC_SHARE)/Makefile.dynamic
 
-# Regenerating the Makefile on need
-
 ifeq ("$(FRAMAC_INTERNAL)","yes")
 CONFIG_STATUS_DIR=$(FRAMAC_SRC)
 AORAI_WP_SHARE=-aorai-test-wp-share $(FRAMAC_ROOT_SRCDIR)/src/plugins/wp/share
@@ -105,6 +103,8 @@ $(Aorai_DIR)/tests/test_config_prove: \
 
 Aorai_DEFAULT_TESTS: $(Aorai_DIR)/tests/aorai/Aorai_test.cmxs $(Aorai_DIR)/tests/aorai/Aorai_test.cmo
 
+# Regenerating the Makefile on need
+
 $(Aorai_DIR)/Makefile: $(Aorai_DIR)/Makefile.in \
 			$(CONFIG_STATUS_DIR)/config.status
 	cd $(CONFIG_STATUS_DIR) && ./config.status --file $@
@@ -113,58 +113,3 @@ headers::
 	$(SED) -e 's/This file is/Files in this archive are/' \
 	       $(FRAMAC_SRC)/headers/open-source/INSA_INRIA_LGPL \
 	> $(FRAMAC_SRC)/doc/aorai/example/LICENSE
-
-LOCAL_SRC_DIR=aorai
-COMMON_FILES_TO_COPY=$(PLUGIN_DISTRIB_EXTERNAL) Makefile.in YA.README INSTALL VERSIONS.txt
-FRAMAC_SRC_ROOT=../../..
-LOCAL_WEB_ROOT=/home/nstouls/Projets/AMAZONES/ForgeINRIA/main/aorai/
-LOCAL_WEB_DIFFUSION=$(LOCAL_WEB_ROOT)/site/src/site/resources
-TODAY=`date  +"%d-%m-%Y - %T"`
-TAGIN=<\!--START DATE-->
-TAGOUT=<\!--END DATE-->
-INDEX=$(LOCAL_WEB_DIFFUSION)/index.html
-
-pre-release:
-	mkdir -p $(LOCAL_SRC_DIR)/doc
-
-	@echo '## Generating bin and doc'
-	@make -C $(FRAMAC_SRC_ROOT) depend --quiet
-	@make -C $(FRAMAC_SRC_ROOT) --quiet
-	@make -C $(FRAMAC_SRC_ROOT) $(PLUGIN_NAME)_DOC --quiet
-	cp -r $(FRAMAC_SRC_ROOT)/doc/code/aorai $(LOCAL_SRC_DIR)/doc/.
-	cp  $(FRAMAC_SRC_ROOT)/doc/code/frama-c.png $(LOCAL_SRC_DIR)/doc/.
-	cp  $(FRAMAC_SRC_ROOT)/doc/code/style.css $(LOCAL_SRC_DIR)/doc/.
-
-	@make -C $(FRAMAC_SRC_ROOT)/doc/aorai/  --quiet
-	@make -C $(FRAMAC_SRC_ROOT)/doc/aorai/ install  --quiet
-	cp  $(FRAMAC_SRC_ROOT)/doc/manuals/aorai-manual.pdf $(LOCAL_SRC_DIR)/doc/.
-	cp  $(FRAMAC_SRC_ROOT)/doc/manuals/aorai-example.tgz $(LOCAL_SRC_DIR)/doc/.
-
-	@echo '## Deployment for local release'
-	@make clean --quiet
-# SRC directory generation
-	if [ -d autom4te.cache ] ; then rm -rf  autom4te.cache ; fi
-	cp *.* $(LOCAL_SRC_DIR)
-
-# Commun files copy
-	for f in $(COMMON_FILES_TO_COPY) ; do \
-		cp $$f $(LOCAL_SRC_DIR)/. ; \
-	done
-
-	@echo "## Generating archive"
-	tar -czf $(LOCAL_SRC_DIR).tgz $(LOCAL_SRC_DIR)
-	@echo "## Done."
-	@echo "## Please make 'pre-release-deploy' to move archive to $(LOCAL_WEB_DIFFUSION)"
-
-pre-release-deploy: $(LOCAL_SRC_DIR).tgz
-	@echo "## Moving archive to $(LOCAL_WEB_DIFFUSION)"
-	mv $(LOCAL_SRC_DIR).tgz $(LOCAL_WEB_DIFFUSION)
-	cat $(INDEX) | sed "s/$(TAGIN).*$(TAGOUT)/$(TAGIN)$(TODAY)$(TAGOUT)/" $(INDEX) > $(INDEX)2
-	mv $(INDEX)2 $(INDEX)
-	@echo "## Website updated"
-	cd $(LOCAL_WEB_ROOT) && ./CreateHTML.sh
-
-clean-all:
-	@make clean
-	@echo '## Removing generated directories'
-	@rm -rf $(LOCAL_SRC_DIR)
diff --git a/src/plugins/aorai/aorai_dataflow.ml b/src/plugins/aorai/aorai_dataflow.ml
index ceeeb64841b50b4f92179b170434244d6a341b0d..cc59c904b410d06ee0ba89fbd5d8333d107446d6 100644
--- a/src/plugins/aorai/aorai_dataflow.ml
+++ b/src/plugins/aorai/aorai_dataflow.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/aorai_dataflow.mli b/src/plugins/aorai/aorai_dataflow.mli
index 70bbf0869ed329486416ce9385d1805c63fec8f8..42c10c4f9363e68db1a6e1ff01b7005f41bcd3df 100644
--- a/src/plugins/aorai/aorai_dataflow.mli
+++ b/src/plugins/aorai/aorai_dataflow.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/aorai_option.ml b/src/plugins/aorai/aorai_option.ml
index 01de3a72d1c1ac53026daa4c88f15ff94a59679e..39c321eca169cd8565cdd87e1fda114c5f1783a9 100644
--- a/src/plugins/aorai/aorai_option.ml
+++ b/src/plugins/aorai/aorai_option.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/aorai_option.mli b/src/plugins/aorai/aorai_option.mli
index 4f589da88f64c642ae080f847df1078a19728608..9e394d8c66cfb58652aeb6457f6a35d6b1a41eb6 100644
--- a/src/plugins/aorai/aorai_option.mli
+++ b/src/plugins/aorai/aorai_option.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/aorai_register.ml b/src/plugins/aorai/aorai_register.ml
index a907f9b4b06e25808e3413d942a49d1538498319..83ebdfe08da71c6b90605f8dff1ee21eff65a0fc 100644
--- a/src/plugins/aorai/aorai_register.ml
+++ b/src/plugins/aorai/aorai_register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/aorai_utils.ml b/src/plugins/aorai/aorai_utils.ml
index 5360d8304522d5d1fb8609b228165780dbf4fbaf..1480c68e82977d189855c1f94b3d42061162df72 100644
--- a/src/plugins/aorai/aorai_utils.ml
+++ b/src/plugins/aorai/aorai_utils.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/aorai_utils.mli b/src/plugins/aorai/aorai_utils.mli
index 05a745a07e0c7cb51171ca0e91838380670548b0..1d1fabbe7a9b3510055097ca014d3e62f52ff489 100644
--- a/src/plugins/aorai/aorai_utils.mli
+++ b/src/plugins/aorai/aorai_utils.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/aorai_visitors.ml b/src/plugins/aorai/aorai_visitors.ml
index 085dfb3e8f64e7c363753e5e3f246c737ae0dfc1..68571210062b0840fed735fc4ff2666354155d20 100644
--- a/src/plugins/aorai/aorai_visitors.ml
+++ b/src/plugins/aorai/aorai_visitors.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/bool3.ml b/src/plugins/aorai/bool3.ml
index cdd78632256220cc220ec5ba55e10a3e2d854b56..248626909b891694e5b705876ecb4f69002daf17 100644
--- a/src/plugins/aorai/bool3.ml
+++ b/src/plugins/aorai/bool3.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/bool3.mli b/src/plugins/aorai/bool3.mli
index bc229ba5a3be9bf7103f9ddb5567a88abf8ff63a..024b37c6481f05966fed845deb2ae2e6b371fc59 100644
--- a/src/plugins/aorai/bool3.mli
+++ b/src/plugins/aorai/bool3.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/configure.ac b/src/plugins/aorai/configure.ac
index 0587fc1fc6646541e050b9c4f7e043e8c3b8ed3b..00fdcfbc1557ab7ab7cf8eb51fde5fd55bf54237 100644
--- a/src/plugins/aorai/configure.ac
+++ b/src/plugins/aorai/configure.ac
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Aorai plug-in of Frama-C.                        #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #    INRIA (Institut National de Recherche en Informatique et en         #
diff --git a/src/plugins/aorai/data_for_aorai.ml b/src/plugins/aorai/data_for_aorai.ml
index e7b0e5d540eb09a23bdb06b8aecce1ce4ec71540..b2933c2f6e1ffc0be435368090607402e25e9095 100644
--- a/src/plugins/aorai/data_for_aorai.ml
+++ b/src/plugins/aorai/data_for_aorai.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
@@ -2018,7 +2018,8 @@ let removeUnusedTransitionsAndStates () =
       (Aorai_state.Set.add state set)
   in
   let reached _ state set = Aorai_state.Map.fold treat_one_state state set in
-  let reached_states = Pre_state.fold reached Aorai_state.Set.empty in
+  let init = Path_analysis.get_init_states (getAutomata ()) in
+  let reached_states = Pre_state.fold reached (Aorai_state.Set.of_list init) in
   let reached_states = Post_state.fold reached reached_states in
   let reached_states = Loop_init_state.fold reached reached_states in
   let reached_states = Loop_invariant_state.fold reached reached_states in
diff --git a/src/plugins/aorai/data_for_aorai.mli b/src/plugins/aorai/data_for_aorai.mli
index 3ee8e092cfeab74e33679497504909386b77f508..a867e23e7f0493a1e6bdc842b612b0be1fac88bf 100644
--- a/src/plugins/aorai/data_for_aorai.mli
+++ b/src/plugins/aorai/data_for_aorai.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/logic_simplification.ml b/src/plugins/aorai/logic_simplification.ml
index 38c5111c5eabfbd7b0a8cab334d3f44d0406d012..bb887b17b028a35533a7054cbe42be840b65f4ae 100644
--- a/src/plugins/aorai/logic_simplification.ml
+++ b/src/plugins/aorai/logic_simplification.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/logic_simplification.mli b/src/plugins/aorai/logic_simplification.mli
index fb67eaf2ae1f4d3d732f4a9d3b7f6ffbb78dc886..6e363d3bf464f552c433265ad2749886a611f351 100644
--- a/src/plugins/aorai/logic_simplification.mli
+++ b/src/plugins/aorai/logic_simplification.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/ltl_output.ml b/src/plugins/aorai/ltl_output.ml
index 15973dff9405c670e5fbafd45f282511c3ce1b46..ae142d75373dd60d85bac9cd2727b94b0fd75fb3 100644
--- a/src/plugins/aorai/ltl_output.ml
+++ b/src/plugins/aorai/ltl_output.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/ltl_output.mli b/src/plugins/aorai/ltl_output.mli
index 83d663ef3ec73a57e32962b1088b7e6fc20649be..9e2b7d50dc38b31e3e774ca34f297836f6f4c742 100644
--- a/src/plugins/aorai/ltl_output.mli
+++ b/src/plugins/aorai/ltl_output.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/ltlast.mli b/src/plugins/aorai/ltlast.mli
index c378d7eae7f6fcc9b16120caaa50147f5890ec6a..34c4d002eb44a22739cb466962a513c496eaba43 100644
--- a/src/plugins/aorai/ltlast.mli
+++ b/src/plugins/aorai/ltlast.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/ltllexer.mll b/src/plugins/aorai/ltllexer.mll
index 36a45d8f1c566bcd991714cb3b9792f09fa891e0..c5c61547f9ac97759d5aabcdfe0551ab1bb7914c 100644
--- a/src/plugins/aorai/ltllexer.mll
+++ b/src/plugins/aorai/ltllexer.mll
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/ltlparser.mly b/src/plugins/aorai/ltlparser.mly
index 5787f52c62d8326a77e1b4b2ad90988cee25bc16..43a9315ae6f42e088b6f457f6c668fe71599eb6f 100644
--- a/src/plugins/aorai/ltlparser.mly
+++ b/src/plugins/aorai/ltlparser.mly
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Aorai plug-in of Frama-C.                        */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*    INRIA (Institut National de Recherche en Informatique et en         */
diff --git a/src/plugins/aorai/path_analysis.ml b/src/plugins/aorai/path_analysis.ml
index d917ce72db8e794d44778cc180c48e2655f3fb19..9fc9fe7b0c58084fb2345b3bb7a787e28638804f 100644
--- a/src/plugins/aorai/path_analysis.ml
+++ b/src/plugins/aorai/path_analysis.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/promelaast.mli b/src/plugins/aorai/promelaast.mli
index 4b5c7b8d6c67782e6f0ae871af61d093a9406027..d8d31f6a91db78e112187e8fd2972c8c733b1a99 100644
--- a/src/plugins/aorai/promelaast.mli
+++ b/src/plugins/aorai/promelaast.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/promelalexer.mll b/src/plugins/aorai/promelalexer.mll
index f1e48f0799e771a955223843df027a7849ced66b..99b85aa300ab57e4e1504f3bee34af5b1f4f7c48 100644
--- a/src/plugins/aorai/promelalexer.mll
+++ b/src/plugins/aorai/promelalexer.mll
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/promelalexer_withexps.mll b/src/plugins/aorai/promelalexer_withexps.mll
index 31d9d5a58558e01531577bc5702449c9f3adc02e..ef8c86af957d856b202f0f5402aa8e564d5dbe34 100644
--- a/src/plugins/aorai/promelalexer_withexps.mll
+++ b/src/plugins/aorai/promelalexer_withexps.mll
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/promelaoutput.ml b/src/plugins/aorai/promelaoutput.ml
index 9ad118a5ef91932d9a5aaa6b67565073ed6e00b1..54d24c477aba9824d4aac45830587e54b2c1c88c 100644
--- a/src/plugins/aorai/promelaoutput.ml
+++ b/src/plugins/aorai/promelaoutput.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/promelaoutput.mli b/src/plugins/aorai/promelaoutput.mli
index 4c8f23b5915df77a9ef36701c5fed65d25078cc5..6128bf35f6b4d3574269aeff13da74d0ee819efd 100644
--- a/src/plugins/aorai/promelaoutput.mli
+++ b/src/plugins/aorai/promelaoutput.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/promelaparser.mly b/src/plugins/aorai/promelaparser.mly
index 8e92c2f31d681b35eb47dc162931eb084c873f96..4c3a51ada47bf0ed9b241e638ed250633880177c 100644
--- a/src/plugins/aorai/promelaparser.mly
+++ b/src/plugins/aorai/promelaparser.mly
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Aorai plug-in of Frama-C.                        */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*    INRIA (Institut National de Recherche en Informatique et en         */
diff --git a/src/plugins/aorai/promelaparser_withexps.mly b/src/plugins/aorai/promelaparser_withexps.mly
index 788b7c65e2593252dc7c299c22503479237ba402..c15b6b1cbc66c6b72c3fe857c8f44728be9395c8 100644
--- a/src/plugins/aorai/promelaparser_withexps.mly
+++ b/src/plugins/aorai/promelaparser_withexps.mly
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Aorai plug-in of Frama-C.                        */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*    INRIA (Institut National de Recherche en Informatique et en         */
diff --git a/src/plugins/aorai/tests/aorai/monostate.i b/src/plugins/aorai/tests/aorai/monostate.i
new file mode 100644
index 0000000000000000000000000000000000000000..1eedae0ff61712b9ab23aca587a10d80f8af33b6
--- /dev/null
+++ b/src/plugins/aorai/tests/aorai/monostate.i
@@ -0,0 +1,9 @@
+/* run.config
+OPT: -aorai-automata @PTEST_DIR@/@PTEST_NAME@.ya -aorai-test 1 -load-module tests/aorai/Aorai_test.cmxs -aorai-test-number @PTEST_NUMBER@ @PROVE_OPTIONS@
+*/
+
+void f(void) {}
+
+void main(void) {
+  while (1) f();
+}
diff --git a/src/plugins/aorai/tests/aorai/monostate.ya b/src/plugins/aorai/tests/aorai/monostate.ya
new file mode 100644
index 0000000000000000000000000000000000000000..761c225cf2d3bbf010b331bc038febf025bd88e6
--- /dev/null
+++ b/src/plugins/aorai/tests/aorai/monostate.ya
@@ -0,0 +1,8 @@
+%init : Init;
+%deterministic;
+%accept: Init;
+
+Init  :
+  { main() } -> Init
+| other -> Init
+;
diff --git a/src/plugins/aorai/tests/aorai/oracle/bts1289.0.res.oracle b/src/plugins/aorai/tests/aorai/oracle/bts1289.0.res.oracle
index a1039020959cc85f8655c52f684ef1a2e3d9b50d..c7cdce1675eca5b5f360f6b59e68b5ea7f68c998 100644
--- a/src/plugins/aorai/tests/aorai/oracle/bts1289.0.res.oracle
+++ b/src/plugins/aorai/tests/aorai/oracle/bts1289.0.res.oracle
@@ -1,22 +1,126 @@
 [kernel] Parsing tests/aorai/bts1289.i (no preprocessing)
 [aorai] Welcome to the Aorai plugin
 [aorai] Warning: Call to main does not follow automaton's specification. This path is assumed to be dead
-[aorai] Warning: No state of the automaton is reachable. Program and specification are incompatible, instrumentation will not be generated.
 [kernel] Parsing /tmp/aorai_bts1289_0.i (no preprocessing)
 /* Generated by Frama-C */
+enum aorai_ListOper {
+    op_a = 1,
+    op_main = 0
+};
+enum aorai_OpStatusList {
+    aorai_Terminated = 1,
+    aorai_Called = 0
+};
+/*@ ghost enum aorai_ListOper aorai_CurOperation = op_main; */
+/*@ ghost enum aorai_OpStatusList aorai_CurOpStatus = aorai_Called; */
+/*@ ghost int S = 0; */
+/*@ ensures aorai_CurOpStatus ≡ aorai_Called;
+    ensures aorai_CurOperation ≡ op_a;
+    assigns aorai_CurOpStatus, aorai_CurOperation, S;
+    
+    behavior buch_state_S_out:
+      ensures 0 ≡ S;
+ */
+void a_pre_func(void)
+{
+  /*@ ghost int S_tmp; */
+  aorai_CurOpStatus = aorai_Called;
+  aorai_CurOperation = op_a;
+  S_tmp = S;
+  S_tmp = 0;
+  S = S_tmp;
+  return;
+}
+
+/*@ requires \false;
+    ensures aorai_CurOpStatus ≡ aorai_Terminated;
+    ensures aorai_CurOperation ≡ op_a;
+    assigns aorai_CurOpStatus, aorai_CurOperation, S;
+    
+    behavior buch_state_S_out:
+      ensures 0 ≡ S;
+ */
+void a_post_func(void)
+{
+  /*@ ghost int S_tmp; */
+  aorai_CurOpStatus = aorai_Terminated;
+  aorai_CurOperation = op_a;
+  S_tmp = S;
+  S_tmp = 0;
+  S = S_tmp;
+  return;
+}
+
+/*@ requires \false;
+    
+    behavior Buchi_behavior_out_0:
+      ensures 0 ≡ S; */
 void a(void)
 {
+  a_pre_func();
+  a_post_func();
+  return;
+}
+
+/*@ ensures aorai_CurOpStatus ≡ aorai_Called;
+    ensures aorai_CurOperation ≡ op_main;
+    assigns aorai_CurOpStatus, aorai_CurOperation, S;
+    
+    behavior buch_state_S_out:
+      ensures 0 ≡ S;
+ */
+void main_pre_func(void)
+{
+  /*@ ghost int S_tmp; */
+  aorai_CurOpStatus = aorai_Called;
+  aorai_CurOperation = op_main;
+  S_tmp = S;
+  S_tmp = 0;
+  S = S_tmp;
+  return;
+}
+
+/*@ requires \false;
+    ensures aorai_CurOpStatus ≡ aorai_Terminated;
+    ensures aorai_CurOperation ≡ op_main;
+    assigns aorai_CurOpStatus, aorai_CurOperation, S;
+    
+    behavior buch_state_S_out:
+      ensures 0 ≡ S;
+ */
+void main_post_func(void)
+{
+  /*@ ghost int S_tmp; */
+  aorai_CurOpStatus = aorai_Terminated;
+  aorai_CurOperation = op_main;
+  S_tmp = S;
+  S_tmp = 0;
+  S = S_tmp;
   return;
 }
 
+/*@ requires \false;
+    
+    behavior Buchi_behavior_out_0:
+      ensures 0 ≡ S; */
 void main(void)
 {
+  int aorai_Loop_Init_4;
+  main_pre_func();
   int i = 0;
-  /*@ loop assigns i; */
+  /*@ ghost aorai_Loop_Init_4 = 1; */
+  aorai_loop_4:
+  /*@ loop invariant Aorai: 0 ≡ S;
+      loop assigns i, aorai_Loop_Init_4, aorai_CurOpStatus,
+                   aorai_CurOperation, S;
+      loop assigns aorai_Loop_Init_4 \from \nothing;
+  */
   while (i < 10) {
+    /*@ ghost aorai_Loop_Init_4 = 0; */
     a();
     i ++;
   }
+  main_post_func();
   return;
 }
 
diff --git a/src/plugins/aorai/tests/aorai/oracle/incorrect.res.oracle b/src/plugins/aorai/tests/aorai/oracle/incorrect.res.oracle
index b5f37be436306ad824c7a0f7f6f7594f2dde719b..aff805d14e96b5d866f917331cbf3858a2035a4f 100644
--- a/src/plugins/aorai/tests/aorai/oracle/incorrect.res.oracle
+++ b/src/plugins/aorai/tests/aorai/oracle/incorrect.res.oracle
@@ -1,15 +1,69 @@
 [kernel] Parsing tests/aorai/incorrect.i (no preprocessing)
 [aorai] Welcome to the Aorai plugin
 [aorai] Warning: Call to main does not follow automaton's specification. This path is assumed to be dead
-[aorai] Warning: No state of the automaton is reachable. Program and specification are incompatible, instrumentation will not be generated.
 [kernel] Parsing /tmp/aorai_incorrect_0.i (no preprocessing)
 /* Generated by Frama-C */
+enum aorai_States {
+    aorai_reject_state = -2,
+    s0 = 0
+};
+enum aorai_ListOper {
+    op_f = 1,
+    op_main = 0
+};
+enum aorai_OpStatusList {
+    aorai_Terminated = 1,
+    aorai_Called = 0
+};
+/*@ lemma s0_deterministic_trans{L}: \true;
+ */
 int f(void);
 
+/*@ ghost enum aorai_ListOper aorai_CurOperation = op_main; */
+/*@ ghost enum aorai_OpStatusList aorai_CurOpStatus = aorai_Called; */
+/*@ ghost int aorai_CurStates = s0; */
+/*@ ensures aorai_CurOpStatus ≡ aorai_Called;
+    ensures aorai_CurOperation ≡ op_main;
+    assigns aorai_CurOpStatus, aorai_CurOperation, aorai_CurStates;
+    
+    behavior buch_state_s0_out:
+      ensures aorai_CurStates ≢ s0;
+ */
+void main_pre_func(void)
+{
+  /*@ ghost int aorai_CurStates_tmp; */
+  aorai_CurOpStatus = aorai_Called;
+  aorai_CurOperation = op_main;
+  aorai_CurStates_tmp = aorai_CurStates;
+  aorai_CurStates = aorai_CurStates_tmp;
+  return;
+}
+
+/*@ requires \false;
+    ensures aorai_CurOpStatus ≡ aorai_Terminated;
+    ensures aorai_CurOperation ≡ op_main;
+    assigns aorai_CurOpStatus, aorai_CurOperation, aorai_CurStates;
+    
+    behavior buch_state_s0_out:
+      ensures aorai_CurStates ≢ s0;
+ */
+void main_post_func(int res)
+{
+  /*@ ghost int aorai_CurStates_tmp; */
+  aorai_CurOpStatus = aorai_Terminated;
+  aorai_CurOperation = op_main;
+  aorai_CurStates_tmp = aorai_CurStates;
+  aorai_CurStates = aorai_CurStates_tmp;
+  return;
+}
+
+/*@ requires \false; */
 int main(void)
 {
   int tmp;
+  main_pre_func();
   tmp = f();
+  main_post_func(tmp);
   return tmp;
 }
 
diff --git a/src/plugins/aorai/tests/aorai/oracle/monostate.res.oracle b/src/plugins/aorai/tests/aorai/oracle/monostate.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..9d20f728baa6537ef95e2ec1fd374534fdd6742a
--- /dev/null
+++ b/src/plugins/aorai/tests/aorai/oracle/monostate.res.oracle
@@ -0,0 +1,190 @@
+[kernel] Parsing tests/aorai/monostate.i (no preprocessing)
+[aorai] Welcome to the Aorai plugin
+[aorai] Warning: Call to main does not follow automaton's specification. This path is assumed to be dead
+[aorai] tests/aorai/monostate.i:8: Warning: 
+  Call to main not conforming to automaton (pre-cond). Assuming it is on a dead path
+[kernel] Parsing /tmp/aorai_monostate_0.i (no preprocessing)
+/* Generated by Frama-C */
+enum aorai_States {
+    aorai_reject_state = -2,
+    Init = 0,
+    aorai_intermediate_state = 1,
+    aorai_reject = 2
+};
+enum aorai_ListOper {
+    op_f = 1,
+    op_main = 0
+};
+enum aorai_OpStatusList {
+    aorai_Terminated = 1,
+    aorai_Called = 0
+};
+/*@ lemma aorai_reject_deterministic_trans{L}: \true;
+ */
+/*@ ghost enum aorai_ListOper aorai_CurOperation = op_main; */
+/*@ ghost enum aorai_OpStatusList aorai_CurOpStatus = aorai_Called; */
+/*@
+lemma aorai_intermediate_state_deterministic_trans{L}:
+  ¬(\at(aorai_CurOperation,L) ≡ op_main ∧
+     \at(aorai_CurOpStatus,L) ≡ aorai_Terminated ∧
+     ¬(\at(aorai_CurOperation,L) ≡ op_main ∧
+        \at(aorai_CurOpStatus,L) ≡ aorai_Terminated));
+ */
+/*@
+lemma Init_deterministic_trans{L}:
+  ¬(\at(aorai_CurOperation,L) ≡ op_main ∧
+     \at(aorai_CurOpStatus,L) ≡ aorai_Called ∧
+     ¬(\at(aorai_CurOperation,L) ≡ op_main ∧
+        \at(aorai_CurOpStatus,L) ≡ aorai_Called));
+ */
+/*@ ghost int aorai_CurStates = Init; */
+/*@ ensures aorai_CurOpStatus ≡ aorai_Called;
+    ensures aorai_CurOperation ≡ op_f;
+    assigns aorai_CurOpStatus, aorai_CurOperation, aorai_CurStates;
+    
+    behavior buch_state_Init_out:
+      ensures aorai_CurStates ≢ Init;
+    
+    behavior buch_state_aorai_intermediate_state_out:
+      ensures aorai_CurStates ≢ aorai_intermediate_state;
+    
+    behavior buch_state_aorai_reject_in:
+      assumes
+        aorai_CurStates ≡ aorai_reject ∨
+        aorai_CurStates ≡ aorai_intermediate_state;
+      ensures aorai_CurStates ≡ aorai_reject;
+    
+    behavior buch_state_aorai_reject_out:
+      assumes
+        aorai_CurStates ≢ aorai_reject ∧
+        aorai_CurStates ≢ aorai_intermediate_state;
+      ensures aorai_CurStates ≢ aorai_reject;
+ */
+void f_pre_func(void)
+{
+  /*@ ghost int aorai_CurStates_tmp; */
+  aorai_CurOpStatus = aorai_Called;
+  aorai_CurOperation = op_f;
+  aorai_CurStates_tmp = aorai_CurStates;
+  if (2 == aorai_CurStates) aorai_CurStates_tmp = aorai_reject;
+  else 
+    if (1 == aorai_CurStates) aorai_CurStates_tmp = aorai_reject;
+  aorai_CurStates = aorai_CurStates_tmp;
+  return;
+}
+
+/*@ requires \false;
+    ensures aorai_CurOpStatus ≡ aorai_Terminated;
+    ensures aorai_CurOperation ≡ op_f;
+    assigns aorai_CurOpStatus, aorai_CurOperation, aorai_CurStates;
+    
+    behavior buch_state_Init_out:
+      ensures aorai_CurStates ≢ Init;
+    
+    behavior buch_state_aorai_intermediate_state_out:
+      ensures aorai_CurStates ≢ aorai_intermediate_state;
+    
+    behavior buch_state_aorai_reject_in:
+      assumes aorai_CurStates ≡ aorai_reject;
+      ensures aorai_CurStates ≡ aorai_reject;
+    
+    behavior buch_state_aorai_reject_out:
+      assumes aorai_CurStates ≢ aorai_reject;
+      ensures aorai_CurStates ≢ aorai_reject;
+ */
+void f_post_func(void)
+{
+  /*@ ghost int aorai_CurStates_tmp; */
+  aorai_CurOpStatus = aorai_Terminated;
+  aorai_CurOperation = op_f;
+  aorai_CurStates_tmp = aorai_CurStates;
+  if (2 == aorai_CurStates) aorai_CurStates_tmp = aorai_reject;
+  aorai_CurStates = aorai_CurStates_tmp;
+  return;
+}
+
+/*@ requires \false;
+    requires
+      aorai_CurStates ≡ aorai_reject ∨ aorai_CurStates ≢ aorai_reject;
+    requires
+      aorai_CurStates ≡ aorai_intermediate_state ∨
+      aorai_CurStates ≢ aorai_intermediate_state;
+    ensures \false;
+    
+    behavior Buchi_property_behavior:
+      ensures aorai_CurStates ≡ aorai_reject;
+ */
+void f(void)
+{
+  f_pre_func();
+  f_post_func();
+  return;
+}
+
+/*@ ensures aorai_CurOpStatus ≡ aorai_Called;
+    ensures aorai_CurOperation ≡ op_main;
+    assigns aorai_CurOpStatus, aorai_CurOperation, aorai_CurStates;
+    
+    behavior buch_state_Init_out:
+      ensures aorai_CurStates ≢ Init;
+    
+    behavior buch_state_aorai_intermediate_state_out:
+      ensures aorai_CurStates ≢ aorai_intermediate_state;
+    
+    behavior buch_state_aorai_reject_out:
+      ensures aorai_CurStates ≢ aorai_reject;
+ */
+void main_pre_func(void)
+{
+  /*@ ghost int aorai_CurStates_tmp; */
+  aorai_CurOpStatus = aorai_Called;
+  aorai_CurOperation = op_main;
+  aorai_CurStates_tmp = aorai_CurStates;
+  aorai_CurStates = aorai_CurStates_tmp;
+  return;
+}
+
+/*@ requires \false;
+    ensures aorai_CurOpStatus ≡ aorai_Terminated;
+    ensures aorai_CurOperation ≡ op_main;
+    assigns aorai_CurOpStatus, aorai_CurOperation, aorai_CurStates;
+    
+    behavior buch_state_Init_out:
+      ensures aorai_CurStates ≢ Init;
+    
+    behavior buch_state_aorai_intermediate_state_out:
+      ensures aorai_CurStates ≢ aorai_intermediate_state;
+    
+    behavior buch_state_aorai_reject_out:
+      ensures aorai_CurStates ≢ aorai_reject;
+ */
+void main_post_func(void)
+{
+  /*@ ghost int aorai_CurStates_tmp; */
+  aorai_CurOpStatus = aorai_Terminated;
+  aorai_CurOperation = op_main;
+  aorai_CurStates_tmp = aorai_CurStates;
+  aorai_CurStates = aorai_CurStates_tmp;
+  return;
+}
+
+/*@ requires \false; */
+void main(void)
+{
+  int aorai_Loop_Init_3;
+  main_pre_func();
+  /*@ ghost aorai_Loop_Init_3 = 1; */
+  aorai_loop_3:
+  /*@ loop invariant Aorai: aorai_CurStates ≢ Init;
+      loop invariant Aorai: aorai_CurStates ≢ aorai_intermediate_state;
+      loop invariant Aorai: aorai_CurStates ≢ aorai_reject;
+  */
+  while (1) {
+    /*@ ghost aorai_Loop_Init_3 = 0; */
+    f();
+  }
+  main_post_func();
+  return;
+}
+
+
diff --git a/src/plugins/aorai/utils_parser.ml b/src/plugins/aorai/utils_parser.ml
index b3e46009328f22a9aef87e01a84946114bc67f65..5ceb0fa4042a37208a03e190dc762593328d7840 100644
--- a/src/plugins/aorai/utils_parser.ml
+++ b/src/plugins/aorai/utils_parser.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/yalexer.mll b/src/plugins/aorai/yalexer.mll
index a24e98a7e809795fc13ebcafd2868f24704a9db3..22443951159580d1065598530b1c2e810fad2c2d 100644
--- a/src/plugins/aorai/yalexer.mll
+++ b/src/plugins/aorai/yalexer.mll
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Aorai plug-in of Frama-C.                        *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*    INRIA (Institut National de Recherche en Informatique et en         *)
diff --git a/src/plugins/aorai/yaparser.mly b/src/plugins/aorai/yaparser.mly
index 20db3fb7c93a6a2ddb9a7b0aec0cbc3adc8b4e91..64f7a429d5c00f32a7d2a2cd129f8e1cc9cfb234 100644
--- a/src/plugins/aorai/yaparser.mly
+++ b/src/plugins/aorai/yaparser.mly
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Aorai plug-in of Frama-C.                        */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*    INRIA (Institut National de Recherche en Informatique et en         */
diff --git a/src/plugins/callgraph/Callgraph.mli b/src/plugins/callgraph/Callgraph.mli
index a3fad812d5798a6fd0d1c7a67038d03b3664f945..62a2fb73d12710ae78d3d458b8038cda2d2f86b1 100644
--- a/src/plugins/callgraph/Callgraph.mli
+++ b/src/plugins/callgraph/Callgraph.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/callgraph_api.mli b/src/plugins/callgraph/callgraph_api.mli
index 348e322af86da2c69a1a86ae5e9ddaec57055074..b584d46c5c14b1958cd89ca9617cff8fa0e7f3ce 100644
--- a/src/plugins/callgraph/callgraph_api.mli
+++ b/src/plugins/callgraph/callgraph_api.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/cg.ml b/src/plugins/callgraph/cg.ml
index 00111bb59dbd323c37bda5b39a2fd12c1f767223..9373f93f9d25e7a6be3f7ce87be71664588ccf2d 100644
--- a/src/plugins/callgraph/cg.ml
+++ b/src/plugins/callgraph/cg.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/cg.mli b/src/plugins/callgraph/cg.mli
index 97bbb6fb5a888c054b2fe301f328aa0e2b771eb3..5e618b9d70ec00e9f07d1028d8b95163907cfecf 100644
--- a/src/plugins/callgraph/cg.mli
+++ b/src/plugins/callgraph/cg.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/cg_viewer.ml b/src/plugins/callgraph/cg_viewer.ml
index a18999eafb6bc5c881a46d18c977848ccadcc37c..26f47325cfcf36a1f50705424bfee48b100a9f4c 100644
--- a/src/plugins/callgraph/cg_viewer.ml
+++ b/src/plugins/callgraph/cg_viewer.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/journalize.ml b/src/plugins/callgraph/journalize.ml
index 91c168b2ff2607030515abccffa1730ae2dd4366..2ac5a43428dfa2f9f56d8ff2e3f1dbb04d2d3c01 100644
--- a/src/plugins/callgraph/journalize.ml
+++ b/src/plugins/callgraph/journalize.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/journalize.mli b/src/plugins/callgraph/journalize.mli
index 0ca27be37a25038071a9dd3fb460e038106a235d..44890319dd4d9707f144ecf2b4801be4694cae5e 100644
--- a/src/plugins/callgraph/journalize.mli
+++ b/src/plugins/callgraph/journalize.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/options.ml b/src/plugins/callgraph/options.ml
index a1ff2536dbdcf252fd97a8c76543afad80187a3c..0b2871677733ce0e79af69eb121d9819b7749e65 100644
--- a/src/plugins/callgraph/options.ml
+++ b/src/plugins/callgraph/options.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/options.mli b/src/plugins/callgraph/options.mli
index d8e8e229569eb5fe8f70c2bdfe1ab5a50a690460..290810e64755d91920202a6f3ba612c240347eb7 100644
--- a/src/plugins/callgraph/options.mli
+++ b/src/plugins/callgraph/options.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/register.ml b/src/plugins/callgraph/register.ml
index 6f1ced2ca9ea1be23ab5318f4d53ccfb535313ec..f046df0b7f3b6ed4b2997a18dc334125c8888ee3 100644
--- a/src/plugins/callgraph/register.ml
+++ b/src/plugins/callgraph/register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/services.ml b/src/plugins/callgraph/services.ml
index 6d8b6c34ff0ce3fcb9eba3f552202cf0258c1d9f..ecb761dd1eead8defd7144e60fd5166760bb2ca5 100644
--- a/src/plugins/callgraph/services.ml
+++ b/src/plugins/callgraph/services.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/services.mli b/src/plugins/callgraph/services.mli
index 9733a5e491b3a9d16adeff927d62b80e33f0f1fe..f537ce226ff1d8f0f926f1bbaa4309b05a9c3d6f 100644
--- a/src/plugins/callgraph/services.mli
+++ b/src/plugins/callgraph/services.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/subgraph.ml b/src/plugins/callgraph/subgraph.ml
index 27085e6be631aff93ef2927f1bef3e8b4b07f724..969a12886f1af85bb394fed6ac1923092bf1af70 100644
--- a/src/plugins/callgraph/subgraph.ml
+++ b/src/plugins/callgraph/subgraph.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/subgraph.mli b/src/plugins/callgraph/subgraph.mli
index 9c7ff8210033051a9d2a5c77f45584bcf5d58eb8..ef561cce1b1f91ef26b0732beb48369128b75f75 100644
--- a/src/plugins/callgraph/subgraph.mli
+++ b/src/plugins/callgraph/subgraph.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/uses.ml b/src/plugins/callgraph/uses.ml
index f4bd94d6e3f21288ad960fca7f45d124e34dc767..58c8b81a2036ccbb2450581a5eeb45434985ab2c 100644
--- a/src/plugins/callgraph/uses.ml
+++ b/src/plugins/callgraph/uses.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/callgraph/uses.mli b/src/plugins/callgraph/uses.mli
index 69f1e4ec959c7d3f63b21f260c5b4f133d607da7..320c7b7da26cb8da8575f4d32cc3cd57b4cce512 100644
--- a/src/plugins/callgraph/uses.mli
+++ b/src/plugins/callgraph/uses.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/constant_propagation/Constant_Propagation.mli b/src/plugins/constant_propagation/Constant_Propagation.mli
index 33b2040a09d630d03f7ed33881abc0a8ebcb6f55..5969f008c33bf8a4bc3a69bc44b5b5340bdaf9bf 100644
--- a/src/plugins/constant_propagation/Constant_Propagation.mli
+++ b/src/plugins/constant_propagation/Constant_Propagation.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/constant_propagation/api.ml b/src/plugins/constant_propagation/api.ml
index 8ea4319170e08416560d7ade049fcd52f7875531..46fcc0277d1924079f5fb58beb5961283859f7e4 100644
--- a/src/plugins/constant_propagation/api.ml
+++ b/src/plugins/constant_propagation/api.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/constant_propagation/api.mli b/src/plugins/constant_propagation/api.mli
index 3e61053a15a4e0176a0f21b3bf1025595e21952a..d8cd950d17b0b17519b589f817884f74024b130b 100644
--- a/src/plugins/constant_propagation/api.mli
+++ b/src/plugins/constant_propagation/api.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/constant_propagation/propagationParameters.ml b/src/plugins/constant_propagation/propagationParameters.ml
index 49ffa61e46304e31f317415892d3ebfe8a2070e9..1259a0c4a724e2bf84f09958dd23a070b48c8c0d 100644
--- a/src/plugins/constant_propagation/propagationParameters.ml
+++ b/src/plugins/constant_propagation/propagationParameters.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/constant_propagation/propagationParameters.mli b/src/plugins/constant_propagation/propagationParameters.mli
index 6dc58cc7ca92892a0356408cecf3abd0a9f18dce..91eb9283161cd30d0f887a642536fa2219379328 100644
--- a/src/plugins/constant_propagation/propagationParameters.mli
+++ b/src/plugins/constant_propagation/propagationParameters.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/from/From.mli b/src/plugins/from/From.mli
index d3d628e24191e79edd3a046898535212788f05e4..350ec6695d6cb18466a2f4df4c2d2577a652065b 100644
--- a/src/plugins/from/From.mli
+++ b/src/plugins/from/From.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/from/callwise.ml b/src/plugins/from/callwise.ml
index 60bf2c21ff4ed839a67d1e9b6f114ee68e9c3b63..d3c693b33c20200da2d0c76b9708b7052e3ba22a 100644
--- a/src/plugins/from/callwise.ml
+++ b/src/plugins/from/callwise.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/from/callwise.mli b/src/plugins/from/callwise.mli
index b6baae4b13eae5669531d67f21034291118e053d..19763a686e2fd29ae3347b37168669073055e9e4 100644
--- a/src/plugins/from/callwise.mli
+++ b/src/plugins/from/callwise.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/from/from_compute.ml b/src/plugins/from/from_compute.ml
index e981214f5801e59818080b49c4cbe96adcffb5aa..6217f6e42a334e014d44f07a1b24e1da0039c2b2 100644
--- a/src/plugins/from/from_compute.ml
+++ b/src/plugins/from/from_compute.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/from/from_compute.mli b/src/plugins/from/from_compute.mli
index 6da5695b3a197006f340ca54012b1218e3f3cde2..67c6424c758322397fb10f4db7a9f416c8c204ee 100644
--- a/src/plugins/from/from_compute.mli
+++ b/src/plugins/from/from_compute.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/from/from_parameters.ml b/src/plugins/from/from_parameters.ml
index 5a630f7d465b7ef77317df86038f8c0600aacf28..199db3316bef06476de4ca4a0d40413573718714 100644
--- a/src/plugins/from/from_parameters.ml
+++ b/src/plugins/from/from_parameters.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/from/from_parameters.mli b/src/plugins/from/from_parameters.mli
index 4e852c31bdc23ba375846fd0dc87d63f3e20caf4..8ec0e89c1f80e3780ab80d06b9241efe6c76235e 100644
--- a/src/plugins/from/from_parameters.mli
+++ b/src/plugins/from/from_parameters.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/from/from_register.ml b/src/plugins/from/from_register.ml
index 37f9782714d84cfaafad88a764c36ef6adef8ca8..a94fe66d8942f1c3737a79c75fb55a994cf77254 100644
--- a/src/plugins/from/from_register.ml
+++ b/src/plugins/from/from_register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/from/from_register.mli b/src/plugins/from/from_register.mli
index 0d64e5863e84a8b99130e01e29936e8d65f48fd7..12f4614f4d769fa7061c0347c96e01f25387d98c 100644
--- a/src/plugins/from/from_register.mli
+++ b/src/plugins/from/from_register.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/from/from_register_gui.ml b/src/plugins/from/from_register_gui.ml
index debc860af56fb541652a743a910c1d9534392b51..25ad337ee723ff730b3456eacd163085cf247afb 100644
--- a/src/plugins/from/from_register_gui.ml
+++ b/src/plugins/from/from_register_gui.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/from/from_register_gui.mli b/src/plugins/from/from_register_gui.mli
index 1a2267ff8c6dfa201f1c1a023da59664f678ee66..9388d8500a0e6b9b149fabdd82e322f1c2d6fc65 100644
--- a/src/plugins/from/from_register_gui.mli
+++ b/src/plugins/from/from_register_gui.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/from/functionwise.ml b/src/plugins/from/functionwise.ml
index 2503909a4f7d6ba9ad02d6ece0358ec42c69a459..66d83674fe4205892624c5fdf2c01c365a269c53 100644
--- a/src/plugins/from/functionwise.ml
+++ b/src/plugins/from/functionwise.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/from/functionwise.mli b/src/plugins/from/functionwise.mli
index b007d736e6717d12bfbdb5420aaf8918009d98d5..c986491ab554bef03788ef78c7018190b2c296bd 100644
--- a/src/plugins/from/functionwise.mli
+++ b/src/plugins/from/functionwise.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/GSourceView2.ml.in b/src/plugins/gui/GSourceView2.ml.in
new file mode 100644
index 0000000000000000000000000000000000000000..4e29ebc67e652ab7109a56490a2e8fbe067c8864
--- /dev/null
+++ b/src/plugins/gui/GSourceView2.ml.in
@@ -0,0 +1,37 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(** compatibility layer between gtksourceview 2 and 3. *)
+include GSourceView2
+
+let make_marker_attributes
+  ~(source:source_view)
+  ~(category:string)
+  ~(priority: int)
+  ?(background: Gdk.color option)
+  ?(pixbuf:GdkPixbuf.pixbuf option)
+  ?(icon_name:string option)
+  () =
+  ignore icon_name; (* not in lablgtk2. *)
+  source#set_mark_category_priority ~category priority;
+  source#set_mark_category_pixbuf ~category pixbuf;
+  source#set_mark_category_background ~category background
diff --git a/src/plugins/gui/GSourceView2.mli.in b/src/plugins/gui/GSourceView2.mli.in
new file mode 100644
index 0000000000000000000000000000000000000000..4fbb9cf7b48fe706adafbaca81d998f9ce41834a
--- /dev/null
+++ b/src/plugins/gui/GSourceView2.mli.in
@@ -0,0 +1,34 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* compatibility between gtksourceview 2 and 3. *)
+include module type of GSourceView2
+
+val make_marker_attributes:
+  source:source_view ->
+  category:string ->
+  priority: int ->
+  ?background: Gdk.color ->
+  ?pixbuf:GdkPixbuf.pixbuf ->
+  ?icon_name:string ->
+  unit ->
+  unit
diff --git a/src/plugins/gui/GSourceView3.ml.in b/src/plugins/gui/GSourceView3.ml.in
new file mode 100644
index 0000000000000000000000000000000000000000..1bb745b6611d6288aa837a926206c1231448d95e
--- /dev/null
+++ b/src/plugins/gui/GSourceView3.ml.in
@@ -0,0 +1,38 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(** compatibility layer between gtksourceview 2 and 3. *)
+include GSourceView3
+
+let make_marker_attributes
+  ~(source:source_view)
+  ~(category:string)
+  ~(priority: int)
+  ?(background: Gdk.rgba option)
+  ?(pixbuf:GdkPixbuf.pixbuf option)
+  ?(icon_name:string option)
+  () =
+  let my_attributes = GSourceView3.source_mark_attributes () in
+  Extlib.may my_attributes#set_background background;
+  Extlib.may my_attributes#set_pixbuf pixbuf;
+  Extlib.may my_attributes#set_icon_name icon_name;
+  source#set_mark_attributes ~category my_attributes priority
diff --git a/src/plugins/gui/GSourceView3.mli.in b/src/plugins/gui/GSourceView3.mli.in
new file mode 100644
index 0000000000000000000000000000000000000000..91bac811df4d50606c4bc91046f914d643763ef9
--- /dev/null
+++ b/src/plugins/gui/GSourceView3.mli.in
@@ -0,0 +1,34 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* compatibility between gtksourceview 2 and 3. *)
+include module type of GSourceView3
+
+val make_marker_attributes:
+  source:source_view ->
+  category:string ->
+  priority: int ->
+  ?background: Gdk.rgba ->
+  ?pixbuf:GdkPixbuf.pixbuf ->
+  ?icon_name:string ->
+  unit ->
+  unit
diff --git a/src/plugins/gui/analyses_manager.ml b/src/plugins/gui/analyses_manager.ml
index 5d895ae53bd2df8c3f29b66e4f3db01697f1834e..787a26083c232db5a65042182e836aba4ff9dcc3 100644
--- a/src/plugins/gui/analyses_manager.ml
+++ b/src/plugins/gui/analyses_manager.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/analyses_manager.mli b/src/plugins/gui/analyses_manager.mli
index 0741d3d824dc12ca0e9346537efb24face2638a1..3cbf6ac4282feb762ec5e2545733c58ba11984ee 100644
--- a/src/plugins/gui/analyses_manager.mli
+++ b/src/plugins/gui/analyses_manager.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/book_manager.ml b/src/plugins/gui/book_manager.ml
index 6b8d8785350055d8c59a7c7ea77d5130ef90e1d6..a00f5534f68ed7a5b23ff06b030a70918b5a8afa 100644
--- a/src/plugins/gui/book_manager.ml
+++ b/src/plugins/gui/book_manager.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -24,7 +24,7 @@ let dkey = Gui_parameters.register_category "book_manager"
 
 module Q = Qstack.Make
     (struct
-      type t = GSourceView2.source_view
+      type t = GSourceView.source_view
       let equal x y = x == y
     end)
 
@@ -112,7 +112,7 @@ let delete_all_views (t:t) =
   Q.iter (fun _ -> t.notebook#remove_page 0) t.views;
   Q.clear t.views
 
-let append_view (t:t) (v:GSourceView2.source_view) =
+let append_view (t:t) (v:GSourceView.source_view) =
   let nb =  t.notebook in
   let next =  Q.length t.views in
   let text = Printf.sprintf "Page %d" next in
diff --git a/src/plugins/gui/book_manager.mli b/src/plugins/gui/book_manager.mli
index 3d96b5f103caad40097aaef574317023dd4586ef..697bfdf7de15caf0cb3888a6a46116fa3e39e562 100644
--- a/src/plugins/gui/book_manager.mli
+++ b/src/plugins/gui/book_manager.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -34,9 +34,9 @@ val make:
 
 val get_notebook: t -> GPack.notebook
 
-val append_source_tab : t -> string -> GSourceView2.source_view
+val append_source_tab : t -> string -> GSourceView.source_view
 
-val prepend_source_tab : t -> string -> GSourceView2.source_view
+val prepend_source_tab : t -> string -> GSourceView.source_view
 
 val get_nth_page: t -> int -> GObj.widget
 
@@ -46,7 +46,7 @@ val last_page: t -> int
 
 val set_current_view: t -> int -> unit
 
-val get_current_view: t -> GSourceView2.source_view
+val get_current_view: t -> GSourceView.source_view
 
 val get_current_index: t -> int
 
@@ -56,9 +56,9 @@ val delete_view: t -> int -> unit
 
 val delete_all_views: t -> unit
 
-val append_view: t -> GSourceView2.source_view -> unit
+val append_view: t -> GSourceView.source_view -> unit
 
-val get_nth_view:  t -> int -> GSourceView2.source_view
+val get_nth_view:  t -> int -> GSourceView.source_view
 
 val enable_popup : t -> bool -> unit
 
diff --git a/src/plugins/gui/debug_manager.ml b/src/plugins/gui/debug_manager.ml
index 4d7e45a1d505eca845707c743f67b47296ad77c9..8f6be189f5ba1e1555accccd1d2a05be6cf2c414 100644
--- a/src/plugins/gui/debug_manager.ml
+++ b/src/plugins/gui/debug_manager.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -49,9 +49,7 @@ let graph_window main_window title mk_view =
   let height = int_of_float (float main_window#default_height *. 3. /. 4.) in
   let width = int_of_float (float main_window#default_width *. 3. /. 4.) in
   let window =
-    GWindow.window
-      ~width ~height ~title ~allow_shrink:true ~allow_grow:true
-      ~position:`CENTER ()
+    GWindow.window ~width ~height ~title ~resizable:true ~position:`CENTER ()
   in
   let view = mk_view ~packing:window#add () in
   window#show ();
diff --git a/src/plugins/gui/debug_manager.mli b/src/plugins/gui/debug_manager.mli
index 0741d3d824dc12ca0e9346537efb24face2638a1..3cbf6ac4282feb762ec5e2545733c58ba11984ee 100644
--- a/src/plugins/gui/debug_manager.mli
+++ b/src/plugins/gui/debug_manager.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/design.ml b/src/plugins/gui/design.ml
index d695a38cb3a02e8a70074293c30ec6e5127737e6..eb1636c296c32fb083ff6359c212595fcdf6410c 100644
--- a/src/plugins/gui/design.ml
+++ b/src/plugins/gui/design.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -34,7 +34,7 @@ let use_external_viewer = false
 
 class type reactive_buffer = object
   inherit error_manager
-  method buffer : GSourceView2.source_buffer
+  method buffer : GSourceView.source_buffer
   method locs : Pretty_source.Locs.state
   method rehighlight: unit
   method redisplay: unit
@@ -61,7 +61,7 @@ class type main_window_extension_points = object
   (** Pretty print a message in the [annot_window]. *)
 
   method launcher : unit -> unit
-  method source_viewer : GSourceView2.source_view
+  method source_viewer : GSourceView.source_view
   method source_viewer_scroll : GBin.scrolled_window
   method display_globals : global list -> unit
   method register_source_selector :
@@ -657,20 +657,19 @@ struct
   let fold_category = "fold"
   let unfold_category = "unfold"
 
-  let declare_markers (source:GSourceView2.source_view) =
-    source#set_mark_category_pixbuf
-      ~category:fold_category (Some Gtk_helper.Icon.(get Fold));
-    source#set_mark_category_pixbuf
-      ~category:unfold_category (Some Gtk_helper.Icon.(get Unfold));
-    (* Sets a high prioriy so that the icon for folding and unfolding are
-       printed on top of the status bullets. *)
-    source#set_mark_category_priority ~category:fold_category 2;
-    source#set_mark_category_priority ~category:unfold_category 2;
+(*GTK3 does not exist anymore in gsourceview3. *)
+  let declare_markers (source:GSourceView.source_view) =
+    GSourceView.make_marker_attributes
+      ~source ~category:fold_category ~priority:2
+      ~pixbuf:(Gtk_helper.Icon.(get Fold)) ();
+    GSourceView.make_marker_attributes
+      ~source ~category:unfold_category ~priority:2
+      ~pixbuf:(Gtk_helper.Icon.(get Unfold)) ();
     List.iter
       (fun v ->
-         source#set_mark_category_pixbuf
-           ~category:(category v)
-           (Some (Gtk_helper.Icon.get (Gtk_helper.Icon.Feedback v))))
+         GSourceView.make_marker_attributes
+           ~source ~category:(category v) ~priority:1
+           ~pixbuf:(Gtk_helper.Icon.get (Gtk_helper.Icon.Feedback v)) ())
       [ F.Never_tried;
         F.Considered_valid;
         F.Valid;
@@ -695,19 +694,20 @@ struct
     Hashtbl.clear tooltip_marks;
     Hashtbl.clear call_sites
 
-  let mark (source:GSourceView2.source_buffer) ?call_site ~offset validity =
+  let mark (source:GSourceView.source_buffer) ?call_site ~offset validity =
     let iter = source#get_iter_at_char offset in
+    let mark = iter#set_line_offset 0 in
     let category = category validity in
-    source#remove_source_marks iter iter () ;
-    ignore (source#create_source_mark ~category iter) ;
+    source#remove_source_marks mark mark () ;
+    ignore (source#create_source_mark ~category mark) ;
     Hashtbl.replace tooltip_marks iter#line (long_category validity);
     match call_site with
     | None -> ()
     | Some stmt ->
       Hashtbl.replace call_sites iter#line stmt;
       if Pretty_source.are_preconds_unfolded stmt
-      then ignore (source#create_source_mark ~category:fold_category iter)
-      else ignore (source#create_source_mark ~category:unfold_category iter)
+      then ignore (source#create_source_mark ~category:fold_category mark)
+      else ignore (source#create_source_mark ~category:unfold_category mark)
 
 end
 
@@ -846,8 +846,7 @@ class main_window () : main_window_extension_points =
       ~width
       ~height
       ~position:`CENTER
-      ~allow_shrink:true
-      ~allow_grow:true
+      ~resizable:true
       ~show:false
       ()
   in
@@ -865,9 +864,7 @@ class main_window () : main_window_extension_points =
   in
   (* status bar (at bottom) *)
   (* toplevel_vbox->bottom_hbox-> *statusbar *)
-  let statusbar =
-    GMisc.statusbar ~has_resize_grip:false ~packing:bottom_hbox#add ()
-  in
+  let statusbar = GMisc.statusbar ~packing:bottom_hbox#add () in
   let status_context = statusbar#new_context "messages" in
 
   (* progress bar (at bottom) *)
@@ -1187,6 +1184,10 @@ class main_window () : main_window_extension_points =
       let show o =
         history (fun () -> History.push (History.Localizable loc));
         let iter = self#source_viewer#buffer#get_iter (`OFFSET o) in
+        Gui_parameters.debug
+          ~dkey:dkey_scroll "scrolling in current view at iter %d,%d"
+          iter#line iter#line_offset
+        ;
         ignore (self#source_viewer#backward_display_line_start iter);
         self#source_viewer#buffer#place_cursor iter;
         ignore (self#source_viewer#scroll_to_mark
@@ -1367,7 +1368,7 @@ class main_window () : main_window_extension_points =
        to be found (e.g. Ctrl+F). Otherwise, uses the last searched
        text (e.g. F3). *)
     method private focused_find_text use_dialog =
-      let find_text_in_viewer ~where (viewer : [`GTextViewer of GText.view |`GSourceViewer of GSourceView2.source_view]) text =
+      let find_text_in_viewer ~where (viewer : [`GTextViewer of GText.view |`GSourceViewer of GSourceView.source_view]) text =
         let buffer, scroll_to_iter =
           match viewer with
           | `GTextViewer v -> v#buffer,v#scroll_to_iter
@@ -1497,11 +1498,22 @@ class main_window () : main_window_extension_points =
               let abs_x = int_of_float (GdkEvent.Button.x_root ev) in
               (* This function returns the absolute position of the top window,
                  or the relative position of an intern widget. *)
+              let rec get_rel_from_main acc win =
+                let x = fst (Gdk.Window.get_position win) in
+                let acc = acc + x in
+                let win = Gdk.Window.get_parent win in
+                if Gobject.get_oid win =
+                   Gobject.get_oid main_window#misc#window
+                then acc
+                else get_rel_from_main acc win
+              in
               let get_x obj = fst (Gdk.Window.get_position obj#misc#window) in
               (* Absolute position of the main window on the screen. *)
               let window_abs_x = get_x main_window in
               (* Relative position of the source_viewer in the main windows. *)
-              let viewer_rel_x = get_x source_viewer in
+              let viewer_rel_x =
+                get_rel_from_main 0 source_viewer#misc#window
+              in
               (* Width of the bullet column in the source viewer. *)
               if abs_x - (window_abs_x + viewer_rel_x) < 20 then
                 begin
@@ -1513,15 +1525,76 @@ class main_window () : main_window_extension_points =
                   let line = iterpos#line in
                   try
                     let stmt = Hashtbl.find Feedback.call_sites line in
-                    let kf = Kernel_function.find_englobing_kf stmt in
                     Pretty_source.fold_preconds_at_callsite stmt;
-                    self#reactive_buffer#redisplay;
-                    self#scroll (PStmt (kf, stmt))
-                  with Not_found -> ()
+                    self#reset ();
+                    (* give some time for the sourceview to recompute
+                       its height, otherwise scrolling is broken. *)
+                    let has_stabilized = ref false in
+                    (* According to the blog post here
+                       https://picheta.me/articles/2013/08/gtk-plus--a-method-to-guarantee-scrolling.html
+                       the best way to check whether we have correctly scrolled
+                       is to retrieve the rectangle corresponding to the mark,
+                       the rectangle effectively displayed, and see whether
+                       the former is included in the latter.
+                    *)
+                    let check () =
+                      (* not entirely accurate because of
+                         the (un)fold action, but should do the trick.
+                         We will do the real scroll after stabilization
+                         anyway.
+                      *)
+                      let iter =
+                        source_viewer#buffer#get_iter (`LINE line)
+                      in
+                      let my_rect = source_viewer#get_iter_location iter in
+                      let visible_rect = source_viewer#visible_rect in
+                      (* in Gdk, x,y represents the top left corner of the
+                         rectangle. We just check whether the beginning of the
+                         selection is visible (we only have one line of text
+                         anyway). *)
+                      let res =
+                        Gdk.Rectangle.(
+                          y my_rect >= y visible_rect &&
+                          y my_rect <= y visible_rect + height visible_rect
+                        )
+                      in
+                      Gdk.Rectangle.(Gui_parameters.debug ~dkey:dkey_scroll
+                        "my  rect is %d (+%d) %d (+%d)@\n\
+                         vis rect is  %d (+%d) %d (+%d)@\n\
+                         my rect is visible: %B@."
+                        (x my_rect) (width my_rect) (y my_rect) (height my_rect)
+                        (x visible_rect) (width visible_rect) (y visible_rect)
+                        (height visible_rect) res);
+                      has_stabilized := res;
+                      (* when added as an idle procedure below, check will
+                         be removed whenever it returns false. *)
+                      not res
+                    in
+                    (* in case we were lucky and have stabilized directly. *)
+                    ignore (check());
+                    let proc = Glib.Idle.add check in
+                    (* in case we are unlucky, stop waiting after
+                       0.5 second and hope for the best. *)
+                    let alarm =
+                      Glib.Timeout.add
+                        ~ms:500
+                        ~callback:
+                          (fun () ->
+                             has_stabilized := true;
+                             Glib.Idle.remove proc;
+                             false)
+                    in
+                    while (not !has_stabilized) do
+                      (* do one main loop step so that buffer gets
+                         a chance to recompute its height. *)
+                      ignore (Glib.Main.iteration false)
+                    done;
+                    Glib.Timeout.remove alarm;
+                    self#view_stmt stmt;
+                 with Not_found -> ()
                 end;
               false)
       in
-
       let extra_accel_group = GtkData.AccelGroup.create () in
       GtkData.AccelGroup.connect extra_accel_group
         ~key:GdkKeysyms._F
diff --git a/src/plugins/gui/design.mli b/src/plugins/gui/design.mli
index 7c6da50093d8633d871bd005c4a3ad0c6612c5bf..37ab9e4416273be9edd135eb2350c49df2f09b53 100644
--- a/src/plugins/gui/design.mli
+++ b/src/plugins/gui/design.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -30,7 +30,7 @@ open Cil_types
     @since Beryllium-20090901 *)
 class type reactive_buffer = object
   inherit Gtk_helper.error_manager
-  method buffer : GSourceView2.source_buffer
+  method buffer : GSourceView.source_buffer
   method locs : Pretty_source.Locs.state
   method rehighlight : unit
   method redisplay : unit
@@ -122,7 +122,7 @@ class type main_window_extension_points = object
 
   (** {4 Source viewers}  *)
 
-  method source_viewer : GSourceView2.source_view
+  method source_viewer : GSourceView.source_view
   (** The [GText.view] showing the AST. *)
 
   method source_viewer_scroll : GBin.scrolled_window
@@ -172,7 +172,7 @@ class type main_window_extension_points = object
       top of the other.
 
       @modify Aluminium-20160501: receives a {!reactive_buffer} instead
-      of a {!GSourceView2.source_buffer} *)
+      of a {!GSourceView.source_buffer} *)
 
   method register_panel :
     (main_window_extension_points->(string*GObj.widget*(unit-> unit) option))
@@ -263,14 +263,14 @@ val reactive_buffer : main_window_extension_points ->
 module Feedback :
 sig
 
-  val declare_markers: GSourceView2.source_view -> unit
+  val declare_markers: GSourceView.source_view -> unit
   (** Declares the icons used for the property status bullets, as marks in
       the left-margin of the source buffer.
       These icons depend on the GUI theme, and must be reset when the
       theme is changed.
       @since Chlorine-20180501 *)
 
-  val mark : GSourceView2.source_buffer
+  val mark : GSourceView.source_buffer
     -> ?call_site:stmt
     -> offset:int
     -> Property_status.Feedback.t -> unit
diff --git a/src/plugins/gui/dgraph.ml.in b/src/plugins/gui/dgraph.ml.in
new file mode 100644
index 0000000000000000000000000000000000000000..f672460d995880f279523fed4cc47a9e9b3625a3
--- /dev/null
+++ b/src/plugins/gui/dgraph.ml.in
@@ -0,0 +1,38 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* dgraph module that always generates an error: Dgraph is not available
+   with gtk3
+*)
+
+module DGraphModel = struct
+  exception DotError of string
+end
+
+module DGraphContainer = struct
+  type status = Global | Tree | Both
+
+  module Dot = struct
+    let from_dot_with_commands ?packing:_ ?status:_ _ =
+      raise (DGraphModel.DotError "DGraph is unsupported in GTK3")
+  end
+end
diff --git a/src/plugins/gui/dgraph.mli.in b/src/plugins/gui/dgraph.mli.in
new file mode 100644
index 0000000000000000000000000000000000000000..5cf0b53f22586ca29745199c4b73efdbd7401939
--- /dev/null
+++ b/src/plugins/gui/dgraph.mli.in
@@ -0,0 +1,42 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* dgraph module that always generates an error: Dgraph is not available
+   with gtk3
+*)
+
+module DGraphModel: sig
+  exception DotError of string
+end
+
+module DGraphContainer: sig
+
+  type status = Global | Tree | Both
+
+  module Dot: sig
+    val from_dot_with_commands:
+      ?packing:(GObj.widget ->unit) ->
+      ?status:status ->
+      string ->
+        GPack.table * <adapt_zoom: unit -> unit>
+  end
+end
diff --git a/src/plugins/gui/file_manager.ml b/src/plugins/gui/file_manager.ml
index 2faba8cd78277ce2b9f7abbcd1ba77363fade909..ba532bf6bb70d030348711525496e36ee9584603 100644
--- a/src/plugins/gui/file_manager.ml
+++ b/src/plugins/gui/file_manager.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/file_manager.mli b/src/plugins/gui/file_manager.mli
index 0741d3d824dc12ca0e9346537efb24face2638a1..3cbf6ac4282feb762ec5e2545733c58ba11984ee 100644
--- a/src/plugins/gui/file_manager.mli
+++ b/src/plugins/gui/file_manager.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/filetree.ml b/src/plugins/gui/filetree.ml
index b835d12d195d52148fc8f004cb4e5b1bb246d5b2..025ade684ae402129dfc5500c43f66fafa9a3a0c 100644
--- a/src/plugins/gui/filetree.ml
+++ b/src/plugins/gui/filetree.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -630,7 +630,7 @@ let make (tree_view:GTree.view) =
       let column = GTree.view_column ~renderer:(renderer,[]) () in
       ignore (tree_view#append_column column);
       let label = GMisc.label ~text:title () in
-      (GData.tooltips ())#set_tip ~text:tooltip label#coerce;
+      Gtk_helper.do_tooltip ~tooltip label;
       column#set_widget (Some label#coerce);
       column#set_alignment 0.5;
       column#set_reorderable true;
diff --git a/src/plugins/gui/filetree.mli b/src/plugins/gui/filetree.mli
index 017026685aaffbef0e43ca09c47ee8d1a8bed43a..de1edcb4c22c05bae45a541e7b42f386b913beb5 100644
--- a/src/plugins/gui/filetree.mli
+++ b/src/plugins/gui/filetree.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/gtk_compat.2.ml b/src/plugins/gui/gtk_compat.2.ml
new file mode 100644
index 0000000000000000000000000000000000000000..945c310aa97880c02aa80cec3c2bd9b35f1da11b
--- /dev/null
+++ b/src/plugins/gui/gtk_compat.2.ml
@@ -0,0 +1,24 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+let get_toolbar_index (toolbar:GButton.toolbar) (item:GButton.tool_item) =
+  toolbar#get_item_index item
diff --git a/src/plugins/gui/gtk_compat.3.ml b/src/plugins/gui/gtk_compat.3.ml
new file mode 100644
index 0000000000000000000000000000000000000000..b29fa610143511694a30dbd7a1358e153bbafeb6
--- /dev/null
+++ b/src/plugins/gui/gtk_compat.3.ml
@@ -0,0 +1,23 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+let get_toolbar_index toolbar item = toolbar#get_item_index item#as_tool_item
diff --git a/src/plugins/gui/gtk_compat.mli b/src/plugins/gui/gtk_compat.mli
new file mode 100644
index 0000000000000000000000000000000000000000..61f6af64a07b6d382d0fb836b8f19b96049280dc
--- /dev/null
+++ b/src/plugins/gui/gtk_compat.mli
@@ -0,0 +1,23 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+val get_toolbar_index: GButton.toolbar -> GButton.tool_item -> int
diff --git a/src/plugins/gui/gtk_form.ml b/src/plugins/gui/gtk_form.ml
index 2054b86d0f53785a83780613f6f0dca96062ebeb..1a8acc5377e50963ad3ed17166eac4e33a6a4539 100644
--- a/src/plugins/gui/gtk_form.ml
+++ b/src/plugins/gui/gtk_form.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -40,12 +40,6 @@ type 'a field =
   ?tooltip:string -> packing:(GObj.widget -> unit) ->
   (unit -> 'a) -> ('a -> unit) -> demon -> unit
 
-let mk_tooltip ?tooltip obj = match tooltip with
-  | None -> ()
-  | Some text ->
-      let tooltip = GData.tooltips () in
-      tooltip#set_tip ~text obj#coerce
-
 (* ------------------------------------------------------------------------ *)
 (* --- Check Button                                                     --- *)
 (* ------------------------------------------------------------------------ *)
@@ -54,7 +48,7 @@ let check ?label ?tooltip ~packing get set demon =
   let button =
     GButton.check_button ?label ~packing ~active:(get ()) ()
   in
-  mk_tooltip ?tooltip button ;
+  Gtk_helper.do_tooltip ?tooltip button ;
   ignore (button#connect#toggled ~callback:(fun () -> set button#active));
   register demon (fun () -> button#set_active (get()))
 
@@ -88,7 +82,7 @@ let menu entries ?width ?tooltip ~packing get set demon =
     with Not_found -> ()
   in
   ignore (combo_box#connect#changed callback) ;
-  mk_tooltip ?tooltip combo_box ;
+  Gtk_helper.do_tooltip ?tooltip combo_box ;
   register demon update
 
 (* ------------------------------------------------------------------------ *)
@@ -105,7 +99,7 @@ let spinner ?(lower=0) ?(upper=max_int) ?width ?tooltip ~packing get set demon =
     if a<>b then set a in
   let update () = spin#adjustment#set_value (float (get ())) in
   ignore (spin#connect#value_changed ~callback) ;
-  mk_tooltip ?tooltip spin ;
+  Gtk_helper.do_tooltip ?tooltip spin ;
   register demon update
 
 (* ------------------------------------------------------------------------ *)
@@ -137,5 +131,5 @@ let label ~text ~packing () =
 
 let button ~label ?tooltip ~callback ~packing () =
   let b = GButton.button ~label ~packing () in
-  mk_tooltip ?tooltip b ;
+  Gtk_helper.do_tooltip ?tooltip b ;
   ignore (b#connect#clicked ~callback)
diff --git a/src/plugins/gui/gtk_form.mli b/src/plugins/gui/gtk_form.mli
index 4b13156156b3c9e89b6c050dcfde683aeb59a73d..0ca26309745a2c4e3bc5bae9f839d3e5346f87e5 100644
--- a/src/plugins/gui/gtk_form.mli
+++ b/src/plugins/gui/gtk_form.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/gtk_helper.ml b/src/plugins/gui/gtk_helper.ml
index 0846a32080233072d06895460030f95c9ae73788..63bbcd3c9f4535fb2d4bce5a5ed485aaec8db6a4 100644
--- a/src/plugins/gui/gtk_helper.ml
+++ b/src/plugins/gui/gtk_helper.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -359,9 +359,7 @@ type 'a chooser =
 
 let do_tooltip ?tooltip obj = match tooltip with
   | None -> ()
-  | Some text ->
-      let tooltip = GData.tooltips () in
-      tooltip#set_tip ~text obj#coerce
+  | Some text -> obj#coerce#misc#set_tooltip_text text
 
 let on_bool ?tooltip ?use_markup (container:GPack.box) label get set =
   let result = ref (get ()) in
@@ -550,10 +548,13 @@ let trace_event (w:GObj.event_ops) =
     | `DROP_FINISHED -> "drop-finish"
     | `CLIENT_EVENT -> "client-event"
     | `VISIBILITY_NOTIFY -> "visibility-notify"
-    | `NO_EXPOSE-> "no-expose"
+    (*GTK3 Event does not exist anymore *)
+    (*    | `NO_EXPOSE-> "no-expose" *)
     | `SCROLL -> "scroll"
     | `WINDOW_STATE -> "window-state"
     | `SETTING -> "setting"
+    (*GTK3: leave room for more events. *)
+    | _ -> "unknown-gtk3-event"
   in
   ignore (w#connect#any
             ~callback:(fun e ->
@@ -959,6 +960,45 @@ let source_files_chooser (main_ui: source_files_chooser_host) defaults f =
   dialog#show ();
   ()
 
+let default_dir = ref ""
+
+let select_file ?title ?(dir=default_dir) ?(filename="") () =
+  let filename =
+    if Filename.is_relative filename then
+      if !dir <> "" then !dir ^ "/" ^ filename
+      else ""
+    else begin
+      dir:= Filename.dirname filename;
+      filename
+    end
+  in
+  let dialog: GWindow.Buttons.file_selection GWindow.file_chooser_dialog =
+    GWindow.file_chooser_dialog
+      ~action:`OPEN
+      ?title
+      ~modal:true
+      ()
+  in
+  ignore (dialog#set_filename filename);
+  let result = ref None in
+  let action r =
+    (match r with
+     | `OK ->
+       let file = dialog#filename in
+       (match file with
+        | None -> ()
+        | Some file ->
+          dir := Filename.dirname file;
+          result := Some file)
+     | _ -> ());
+    dialog#destroy ()
+  in
+  dialog#add_select_button "Open" `OK;
+  dialog#add_button "Cancel" `CANCEL;
+  dialog#show ();
+  action (dialog#run ());
+  !result
+
 let spawn_command ?(timeout=0) ?stdout ?stderr s args f =
   let check_result = Command.command_async s ?stdout ?stderr args in
   let has_timeout = timeout > 0 in
@@ -984,8 +1024,8 @@ let graph_window ~parent ~title make_view =
   let width = int_of_float (float parent#default_width *. 3. /. 4.) in
   let graph_window =
     GWindow.window
-      ~width ~height ~title ~allow_shrink:true ~allow_grow:true
-      ~position:`CENTER () in
+      ~width ~height ~title ~resizable:true ~position:`CENTER ()
+  in
   let view = make_view ~packing:graph_window#add () in
   graph_window#show();
   view#adapt_zoom();
@@ -1017,6 +1057,16 @@ let graph_window_through_dot ~parent ~title dot_formatter =
       (Printexc.to_string exn)
 ;;
 
+let image_menu_item ~(image:GObj.widget) ~text ~packing =
+  let mi = GMenu.menu_item () in
+  let box =
+    GPack.hbox ~spacing:2 ~border_width:0 ~packing:mi#add ()
+  in
+  box#add image;
+  box#add (GMisc.label ~justify:`LEFT ~xalign:0. ~xpad:0 ~text ())#coerce;
+  packing mi;
+  mi
+
 (*
 Local Variables:
 compile-command: "make -C ../../.."
diff --git a/src/plugins/gui/gtk_helper.mli b/src/plugins/gui/gtk_helper.mli
index 679ebc2165cc9311ec086f817d689bb3248abbdc..37c82a18e9aa136c706fb35baa76c52a84bf370e 100644
--- a/src/plugins/gui/gtk_helper.mli
+++ b/src/plugins/gui/gtk_helper.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -162,11 +162,11 @@ val make_tag :
     create_tag : ?name:string -> GText.tag_property list -> GText.tag ; .. >
   -> name:string -> GText.tag_property list -> GText.tag
 
-val apply_tag : GSourceView2.source_buffer -> GText.tag -> int -> int -> unit
-val remove_tag : GSourceView2.source_buffer -> GText.tag -> int -> int -> unit
-val cleanup_tag : GSourceView2.source_buffer -> GText.tag -> unit
+val apply_tag : GSourceView.source_buffer -> GText.tag -> int -> int -> unit
+val remove_tag : GSourceView.source_buffer -> GText.tag -> int -> int -> unit
+val cleanup_tag : GSourceView.source_buffer -> GText.tag -> unit
 
-val cleanup_all_tags : GSourceView2.source_buffer -> unit
+val cleanup_all_tags : GSourceView.source_buffer -> unit
 
 (* ************************************************************************** *)
 (** {2 Channels} *)
@@ -321,6 +321,15 @@ val source_files_chooser:
   (string list -> unit) ->
   unit
 
+(** Launches a standard gtk file chooser window and returns the name
+    of the selected file. Replaces GToolbox.select_file that has not been
+    ported to lablgtk3.
+
+    @since Frama-C+dev
+*)
+val select_file:
+  ?title:string -> ?dir:(string ref)-> ?filename:string -> unit -> string option
+
 (* ************************************************************************** *)
 (** {2 Miscellaneous} *)
 (* ************************************************************************** *)
@@ -432,6 +441,16 @@ val graph_window_through_dot:
   (Format.formatter -> unit) ->
   unit
 
+(** calls the packing function to append a new menu item
+    with an icon and a label.
+    replaces GMenu.image_menu_item that has been deprecated in GTK3
+*)
+val image_menu_item:
+  image:GObj.widget ->
+  text: string ->
+  packing: (GMenu.menu_item -> unit) ->
+  GMenu.menu_item
+
 (*
 Local Variables:
 compile-command: "make -C ../../.."
diff --git a/src/plugins/gui/gui_parameters.ml b/src/plugins/gui/gui_parameters.ml
index fe643d590185a999f518c383b92e16e061a52629..8bbdf42c6a9470ce09ce6e23593a349c591d00c1 100644
--- a/src/plugins/gui/gui_parameters.ml
+++ b/src/plugins/gui/gui_parameters.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/gui_parameters.mli b/src/plugins/gui/gui_parameters.mli
index c01930e0da8232ec6dd2ba3ee4d2355b9c93d2a1..c205f24c1356d8e09b10e56ca447a94d3bea0d9d 100644
--- a/src/plugins/gui/gui_parameters.mli
+++ b/src/plugins/gui/gui_parameters.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/gui_printers.ml b/src/plugins/gui/gui_printers.ml
index 877033200d49626ac9a564472223a26a1be9a6fc..7ff3bd0ebf04fcbb140eb2648410456140f8c80f 100644
--- a/src/plugins/gui/gui_printers.ml
+++ b/src/plugins/gui/gui_printers.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/gui_printers.mli b/src/plugins/gui/gui_printers.mli
index 7ff1bb9eb34891ca171d3cc1b9c83e7eb3455da7..9a2a6a98420efa709c1807c727fc08e40c159d9c 100644
--- a/src/plugins/gui/gui_printers.mli
+++ b/src/plugins/gui/gui_printers.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/help_manager.ml b/src/plugins/gui/help_manager.ml
index 74077c4c5986735221125992067c1100fe953bb5..055d3b33c18c680a827179523038538884c4782f 100644
--- a/src/plugins/gui/help_manager.ml
+++ b/src/plugins/gui/help_manager.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/help_manager.mli b/src/plugins/gui/help_manager.mli
index 0741d3d824dc12ca0e9346537efb24face2638a1..3cbf6ac4282feb762ec5e2545733c58ba11984ee 100644
--- a/src/plugins/gui/help_manager.mli
+++ b/src/plugins/gui/help_manager.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/history.ml b/src/plugins/gui/history.ml
index 59666184e64350f7ad81c81b80e38f49dc26cf2c..d3b93d134ab5157d0d5401afed50607caeb28f57 100644
--- a/src/plugins/gui/history.ml
+++ b/src/plugins/gui/history.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/history.mli b/src/plugins/gui/history.mli
index d1ad34d8e0a7dbebcdc195083deeac5bf42a2747..fc0c35a5c08d6528d82ebe484a73f34ff609cc0a 100644
--- a/src/plugins/gui/history.mli
+++ b/src/plugins/gui/history.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/launcher.ml b/src/plugins/gui/launcher.ml
index 24761d0f03f493a6f77abbf0c2ead3deb7f63bd5..2ca7d6662843869e27bad911ff855e3cba0354ce 100644
--- a/src/plugins/gui/launcher.ml
+++ b/src/plugins/gui/launcher.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -253,11 +253,10 @@ let show ?height ?width ~(host:basic_main) () =
       ~title:"Launching analysis"
       ~modal:true
       ~position:`CENTER_ON_PARENT
-      ~allow_shrink:true
+      ~resizable:true
       ?width
       ?height
       ~parent:host#main_window
-      ~allow_grow:true
       ()
   in
   ignore (dialog#misc#connect#size_allocate
diff --git a/src/plugins/gui/launcher.mli b/src/plugins/gui/launcher.mli
index 7f19d5e23a4f122315679a4d31014f1473a6315d..3dff31269cd4fd784766742e9c5782ae890d711d 100644
--- a/src/plugins/gui/launcher.mli
+++ b/src/plugins/gui/launcher.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/menu_manager.ml b/src/plugins/gui/menu_manager.ml
index 0388411e620570cb58e3f13895611f70084c5a02..5fd3296da1ffcb65c4e41f94202129e6830df186 100644
--- a/src/plugins/gui/menu_manager.ml
+++ b/src/plugins/gui/menu_manager.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -165,7 +165,10 @@ class menu_manager ?packing ~host:(_:Gtk_helper.host) =
            By default, add all the others just before this very first group. *)
         ref (match pos, first_tool_separator with
             | None, None -> 0
-            | None, Some sep -> max 0 (toolbar#get_item_index sep)
+            | None, Some sep ->
+              max
+                0
+                (Gtk_compat.get_toolbar_index toolbar (sep:>GButton.tool_item))
             | Some p, _ -> p)
       in
       let toolbar_packing w =
@@ -213,7 +216,7 @@ class menu_manager ?packing ~host:(_:Gtk_helper.host) =
                 (fun () -> b#set_active (active ())) :: set_active_states;
               BToggle b
         in
-        (bt_type_as_skel b)#set_tooltip (GData.tooltips ()) tooltip "";
+        (bt_type_as_skel b)#misc#set_tooltip_text tooltip;
         toolbar_buttons <- (b, sensitive) :: toolbar_buttons;
         b
       in
@@ -249,12 +252,10 @@ class menu_manager ?packing ~host:(_:Gtk_helper.host) =
               ignore (mi#connect#activate callback);
               MStandard mi
           | Some stock, Unit_callback callback ->
-              let image = GMisc.image ~stock () in
-              let mi =
-                (GMenu.image_menu_item
-                   ~image ~packing:!!menubar_packing ~label ()
-                 :> GMenu.menu_item)
-              in
+              let image = (GMisc.image ~stock ~xalign:0. () :> GObj.widget) in
+              let text = label in
+              let packing = !!menubar_packing in
+              let mi = Gtk_helper.image_menu_item ~image ~text ~packing in
               ignore (mi#connect#activate callback);
               MStandard mi
           | _, Bool_callback (callback, active) ->
diff --git a/src/plugins/gui/menu_manager.mli b/src/plugins/gui/menu_manager.mli
index a833dc1a4aa1afc9f0306dc0b7fddf530d5d4a64..5c0ae0244b3315c05721bf88e6decf4b03012b87 100644
--- a/src/plugins/gui/menu_manager.mli
+++ b/src/plugins/gui/menu_manager.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/pretty_source.ml b/src/plugins/gui/pretty_source.ml
index 4b3263d04dec3295a5047a62bc3ab4a6e7f57c5a..ec69447e74d6e46727fb501cde80ce7bf861bd82 100644
--- a/src/plugins/gui/pretty_source.ml
+++ b/src/plugins/gui/pretty_source.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -641,11 +641,11 @@ module TagPrinterClassDeferred (X: Printer.PrinterClass) = struct
           Format.fprintf fmt "@{<%s>%a@}"
             (Tag.create (PIP ip)) (super#allocation ~isloop) a;
 
-    method! stmtkind next fmt sk =
+    method! stmtkind sattr next fmt sk =
       (* Special tag denoting the start of the statement, WITHOUT any ACSL
          assertion/statement contract, etc. *)
       let s = Extlib.the self#current_stmt in
-      Format.fprintf fmt "@{<gui:stmt_start%d>%a@}" s.sid (super#stmtkind next) sk
+      Format.fprintf fmt "@{<gui:stmt_start%d>%a@}" s.sid (super#stmtkind sattr next) sk
 
     initializer force_brace <- true
 
@@ -746,7 +746,7 @@ let buffer_formatter state source =
   gtk_fmt
 
 let display_source globals
-    (source:GSourceView2.source_buffer) ~(host:Gtk_helper.host)
+    (source:GSourceView.source_buffer) ~(host:Gtk_helper.host)
     ~highlighter ~selector state =
   Locs.clear state;
   host#protect
diff --git a/src/plugins/gui/pretty_source.mli b/src/plugins/gui/pretty_source.mli
index 2f7473458f9abf6e00020fd60e7211b448915652..452f6727f9c3217ba03954864aa1da903f57dc9c 100644
--- a/src/plugins/gui/pretty_source.mli
+++ b/src/plugins/gui/pretty_source.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -59,7 +59,7 @@ val are_preconds_unfolded: stmt -> bool
 
 val display_source :
   global list ->
-  GSourceView2.source_buffer ->
+  GSourceView.source_buffer ->
   host:Gtk_helper.host ->
   highlighter:(localizable -> start:int -> stop:int -> unit) ->
   selector:(button:int -> localizable -> unit) ->
diff --git a/src/plugins/gui/project_manager.ml b/src/plugins/gui/project_manager.ml
index abea1ed48444ccfd1823969b6098c29cc284846c..23a8ecc27f0dd7f4ebc02e4697896bd6fde88c3d 100644
--- a/src/plugins/gui/project_manager.ml
+++ b/src/plugins/gui/project_manager.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -218,10 +218,9 @@ and mk_project_entry window menu ?group p =
   let box = GPack.hbox ~packing:p_item#add () in
   ignore (GMisc.label ~text:pname ~packing:box#pack ());
   let buttons_box = GPack.hbox ~packing:(box#pack ~from:`END) () in
-  let tooltips = GData.tooltips () in
   let add_action stock text callback =
     let item = GButton.button ~packing:buttons_box#pack () in
-    tooltips#set_tip item#coerce ~text;
+    Gtk_helper.do_tooltip ~tooltip:text item;
     item#set_relief `NONE;
     let image = GMisc.image ~stock () in
     item#set_image image#coerce;
diff --git a/src/plugins/gui/project_manager.mli b/src/plugins/gui/project_manager.mli
index 49ff3d46f494a3655c26778d578f2aab0a588647..6ccde330cb950a0701a59c9c8d248b64f6052978 100644
--- a/src/plugins/gui/project_manager.mli
+++ b/src/plugins/gui/project_manager.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/property_navigator.ml b/src/plugins/gui/property_navigator.ml
index 56fecc89a1a59a6b7c12af6c60a887e2fc5c5104..360a6326434a7a78bcc33e5d870c14ec8421c977 100644
--- a/src/plugins/gui/property_navigator.ml
+++ b/src/plugins/gui/property_navigator.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -774,6 +774,7 @@ let highlighter (buffer:reactive_buffer) localizable ~start ~stop =
       in
       let ips_sure, ips_unsure = Kernel_function.Hptset.fold
           (fun kf (ips_sure, ips_unsure) ->
+             Statuses_by_call.setup_all_preconditions_proxies kf;
              let ips_kf =
                Statuses_by_call.all_call_preconditions_at ~warn_missing:false kf stmt
              in
diff --git a/src/plugins/gui/property_navigator.mli b/src/plugins/gui/property_navigator.mli
index 2f85e4cf6b39500db83e97d59efba0779909559f..3192d2fc5e3e5b1ddf3f4b95b2e85346c0637fce 100644
--- a/src/plugins/gui/property_navigator.mli
+++ b/src/plugins/gui/property_navigator.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/source_manager.ml b/src/plugins/gui/source_manager.ml
index 08704a4f1b475140291a96d98993b39f574d75be..41c8e7f23323716e3574ffcf1348ea52bee585c6 100644
--- a/src/plugins/gui/source_manager.ml
+++ b/src/plugins/gui/source_manager.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -25,7 +25,7 @@ type tab = {
   tab_file : Datatype.Filepath.t ;
   tab_page : int ;
   tab_select : line:int -> unit ;
-  tab_source_view : GSourceView2.source_view;
+  tab_source_view : GSourceView.source_view;
 }
 
 type t = {
diff --git a/src/plugins/gui/source_manager.mli b/src/plugins/gui/source_manager.mli
index 013cc6d35c6dfa65d11594e979a8b0b53c6cb8e4..8dcd10e6168beab275ca2f5f5969c1d80fab0a59 100644
--- a/src/plugins/gui/source_manager.mli
+++ b/src/plugins/gui/source_manager.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -45,7 +45,7 @@ val load_file:
 
 val select_file: t -> Datatype.Filepath.t -> unit (** Selection by page filename *)
 val select_name: t -> string -> unit (** Selection by page title *)
-val get_current_source_view : t -> GSourceView2.source_view
+val get_current_source_view : t -> GSourceView.source_view
 (** Returns the source viewer for the currently displayed tab *)
 
 val clear : t -> unit
diff --git a/src/plugins/gui/source_viewer.ml b/src/plugins/gui/source_viewer.ml
index 0b7d27c8cd10cb5cd251e864fb868df05fe3327d..8e811b6ff6a7267862d32510ae17cebd916ab78b 100644
--- a/src/plugins/gui/source_viewer.ml
+++ b/src/plugins/gui/source_viewer.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -23,9 +23,9 @@
 
 (* Build a read only text view for C source code. *)
 
-let set_language_to_C (buffer:GSourceView2.source_buffer)  =
+let set_language_to_C (buffer:GSourceView.source_buffer)  =
   let original_source_language_manager =
-    GSourceView2.source_language_manager ~default:true
+    GSourceView.source_language_manager ~default:true
   in
   let original_lang =
     original_source_language_manager#guess_language
@@ -44,7 +44,7 @@ let make ?name ~packing () =
          Utf8_logic.forall Utf8_logic.exists Utf8_logic.eq Utf8_logic.neq) ;
   *)
   let original_source_window =
-    GSourceView2.source_view
+    GSourceView.source_view
       ~show_line_numbers:true
       ~editable:false
       ~packing
@@ -69,6 +69,6 @@ let make ?name ~packing () =
 
 
 let buffer () =
-  let original_source_buffer = GSourceView2.source_buffer ()  in
+  let original_source_buffer = GSourceView.source_buffer ()  in
   set_language_to_C original_source_buffer;
   original_source_buffer
diff --git a/src/plugins/gui/source_viewer.mli b/src/plugins/gui/source_viewer.mli
index 7a3ef5e6ba0566ebff87867aa6539e429f22d927..5211d0a4d6233bc98f100226c150658448dc83cb 100644
--- a/src/plugins/gui/source_viewer.mli
+++ b/src/plugins/gui/source_viewer.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -24,8 +24,8 @@
     That is the buffer where Frama-C puts its pretty-printed AST. *)
 
 val make : ?name:string -> packing:(GObj.widget -> unit) -> unit ->
-  GSourceView2.source_view
+  GSourceView.source_view
 (** Build a new source viewer. *)
 
-val buffer : unit -> GSourceView2.source_buffer
+val buffer : unit -> GSourceView.source_buffer
 (** @return the buffer displaying the pretty-printed AST. *)
diff --git a/src/plugins/gui/warning_manager.ml b/src/plugins/gui/warning_manager.ml
index 33bad35ef988323e07a107a2ab9e5d91be300e88..c27f8f1070dd489bb877a35ee0597d8e7755f003 100644
--- a/src/plugins/gui/warning_manager.ml
+++ b/src/plugins/gui/warning_manager.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/warning_manager.mli b/src/plugins/gui/warning_manager.mli
index d183c9a6f1548fd7190017f3f048b4aacc370a15..f939649d13a06410b7416358a56a67378fd1e777 100644
--- a/src/plugins/gui/warning_manager.mli
+++ b/src/plugins/gui/warning_manager.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/wbox.ml b/src/plugins/gui/wbox.ml
index 5e09ab8e1a68955e92edcdce75414a6495644dd5..593d2c11a6a2a80a7833e6895d25d18bf324a942 100644
--- a/src/plugins/gui/wbox.ml
+++ b/src/plugins/gui/wbox.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/wbox.mli b/src/plugins/gui/wbox.mli
index 95a5698eaa4480b97074445c4a1f81b7fa050331..3cf819eb36ac278f6a07af3f760c791c668f0e29 100644
--- a/src/plugins/gui/wbox.mli
+++ b/src/plugins/gui/wbox.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/wfile.ml b/src/plugins/gui/wfile.ml
index b32f0aa306380ab548345e8716db3e0bb9eff4eb..9b1fb7d925918d9db898595b68668adbaff60b4e 100644
--- a/src/plugins/gui/wfile.ml
+++ b/src/plugins/gui/wfile.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -77,7 +77,8 @@ class button ?kind ?title ?select ?tooltip ?parent () =
   let fld = GMisc.label ~text:"(none)" ~xalign:0.0
       ~packing:(box#pack ~expand:true) () in
   let _ = GMisc.separator `VERTICAL
-      ~packing:(box#pack ~expand:false ~padding:2) ~show:true () in
+      ~packing:(box#pack ~expand:false ~padding:2) ~show:true ()
+  in
   let _ = GMisc.image  ~packing:(box#pack ~expand:false) ~stock:`OPEN () in
   let button = GButton.button () in
   let dialog = new dialog ?kind ?title ?select ?parent () in
diff --git a/src/plugins/gui/wfile.mli b/src/plugins/gui/wfile.mli
index 94f29291958eccbd30d773c35e1ad23bfc03088f..835f48352ea3231af7c8ad8b7e970a54f44e6c4a 100644
--- a/src/plugins/gui/wfile.mli
+++ b/src/plugins/gui/wfile.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/widget.ml b/src/plugins/gui/widget.ml
index bc9c1f649ce8d4077079dcd9d95f2c66d67727b7..c7aa3c8f8a3a53b1f775ca718d429a76ef8dfc13 100644
--- a/src/plugins/gui/widget.ml
+++ b/src/plugins/gui/widget.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -73,8 +73,8 @@ class label ?(style=`Label) ?(align=`Left) ?width ?text () =
       | Some c0 , `NORMAL ->
           w#misc#modify_fg [ `NORMAL , `COLOR c0 ]
       | None , (#GDraw.color as c) ->
-          fg <- Some (w#misc#style#fg `NORMAL) ;
-          w#misc#modify_fg [ `NORMAL , c ]
+        fg <- Some (w#misc#style#fg `NORMAL) ;
+        w#misc#modify_fg [ `NORMAL , c ]
       | Some _ , (#GDraw.color as c) ->
           w#misc#modify_fg [ `NORMAL , c ]
 
@@ -84,8 +84,8 @@ class label ?(style=`Label) ?(align=`Left) ?width ?text () =
       | Some c0 , `NORMAL ->
           w#misc#modify_bg [ `NORMAL , `COLOR c0 ]
       | None , (#GDraw.color as c) ->
-          bg <- Some (w#misc#style#bg `NORMAL) ;
-          w#misc#modify_bg [ `NORMAL , c ]
+        bg <- Some (w#misc#style#bg `NORMAL) ;
+        w#misc#modify_bg [ `NORMAL , c ]
       | Some _ , (#GDraw.color as c) ->
           w#misc#modify_bg [ `NORMAL , c ]
 
@@ -428,7 +428,7 @@ class popup () =
 
     method add_item ~label ~callback =
       if not empty && separator then
-        ignore (GMenu.separator_item ~packing:menu#append ()) ;
+        ignore (GMenu.separator_item ~packing:menu#append ());
       let item = GMenu.menu_item ~label ~packing:menu#append () in
       ignore (item#connect#activate ~callback) ;
       empty <- false ; separator <- false
diff --git a/src/plugins/gui/widget.mli b/src/plugins/gui/widget.mli
index 54f04b43e0c4bc40a0fb1db6b5e7337c76f5ead7..1e2d10f714bfa474ffeb2d57ff62280ae14576cd 100644
--- a/src/plugins/gui/widget.mli
+++ b/src/plugins/gui/widget.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/wpalette.ml b/src/plugins/gui/wpalette.ml
index 497541b42f1c2bdc444c85d122c68840c665cc8f..b09ce3428296699ec841646223f4c3756c993dae 100644
--- a/src/plugins/gui/wpalette.ml
+++ b/src/plugins/gui/wpalette.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/wpalette.mli b/src/plugins/gui/wpalette.mli
index aaf07c501b3868fecc07583a008837979ffbbc4f..46640567b9936a871c18cc41a1ca742c8d85c600 100644
--- a/src/plugins/gui/wpalette.mli
+++ b/src/plugins/gui/wpalette.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/wpane.ml b/src/plugins/gui/wpane.ml
index 582ded99e873539e52573aef07d1967472eefb90..9f38f615462995d21eb459623eb3e69e7295f95f 100644
--- a/src/plugins/gui/wpane.ml
+++ b/src/plugins/gui/wpane.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -217,7 +217,7 @@ class ['a] dialog ~title ~window ?(resize=false) () =
   let shell = GWindow.window
       ~title ~kind:`TOPLEVEL ~modal:true
       ~show:false ~decorated:true ~position:`CENTER_ON_PARENT
-      ~allow_grow:resize ()
+      ~resizable:resize ()
   in
 
   let hclip = GBin.alignment ~packing:shell#add () in
diff --git a/src/plugins/gui/wpane.mli b/src/plugins/gui/wpane.mli
index 523c1ceb1d219f8c96d6b11695d2da5a1c9cdfdd..b7c9d371b433bf23b041e1a5bc4e56f4f7221822 100644
--- a/src/plugins/gui/wpane.mli
+++ b/src/plugins/gui/wpane.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/wtable.ml b/src/plugins/gui/wtable.ml
index c6a8db052f516441f0a9c716d81cf084a506446c..d860a0fda1edf3f73f37671b5dedb808d9ec3b1d 100644
--- a/src/plugins/gui/wtable.ml
+++ b/src/plugins/gui/wtable.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/wtable.mli b/src/plugins/gui/wtable.mli
index e7fac74e6b76ccdb8afe5ee4dbead3caf228279d..3486654303d26980f5d20f4e944c7c5781a0f732 100644
--- a/src/plugins/gui/wtable.mli
+++ b/src/plugins/gui/wtable.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/wtext.ml b/src/plugins/gui/wtext.ml
index 828f80eb5b46279c5dfc433e069c97842df22042..53537274b92620d81cca223a4145bb68aaf8c66d 100644
--- a/src/plugins/gui/wtext.ml
+++ b/src/plugins/gui/wtext.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/wtext.mli b/src/plugins/gui/wtext.mli
index e2db70110515e9ebaa50847033a9efea13b7997c..75c7b4038841cfae30a595683ac6fea94fd80875 100644
--- a/src/plugins/gui/wtext.mli
+++ b/src/plugins/gui/wtext.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/wutil.ml b/src/plugins/gui/wutil.ml
index e9bc08890aaf9c46128b7cf644cb8649136aac5d..64421cb491ca77aab6056815a257086b0a8d803f 100644
--- a/src/plugins/gui/wutil.ml
+++ b/src/plugins/gui/wutil.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/gui/wutil.mli b/src/plugins/gui/wutil.mli
index fd8080c4180b22fd17b6cb87a51ab595d163e83c..aa07048eedd8128813b0655684314b569fed8b57 100644
--- a/src/plugins/gui/wutil.mli
+++ b/src/plugins/gui/wutil.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/impact/Impact.mli b/src/plugins/impact/Impact.mli
index a5f48194f59239c24e5e41ffc15d98fcc328cbfe..5229c6a171611d5aa4d1a92f6615f2d7670e8c6c 100644
--- a/src/plugins/impact/Impact.mli
+++ b/src/plugins/impact/Impact.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/impact/compute_impact.ml b/src/plugins/impact/compute_impact.ml
index 7469c4bdd437974f8c72fd2ca36e8b2ecd26fe3c..9755c2489b728b74a59b81d49b507f9db090d7ea 100644
--- a/src/plugins/impact/compute_impact.ml
+++ b/src/plugins/impact/compute_impact.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/impact/compute_impact.mli b/src/plugins/impact/compute_impact.mli
index 5dae2604fdeb4ab0b2e07ba73c828fbc451e1d6d..2364e194d9ffb44eb9c51598fd387e61e010c1fd 100644
--- a/src/plugins/impact/compute_impact.mli
+++ b/src/plugins/impact/compute_impact.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/impact/options.ml b/src/plugins/impact/options.ml
index fce8d81baf85409f0c266795de46481e9e15f4e3..ebf40c8b2fda93f2ff4161e7cbb8aeb5607b6498 100644
--- a/src/plugins/impact/options.ml
+++ b/src/plugins/impact/options.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/impact/options.mli b/src/plugins/impact/options.mli
index ee4462716b6b7ab29c5aec9000952b5578db340f..3b406d65b2972d1ba5ff6d691d8204ef3c851443 100644
--- a/src/plugins/impact/options.mli
+++ b/src/plugins/impact/options.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/impact/pdg_aux.ml b/src/plugins/impact/pdg_aux.ml
index 212ff56a1345c1cbbd8f96c04f93f6bb6724c223..e6eb1eb05068b4adef86c7e9f958e1a9f920bb71 100644
--- a/src/plugins/impact/pdg_aux.ml
+++ b/src/plugins/impact/pdg_aux.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/impact/pdg_aux.mli b/src/plugins/impact/pdg_aux.mli
index 23e6d05b546a00408abe992f860254477c8bc536..94e0d409cd04671ec03407575c3c5d9fdd30e2e7 100644
--- a/src/plugins/impact/pdg_aux.mli
+++ b/src/plugins/impact/pdg_aux.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/impact/reason_graph.ml b/src/plugins/impact/reason_graph.ml
index d800e760a73e34c3cc5b04a8c2497a311b8e5e4b..105e52e8137497b06ca8870dbaa70666c37160d6 100644
--- a/src/plugins/impact/reason_graph.ml
+++ b/src/plugins/impact/reason_graph.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/impact/register.ml b/src/plugins/impact/register.ml
index 92619e2f2cc329c56824c1a5e84bfbd0e5db7b94..ddb6192baff94fd3579868f2317d9eac21f54f03 100644
--- a/src/plugins/impact/register.ml
+++ b/src/plugins/impact/register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/impact/register_gui.ml b/src/plugins/impact/register_gui.ml
index a4a6d79740dac47aefd89442aecf8584adad557b..8d5440c104e789c97c1057151d64ef8d26847445 100644
--- a/src/plugins/impact/register_gui.ml
+++ b/src/plugins/impact/register_gui.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -167,9 +167,7 @@ let reason_graph_window main_window ?in_kf reason =
     let height = int_of_float (float main_window#default_height *. 3. /. 4.) in
     let width = int_of_float (float main_window#default_width *. 3. /. 4.) in
     let window =
-      GWindow.window
-	~width ~height ~allow_shrink:true ~allow_grow:true
-	~position:`CENTER ()
+      GWindow.window ~width ~height ~resizable:true ~position:`CENTER ()
     in
     let view = reason_graph ~packing:window#add in
     window#show ();
diff --git a/src/plugins/impact/register_gui.mli b/src/plugins/impact/register_gui.mli
index 2df5ce4f6f9bc993b91552f9f3c72492067b8173..7dd3f590611a44adb96d21928184cbc1b7453dba 100644
--- a/src/plugins/impact/register_gui.mli
+++ b/src/plugins/impact/register_gui.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/inout/Inout.mli b/src/plugins/inout/Inout.mli
index e06b12d09de053ce1888e750c127b5ef7b4a1f61..7b269eb66e735955a93bfffde84624208a6d511c 100644
--- a/src/plugins/inout/Inout.mli
+++ b/src/plugins/inout/Inout.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/inout/context.mli b/src/plugins/inout/context.mli
index 691624a18d43a934503ff0cee5be090383f5d656..1e995906cded2b8932a0d6561d248aabcd7bd6b8 100644
--- a/src/plugins/inout/context.mli
+++ b/src/plugins/inout/context.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/inout/cumulative_analysis.ml b/src/plugins/inout/cumulative_analysis.ml
index 3a5f4085c0b4e5c48368f187248a3bc5e6b6c393..ca86a013946ae195cc20b412acad4dbb69ecfe87 100644
--- a/src/plugins/inout/cumulative_analysis.ml
+++ b/src/plugins/inout/cumulative_analysis.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/inout/cumulative_analysis.mli b/src/plugins/inout/cumulative_analysis.mli
index 328064a9ab740ff0e862454791f0fa69f01f3322..7844837205097c48d1c9ee32e21a0776190d9f29 100644
--- a/src/plugins/inout/cumulative_analysis.mli
+++ b/src/plugins/inout/cumulative_analysis.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/inout/derefs.ml b/src/plugins/inout/derefs.ml
index c218e2c227ba4b2fde44040bbea15c84c7469bfe..17ef8fb7dd3197553754330618873ec11af6eadb 100644
--- a/src/plugins/inout/derefs.ml
+++ b/src/plugins/inout/derefs.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/inout/derefs.mli b/src/plugins/inout/derefs.mli
index 4739b8f6acf4a90fdf5fd396142d1073243f9a5f..292b58e0922204772d134a18170fb9c8a7da88f1 100644
--- a/src/plugins/inout/derefs.mli
+++ b/src/plugins/inout/derefs.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/inout/inout_parameters.ml b/src/plugins/inout/inout_parameters.ml
index ded19972913da7b04451bc9f2d61ef0b7b412329..d7d36cd91c2412a91784b8669f97e5ec66c8a70f 100644
--- a/src/plugins/inout/inout_parameters.ml
+++ b/src/plugins/inout/inout_parameters.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/inout/inout_parameters.mli b/src/plugins/inout/inout_parameters.mli
index af8466915a7e1b22a32d1bbbbc1d9979d0023d1d..f8b4b5323434219510c8465c1ae98a0a95860a3c 100644
--- a/src/plugins/inout/inout_parameters.mli
+++ b/src/plugins/inout/inout_parameters.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/inout/inputs.ml b/src/plugins/inout/inputs.ml
index 70053c1b14551519c4390d8776a4abb70cb5c8d2..2819a6864d3f9c3bc155efdc1e2cdad6f51cc583 100644
--- a/src/plugins/inout/inputs.ml
+++ b/src/plugins/inout/inputs.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/inout/inputs.mli b/src/plugins/inout/inputs.mli
index b230b68870f17ade086a86b867a3f1f234b68581..ba2009189b5dc82d4e0b1d82ecdb55667f7a7d9a 100644
--- a/src/plugins/inout/inputs.mli
+++ b/src/plugins/inout/inputs.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/inout/operational_inputs.ml b/src/plugins/inout/operational_inputs.ml
index bb8055aa2baa74ad4aa983c7ab1b4118ded0bb1d..2cb17a9f3117cab4c8b0094832818263a62a7124 100644
--- a/src/plugins/inout/operational_inputs.ml
+++ b/src/plugins/inout/operational_inputs.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/inout/outputs.ml b/src/plugins/inout/outputs.ml
index 3ffd7ce047ee8aa02a80c0786d049899c6dc7696..35e15968f181dfbce0c2683dd9af346f27e776a0 100644
--- a/src/plugins/inout/outputs.ml
+++ b/src/plugins/inout/outputs.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/inout/outputs.mli b/src/plugins/inout/outputs.mli
index 9b15efee1c6f29139dec774a3febd4238130041b..c5026b234a2044a3630c4a0f08455ed0cbaab284 100644
--- a/src/plugins/inout/outputs.mli
+++ b/src/plugins/inout/outputs.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/inout/register.ml b/src/plugins/inout/register.ml
index a5be604821f752102bbdb5882586dcb9f5cd512f..8c1cfc00480ef89b21bf86ae5ffc4e9c0c962b7c 100644
--- a/src/plugins/inout/register.ml
+++ b/src/plugins/inout/register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/loop_analysis/LoopAnalysis.mli b/src/plugins/loop_analysis/LoopAnalysis.mli
index f1a198c8e31fc53622b6efb24fef65586dc0af0a..a8ebbc54d3e9a276856d89421f151187ac38198c 100644
--- a/src/plugins/loop_analysis/LoopAnalysis.mli
+++ b/src/plugins/loop_analysis/LoopAnalysis.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/loop_analysis/Makefile.in b/src/plugins/loop_analysis/Makefile.in
index a4db47c12aee8da2b9c5de8f84abb0ce98a73a78..e835d79087e0263d335e09d82339dc428bf9cae6 100644
--- a/src/plugins/loop_analysis/Makefile.in
+++ b/src/plugins/loop_analysis/Makefile.in
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/loop_analysis/configure.ac b/src/plugins/loop_analysis/configure.ac
index c3ee573ee5855256589f71b8e8b6b4bb26eb62d3..fef407134e857a48c481bc6a9287658792ba206f 100644
--- a/src/plugins/loop_analysis/configure.ac
+++ b/src/plugins/loop_analysis/configure.ac
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/loop_analysis/loop_analysis.ml b/src/plugins/loop_analysis/loop_analysis.ml
index 92bef5b6d808b3e5f12489bab3f488a33118319c..de7974e693b2dbf55feef29cd5271fc1bdbc12a7 100644
--- a/src/plugins/loop_analysis/loop_analysis.ml
+++ b/src/plugins/loop_analysis/loop_analysis.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/loop_analysis/loop_analysis.mli b/src/plugins/loop_analysis/loop_analysis.mli
index 4c7348d319079c1253121b4c8dda54b9491a75f2..c81b6d9dd66291f4bd89d5ba7aa068ec2fd0095c 100644
--- a/src/plugins/loop_analysis/loop_analysis.mli
+++ b/src/plugins/loop_analysis/loop_analysis.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/loop_analysis/options.ml b/src/plugins/loop_analysis/options.ml
index 035857981698216076a6937e5b042f36e27b037c..58848be42e5c1533a915fe22df28d5cc5193cf5f 100644
--- a/src/plugins/loop_analysis/options.ml
+++ b/src/plugins/loop_analysis/options.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/loop_analysis/options.mli b/src/plugins/loop_analysis/options.mli
index 9111b3a180ee7e89018e3f89b5ce641e4c670500..1a6d952eeb0ff40da17f7ee72883c3e52684a781 100644
--- a/src/plugins/loop_analysis/options.mli
+++ b/src/plugins/loop_analysis/options.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/loop_analysis/region_analysis.ml b/src/plugins/loop_analysis/region_analysis.ml
index 61d246c017ca70a6e311abb30427ea0a8ba65009..1031f4e2836d87e4e123fb19d70cf30bc8505863 100644
--- a/src/plugins/loop_analysis/region_analysis.ml
+++ b/src/plugins/loop_analysis/region_analysis.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/loop_analysis/region_analysis.mli b/src/plugins/loop_analysis/region_analysis.mli
index d84811e58bb722f9665d15bd7ea10c1a1ad8b7ff..e674d19f3bd2757170585b9d8610c26ac804a70d 100644
--- a/src/plugins/loop_analysis/region_analysis.mli
+++ b/src/plugins/loop_analysis/region_analysis.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/loop_analysis/region_analysis_sig.ml b/src/plugins/loop_analysis/region_analysis_sig.ml
index 0fda0291e8b371f8707bfd877f075ec9ed811543..636b16cfe8314493cebd1c041c5cf14a441bf7cb 100644
--- a/src/plugins/loop_analysis/region_analysis_sig.ml
+++ b/src/plugins/loop_analysis/region_analysis_sig.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/loop_analysis/region_analysis_stmt.ml b/src/plugins/loop_analysis/region_analysis_stmt.ml
index 0776c368f34602e1a79720ea8242a5ec96f0c5a7..39001f4901f753404c5b3ebb8c00316c82c6b7d7 100644
--- a/src/plugins/loop_analysis/region_analysis_stmt.ml
+++ b/src/plugins/loop_analysis/region_analysis_stmt.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/loop_analysis/region_analysis_stmt.mli b/src/plugins/loop_analysis/region_analysis_stmt.mli
index ebefb378fd8e9882857e461b37f24ca9d0fa6db6..26bbfb8d5e86889bc8220d2a9757bc16ae3da203 100644
--- a/src/plugins/loop_analysis/region_analysis_stmt.mli
+++ b/src/plugins/loop_analysis/region_analysis_stmt.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/loop_analysis/register.ml b/src/plugins/loop_analysis/register.ml
index 8ff1ef77d6d5dda7af5c483fecc75968e767f39e..702af8118b853f12a5ed381eb1b75acad1b0b204 100644
--- a/src/plugins/loop_analysis/register.ml
+++ b/src/plugins/loop_analysis/register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/loop_analysis/slevel_analysis.ml b/src/plugins/loop_analysis/slevel_analysis.ml
index 97f61c53028b4ab3e6d181c9e3bdb69fbe7b9df2..26625cfa02de3c3ccd0c17a96f764ab233db90f1 100644
--- a/src/plugins/loop_analysis/slevel_analysis.ml
+++ b/src/plugins/loop_analysis/slevel_analysis.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/Metrics.mli b/src/plugins/metrics/Metrics.mli
index caa33bee585a2c5ca88c0008b84ff6a47826b3c5..c25dba5b58f411843cb29c50f04b2500021afc50 100644
--- a/src/plugins/metrics/Metrics.mli
+++ b/src/plugins/metrics/Metrics.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/css_html.ml b/src/plugins/metrics/css_html.ml
index 02bc17caeafec817ae82639bcf687bfebcf0d1ec..b0f9f8b51500710b52bbe68a5c651bde94a5dbc0 100644
--- a/src/plugins/metrics/css_html.ml
+++ b/src/plugins/metrics/css_html.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/metrics_acsl.ml b/src/plugins/metrics/metrics_acsl.ml
index ff85291148cbf85744807d9a211e720b8c8ba6f2..ebba36bb4033ebaf551f4c050edcbbd8174ce1c5 100644
--- a/src/plugins/metrics/metrics_acsl.ml
+++ b/src/plugins/metrics/metrics_acsl.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/metrics_acsl.mli b/src/plugins/metrics/metrics_acsl.mli
index 4434b9e8a4d03a08eb5cc34ab08a387fb8e3c42c..40c80b55e3a1e04223741b725f83cc6646c149b1 100644
--- a/src/plugins/metrics/metrics_acsl.mli
+++ b/src/plugins/metrics/metrics_acsl.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/metrics_base.ml b/src/plugins/metrics/metrics_base.ml
index def398aecbd91e37419870b7a5e0c4ab2d663c6e..9eb22f91a2d9727170f3ed7feb4acca0819f6c86 100644
--- a/src/plugins/metrics/metrics_base.ml
+++ b/src/plugins/metrics/metrics_base.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/metrics_base.mli b/src/plugins/metrics/metrics_base.mli
index 6e09e4383c029262d94a8b8910389f58dbfdf08e..6976f2c9c73fae948a022030d2ad5d2c0ac439ae 100644
--- a/src/plugins/metrics/metrics_base.mli
+++ b/src/plugins/metrics/metrics_base.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/metrics_cabs.ml b/src/plugins/metrics/metrics_cabs.ml
index d753f2330bfd69a72cf3313c176609919eb27613..8b46580b8dde6c35a78ace8a40a456a403455382 100644
--- a/src/plugins/metrics/metrics_cabs.ml
+++ b/src/plugins/metrics/metrics_cabs.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/metrics_cabs.mli b/src/plugins/metrics/metrics_cabs.mli
index 6216292b7e8f7cf11384b142d49b748f8fd39b37..3e8c434ff7fdb1461e2c41cbcbf8b9eaf2aa0268 100644
--- a/src/plugins/metrics/metrics_cabs.mli
+++ b/src/plugins/metrics/metrics_cabs.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/metrics_cilast.ml b/src/plugins/metrics/metrics_cilast.ml
index e910774d6677e142a90f8c01d6ad2058c0ddd154..ca998ba41855e3cd990898ff02e1527f68ddb103 100644
--- a/src/plugins/metrics/metrics_cilast.ml
+++ b/src/plugins/metrics/metrics_cilast.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/metrics_cilast.mli b/src/plugins/metrics/metrics_cilast.mli
index 4a826d9e3a9bb2603e13ac2aa473762db5007344..e08175f12ea50fdf69cdc0b13db21c846f7c5f52 100644
--- a/src/plugins/metrics/metrics_cilast.mli
+++ b/src/plugins/metrics/metrics_cilast.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/metrics_coverage.ml b/src/plugins/metrics/metrics_coverage.ml
index b87cd233c076804823159fd2f21246f1442f66a2..485a187e58a1840e4c0c2c9b43432a2fbd78492f 100644
--- a/src/plugins/metrics/metrics_coverage.ml
+++ b/src/plugins/metrics/metrics_coverage.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/metrics_coverage.mli b/src/plugins/metrics/metrics_coverage.mli
index 40f176bf3358be7b4947ccbcfa96d0cef01af078..4667ae15ad7fb6583f36b63445e0e36b268505ed 100644
--- a/src/plugins/metrics/metrics_coverage.mli
+++ b/src/plugins/metrics/metrics_coverage.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/metrics_gui.ml b/src/plugins/metrics/metrics_gui.ml
index 7887b852c64180954bd0a32f51651783f6d9930d..79839db62fc96a2e7edf1629d96188edf3be73d5 100644
--- a/src/plugins/metrics/metrics_gui.ml
+++ b/src/plugins/metrics/metrics_gui.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/metrics_gui.mli b/src/plugins/metrics/metrics_gui.mli
index d166c6e3e48153068e57164d424a6855f1fa8179..79bf1c0a381e1a51e4ec3c5a829c3556d2fb5773 100644
--- a/src/plugins/metrics/metrics_gui.mli
+++ b/src/plugins/metrics/metrics_gui.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/metrics_parameters.ml b/src/plugins/metrics/metrics_parameters.ml
index 700b02c9d98449183afbfd8ba645d84148bf39aa..507ed4b9f059590599f08a00c24655bc9a1fe541 100644
--- a/src/plugins/metrics/metrics_parameters.ml
+++ b/src/plugins/metrics/metrics_parameters.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/metrics_parameters.mli b/src/plugins/metrics/metrics_parameters.mli
index c02f1e9c5b5fa310a60b67300a13c1caf4fc8f21..c7913b12adee8ac85bc148f2669bec9ada6d7570 100644
--- a/src/plugins/metrics/metrics_parameters.mli
+++ b/src/plugins/metrics/metrics_parameters.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/register.ml b/src/plugins/metrics/register.ml
index d0c031236bd3e8504c8887b81cb4f9353aeb84d9..79e90edeac270a0f83cfaa0521d26b3f52299ed0 100644
--- a/src/plugins/metrics/register.ml
+++ b/src/plugins/metrics/register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/metrics/register_gui.ml b/src/plugins/metrics/register_gui.ml
index 409334f21a2e2780911581779251d22303acaf59..f16d7007a7d889cf4c4682d7dc563ca724b6de87 100644
--- a/src/plugins/metrics/register_gui.ml
+++ b/src/plugins/metrics/register_gui.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/nonterm/Makefile.in b/src/plugins/nonterm/Makefile.in
index c134137e94f82234f57f442c44650c046ee9eefb..cd307311abf06fba69ae5b97c3969dc67d0153d6 100644
--- a/src/plugins/nonterm/Makefile.in
+++ b/src/plugins/nonterm/Makefile.in
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/nonterm/Nonterm.mli b/src/plugins/nonterm/Nonterm.mli
index ce7a42b00627eefcc76a75a6f9e90daf8a01614f..3426449cefa0c916735da3acb7e7c1591161ebe9 100644
--- a/src/plugins/nonterm/Nonterm.mli
+++ b/src/plugins/nonterm/Nonterm.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/nonterm/configure.ac b/src/plugins/nonterm/configure.ac
index c87bed3e956dbd0d25378d18539c87ebd88ff136..358ec738c755d1fdf119717c7e593df49bcc22ce 100644
--- a/src/plugins/nonterm/configure.ac
+++ b/src/plugins/nonterm/configure.ac
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/nonterm/nonterm_run.ml b/src/plugins/nonterm/nonterm_run.ml
index ea7e98bba64fda50f824b60748b1a2354f6a7178..7b8bfe248d9a90b5237ef2555aba7a49e59b9263 100644
--- a/src/plugins/nonterm/nonterm_run.ml
+++ b/src/plugins/nonterm/nonterm_run.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/obfuscator/Makefile.in b/src/plugins/obfuscator/Makefile.in
index 8baa937c05c2433ffb9a36335b046731863cac83..e12a27e8ac3f1ee3df569dcf23d40728c8a8d706 100644
--- a/src/plugins/obfuscator/Makefile.in
+++ b/src/plugins/obfuscator/Makefile.in
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/obfuscator/Obfuscator.mli b/src/plugins/obfuscator/Obfuscator.mli
index f485ca359542d646a90f681e0c987c9ad26c1d43..e78bcbb67bc76df70cd7909bec1c66db849f5d62 100644
--- a/src/plugins/obfuscator/Obfuscator.mli
+++ b/src/plugins/obfuscator/Obfuscator.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/obfuscator/configure.ac b/src/plugins/obfuscator/configure.ac
index 8ca06bc64fcca98571d5159bb2201c207c36b3e5..ff725af05b33b4402285622844604e872fd9d3c9 100644
--- a/src/plugins/obfuscator/configure.ac
+++ b/src/plugins/obfuscator/configure.ac
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/obfuscator/dictionary.ml b/src/plugins/obfuscator/dictionary.ml
index aebdd347bbba552421358940d53b00afd2687dd5..1ae55c07c0c65ce5661dd5eb3b841aefcd6ea444 100644
--- a/src/plugins/obfuscator/dictionary.ml
+++ b/src/plugins/obfuscator/dictionary.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/obfuscator/dictionary.mli b/src/plugins/obfuscator/dictionary.mli
index 5b2b362ac333c4fc9b260abe780ac727224da610..5756bf079679c0e6e13224632adcf7e4722e7369 100644
--- a/src/plugins/obfuscator/dictionary.mli
+++ b/src/plugins/obfuscator/dictionary.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/obfuscator/obfuscate.ml b/src/plugins/obfuscator/obfuscate.ml
index ab4d1a7991c24dcd51ffe3ee41a38952befedee4..213f983d1f4b5e0129ce8d670c81ebc49fdfcd13 100644
--- a/src/plugins/obfuscator/obfuscate.ml
+++ b/src/plugins/obfuscator/obfuscate.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/obfuscator/obfuscate.mli b/src/plugins/obfuscator/obfuscate.mli
index 2f52ce43ff52005bf3201cd3cc053c4e3f8cbbcd..44601430cbcc5814d40c2aca6dcc569989c03c98 100644
--- a/src/plugins/obfuscator/obfuscate.mli
+++ b/src/plugins/obfuscator/obfuscate.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/obfuscator/obfuscator_kind.ml b/src/plugins/obfuscator/obfuscator_kind.ml
index 175bec1ef6ff1bf85caa38330ab6636f0781c704..216651aca09b951745e6b6639b3be7cbf2f14f8f 100644
--- a/src/plugins/obfuscator/obfuscator_kind.ml
+++ b/src/plugins/obfuscator/obfuscator_kind.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/obfuscator/obfuscator_kind.mli b/src/plugins/obfuscator/obfuscator_kind.mli
index 05a7ab510d7cc1e8dbc63446215733b49c40bb9c..0aa33ec52230294a569a723f00e481c5e67c11e5 100644
--- a/src/plugins/obfuscator/obfuscator_kind.mli
+++ b/src/plugins/obfuscator/obfuscator_kind.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/obfuscator/obfuscator_register.ml b/src/plugins/obfuscator/obfuscator_register.ml
index 1d05a3df89afa4b21a3611cdc82c8fc306b7f760..0674063a9bfd7e2a9aafc0c5d4726a8072daafb4 100644
--- a/src/plugins/obfuscator/obfuscator_register.ml
+++ b/src/plugins/obfuscator/obfuscator_register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/obfuscator/options.ml b/src/plugins/obfuscator/options.ml
index 130e5d9b77748cf768e1073b1e9864a74b72d2aa..71c1587030719c71b3941123a02a998a5fcc6516 100644
--- a/src/plugins/obfuscator/options.ml
+++ b/src/plugins/obfuscator/options.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/obfuscator/options.mli b/src/plugins/obfuscator/options.mli
index aaed28477eb6067a70eae2e3550c439d21b92681..7cf70c9b4890aaf46c320e33126d4e3db19f73d3 100644
--- a/src/plugins/obfuscator/options.mli
+++ b/src/plugins/obfuscator/options.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/occurrence/Occurrence.mli b/src/plugins/occurrence/Occurrence.mli
index f2302bc5205f4668b3f015c48c7a93a1067d6297..7a994acd4786b43d3231aa387770e18578ab39f1 100644
--- a/src/plugins/occurrence/Occurrence.mli
+++ b/src/plugins/occurrence/Occurrence.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/occurrence/options.ml b/src/plugins/occurrence/options.ml
index 282c56dbb3660da67bec88af532dd53fac16d13a..121d7898dbcb116dc52c3aa4e7fdd6e708ebd06e 100644
--- a/src/plugins/occurrence/options.ml
+++ b/src/plugins/occurrence/options.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/occurrence/options.mli b/src/plugins/occurrence/options.mli
index 2e3920d05a9f11d3514fe6861aa3d55c249e1bc9..7b31e27f5ae5c269c2f8a53db8b42e90a8608211 100644
--- a/src/plugins/occurrence/options.mli
+++ b/src/plugins/occurrence/options.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/occurrence/register.ml b/src/plugins/occurrence/register.ml
index 423c20ce2a963ea59b00d025fa405e87132ecc0a..2842ba4673991dfc8a8d96b4ab331c21dcb1dc02 100644
--- a/src/plugins/occurrence/register.ml
+++ b/src/plugins/occurrence/register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/occurrence/register_gui.ml b/src/plugins/occurrence/register_gui.ml
index 93857081bb7b31c5e6b7f4f03baac8063d944beb..f5de64c487702758a7c3581a8a0c5f8b5aef5d13 100644
--- a/src/plugins/occurrence/register_gui.ml
+++ b/src/plugins/occurrence/register_gui.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/occurrence/register_gui.mli b/src/plugins/occurrence/register_gui.mli
index 129334496b6875f1d24225bc0407e63a5dd63141..eb565b9364df7b9d34fd51d0ec8682bc87e4a479 100644
--- a/src/plugins/occurrence/register_gui.mli
+++ b/src/plugins/occurrence/register_gui.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/Pdg.mli b/src/plugins/pdg/Pdg.mli
index 71610fbf5226bbe8720e96af02b769d52677271b..dbb99cb05353f6cf92861443a289be0ecbd1f481 100644
--- a/src/plugins/pdg/Pdg.mli
+++ b/src/plugins/pdg/Pdg.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/annot.ml b/src/plugins/pdg/annot.ml
index 0fc782a338fa95b2d0ebfa94476933990a59a2a0..5d13fd69b773727811eaf98d34255739fa7756b7 100644
--- a/src/plugins/pdg/annot.ml
+++ b/src/plugins/pdg/annot.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/annot.mli b/src/plugins/pdg/annot.mli
index 56206eddfaebacad2b169a4cefc76b9393559774..44bd9249cfd43dcf6aa50f4a518f6dd3d084e913 100644
--- a/src/plugins/pdg/annot.mli
+++ b/src/plugins/pdg/annot.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/build.ml b/src/plugins/pdg/build.ml
index 28616d3d82468db87fcbf8d1443bfd8d1e054f07..29d65d3c4ca723ebf4c07abe6c55600d63a4015c 100644
--- a/src/plugins/pdg/build.ml
+++ b/src/plugins/pdg/build.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/build.mli b/src/plugins/pdg/build.mli
index b6a4c99841eb78cf50fe48a190cad979975b3f0b..d5f519b68a63f7eb596d4fa67dffd0239690e2a1 100644
--- a/src/plugins/pdg/build.mli
+++ b/src/plugins/pdg/build.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/ctrlDpds.ml b/src/plugins/pdg/ctrlDpds.ml
index c2bf5149bcf2a23fe34d82b17ccda939e972aae0..e75a06d60231e8ae9958c7306e1ee8bf5015a283 100644
--- a/src/plugins/pdg/ctrlDpds.ml
+++ b/src/plugins/pdg/ctrlDpds.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/ctrlDpds.mli b/src/plugins/pdg/ctrlDpds.mli
index 896be217692ce35e5290107ea9b3b5d36fa306f8..7feb4d2304cee1ae42ee5222d13174afdfc911cf 100644
--- a/src/plugins/pdg/ctrlDpds.mli
+++ b/src/plugins/pdg/ctrlDpds.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/marks.ml b/src/plugins/pdg/marks.ml
index 9d5e6ec6539504c339e83dd3037598c3b05c46cd..b2b261562ecaeafeeec70e5bcfda5fef3912e605 100644
--- a/src/plugins/pdg/marks.ml
+++ b/src/plugins/pdg/marks.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/marks.mli b/src/plugins/pdg/marks.mli
index 67e8ebacc5fdd2799def6017fb00102e6ea788ec..78f16accbdb7b01ffca8cfcb826771fdd6de5d99 100644
--- a/src/plugins/pdg/marks.mli
+++ b/src/plugins/pdg/marks.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/pdg_parameters.ml b/src/plugins/pdg/pdg_parameters.ml
index 287fbdc508ffd0d063206c81ba37884f0dfcb501..0b4a418e7836c54728fbbabf942bb16d55fbd10b 100644
--- a/src/plugins/pdg/pdg_parameters.ml
+++ b/src/plugins/pdg/pdg_parameters.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/pdg_parameters.mli b/src/plugins/pdg/pdg_parameters.mli
index 47cc3d5cc5d286d3eea050622e6ba589783e0275..e86fa9baf2719ba4279a8ae9be2de1cd1c649148 100644
--- a/src/plugins/pdg/pdg_parameters.mli
+++ b/src/plugins/pdg/pdg_parameters.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/pdg_state.ml b/src/plugins/pdg/pdg_state.ml
index 69f5c8122942759a7567a3df91b57ad51a496ac6..c43e3f7e1408077f5075b1ae1eaacc21cf629525 100644
--- a/src/plugins/pdg/pdg_state.ml
+++ b/src/plugins/pdg/pdg_state.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/pdg_state.mli b/src/plugins/pdg/pdg_state.mli
index f4575d421f50503c0a8da1619aa6abacf8df2404..7b6befacfa8e8b1f854122e87a294709f02233a2 100644
--- a/src/plugins/pdg/pdg_state.mli
+++ b/src/plugins/pdg/pdg_state.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/register.ml b/src/plugins/pdg/register.ml
index 99e4e28d7b1ab8170f9b629a1ed15ac0942c8898..d2ba48a8cccf755b4c6e8ce2fa45a2971832e502 100644
--- a/src/plugins/pdg/register.ml
+++ b/src/plugins/pdg/register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/sets.ml b/src/plugins/pdg/sets.ml
index 00ce4d3fd1279482ecfecb86acb419a089a8fcfe..d2bd399d01b4beae2d72a7a19ca5deff6ce19a44 100644
--- a/src/plugins/pdg/sets.ml
+++ b/src/plugins/pdg/sets.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg/sets.mli b/src/plugins/pdg/sets.mli
index ab20b26b5147af9dda5edde615e5c6e9199727de..90d3e803663fd643d8dccc5e2d42a5aefc7ccb03 100644
--- a/src/plugins/pdg/sets.mli
+++ b/src/plugins/pdg/sets.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg_types/pdgIndex.ml b/src/plugins/pdg_types/pdgIndex.ml
index 32582569ec5175302cafd321086bc44fe45133eb..cbd70054e44bf564427c733e0321823e6c998bb8 100644
--- a/src/plugins/pdg_types/pdgIndex.ml
+++ b/src/plugins/pdg_types/pdgIndex.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg_types/pdgIndex.mli b/src/plugins/pdg_types/pdgIndex.mli
index f851ffdc7916394bb362beae3cb0ceac1552960d..7f2eb8bb9ed837d44090383b8749294a08b2949b 100644
--- a/src/plugins/pdg_types/pdgIndex.mli
+++ b/src/plugins/pdg_types/pdgIndex.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg_types/pdgMarks.ml b/src/plugins/pdg_types/pdgMarks.ml
index 58262686d3f9f6fad196703d43e0217af4740347..4e821825a0def318054d9dcd181d83a0117655ce 100644
--- a/src/plugins/pdg_types/pdgMarks.ml
+++ b/src/plugins/pdg_types/pdgMarks.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg_types/pdgMarks.mli b/src/plugins/pdg_types/pdgMarks.mli
index 822f8302980bbc1d7976d417307acd07b2a5bf98..02b2cb43eb9e6b475f8e3425fed4adda83650ed5 100644
--- a/src/plugins/pdg_types/pdgMarks.mli
+++ b/src/plugins/pdg_types/pdgMarks.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg_types/pdgTypes.ml b/src/plugins/pdg_types/pdgTypes.ml
index 45ad97155da5996fdbf2aafd0ca41f8e9841e5ed..fbc535bede0a646c12cf7abc5f7818ccedfda557 100644
--- a/src/plugins/pdg_types/pdgTypes.ml
+++ b/src/plugins/pdg_types/pdgTypes.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/pdg_types/pdgTypes.mli b/src/plugins/pdg_types/pdgTypes.mli
index 821bed7e11edb25a3ee04f57cc864200fb9908f1..00a87090f22adcd50fbd4964bc143ed5f6077526 100644
--- a/src/plugins/pdg_types/pdgTypes.mli
+++ b/src/plugins/pdg_types/pdgTypes.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/postdominators/Postdominators.mli b/src/plugins/postdominators/Postdominators.mli
index e5714845ed834dc071ba74909828fba524074cbe..3d30f40d2fd941e8df5381fd3191c4dfeeefaa05 100644
--- a/src/plugins/postdominators/Postdominators.mli
+++ b/src/plugins/postdominators/Postdominators.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/postdominators/compute.ml b/src/plugins/postdominators/compute.ml
index 6890a4f3f39fec089d3fcd71bf9b064eb4f48260..f766ae37ba196f9f95ca10abdae2be3a06f29bc3 100644
--- a/src/plugins/postdominators/compute.ml
+++ b/src/plugins/postdominators/compute.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/postdominators/postdominators_parameters.ml b/src/plugins/postdominators/postdominators_parameters.ml
index 306a092f231960550022a27625886b2621662e10..3df3d1d02b705053347a0eb1d20659e175fe541b 100644
--- a/src/plugins/postdominators/postdominators_parameters.ml
+++ b/src/plugins/postdominators/postdominators_parameters.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/postdominators/postdominators_parameters.mli b/src/plugins/postdominators/postdominators_parameters.mli
index 40e782789527080a999ad98a0efde146c1730c67..5fba2a98f47eb45e07d486d15a4beae86d498eaa 100644
--- a/src/plugins/postdominators/postdominators_parameters.mli
+++ b/src/plugins/postdominators/postdominators_parameters.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/postdominators/print.ml b/src/plugins/postdominators/print.ml
index 62e5d32c8ccf6039d739352712f32312cfa45c25..9da13536e5f0fe8479768e09a95285aacadd199b 100644
--- a/src/plugins/postdominators/print.ml
+++ b/src/plugins/postdominators/print.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/print_api/Makefile b/src/plugins/print_api/Makefile
index fc6fef61f9efae037492518df9a88390c424fd68..d19567e0b395b1411c28ab148d797815e6e077cc 100644
--- a/src/plugins/print_api/Makefile
+++ b/src/plugins/print_api/Makefile
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/print_api/Print_api.mli b/src/plugins/print_api/Print_api.mli
index 75bdb5a5c65100d292a651f939e7787376f177cc..20a52aa659aee1ac05ca6daecf93317a9372d953 100644
--- a/src/plugins/print_api/Print_api.mli
+++ b/src/plugins/print_api/Print_api.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/print_api/grammar.mly b/src/plugins/print_api/grammar.mly
index e18a1d639111b455534b6015a8ec5ad180c64fae..135acbfc15492ba7aac513d423dae4ddd1de71c1 100644
--- a/src/plugins/print_api/grammar.mly
+++ b/src/plugins/print_api/grammar.mly
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of Frama-C.                                         */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat à l'énergie atomique et aux énergies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/print_api/lexer.mll b/src/plugins/print_api/lexer.mll
index d71791f2971b8037d5442952dc724be010cef53a..f2b1c81bb1666425bdffb98fda36ef97dee93084 100644
--- a/src/plugins/print_api/lexer.mll
+++ b/src/plugins/print_api/lexer.mll
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/print_api/print_interface.ml b/src/plugins/print_api/print_interface.ml
index 6073a20530dcde2ba3e634f2c452bedceaff1fde..4d5c5e934406baa2c8eb7deb0290b75d25463e33 100644
--- a/src/plugins/print_api/print_interface.ml
+++ b/src/plugins/print_api/print_interface.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/Makefile b/src/plugins/qed/Makefile
index 55ead1807735a1144fccda6a697e8de242fba7ff..1ae301857fcc7ef990c97a5d55b6aaff89dd5132 100644
--- a/src/plugins/qed/Makefile
+++ b/src/plugins/qed/Makefile
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of WP plug-in of Frama-C.                           #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat a l'energie atomique et aux energies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/qed/QedGui.ml b/src/plugins/qed/QedGui.ml
index 80e3d971c3d7510d07ce5b7035646a64a87ddaa8..06fad53cc421ccdcf594e4e47bf99fa300f1e232 100644
--- a/src/plugins/qed/QedGui.ml
+++ b/src/plugins/qed/QedGui.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/bvars.ml b/src/plugins/qed/bvars.ml
index a79a96e7a219b7ae9d68a07fe1f13401d57424ca..3256d571e749ef642f16466932a35e476695e753 100644
--- a/src/plugins/qed/bvars.ml
+++ b/src/plugins/qed/bvars.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/bvars.mli b/src/plugins/qed/bvars.mli
index 803c8e427137d12ef6e7d807a8cc2ae0d2183e91..a6d3147db9c71c4cdf0317386a603969d10e5c6a 100644
--- a/src/plugins/qed/bvars.mli
+++ b/src/plugins/qed/bvars.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/cache.ml b/src/plugins/qed/cache.ml
index 15e6f32f708762b220e3692cb8bb2d02a6fd3e66..25cb8661e672c7185ce84a2d5c5d6929c07291ed 100644
--- a/src/plugins/qed/cache.ml
+++ b/src/plugins/qed/cache.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/cache.mli b/src/plugins/qed/cache.mli
index ef13fadc520849be59ce04582627598b4d2fbbf6..838d4e51cb90833fb6f0e1fb7a1cdacc90e93a5d 100644
--- a/src/plugins/qed/cache.mli
+++ b/src/plugins/qed/cache.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/collection.ml b/src/plugins/qed/collection.ml
index 52f90ae9f24fb16ed67aa0edbca14df52d242738..b2f95fce33ed008f1ac6cc36a9c010a64cfc93fe 100644
--- a/src/plugins/qed/collection.ml
+++ b/src/plugins/qed/collection.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/collection.mli b/src/plugins/qed/collection.mli
index e3645f1f9a7fd34030256055eb4c1e64a65ae1ae..2b87079b64796dacb13ba2d6e77287728c925ad2 100644
--- a/src/plugins/qed/collection.mli
+++ b/src/plugins/qed/collection.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/engine.ml b/src/plugins/qed/engine.ml
index 7cd4d3ba03d82b833a410ae707ba36a951066df2..99de3004ab94a7afdc6edc13b6d4343451504ad1 100644
--- a/src/plugins/qed/engine.ml
+++ b/src/plugins/qed/engine.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/export.ml b/src/plugins/qed/export.ml
index c44a99dea37d60de6a3450e03893182eb465acf3..b36fca33b8152f2f7dcba4a777d08de35fdf37f7 100644
--- a/src/plugins/qed/export.ml
+++ b/src/plugins/qed/export.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/export.mli b/src/plugins/qed/export.mli
index beea594e3bb71124b3dc8979a1e260e473560bbf..aa15d1f6f46c6bb61742c4e58a29410c77a522fd 100644
--- a/src/plugins/qed/export.mli
+++ b/src/plugins/qed/export.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/export_altergo.ml b/src/plugins/qed/export_altergo.ml
index e0ad7d149ebb12a348189e4600040111cab1d4c0..52864b8b16668ab498ef8c25f9eeebb6ff98629a 100644
--- a/src/plugins/qed/export_altergo.ml
+++ b/src/plugins/qed/export_altergo.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/export_altergo.mli b/src/plugins/qed/export_altergo.mli
index aca09cb46685e227b4db8004a29b00cd49a8136f..55ba547b3586527e3afc8938ec68360daba1e316 100644
--- a/src/plugins/qed/export_altergo.mli
+++ b/src/plugins/qed/export_altergo.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/export_coq.ml b/src/plugins/qed/export_coq.ml
index f486bf44644b33c26d007d428152eede078d7817..0c4862c0175ea3f4310a2472b40fe20b9b1d35c8 100644
--- a/src/plugins/qed/export_coq.ml
+++ b/src/plugins/qed/export_coq.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/export_coq.mli b/src/plugins/qed/export_coq.mli
index c7ab31365464be9f7ca07ee21fe11fa886b5943c..7b9f366badfab043020ead1bd915b811048010e6 100644
--- a/src/plugins/qed/export_coq.mli
+++ b/src/plugins/qed/export_coq.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/export_why3.ml b/src/plugins/qed/export_why3.ml
index f635a9b96ccdd20fa67b9ffdd9e7d1c19c37b8a9..f940aa001d959d5df4e7367751dd1fa65bbde490 100644
--- a/src/plugins/qed/export_why3.ml
+++ b/src/plugins/qed/export_why3.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/export_why3.mli b/src/plugins/qed/export_why3.mli
index 2dec2c29a5928cf26f758b05a04a4e2b5720c09d..61028ef4915f25b41916475ecf69faf492991629 100644
--- a/src/plugins/qed/export_why3.mli
+++ b/src/plugins/qed/export_why3.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/export_whycore.ml b/src/plugins/qed/export_whycore.ml
index 9ca5c20bcd585478e0dae383328d41387d3f320b..42f239cecf27106b6406455c49877982fdecf546 100644
--- a/src/plugins/qed/export_whycore.ml
+++ b/src/plugins/qed/export_whycore.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/export_whycore.mli b/src/plugins/qed/export_whycore.mli
index 14c4acdc15b935a03dec33968afb7e973c765d7a..47151160a610231e3ce4f63466c39eecb1b28059 100644
--- a/src/plugins/qed/export_whycore.mli
+++ b/src/plugins/qed/export_whycore.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/hcons.ml b/src/plugins/qed/hcons.ml
index d32de87bcefc8a34d11107f0bd4d4ccb3b781d95..b0f2f3f137ce7cf3362a7f6d726737c0f0476eca 100644
--- a/src/plugins/qed/hcons.ml
+++ b/src/plugins/qed/hcons.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/hcons.mli b/src/plugins/qed/hcons.mli
index bb291b6718f5c3c8bc00483de208bd9e4d71920f..c930717f982736826f5ffdbf12e8ff001be68a5e 100644
--- a/src/plugins/qed/hcons.mli
+++ b/src/plugins/qed/hcons.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/idxmap.ml b/src/plugins/qed/idxmap.ml
index 5e2ff3248e30f6247cc1468b711e25a8cc0195e5..5191cc5a62032c9c0e179f2f71e885d5e9649b33 100644
--- a/src/plugins/qed/idxmap.ml
+++ b/src/plugins/qed/idxmap.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/idxmap.mli b/src/plugins/qed/idxmap.mli
index bee26749571290db85f0661f7c9a14919472a070..4a9f0fc8960a814b260a29c6aedbb3f8b5357ebe 100644
--- a/src/plugins/qed/idxmap.mli
+++ b/src/plugins/qed/idxmap.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/idxset.ml b/src/plugins/qed/idxset.ml
index a72a859d1b454d5f0037fe5b09266afd118382d3..1f8b790394f25e86b71ebf7803e7eb62c4d2dfab 100644
--- a/src/plugins/qed/idxset.ml
+++ b/src/plugins/qed/idxset.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/idxset.mli b/src/plugins/qed/idxset.mli
index 917eb06fabad3348249998f46f3d3bdb83509c89..f0fe4c700e57fbc469053bafa477d97d9ab49368 100644
--- a/src/plugins/qed/idxset.mli
+++ b/src/plugins/qed/idxset.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/intmap.ml b/src/plugins/qed/intmap.ml
index a1254aa4dccca30ad93b1249089c0a1703057b49..70ded406022bd1b52ee7eedd9236f579e9f76dd3 100644
--- a/src/plugins/qed/intmap.ml
+++ b/src/plugins/qed/intmap.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/intmap.mli b/src/plugins/qed/intmap.mli
index 71429cb4a84759589d8ef917ffc1f9972f422b1d..851009ede74488f66f5afa0d3480ff055c61900b 100644
--- a/src/plugins/qed/intmap.mli
+++ b/src/plugins/qed/intmap.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/intset.ml b/src/plugins/qed/intset.ml
index 350cadbd84a0af520dfb5ec4b5c9abc2d5df05af..92c19c13c4613e27723dc94e42c1e79b21428fe7 100644
--- a/src/plugins/qed/intset.ml
+++ b/src/plugins/qed/intset.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/intset.mli b/src/plugins/qed/intset.mli
index 36ee6b56140186d4ee985b3e5c24adc7eae0307c..9dcb84a2282c487538cda84f6a053193897fc8c9 100644
--- a/src/plugins/qed/intset.mli
+++ b/src/plugins/qed/intset.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/kind.ml b/src/plugins/qed/kind.ml
index df1cb665479a43ae1840bf4dbee3714bded491c4..93d8d7fae87f4b8c513545a64548ea6273696858 100644
--- a/src/plugins/qed/kind.ml
+++ b/src/plugins/qed/kind.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/kind.mli b/src/plugins/qed/kind.mli
index ef0426be02c5e38fe9ad89158432a6ddedfc3457..66dda5dab744ee43591ec87cb6a1af37c6e09bcc 100644
--- a/src/plugins/qed/kind.mli
+++ b/src/plugins/qed/kind.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/listmap.ml b/src/plugins/qed/listmap.ml
index 76ec6a744acd88a757553ad4f7ab10e612eb95f9..d83fbecf9bc96f487b8932022a807d2bdd756a1b 100644
--- a/src/plugins/qed/listmap.ml
+++ b/src/plugins/qed/listmap.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/listmap.mli b/src/plugins/qed/listmap.mli
index ea5ee970c51784dd82ff41508075ea139132530a..5819c1b62ae7b9918baf261a6939ec1c76c3a004 100644
--- a/src/plugins/qed/listmap.mli
+++ b/src/plugins/qed/listmap.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/listset.ml b/src/plugins/qed/listset.ml
index d6b60b8f5f294fac748942e8b38c0cd1437fbcba..228dfd3439e239797292da925ac9ac6f07e73920 100644
--- a/src/plugins/qed/listset.ml
+++ b/src/plugins/qed/listset.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/listset.mli b/src/plugins/qed/listset.mli
index 384079f7e4020ebda62746c99c28502ff62477a8..e37b3a70c4cfcc71b479a66a7cb74560bc9be49d 100644
--- a/src/plugins/qed/listset.mli
+++ b/src/plugins/qed/listset.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/logic.ml b/src/plugins/qed/logic.ml
index d780bc42c4566df56a4e7e5d92ad4e91ca7e604c..a9079819ed7e584f342faa4a7aff9129d5ffda47 100644
--- a/src/plugins/qed/logic.ml
+++ b/src/plugins/qed/logic.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/mergemap.ml b/src/plugins/qed/mergemap.ml
index fb52db99a528098e662b06cf08a05e9ffbd6b593..e33f068739c1ecf49720ee702748b84179403c18 100644
--- a/src/plugins/qed/mergemap.ml
+++ b/src/plugins/qed/mergemap.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/mergemap.mli b/src/plugins/qed/mergemap.mli
index 4748684190b4f6ee72f2725aaf0f624a565b37e7..f5c9ae80412e6dbeaeb5a03d82a7b9f425c8437f 100644
--- a/src/plugins/qed/mergemap.mli
+++ b/src/plugins/qed/mergemap.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/mergeset.ml b/src/plugins/qed/mergeset.ml
index 6dbe78f37692caa97d4a7a0962b7e6670abd64df..8bde72b1aae066597354ff9dd827bb7853a0023b 100644
--- a/src/plugins/qed/mergeset.ml
+++ b/src/plugins/qed/mergeset.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/mergeset.mli b/src/plugins/qed/mergeset.mli
index a59c26f308307d93063e77bf8b658e7aff5b12a4..2309644e2178adf4d43b49c2623d39e81833f70e 100644
--- a/src/plugins/qed/mergeset.mli
+++ b/src/plugins/qed/mergeset.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/partition.ml b/src/plugins/qed/partition.ml
index 16c6b4ddeb8858c45f3a77f31661742b73b13f36..f91a6739c9a15db8a6cf9ac13721e9242636dd2d 100644
--- a/src/plugins/qed/partition.ml
+++ b/src/plugins/qed/partition.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/partition.mli b/src/plugins/qed/partition.mli
index 87313b74442659edf8c38f51471aea2b402ec422..3956ca12d034e0cfbf8658326811f51da5ea5490 100644
--- a/src/plugins/qed/partition.mli
+++ b/src/plugins/qed/partition.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/plib.ml b/src/plugins/qed/plib.ml
index 7d2691d4435107381c3ca27053aa7492a94a0248..f6cea0df8fb1701f27383acdd2b4ee47f347a6eb 100644
--- a/src/plugins/qed/plib.ml
+++ b/src/plugins/qed/plib.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/plib.mli b/src/plugins/qed/plib.mli
index 87eb363d58ae4562905d684e7e2ee7008fa460b7..a69bde53ce190b30c7c68b52067a23d98aaef5e9 100644
--- a/src/plugins/qed/plib.mli
+++ b/src/plugins/qed/plib.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/pool.ml b/src/plugins/qed/pool.ml
index b8193ed8f1511f04dae49ea99207fc1d77ebc729..868e99b8a5791a5c5ac6e8a43aba25690daf7a51 100644
--- a/src/plugins/qed/pool.ml
+++ b/src/plugins/qed/pool.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/pool.mli b/src/plugins/qed/pool.mli
index 7294a710ff8fb24c668dd1237d2f322561f5bea7..765ef3baecc390801f6558971f709ff3438ea68f 100644
--- a/src/plugins/qed/pool.mli
+++ b/src/plugins/qed/pool.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/pretty.ml b/src/plugins/qed/pretty.ml
index 4d744d29f03ebbd1dc7c9f268827108efbe69718..a0e222ce890a6edbba5c3b95f085cdb9c0cfa306 100644
--- a/src/plugins/qed/pretty.ml
+++ b/src/plugins/qed/pretty.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/pretty.mli b/src/plugins/qed/pretty.mli
index 87c92115b665bd8a7382a719ff340327dfa019d0..c7059cb415444ab33eca1ddc193cd73bc15062fd 100644
--- a/src/plugins/qed/pretty.mli
+++ b/src/plugins/qed/pretty.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/term.ml b/src/plugins/qed/term.ml
index a52cef058545ab8dc3fc6a1b141c7aeb271af06f..99e54cad0af764e053ee1dafc7e361387e30b2e1 100644
--- a/src/plugins/qed/term.ml
+++ b/src/plugins/qed/term.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/qed/term.mli b/src/plugins/qed/term.mli
index 54e3228f25a7308a0a4a197456f399e9d0817f4d..b8c79ff5c3bfe48f4546f1b8e8e5a33c873b07ee 100644
--- a/src/plugins/qed/term.mli
+++ b/src/plugins/qed/term.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/report/Makefile.in b/src/plugins/report/Makefile.in
index 6c6d41d7b0577e1a0fcbff0dea2f61e5745af3a7..bb159e8f5ab30d00ff02a32cadea5e19a0d0b0a6 100644
--- a/src/plugins/report/Makefile.in
+++ b/src/plugins/report/Makefile.in
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/report/Report.mli b/src/plugins/report/Report.mli
index abcd40e9e0ec26b45e47c0bab96a3a4964ee251c..ff1fa82ea87e897f4c8d12f6f0b4e325a1b8b2e1 100644
--- a/src/plugins/report/Report.mli
+++ b/src/plugins/report/Report.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/report/classify.ml b/src/plugins/report/classify.ml
index d7844aa7a51d29087ca33fe2802617c21bf7de2e..b40a5a6d4438d0f5d612b5e3c6c2f7bdf9e16830 100644
--- a/src/plugins/report/classify.ml
+++ b/src/plugins/report/classify.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -150,7 +150,7 @@ let get_queue env plugin =
 let add_rule jvalue =
   try
     match jvalue with
-    | Json.Assoc fields ->
+    | `Assoc fields ->
       let tgt , rule = List.fold_left rule_of_fields default fields in
       let properties p =
         if rule.r_plugin <> (snd default).r_plugin then
@@ -177,7 +177,7 @@ let configure file =
     R.feedback "Loading '%a'" Datatype.Filepath.pretty path;
     try
       match Json.load_file file with
-      | Json.Array values -> List.iter add_rule values
+      | `List values -> List.iter add_rule values
       | _ -> failwith "Array expected"
     with
     | Json.Error(file,line,msg) ->
@@ -230,7 +230,7 @@ let json_of_source = function
     ]
 
 let json_of_event e =
-  Json.Assoc
+  `Assoc
     begin [
       "classid" , Json.of_string e.e_id ;
       "action" , Json.of_string @@ string_of_action e.e_action ;
diff --git a/src/plugins/report/classify.mli b/src/plugins/report/classify.mli
index a3a448dd758cc2fe4ca231b5d4b38917804871b2..c403765cb3d230915ab1139db3aef1f34efec03b 100644
--- a/src/plugins/report/classify.mli
+++ b/src/plugins/report/classify.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/report/configure.ac b/src/plugins/report/configure.ac
index 7a1ebd578478845656eccb6ebb881751e82224bf..e8ba69ec2a36616aa0ef82a145c4925795ee1f59 100644
--- a/src/plugins/report/configure.ac
+++ b/src/plugins/report/configure.ac
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/report/csv.ml b/src/plugins/report/csv.ml
index 646966112ef751e58e5e4ea46018a74c456bc30e..643168a388f3184f1ae4eea2a25a6995aa887656 100644
--- a/src/plugins/report/csv.ml
+++ b/src/plugins/report/csv.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/report/csv.mli b/src/plugins/report/csv.mli
index ce7a42b00627eefcc76a75a6f9e90daf8a01614f..3426449cefa0c916735da3acb7e7c1591161ebe9 100644
--- a/src/plugins/report/csv.mli
+++ b/src/plugins/report/csv.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/report/dump.ml b/src/plugins/report/dump.ml
index 87fa117fc9c473399ecf8b0e8ebbf7af76b9258d..a41dfb25e6e3410fe8218dc5bbd10f52d6d6cbe5 100644
--- a/src/plugins/report/dump.ml
+++ b/src/plugins/report/dump.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/report/dump.mli b/src/plugins/report/dump.mli
index ebb00e3481e8da401ce3d508d19776719ba66a07..0b412443d18e001b889511899518f00ec90c2902 100644
--- a/src/plugins/report/dump.mli
+++ b/src/plugins/report/dump.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/report/property_names.ml b/src/plugins/report/property_names.ml
index dd0ffca34ea836e827e830b5a6c98ebe9277e260..dd31d925e9f93501c8dd19d99e810b12047d5df8 100644
--- a/src/plugins/report/property_names.ml
+++ b/src/plugins/report/property_names.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/report/property_names.mli b/src/plugins/report/property_names.mli
index 23a5f2ea7261f6c6f6c52f618a6cb48b4d963f7b..1a34d4cdef3c042ad3970108461ef5f9a1481092 100644
--- a/src/plugins/report/property_names.mli
+++ b/src/plugins/report/property_names.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/report/register.ml b/src/plugins/report/register.ml
index 1bb13f3ea9b516d512e17b6bddff7c35e020776c..973c77728b4e202f183acea9e3649642052c3bfd 100644
--- a/src/plugins/report/register.ml
+++ b/src/plugins/report/register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/report/register.mli b/src/plugins/report/register.mli
index 4d5a7d21592bc5f1825631eeeb9e83eaa9bfbf24..349e981744e406fa9853fae543542b39b69e35f8 100644
--- a/src/plugins/report/register.mli
+++ b/src/plugins/report/register.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/report/report_parameters.ml b/src/plugins/report/report_parameters.ml
index 0741efc5214520e0ef5cc85c15769d18a12b9295..0c92d67b4b0c8c616b9ee021c96ace986fd23c8e 100644
--- a/src/plugins/report/report_parameters.ml
+++ b/src/plugins/report/report_parameters.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/report/report_parameters.mli b/src/plugins/report/report_parameters.mli
index b1dd169b3330a1f37a97a3872e6588116ad739fa..49b7c8db13fb8a70fd961cab4c73c720590855ac 100644
--- a/src/plugins/report/report_parameters.mli
+++ b/src/plugins/report/report_parameters.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/report/scan.ml b/src/plugins/report/scan.ml
index f830c660887f75a08606e832da68cb1514ba91c4..72128bedbef5b67eba275b97ea68231e7e09bc6a 100644
--- a/src/plugins/report/scan.ml
+++ b/src/plugins/report/scan.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/report/scan.mli b/src/plugins/report/scan.mli
index cccce842b570b2e9cb02a8d3412c5695d06abeca..6d34d6094322f62ccefcaea68d780e143d0e890a 100644
--- a/src/plugins/report/scan.mli
+++ b/src/plugins/report/scan.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/rte/RteGen.mli b/src/plugins/rte/RteGen.mli
index 19ed668df98207f3ab59ecb13d4db7adf9644fd3..9926f78e4a0920cb8cc90aa4c4082d8b86e8dad7 100644
--- a/src/plugins/rte/RteGen.mli
+++ b/src/plugins/rte/RteGen.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/rte/generator.ml b/src/plugins/rte/generator.ml
index eb028233479bd084ad50817c16c3f27990c56315..b6c626b68c4f91251fcdb19397896dc6fec6c40d 100644
--- a/src/plugins/rte/generator.ml
+++ b/src/plugins/rte/generator.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/rte/generator.mli b/src/plugins/rte/generator.mli
index fe1bc704b6e5a40b5e5b6a2b97d59e954c12cbc9..2ed6fe38a32711de556d8e0466b224b5050a7655 100644
--- a/src/plugins/rte/generator.mli
+++ b/src/plugins/rte/generator.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/rte/options.ml b/src/plugins/rte/options.ml
index 5e524548226b08f91ada9eb23928266eb3955cb2..7c646c80c6e977aaf0ae01337b4425641a45e1c1 100644
--- a/src/plugins/rte/options.ml
+++ b/src/plugins/rte/options.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/rte/options.mli b/src/plugins/rte/options.mli
index dc9ba70440b639b8ce38747718a94e3e3445f2ac..b589769be9d80587d572b2f245fb1d02072de4c3 100644
--- a/src/plugins/rte/options.mli
+++ b/src/plugins/rte/options.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/rte/register.ml b/src/plugins/rte/register.ml
index d5d298f765af140292c97886bfc5bd915e3b8894..5a7a9ba4af947ea862faa59e349c55e4b3cb1805 100644
--- a/src/plugins/rte/register.ml
+++ b/src/plugins/rte/register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/rte/rte.ml b/src/plugins/rte/rte.ml
index 677399a2325b5e810d3ee84033f17566aab8a61e..855e2b4e729349a97a695626041ebe7d19df816c 100644
--- a/src/plugins/rte/rte.ml
+++ b/src/plugins/rte/rte.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/rte/rte.mli b/src/plugins/rte/rte.mli
index f71f39eaae91a32f04b349180ad8a5af0f423fe0..0b1d55a21e304b9ccec0cb61b1c270fe232f69a9 100644
--- a/src/plugins/rte/rte.mli
+++ b/src/plugins/rte/rte.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/rte/visit.ml b/src/plugins/rte/visit.ml
index 506d5a0c6ca1fba2cffd49280d327c887f215261..c8091e90c750efa7277e1caec1f71c0451f8906e 100644
--- a/src/plugins/rte/visit.ml
+++ b/src/plugins/rte/visit.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/rte/visit.mli b/src/plugins/rte/visit.mli
index 053f8d8e13b27781b1856db222a537f2ee043474..1413e3b8f7bf3411f312dd1401f8664fa1c4d521 100644
--- a/src/plugins/rte/visit.mli
+++ b/src/plugins/rte/visit.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/scope/Scope.mli b/src/plugins/scope/Scope.mli
index e9ccc605c8ffe94b5236ef65f5e9143d836a8acb..ef9bd97b7afe2853f67f00c5d9fd87a2d36c53bf 100644
--- a/src/plugins/scope/Scope.mli
+++ b/src/plugins/scope/Scope.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/scope/datascope.ml b/src/plugins/scope/datascope.ml
index 9230b2cc714db7943a140b0f80d920c26820cf62..b64f3530965336676e0abe2f7855017ae6475bb3 100644
--- a/src/plugins/scope/datascope.ml
+++ b/src/plugins/scope/datascope.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/scope/datascope.mli b/src/plugins/scope/datascope.mli
index 389abf383186d16b80e704af403b1deed5dd45ce..fec9e9beb33b119df4fa0e711f9b17d0fd7bc417 100644
--- a/src/plugins/scope/datascope.mli
+++ b/src/plugins/scope/datascope.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/scope/defs.ml b/src/plugins/scope/defs.ml
index 208eeefb9655dfd82f2c935a37abb90450650124..71a16a540e41288bca6c81ce5ec846e94303a9cf 100644
--- a/src/plugins/scope/defs.ml
+++ b/src/plugins/scope/defs.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/scope/defs.mli b/src/plugins/scope/defs.mli
index 35278fe4c69ee7d74ab951db1008101d72efcb18..98dc4ad615ddda145f0544a271b3dff865a7d128 100644
--- a/src/plugins/scope/defs.mli
+++ b/src/plugins/scope/defs.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/scope/dpds_gui.ml b/src/plugins/scope/dpds_gui.ml
index 410bb216d697e3d0ccaa144efca88a25068e8915..6347c07315429e8aca621ee5c55d44b597ed0731 100644
--- a/src/plugins/scope/dpds_gui.ml
+++ b/src/plugins/scope/dpds_gui.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/scope/zones.ml b/src/plugins/scope/zones.ml
index a9b23f3233bf7d7712bc2e83b1a671d06657a425..2a31ef57059930ac2687e3b1e1031598f834940e 100644
--- a/src/plugins/scope/zones.ml
+++ b/src/plugins/scope/zones.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/scope/zones.mli b/src/plugins/scope/zones.mli
index 23252d450dfcd3c8eb60a9ef6da6520d144d089b..7f4aebfb3c75b09b5a701c265aefd22016bb1212 100644
--- a/src/plugins/scope/zones.mli
+++ b/src/plugins/scope/zones.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/security_slicing/Makefile.in b/src/plugins/security_slicing/Makefile.in
index 0a934acbdc7cea14d5773eaec7a8aa5ee8aa74da..cdb19ff6ef7a431d6ea0e1ef2e21990c6f58ff47 100644
--- a/src/plugins/security_slicing/Makefile.in
+++ b/src/plugins/security_slicing/Makefile.in
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/security_slicing/Security_slicing.mli b/src/plugins/security_slicing/Security_slicing.mli
index e3d48c472069ae34644336209b58c872dd1fa784..33e47692473b7d355666ea1a781bcaa388acab54 100644
--- a/src/plugins/security_slicing/Security_slicing.mli
+++ b/src/plugins/security_slicing/Security_slicing.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/security_slicing/components.ml b/src/plugins/security_slicing/components.ml
index d66e418e75abee0e1903162b352d59774b8a5d04..d126b3dfeb4f6495088c1b50f39bc3d01aee34ad 100644
--- a/src/plugins/security_slicing/components.ml
+++ b/src/plugins/security_slicing/components.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/security_slicing/components.mli b/src/plugins/security_slicing/components.mli
index 6a6e4a6dc38e0613bb9dd8fcb24cc8e9d721ce88..b5141d0bb58ca8edbe5b2ab765a05be8a6a96689 100644
--- a/src/plugins/security_slicing/components.mli
+++ b/src/plugins/security_slicing/components.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/security_slicing/configure.ac b/src/plugins/security_slicing/configure.ac
index bd2896471aa66cff305a4ae2214a62e77c69cdc2..97058ce4811d40a6a345ab9dab6ddd6c8dfaf188 100644
--- a/src/plugins/security_slicing/configure.ac
+++ b/src/plugins/security_slicing/configure.ac
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/security_slicing/register_gui.ml b/src/plugins/security_slicing/register_gui.ml
index 68f0663912c564ae879567813a40704a9d1a9dd5..b18a51f45e0049294800154b8cf04ebc79acb208 100644
--- a/src/plugins/security_slicing/register_gui.ml
+++ b/src/plugins/security_slicing/register_gui.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/security_slicing/register_gui.mli b/src/plugins/security_slicing/register_gui.mli
index b629e7abe107df74dc438fe37a64900e506bc80c..6b0e6a98505e2f63ea33f8c8cb1e91b7bebbd52a 100644
--- a/src/plugins/security_slicing/register_gui.mli
+++ b/src/plugins/security_slicing/register_gui.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/security_slicing/security_slicing_parameters.ml b/src/plugins/security_slicing/security_slicing_parameters.ml
index 047e4b6d07f44f14cb02e0e09a3b5844fc78c6d3..7ab89e0f0914bb580892017db993878de7c4489c 100644
--- a/src/plugins/security_slicing/security_slicing_parameters.ml
+++ b/src/plugins/security_slicing/security_slicing_parameters.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/security_slicing/security_slicing_parameters.mli b/src/plugins/security_slicing/security_slicing_parameters.mli
index b1ee7bf5431335d7598135aa56ba8febc04451b2..eb20275210da8366d5069a2e0309d0427c3a65b7 100644
--- a/src/plugins/security_slicing/security_slicing_parameters.mli
+++ b/src/plugins/security_slicing/security_slicing_parameters.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/Slicing.mli b/src/plugins/slicing/Slicing.mli
index f96cc3f347288a2787896161ac9637babd7b1161..422c2cabb567f591c3f99cf9393cf952e7458f18 100644
--- a/src/plugins/slicing/Slicing.mli
+++ b/src/plugins/slicing/Slicing.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/api.ml b/src/plugins/slicing/api.ml
index b65f92a8f9f6f1aa74086f93d735cc4ec3ba5ebc..2ada57e9d0e831ba21e5fd8f1b3bc3050ff96a81 100644
--- a/src/plugins/slicing/api.ml
+++ b/src/plugins/slicing/api.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/fct_slice.ml b/src/plugins/slicing/fct_slice.ml
index 9f84620fdca807e8e57e89b28ab56cb83a5db92e..ae957bc05f425bac74797f557e0a4f6bfff7112f 100644
--- a/src/plugins/slicing/fct_slice.ml
+++ b/src/plugins/slicing/fct_slice.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/fct_slice.mli b/src/plugins/slicing/fct_slice.mli
index cc5ac28ac433dfed3e0713a1a625ec99997ac4a9..989184c2cdba2fee99a8027ec3e1ae1dbb37abdb 100644
--- a/src/plugins/slicing/fct_slice.mli
+++ b/src/plugins/slicing/fct_slice.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/printSlice.ml b/src/plugins/slicing/printSlice.ml
index 1f0109af6dd177363c41988512b1aa0221f8e92a..ab5ff941236c1838428f38f7483f90a1229641d5 100644
--- a/src/plugins/slicing/printSlice.ml
+++ b/src/plugins/slicing/printSlice.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -75,7 +75,7 @@ class printerClass optional_ff = object(self)
             str_m
             super#vdecl var
 
-  method! stmtkind next fmt kind =
+  method! stmtkind sattr next fmt kind =
     let stmt_info fmt stmt = match opt_ff with
       | None -> Format.fprintf fmt "@[/* %d */@]" stmt.Cil_types.sid
       | Some ff ->
@@ -94,7 +94,7 @@ class printerClass optional_ff = object(self)
     try
       Format.fprintf fmt "@[<v>%a@ %a@]"
         stmt_info s
-        (fun fmt -> super#stmtkind next fmt) kind
+        (fun fmt -> super#stmtkind sattr next fmt) kind
     with Not_found -> 
       (* some sub statements may be visible *)
       let sub_stmts = find_sub_stmts s in
diff --git a/src/plugins/slicing/printSlice.mli b/src/plugins/slicing/printSlice.mli
index 120a904f5e473c089b3cc8da67d1d4d9e680c989..5832e94bb25e33001a2b3a820594dacea140a2a6 100644
--- a/src/plugins/slicing/printSlice.mli
+++ b/src/plugins/slicing/printSlice.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/register.ml b/src/plugins/slicing/register.ml
index 5f5f376a784e03db921b99ae81143f3e052e6d6f..888b5b31500e719a48025aff744d22167c41b853 100644
--- a/src/plugins/slicing/register.ml
+++ b/src/plugins/slicing/register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/register_gui.ml b/src/plugins/slicing/register_gui.ml
index e8abaf50f85479ec6199298d5fd0d143f3a6e3c4..5a962f17d8a94827f442b5bf1ba59c97cff00158 100644
--- a/src/plugins/slicing/register_gui.ml
+++ b/src/plugins/slicing/register_gui.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/register_gui.mli b/src/plugins/slicing/register_gui.mli
index c4385f438ab5808e16abca3fe60270ced837545f..3f278a7d75e4d5a0a4ca62f0c703be09d0781f92 100644
--- a/src/plugins/slicing/register_gui.mli
+++ b/src/plugins/slicing/register_gui.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingActions.ml b/src/plugins/slicing/slicingActions.ml
index ff80ca3f9b93fa0e413baaebbb79498e938e74e7..e59c8e9c6a9399eea3c4f3edf01844074b2c275b 100644
--- a/src/plugins/slicing/slicingActions.ml
+++ b/src/plugins/slicing/slicingActions.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingActions.mli b/src/plugins/slicing/slicingActions.mli
index 3fe904c8ce1f2320255ea5a63ea61a33110222d7..01896e758b6ab0fee699f7d5444b09666c36459a 100644
--- a/src/plugins/slicing/slicingActions.mli
+++ b/src/plugins/slicing/slicingActions.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingCmds.ml b/src/plugins/slicing/slicingCmds.ml
index 59c1f30ae8ae4b9e570b6bfa9656e67f2043149a..7ab823c36cfaa2028c440af02fcbbc3b2277313e 100644
--- a/src/plugins/slicing/slicingCmds.ml
+++ b/src/plugins/slicing/slicingCmds.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingCmds.mli b/src/plugins/slicing/slicingCmds.mli
index 7afdfe94c708dd1afbd250663e9b68ef08d88696..9c018a7e44cf41f2cf8299fab91f5b1e8c7251ad 100644
--- a/src/plugins/slicing/slicingCmds.mli
+++ b/src/plugins/slicing/slicingCmds.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingInternals.ml b/src/plugins/slicing/slicingInternals.ml
index 7fea8d0516f87ec06d1a38fe187e761ff16d4603..6142277b74918cd255794e1405b88fb7b705318e 100644
--- a/src/plugins/slicing/slicingInternals.ml
+++ b/src/plugins/slicing/slicingInternals.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingMacros.ml b/src/plugins/slicing/slicingMacros.ml
index f22b685dd6d9f18602b8924ee3d123ca3ec2bbd0..7031f9dd07bb37aea6a5b40358b859d03771e2dd 100644
--- a/src/plugins/slicing/slicingMacros.ml
+++ b/src/plugins/slicing/slicingMacros.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingMacros.mli b/src/plugins/slicing/slicingMacros.mli
index bc1f6fd3ceee3d9244f2d22ea3f4bbbe805d4576..3c4ebe51fcd9ef19d6c74eb32ecd123116d5d859 100644
--- a/src/plugins/slicing/slicingMacros.mli
+++ b/src/plugins/slicing/slicingMacros.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingMarks.ml b/src/plugins/slicing/slicingMarks.ml
index 6d7b888acb06c3fb3b5d1b7e6ebec2d5f2d842cd..db24b76b89468ea13f51767f32ba54227a2f0669 100644
--- a/src/plugins/slicing/slicingMarks.ml
+++ b/src/plugins/slicing/slicingMarks.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingMarks.mli b/src/plugins/slicing/slicingMarks.mli
index 0945f18ed2a32ea21366bc8f04a2c8c2b88cb2e4..e9bacd135ff26119c87afcd7bf5fa0b619f6a9b5 100644
--- a/src/plugins/slicing/slicingMarks.mli
+++ b/src/plugins/slicing/slicingMarks.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingParameters.ml b/src/plugins/slicing/slicingParameters.ml
index 431c0641c968781c1b327b473f969e1be4491986..a7cb63cfe760f95f3e4353d3cbb938109ed0f1a9 100644
--- a/src/plugins/slicing/slicingParameters.ml
+++ b/src/plugins/slicing/slicingParameters.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingParameters.mli b/src/plugins/slicing/slicingParameters.mli
index e9960bafe954dd2c4fd5c94f407bdf3e6e9b1ca8..40f8eb2f1fe7dad9b2ef233042aaf321bbd992d8 100644
--- a/src/plugins/slicing/slicingParameters.mli
+++ b/src/plugins/slicing/slicingParameters.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingProject.ml b/src/plugins/slicing/slicingProject.ml
index 5d6ab46ceb3f782f369968ac3cd585c5e8648646..a02fcaf8fd2339de2ff76b4a33ed3274632faef3 100644
--- a/src/plugins/slicing/slicingProject.ml
+++ b/src/plugins/slicing/slicingProject.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingProject.mli b/src/plugins/slicing/slicingProject.mli
index 2be6bc082ba3ab21077c08adb2754e1a230e15e9..c09d98f5ff563b7c7a582311ca79cad31700eb40 100644
--- a/src/plugins/slicing/slicingProject.mli
+++ b/src/plugins/slicing/slicingProject.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingSelect.ml b/src/plugins/slicing/slicingSelect.ml
index 43fb69b15721102d89d540f36fdf6495f1e9c18f..87c704d27573c40a14420bbfa5984185157742dd 100644
--- a/src/plugins/slicing/slicingSelect.ml
+++ b/src/plugins/slicing/slicingSelect.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingState.ml b/src/plugins/slicing/slicingState.ml
index 2681d66cad177c0cad32fe2e28388bf84f6668c2..41ddc0ae1958a1e8c1f4a7c6705b16c32db2c1ce 100644
--- a/src/plugins/slicing/slicingState.ml
+++ b/src/plugins/slicing/slicingState.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingState.mli b/src/plugins/slicing/slicingState.mli
index 581c23f618f35d1d4b92e27e354fd2b6c1fe4734..0254acc7435ca613f27ecbf98347ebe54b127032 100644
--- a/src/plugins/slicing/slicingState.mli
+++ b/src/plugins/slicing/slicingState.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingTransform.ml b/src/plugins/slicing/slicingTransform.ml
index 399ff0b2d1f34fd1fb1383e3340163493460fb5b..35b30b376fe483d7977fe7a8790adfcafb84a1f6 100644
--- a/src/plugins/slicing/slicingTransform.ml
+++ b/src/plugins/slicing/slicingTransform.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingTransform.mli b/src/plugins/slicing/slicingTransform.mli
index 0d4b56e4499b9a7585ded548ee650c58bd0a9327..36fdb2a39945bb4d988af7050189ebbc1df8f6d3 100644
--- a/src/plugins/slicing/slicingTransform.mli
+++ b/src/plugins/slicing/slicingTransform.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/slicing/slicingTypes.ml b/src/plugins/slicing/slicingTypes.ml
index e4e4703b699db017dddb8300b5a71179b41a82eb..2de02cd5faf3e2cb35e3cfb423e3c4c5a62c2f3e 100644
--- a/src/plugins/slicing/slicingTypes.ml
+++ b/src/plugins/slicing/slicingTypes.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/sparecode/Sparecode.mli b/src/plugins/sparecode/Sparecode.mli
index 215ceebc480a3ebc6367086812ec7e1b77d2cc97..e2a726634a19d35cb2e54f142c1b6413051aaa06 100644
--- a/src/plugins/sparecode/Sparecode.mli
+++ b/src/plugins/sparecode/Sparecode.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/sparecode/globs.ml b/src/plugins/sparecode/globs.ml
index ef643b0063b604806c8cacdd044df7686b7702c0..eb84a71c48abcc51a8426777bde0d3247c18dfec 100644
--- a/src/plugins/sparecode/globs.ml
+++ b/src/plugins/sparecode/globs.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/sparecode/register.ml b/src/plugins/sparecode/register.ml
index 175f8b328abfb88ad69882fa234faa6ac44ced8c..cb375e46dba0a36fbd09762813273405092901a3 100644
--- a/src/plugins/sparecode/register.ml
+++ b/src/plugins/sparecode/register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/sparecode/spare_marks.ml b/src/plugins/sparecode/spare_marks.ml
index 7f87e25c71119697f95768a9f7ef0b5e513e99d7..5d9c7acde6a326f5811c508aa7acebbf33c25e97 100644
--- a/src/plugins/sparecode/spare_marks.ml
+++ b/src/plugins/sparecode/spare_marks.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/sparecode/spare_marks.mli b/src/plugins/sparecode/spare_marks.mli
index ac2a77a631e169468f2ecc11727caa7d2ca6f359..a054113cbebe508d15ba826b810a458ecffcca27 100644
--- a/src/plugins/sparecode/spare_marks.mli
+++ b/src/plugins/sparecode/spare_marks.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/sparecode/sparecode_params.ml b/src/plugins/sparecode/sparecode_params.ml
index a78279b94db9b5870c4bb4988c52bd4deb4569c4..fee87425697c25d573de6c90acb24097b77b1de9 100644
--- a/src/plugins/sparecode/sparecode_params.ml
+++ b/src/plugins/sparecode/sparecode_params.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/sparecode/sparecode_params.mli b/src/plugins/sparecode/sparecode_params.mli
index f9d91498312e7a9840b2270ca9ab788466bc4908..4db44d3e28a7277dabbd1978b4c45b30d379b511 100644
--- a/src/plugins/sparecode/sparecode_params.mli
+++ b/src/plugins/sparecode/sparecode_params.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/sparecode/transform.ml b/src/plugins/sparecode/transform.ml
index a59dd97535c7c268ad3ea6efe385f3f5ff71f833..7812565a7daadc4a2f226f626cc375bb37ae31bc 100644
--- a/src/plugins/sparecode/transform.ml
+++ b/src/plugins/sparecode/transform.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/studia/Makefile b/src/plugins/studia/Makefile
index 0f8b72e7d638df4a2a6d9c829b9406a86d24740e..b7665d764aa3b3bd662493144754cf2d67af457c 100644
--- a/src/plugins/studia/Makefile
+++ b/src/plugins/studia/Makefile
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/studia/Studia.mli b/src/plugins/studia/Studia.mli
index c10d7cb05c978340c8f3e5dfc7bd530ee607ad2c..52715cb61ccce3275ea10d616c62724ed5cb3178 100644
--- a/src/plugins/studia/Studia.mli
+++ b/src/plugins/studia/Studia.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/studia/options.ml b/src/plugins/studia/options.ml
index af6dccf4f8fbc71babc80c9fb08cdd1bfc7b0bfe..69fc4caf32fc5739c0c986208748f25f43b27886 100644
--- a/src/plugins/studia/options.ml
+++ b/src/plugins/studia/options.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/studia/options.mli b/src/plugins/studia/options.mli
index 7139184c3a8e2cc0ddd9ddaafc922d24955efc61..e5247f0055e95441826a5bc4b5214dbf3657e18f 100644
--- a/src/plugins/studia/options.mli
+++ b/src/plugins/studia/options.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/studia/reads.ml b/src/plugins/studia/reads.ml
index 5404eac5118aecfd73d9b725ca794addeccfb495..0fb3d4ac68954ff1786f0213fe6e35ea59597126 100644
--- a/src/plugins/studia/reads.ml
+++ b/src/plugins/studia/reads.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/studia/reads.mli b/src/plugins/studia/reads.mli
index 72df6b67cedd03f14ed36bd5feb5b4fa9db436ff..1207e9d1d35b0770db3dc3d45de1b338aba4a86f 100644
--- a/src/plugins/studia/reads.mli
+++ b/src/plugins/studia/reads.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/studia/studia_gui.ml b/src/plugins/studia/studia_gui.ml
index 552a1ee2e0c214b8217a9e6c635beaa4349574e6..230c8b7940580c619b214f1fbb1a6b139efcc97d 100644
--- a/src/plugins/studia/studia_gui.ml
+++ b/src/plugins/studia/studia_gui.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/studia/studia_gui.mli b/src/plugins/studia/studia_gui.mli
index 8248830969f5f25208000c856c64f412b78695ea..1ff3bd8f076fe0200d1c9b41fc599428aa4876b2 100644
--- a/src/plugins/studia/studia_gui.mli
+++ b/src/plugins/studia/studia_gui.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/studia/writes.ml b/src/plugins/studia/writes.ml
index 1178f50bfa321338fe16a257f7ba1d1aad98826d..87cd013914e0db622f3151e0e55038017520c9ee 100644
--- a/src/plugins/studia/writes.ml
+++ b/src/plugins/studia/writes.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/studia/writes.mli b/src/plugins/studia/writes.mli
index 8b04c5e0b16d9e674f7129695f75a0ad8bb1be07..963ded99e680c475142439bc1ce1ca7dc0b5d65c 100644
--- a/src/plugins/studia/writes.mli
+++ b/src/plugins/studia/writes.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/users/Users.mli b/src/plugins/users/Users.mli
index f9510c0056cc4daaffd633efa2955229cc8e4665..5a726447229afaef03d997276378e33961831584 100644
--- a/src/plugins/users/Users.mli
+++ b/src/plugins/users/Users.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/users/users_register.ml b/src/plugins/users/users_register.ml
index f61d4e7665edab65d0a7d48774088c57fa021f0b..0d775e8b8a96d943030977b2cc992c4b4ee683a5 100644
--- a/src/plugins/users/users_register.ml
+++ b/src/plugins/users/users_register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/Eva.mli b/src/plugins/value/Eva.mli
index e095c472ff8a40e6bdac196683ca9ef344fdf434..d27f426c32f2806ad0bd341278af380fbaad0195 100644
--- a/src/plugins/value/Eva.mli
+++ b/src/plugins/value/Eva.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/alarmset.ml b/src/plugins/value/alarmset.ml
index 203797e611ca718d11798d5edee3a6f516da3faa..062f57f05174f880780c1207d6b44d8f42d9f9ec 100644
--- a/src/plugins/value/alarmset.ml
+++ b/src/plugins/value/alarmset.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/alarmset.mli b/src/plugins/value/alarmset.mli
index 16b15ec5dcb0cc42532323d8ecdd285443376242..e978d5708b4bdc5de5789104fbfbc93f691cedd1 100644
--- a/src/plugins/value/alarmset.mli
+++ b/src/plugins/value/alarmset.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/abstract_domain.mli b/src/plugins/value/domains/abstract_domain.mli
index 1443485df2b94efc35622b9d975f2c7abe6a6ba5..f2dc9ff30e5586e3f4e7d7eb7ed713781fe82655 100644
--- a/src/plugins/value/domains/abstract_domain.mli
+++ b/src/plugins/value/domains/abstract_domain.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/apron/apron_domain.ko.ml b/src/plugins/value/domains/apron/apron_domain.ko.ml
index 0683e0d3ba738a7ffa651d64b48c6663c7101b6a..9ccb3680e2919874b7ad15a85c8b3c597e39083d 100644
--- a/src/plugins/value/domains/apron/apron_domain.ko.ml
+++ b/src/plugins/value/domains/apron/apron_domain.ko.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/apron/apron_domain.mli b/src/plugins/value/domains/apron/apron_domain.mli
index 993f8bb70dd955de64456396db742acbe18245ab..19c6611afb1159e90e569e04971eec187da1bbab 100644
--- a/src/plugins/value/domains/apron/apron_domain.mli
+++ b/src/plugins/value/domains/apron/apron_domain.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/apron/apron_domain.ok.ml b/src/plugins/value/domains/apron/apron_domain.ok.ml
index 7b8510916ff3c3a3da4eea71780fcf7a2944d8ec..6c7817dff14e3c75d297c337029daa911d0d6d9a 100644
--- a/src/plugins/value/domains/apron/apron_domain.ok.ml
+++ b/src/plugins/value/domains/apron/apron_domain.ok.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins.ml b/src/plugins/value/domains/cvalue/builtins.ml
index d4132f06f95e3655939340f0485a3ae3e86028d4..fb2479c5e3c896d33ad478cb4d07bd459e6354d1 100644
--- a/src/plugins/value/domains/cvalue/builtins.ml
+++ b/src/plugins/value/domains/cvalue/builtins.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins.mli b/src/plugins/value/domains/cvalue/builtins.mli
index e08655ff57eeb067d7e5b475e7ecaed8aa077a00..351bf9a11ddd32c6df1c74fbba77bbe45f1ecf6e 100644
--- a/src/plugins/value/domains/cvalue/builtins.mli
+++ b/src/plugins/value/domains/cvalue/builtins.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_float.ml b/src/plugins/value/domains/cvalue/builtins_float.ml
index e86afb819ce7f4ce89672805a3dec951f252b898..458470bfbd5d68f8ad26fab04d9ce4939cdc3369 100644
--- a/src/plugins/value/domains/cvalue/builtins_float.ml
+++ b/src/plugins/value/domains/cvalue/builtins_float.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_float.mli b/src/plugins/value/domains/cvalue/builtins_float.mli
index 7929492d6e6fbdfbe9915eb44a174212d44c160d..2c8eaa212090b6c862e8d9a043c0657d81da4acf 100644
--- a/src/plugins/value/domains/cvalue/builtins_float.mli
+++ b/src/plugins/value/domains/cvalue/builtins_float.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_malloc.ml b/src/plugins/value/domains/cvalue/builtins_malloc.ml
index c3f6e9ce06e866ac373bbb37d95c52fdc37fd10e..ae944aa55f87b4c15792a40735e33ef0c1bd7bee 100644
--- a/src/plugins/value/domains/cvalue/builtins_malloc.ml
+++ b/src/plugins/value/domains/cvalue/builtins_malloc.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_malloc.mli b/src/plugins/value/domains/cvalue/builtins_malloc.mli
index 85c2d2d2eee33a1fcf478936255f8daabc413fcd..ddb847fde07c1b902e21b1e54681648ec071ba84 100644
--- a/src/plugins/value/domains/cvalue/builtins_malloc.mli
+++ b/src/plugins/value/domains/cvalue/builtins_malloc.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_memory.ml b/src/plugins/value/domains/cvalue/builtins_memory.ml
index a66f81bdeb013e52ce3351b90ac1a40f22bf9226..e413f5d9ac2483cb764c1ee6bcf84d08d4b3f7f4 100644
--- a/src/plugins/value/domains/cvalue/builtins_memory.ml
+++ b/src/plugins/value/domains/cvalue/builtins_memory.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_memory.mli b/src/plugins/value/domains/cvalue/builtins_memory.mli
index c7addb3ec5c933bf96ec9e72714aa442959b2c57..185407cdb125e4b63ec5a242f7297e46b67727e5 100644
--- a/src/plugins/value/domains/cvalue/builtins_memory.mli
+++ b/src/plugins/value/domains/cvalue/builtins_memory.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_misc.ml b/src/plugins/value/domains/cvalue/builtins_misc.ml
index 9fd4aedcde6ded2fb3b922a820102705669ce894..fa69ac070b47b5a2288656980f50350bfefc11aa 100644
--- a/src/plugins/value/domains/cvalue/builtins_misc.ml
+++ b/src/plugins/value/domains/cvalue/builtins_misc.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_misc.mli b/src/plugins/value/domains/cvalue/builtins_misc.mli
index d6cad0553821faf26ecfad001cd80e4152c2d948..f21a8808855a093e83bf1821b84748fa3bf1e540 100644
--- a/src/plugins/value/domains/cvalue/builtins_misc.mli
+++ b/src/plugins/value/domains/cvalue/builtins_misc.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_print_c.ml b/src/plugins/value/domains/cvalue/builtins_print_c.ml
index a0faa9434838c52a2dc1f348ffd20e091f519440..f32792786051a017156a912f62ad8b92542688bb 100644
--- a/src/plugins/value/domains/cvalue/builtins_print_c.ml
+++ b/src/plugins/value/domains/cvalue/builtins_print_c.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_print_c.mli b/src/plugins/value/domains/cvalue/builtins_print_c.mli
index c8f11e3bee0cc0ffe5a7bf56617605a841e3ec24..80f0da7ad4b8e9bddfd782ee398b542ad1f34e0e 100644
--- a/src/plugins/value/domains/cvalue/builtins_print_c.mli
+++ b/src/plugins/value/domains/cvalue/builtins_print_c.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_split.ml b/src/plugins/value/domains/cvalue/builtins_split.ml
index af7b11e3b0cd321cff2161c75d035b3b676634a3..91d13f06f876ea2f94e5bb36888ad8d43436842e 100644
--- a/src/plugins/value/domains/cvalue/builtins_split.ml
+++ b/src/plugins/value/domains/cvalue/builtins_split.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_split.mli b/src/plugins/value/domains/cvalue/builtins_split.mli
index b2bc6e43aff24a610877258dad99dc57eb10dbbf..534162c0101132c4e2f6707cf38e2512e7561c52 100644
--- a/src/plugins/value/domains/cvalue/builtins_split.mli
+++ b/src/plugins/value/domains/cvalue/builtins_split.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_string.ml b/src/plugins/value/domains/cvalue/builtins_string.ml
index d3d2477f886fdcf33b70ea803c87154aad84d7ec..d6c9c6040bdc299c6f7333e710b8a18838236c41 100644
--- a/src/plugins/value/domains/cvalue/builtins_string.ml
+++ b/src/plugins/value/domains/cvalue/builtins_string.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_string.mli b/src/plugins/value/domains/cvalue/builtins_string.mli
index 8106fdbca792516c9bb87d930af8a490a92e6a5e..a19e4d7b09194af36918c3be2c7a7146782d9c47 100644
--- a/src/plugins/value/domains/cvalue/builtins_string.mli
+++ b/src/plugins/value/domains/cvalue/builtins_string.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_watchpoint.ml b/src/plugins/value/domains/cvalue/builtins_watchpoint.ml
index 32bb43ff20c32bfadd523d4e3367ff0ed73271ab..fbebe367bbff602be7ae2806f782669b01358ff8 100644
--- a/src/plugins/value/domains/cvalue/builtins_watchpoint.ml
+++ b/src/plugins/value/domains/cvalue/builtins_watchpoint.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/builtins_watchpoint.mli b/src/plugins/value/domains/cvalue/builtins_watchpoint.mli
index 6f878a7648805a1b4310e0d9ea44f1de6bd9b01c..94b276ff5a639b62fc8cb7b9fbd4a25152470153 100644
--- a/src/plugins/value/domains/cvalue/builtins_watchpoint.mli
+++ b/src/plugins/value/domains/cvalue/builtins_watchpoint.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/cvalue_domain.ml b/src/plugins/value/domains/cvalue/cvalue_domain.ml
index a079226139cf67156b5a9f570465a1c9fa144c8c..798c4ea72f7d652d2d5a98d80780ce0f814e5619 100644
--- a/src/plugins/value/domains/cvalue/cvalue_domain.ml
+++ b/src/plugins/value/domains/cvalue/cvalue_domain.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/cvalue_domain.mli b/src/plugins/value/domains/cvalue/cvalue_domain.mli
index 62b8a279b0f70209e7ab5fc074da46edebd07297..34436ded0ad5db8a2d0b97d157f0d802891256a4 100644
--- a/src/plugins/value/domains/cvalue/cvalue_domain.mli
+++ b/src/plugins/value/domains/cvalue/cvalue_domain.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/cvalue_init.ml b/src/plugins/value/domains/cvalue/cvalue_init.ml
index 0826cdec7d9539da8c47485874db975a4d45d3c7..60d60a97157b848e6a0d39a1a6283617002810c0 100644
--- a/src/plugins/value/domains/cvalue/cvalue_init.ml
+++ b/src/plugins/value/domains/cvalue/cvalue_init.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/cvalue_init.mli b/src/plugins/value/domains/cvalue/cvalue_init.mli
index 1d20d46c2a9fdc845879eb0be5eece5d9a021f30..163e195deece5f2105d7f9b31b1731ea88695987 100644
--- a/src/plugins/value/domains/cvalue/cvalue_init.mli
+++ b/src/plugins/value/domains/cvalue/cvalue_init.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/cvalue_offsetmap.ml b/src/plugins/value/domains/cvalue/cvalue_offsetmap.ml
index 876fa9f8c07974c920722980238b0e0af75c91d1..63d5ecc055684941150765ddeecf4633f48ce626 100644
--- a/src/plugins/value/domains/cvalue/cvalue_offsetmap.ml
+++ b/src/plugins/value/domains/cvalue/cvalue_offsetmap.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/cvalue_offsetmap.mli b/src/plugins/value/domains/cvalue/cvalue_offsetmap.mli
index 2210ce9a62dbcbfb5a2a8ff96406df8386e296b3..0616e65de568f8945ba6c21a0d87fa2622ad0f67 100644
--- a/src/plugins/value/domains/cvalue/cvalue_offsetmap.mli
+++ b/src/plugins/value/domains/cvalue/cvalue_offsetmap.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/cvalue_specification.ml b/src/plugins/value/domains/cvalue/cvalue_specification.ml
index 78eafb146fa49b529afda90d7f1dfef2f55ff15a..69a39589b185ee6e2704837a43b0681356a91340 100644
--- a/src/plugins/value/domains/cvalue/cvalue_specification.ml
+++ b/src/plugins/value/domains/cvalue/cvalue_specification.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/cvalue_specification.mli b/src/plugins/value/domains/cvalue/cvalue_specification.mli
index 2736468c75a7b0547a7c3b4cc5a1c106c11dd134..fd1768ba7917eed2249efe75f81a3440c2ebfe3b 100644
--- a/src/plugins/value/domains/cvalue/cvalue_specification.mli
+++ b/src/plugins/value/domains/cvalue/cvalue_specification.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/cvalue_transfer.ml b/src/plugins/value/domains/cvalue/cvalue_transfer.ml
index 32065df1460ccfeb77971aea5a42c6bd0e20fdbf..a53f6cf775e0fd80581d1887435b1336fc636403 100644
--- a/src/plugins/value/domains/cvalue/cvalue_transfer.ml
+++ b/src/plugins/value/domains/cvalue/cvalue_transfer.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/cvalue_transfer.mli b/src/plugins/value/domains/cvalue/cvalue_transfer.mli
index e09a9f0ccc24085c6d312a37bfa63efb2a6f7d56..a2bff4ae04a3cf219e64549d2aa4e701b6545dfa 100644
--- a/src/plugins/value/domains/cvalue/cvalue_transfer.mli
+++ b/src/plugins/value/domains/cvalue/cvalue_transfer.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/locals_scoping.ml b/src/plugins/value/domains/cvalue/locals_scoping.ml
index 0848647262e988b767613b579f13bbe919b81239..2059c345c71b2421ed931990f7471fccdfa83ad5 100644
--- a/src/plugins/value/domains/cvalue/locals_scoping.ml
+++ b/src/plugins/value/domains/cvalue/locals_scoping.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/locals_scoping.mli b/src/plugins/value/domains/cvalue/locals_scoping.mli
index 67d4cdfd3fb02a92c9ee83296efddcd93a6c40f0..e0b8c5d181d57181580186b48c8a832594d15550 100644
--- a/src/plugins/value/domains/cvalue/locals_scoping.mli
+++ b/src/plugins/value/domains/cvalue/locals_scoping.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/warn.ml b/src/plugins/value/domains/cvalue/warn.ml
index 187b99bac2c1e494266dd8119672b459ef3450c7..d97c541ab5cc3c2ce14edc09a88752c4af8b237a 100644
--- a/src/plugins/value/domains/cvalue/warn.ml
+++ b/src/plugins/value/domains/cvalue/warn.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/cvalue/warn.mli b/src/plugins/value/domains/cvalue/warn.mli
index 8bd3c81baa06a49b073d86a0f1f9925037c66a4d..3e60e835876ad42d9d7aa4b56df63dfde7f007b0 100644
--- a/src/plugins/value/domains/cvalue/warn.mli
+++ b/src/plugins/value/domains/cvalue/warn.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/domain_builder.ml b/src/plugins/value/domains/domain_builder.ml
index 88bbc85b21d0d757728ed1849c20cc4ba1b32dfc..108c1c4eada23618cd0484c2038734e547a3503d 100644
--- a/src/plugins/value/domains/domain_builder.ml
+++ b/src/plugins/value/domains/domain_builder.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/domain_builder.mli b/src/plugins/value/domains/domain_builder.mli
index 40a364106085914c7314e539b7e44afb5c87a1d7..7d3b426a606878abe05699292d827739fcec4948 100644
--- a/src/plugins/value/domains/domain_builder.mli
+++ b/src/plugins/value/domains/domain_builder.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/domain_lift.ml b/src/plugins/value/domains/domain_lift.ml
index caf7b8e1533bbf87390eef8227340e761d72369f..02eaa96e98d63b5f8cccfe3bfa8463d6565ef361 100644
--- a/src/plugins/value/domains/domain_lift.ml
+++ b/src/plugins/value/domains/domain_lift.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/domain_lift.mli b/src/plugins/value/domains/domain_lift.mli
index f3a3f84eec375414e1b0e2e61408eb12ae2df2bd..9e16a8a292ee65d5fd7ff670ac2e9228b9180ba1 100644
--- a/src/plugins/value/domains/domain_lift.mli
+++ b/src/plugins/value/domains/domain_lift.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/domain_product.ml b/src/plugins/value/domains/domain_product.ml
index 08a9cf5b6eb2f03bec67ca21ec75420940c8442b..35ada8461ccc5a2169f4c2a5be3ccbb3bfb8e483 100644
--- a/src/plugins/value/domains/domain_product.ml
+++ b/src/plugins/value/domains/domain_product.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/domain_product.mli b/src/plugins/value/domains/domain_product.mli
index 196495d26de0b569280e7234d55fbe976d4c2ff6..c883a94ba8d1cb26816c742f8c8bf9a5bbe8532c 100644
--- a/src/plugins/value/domains/domain_product.mli
+++ b/src/plugins/value/domains/domain_product.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/domain_store.ml b/src/plugins/value/domains/domain_store.ml
index 448ef904987aeaf4eca09f7d6f249f3600bd1be4..22d08a628389a8585217a2e021dd8e381598a756 100644
--- a/src/plugins/value/domains/domain_store.ml
+++ b/src/plugins/value/domains/domain_store.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/domain_store.mli b/src/plugins/value/domains/domain_store.mli
index 01c6ab0a8ac691a02b9d647207aa6088877b3e70..0e310a36d82fc4734954ea133285456322a2e9f9 100644
--- a/src/plugins/value/domains/domain_store.mli
+++ b/src/plugins/value/domains/domain_store.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/equality/equality.ml b/src/plugins/value/domains/equality/equality.ml
index 9fac38b57f2cf8121a8e0d11399bf726c5ef605b..278404749c6349fd2f5ac17cbc0a3cf21da46c44 100644
--- a/src/plugins/value/domains/equality/equality.ml
+++ b/src/plugins/value/domains/equality/equality.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/equality/equality.mli b/src/plugins/value/domains/equality/equality.mli
index f77042ade83f10406fd9b0384cd89651b9de15cc..9c5800dfd1f01daba51afb0a6508eef34810e005 100644
--- a/src/plugins/value/domains/equality/equality.mli
+++ b/src/plugins/value/domains/equality/equality.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/equality/equality_domain.ml b/src/plugins/value/domains/equality/equality_domain.ml
index f2db71da693e981cf70d699cb9c6c241c6188c50..844b890277e5e45e324a1911239fec5037816f51 100644
--- a/src/plugins/value/domains/equality/equality_domain.ml
+++ b/src/plugins/value/domains/equality/equality_domain.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -406,7 +406,9 @@ module Make
     let assign _stmt left_value right_expr value valuation state =
       let open Locations in
       let left_loc = Precise_locs.imprecise_location left_value.lloc in
-      let direct_left_zone = Locations.enumerate_bits left_loc in
+      let direct_left_zone =
+        Locations.enumerate_valid_bits ~for_writing:true left_loc
+      in
       let state = kill Hcexprs.Modified direct_left_zone state in
       let right_expr = Cil.constFold true right_expr in
       try
@@ -513,7 +515,7 @@ module Make
 
   let logic_assign _assigns location ~pre:_ state =
     let loc = Precise_locs.imprecise_location location in
-    let zone = Locations.enumerate_bits loc in
+    let zone = Locations.enumerate_valid_bits ~for_writing:true loc in
     kill Hcexprs.Modified zone state
 
   let evaluate_predicate _ _ _ = Alarmset.Unknown
diff --git a/src/plugins/value/domains/equality/equality_domain.mli b/src/plugins/value/domains/equality/equality_domain.mli
index 0e0371e9697f2bf7a727c421a054b8492475d3bf..6f6d041654125ff27303bcd95cd853297b8ba836 100644
--- a/src/plugins/value/domains/equality/equality_domain.mli
+++ b/src/plugins/value/domains/equality/equality_domain.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/gauges/gauges_domain.ml b/src/plugins/value/domains/gauges/gauges_domain.ml
index 943a466c31d40297d45579dfce6bc24f3cba01f4..e6845dd9d7764f6dd6d671e1143e04b3738958a1 100644
--- a/src/plugins/value/domains/gauges/gauges_domain.ml
+++ b/src/plugins/value/domains/gauges/gauges_domain.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -156,8 +156,9 @@ module G = struct
     let zero = Some Integer.zero, Some Integer.zero
 
     (* Widening between two bounds. Unstable bounds are widened to infty
-       aggressively. This widening does not assumes that [is_included i1 i2]
-       holds, unlike the widening of Ival. *)
+       aggressively, unless [threshold] is supplied. This widening
+       does not assumes that [is_included i1 i2] holds, unlike the
+       widening of Ival. *)
     let widen ?threshold (min1, max1: t) (min2, max2: t) : t =
       let widen_unstable_min b1 b2 =
         if Extlib.opt_equal Integer.equal b1 b2 then b1 else None
@@ -213,7 +214,7 @@ module G = struct
 
     (* Computes the possible [n] such that [(add b)^n = r], when [f^n]
        is [f] consecutive applications of [f]. *)
-    let backward_nb ~(b:t) ~(r:Ival.t)  =
+    let backward_nb ~(b:t) ~(r:Ival.t) =
       let r = from_ival r in
       let nb_max =
         match classify_sign b with
@@ -466,6 +467,14 @@ module G = struct
           let threshold =
             None (* LoopAnalysis.Loop_analysis.get_bounds _stmt *)
           in
+          (* TODO: since we cannot easily use LoopAnalysis here, we
+             should instead:
+             - collect the conditionals that exit the loop, as done
+               for syntactic hints, if possible in a structured way
+               (i.e. base + interval for which we exit the loop)
+             - invert this interval using the gauges domain, to
+               deduce the number of iterations from which we exit
+             - use the max of those values as threshold. *)
           let threshold = Extlib.opt_map Integer.of_int threshold in
           let (min, max as w) = Bounds.widen ?threshold i1.nb i2.nb in
           (* Limit min bound to 0 *)
@@ -905,7 +914,10 @@ module G = struct
     let shift = Cvalue.V.inject_ival (Bounds.to_ival (aux l lg)) in
     Cvalue.V.add_untyped ctg ~factor:Int_Base.one shift
 
-  let backward_loop (ct, l: t) b v : t option =
+  (* Assuming [b] has value [v], backward-propagate this information to
+     the number of iterations in [t]. Reduce [None] if no reduction
+     occurred. *)
+  let backward_loop (ct, l: t) b v : t or_bottom option =
     (* This function gather the non-zero coefficients for [b], together
        with the number of iterations of the relevant loops. *)
     let rec gather = function
@@ -941,14 +953,14 @@ module G = struct
       | _ :: _ :: _ -> None (* TODO: linearize and solve *)
       | [(stmt, c, nb)] ->
         match Bounds.backward_nb ~b:c ~r:d with
-        | `Bottom -> None (* TODO: return bottom *)
+        | `Bottom -> Some `Bottom
         | `Value n_iter ->
           match Bounds.narrow n_iter nb with
-          | `Bottom -> None (* TODO: return bottom *)
+          | `Bottom -> Some `Bottom
           | `Value n_iter ->
             if not (Bounds.equal nb n_iter) then
               let l' = replace stmt n_iter l in
-              Some (ct, l')
+              Some (`Value (ct, l'))
             else None
     with Not_found -> None
 
@@ -1188,24 +1200,29 @@ module D_Impl : Abstract_domain.S_with_Structure
         match e.enode with
         | Lval lv -> begin
             match Valuation.find_loc valuation lv with
-            | `Top -> state
+            | `Top -> `Value state
             | `Value {loc} ->
               let loc = Precise_locs.imprecise_location loc in
               try
                 let b = loc_to_base loc (Cil.typeOfLval lv) in
                 match r.value.v with
-                | `Bottom -> state
+                | `Bottom -> `Value state
                 | `Value v ->
                   match backward_loop state b v with
-                  | Some state -> state
-                  | None -> state
-              with Untranslatable -> state
+                  | Some `Bottom -> `Bottom
+                  | Some (`Value _ as s) -> s
+                  | None -> `Value state
+              with Untranslatable -> `Value state
           end
-        | _ -> state
-      else state
+        | _ -> `Value state
+      else `Value state
+
+    let assume_exp_bot valuation e r state =
+      state >>- assume_exp valuation e r
 
     let assume _ _ _ valuation state =
-      `Value (Valuation.fold (assume_exp valuation) valuation state)
+      let assume_one = assume_exp_bot valuation in
+      Valuation.fold assume_one valuation (`Value state)
 
     let finalize_call _stmt _call ~pre ~post =
       let state =
diff --git a/src/plugins/value/domains/gauges/gauges_domain.mli b/src/plugins/value/domains/gauges/gauges_domain.mli
index f5655172d17f14ae3653bb1acef26021fe5ec346..a1609d838a046745346cd36f02e063314057b88a 100644
--- a/src/plugins/value/domains/gauges/gauges_domain.mli
+++ b/src/plugins/value/domains/gauges/gauges_domain.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/hcexprs.ml b/src/plugins/value/domains/hcexprs.ml
index aeb38a8e29d818ef207f3c54d24fb69a9f01cc35..449fe39ffdebac08675489ab196560b6d3d0ee5a 100644
--- a/src/plugins/value/domains/hcexprs.ml
+++ b/src/plugins/value/domains/hcexprs.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/hcexprs.mli b/src/plugins/value/domains/hcexprs.mli
index ffd04c2f5b9e1d7e39fed5f7fb5fd567795c9359..54e76aaebff0dd600cc181065f535abd3d4a3fcb 100644
--- a/src/plugins/value/domains/hcexprs.mli
+++ b/src/plugins/value/domains/hcexprs.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/inout_domain.ml b/src/plugins/value/domains/inout_domain.ml
index 8621fc06e9bc74e931793c612fe12b5ff8854a05..d6dd5b5afde403c01c75a6bb3e40162e6f017069 100644
--- a/src/plugins/value/domains/inout_domain.ml
+++ b/src/plugins/value/domains/inout_domain.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/inout_domain.mli b/src/plugins/value/domains/inout_domain.mli
index 9bd5cad97b8bfa5d04903a40a1be8f362ebcfec9..0304f94f6900c3178afd03ca5c1d3534896a70a6 100644
--- a/src/plugins/value/domains/inout_domain.mli
+++ b/src/plugins/value/domains/inout_domain.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/numerors/numerors_domain.ko.ml b/src/plugins/value/domains/numerors/numerors_domain.ko.ml
index 9c6b7345979bad5fb2b36d69877f4325b3eebb1d..eb6bc8b9a4fd68b544826004a66bc62dc4b3f43d 100644
--- a/src/plugins/value/domains/numerors/numerors_domain.ko.ml
+++ b/src/plugins/value/domains/numerors/numerors_domain.ko.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/numerors/numerors_domain.mli b/src/plugins/value/domains/numerors/numerors_domain.mli
index 48f8be955e71dba357aa1bb70bebbc7243aaa689..d08ef39909623588ccb4c7582daf7c7a05bdce2a 100644
--- a/src/plugins/value/domains/numerors/numerors_domain.mli
+++ b/src/plugins/value/domains/numerors/numerors_domain.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/numerors/numerors_domain.ok.ml b/src/plugins/value/domains/numerors/numerors_domain.ok.ml
index 3b1c183d85262c608917a0722bbab334078dd1c7..daf171d6528b56b29e439ba2b843f0927a835d62 100644
--- a/src/plugins/value/domains/numerors/numerors_domain.ok.ml
+++ b/src/plugins/value/domains/numerors/numerors_domain.ok.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/offsm_domain.ml b/src/plugins/value/domains/offsm_domain.ml
index b97f63123ef2c681284b0c5aafd7fa7fa73e9489..c2653e2de79aad95f7cc5d6d6b5d7fbf056deb03 100644
--- a/src/plugins/value/domains/offsm_domain.ml
+++ b/src/plugins/value/domains/offsm_domain.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/offsm_domain.mli b/src/plugins/value/domains/offsm_domain.mli
index f7bc45f4ecfb22b772766df11c3b860c3ea39468..4567fc14d3f21c1ad2db640e9264fe6ec387e4cb 100644
--- a/src/plugins/value/domains/offsm_domain.mli
+++ b/src/plugins/value/domains/offsm_domain.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/powerset.ml b/src/plugins/value/domains/powerset.ml
index 15a746153c4ed0bea6a9a3c40baf065f353e77f5..a431bce712e76a8dd69049202264e15a8d277d8e 100644
--- a/src/plugins/value/domains/powerset.ml
+++ b/src/plugins/value/domains/powerset.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/powerset.mli b/src/plugins/value/domains/powerset.mli
index b482fb4a17f69a8834c522a4a951ab558cf0bb59..1af4f56c15fc7632d333f1642fd05103b857e887 100644
--- a/src/plugins/value/domains/powerset.mli
+++ b/src/plugins/value/domains/powerset.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/printer_domain.ml b/src/plugins/value/domains/printer_domain.ml
index 5dba02581423cfad72de991eae94882f6d8057fc..6e77dfe64e77dc709f991386cd8cbc65199cc2a1 100644
--- a/src/plugins/value/domains/printer_domain.ml
+++ b/src/plugins/value/domains/printer_domain.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/printer_domain.mli b/src/plugins/value/domains/printer_domain.mli
index 7e340510eac6033ceeade92538717c0d950a31fd..5355cebbd9cbf82b76690098e670e0af76855c9c 100644
--- a/src/plugins/value/domains/printer_domain.mli
+++ b/src/plugins/value/domains/printer_domain.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/sign_domain.ml b/src/plugins/value/domains/sign_domain.ml
index cc271dd112351a22f85671fe876775539532fd78..ef15d89e009d8ff9a34541c42976af3671bac13b 100644
--- a/src/plugins/value/domains/sign_domain.ml
+++ b/src/plugins/value/domains/sign_domain.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/sign_domain.mli b/src/plugins/value/domains/sign_domain.mli
index 0c23ee538eccde6f807ca430779f0d9332721922..fafc9f18c67cf1cd72ee5d88375dfce1631f8fe6 100644
--- a/src/plugins/value/domains/sign_domain.mli
+++ b/src/plugins/value/domains/sign_domain.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/simple_memory.ml b/src/plugins/value/domains/simple_memory.ml
index b747e4990a2f34fe2c046aef884c44c2d92586f1..9612b41755a7250178110686083158252d2d048d 100644
--- a/src/plugins/value/domains/simple_memory.ml
+++ b/src/plugins/value/domains/simple_memory.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/simple_memory.mli b/src/plugins/value/domains/simple_memory.mli
index aae5f8623381d008db759acd7c99300e78370245..e45eef5cb3a61dcb648a8934330ceabd2d36552f 100644
--- a/src/plugins/value/domains/simple_memory.mli
+++ b/src/plugins/value/domains/simple_memory.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/simpler_domains.mli b/src/plugins/value/domains/simpler_domains.mli
index dcff643730fa3b0e69355686f2521817d4e4b2e3..2b4d654bdde07ef30011bb6c4a568da82dfa7c54 100644
--- a/src/plugins/value/domains/simpler_domains.mli
+++ b/src/plugins/value/domains/simpler_domains.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/symbolic_locs.ml b/src/plugins/value/domains/symbolic_locs.ml
index 13f955dfe652a63f0e0a94a29498a142424a8a00..6bf6163b4fa0a638d1735a23b11ae68bcb8376b9 100644
--- a/src/plugins/value/domains/symbolic_locs.ml
+++ b/src/plugins/value/domains/symbolic_locs.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/symbolic_locs.mli b/src/plugins/value/domains/symbolic_locs.mli
index 288ea0e90887672540e462762b13f3050baefe3e..06cda3ce5eb47f2d1ac33fdfe85205c3dbb1afbb 100644
--- a/src/plugins/value/domains/symbolic_locs.mli
+++ b/src/plugins/value/domains/symbolic_locs.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/unit_domain.ml b/src/plugins/value/domains/unit_domain.ml
index 79b07a092e046bc59ff51da4f641ce997e52e807..62aba6028cf854463f08c4ed2e6e2d6b6a308070 100644
--- a/src/plugins/value/domains/unit_domain.ml
+++ b/src/plugins/value/domains/unit_domain.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/domains/unit_domain.mli b/src/plugins/value/domains/unit_domain.mli
index 5af811c418fa65d1a134dfeaf8b8cc6707e4f572..03a18359466383b2b457973f30e5d872e498228f 100644
--- a/src/plugins/value/domains/unit_domain.mli
+++ b/src/plugins/value/domains/unit_domain.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/abstractions.ml b/src/plugins/value/engine/abstractions.ml
index 1dc30656cba4182863f7c94759661e59f405b794..a15c6bb25a6ae1ad5012ae5f60c65402df76b20c 100644
--- a/src/plugins/value/engine/abstractions.ml
+++ b/src/plugins/value/engine/abstractions.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/abstractions.mli b/src/plugins/value/engine/abstractions.mli
index 308dd9b6a2e6eb50418d70c70365b5f5b49a2613..499cb28161de7616d59642119cb7b820b0825050 100644
--- a/src/plugins/value/engine/abstractions.mli
+++ b/src/plugins/value/engine/abstractions.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/analysis.ml b/src/plugins/value/engine/analysis.ml
index 752da011df58f00616da3f64781bd30fc6dd98aa..d11f2ec4640a155548971d5acf9d85c146c377d1 100644
--- a/src/plugins/value/engine/analysis.ml
+++ b/src/plugins/value/engine/analysis.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/analysis.mli b/src/plugins/value/engine/analysis.mli
index 72e3662a5b608291a3349592daf5ce8d7683c315..4ecfde378fd0c90f6ca56c0bb9c93909e95c18d6 100644
--- a/src/plugins/value/engine/analysis.mli
+++ b/src/plugins/value/engine/analysis.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/basic_partitioning.ml b/src/plugins/value/engine/basic_partitioning.ml
index a2ee7cd2334c2054306e511758b2aff6391218ef..4a790f63214cb4110f506432f5b5a23262b78576 100644
--- a/src/plugins/value/engine/basic_partitioning.ml
+++ b/src/plugins/value/engine/basic_partitioning.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -182,6 +182,9 @@ struct
     w.previous_state <- `Bottom;
     w.widening_counter <- widening_delay
 
+  let reset_widening_counter (w : widening) : unit =
+    w.widening_counter <- max w.widening_counter (widening_period - 1)
+
   (* Operators *)
 
   let clear_propagation (p : propagation) : unit =
diff --git a/src/plugins/value/engine/basic_partitioning.mli b/src/plugins/value/engine/basic_partitioning.mli
index fe7972d190564ee0224be97a4b2b4f58eedf26f5..9006e977b10eb7d8b3f6c62af203180b23055a08 100644
--- a/src/plugins/value/engine/basic_partitioning.mli
+++ b/src/plugins/value/engine/basic_partitioning.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/compute_functions.ml b/src/plugins/value/engine/compute_functions.ml
index c0bc45aa552d631451eb8e32270b9ec98810b74c..8d30fe872600f79d13bc9f9a24482987d2d06122 100644
--- a/src/plugins/value/engine/compute_functions.ml
+++ b/src/plugins/value/engine/compute_functions.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/compute_functions.mli b/src/plugins/value/engine/compute_functions.mli
index 33d60700a7fd28c4a38101c8e33d99454b59e948..2e04b81105ccdd39ca0cd1ce04bc941516580d8a 100644
--- a/src/plugins/value/engine/compute_functions.mli
+++ b/src/plugins/value/engine/compute_functions.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/evaluation.ml b/src/plugins/value/engine/evaluation.ml
index b020de87b292080cf85983ecf88a0e87698bf39d..abc4b8f7c0214faa1e1662cb269a16906cb1a39f 100644
--- a/src/plugins/value/engine/evaluation.ml
+++ b/src/plugins/value/engine/evaluation.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -1593,15 +1593,15 @@ module Make
       let typ = Cil.typeOf expr in
       let eval acc state =
         match fst (evaluate state expr) with
-        | `Bottom -> acc
+        | `Bottom -> (state, `Bottom, false) :: acc
         | `Value (_cache, value) ->
           let zero_or_one = Cvalue.V.cardinal_zero_or_one (get value) in
-          (state, value, zero_or_one) :: acc
+          (state, `Value value, zero_or_one) :: acc
       in
       let eval_states = List.fold_left eval [] states in
       let match_expected_value expected_value states =
         let process_one_state (eq, mess, neq) (s, v, zero_or_one as current) =
-          if Value.is_included expected_value v then
+          if Bottom.is_included Value.is_included expected_value v then
             (* The integer on which we split is part of the result *)
             if zero_or_one then
               (s :: eq, mess, neq) (* Clean split *)
@@ -1613,7 +1613,7 @@ module Make
         List.fold_left process_one_state ([], false, []) states
       in
       let process_one_value (acc, states) i =
-        let value = Value.reduce (Value.inject_int typ i) in
+        let value = `Value (Value.reduce (Value.inject_int typ i)) in
         let eq, mess, neq = match_expected_value value states in
         (i, eq, mess) :: acc, neq
       in
diff --git a/src/plugins/value/engine/evaluation.mli b/src/plugins/value/engine/evaluation.mli
index 3a17bf67f9bb49f5c079088c105a61e6057d471d..9f263d86b3617566128fbf0c44959873c4f65810 100644
--- a/src/plugins/value/engine/evaluation.mli
+++ b/src/plugins/value/engine/evaluation.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/initialization.ml b/src/plugins/value/engine/initialization.ml
index eea8d5276e9495123916642b1584326b85c530f2..317446467c2dcd3b4e657f30019dc3407b098146 100644
--- a/src/plugins/value/engine/initialization.ml
+++ b/src/plugins/value/engine/initialization.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/initialization.mli b/src/plugins/value/engine/initialization.mli
index 45e78a129c74aeec9c3d990a0e65f0254a3a1834..d3bf03c164d12c1a524f8efffead3446eb2b17eb 100644
--- a/src/plugins/value/engine/initialization.mli
+++ b/src/plugins/value/engine/initialization.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/legacy_partitioning.ml b/src/plugins/value/engine/legacy_partitioning.ml
index 119ce80be5b7c8fc63e922e867423bda28c061a4..bb2b4660552bdd4cb95ac52621f595d414375e5b 100644
--- a/src/plugins/value/engine/legacy_partitioning.ml
+++ b/src/plugins/value/engine/legacy_partitioning.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -141,6 +141,9 @@ struct
     w.previous_state <- `Bottom;
     w.widening_counter <- widening_delay
 
+  let reset_widening_counter w =
+    w.widening_counter <- max w.widening_counter (widening_period - 1)
+
   (* Operators *)
 
   let clear_propagation (p : propagation) : unit =
diff --git a/src/plugins/value/engine/legacy_partitioning.mli b/src/plugins/value/engine/legacy_partitioning.mli
index fe7972d190564ee0224be97a4b2b4f58eedf26f5..9006e977b10eb7d8b3f6c62af203180b23055a08 100644
--- a/src/plugins/value/engine/legacy_partitioning.mli
+++ b/src/plugins/value/engine/legacy_partitioning.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/loop_partitioning.ml b/src/plugins/value/engine/loop_partitioning.ml
index eda3d98eaddd19d1e10df402a34e5cf313d77c21..03d1616d54cfadb27310fdf87453a80adf9b288e 100644
--- a/src/plugins/value/engine/loop_partitioning.ml
+++ b/src/plugins/value/engine/loop_partitioning.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -359,6 +359,12 @@ struct
     in
     Tree.iter reset w.widening_tree
 
+  let reset_widening_counter (w : widening) : unit =
+    let reset w =
+      w.widening_counter <- max w.widening_counter (widening_period - 1)
+    in
+    Tree.iter reset w.widening_tree
+
   (* Operators *)
 
   let clear_propagation (p : propagation) : unit =
@@ -516,7 +522,7 @@ struct
               let merge t1 t2 =
                 if not (is_empty_propagation_tree t2) then
                   Value_parameters.warning ~once:true ~current:true
-                    ~wkey:Value_parameters.wkey_loop_unrolling
+                    ~wkey:Value_parameters.wkey_loop_unroll
                     "loop not completely unrolled";
                 join_propagation_tree t1 t2
               in
diff --git a/src/plugins/value/engine/loop_partitioning.mli b/src/plugins/value/engine/loop_partitioning.mli
index fe7972d190564ee0224be97a4b2b4f58eedf26f5..9006e977b10eb7d8b3f6c62af203180b23055a08 100644
--- a/src/plugins/value/engine/loop_partitioning.mli
+++ b/src/plugins/value/engine/loop_partitioning.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/mem_exec.ml b/src/plugins/value/engine/mem_exec.ml
index b3a94a8126fcfedd2b2687c07c2f41f8e4693c88..85441fdeda5600eda20137d367788091b923b6e6 100644
--- a/src/plugins/value/engine/mem_exec.ml
+++ b/src/plugins/value/engine/mem_exec.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/mem_exec.mli b/src/plugins/value/engine/mem_exec.mli
index 8ccd52d98f72cc92e020759014d0f219dde96f40..0b3fc959820db051608932a33d8a7d781b2850c9 100644
--- a/src/plugins/value/engine/mem_exec.mli
+++ b/src/plugins/value/engine/mem_exec.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/partitioned_dataflow.ml b/src/plugins/value/engine/partitioned_dataflow.ml
index 24468248e01ddab61772479a99508b42e6ec234a..c5ba74ba824eabb2efdf771143bf2cc87247045d 100644
--- a/src/plugins/value/engine/partitioned_dataflow.ml
+++ b/src/plugins/value/engine/partitioned_dataflow.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -110,7 +110,22 @@ module Make_Dataflow
 
   let unroll (stmt : stmt) : int =
     let local_unroll = match Unroll_annots.get_unroll_terms stmt with
-      | [] -> None
+      | [] ->
+        let is_attribute a = Cil.hasAttribute a stmt.sattr in
+        begin
+          match List.filter is_attribute ["for" ; "while" ; "dowhile"] with
+          | [] -> ()
+          | loop_kind :: _ ->
+            let wkey =
+              if loop_kind = "for"
+              then Value_parameters.wkey_missing_loop_unroll_for
+              else Value_parameters.wkey_missing_loop_unroll
+            in
+            Value_parameters.warning
+              ~wkey ~source:(fst (Cil_datatype.Stmt.loc stmt)) ~once:true
+              "%s loop without unroll annotation" loop_kind
+        end;
+        None
       | [t] ->
         (* Inlines the value of const variables in [t]. *)
         let global_init vi =
@@ -623,9 +638,12 @@ module Make_Dataflow
     | Wto.Node v ->
       ignore (process_vertex v)
     | Wto.Component (v, w) as component ->
-      (* Reset the component if hierachical_convergence is set *)
-      if hierachical_convergence then
-        reset_component (v :: Wto.flatten w);
+      (* Reset the component if hierachical_convergence is set.
+         Otherwise, only resets the widening counter for this component. This
+         is especially useful for nested loops. *)
+      if hierachical_convergence
+      then reset_component (v :: Wto.flatten w)
+      else Partition.reset_widening_counter (get_vertex_widening v);
       (* Iterate until convergence *)
       let iteration_count = ref 0 in
       while
diff --git a/src/plugins/value/engine/partitioned_dataflow.mli b/src/plugins/value/engine/partitioned_dataflow.mli
index eba1a96907d13d635b9c6296e67c592c24229ca7..e65f83e2d4f777f2173a8969d034145da641fb28 100644
--- a/src/plugins/value/engine/partitioned_dataflow.mli
+++ b/src/plugins/value/engine/partitioned_dataflow.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/partitioning.ml b/src/plugins/value/engine/partitioning.ml
index 4299bf9ab95e6f0e5d88e8c6050c1625c721f94e..3b6f292b4f6f572cb609f4d6054c7c9b8dd33c84 100644
--- a/src/plugins/value/engine/partitioning.ml
+++ b/src/plugins/value/engine/partitioning.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/partitioning.mli b/src/plugins/value/engine/partitioning.mli
index 895b4a244e647851776ba91f1b237b88a2f4ab1d..40bb50a1f25a6f772a4f8980cec36c87c0f883a3 100644
--- a/src/plugins/value/engine/partitioning.mli
+++ b/src/plugins/value/engine/partitioning.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/recursion.ml b/src/plugins/value/engine/recursion.ml
index 331252d3e02393ba0c256a47803ae6e6dcaa6f43..4380f2bff85338347f5a784628334dae89f38014 100644
--- a/src/plugins/value/engine/recursion.ml
+++ b/src/plugins/value/engine/recursion.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/recursion.mli b/src/plugins/value/engine/recursion.mli
index 97df11c77c155d4d40d60b9b0bd4f125beae7ad0..de91c06f2ef3cd31972294f4315cdf22d8540138 100644
--- a/src/plugins/value/engine/recursion.mli
+++ b/src/plugins/value/engine/recursion.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/split_return.ml b/src/plugins/value/engine/split_return.ml
index de949160de431266a213feda34e261ee90876284..1eee0ba4880351fe4ec4f855e9a5a78acc882655 100644
--- a/src/plugins/value/engine/split_return.ml
+++ b/src/plugins/value/engine/split_return.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/split_return.mli b/src/plugins/value/engine/split_return.mli
index 974c221242b4ee9c89141a8858f6c4ae9c8de2ff..ca01a8bea7ab879d9717332b5cdf0852f0cc0f62 100644
--- a/src/plugins/value/engine/split_return.mli
+++ b/src/plugins/value/engine/split_return.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/state_partitioning.mli b/src/plugins/value/engine/state_partitioning.mli
index 50932afe1d8bee85ac3cadc44c8906d4c0fcc080..b9958356da1a916830c3c1d4bcce6a9164e61f50 100644
--- a/src/plugins/value/engine/state_partitioning.mli
+++ b/src/plugins/value/engine/state_partitioning.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -91,6 +91,12 @@ sig
   val reset_shadow : shadow -> unit
   val reset_widening : widening -> unit
 
+  (** Resets (or just delays) the widening counter. Used on nested loops, to
+      postpone the widening of the inner loop when iterating on the outer
+      loops. This is especially useful when the inner loop fixpoint does not
+      depend on the outer loop. *)
+  val reset_widening_counter : widening -> unit
+
 
   (* --- Partition transfer functions --- *)
 
diff --git a/src/plugins/value/engine/subdivided_evaluation.ml b/src/plugins/value/engine/subdivided_evaluation.ml
index 61af69319604dbc4cea28939d3c48b3e6bdc5142..ae1efe494c8c2dd823b6c5a7dd6b428795ecf024 100644
--- a/src/plugins/value/engine/subdivided_evaluation.ml
+++ b/src/plugins/value/engine/subdivided_evaluation.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/subdivided_evaluation.mli b/src/plugins/value/engine/subdivided_evaluation.mli
index 0a19f1989e556988f0f4cf84db9a940bea301d6c..745624c457517ac366c4f7734bd7960c9bb6d3d7 100644
--- a/src/plugins/value/engine/subdivided_evaluation.mli
+++ b/src/plugins/value/engine/subdivided_evaluation.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/transfer_logic.ml b/src/plugins/value/engine/transfer_logic.ml
index b6473fd05be862991d7a497167eadaa2a5eedbad..c9e1050abf3cda4b83c8429a7bdcb8145d129bd5 100644
--- a/src/plugins/value/engine/transfer_logic.ml
+++ b/src/plugins/value/engine/transfer_logic.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/transfer_logic.mli b/src/plugins/value/engine/transfer_logic.mli
index 6762a2ae21d03e1872c78032859ffd4e9a45a8af..c31c1938545a89d95c0ea782c779761e74f1642a 100644
--- a/src/plugins/value/engine/transfer_logic.mli
+++ b/src/plugins/value/engine/transfer_logic.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/transfer_specification.ml b/src/plugins/value/engine/transfer_specification.ml
index 9f6183bed8376ef98376e99d3d97d00c1ec878d2..4caa148ad2398fe93a5674f80078f0e6e6367b63 100644
--- a/src/plugins/value/engine/transfer_specification.ml
+++ b/src/plugins/value/engine/transfer_specification.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/transfer_specification.mli b/src/plugins/value/engine/transfer_specification.mli
index 63c97deb7e45d211a8624454e03918e37e9bd72f..056587e6cbbf6557ef0b850e86d56e39be369520 100644
--- a/src/plugins/value/engine/transfer_specification.mli
+++ b/src/plugins/value/engine/transfer_specification.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/transfer_stmt.ml b/src/plugins/value/engine/transfer_stmt.ml
index 7aac4ed59485aa399d691ccdc62e25129478e960..2a2ac4ca72bba20f9bb343495dacf900ba5c5799 100644
--- a/src/plugins/value/engine/transfer_stmt.ml
+++ b/src/plugins/value/engine/transfer_stmt.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/engine/transfer_stmt.mli b/src/plugins/value/engine/transfer_stmt.mli
index 1e83ea5538cc65a1b27a4989436257189780f4d5..3fb197fdbc085a8259e64ac6bad5bd02f9a3b12a 100644
--- a/src/plugins/value/engine/transfer_stmt.mli
+++ b/src/plugins/value/engine/transfer_stmt.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/eval.ml b/src/plugins/value/eval.ml
index 23e0e1f91c38d2e7821f146b3e75fc7defe5e5db..90deaf2c91746955b9fa3e61f2f3990e4e122b4b 100644
--- a/src/plugins/value/eval.ml
+++ b/src/plugins/value/eval.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/eval.mli b/src/plugins/value/eval.mli
index 02c603aa44121362b4393f31a92ab9d16945e4cc..a00ef79939cf24710edc64b6b25d351f388e68ef 100644
--- a/src/plugins/value/eval.mli
+++ b/src/plugins/value/eval.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/gui_files/gui_callstacks_filters.ml b/src/plugins/value/gui_files/gui_callstacks_filters.ml
index 3105c9f97aa23b8b07e2def286fc3fb9bf417f43..540a16d761b49f518bb2810cb8daf85e40b3ff28 100644
--- a/src/plugins/value/gui_files/gui_callstacks_filters.ml
+++ b/src/plugins/value/gui_files/gui_callstacks_filters.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/gui_files/gui_callstacks_filters.mli b/src/plugins/value/gui_files/gui_callstacks_filters.mli
index 13d41c7437d5a438ee472d73205ed401bc35d871..f0c1cf8d2800389f6c790eba80ef6afb672b351e 100644
--- a/src/plugins/value/gui_files/gui_callstacks_filters.mli
+++ b/src/plugins/value/gui_files/gui_callstacks_filters.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/gui_files/gui_callstacks_manager.ml b/src/plugins/value/gui_files/gui_callstacks_manager.ml
index 2d6a51bb4e7065d60798c25627b6407439db3676..d75eefad24279240861c589c4aa2a7199f74d8a5 100644
--- a/src/plugins/value/gui_files/gui_callstacks_manager.ml
+++ b/src/plugins/value/gui_files/gui_callstacks_manager.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -326,7 +326,6 @@ module Make (Input: Input) = struct
              list_mem equal_column_type col_type model.hidden_columns
           then
             let show = GMenu.check_menu_item ~label:txt () in
-            show#set_show_toggle true;
             show#set_active column#visible;
             (* Hide this column. Keep it alive for filters and co. *)
             let callback_show_hide () =
@@ -354,8 +353,7 @@ module Make (Input: Input) = struct
       let _lbl = GMisc.label ~text ~packing:h#pack () in
       let icon = GMisc.image ~xpad:10 ~stock:`COLOR_PICKER ~packing:h#pack () in
       icon#misc#hide ();
-      let tooltip_before = GData.tooltips () in
-      tooltip_before#set_tip ~text:tooltip h#coerce;
+      Gtk_helper.do_tooltip ~tooltip h;
       (* set_widget forces Gtk to create a header button for the view_column. *)
       col#set_widget (Some h#coerce);
       icon
diff --git a/src/plugins/value/gui_files/gui_callstacks_manager.mli b/src/plugins/value/gui_files/gui_callstacks_manager.mli
index 500bc0a1ccad7aa4e997c5acc725608b44f7443d..0485419075741ff6ce43530dee0a2a10e4d82219 100644
--- a/src/plugins/value/gui_files/gui_callstacks_manager.mli
+++ b/src/plugins/value/gui_files/gui_callstacks_manager.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/gui_files/gui_eval.ml b/src/plugins/value/gui_files/gui_eval.ml
index a97979e0a092e4fee9e653311fa501510394c18c..a2b2f89b7048974510abc4680a7c074a3a0223b9 100644
--- a/src/plugins/value/gui_files/gui_eval.ml
+++ b/src/plugins/value/gui_files/gui_eval.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/gui_files/gui_eval.mli b/src/plugins/value/gui_files/gui_eval.mli
index f6811bb4174dadece2591965d6ea3ac88cf4afd5..8939fb156438dd19d513d2e3e61449a0cd37d02a 100644
--- a/src/plugins/value/gui_files/gui_eval.mli
+++ b/src/plugins/value/gui_files/gui_eval.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/gui_files/gui_red.ml b/src/plugins/value/gui_files/gui_red.ml
index a55f8bfddf8dc723e2360468d46f5ba937080469..03929af50d5f22280fc3dec000de633004b5d86e 100644
--- a/src/plugins/value/gui_files/gui_red.ml
+++ b/src/plugins/value/gui_files/gui_red.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/gui_files/gui_red.mli b/src/plugins/value/gui_files/gui_red.mli
index 188b2adb2b1299a7a974bba8cd83de01a42243c6..71b07d1bac0fa5b931cda9ac35b52d637c349408 100644
--- a/src/plugins/value/gui_files/gui_red.mli
+++ b/src/plugins/value/gui_files/gui_red.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/gui_files/gui_types.ml b/src/plugins/value/gui_files/gui_types.ml
index 50b4054e9d2adf807f1c6020b9a3b6a88f68bfa9..683fa0398606aed22d2fafb21e85f26d2de82070 100644
--- a/src/plugins/value/gui_files/gui_types.ml
+++ b/src/plugins/value/gui_files/gui_types.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/gui_files/gui_types.mli b/src/plugins/value/gui_files/gui_types.mli
index 6aab7eaa4b256fc357f880a58352fa6b81527837..538247fa92dbd26e535d14362659b9d9ecc0fe87 100644
--- a/src/plugins/value/gui_files/gui_types.mli
+++ b/src/plugins/value/gui_files/gui_types.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/gui_files/register_gui.ml b/src/plugins/value/gui_files/register_gui.ml
index ad278fcbb078c8c6a11a3d2735d9343f66fb7fab..d08b1885786992b4d040968c64670554f8fb6eab 100644
--- a/src/plugins/value/gui_files/register_gui.ml
+++ b/src/plugins/value/gui_files/register_gui.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/gui_files/register_gui.mli b/src/plugins/value/gui_files/register_gui.mli
index d8d9c5ac42a6a0358dedcfa61048785fc114217f..eb1db4e991f0aa9bff556c4aff0f607e61f68001 100644
--- a/src/plugins/value/gui_files/register_gui.mli
+++ b/src/plugins/value/gui_files/register_gui.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/legacy/eval_annots.ml b/src/plugins/value/legacy/eval_annots.ml
index 87eaf8c5a645cbe31e73a729cdb23822c9dfa4cb..e81cf164105c817b09af211696cd504a5c6ca7b7 100644
--- a/src/plugins/value/legacy/eval_annots.ml
+++ b/src/plugins/value/legacy/eval_annots.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/legacy/eval_annots.mli b/src/plugins/value/legacy/eval_annots.mli
index 0d142c044c522fef06eca32c62a90a53aa67261a..615cb9b0190583e182d34ed3549b116420141fd5 100644
--- a/src/plugins/value/legacy/eval_annots.mli
+++ b/src/plugins/value/legacy/eval_annots.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/legacy/eval_op.ml b/src/plugins/value/legacy/eval_op.ml
index 9d71ea3b085fb3b8706c1162294f007d59969fc3..ce1da249d7ff3a4dc6ddf6b9b77d02544940d87f 100644
--- a/src/plugins/value/legacy/eval_op.ml
+++ b/src/plugins/value/legacy/eval_op.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/legacy/eval_op.mli b/src/plugins/value/legacy/eval_op.mli
index d9b3c013e096838e54102819ac9c92151425a697..a50dbf5673ea90f5b762553805b77c48e0bbeb5f 100644
--- a/src/plugins/value/legacy/eval_op.mli
+++ b/src/plugins/value/legacy/eval_op.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/legacy/eval_terms.ml b/src/plugins/value/legacy/eval_terms.ml
index b020a7e58cbfaf6defce3089cead6f710d3862da..1b237eb589ee34e3a7dd7d79530a7dbabe304302 100644
--- a/src/plugins/value/legacy/eval_terms.ml
+++ b/src/plugins/value/legacy/eval_terms.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/legacy/eval_terms.mli b/src/plugins/value/legacy/eval_terms.mli
index 8afa6108f9ecef98c10944ab60c7ec2b24a7e325..6f8c8f5334b54504e3ccafaa95d2f48351c0ad50 100644
--- a/src/plugins/value/legacy/eval_terms.mli
+++ b/src/plugins/value/legacy/eval_terms.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/legacy/function_args.ml b/src/plugins/value/legacy/function_args.ml
index 7aa5f25fde6bf47297dcdcb3733bec6eb20f75c1..9db8d461bfeb742479e496bc1521bea71f4881ad 100644
--- a/src/plugins/value/legacy/function_args.ml
+++ b/src/plugins/value/legacy/function_args.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/legacy/function_args.mli b/src/plugins/value/legacy/function_args.mli
index e2bd17bfb39fd19f5c33c2de87a8e07dad801e0e..b37af105c94ad5fa82a19265cbc57c0657b8b611 100644
--- a/src/plugins/value/legacy/function_args.mli
+++ b/src/plugins/value/legacy/function_args.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/register.ml b/src/plugins/value/register.ml
index 7a4d0873531b213f01e070a0b594a17bf565dae2..2c7b988317afb6be1d88c75938e1ede69361e660 100644
--- a/src/plugins/value/register.ml
+++ b/src/plugins/value/register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/register.mli b/src/plugins/value/register.mli
index 290b8de3083d37543b1acb4f00e1dbd1eb5f783e..4ed6b42d7f17f9b73bfdf65d4e90b79e9cb0c706 100644
--- a/src/plugins/value/register.mli
+++ b/src/plugins/value/register.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/slevel/per_stmt_slevel.ml b/src/plugins/value/slevel/per_stmt_slevel.ml
index b5a596bb4eeb9f514c200b8bf20093ecc1023d62..6d07d943e250a6db6bd7007a021c8a5a46aef69c 100644
--- a/src/plugins/value/slevel/per_stmt_slevel.ml
+++ b/src/plugins/value/slevel/per_stmt_slevel.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/slevel/per_stmt_slevel.mli b/src/plugins/value/slevel/per_stmt_slevel.mli
index 1a930ee2b3468339af1bac76003acbcf5de63b11..9da6b39a44eed6afc1ffc90a09b4d926a2481f70 100644
--- a/src/plugins/value/slevel/per_stmt_slevel.mli
+++ b/src/plugins/value/slevel/per_stmt_slevel.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/slevel/split_strategy.ml b/src/plugins/value/slevel/split_strategy.ml
index 9b2ccd3224dd25de32127ab56978ad5c19a6e44d..cc8b20271d996dcc80bd9b6c414945a7abd545c3 100644
--- a/src/plugins/value/slevel/split_strategy.ml
+++ b/src/plugins/value/slevel/split_strategy.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/slevel/split_strategy.mli b/src/plugins/value/slevel/split_strategy.mli
index 85b7bda61d4ca0d365fa01908386a951967ad45b..68b35e3c53523b38c3a2f815c39c748cda508476 100644
--- a/src/plugins/value/slevel/split_strategy.mli
+++ b/src/plugins/value/slevel/split_strategy.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/test.assert.sh b/src/plugins/value/test.assert.sh
index a68048c098cfaf3fd9d18a030b03d7c412581785..38049b28c4c8d1e44620765127875b5d1773f8db 100755
--- a/src/plugins/value/test.assert.sh
+++ b/src/plugins/value/test.assert.sh
@@ -14,7 +14,7 @@ gcc $GCC3264 -pipe t$N.a.i $CSMITH/dump_assert_nop-$FRAMAC3264.o -o e$N
 rcexec=$?
 if [[ $rcexec != 127 && $rcexec != 152 && $rcexec != 137 ]] 
 then
-    ( ulimit -S -t 18000 -m 2500000 ; exec ~/ppc/bin/toplevel.opt -no-collapse-call-cast -slevel-function main:0 -no-results -warn-signed-overflow -val t$N.a.i -no-val-show-progress -machdep $FRAMAC3264 -precise-unions > res$N.value )
+    ( ulimit -S -t 18000 -m 2500000 ; exec ~/ppc/bin/toplevel.opt -no-collapse-call-cast -slevel-function main:0 -no-results -warn-signed-overflow -eva t$N.a.i -eva-no-show-progress -machdep $FRAMAC3264 -precise-unions > res$N.value )
     rc=$?
     if grep imprecise res$N.value
     then  
diff --git a/src/plugins/value/test.sh b/src/plugins/value/test.sh
index 8cfbcc5b403c19145934a1d2ddc19d376ed14a56..1c19540871f090abbdb78f4ee1c4eda1b8f15625 100755
--- a/src/plugins/value/test.sh
+++ b/src/plugins/value/test.sh
@@ -15,7 +15,7 @@ if [[ $rcexec != 152 && $rcexec != 137 ]]
 then
     if grep "user.0m0.0[01]" time$N
     then
-	( ulimit -S -t 18000 -m 2500000 ; exec ~/ppc/bin/toplevel.opt -warn-signed-overflow -val t$N.i -stop-at-first-alarm -no-val-show-progress -machdep $FRAMAC3264 -obviously-terminates -precise-unions > res$N.value )
+	( ulimit -S -t 18000 -m 2500000 ; exec ~/ppc/bin/toplevel.opt -warn-signed-overflow -eva t$N.i -stop-at-first-alarm -eva-no-show-progress -machdep $FRAMAC3264 -obviously-terminates -precise-unions > res$N.value )
 	rc=$?
 	if grep imprecise res$N.value
 	then  
diff --git a/src/plugins/value/utils/backward_formals.ml b/src/plugins/value/utils/backward_formals.ml
index 92890ea9d83a7fcbd91114c8a18169c27699b828..d7be9c99b5b18ff1c74af1fde6d2234fb94a26da 100644
--- a/src/plugins/value/utils/backward_formals.ml
+++ b/src/plugins/value/utils/backward_formals.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/backward_formals.mli b/src/plugins/value/utils/backward_formals.mli
index f94bdb657990b17332a640d2fd9933c4f3929f08..9e5cfddf70a64ef45b05ae99060d272d97c35203 100644
--- a/src/plugins/value/utils/backward_formals.mli
+++ b/src/plugins/value/utils/backward_formals.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/eval_typ.ml b/src/plugins/value/utils/eval_typ.ml
index b32fb9967cfac7ac90ae8e70dab3ade910023c19..d749568e9f5bb57c6b531f14ef9d693a76856e19 100644
--- a/src/plugins/value/utils/eval_typ.ml
+++ b/src/plugins/value/utils/eval_typ.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/eval_typ.mli b/src/plugins/value/utils/eval_typ.mli
index 95eb4c0f4205f95a7e97b7998a519f36945dc60f..ed2cdd50fecc1b0df0244d3ea86bad8db0d38fe3 100644
--- a/src/plugins/value/utils/eval_typ.mli
+++ b/src/plugins/value/utils/eval_typ.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/library_functions.ml b/src/plugins/value/utils/library_functions.ml
index 3fe6e14423bd51ab084fc456529b6b677725e6ea..0cb2c758547d844a1af22eb5b4376b1d3c459a98 100644
--- a/src/plugins/value/utils/library_functions.ml
+++ b/src/plugins/value/utils/library_functions.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/library_functions.mli b/src/plugins/value/utils/library_functions.mli
index b022aa4fe880bc6b28e816d586f2996db75c2469..39ac19bb895faf7c8acff10e373024bc96d0bd88 100644
--- a/src/plugins/value/utils/library_functions.mli
+++ b/src/plugins/value/utils/library_functions.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/mark_noresults.ml b/src/plugins/value/utils/mark_noresults.ml
index 6835134d2350db10d766c391818e20d785091301..17243d0575b3e248058347c73e26bdd47e564797 100644
--- a/src/plugins/value/utils/mark_noresults.ml
+++ b/src/plugins/value/utils/mark_noresults.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/red_statuses.ml b/src/plugins/value/utils/red_statuses.ml
index 9703fc1cc626a4203bed2b4a227fbaa7daa1985d..016ab1eedc87bec67799bc703b2c2f783f61c343 100644
--- a/src/plugins/value/utils/red_statuses.ml
+++ b/src/plugins/value/utils/red_statuses.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/red_statuses.mli b/src/plugins/value/utils/red_statuses.mli
index aab3c842eb17c00682661c7a009391837ca865bf..8c6402fddee0c5cdc05b0c0eb5276f21acac5be6 100644
--- a/src/plugins/value/utils/red_statuses.mli
+++ b/src/plugins/value/utils/red_statuses.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/state_import.ml b/src/plugins/value/utils/state_import.ml
index e2b8b75cbb8076fa08be3c224a98790cbd36829c..a9416c835aff3982f9930deeaf01dbe65110d412 100644
--- a/src/plugins/value/utils/state_import.ml
+++ b/src/plugins/value/utils/state_import.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/state_import.mli b/src/plugins/value/utils/state_import.mli
index d876e3896c3f2bf10ad80edcc15d88ef9a35ff58..91c1c43e9149888c1ee16b811c93561aa3915f36 100644
--- a/src/plugins/value/utils/state_import.mli
+++ b/src/plugins/value/utils/state_import.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/structure.ml b/src/plugins/value/utils/structure.ml
index 0bb9ceff120d4d35e6409361709d89f2eab99866..af63dc0f92d72a2a76c7fa92211b4802e02d1cc5 100644
--- a/src/plugins/value/utils/structure.ml
+++ b/src/plugins/value/utils/structure.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/structure.mli b/src/plugins/value/utils/structure.mli
index 0a9c35a199988b2f77f7a324a31822931a18432c..9d52978f6930c2a52e2231c8bb41468ce4ca24e6 100644
--- a/src/plugins/value/utils/structure.mli
+++ b/src/plugins/value/utils/structure.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/unroll_annots.ml b/src/plugins/value/utils/unroll_annots.ml
index 53ee56b7bc884e132682503dbaf237e4ef04784b..8ef330e7a56731f5a03e374463a54299eb1d380d 100644
--- a/src/plugins/value/utils/unroll_annots.ml
+++ b/src/plugins/value/utils/unroll_annots.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/unroll_annots.mli b/src/plugins/value/utils/unroll_annots.mli
index c6bbbc78cd62505c26c6f8d35a91d5ff4c0d98c0..f47d4f9ea36ca3fc749f09f85f500c0e6db00255 100644
--- a/src/plugins/value/utils/unroll_annots.mli
+++ b/src/plugins/value/utils/unroll_annots.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/value_perf.ml b/src/plugins/value/utils/value_perf.ml
index 71e990cdb7a8c41d31eb1afe4e50c70f9ce97cb7..9476dbbb11f8dd59b13b986fb989f0bb918a95a2 100644
--- a/src/plugins/value/utils/value_perf.ml
+++ b/src/plugins/value/utils/value_perf.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/value_perf.mli b/src/plugins/value/utils/value_perf.mli
index 4fe17c229aa24e99a532e638899dbb606fe30595..71a78b8802f814e6c8c5f06a27ca4664d3d90faa 100644
--- a/src/plugins/value/utils/value_perf.mli
+++ b/src/plugins/value/utils/value_perf.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/value_results.ml b/src/plugins/value/utils/value_results.ml
index 7ec7a62390f818c967fd831a1925592eefc71e26..c9db33d1cca57a42727963b1c262e568220b01df 100644
--- a/src/plugins/value/utils/value_results.ml
+++ b/src/plugins/value/utils/value_results.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/value_results.mli b/src/plugins/value/utils/value_results.mli
index 24ca466621275c913b1c59d97ac56e69fd72fe64..ae92d8878ad5f6a6dd35716ef6a6fdac8abbae83 100644
--- a/src/plugins/value/utils/value_results.mli
+++ b/src/plugins/value/utils/value_results.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/value_util.ml b/src/plugins/value/utils/value_util.ml
index 0a9f4e8d73e9d4a104df8f3bb8b8a49d8c21ff08..db6e355de381ed3b50f4901515712679478e4972 100644
--- a/src/plugins/value/utils/value_util.ml
+++ b/src/plugins/value/utils/value_util.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -269,8 +269,9 @@ let rec zone_of_expr find_loc expr =
 (* dereference of an lvalue: first, its address must be computed,
    then its contents themselves are read *)
 and zone_of_lval find_loc lval =
-  let loc = find_loc lval in
-  let zone = Locations.enumerate_bits (Precise_locs.imprecise_location loc) in
+  let ploc = find_loc lval in
+  let loc = Precise_locs.imprecise_location ploc in
+  let zone = Locations.enumerate_valid_bits ~for_writing:false loc in
   Locations.Zone.join zone
     (indirect_zone_of_lval find_loc lval)
 
diff --git a/src/plugins/value/utils/value_util.mli b/src/plugins/value/utils/value_util.mli
index c405b30931ba221f90b62163c0570f8f551a82ea..a631d797987bfab295360fc4b9e837bcaf042922 100644
--- a/src/plugins/value/utils/value_util.mli
+++ b/src/plugins/value/utils/value_util.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -115,7 +115,7 @@ val height_lval: lval -> int
 
 val skip_specifications: kernel_function -> bool
 (** Should we skip the specifications of this function, according to
-    [-val-skip-stdlib-specs] *)
+    [-eva-skip-stdlib-specs] *)
 
 (*
 Local Variables:
diff --git a/src/plugins/value/utils/widen.ml b/src/plugins/value/utils/widen.ml
index e54fd1dac304e5d58527c46088ffee2832310ecf..2356d40a5625ee76dca0b91c517da77d1160d3e7 100644
--- a/src/plugins/value/utils/widen.ml
+++ b/src/plugins/value/utils/widen.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/widen.mli b/src/plugins/value/utils/widen.mli
index 9d0697f9145e39d5d85de83e610071c203e20e57..283459456db5881ad44fa1aeef2dd4be2f6ed06c 100644
--- a/src/plugins/value/utils/widen.mli
+++ b/src/plugins/value/utils/widen.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/widen_hints_ext.ml b/src/plugins/value/utils/widen_hints_ext.ml
index 122fa78c73ef554368db5d580e86a72bffb62a15..4917e6810c90b5d0d315a24bde976b79dd1442db 100644
--- a/src/plugins/value/utils/widen_hints_ext.ml
+++ b/src/plugins/value/utils/widen_hints_ext.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/utils/widen_hints_ext.mli b/src/plugins/value/utils/widen_hints_ext.mli
index ce4b5a15631c92bfb4ca88d6dfeebea5b4573edf..fc66e3f6ba84fff2d9738f5cc1e0597f55012955 100644
--- a/src/plugins/value/utils/widen_hints_ext.mli
+++ b/src/plugins/value/utils/widen_hints_ext.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/value_parameters.ml b/src/plugins/value/value_parameters.ml
index 5e3234f75f8b2094bf7900a1f20b1b64516d4849..7eda5b6c514775c67657840a9e3910d2109fec0a 100644
--- a/src/plugins/value/value_parameters.ml
+++ b/src/plugins/value/value_parameters.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -90,8 +90,12 @@ let () = set_warn_status wkey_garbled_mix Log.Winactive
 let wkey_builtins_missing_spec = register_warn_category "builtins:missing-spec"
 let wkey_builtins_override = register_warn_category "builtins:override"
 let wkey_libc_unsupported_spec = register_warn_category "libc:unsupported-spec"
-let wkey_loop_unrolling = register_warn_category "loop-unrolling"
-let () = set_warn_status wkey_loop_unrolling Log.Wfeedback
+let wkey_loop_unroll = register_warn_category "loop-unroll"
+let () = set_warn_status wkey_loop_unroll Log.Wfeedback
+let wkey_missing_loop_unroll = register_warn_category "missing-loop-unroll"
+let () = set_warn_status wkey_missing_loop_unroll Log.Winactive
+let wkey_missing_loop_unroll_for = register_warn_category "missing-loop-unroll:for"
+let () = set_warn_status wkey_missing_loop_unroll_for Log.Winactive
 
 module ForceValues =
   WithOutput
diff --git a/src/plugins/value/value_parameters.mli b/src/plugins/value/value_parameters.mli
index 65bf98a6d20653d1cb99aeba7e07282495bbbe1f..66b79243da3954408a1b7a1bddf828ecf4d4fb82 100644
--- a/src/plugins/value/value_parameters.mli
+++ b/src/plugins/value/value_parameters.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -180,7 +180,13 @@ val wkey_builtins_override: warn_category
 val wkey_libc_unsupported_spec : warn_category
 
 (** Warning category used for "loop not completely unrolled" *)
-val wkey_loop_unrolling : warn_category
+val wkey_loop_unroll : warn_category
+
+(** Warning category used to identify loops without unroll annotations *)
+val wkey_missing_loop_unroll : warn_category
+
+(** Warning category used to identify for loops without unroll annotations *)
+val wkey_missing_loop_unroll_for : warn_category
 
 (** Debug category used to print information about invalid pointer comparisons*)
 val dkey_pointer_comparison: category
diff --git a/src/plugins/value/values/abstract_location.mli b/src/plugins/value/values/abstract_location.mli
index 8045f9a568dff9c4c7e4bd5d843ddc746a1c072d..2c7266aa87353cdcf86e012121bc23f026d2d010 100644
--- a/src/plugins/value/values/abstract_location.mli
+++ b/src/plugins/value/values/abstract_location.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/abstract_value.mli b/src/plugins/value/values/abstract_value.mli
index abffc3316d89f99ff61bed3a5537afe424c55750..28fec80b0e53acad4535b0655b86601a5e0b690d 100644
--- a/src/plugins/value/values/abstract_value.mli
+++ b/src/plugins/value/values/abstract_value.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/cvalue_backward.ml b/src/plugins/value/values/cvalue_backward.ml
index 06fd996ee2fbf8609a11a106cb3cbcb818d12612..64356b2faf5b109a805661bcc8fcd0a6ca891e67 100644
--- a/src/plugins/value/values/cvalue_backward.ml
+++ b/src/plugins/value/values/cvalue_backward.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -200,7 +200,6 @@ let _backward_mult typ v1 v2 res_value =
 let backward_band ~v1 ~v2 ~res typ =
   let size = Cil.bitsSizeOf typ in
   let signed = Bit_utils.is_signed_int_enum_pointer typ in
-  let bitwise_and = V.bitwise_and ~size ~signed in
   (* Reduction of a when a & b = res. *)
   let backward_band_aux a b =
     (* For each bit, if a & _ = 1 then a = 1. [a1] is [a] with all such bits at 1
@@ -210,21 +209,18 @@ let backward_band ~v1 ~v2 ~res typ =
        (for the others, not (xor res b) = 1 and this bitwise_and has no effect
        on a). *)
     let a2 =
-      bitwise_and a (V.bitwise_not_size ~size ~signed (V.bitwise_xor res b))
+      V.bitwise_and a (V.bitwise_not ~size ~signed (V.bitwise_xor res b))
     in
     V.narrow a1 a2
   in
   backward_band_aux v1 v2, backward_band_aux v2 v1
 
-let backward_bor ~v1 ~v2 ~res typ =
-  let size = Cil.bitsSizeOf typ in
-  let signed = Bit_utils.is_signed_int_enum_pointer typ in
-  let bitwise_and = V.bitwise_and ~size ~signed in
+let backward_bor ~v1 ~v2 ~res =
   (* Reduction of a when a | b = res. *)
   let backward_bor_aux a b =
     (* For each bit, if a | _ = 0 then a = 0. [a1] is [a] with all such bits at 0
        (for the others, res = 1 and this bitwise_and has no effect on a). *)
-    let a1 = bitwise_and res a in
+    let a1 = V.bitwise_and res a in
     (* For each bit, if a | 0 = 1 then a = 1. [a2] is [a] with all such bits at 1
        (for the others, xor res b = 0 and this bitwise_or has no effect on a). *)
     let a2 = V.bitwise_or (V.bitwise_xor res b) a in
@@ -305,7 +301,7 @@ let backward_binop ~typ_res ~res_value ~typ_e1 v1 binop v2 =
 
   | BAnd, TInt _ -> Some (backward_band ~v1 ~v2 ~res:res_value typ)
 
-  | BOr, TInt _ -> Some (backward_bor ~v1 ~v2 ~res:res_value typ)
+  | BOr, TInt _ -> Some (backward_bor ~v1 ~v2 ~res:res_value)
 
   | _, _ -> None
 
diff --git a/src/plugins/value/values/cvalue_backward.mli b/src/plugins/value/values/cvalue_backward.mli
index aa45654c89426fa541266ac01f8f71d7ca6898fe..ff2ea2825d067a749fab17b0354fbaabd6da3592 100644
--- a/src/plugins/value/values/cvalue_backward.mli
+++ b/src/plugins/value/values/cvalue_backward.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/cvalue_forward.ml b/src/plugins/value/values/cvalue_forward.ml
index dfa37387807a03fdf09fbde858a8578df40e937c..9051330001c931db8f5ab8ba54637a8e4bf402c5 100644
--- a/src/plugins/value/values/cvalue_forward.ml
+++ b/src/plugins/value/values/cvalue_forward.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -338,10 +338,7 @@ let forward_binop_int ~typ ev1 op ev2 =
   | Shiftlt -> V.shift_left ev1 ev2
   | BXor    -> V.bitwise_xor ev1 ev2
   | BOr     -> V.bitwise_or ev1 ev2
-  | BAnd    ->
-    let size = Cil.bitsSizeOf typ in
-    let signed = Bit_utils.is_signed_int_enum_pointer typ in
-    V.bitwise_and ~size ~signed ev1 ev2
+  | BAnd    -> V.bitwise_and ev1 ev2
   (* Strict evaluation. The caller of this function is supposed to take
      into account the laziness of those operators itself *)
   | LOr  ->
@@ -404,7 +401,7 @@ let forward_unop typ op value =
       | TInt (ik, _) | TEnum ({ekind=ik}, _) ->
         let size = Cil.bitsSizeOfInt ik in
         let signed = Cil.isSigned ik in
-        V.bitwise_not_size ~signed ~size value
+        V.bitwise_not ~signed ~size value
       | _ -> assert false
     end
   | LNot ->
diff --git a/src/plugins/value/values/cvalue_forward.mli b/src/plugins/value/values/cvalue_forward.mli
index e3dd0ec771be750523e503c156768f1f86d15b96..4196228166df01aa55f908cd7655ae54fdb071b6 100644
--- a/src/plugins/value/values/cvalue_forward.mli
+++ b/src/plugins/value/values/cvalue_forward.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/location_lift.ml b/src/plugins/value/values/location_lift.ml
index 1ef5e92f7429675b3d401d76164fb5d20404494c..ce5ae27c8641259ef90652d9d36dffffee6ad2bf 100644
--- a/src/plugins/value/values/location_lift.ml
+++ b/src/plugins/value/values/location_lift.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/location_lift.mli b/src/plugins/value/values/location_lift.mli
index 4fbcd262fa8905360d2e07500de6f2d6643aa35f..1eb2d98d38c1da61d05b0891f7e6f88cda650e87 100644
--- a/src/plugins/value/values/location_lift.mli
+++ b/src/plugins/value/values/location_lift.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/main_locations.ml b/src/plugins/value/values/main_locations.ml
index ba547df614f9d6e0d44b29f715f2b5f3414c980b..3645e0e14d083b08ac4c3f6e9908415602b18d1f 100644
--- a/src/plugins/value/values/main_locations.ml
+++ b/src/plugins/value/values/main_locations.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/main_locations.mli b/src/plugins/value/values/main_locations.mli
index 976f6ca01e96bcc0dcdb7f48cd427355d56e7490..28d11c16b762f742bdcc3364c4d01de67d6ca0c3 100644
--- a/src/plugins/value/values/main_locations.mli
+++ b/src/plugins/value/values/main_locations.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/main_values.ml b/src/plugins/value/values/main_values.ml
index 838588191bf20919c58d9c9aaeab8f4666eb9699..155133c9fc98f532e16842e46134d19220b4096c 100644
--- a/src/plugins/value/values/main_values.ml
+++ b/src/plugins/value/values/main_values.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/main_values.mli b/src/plugins/value/values/main_values.mli
index 0aadefff4e30185f9c661cf6a3850eca406b1a81..fd148fcfcc5208e58353e0a847249b4d715a3c14 100644
--- a/src/plugins/value/values/main_values.mli
+++ b/src/plugins/value/values/main_values.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/numerors/numerors_arithmetics.ml b/src/plugins/value/values/numerors/numerors_arithmetics.ml
index ca4a121106d215bce1c773bba7fd2db44f6d9688..d4c6fb2559c4abea9155fb49a663962fb8ec6540 100644
--- a/src/plugins/value/values/numerors/numerors_arithmetics.ml
+++ b/src/plugins/value/values/numerors/numerors_arithmetics.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/numerors/numerors_arithmetics.mli b/src/plugins/value/values/numerors/numerors_arithmetics.mli
index 26b87324db689649790776ef5ff82f9a77652811..6e30d9c1c793f729c398c29d61ced85bb2ae1308 100644
--- a/src/plugins/value/values/numerors/numerors_arithmetics.mli
+++ b/src/plugins/value/values/numerors/numerors_arithmetics.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/numerors/numerors_float.ml b/src/plugins/value/values/numerors/numerors_float.ml
index b57d99f90868468f27d587fabbc4df2da2856a70..a080a79ed23030f7fee606fc0868747c9226e17d 100644
--- a/src/plugins/value/values/numerors/numerors_float.ml
+++ b/src/plugins/value/values/numerors/numerors_float.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/numerors/numerors_float.mli b/src/plugins/value/values/numerors/numerors_float.mli
index e1ce8a3fcf482487a22c97b75dd6a0d3912ef419..2f673a73003824d3cb1d275980c773797a84a579 100644
--- a/src/plugins/value/values/numerors/numerors_float.mli
+++ b/src/plugins/value/values/numerors/numerors_float.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/numerors/numerors_interval.ml b/src/plugins/value/values/numerors/numerors_interval.ml
index fd14446bf90481716601a94e0ce1670192344873..bb9f4c20a7d2b931b41a6d160b0bc5c07bc3191e 100644
--- a/src/plugins/value/values/numerors/numerors_interval.ml
+++ b/src/plugins/value/values/numerors/numerors_interval.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/numerors/numerors_interval.mli b/src/plugins/value/values/numerors/numerors_interval.mli
index 4a5a13318c2112154a0e7d4004f492ec756fb467..158f875c67345ee2bf6cbc58962c48e308f5de61 100644
--- a/src/plugins/value/values/numerors/numerors_interval.mli
+++ b/src/plugins/value/values/numerors/numerors_interval.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/numerors/numerors_utils.ml b/src/plugins/value/values/numerors/numerors_utils.ml
index c0c27d7e2a6d21780869c7c4ad6d0b34dd7cfade..b456540037a4cf3864cdd94c2955030e80216a6a 100644
--- a/src/plugins/value/values/numerors/numerors_utils.ml
+++ b/src/plugins/value/values/numerors/numerors_utils.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/numerors/numerors_utils.mli b/src/plugins/value/values/numerors/numerors_utils.mli
index e985cb5d7ee786b165e782b7532c861153788352..e44fa0b29c6e70b5e6fe0c05286473a2d23f6b1c 100644
--- a/src/plugins/value/values/numerors/numerors_utils.mli
+++ b/src/plugins/value/values/numerors/numerors_utils.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/numerors/numerors_value.ml b/src/plugins/value/values/numerors/numerors_value.ml
index 1c1b1bfc95b294f76ceb928d58577cafd7d403ae..8fa47dc923f6337a7a09483991e497cb2d08da7f 100644
--- a/src/plugins/value/values/numerors/numerors_value.ml
+++ b/src/plugins/value/values/numerors/numerors_value.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/numerors/numerors_value.mli b/src/plugins/value/values/numerors/numerors_value.mli
index 96663a724fc4f238386d20fc24a7905607da850b..d73b689cd75ca60a4fe10a2cb2eaad9bc625d97a 100644
--- a/src/plugins/value/values/numerors/numerors_value.mli
+++ b/src/plugins/value/values/numerors/numerors_value.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/offsm_value.ml b/src/plugins/value/values/offsm_value.ml
index faccc93f4dae5d61bef5df6cd25ae4beb357e9b1..ad5cffc13e11f7d514c14e8a0ce508935d8a8d2d 100644
--- a/src/plugins/value/values/offsm_value.ml
+++ b/src/plugins/value/values/offsm_value.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -244,8 +244,7 @@ let aux_and (b, e) (vv1: offsm_range) (vv2: offsm_range) =
       of inverse sign. extract_bits generate always positive integers, which
       is good. The good solution would be have V.bitwise_and to accept both
       signs simultaneously. *)
-    let f = V.bitwise_and ~signed:false  ~size:(Integer.to_int size) in
-    lift f size vv1 vv2
+    lift V.bitwise_and size vv1 vv2
 
 (* O is neutral for xor, and  v ^ v = 0 *)
 let aux_xor (b, e) (vv1: offsm_range) (vv2: offsm_range) =
@@ -346,7 +345,7 @@ let cast ~old_size ~new_size ~signed o =
 
 let bnot o =
   let aux itv (v, s, rel) o =
-    let v' = V_Or_Uninitialized.map V.bitwise_not v in
+    let v' = V_Or_Uninitialized.map V.bitwise_signed_not v in
     V_Offsetmap.add ~exact:true itv (v', s, rel) o
   in
   V_Offsetmap.fold aux o o
diff --git a/src/plugins/value/values/offsm_value.mli b/src/plugins/value/values/offsm_value.mli
index cedd4c2d50911b05970d72e569f71ff7b7ad6a72..1ad67480937996b32bffb54068b50d30ec4ef640 100644
--- a/src/plugins/value/values/offsm_value.mli
+++ b/src/plugins/value/values/offsm_value.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/sign_value.ml b/src/plugins/value/values/sign_value.ml
index 8f980b33d015ba7e5dc25bc63022a9fd0a402fcc..2a6908fcf334bc60a6ace07bf11fbdeeb28be111 100644
--- a/src/plugins/value/values/sign_value.ml
+++ b/src/plugins/value/values/sign_value.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/sign_value.mli b/src/plugins/value/values/sign_value.mli
index ab680b44d2b17aee74010c6bb113be034f00103f..14deeda643e120747070f6106980b9acb1d5494f 100644
--- a/src/plugins/value/values/sign_value.mli
+++ b/src/plugins/value/values/sign_value.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/value_product.ml b/src/plugins/value/values/value_product.ml
index 948475014791a74364455213fd777ff7a13f7446..131d47bfa680cd438e8146e4de79bcf1a3b99d29 100644
--- a/src/plugins/value/values/value_product.ml
+++ b/src/plugins/value/values/value_product.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value/values/value_product.mli b/src/plugins/value/values/value_product.mli
index b2ed9ee170df4eb1cdda87492674494c814e1ee3..f6369ee2efd75c5241cb13ca4243de875428f610 100644
--- a/src/plugins/value/values/value_product.mli
+++ b/src/plugins/value/values/value_product.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value_types/cilE.ml b/src/plugins/value_types/cilE.ml
index d78ee56ab881fba193b00b7b34b218c95f2a4c0b..5636a43d9e76432a01a8ed2084cf85f0d4ff8ecb 100644
--- a/src/plugins/value_types/cilE.ml
+++ b/src/plugins/value_types/cilE.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value_types/cilE.mli b/src/plugins/value_types/cilE.mli
index d74af69de2cb1e0371181e27cfbf0d09a5670757..64dacbc5d17aca92a2582d59d3056170658d44b9 100644
--- a/src/plugins/value_types/cilE.mli
+++ b/src/plugins/value_types/cilE.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value_types/cvalue.ml b/src/plugins/value_types/cvalue.ml
index 3774848d76af67fef09c41c73da4d4e624609d5b..86e61503023a0e0a5a52bc0dff2daa06f7a2a4e4 100644
--- a/src/plugins/value_types/cvalue.ml
+++ b/src/plugins/value_types/cvalue.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -586,27 +586,27 @@ module V = struct
     else
       import_function ~topify:Origin.K_Arith Ival.bitwise_or v1 v2
 
-  let bitwise_and ~signed ~size v1 v2 =
+  let bitwise_and v1 v2 =
     if equal v1 v2 && cardinal_zero_or_one v1 then v1
     else
-      let f i1 i2 = Ival.bitwise_and ~size ~signed i1 i2 in
+      let f i1 i2 = Ival.bitwise_and i1 i2 in
       import_function ~topify:Origin.K_Arith f v1 v2
 
   let shift_right e1 e2 =
     arithmetic_function Ival.shift_right e1 e2
 
-  let bitwise_not v =
+  let bitwise_signed_not v =
     try
       let i = project_ival v in
-      inject_ival (Ival.bitwise_not i)
+      inject_ival (Ival.bitwise_signed_not i)
     with Not_based_on_null -> topify_arith_origin v
 
-  let bitwise_not_size ~signed ~size v =
+  let bitwise_not ~size ~signed v =
     try
       let i = project_ival v in
-      inject_ival (Ival.bitwise_not_size ~size ~signed i)
+      inject_ival (Ival.bitwise_not ~size ~signed i)
     with Not_based_on_null -> topify_arith_origin v
-  
+
   let extract_bits ~topify ~start ~stop ~size v =
     try
       let i = project_ival_bottom v in
diff --git a/src/plugins/value_types/cvalue.mli b/src/plugins/value_types/cvalue.mli
index cfb06aadf7cdc90eb736c61d137c5e05bac721ec..050be2bc75fa411d4c3a971f1c5366e597aac08c 100644
--- a/src/plugins/value_types/cvalue.mli
+++ b/src/plugins/value_types/cvalue.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -135,11 +135,11 @@ module V : sig
   val c_rem: t -> t -> t
   val shift_right: t -> t -> t
   val shift_left: t -> t -> t
-  val bitwise_and: signed:bool -> size:int -> t -> t -> t
+  val bitwise_and: t -> t -> t
   val bitwise_xor: t -> t -> t
   val bitwise_or : t -> t -> t
-  val bitwise_not: t -> t
-  val bitwise_not_size: signed:bool -> size:int -> t -> t
+  val bitwise_signed_not: t -> t
+  val bitwise_not: size:int -> signed:bool -> t -> t
 
   (** [all_values ~size v] returns true iff v contains all integer values
       representable in [size] bits. *)
diff --git a/src/plugins/value_types/function_Froms.ml b/src/plugins/value_types/function_Froms.ml
index 687906c47e166b429322d2aa1d8e7aa08871cfed..4fd759f702f1107d6c7c6cd8a7626235e56c6fc7 100644
--- a/src/plugins/value_types/function_Froms.ml
+++ b/src/plugins/value_types/function_Froms.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value_types/function_Froms.mli b/src/plugins/value_types/function_Froms.mli
index d2781866ad38a3daeb5dace5bfb48a4568fa038a..0c385d0254460a1a49b0e71bdef0a6be2dac09fd 100644
--- a/src/plugins/value_types/function_Froms.mli
+++ b/src/plugins/value_types/function_Froms.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value_types/inout_type.ml b/src/plugins/value_types/inout_type.ml
index 61f6e5af355eb835436e5f64ef3510a47861b334..e1215d02c1cbef10cae6fd63ad6f8d3e33cce9fc 100644
--- a/src/plugins/value_types/inout_type.ml
+++ b/src/plugins/value_types/inout_type.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value_types/inout_type.mli b/src/plugins/value_types/inout_type.mli
index 2609f0a542de28d2ea17e1119d600cc70630a479..9b3c40753085f610550f23d3db314609699b4be2 100644
--- a/src/plugins/value_types/inout_type.mli
+++ b/src/plugins/value_types/inout_type.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value_types/precise_locs.ml b/src/plugins/value_types/precise_locs.ml
index d1768d9ee197b28ae4c6bc0bd2290da3037e19b5..9d0eb8c75c7e121ae1b213838bcc975f50337be0 100644
--- a/src/plugins/value_types/precise_locs.ml
+++ b/src/plugins/value_types/precise_locs.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value_types/precise_locs.mli b/src/plugins/value_types/precise_locs.mli
index e2d1907544271b3058be88317e01aa178fb3e5e0..2ed59ce10ab8a729bfc076f87a4c58731256d525 100644
--- a/src/plugins/value_types/precise_locs.mli
+++ b/src/plugins/value_types/precise_locs.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value_types/value_types.ml b/src/plugins/value_types/value_types.ml
index 2af2fae927240061be7a72dc6b8eb92fbd6599c9..b35e493a677f3c3a654ff7835bab32018972ebd2 100644
--- a/src/plugins/value_types/value_types.ml
+++ b/src/plugins/value_types/value_types.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value_types/value_types.mli b/src/plugins/value_types/value_types.mli
index fb7297abd75f5d258384ac52b698bcdd352897f0..31e044c34ecb432616c8ab3d10b9571f3f126609 100644
--- a/src/plugins/value_types/value_types.mli
+++ b/src/plugins/value_types/value_types.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value_types/widen_type.ml b/src/plugins/value_types/widen_type.ml
index d30eaba6b121d1c72fd26caad2a4050ea330160c..7f05346b3e9d56a45b2dadca0d11a8f5cf87301d 100644
--- a/src/plugins/value_types/widen_type.ml
+++ b/src/plugins/value_types/widen_type.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/value_types/widen_type.mli b/src/plugins/value_types/widen_type.mli
index b3fa02b6a85561a9af02014ba8eafe5a2e3cf63c..e017c3c17f7aab7600aeca22737eac6b22f8001c 100644
--- a/src/plugins/value_types/widen_type.mli
+++ b/src/plugins/value_types/widen_type.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/Makefile.in b/src/plugins/variadic/Makefile.in
index c57f5cbf9aeba86ea116b6be2f3e3d6358fe843d..da8434256a8abdd5193f66acd434b784d334aaa6 100644
--- a/src/plugins/variadic/Makefile.in
+++ b/src/plugins/variadic/Makefile.in
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/variadic/Variadic.mli b/src/plugins/variadic/Variadic.mli
index 943f778bca3727a58eddb17fa47d26f16e44d0ba..c1c6015cbe39ba3a17299024432c6a604b6f4de7 100644
--- a/src/plugins/variadic/Variadic.mli
+++ b/src/plugins/variadic/Variadic.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/classify.ml b/src/plugins/variadic/classify.ml
index 158c514e48827c4cfee7f721c0f4e6ba20716415..a5d940464abe384f438c75730f8bbfea3f7a3c63 100644
--- a/src/plugins/variadic/classify.ml
+++ b/src/plugins/variadic/classify.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/configure.ac b/src/plugins/variadic/configure.ac
index 7d4a3627f5f51c914f7136803da682702a1fd623..5deee2d144395ceceb3e14f13897e9808c61baf7 100644
--- a/src/plugins/variadic/configure.ac
+++ b/src/plugins/variadic/configure.ac
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of Frama-C.                                         #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat à l'énergie atomique et aux énergies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/variadic/environment.ml b/src/plugins/variadic/environment.ml
index 50005f1648bbe6b7286f1f314ea610f4171d36b8..a99f08c3c917d87de489aace909f4f709d9d66b4 100644
--- a/src/plugins/variadic/environment.ml
+++ b/src/plugins/variadic/environment.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/extends.ml b/src/plugins/variadic/extends.ml
index 0be934087b468897db3e4d4679290ed5fa7ec744..3b796f36c97be94451b34b454527c86ec004f633 100644
--- a/src/plugins/variadic/extends.ml
+++ b/src/plugins/variadic/extends.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/extends.mli b/src/plugins/variadic/extends.mli
index 1dccf5b2e93528e26cf9c5c18f1cb56b280b6189..93f8e685daabc9cd856d1c19942679921ba8803f 100644
--- a/src/plugins/variadic/extends.mli
+++ b/src/plugins/variadic/extends.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/format_parser.ml b/src/plugins/variadic/format_parser.ml
index 048715ddd26b008501a989780b7e6c44db8a4b93..aa4d1471117bab1bfa394c5466a3f280426c8263 100644
--- a/src/plugins/variadic/format_parser.ml
+++ b/src/plugins/variadic/format_parser.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/format_parser.mli b/src/plugins/variadic/format_parser.mli
index b9b1182f69899e6995425417b19ef9a5c43e54bd..6c19d691ab107d3f376f450bbbbe333f84a3835d 100644
--- a/src/plugins/variadic/format_parser.mli
+++ b/src/plugins/variadic/format_parser.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/format_pprint.ml b/src/plugins/variadic/format_pprint.ml
index ed339e9acda5d726d0ba080c12ec6c64d2a13060..7951ada686cc750a931ec160a75b68739e1f567e 100644
--- a/src/plugins/variadic/format_pprint.ml
+++ b/src/plugins/variadic/format_pprint.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/format_pprint.mli b/src/plugins/variadic/format_pprint.mli
index 2dc8254848ed0666cf836c92142b94503e94e1a7..3dfcd1483c8c9df96c3b07ae37def0548a0ef976 100644
--- a/src/plugins/variadic/format_pprint.mli
+++ b/src/plugins/variadic/format_pprint.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/format_string.ml b/src/plugins/variadic/format_string.ml
index 41cd255bf813695945dc72bc8bf47e386c51c700..ee76a55cf2462f3da676d17dc45fa076f77789ff 100644
--- a/src/plugins/variadic/format_string.ml
+++ b/src/plugins/variadic/format_string.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/format_typer.ml b/src/plugins/variadic/format_typer.ml
index 16000ca2b965766a9ff9020d11e8db2e5db6a218..810347030ce58256d854ef8edd2f79e4949a7c6d 100644
--- a/src/plugins/variadic/format_typer.ml
+++ b/src/plugins/variadic/format_typer.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/format_typer.mli b/src/plugins/variadic/format_typer.mli
index 62fc72874d6054ffca5a75ea2755f7227eb3275b..ab2b84d48f4746e842ee01a24d0aaf5a3128b1d7 100644
--- a/src/plugins/variadic/format_typer.mli
+++ b/src/plugins/variadic/format_typer.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/format_types.mli b/src/plugins/variadic/format_types.mli
index ff41ed84f31dbf1796a22aede49ecb709ac5c2b8..c2e4b6fcc73afed182321ed85312d774673f0b05 100644
--- a/src/plugins/variadic/format_types.mli
+++ b/src/plugins/variadic/format_types.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/generic.ml b/src/plugins/variadic/generic.ml
index 19f5876a5766ddb286dea0f7f1bd20161c47e10b..ace7d6b5d8b31e3f93c60628c24609cec8fff14d 100644
--- a/src/plugins/variadic/generic.ml
+++ b/src/plugins/variadic/generic.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/options.ml b/src/plugins/variadic/options.ml
index 7a9c04df07a9c29390e99b2e755306ce166c39e9..c58347df44409c70f9ab5f686fc021329845fb04 100644
--- a/src/plugins/variadic/options.ml
+++ b/src/plugins/variadic/options.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/options.mli b/src/plugins/variadic/options.mli
index d73262bb0e7f0224964b4128d25421eb3750eb92..56f1a7fc9dd04733b326671120037cb9882edcf2 100644
--- a/src/plugins/variadic/options.mli
+++ b/src/plugins/variadic/options.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/register.ml b/src/plugins/variadic/register.ml
index 75443abd7d03cbe6d477a2284f9955b1fbf04b52..78be5dac81892b56a864f9f96d2161fe0725bec3 100644
--- a/src/plugins/variadic/register.ml
+++ b/src/plugins/variadic/register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/standard.ml b/src/plugins/variadic/standard.ml
index 47d3b3efaec5c22acdc9544754ab4c35ed745748..af4fefa77c6ff1afd14bbe039b0a338210481b10 100644
--- a/src/plugins/variadic/standard.ml
+++ b/src/plugins/variadic/standard.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c b/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c
index 78b1f67254f4b3e518e44e833281bf69678f1dcb..284877a285f94ca211c4ebd5a8348246e422729c 100644
--- a/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c
+++ b/src/plugins/variadic/tests/known/oracle/print_libc.pretty.c
@@ -12,7 +12,7 @@
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
  */
-int printf_va_1(char const *format);
+int printf_va_1(char const * __restrict format);
 
 int main(void)
 {
@@ -37,7 +37,7 @@ int main(void)
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
  */
-int printf_va_1(char const *format);
+int printf_va_1(char const * __restrict format);
 
 int main(void)
 {
diff --git a/src/plugins/variadic/tests/known/oracle/printf.res.oracle b/src/plugins/variadic/tests/known/oracle/printf.res.oracle
index 3b1f6578d437c9794821379b3c7521f520326b57..6468d9e5be5263ef8d9f565e6a6f053d9d7730bf 100644
--- a/src/plugins/variadic/tests/known/oracle/printf.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/printf.res.oracle
@@ -172,7 +172,7 @@
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
  */
-int printf_va_1(char const *format);
+int printf_va_1(char const * __restrict format);
 
 /*@ requires valid_read_string(format);
     requires \valid(param1);
@@ -192,7 +192,7 @@ int printf_va_1(char const *format);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             *(param0 + (0 ..));
  */
-int printf_va_2(char const *format, char *param0, int *param1);
+int printf_va_2(char const * __restrict format, char *param0, int *param1);
 
 /*@ requires valid_read_string(format);
     requires valid_read_wstring(param0);
@@ -206,7 +206,7 @@ int printf_va_2(char const *format, char *param0, int *param1);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             *(param0 + (0 ..));
  */
-int printf_va_3(char const *format, wchar_t *param0);
+int printf_va_3(char const * __restrict format, wchar_t *param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param1);
@@ -225,7 +225,8 @@ int printf_va_3(char const *format, wchar_t *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_4(char const *format, int param0, signed char *param1);
+int printf_va_4(char const * __restrict format, int param0,
+                signed char *param1);
 
 /*@ requires valid_read_string(format);
     requires \valid(param1);
@@ -244,7 +245,7 @@ int printf_va_4(char const *format, int param0, signed char *param1);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_5(char const *format, int param0, short *param1);
+int printf_va_5(char const * __restrict format, int param0, short *param1);
 
 /*@ requires valid_read_string(format);
     requires \valid(param1);
@@ -263,7 +264,7 @@ int printf_va_5(char const *format, int param0, short *param1);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_6(char const *format, int param0, long *param1);
+int printf_va_6(char const * __restrict format, int param0, long *param1);
 
 /*@ requires valid_read_string(format);
     requires \valid(param1);
@@ -282,7 +283,8 @@ int printf_va_6(char const *format, int param0, long *param1);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_7(char const *format, long param0, long long *param1);
+int printf_va_7(char const * __restrict format, long param0,
+                long long *param1);
 
 /*@ requires valid_read_string(format);
     requires \valid(param1);
@@ -301,7 +303,8 @@ int printf_va_7(char const *format, long param0, long long *param1);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_8(char const *format, long long param0, intmax_t *param1);
+int printf_va_8(char const * __restrict format, long long param0,
+                intmax_t *param1);
 
 /*@ requires valid_read_string(format);
     requires \valid(param1);
@@ -320,7 +323,8 @@ int printf_va_8(char const *format, long long param0, intmax_t *param1);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_9(char const *format, intmax_t param0, size_t *param1);
+int printf_va_9(char const * __restrict format, intmax_t param0,
+                size_t *param1);
 
 /*@ requires valid_read_string(format);
     requires \valid(param1);
@@ -339,7 +343,8 @@ int printf_va_9(char const *format, intmax_t param0, size_t *param1);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_10(char const *format, size_t param0, ptrdiff_t *param1);
+int printf_va_10(char const * __restrict format, size_t param0,
+                 ptrdiff_t *param1);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -352,7 +357,7 @@ int printf_va_10(char const *format, size_t param0, ptrdiff_t *param1);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_11(char const *format, ptrdiff_t param0);
+int printf_va_11(char const * __restrict format, ptrdiff_t param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -365,7 +370,7 @@ int printf_va_11(char const *format, ptrdiff_t param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_12(char const *format, unsigned int param0);
+int printf_va_12(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -378,7 +383,7 @@ int printf_va_12(char const *format, unsigned int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_13(char const *format, int param0);
+int printf_va_13(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -391,7 +396,7 @@ int printf_va_13(char const *format, int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_14(char const *format, int param0);
+int printf_va_14(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -404,7 +409,7 @@ int printf_va_14(char const *format, int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_15(char const *format, unsigned long param0);
+int printf_va_15(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -417,7 +422,7 @@ int printf_va_15(char const *format, unsigned long param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_16(char const *format, unsigned long long param0);
+int printf_va_16(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -430,7 +435,7 @@ int printf_va_16(char const *format, unsigned long long param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_17(char const *format, uintmax_t param0);
+int printf_va_17(char const * __restrict format, uintmax_t param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -443,7 +448,8 @@ int printf_va_17(char const *format, uintmax_t param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param1, param0;
  */
-int printf_va_18(char const *format, size_t param0, ptrdiff_t param1);
+int printf_va_18(char const * __restrict format, size_t param0,
+                 ptrdiff_t param1);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -456,7 +462,7 @@ int printf_va_18(char const *format, size_t param0, ptrdiff_t param1);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_19(char const *format, unsigned long long param0);
+int printf_va_19(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -469,7 +475,7 @@ int printf_va_19(char const *format, unsigned long long param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_20(char const *format, int param0);
+int printf_va_20(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -482,7 +488,7 @@ int printf_va_20(char const *format, int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_21(char const *format, unsigned long long param0);
+int printf_va_21(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -495,7 +501,7 @@ int printf_va_21(char const *format, unsigned long long param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_22(char const *format, int param0);
+int printf_va_22(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -508,7 +514,8 @@ int printf_va_22(char const *format, int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param1, param0;
  */
-int printf_va_23(char const *format, double param0, long double param1);
+int printf_va_23(char const * __restrict format, double param0,
+                 long double param1);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -521,7 +528,7 @@ int printf_va_23(char const *format, double param0, long double param1);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_24(char const *format, int param0);
+int printf_va_24(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -534,7 +541,7 @@ int printf_va_24(char const *format, int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_25(char const *format, void *param0);
+int printf_va_25(char const * __restrict format, void *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -547,8 +554,8 @@ int printf_va_25(char const *format, void *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param3, param2, param1, param0;
  */
-int printf_va_26(char const *format, int param0, int param1, int param2,
-                 unsigned int param3);
+int printf_va_26(char const * __restrict format, int param0, int param1,
+                 int param2, unsigned int param3);
 
 /*@ requires valid_read_string(format);
     requires valid_read_nstring(param1, param0);
@@ -562,7 +569,7 @@ int printf_va_26(char const *format, int param0, int param1, int param2,
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             *(param1 + (0 ..)), param0;
  */
-int printf_va_27(char const *format, int param0, char *param1);
+int printf_va_27(char const * __restrict format, int param0, char *param1);
 
 /*@ requires valid_read_string(format);
     requires valid_read_nstring(param0, 4);
@@ -576,7 +583,7 @@ int printf_va_27(char const *format, int param0, char *param1);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             *(param0 + (0 ..));
  */
-int printf_va_28(char const *format, char *param0);
+int printf_va_28(char const * __restrict format, char *param0);
 
 int main(void)
 {
diff --git a/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle
index 4812a0dc010a8f6ee8c0bc296d70be976bfa2f3d..ab84ecbf690af6f9eeca1e86ddd262df7fd12f85 100644
--- a/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/printf_wrong_arity.res.oracle
@@ -55,7 +55,7 @@
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_1(char const *format, int param0);
+int printf_va_1(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -68,7 +68,7 @@ int printf_va_1(char const *format, int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param1, param0;
  */
-int printf_va_2(char const *format, int param0, int param1);
+int printf_va_2(char const * __restrict format, int param0, int param1);
 
 int main(void)
 {
diff --git a/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle
index 9cd2d1296fb315cb05ab3447aa36d98f50c6237d..3acc772c1d3ab401b05f19de09877346e9ed4f89 100644
--- a/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/printf_wrong_pointers.res.oracle
@@ -66,7 +66,7 @@
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
  */
-int printf_va_1(char const *format, int *param0);
+int printf_va_1(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -82,7 +82,7 @@ int printf_va_1(char const *format, int *param0);
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
  */
-int printf_va_2(char const *format, int *param0);
+int printf_va_2(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -98,7 +98,7 @@ int printf_va_2(char const *format, int *param0);
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
  */
-int printf_va_3(char const *format, signed char *param0);
+int printf_va_3(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     requires valid_read_string(param0);
@@ -112,7 +112,7 @@ int printf_va_3(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             *(param0 + (0 ..));
  */
-int printf_va_4(char const *format, char *param0);
+int printf_va_4(char const * __restrict format, char *param0);
 
 /*@ requires valid_read_string(format);
     requires valid_read_wstring(param0);
@@ -126,7 +126,7 @@ int printf_va_4(char const *format, char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             *(param0 + (0 ..));
  */
-int printf_va_5(char const *format, wchar_t *param0);
+int printf_va_5(char const * __restrict format, wchar_t *param0);
 
 int main(void)
 {
diff --git a/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle
index 2255eda5046cf674c38b99110d886ecdc4d1af1c..0bb2cd97335e2418ef8ddedeb6cfdbf5ae09c1f9 100644
--- a/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/printf_wrong_types.res.oracle
@@ -113,7 +113,7 @@ typedef enum __anonenum_RC_1 RC;
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_1(char const *format, int param0);
+int printf_va_1(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -126,7 +126,7 @@ int printf_va_1(char const *format, int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_2(char const *format, int param0);
+int printf_va_2(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -139,7 +139,7 @@ int printf_va_2(char const *format, int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_3(char const *format, unsigned int param0);
+int printf_va_3(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -152,7 +152,7 @@ int printf_va_3(char const *format, unsigned int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_4(char const *format, long param0);
+int printf_va_4(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -165,7 +165,7 @@ int printf_va_4(char const *format, long param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_5(char const *format, int param0);
+int printf_va_5(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -178,7 +178,7 @@ int printf_va_5(char const *format, int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_6(char const *format, unsigned long param0);
+int printf_va_6(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -191,7 +191,7 @@ int printf_va_6(char const *format, unsigned long param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_7(char const *format, unsigned int param0);
+int printf_va_7(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -204,7 +204,7 @@ int printf_va_7(char const *format, unsigned int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_8(char const *format, void *param0);
+int printf_va_8(char const * __restrict format, void *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -217,7 +217,7 @@ int printf_va_8(char const *format, void *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_9(char const *format, double param0);
+int printf_va_9(char const * __restrict format, double param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -230,7 +230,7 @@ int printf_va_9(char const *format, double param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_10(char const *format, double param0);
+int printf_va_10(char const * __restrict format, double param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -243,7 +243,7 @@ int printf_va_10(char const *format, double param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_11(char const *format, double param0);
+int printf_va_11(char const * __restrict format, double param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -256,7 +256,7 @@ int printf_va_11(char const *format, double param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_12(char const *format, long double param0);
+int printf_va_12(char const * __restrict format, long double param0);
 
 /*@ requires valid_read_string(format);
     requires valid_read_string(param0);
@@ -270,7 +270,7 @@ int printf_va_12(char const *format, long double param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             *(param0 + (0 ..));
  */
-int printf_va_13(char const *format, char *param0);
+int printf_va_13(char const * __restrict format, char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -283,7 +283,7 @@ int printf_va_13(char const *format, char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_14(char const *format, int param0);
+int printf_va_14(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -296,7 +296,7 @@ int printf_va_14(char const *format, int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_15(char const *format, unsigned int param0);
+int printf_va_15(char const * __restrict format, unsigned int param0);
 
 int main(void)
 {
@@ -496,7 +496,7 @@ typedef enum __anonenum_RC_1 RC;
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_1(char const *format, int param0);
+int printf_va_1(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -509,7 +509,7 @@ int printf_va_1(char const *format, int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_2(char const *format, int param0);
+int printf_va_2(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -522,7 +522,7 @@ int printf_va_2(char const *format, int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_3(char const *format, unsigned int param0);
+int printf_va_3(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -535,7 +535,7 @@ int printf_va_3(char const *format, unsigned int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_4(char const *format, long param0);
+int printf_va_4(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -548,7 +548,7 @@ int printf_va_4(char const *format, long param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_5(char const *format, int param0);
+int printf_va_5(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -561,7 +561,7 @@ int printf_va_5(char const *format, int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_6(char const *format, unsigned long param0);
+int printf_va_6(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -574,7 +574,7 @@ int printf_va_6(char const *format, unsigned long param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_7(char const *format, unsigned int param0);
+int printf_va_7(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -587,7 +587,7 @@ int printf_va_7(char const *format, unsigned int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_8(char const *format, void *param0);
+int printf_va_8(char const * __restrict format, void *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -600,7 +600,7 @@ int printf_va_8(char const *format, void *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_9(char const *format, double param0);
+int printf_va_9(char const * __restrict format, double param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -613,7 +613,7 @@ int printf_va_9(char const *format, double param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_10(char const *format, double param0);
+int printf_va_10(char const * __restrict format, double param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -626,7 +626,7 @@ int printf_va_10(char const *format, double param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_11(char const *format, double param0);
+int printf_va_11(char const * __restrict format, double param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -639,7 +639,7 @@ int printf_va_11(char const *format, double param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_12(char const *format, long double param0);
+int printf_va_12(char const * __restrict format, long double param0);
 
 /*@ requires valid_read_string(format);
     requires valid_read_string(param0);
@@ -653,7 +653,7 @@ int printf_va_12(char const *format, long double param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             *(param0 + (0 ..));
  */
-int printf_va_13(char const *format, char *param0);
+int printf_va_13(char const * __restrict format, char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -666,7 +666,7 @@ int printf_va_13(char const *format, char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_14(char const *format, int param0);
+int printf_va_14(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -679,7 +679,7 @@ int printf_va_14(char const *format, int param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_15(char const *format, unsigned int param0);
+int printf_va_15(char const * __restrict format, unsigned int param0);
 
 int main(void)
 {
diff --git a/src/plugins/variadic/tests/known/oracle/scanf.res.oracle b/src/plugins/variadic/tests/known/oracle/scanf.res.oracle
index 7bb9be7190b143b90f3d53037ccfd74b47bb18f2..e2b30a7dd895f33300054cade576ecafafe22376 100644
--- a/src/plugins/variadic/tests/known/oracle/scanf.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/scanf.res.oracle
@@ -56,7 +56,8 @@
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_1(char const *format, char *param0, char *param1, int *param2);
+int scanf_va_1(char const * __restrict format, char *param0, char *param1,
+               int *param2);
 
 int main(void)
 {
diff --git a/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle b/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle
index dcf0c89e66abcfe65ee83802231b2ced9fdbf5a6..a9a7845b251755db6d2e2b4dc57b4347b5d7db6f 100644
--- a/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/scanf_loop.res.oracle
@@ -45,7 +45,7 @@ int volatile nondet;
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_1(char const *format, int *param0);
+int scanf_va_1(char const * __restrict format, int *param0);
 
 int main(void)
 {
diff --git a/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle b/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle
index b37a1ee08b70425ae2099762f4835ac5c762c11a..41d5dc140e7a787788e70c9a0c76ade24252cb31 100644
--- a/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/scanf_wrong.res.oracle
@@ -57,7 +57,8 @@
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_1(char const *format, char *param0, char *param1, int *param2);
+int scanf_va_1(char const * __restrict format, char *param0, char *param1,
+               int *param2);
 
 int main(void)
 {
diff --git a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle
index 0c1183e4c7e1f5734771b96c6ef3763389dbe52b..5283467af6bbb18db5204643152c4cc5f705fac6 100644
--- a/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/snprintf.res.oracle
@@ -60,7 +60,8 @@ int volatile nondet;
     assigns *(s + (0 ..))
       \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..));
  */
-int snprintf_va_1(char *s, size_t n, char const *format, char *param0);
+int snprintf_va_1(char * __restrict s, size_t n,
+                  char const * __restrict format, char *param0);
 
 /*@ requires
       \valid(s + (0 .. n - 1)) ∨
@@ -73,7 +74,8 @@ int snprintf_va_1(char *s, size_t n, char const *format, char *param0);
     assigns *(s + (0 ..))
       \from (indirect: n), (indirect: *(format + (0 ..))), *(param0 + (0 ..));
  */
-int snprintf_va_2(char *s, size_t n, char const *format, char *param0);
+int snprintf_va_2(char * __restrict s, size_t n,
+                  char const * __restrict format, char *param0);
 
 int main(void)
 {
diff --git a/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle b/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle
index f464a7a17aa00308563d5beda6450feacd5c8019..3affc42a4ed5738d640e76c6e044fc219e085106 100644
--- a/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/stdio_print.res.oracle
@@ -79,8 +79,8 @@
             (indirect: *(format + (0 ..))), param2, *(param1 + (0 ..)),
             param0;
  */
-int fprintf_va_1(FILE *stream, char const *format, int param0, char *param1,
-                 int param2);
+int fprintf_va_1(FILE * __restrict stream, char const * __restrict format,
+                 int param0, char *param1, int param2);
 
 /*@ requires valid_read_string(format);
     requires valid_read_string(param1);
@@ -94,7 +94,8 @@ int fprintf_va_1(FILE *stream, char const *format, int param0, char *param1,
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param2, *(param1 + (0 ..)), param0;
  */
-int printf_va_1(char const *format, int param0, char *param1, int param2);
+int printf_va_1(char const * __restrict format, int param0, char *param1,
+                int param2);
 
 /*@ requires
       \valid(s + (0 .. n - 1)) ∨
@@ -109,8 +110,9 @@ int printf_va_1(char const *format, int param0, char *param1, int param2);
       \from (indirect: n), (indirect: *(format + (0 ..))), param2,
             *(param1 + (0 ..)), param0;
  */
-int snprintf_va_1(char *s, size_t n, char const *format, int param0,
-                  char *param1, int param2);
+int snprintf_va_1(char * __restrict s, size_t n,
+                  char const * __restrict format, int param0, char *param1,
+                  int param2);
 
 /*@ requires valid_read_string(format);
     requires valid_read_string(param1);
@@ -122,8 +124,8 @@ int snprintf_va_1(char *s, size_t n, char const *format, int param0,
       \from (indirect: *(format + (0 ..))), param2, *(param1 + (0 ..)),
             param0;
  */
-int sprintf_va_1(char *s, char const *format, int param0, char *param1,
-                 int param2);
+int sprintf_va_1(char * __restrict s, char const * __restrict format,
+                 int param0, char *param1, int param2);
 
 /*@ requires valid_read_string(format);
     requires valid_read_string(param2);
@@ -133,8 +135,8 @@ int sprintf_va_1(char *s, char const *format, int param0, char *param1,
       \from (indirect: fd), (indirect: *(format + (0 ..))),
             *(param2 + (0 ..)), *(param1 + (0 ..)), param0;
  */
-int dprintf_va_1(int fd, char const *format, int param0, char *param1,
-                 char *param2);
+int dprintf_va_1(int fd, char const * __restrict format, int param0,
+                 char *param1, char *param2);
 
 int main(void)
 {
diff --git a/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle b/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle
index 2c35bd8632dd711b185033e34c5484d63fa16416..9d9d9383a4ddbc022b77af8f23c1ea97b165e98e 100644
--- a/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle
+++ b/src/plugins/variadic/tests/known/oracle/stdio_scan.res.oracle
@@ -74,8 +74,8 @@
       \from (indirect: stream->__fc_FILE_id), stream->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int fscanf_va_1(FILE *stream, char const *format, int *param0, char *param1,
-                int *param2);
+int fscanf_va_1(FILE * __restrict stream, char const * __restrict format,
+                int *param0, char *param1, int *param2);
 
 /*@ requires valid_read_string(format);
     requires \valid(param2);
@@ -100,7 +100,8 @@ int fscanf_va_1(FILE *stream, char const *format, int *param0, char *param1,
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_1(char const *format, int *param0, char *param1, int *param2);
+int scanf_va_1(char const * __restrict format, int *param0, char *param1,
+               int *param2);
 
 /*@ requires valid_read_string(s);
     requires valid_read_string(format);
@@ -118,8 +119,8 @@ int scanf_va_1(char const *format, int *param0, char *param1, int *param2);
     assigns *param0
       \from (indirect: *(s + (0 ..))), (indirect: *(format + (0 ..)));
  */
-int sscanf_va_1(char const *s, char const *format, int *param0, char *param1,
-                int *param2);
+int sscanf_va_1(char const * __restrict s, char const * __restrict format,
+                int *param0, char *param1, int *param2);
 
 int main(void)
 {
diff --git a/src/plugins/variadic/translate.ml b/src/plugins/variadic/translate.ml
index 9936b75b5b6dddd779b642cda5a5120f040b37d1..0dbf07862c4da167cad784fc1e547b6b06f098f9 100644
--- a/src/plugins/variadic/translate.ml
+++ b/src/plugins/variadic/translate.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/va_build.ml b/src/plugins/variadic/va_build.ml
index 98fbeaf7a9e740016f987bdff765ecc955591dec..77f3bbaf0475a97369a8dfdd005d54874ffa7cd4 100644
--- a/src/plugins/variadic/va_build.ml
+++ b/src/plugins/variadic/va_build.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/variadic/va_types.mli b/src/plugins/variadic/va_types.mli
index 2b886a87cb4a200bccdae35ab414720dc1ad0558..407dcbfcc805290b39d7935327cef1d44829612a 100644
--- a/src/plugins/variadic/va_types.mli
+++ b/src/plugins/variadic/va_types.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Auto.ml b/src/plugins/wp/Auto.ml
index 7d851adddcc420f1e7d5eb65aa072ee0005db5c3..c06565117dbefde36dc23a426b09aedadfb82cc5 100644
--- a/src/plugins/wp/Auto.ml
+++ b/src/plugins/wp/Auto.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Auto.mli b/src/plugins/wp/Auto.mli
index 4c8b2eabb74a10fa906f3d3f92d10d6ff98dc704..cd8447405dc1e8073b28c84f85b632c7592faa50 100644
--- a/src/plugins/wp/Auto.mli
+++ b/src/plugins/wp/Auto.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/CfgCompiler.ml b/src/plugins/wp/CfgCompiler.ml
index 8d45608209ab17381973d9f43006f61c3ab21b79..88e5892d9bd0b61e6faa5341bb51aeaba0c6621a 100644
--- a/src/plugins/wp/CfgCompiler.ml
+++ b/src/plugins/wp/CfgCompiler.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/CfgCompiler.mli b/src/plugins/wp/CfgCompiler.mli
index 9263f60dd378eb7d20ec0f27e35df06f75fcd6eb..5f9ed192ea937bbbade66e9e1a7f05b881fb2f1f 100644
--- a/src/plugins/wp/CfgCompiler.mli
+++ b/src/plugins/wp/CfgCompiler.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Cfloat.ml b/src/plugins/wp/Cfloat.ml
index 8b1731f3c5c198fbf3e71fa25bb6d2f932fa15d5..7c5a2c9f5a357dfe0080eb176d23012816b2740c 100644
--- a/src/plugins/wp/Cfloat.ml
+++ b/src/plugins/wp/Cfloat.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Cfloat.mli b/src/plugins/wp/Cfloat.mli
index eb3a12e514d63205a9d953d5e1bedf59fa088fd8..f1f46e5950f89fe509e97f6015f2dbf0c5906338 100644
--- a/src/plugins/wp/Cfloat.mli
+++ b/src/plugins/wp/Cfloat.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Cint.ml b/src/plugins/wp/Cint.ml
index a61fa8f329735c6ee72859a16b6f85145a21858d..763bd314ff3aafc55d210aeb6c95fdea123eadc3 100644
--- a/src/plugins/wp/Cint.ml
+++ b/src/plugins/wp/Cint.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -593,12 +593,12 @@ let smp_eq_with_lor a b =
     (* 0==(a1|a2) <=> (0==a1 && 0==a2) *)
     F.e_and (List.map (e_eq b) es)
 
-let smp_eq_with_lxor a b = (* b1==(a2^e) <==> ~(b1^a2)==e *)
+let smp_eq_with_lxor a b = (* b1==(a2^e) <==> (b1^a2)==e *)
   let b1 = match_integer b in
   let es = match_fun f_lxor a in
-  try (* b1==(a2^e) <==> ~(b1^a2)==e *)
+  try (* b1==(a2^e) <==> (b1^a2)==e *)
     let a2,es = match_integer_extraction es in
-    let k1 = Integer.lognot (Integer.logxor b1 a2) in
+    let k1 = Integer.logxor b1 a2 in
     e_eq (e_zint k1) (e_fun f_lxor es)
   with Not_found when b == e_zero  ->
     (* 0==(a1^a2) <=> (a1==a2) *)
diff --git a/src/plugins/wp/Cint.mli b/src/plugins/wp/Cint.mli
index 72a86838ff4feee8085d9f38a480be2fffff88c1..263c43e16af4d329a7578bcb4d3890451ccd90be 100644
--- a/src/plugins/wp/Cint.mli
+++ b/src/plugins/wp/Cint.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Cleaning.ml b/src/plugins/wp/Cleaning.ml
index 0f084445a1d695287936aecb5dcbe4e538df2658..852694ddb73c35df6a80f840292c36547d1a3748 100644
--- a/src/plugins/wp/Cleaning.ml
+++ b/src/plugins/wp/Cleaning.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Cleaning.mli b/src/plugins/wp/Cleaning.mli
index 1e4ec67190398e74339451d52f405814e89f3a2c..36bdfe91a2d787aabb3c50f3ab4570758e9d9776 100644
--- a/src/plugins/wp/Cleaning.mli
+++ b/src/plugins/wp/Cleaning.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Cmath.ml b/src/plugins/wp/Cmath.ml
index c607be8a5d7e8acbd0cf6384ccba307f33040026..73f81d6118262bce0d8ca3dd8dc02befcbab9597 100644
--- a/src/plugins/wp/Cmath.ml
+++ b/src/plugins/wp/Cmath.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Cmath.mli b/src/plugins/wp/Cmath.mli
index a5b431075358a30a0e70625033b4332926103c90..e27a286e076c264de3d18f930b477a3019700f5c 100644
--- a/src/plugins/wp/Cmath.mli
+++ b/src/plugins/wp/Cmath.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/CodeSemantics.ml b/src/plugins/wp/CodeSemantics.ml
index eaf5063d82c11316ba3980706ddc0b4dedaf17c9..e7dacab67bf5ee7a8fb910ca905891cea21f3ce2 100644
--- a/src/plugins/wp/CodeSemantics.ml
+++ b/src/plugins/wp/CodeSemantics.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/CodeSemantics.mli b/src/plugins/wp/CodeSemantics.mli
index 4f00c12f9fa347c7d26fa1242b2a0251ccc7138b..e138cd94c5c631e40408a7c748d106b8aafbf3cb 100644
--- a/src/plugins/wp/CodeSemantics.mli
+++ b/src/plugins/wp/CodeSemantics.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Conditions.ml b/src/plugins/wp/Conditions.ml
index 1924b4baef3fe90208c7269b1480e7091bbea6f6..aa3a1478d52da357018dc3b254a78f684a5f0fbf 100644
--- a/src/plugins/wp/Conditions.ml
+++ b/src/plugins/wp/Conditions.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Conditions.mli b/src/plugins/wp/Conditions.mli
index 55e1671f282b914ad709543b683a10f5a2fa9b81..46607fa5871173d89b7e1b914b7de19f670f60cb 100644
--- a/src/plugins/wp/Conditions.mli
+++ b/src/plugins/wp/Conditions.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Context.ml b/src/plugins/wp/Context.ml
index 318e88c322d3e809db2856db3d5f0d510208f4ea..a63b62de007a6630c618303133df4af009460118 100644
--- a/src/plugins/wp/Context.ml
+++ b/src/plugins/wp/Context.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Context.mli b/src/plugins/wp/Context.mli
index d3f1f68da919bc00fd6eaf4c1045c896fae62630..160b1782f9c904c193f0345a367babc00c080ce2 100644
--- a/src/plugins/wp/Context.mli
+++ b/src/plugins/wp/Context.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Cstring.ml b/src/plugins/wp/Cstring.ml
index c135322e91923ebbebc25b55f3e6346e284f0951..66f3ab3afb6e32672107fa09484c648640827026 100644
--- a/src/plugins/wp/Cstring.ml
+++ b/src/plugins/wp/Cstring.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Cstring.mli b/src/plugins/wp/Cstring.mli
index 8bddad4a5a0a0b65db6ee7743d0e3d2962dcc514..65dd792f0b8b6f2f0072ab78b5b08723cfc207b8 100644
--- a/src/plugins/wp/Cstring.mli
+++ b/src/plugins/wp/Cstring.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Cvalues.ml b/src/plugins/wp/Cvalues.ml
index 30534510f19f8d0cc07ec83b34740722e37f679a..f952969897624f89bcd5642823903d87a23adfb4 100644
--- a/src/plugins/wp/Cvalues.ml
+++ b/src/plugins/wp/Cvalues.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Cvalues.mli b/src/plugins/wp/Cvalues.mli
index 6072a98ee4646f255ede84ed36cb55cc80a2f801..e7a09ec5b78fa01ef642bb1fe717cff19ffddfa1 100644
--- a/src/plugins/wp/Cvalues.mli
+++ b/src/plugins/wp/Cvalues.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Definitions.ml b/src/plugins/wp/Definitions.ml
index e6fa54c7037c1fb7cede23ee5e8879ace611199c..7769f37de54a3e829cb3ce2effe381e771632b6b 100644
--- a/src/plugins/wp/Definitions.ml
+++ b/src/plugins/wp/Definitions.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Definitions.mli b/src/plugins/wp/Definitions.mli
index 587b3add5e890654b1b677e4fad76137eea831b6..f4a0d98b31b64e56f0021c970df0e97089d44c2a 100644
--- a/src/plugins/wp/Definitions.mli
+++ b/src/plugins/wp/Definitions.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Factory.ml b/src/plugins/wp/Factory.ml
index a4f06c8dee9df498dd9ce5b048a01b3ca300e138..bc0f3667d600ba5553a818df622c507c70a01f48 100644
--- a/src/plugins/wp/Factory.ml
+++ b/src/plugins/wp/Factory.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Factory.mli b/src/plugins/wp/Factory.mli
index aea6adcb7b5d7efddb705fd459859ddfcba225dd..9d416b4a0ed9bc71b5b564c3ee019a301964b4e1 100644
--- a/src/plugins/wp/Factory.mli
+++ b/src/plugins/wp/Factory.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Filtering.ml b/src/plugins/wp/Filtering.ml
index ae163c270a93b8e62862a5e4830852cc02073f93..a74546d4d09099ff3e3c7f25d99d70cd631f4468 100644
--- a/src/plugins/wp/Filtering.ml
+++ b/src/plugins/wp/Filtering.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Filtering.mli b/src/plugins/wp/Filtering.mli
index 2bc50c6969ab49ceba66a89e392d6fdd42b6036d..7a0944c37bc7ff689e70e5703a565121d655e275 100644
--- a/src/plugins/wp/Filtering.mli
+++ b/src/plugins/wp/Filtering.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Footprint.ml b/src/plugins/wp/Footprint.ml
index dd036fcd8f9b46c4c43c4e763e1ed3660730108f..60245a5aa1eeed737fd4218823948b30e12ba69d 100644
--- a/src/plugins/wp/Footprint.ml
+++ b/src/plugins/wp/Footprint.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Footprint.mli b/src/plugins/wp/Footprint.mli
index cf30f499dbffa5c1b32c7d01c4b46c7b4a75a97a..2054c4d776d4032001d4e5b6f1a3061307599f2c 100644
--- a/src/plugins/wp/Footprint.mli
+++ b/src/plugins/wp/Footprint.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Generator.ml b/src/plugins/wp/Generator.ml
index f97165ae9e133e71b5d2328a3c73084a3ec7783f..0bab01bf8b94a9543a6b53524d0793cb68fcb25b 100644
--- a/src/plugins/wp/Generator.ml
+++ b/src/plugins/wp/Generator.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Generator.mli b/src/plugins/wp/Generator.mli
index 141bd268ad7290fc8958e628d3ea9fc439fe81d4..466834a6541e5e1573824fa772d1416d254c2279 100644
--- a/src/plugins/wp/Generator.mli
+++ b/src/plugins/wp/Generator.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiComposer.ml b/src/plugins/wp/GuiComposer.ml
index 930109069888b07cf910bdd1dbe3396a3a941890..a50bd4ab9ef0e62427554e46c1ee8b5f5fa82542 100644
--- a/src/plugins/wp/GuiComposer.ml
+++ b/src/plugins/wp/GuiComposer.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiComposer.mli b/src/plugins/wp/GuiComposer.mli
index ca31943be1cf53c7697323fe7a81f9756fdec4db..37d21d8ab93efb11d4dee24feb08de5a5bc36c15 100644
--- a/src/plugins/wp/GuiComposer.mli
+++ b/src/plugins/wp/GuiComposer.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiConfig.ml b/src/plugins/wp/GuiConfig.ml
index 9ef8e8f6e880c8a5cb2bea221593072511bdb493..3b3a7c4f43e4201cfa2543e4e12f47581fd2f4d8 100644
--- a/src/plugins/wp/GuiConfig.ml
+++ b/src/plugins/wp/GuiConfig.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiConfig.mli b/src/plugins/wp/GuiConfig.mli
index bf0464c09ee200a675ccfe81ee10785e95af84d1..4bbb3b11ad16d4626299896161542ac9f2b5c524 100644
--- a/src/plugins/wp/GuiConfig.mli
+++ b/src/plugins/wp/GuiConfig.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiGoal.ml b/src/plugins/wp/GuiGoal.ml
index 40d95b6abbc3f257325e9eee710777eba8f8f86a..ee0e78942eba08a5e799e055e21174224afb8bec 100644
--- a/src/plugins/wp/GuiGoal.ml
+++ b/src/plugins/wp/GuiGoal.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -74,7 +74,12 @@ class pane (proverpane : GuiConfig.provers) =
   let composer = new GuiComposer.composer printer in
   let browser = new GuiComposer.browser printer in
   let layout = new Wutil.layout in
+  let scroll_palette =
+    GBin.scrolled_window ~vpolicy:`AUTOMATIC ~hpolicy:`NEVER ()
+  in
+  let scroll_palette_widget = new Wutil.gobj_widget scroll_palette in
   let palette = new Wpalette.panel () in
+  let () = scroll_palette#add palette#coerce in
   let help = new Widget.button
     ~label:"Tactics" ~border:false ~tooltip:"List Available Tactics" () in
   let delete = new Widget.button
@@ -107,7 +112,7 @@ class pane (proverpane : GuiConfig.provers) =
                     w autofocus ; w play_script ; w save_script ;
                     w ~padding:6 icon ; h ~padding:6 status ]
                   [ w help ; w delete ]) in
-        layout#populate (Wbox.panel ~top:toolbar ~right:palette#widget text) ;
+        layout#populate (Wbox.panel ~top:toolbar ~right:scroll_palette_widget text) ;
         provers <-
           VCS.([ new GuiProver.prover ~console:text ~prover:AltErgo ] @
                List.map
diff --git a/src/plugins/wp/GuiGoal.mli b/src/plugins/wp/GuiGoal.mli
index 090a744a23ea8a7eda8fe8c25a278fe7a6c48732..fd60b80fa866f48cc812eca08b1de154985a3bad 100644
--- a/src/plugins/wp/GuiGoal.mli
+++ b/src/plugins/wp/GuiGoal.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiList.ml b/src/plugins/wp/GuiList.ml
index 7c391c70811ae10467298ead5057375d06e28e32..9fa9f6a98f4fd53c58649ca20bdf3472eb0df248 100644
--- a/src/plugins/wp/GuiList.ml
+++ b/src/plugins/wp/GuiList.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiList.mli b/src/plugins/wp/GuiList.mli
index 17c7ea2e7346358d40852b394e3ab73edb275be1..7b34f43d5db14f6cc3080193182ca80fbc2ea9e9 100644
--- a/src/plugins/wp/GuiList.mli
+++ b/src/plugins/wp/GuiList.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiNavigator.ml b/src/plugins/wp/GuiNavigator.ml
index 345667e8b32195be0d0700cf28620654314ad3b2..7da1c5d3d9f9a6dc365f93b24f5c4d18001792ee 100644
--- a/src/plugins/wp/GuiNavigator.ml
+++ b/src/plugins/wp/GuiNavigator.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiNavigator.mli b/src/plugins/wp/GuiNavigator.mli
index ef490a0e946f843f5b00ca2a7638cc86fb348aef..6604b2d739453754c513ba0fc0c63d2600e923d4 100644
--- a/src/plugins/wp/GuiNavigator.mli
+++ b/src/plugins/wp/GuiNavigator.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiPanel.ml b/src/plugins/wp/GuiPanel.ml
index e9e2f4c1a6b64e522db79493239668fb11ece380..d9ee8c78e5e31502ce01a27098e6d9e0c137a41c 100644
--- a/src/plugins/wp/GuiPanel.ml
+++ b/src/plugins/wp/GuiPanel.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -167,7 +167,7 @@ class model_selector (main : Design.main_window_extension_points) =
 let wp_dir = ref (Sys.getcwd())
 
 let wp_script () =
-  let file = GToolbox.select_file
+  let file = Gtk_helper.select_file
       ~title:"Script File for Coq proofs"
       ~dir:wp_dir ~filename:"wp.script" ()
   in
diff --git a/src/plugins/wp/GuiPanel.mli b/src/plugins/wp/GuiPanel.mli
index 630d5cd1f6fba173fba803d1c67e5cf6fc8dbb11..b5fe2af514a1af179b7f13cfedf2d38d03606829 100644
--- a/src/plugins/wp/GuiPanel.mli
+++ b/src/plugins/wp/GuiPanel.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiProof.ml b/src/plugins/wp/GuiProof.ml
index fef695c3b98db203ef4f1cfd8cbf3dd06651067d..58acb6cefb502103b10fc79c45905b722d9e932e 100644
--- a/src/plugins/wp/GuiProof.ml
+++ b/src/plugins/wp/GuiProof.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiProof.mli b/src/plugins/wp/GuiProof.mli
index 758b76cd8f4c8b6c4b68eb06711ae0ab57499e3f..50b09ebbefccc1975fc94651d928fab67e68bee9 100644
--- a/src/plugins/wp/GuiProof.mli
+++ b/src/plugins/wp/GuiProof.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiProver.ml b/src/plugins/wp/GuiProver.ml
index 56d70305d93b57b3f6d2c6ee8e966e9e7e8c786e..1ed614ee5f2eab4fb5e7a1d5813a17ac5a3caf8c 100644
--- a/src/plugins/wp/GuiProver.ml
+++ b/src/plugins/wp/GuiProver.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiProver.mli b/src/plugins/wp/GuiProver.mli
index 697c8c598be4a62576d8c482ad7cdb08c48bb8c6..ab5562587b26392e4c7770a39aeabd899276ea70 100644
--- a/src/plugins/wp/GuiProver.mli
+++ b/src/plugins/wp/GuiProver.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiSequent.ml b/src/plugins/wp/GuiSequent.ml
index 6def97686314b8d3e198fdaed8f651cf4f94afeb..18e3d22a79cd6c2a21520a4223a217e634864554 100644
--- a/src/plugins/wp/GuiSequent.ml
+++ b/src/plugins/wp/GuiSequent.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiSequent.mli b/src/plugins/wp/GuiSequent.mli
index f4a4ee15659f1629bfce2629bad34f37e977b4bb..d1cfa16bbbe4f7b89fed7c8094253e0628556f18 100644
--- a/src/plugins/wp/GuiSequent.mli
+++ b/src/plugins/wp/GuiSequent.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiSource.ml b/src/plugins/wp/GuiSource.ml
index 2adc52d31b56ec6e11b78ca7922cb4f06c134cdb..a47a570c5e8b4a1d5f55009509fb53cf9c23f1e1 100644
--- a/src/plugins/wp/GuiSource.ml
+++ b/src/plugins/wp/GuiSource.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiSource.mli b/src/plugins/wp/GuiSource.mli
index 6259bab54fed44818c91277294b09008bbe079a3..c459b1eb40f57055266d5b397cc0b58ad3f29c0a 100644
--- a/src/plugins/wp/GuiSource.mli
+++ b/src/plugins/wp/GuiSource.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiTactic.ml b/src/plugins/wp/GuiTactic.ml
index 27f6d123ee7c7130e54aaf8147a7fd4ed13f49bf..40c8cf7256f05158a0364caaaad11889f2107349 100644
--- a/src/plugins/wp/GuiTactic.ml
+++ b/src/plugins/wp/GuiTactic.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/GuiTactic.mli b/src/plugins/wp/GuiTactic.mli
index 85cf4e3ca7a633e235072ee3d6f663b132aeeda8..9d777188182b05a2fc6ef19a4c5d64de17b974af 100644
--- a/src/plugins/wp/GuiTactic.mli
+++ b/src/plugins/wp/GuiTactic.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Lang.ml b/src/plugins/wp/Lang.ml
index 3487ca4d34cb494a7764c7afe871f55e14ccd964..fdcb24f90acfb8076919647c8c0e87985d746fff 100644
--- a/src/plugins/wp/Lang.ml
+++ b/src/plugins/wp/Lang.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Lang.mli b/src/plugins/wp/Lang.mli
index 5caf9fe2cec5d60fb42ff19d8eade955b2b1747b..4644a22391f0473387a54a6fad9ed2871a6d5e0a 100644
--- a/src/plugins/wp/Lang.mli
+++ b/src/plugins/wp/Lang.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Letify.ml b/src/plugins/wp/Letify.ml
index a6d1257b1a476ddbc3eaf439f88adfd94b891441..e9dbaabf9892365985f4579693f361d3e365bd96 100644
--- a/src/plugins/wp/Letify.ml
+++ b/src/plugins/wp/Letify.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Letify.mli b/src/plugins/wp/Letify.mli
index 2007c5994f7fa21a4f773ba19680294c74665c62..4ae9d7b4ce9a8a812aa475ad5e995f3f78fa69bb 100644
--- a/src/plugins/wp/Letify.mli
+++ b/src/plugins/wp/Letify.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/LogicAssigns.ml b/src/plugins/wp/LogicAssigns.ml
index f3739d5f0193058592a351f51d9c881b3449b78a..024797e31770826ea1a2ef947e00793690f57e50 100644
--- a/src/plugins/wp/LogicAssigns.ml
+++ b/src/plugins/wp/LogicAssigns.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/LogicAssigns.mli b/src/plugins/wp/LogicAssigns.mli
index 72a0985b9f89cfad80b217dad5d8224b6b6c4254..92cd1d2006bb61cfbbe5f75ab8966db08f01d1c2 100644
--- a/src/plugins/wp/LogicAssigns.mli
+++ b/src/plugins/wp/LogicAssigns.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/LogicBuiltins.ml b/src/plugins/wp/LogicBuiltins.ml
index afc8e9bdb4ffd61a650ec9ec297fa26511206637..1e20d51a4afe8ec605a214a06beb1a050d16bfce 100644
--- a/src/plugins/wp/LogicBuiltins.ml
+++ b/src/plugins/wp/LogicBuiltins.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/LogicBuiltins.mli b/src/plugins/wp/LogicBuiltins.mli
index 4f5d992935c604896d449f51308eb119e342c9fb..41a530ff77b0ece0f423052649aa5795b3dc7803 100644
--- a/src/plugins/wp/LogicBuiltins.mli
+++ b/src/plugins/wp/LogicBuiltins.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/LogicCompiler.ml b/src/plugins/wp/LogicCompiler.ml
index 11bcfaec17cee8d0d0f4842fe093f13120f084d8..216df75f16769a7a8b4a5968c78c54af63729cc4 100644
--- a/src/plugins/wp/LogicCompiler.ml
+++ b/src/plugins/wp/LogicCompiler.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/LogicCompiler.mli b/src/plugins/wp/LogicCompiler.mli
index 9e45c3ad7ec33a1c9f5eec6a74f823b254f0b5ba..a34f3a35511f0f8ecd7a8f06270419e251ec7c9c 100644
--- a/src/plugins/wp/LogicCompiler.mli
+++ b/src/plugins/wp/LogicCompiler.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/LogicSemantics.ml b/src/plugins/wp/LogicSemantics.ml
index c6d0f4b3ef6ecff886c9f508498b7771f4ef7de8..60c0efae3922f9f7c5b7ae12876965847cd93b65 100644
--- a/src/plugins/wp/LogicSemantics.ml
+++ b/src/plugins/wp/LogicSemantics.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/LogicSemantics.mli b/src/plugins/wp/LogicSemantics.mli
index 7ccf8ee676ea24469e2faeca178bf8e387ec1f59..fb23bab846388e687dfac32ca04a932e7ab08b09 100644
--- a/src/plugins/wp/LogicSemantics.mli
+++ b/src/plugins/wp/LogicSemantics.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/LogicUsage.ml b/src/plugins/wp/LogicUsage.ml
index ed2e54b9d0ba7cb82ad7cb1b733c8fdbbe887562..f3e9b63d653ae29eff374583cbd62728ab5a7584 100644
--- a/src/plugins/wp/LogicUsage.ml
+++ b/src/plugins/wp/LogicUsage.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/LogicUsage.mli b/src/plugins/wp/LogicUsage.mli
index b2a8f1ca475d0c456ff63c80502b361cbd8cc1ea..a2efdc07b7c42f8600e061a4395d2cabf4ad62e8 100644
--- a/src/plugins/wp/LogicUsage.mli
+++ b/src/plugins/wp/LogicUsage.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Makefile.in b/src/plugins/wp/Makefile.in
index 81575977d66bab822094aaa11fcd3d1be5e5ba8e..2a924fd195d13dade963059d5cacda597be774d4 100644
--- a/src/plugins/wp/Makefile.in
+++ b/src/plugins/wp/Makefile.in
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of WP plug-in of Frama-C.                           #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat a l'energie atomique et aux energies              #
 #         alternatives)                                                  #
 #                                                                        #
@@ -40,7 +40,7 @@ include $(PLUGIN_DIR)/share/Makefile.resources
 
 # Extension of the GUI for wp is compilable
 # only if gnomecanvas is available
-ifeq ($(HAS_GNOMECANVAS),yes)
+#ifeq ($(HAS_GNOMECANVAS),yes)
 PLUGIN_GUI_CMO:= \
 	GuiConfig \
 	GuiList \
@@ -53,7 +53,7 @@ PLUGIN_GUI_CMO:= \
 	GuiSource \
 	GuiPanel \
 	GuiNavigator
-endif
+#endif
 
 PLUGIN_ENABLE:=@ENABLE_WP@
 PLUGIN_NAME:=Wp
diff --git a/src/plugins/wp/Matrix.ml b/src/plugins/wp/Matrix.ml
index 3e1e87778423922d130919717086aa74f40f15ef..9a3aadbb39831d0732ae0c1fd3b346109d2ffe79 100644
--- a/src/plugins/wp/Matrix.ml
+++ b/src/plugins/wp/Matrix.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Matrix.mli b/src/plugins/wp/Matrix.mli
index d0620674280f00a28c2dbd808279006d7d7d2848..10f6e6f9b573061d464e010c942b12a920203dca 100644
--- a/src/plugins/wp/Matrix.mli
+++ b/src/plugins/wp/Matrix.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/MemEmpty.ml b/src/plugins/wp/MemEmpty.ml
index a29a2014e35a2e2fa7380f224c095dc3d2505f7b..a9999cc1990b2e2b24909ac5926e788623bbc9e2 100644
--- a/src/plugins/wp/MemEmpty.ml
+++ b/src/plugins/wp/MemEmpty.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/MemEmpty.mli b/src/plugins/wp/MemEmpty.mli
index 7e5e49fc9f560f0b15309824694f6f1319ccde85..6191649db155bbd608cd6adb2fc67907cc03e8a0 100644
--- a/src/plugins/wp/MemEmpty.mli
+++ b/src/plugins/wp/MemEmpty.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/MemTyped.ml b/src/plugins/wp/MemTyped.ml
index 5c215d6736d287d57fa8d0bba7ca60c5492a1482..7439f2f8393fba8312c40754507ac3794dfd820e 100644
--- a/src/plugins/wp/MemTyped.ml
+++ b/src/plugins/wp/MemTyped.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/MemTyped.mli b/src/plugins/wp/MemTyped.mli
index 17488a1f3a064d70634f3d0bfd205b568ade922a..6c23647b4fe25faa6e81b96584cbae0f23199dae 100644
--- a/src/plugins/wp/MemTyped.mli
+++ b/src/plugins/wp/MemTyped.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/MemVar.ml b/src/plugins/wp/MemVar.ml
index 417845558f72153c98aab7b1309b63e45604f4f1..cd5dcfd28d4f04fee81807c9d5604dea8bb52d43 100644
--- a/src/plugins/wp/MemVar.ml
+++ b/src/plugins/wp/MemVar.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/MemVar.mli b/src/plugins/wp/MemVar.mli
index e84b525cdca9faad3722529cf57b5a80663acc52..440155a4434e46fad298916793e992e77b2e1f03 100644
--- a/src/plugins/wp/MemVar.mli
+++ b/src/plugins/wp/MemVar.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/MemZeroAlias.ml b/src/plugins/wp/MemZeroAlias.ml
index e0386d60131474730280e52095bafae9bb4fe8f6..1983f2361f498823fd38afb9fccaa19e372d77e6 100644
--- a/src/plugins/wp/MemZeroAlias.ml
+++ b/src/plugins/wp/MemZeroAlias.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/MemZeroAlias.mli b/src/plugins/wp/MemZeroAlias.mli
index 7e5e49fc9f560f0b15309824694f6f1319ccde85..6191649db155bbd608cd6adb2fc67907cc03e8a0 100644
--- a/src/plugins/wp/MemZeroAlias.mli
+++ b/src/plugins/wp/MemZeroAlias.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/MemoryContext.ml b/src/plugins/wp/MemoryContext.ml
index 0d2686fee45dce9271b3240fd7792ffe46b8c1e2..6779dba0fc23987dd8b23f62448bc411b1a93fa8 100644
--- a/src/plugins/wp/MemoryContext.ml
+++ b/src/plugins/wp/MemoryContext.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/MemoryContext.mli b/src/plugins/wp/MemoryContext.mli
index 27168e496e6741c4cc36bc9ecb97d1f069b8e80b..4b1cb73ae2dd0c2bef2a28986d3cf1cbe50943b3 100644
--- a/src/plugins/wp/MemoryContext.mli
+++ b/src/plugins/wp/MemoryContext.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Model.ml b/src/plugins/wp/Model.ml
index 041f5ec4acc8ab5c446848c86c62a12118eff499..a69ac68fabd0e5f415491a0310c9752eb5ef3791 100644
--- a/src/plugins/wp/Model.ml
+++ b/src/plugins/wp/Model.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Model.mli b/src/plugins/wp/Model.mli
index 303c20707fe0c2289b50c814d649e10e3872c8c8..948e6e08ea68419eeef685e9dda8bdca2c18d143 100644
--- a/src/plugins/wp/Model.mli
+++ b/src/plugins/wp/Model.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Mstate.ml b/src/plugins/wp/Mstate.ml
index 8a2a6229a34de3532d9337bb2761a3c8716df62d..a8a5cebc6dcf29c1afe1b747ae3a6028ec9f4ee7 100644
--- a/src/plugins/wp/Mstate.ml
+++ b/src/plugins/wp/Mstate.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Mstate.mli b/src/plugins/wp/Mstate.mli
index 962e55630786722275edf590588410368df64120..517b57efb245f980c5271a71b6fc590fa57173eb 100644
--- a/src/plugins/wp/Mstate.mli
+++ b/src/plugins/wp/Mstate.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Partitioning.ml b/src/plugins/wp/Partitioning.ml
index 7a53e3519e16767385577fdd9608ac4e10222bb4..d8490466d97760335742e961c84e7c13a06b27ee 100644
--- a/src/plugins/wp/Partitioning.ml
+++ b/src/plugins/wp/Partitioning.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Partitioning.mli b/src/plugins/wp/Partitioning.mli
index 9f3193ce8db53dd6e51170ce8b6244d22cacea86..ae3501d929342b216bc7b9f4d68c3213ecf6706b 100644
--- a/src/plugins/wp/Partitioning.mli
+++ b/src/plugins/wp/Partitioning.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Passive.ml b/src/plugins/wp/Passive.ml
index f1fe090ee96bb606d1f8cf758f8b5c54185fca84..0788b826e1358703fb1d7c408697c94454ba4ba8 100644
--- a/src/plugins/wp/Passive.ml
+++ b/src/plugins/wp/Passive.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Passive.mli b/src/plugins/wp/Passive.mli
index 5a730291439c7486a97190c307614d7da19e660a..2dc9000fc06a8c661714e03644de65638201e6e7 100644
--- a/src/plugins/wp/Passive.mli
+++ b/src/plugins/wp/Passive.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Pcfg.ml b/src/plugins/wp/Pcfg.ml
index 70edd6ba7121117ad6a4fcf1a7f8e1a3b7d9dd5e..34a886762d2e4cfc4ad475a419cbc9e6c2e9c607 100644
--- a/src/plugins/wp/Pcfg.ml
+++ b/src/plugins/wp/Pcfg.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Pcfg.mli b/src/plugins/wp/Pcfg.mli
index de876597ba152f1f589e9ab3d6843e9174a18732..7e2a61dfd935661731b3dc85eb1b5d12c6eb10bd 100644
--- a/src/plugins/wp/Pcfg.mli
+++ b/src/plugins/wp/Pcfg.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Pcond.ml b/src/plugins/wp/Pcond.ml
index 670f4171b09ae43e67c40a5e67ed35dcf6d1aa54..4f7d7f313c9e87d143496774a632407e655814f8 100644
--- a/src/plugins/wp/Pcond.ml
+++ b/src/plugins/wp/Pcond.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Pcond.mli b/src/plugins/wp/Pcond.mli
index b27e080ead5147df62eb96fc5627b669165cfbec..b56695f7fe66b75b3054816aa563f016f3964408 100644
--- a/src/plugins/wp/Pcond.mli
+++ b/src/plugins/wp/Pcond.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Plang.ml b/src/plugins/wp/Plang.ml
index 4b0b51a9b9dc3dd93704345b7e054731dcf285ff..95cbcbe5258c07f036e32983240b08f73e34a58e 100644
--- a/src/plugins/wp/Plang.ml
+++ b/src/plugins/wp/Plang.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Plang.mli b/src/plugins/wp/Plang.mli
index 4cc1a28b935b9fc3f115f846591bc755aa4b8961..e837b405c730cfe25267591416585d0879a26284 100644
--- a/src/plugins/wp/Plang.mli
+++ b/src/plugins/wp/Plang.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/PrecisionLoss.mli b/src/plugins/wp/PrecisionLoss.mli
index 31d3b148f6f60d0d2f895f6001ce9a1b1b99e92a..791197b43d9f8b4689339fa56331635712fe1820 100644
--- a/src/plugins/wp/PrecisionLoss.mli
+++ b/src/plugins/wp/PrecisionLoss.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProofEngine.ml b/src/plugins/wp/ProofEngine.ml
index 299b800d8ce44ae72a68db4e2b25c04617c67aeb..e3db17f70e4b0eb0ef694c329fa4e3c10eaf5b05 100644
--- a/src/plugins/wp/ProofEngine.ml
+++ b/src/plugins/wp/ProofEngine.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProofEngine.mli b/src/plugins/wp/ProofEngine.mli
index fb6f88aa0b4871cc3fa33033bcea4597e4aee0d0..5d6e1f26afcc9628b824c27f09dea0659fce7bb8 100644
--- a/src/plugins/wp/ProofEngine.mli
+++ b/src/plugins/wp/ProofEngine.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProofScript.ml b/src/plugins/wp/ProofScript.ml
index d3d6b9c26f6aed8e5e2dfe5edecdf31f8f48c988..ef8404c41bd0541a3b2f4d35cfca3e33fafb11bb 100644
--- a/src/plugins/wp/ProofScript.ml
+++ b/src/plugins/wp/ProofScript.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -91,7 +91,7 @@ let pattern p =
 let occur p t =
   Footprint.locate ~inside:(Lang.F.e_prop p) ~select:t
 
-let j_select s = "select" , Json.String s
+let j_select s = "select" , `String s
 let j_goal = j_select "clause-goal"
 let j_step = j_select "clause-step"
 let j_ingoal = j_select "inside-goal"
@@ -99,51 +99,51 @@ let j_instep = j_select "inside-step"
 let j_compose = j_select "compose"
 let j_kint = j_select "kint"
 let j_range = j_select "range"
-let j_id a = "id" , Json.String a
-let j_at s = "at" , Json.Int s.id
-let j_int z = "val" , Json.String (Integer.to_string z)
-let j_min a = "min" , Json.Int a
-let j_max b = "max" , Json.Int b
-let j_kind s = "kind" , Json.String (s_kind s)
-let j_pattern p = "pattern" , Json.String p
+let j_id a = "id" , `String a
+let j_at s = "at" , `Int s.id
+let j_int z = "val" , `String (Integer.to_string z)
+let j_min a = "min" , `Int a
+let j_max b = "max" , `Int b
+let j_kind s = "kind" , `String (s_kind s)
+let j_pattern p = "pattern" , `String p
 let j_ppattern p = j_pattern (pattern p)
-let j_occur k = "occur" , Json.Int k
+let j_occur k = "occur" , `Int k
 let j_pred p =
   let tgt = Pretty_utils.to_string Lang.F.pp_pred p in
-  "target" , Json.String tgt
+  "target" , `String tgt
 let j_term e =
   let tgt = Pretty_utils.to_string Lang.F.pp_term e in
-  "target" , Json.String tgt
+  "target" , `String tgt
 
 let rec json_of_selection = function
 
-  | Empty -> Json.Null
+  | Empty -> `Null
   | Compose code -> json_of_compose code
 
   | Clause (Goal p) ->
-      Json.(Assoc[ j_goal ; j_pred p ; j_ppattern p ])
+      `Assoc[ j_goal ; j_pred p ; j_ppattern p ]
 
   | Clause (Step s) ->
       let p = Conditions.head s in
-      Json.(Assoc[ j_step ; j_at s ; j_kind s ; j_pred p ; j_ppattern p ])
+      `Assoc[ j_step ; j_at s ; j_kind s ; j_pred p ; j_ppattern p ]
 
   | Inside(Goal p,e) ->
       let n,m = occur p e in
-      Json.(Assoc [ j_ingoal ; j_occur n ; j_term e ; j_pattern m ])
+      `Assoc [ j_ingoal ; j_occur n ; j_term e ; j_pattern m ]
 
   | Inside(Step s,e) ->
       let n,m = occur (Conditions.head s) e in
-      Json.(Assoc [ j_instep ; j_at s ; j_kind s ; j_occur n ;
-                    j_term e ; j_pattern m ])
+      `Assoc [ j_instep ; j_at s ; j_kind s ; j_occur n ;
+               j_term e ; j_pattern m ]
 
 and j_args = function
   | [] -> []
-  | es -> ["args" , Json.Array (List.map json_of_selection es)]
+  | es -> ["args" , `List (List.map json_of_selection es)]
 
 and json_of_compose = function
-  | Cint a -> Json.(Assoc [j_kint ; j_int a])
-  | Range(a,b) -> Json.(Assoc [j_range ; j_min a ; j_max b])
-  | Code(_,id,es) -> Json.(Assoc (j_compose :: j_id id :: j_args es))
+  | Cint a -> `Assoc [j_kint ; j_int a]
+  | Range(a,b) -> `Assoc [j_range ; j_min a ; j_max b]
+  | Code(_,id,es) -> `Assoc (j_compose :: j_id id :: j_args es)
 
 (* -------------------------------------------------------------------------- *)
 (* --- Json to Selection                                                  --- *)
@@ -193,12 +193,12 @@ let rec selection_of_json ((hs,g) as s : sequent) js =
 let selection_target js = js >? "target" |> Json.string
 
 let json_of_named = function
-  | None -> Json.Null
+  | None -> `Null
   | Some a ->
-      Json.Assoc Tactical.[
-          "id" , Json.String a.vid ;
-          "title" , Json.String a.title ;
-          "descr" , Json.String a.descr ;
+      `Assoc Tactical.[
+          "id" , `String a.vid ;
+          "title" , `String a.title ;
+          "descr" , `String a.descr ;
         ]
 
 let named_of_json find js =
@@ -219,7 +219,7 @@ let json_of_param (tac : tactical) = function
   | Spinner(fd,_) -> ident fd , Json.of_int (tac#get_field fd)
   | Composer(fd,_) -> ident fd , json_of_selection (tac#get_field fd)
   | Selector(fd,options,equal) ->
-      ident fd , Json.String
+      ident fd , `String
         begin
           try
             let a = tac#get_field fd in
@@ -260,7 +260,7 @@ let param_of_json (tac : tactical) seq js = function
         end
 
 let json_of_parameters (tac : tactical) =
-  Json.Assoc (List.map (json_of_param tac) tac#params)
+  `Assoc (List.map (json_of_param tac) tac#params)
 
 let parameters_of_json (tac : tactical) sequent js =
   List.iter (param_of_json tac sequent js) tac#params
@@ -285,27 +285,27 @@ let jtactic ~title (tac : tactical) (sel : selection) =
   }
 
 let json_of_tactic t js =
-  Json.(Assoc [
-      "header" , Json.String t.header ;
-      "tactic" , Json.String t.tactic ;
-      "params" , t.params ;
-      "select" , t.select ;
-      "children" , Json.Assoc js ;
-    ])
+  `Assoc [
+    "header" , `String t.header ;
+    "tactic" , `String t.tactic ;
+    "params" , t.params ;
+    "select" , t.select ;
+    "children" , `Assoc js ;
+  ]
 
 let children_of_json = function
-  | Json.Array js ->
+  | `List js ->
       Wp_parameters.warning ~current:false ~once:true
         "Deprecated script(s) found ; consider using prover 'tip'" ;
       List.map (fun j -> "",j) js
-  | Json.Assoc fs -> fs
+  | `Assoc fs -> fs
   | _ -> []
 let tactic_of_json js =
   try
     let header = js >? "header" |> Json.string in
     let tactic = js >? "tactic" |> Json.string in
-    let params = try js >? "params" with Not_found -> Json.Null in
-    let select = try js >? "select" with Not_found -> Json.Null in
+    let params = try js >? "params" with Not_found -> `Null in
+    let select = try js >? "select" with Not_found -> `Null in
     let children = try js >? "children" |> children_of_json with Not_found -> [] in
     Some( { header ; tactic ; params ; select } , children )
   with _ -> None
@@ -315,31 +315,31 @@ let tactic_of_json js =
 (* -------------------------------------------------------------------------- *)
 
 let json_of_verdict = function
-  | VCS.NoResult | VCS.Checked | VCS.Computing _ -> Json.String "none"
-  | VCS.Valid -> Json.String "valid"
-  | VCS.Unknown -> Json.String "unknown"
-  | VCS.Timeout -> Json.String "timeout"
-  | VCS.Stepout -> Json.String "stepout"
-  | VCS.Invalid -> Json.String "invalid"
-  | VCS.Failed -> Json.String "failed"
+  | VCS.NoResult | VCS.Checked | VCS.Computing _ -> `String "none"
+  | VCS.Valid -> `String "valid"
+  | VCS.Unknown -> `String "unknown"
+  | VCS.Timeout -> `String "timeout"
+  | VCS.Stepout -> `String "stepout"
+  | VCS.Invalid -> `String "invalid"
+  | VCS.Failed -> `String "failed"
 
 let verdict_of_json = function
-  | Json.String "valid" -> VCS.Valid
-  | Json.String "unknown" -> VCS.Unknown
-  | Json.String "timeout" -> VCS.Timeout
-  | Json.String "stepout" -> VCS.Stepout
-  | Json.String "invalid" -> VCS.Invalid
-  | Json.String "failed" -> VCS.Failed
+  | `String "valid" -> VCS.Valid
+  | `String "unknown" -> VCS.Unknown
+  | `String "timeout" -> VCS.Timeout
+  | `String "stepout" -> VCS.Stepout
+  | `String "invalid" -> VCS.Invalid
+  | `String "failed" -> VCS.Failed
   | _ -> VCS.NoResult
 
 let json_of_result (p : VCS.prover) (r : VCS.result) =
   let open VCS in
-  let name = "prover" , Json.String (VCS.name_of_prover p) in
+  let name = "prover" , `String (VCS.name_of_prover p) in
   let verdict = "verdict" , json_of_verdict r.verdict in
-  let time = if r.prover_time > 0.0 then [ "time" , Json.Float r.prover_time ] else [] in
-  let steps = if r.prover_steps > 0 then [ "steps" , Json.Int r.prover_steps ] else [] in
-  let depth = if r.prover_depth > 0 then [ "depth" , Json.Int r.prover_depth ] else [] in
-  Json.Assoc (name :: verdict :: (time @ steps @ depth))
+  let time = if r.prover_time > 0.0 then [ "time" , `Float r.prover_time ] else [] in
+  let steps = if r.prover_steps > 0 then [ "steps" , `Int r.prover_steps ] else [] in
+  let depth = if r.prover_depth > 0 then [ "depth" , `Int r.prover_depth ] else [] in
+  `Assoc (name :: verdict :: (time @ steps @ depth))
 
 let prover_of_json js =
   try VCS.prover_of_name (js >? "prover" |> Json.string)
@@ -389,8 +389,8 @@ let a_tactic tac children = Tactic(subgoals 0 children,tac,children)
 (* -------------------------------------------------------------------------- *)
 
 let rec decode = function
-  | Json.Null -> []
-  | Json.Array alts -> List.map alternative alts
+  | `Null -> []
+  | `List alts -> List.map alternative alts
   | js -> [Error("Invalid Script",js)]
 
 and subscript (key,js) = key , decode js
@@ -404,7 +404,7 @@ and alternative js =
           a_tactic tactic (List.map subscript children)
       | None -> Error("Invalid Tactic",js)
 
-let rec encode script = Json.Array (alternatives script)
+let rec encode script = `List (alternatives script)
 
 and subgoal (k,alt) = k , encode alt
 
diff --git a/src/plugins/wp/ProofScript.mli b/src/plugins/wp/ProofScript.mli
index 40e193974f68eaab8d30b4d118cd4c6c34f142e0..3d82fbe6cada5d69e5eeeed88bff6889ffd1b59e 100644
--- a/src/plugins/wp/ProofScript.mli
+++ b/src/plugins/wp/ProofScript.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProofSession.ml b/src/plugins/wp/ProofSession.ml
index 4806d19fff05fd0d5a4fd99b110d7a1eb054d5ec..987c4639ad8d4b8c777ee91becefde37f6c5a577 100644
--- a/src/plugins/wp/ProofSession.ml
+++ b/src/plugins/wp/ProofSession.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -40,13 +40,13 @@ let exists wpo =
 
 let load wpo =
   let f = filename wpo in
-  if Sys.file_exists f then Json.load_file f else Json.Null
+  if Sys.file_exists f then Json.load_file f else `Null
 
 let save wpo js =
   let f = filename wpo in
   let empty =
     match js with
-    | Json.Null | Json.Array [] | Json.Assoc [] -> true
+    | `Null | `List [] | `Assoc [] -> true
     | _ -> false
   in
   ( if empty
diff --git a/src/plugins/wp/ProofSession.mli b/src/plugins/wp/ProofSession.mli
index 27529560620f52fce540db2bd9d3a93f164a5d4f..3abe47aa97b9d894a8dd3b947f34e90afef942b8 100644
--- a/src/plugins/wp/ProofSession.mli
+++ b/src/plugins/wp/ProofSession.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProverCoq.ml b/src/plugins/wp/ProverCoq.ml
index 586e793483fde89f784770d83c44c736ed8c6b64..8a74ab1f2dc03ab707fc31e57643dc9bedf8df9d 100644
--- a/src/plugins/wp/ProverCoq.ml
+++ b/src/plugins/wp/ProverCoq.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProverCoq.mli b/src/plugins/wp/ProverCoq.mli
index 717096886f2ef60a5c7c577ec99fb042dc589ac2..d34debd31a41638c55677c2587fd6b7180cfc5cf 100644
--- a/src/plugins/wp/ProverCoq.mli
+++ b/src/plugins/wp/ProverCoq.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProverErgo.ml b/src/plugins/wp/ProverErgo.ml
index 1700574ccac638588a4346bf485518d3d00d577c..cd1dab60a3bfd292dd297f033da95bbafb695967 100644
--- a/src/plugins/wp/ProverErgo.ml
+++ b/src/plugins/wp/ProverErgo.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProverErgo.mli b/src/plugins/wp/ProverErgo.mli
index 619b62a2fcf0ae19954dafb1e5b8fb0f3e7bcc91..9813d0c76cec4ea97bb9abe3ce1cdb47525d67ef 100644
--- a/src/plugins/wp/ProverErgo.mli
+++ b/src/plugins/wp/ProverErgo.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProverScript.ml b/src/plugins/wp/ProverScript.ml
index 14b162a84018a4bfe0bb452716afff0662839740..153da7b96ef104963c41ef5fe1088dcb6e3b82ee 100644
--- a/src/plugins/wp/ProverScript.ml
+++ b/src/plugins/wp/ProverScript.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProverScript.mli b/src/plugins/wp/ProverScript.mli
index 7b5d1d33e15800629d57f3f5064d64222fe88a8a..b11248551cce6c8b7aeaa917557d8c5f67f4077c 100644
--- a/src/plugins/wp/ProverScript.mli
+++ b/src/plugins/wp/ProverScript.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProverSearch.ml b/src/plugins/wp/ProverSearch.ml
index f9b7bb718eb7787e4835fa9701d6b1aaa4fef6eb..d64e003cc1b4a06f50e3e9fe72c445f47aaa3036 100644
--- a/src/plugins/wp/ProverSearch.ml
+++ b/src/plugins/wp/ProverSearch.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProverSearch.mli b/src/plugins/wp/ProverSearch.mli
index 40fa69dc15d713055b3d901ab20b3ec8994dcb22..b676f64053737308a38f1cf4f773832704a629b2 100644
--- a/src/plugins/wp/ProverSearch.mli
+++ b/src/plugins/wp/ProverSearch.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProverTask.ml b/src/plugins/wp/ProverTask.ml
index 6d8713e3ec8b00aa1f56b700a35505b9aa4bc985..69aa5ea1cd391c6ac1dbbae0653f96a040f495bb 100644
--- a/src/plugins/wp/ProverTask.ml
+++ b/src/plugins/wp/ProverTask.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProverTask.mli b/src/plugins/wp/ProverTask.mli
index d6ed40de78f109f05a8e4613bcc80aa8c39d9d43..e3a567f91212221236f292dfc94a84c68dbf91bf 100644
--- a/src/plugins/wp/ProverTask.mli
+++ b/src/plugins/wp/ProverTask.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProverWhy3.ml b/src/plugins/wp/ProverWhy3.ml
index 8ef36dceb89fef288894fab01853fd4c976ae8c7..4480ea68e99f8fb138ab27deed9f3208e2ce5a04 100644
--- a/src/plugins/wp/ProverWhy3.ml
+++ b/src/plugins/wp/ProverWhy3.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProverWhy3.mli b/src/plugins/wp/ProverWhy3.mli
index 9aec91ec09c4e8329bb17c68fcacd26fa1f78aba..bab64eec2e2a1e150f9c44b5e766031f49c3408f 100644
--- a/src/plugins/wp/ProverWhy3.mli
+++ b/src/plugins/wp/ProverWhy3.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProverWhy3ide.ml b/src/plugins/wp/ProverWhy3ide.ml
index 43d88028dd1fc67a776569bc8e3366e9b6becece..1a39a76e959913e04f5434c8a1603ca0fef2a5d9 100644
--- a/src/plugins/wp/ProverWhy3ide.ml
+++ b/src/plugins/wp/ProverWhy3ide.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ProverWhy3ide.mli b/src/plugins/wp/ProverWhy3ide.mli
index b24ae6931a03ee6f1c47ae58e66a3e9c3a55bbfc..04144226000fe0c14c17942edd512adb605b08b7 100644
--- a/src/plugins/wp/ProverWhy3ide.mli
+++ b/src/plugins/wp/ProverWhy3ide.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/RefUsage.ml b/src/plugins/wp/RefUsage.ml
index baf1635677625eda34dd5acd8b975e4cc31683f3..b8781dce07e38ae0dec39ff8f93a169c0d40e891 100644
--- a/src/plugins/wp/RefUsage.ml
+++ b/src/plugins/wp/RefUsage.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/RefUsage.mli b/src/plugins/wp/RefUsage.mli
index 59208b07c41d717d59337fa657ea63a67077f290..7a50bebcd53f2583d69fbabd16f295037295320e 100644
--- a/src/plugins/wp/RefUsage.mli
+++ b/src/plugins/wp/RefUsage.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Region.ml b/src/plugins/wp/Region.ml
index 36c8d006275d1eb7ef5be50259f63fc29d945e2f..22813de5c12093676432f308fbce7fec0de96961 100644
--- a/src/plugins/wp/Region.ml
+++ b/src/plugins/wp/Region.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Region.mli b/src/plugins/wp/Region.mli
index 60f91992634bc5fc29b11716e1ba97f1c44e103f..f7a5eba2289224f8072eb1b563eae5d56859b1c3 100644
--- a/src/plugins/wp/Region.mli
+++ b/src/plugins/wp/Region.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Repr.ml b/src/plugins/wp/Repr.ml
index 07994f7d6c93ec03a95748cb4be6869f795fc281..e10b247a8389fad67e374541ce5a8084011ce5cc 100644
--- a/src/plugins/wp/Repr.ml
+++ b/src/plugins/wp/Repr.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Repr.mli b/src/plugins/wp/Repr.mli
index 3684d5a9c617831d81f0a4a1cf533ec6d9af8f55..2719bc5d1e0de0d798bc5aa75af55cdf70cef4ed 100644
--- a/src/plugins/wp/Repr.mli
+++ b/src/plugins/wp/Repr.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Sigma.ml b/src/plugins/wp/Sigma.ml
index baa5036369a9f8665c7de7107236203efb929ba4..08e6a595ad964ff8820e01ffa6bfa5736e51e6ad 100644
--- a/src/plugins/wp/Sigma.ml
+++ b/src/plugins/wp/Sigma.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Sigma.mli b/src/plugins/wp/Sigma.mli
index d40b74ac52ded7b667dbf645419aa8b51fb0d326..8d8742b4ce1dd27f5de80eecea4d11982fc7c16f 100644
--- a/src/plugins/wp/Sigma.mli
+++ b/src/plugins/wp/Sigma.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Sigs.ml b/src/plugins/wp/Sigs.ml
index 13b0d563d5680e5351ade772a77dfe280703f6b1..aa49e4f9d21b6052dbb868d93dfa3573905c5624 100644
--- a/src/plugins/wp/Sigs.ml
+++ b/src/plugins/wp/Sigs.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Splitter.ml b/src/plugins/wp/Splitter.ml
index a2d1c4e4f5c99afb82679be828377f18e9146bb8..9ac78de77206ef6f1c7f1dc2d95e54cb5865706c 100644
--- a/src/plugins/wp/Splitter.ml
+++ b/src/plugins/wp/Splitter.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Splitter.mli b/src/plugins/wp/Splitter.mli
index 13210d09cdb36ad5c4f6b54c1430600cde3dcd90..d59800cb138ff4eaa6fb9aca294612e7bc73ea2f 100644
--- a/src/plugins/wp/Splitter.mli
+++ b/src/plugins/wp/Splitter.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/StmtSemantics.ml b/src/plugins/wp/StmtSemantics.ml
index b4fb518b70ec30ec154bd222b573e2de5a149780..dcfe6882c457142db1f40bb156ea742e8f894c3e 100644
--- a/src/plugins/wp/StmtSemantics.ml
+++ b/src/plugins/wp/StmtSemantics.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/StmtSemantics.mli b/src/plugins/wp/StmtSemantics.mli
index f3491ffbc32a9a3eb64ed589cdb218348ee72343..13229d3eca7cc5f8316725f0158305a3d3c45c2f 100644
--- a/src/plugins/wp/StmtSemantics.mli
+++ b/src/plugins/wp/StmtSemantics.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Strategy.ml b/src/plugins/wp/Strategy.ml
index 735d4d57f6bb1dab8025e86670aafe6a4d100f82..b6073824dd1f12a63fc3e91e3d40f4575334e0c1 100644
--- a/src/plugins/wp/Strategy.ml
+++ b/src/plugins/wp/Strategy.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Strategy.mli b/src/plugins/wp/Strategy.mli
index 3c0269e9599d9c50ed1d0ecf2bb7d2e8ab988a3c..2a300ed788ecf9051c6323e53e759262116aa6bd 100644
--- a/src/plugins/wp/Strategy.mli
+++ b/src/plugins/wp/Strategy.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacArray.ml b/src/plugins/wp/TacArray.ml
index b83e81117819b1f8d593d87940dea3499fddc5b0..75afbd5a1fd4ac38f87955c3e0e0682bb7115286 100644
--- a/src/plugins/wp/TacArray.ml
+++ b/src/plugins/wp/TacArray.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacArray.mli b/src/plugins/wp/TacArray.mli
index a850b51846ad23c6f5964ff787860a0491ee96e6..c52954283c763abd95e81d7ed88aecdbe6c3116c 100644
--- a/src/plugins/wp/TacArray.mli
+++ b/src/plugins/wp/TacArray.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacBitrange.ml b/src/plugins/wp/TacBitrange.ml
index 00e380b61c663a8aef459a88e0e9290b26863b90..5457327db1e555ac1cbdf6e57504dae280ca5e3f 100644
--- a/src/plugins/wp/TacBitrange.ml
+++ b/src/plugins/wp/TacBitrange.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacBitrange.mli b/src/plugins/wp/TacBitrange.mli
index 79b9f82284e2e6c614c921fec87e7765ac8877ad..a4fa439a552f24e965b62239ecce4962709f578c 100644
--- a/src/plugins/wp/TacBitrange.mli
+++ b/src/plugins/wp/TacBitrange.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacBitwised.ml b/src/plugins/wp/TacBitwised.ml
index d1bc1e447e431b55d53a021b29511e538d4c05c9..bf9604878cc9858d958d7d8fde96ac300cfd9983 100644
--- a/src/plugins/wp/TacBitwised.ml
+++ b/src/plugins/wp/TacBitwised.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacBitwised.mli b/src/plugins/wp/TacBitwised.mli
index 4ebd459e6137d2c2f3b412f650a666f3b9b9b046..d29a1f41eb6a645a0d2fe13e7b78383034e966ae 100644
--- a/src/plugins/wp/TacBitwised.mli
+++ b/src/plugins/wp/TacBitwised.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacChoice.ml b/src/plugins/wp/TacChoice.ml
index 4caf660d5d40ffca455d9e6e3231849d507dab58..3830bf76446d3bb1ef4dfe1ad3c208d963d634ae 100644
--- a/src/plugins/wp/TacChoice.ml
+++ b/src/plugins/wp/TacChoice.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacChoice.mli b/src/plugins/wp/TacChoice.mli
index c9e12fb84af58b9914bfae15a8966d8f8db4ceba..8fc397543632c83a5bc4f0f1e1df2d2ed366d329 100644
--- a/src/plugins/wp/TacChoice.mli
+++ b/src/plugins/wp/TacChoice.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacCompound.ml b/src/plugins/wp/TacCompound.ml
index c05be6ffc4fd0de28de90d4e30bcadd4ab33d259..09df4884d9a6f336b4fb2dcbaf03c87d402593bd 100644
--- a/src/plugins/wp/TacCompound.ml
+++ b/src/plugins/wp/TacCompound.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacCompound.mli b/src/plugins/wp/TacCompound.mli
index 696dd3e6e484282d186e2cbe343913351f25b8f8..3fe87bcac185a0f305007b34c43899843cd362fe 100644
--- a/src/plugins/wp/TacCompound.mli
+++ b/src/plugins/wp/TacCompound.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacCongruence.ml b/src/plugins/wp/TacCongruence.ml
index fbe1ba9475dfcff66ad0d0d2069413bbf6272bc4..b59a7a2812042e786ec62ab27703787c46789d1b 100644
--- a/src/plugins/wp/TacCongruence.ml
+++ b/src/plugins/wp/TacCongruence.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacCongruence.mli b/src/plugins/wp/TacCongruence.mli
index 5ac37e0ae6f273878b93fe3fd9d90fd0420381e9..f1c7d0590ce7fa3046efe3ddd3bfc8eda9068fbb 100644
--- a/src/plugins/wp/TacCongruence.mli
+++ b/src/plugins/wp/TacCongruence.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacCut.ml b/src/plugins/wp/TacCut.ml
index 774f04d8a143e71e1db05747bf9084cf6b12556a..6981c8c72d41faf7184e41bf3483a49938d321cf 100644
--- a/src/plugins/wp/TacCut.ml
+++ b/src/plugins/wp/TacCut.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacCut.mli b/src/plugins/wp/TacCut.mli
index 093381d6b62dd55bc75de3c0ba793247816f57bd..84cb92ec1560107af8f61f91348f08413bf3cb2d 100644
--- a/src/plugins/wp/TacCut.mli
+++ b/src/plugins/wp/TacCut.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacFilter.ml b/src/plugins/wp/TacFilter.ml
index f2391b7f0a56a6f38667ecab39c5cbae49acd0a7..cf3ecd9b02ee747e73d53df18b22191fb940b64e 100644
--- a/src/plugins/wp/TacFilter.ml
+++ b/src/plugins/wp/TacFilter.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacFilter.mli b/src/plugins/wp/TacFilter.mli
index 1b3733a4e79a744ed9bb1fa89ff56c7be99b1347..57bda703c1e6b1a50da822431a2f7ebf6ff18b93 100644
--- a/src/plugins/wp/TacFilter.mli
+++ b/src/plugins/wp/TacFilter.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacHavoc.ml b/src/plugins/wp/TacHavoc.ml
index af07cc83ba3b30ad9640692ab661fbb06c1d2d48..ee2bbd7b4f0a68a8dc0ef47e36276d0cc8c58161 100644
--- a/src/plugins/wp/TacHavoc.ml
+++ b/src/plugins/wp/TacHavoc.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacHavoc.mli b/src/plugins/wp/TacHavoc.mli
index ff68b31046e7139c524926b53e8a717813c20e46..2ed3b403e084164a16fa9ea0f55a31c736348048 100644
--- a/src/plugins/wp/TacHavoc.mli
+++ b/src/plugins/wp/TacHavoc.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacInstance.ml b/src/plugins/wp/TacInstance.ml
index 2d67a9fe3eb56cc270d938fc86c8045ae5e79128..967dcf535d0331c4ccd7702d875e4f1bc242e02a 100644
--- a/src/plugins/wp/TacInstance.ml
+++ b/src/plugins/wp/TacInstance.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacInstance.mli b/src/plugins/wp/TacInstance.mli
index 6aff0c31237849e8a5c5b98e663ff1f22de328ff..46e523c1676e82d938b9e0bea9b1c5ba6871127b 100644
--- a/src/plugins/wp/TacInstance.mli
+++ b/src/plugins/wp/TacInstance.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacLemma.ml b/src/plugins/wp/TacLemma.ml
index be006412677d7e6a0ef4cfdb2cc10820813ec43f..25c018cb37beb7307df465f618bae90e8ec4de3f 100644
--- a/src/plugins/wp/TacLemma.ml
+++ b/src/plugins/wp/TacLemma.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacLemma.mli b/src/plugins/wp/TacLemma.mli
index ad94c79f3c9b2fc0c957d20e7f718d15114a28f1..b49efe7d0b9ad9a62df159b6dd4e6ce0c5c8dcbb 100644
--- a/src/plugins/wp/TacLemma.mli
+++ b/src/plugins/wp/TacLemma.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacNormalForm.ml b/src/plugins/wp/TacNormalForm.ml
index 8c60273928e830e80a9da4f161d4e74f2d7d189b..dcf50b0c272ba4e9e084b19fc5b2740a01b53b4b 100644
--- a/src/plugins/wp/TacNormalForm.ml
+++ b/src/plugins/wp/TacNormalForm.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacNormalForm.mli b/src/plugins/wp/TacNormalForm.mli
index 1974e0a08183d836e5cf61d7bfa350e313af95c2..a39885aba9ef120deba3fa0e960a6fa5f0b0b960 100644
--- a/src/plugins/wp/TacNormalForm.mli
+++ b/src/plugins/wp/TacNormalForm.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacOverflow.ml b/src/plugins/wp/TacOverflow.ml
index 2211c01d0a997662094a5350bd5049b824ecd64c..381d65d4b6c19362fd87c6d9543e78724cacde37 100644
--- a/src/plugins/wp/TacOverflow.ml
+++ b/src/plugins/wp/TacOverflow.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacOverflow.mli b/src/plugins/wp/TacOverflow.mli
index e0715ce030e50498b6e85206a655ce0e7b84be05..5de988d118ab85db58a65364d81c7fa1966894bc 100644
--- a/src/plugins/wp/TacOverflow.mli
+++ b/src/plugins/wp/TacOverflow.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacRange.ml b/src/plugins/wp/TacRange.ml
index 7d3bf33b2f9ff2cd945b92f06dcf91080fe84484..2a81ad9e22dbf580626632864f638669ab40f358 100644
--- a/src/plugins/wp/TacRange.ml
+++ b/src/plugins/wp/TacRange.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacRange.mli b/src/plugins/wp/TacRange.mli
index b7fb2ab4d382007b9167b15da83d736cfeb09103..f80ff64b08f13910b8c60a8884047ff34ce010d3 100644
--- a/src/plugins/wp/TacRange.mli
+++ b/src/plugins/wp/TacRange.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacRewrite.ml b/src/plugins/wp/TacRewrite.ml
index fcc85c76041223e01df08bd0bd047413d44c087b..d4c6f6f5b506d9ccdc4d82739d23661c249a0b68 100644
--- a/src/plugins/wp/TacRewrite.ml
+++ b/src/plugins/wp/TacRewrite.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacRewrite.mli b/src/plugins/wp/TacRewrite.mli
index d2c8573f1cfcbc81b89bf20767fc8f3ef9107711..20ec07370356d8384ff57d82d05d12e5ad3e1a84 100644
--- a/src/plugins/wp/TacRewrite.mli
+++ b/src/plugins/wp/TacRewrite.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacShift.ml b/src/plugins/wp/TacShift.ml
index b0f1e703bd3078538df372fe3951d9a9b5f81628..7f5cfe3bc98f8b18489027db420f373ebb2d11c3 100644
--- a/src/plugins/wp/TacShift.ml
+++ b/src/plugins/wp/TacShift.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacShift.mli b/src/plugins/wp/TacShift.mli
index ad2ae98d235695b190ce7ed6487f7b378d4b90e2..79777a96c95bfc76ca437f679345797019d940d9 100644
--- a/src/plugins/wp/TacShift.mli
+++ b/src/plugins/wp/TacShift.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacSplit.ml b/src/plugins/wp/TacSplit.ml
index afb0697cc5fee18c304eb17e0b01d8fd6b03321a..88f3a2ba4ea3185fb46ef4a3e3ef311d597566cb 100644
--- a/src/plugins/wp/TacSplit.ml
+++ b/src/plugins/wp/TacSplit.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacSplit.mli b/src/plugins/wp/TacSplit.mli
index cc70aa16e992e42e93b42422207c017f746fb465..642b454f55dea80217d2bb00d13c4975b420a330 100644
--- a/src/plugins/wp/TacSplit.mli
+++ b/src/plugins/wp/TacSplit.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacUnfold.ml b/src/plugins/wp/TacUnfold.ml
index 8ba5d658865f37736c72867d6ca86c0b9e4f3647..bff1208655630614a4bee6cb0adebf08c1c5f037 100644
--- a/src/plugins/wp/TacUnfold.ml
+++ b/src/plugins/wp/TacUnfold.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/TacUnfold.mli b/src/plugins/wp/TacUnfold.mli
index d2bbcfd2475a1ef7db4a15998df2428525e69a42..f00c8c327de1f3a16b2c97b1f9aa52e1be2cf602 100644
--- a/src/plugins/wp/TacUnfold.mli
+++ b/src/plugins/wp/TacUnfold.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Tactical.ml b/src/plugins/wp/Tactical.ml
index 348a365b49a99987dea26e8a9aa28446459fb52d..ea1ddb3e2204769773cda32649bbe1cb7f37c1a4 100644
--- a/src/plugins/wp/Tactical.ml
+++ b/src/plugins/wp/Tactical.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Tactical.mli b/src/plugins/wp/Tactical.mli
index 8fccb158ad263c3fd7a0cd580b64d5ff986b0f13..33be0f4754ba4e587bd2f95763aab2a23695d491 100644
--- a/src/plugins/wp/Tactical.mli
+++ b/src/plugins/wp/Tactical.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/VC.ml b/src/plugins/wp/VC.ml
index 30b2466e0ce2316dbab1dc840b29b3f375760f10..e6d5f44f65d2efa3e7833864dd417ea8144a30a7 100644
--- a/src/plugins/wp/VC.ml
+++ b/src/plugins/wp/VC.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/VC.mli b/src/plugins/wp/VC.mli
index 68ee287b46d1441d11e6c4f5a622e783d83252ed..dc66384d1e015e323db4342fd4da7eb3c3642a99 100644
--- a/src/plugins/wp/VC.mli
+++ b/src/plugins/wp/VC.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/VCS.ml b/src/plugins/wp/VCS.ml
index da9e92384a7d1976425b0d19a79fbea6abe64a48..b343e24d20cc2adf85d9ac0559431dece966b38b 100644
--- a/src/plugins/wp/VCS.ml
+++ b/src/plugins/wp/VCS.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/VCS.mli b/src/plugins/wp/VCS.mli
index ec57f1c28e7e7729116643e924d77d7396790151..31bf3423feb10d9348c935eec2ebb1da760a911a 100644
--- a/src/plugins/wp/VCS.mli
+++ b/src/plugins/wp/VCS.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Vlist.ml b/src/plugins/wp/Vlist.ml
index be22ca3c670d9c900f280bffd3a599e8af39bf54..0f41386b7f696ae9ad8e59a6b8b908a7511ab2b0 100644
--- a/src/plugins/wp/Vlist.ml
+++ b/src/plugins/wp/Vlist.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Vlist.mli b/src/plugins/wp/Vlist.mli
index ad916e58c5fb7e1582cd35015e05096fffcfdecb..9034e2f51b679eedd41afa67da67a65b37d91a30 100644
--- a/src/plugins/wp/Vlist.mli
+++ b/src/plugins/wp/Vlist.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Vset.ml b/src/plugins/wp/Vset.ml
index 7e548639d0c22910ba4c9c37959fcbad17e32364..332d21564053f8d74466439c5f87463ba5bf6ccc 100644
--- a/src/plugins/wp/Vset.ml
+++ b/src/plugins/wp/Vset.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Vset.mli b/src/plugins/wp/Vset.mli
index 754ad413e111f4e7e1bc88172724c81e354abac6..24adee5e358e313e16234b89849af7dc3395ba9b 100644
--- a/src/plugins/wp/Vset.mli
+++ b/src/plugins/wp/Vset.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Warning.ml b/src/plugins/wp/Warning.ml
index 3463365aef5d3bcb470a1944c4024d98aabce5c6..56ea8e88b484eef4da87686ebfc3bd2894cf8b5d 100644
--- a/src/plugins/wp/Warning.ml
+++ b/src/plugins/wp/Warning.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/Warning.mli b/src/plugins/wp/Warning.mli
index b94a35fedfaab90265758650910ea2182e7b0c12..aab4aaf2381a10625db3d2e7679cf1cb5edbc2bf 100644
--- a/src/plugins/wp/Warning.mli
+++ b/src/plugins/wp/Warning.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/WpTac.ml b/src/plugins/wp/WpTac.ml
index e67b277f40d974414aaa76b6861b3f7abc01f7fe..b72f973b95c97bd72e4a14297262435664bd6321 100644
--- a/src/plugins/wp/WpTac.ml
+++ b/src/plugins/wp/WpTac.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/WpTac.mli b/src/plugins/wp/WpTac.mli
index 936a8b2b760627a12691725e26fb0ebc367273a3..8682944ddd37df4ebfbbc34a4d4e8727a123215c 100644
--- a/src/plugins/wp/WpTac.mli
+++ b/src/plugins/wp/WpTac.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/calculus.ml b/src/plugins/wp/calculus.ml
index 39dce31afc86afa3d3804a8d4eb07d2770d35bda..230dace2e5727c80212687e0b926520736b3ab67 100644
--- a/src/plugins/wp/calculus.ml
+++ b/src/plugins/wp/calculus.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/calculus.mli b/src/plugins/wp/calculus.mli
index deb69fb15b89b81fb6a7a817dd1bc46bdd64a1c0..77c10a0f39dd8bbb5c5595be87d6eed949e498aa 100644
--- a/src/plugins/wp/calculus.mli
+++ b/src/plugins/wp/calculus.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/cfgDump.ml b/src/plugins/wp/cfgDump.ml
index 897bce00902c16bfccc297786554e18b42945c23..371cb90b21a129cca4479c366fd8e26d0eee0a5b 100644
--- a/src/plugins/wp/cfgDump.ml
+++ b/src/plugins/wp/cfgDump.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/cfgDump.mli b/src/plugins/wp/cfgDump.mli
index af6037cdbfc3788f6156a5b56ed12729938b26c8..04f9097647d755639d46cc3edbf1635fe9fd0768 100644
--- a/src/plugins/wp/cfgDump.mli
+++ b/src/plugins/wp/cfgDump.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/cfgWP.ml b/src/plugins/wp/cfgWP.ml
index 83d95408e127e211c2446b2bccb844ec58468ac5..85897e1e65142736d1c019c05f54bf5b72c36a53 100644
--- a/src/plugins/wp/cfgWP.ml
+++ b/src/plugins/wp/cfgWP.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/cfgWP.mli b/src/plugins/wp/cfgWP.mli
index 5f3ed7721dff82edb34aac4648435fb824d9d19a..c603d0a40b1b3f937a0a60fc5d1106da30824daa 100644
--- a/src/plugins/wp/cfgWP.mli
+++ b/src/plugins/wp/cfgWP.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/cil2cfg.ml b/src/plugins/wp/cil2cfg.ml
index 19876997077b748688806a8a1b19218097353187..3129f58100673b091f21bd77f6bcfd127b4f18e3 100644
--- a/src/plugins/wp/cil2cfg.ml
+++ b/src/plugins/wp/cil2cfg.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/cil2cfg.mli b/src/plugins/wp/cil2cfg.mli
index 63bf154358b85de2a30183b2b05b388bb9487ec0..b4745c1b54092f55f775d6e9bc6683fe996e07e8 100644
--- a/src/plugins/wp/cil2cfg.mli
+++ b/src/plugins/wp/cil2cfg.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/clabels.ml b/src/plugins/wp/clabels.ml
index 67535e8a548acbcbd839cda72ca782823fd0fe11..6f206491c3910172c486f10b3c0ea58a3618b13f 100644
--- a/src/plugins/wp/clabels.ml
+++ b/src/plugins/wp/clabels.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/clabels.mli b/src/plugins/wp/clabels.mli
index 0e2f8aaa9fb802a69c31da12fd6b187857541d49..0a8ada54b2b7fecf420d36976a4a71d84d48a040 100644
--- a/src/plugins/wp/clabels.mli
+++ b/src/plugins/wp/clabels.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/configure.ac b/src/plugins/wp/configure.ac
index 6d2ab918c450efc9aadbec402442e493a3167fde..34e1e4f5c31bd0867370339e34434154a520a7ae 100644
--- a/src/plugins/wp/configure.ac
+++ b/src/plugins/wp/configure.ac
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of WP plug-in of Frama-C.                           #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat a l'energie atomique et aux energies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/wp/ctypes.ml b/src/plugins/wp/ctypes.ml
index e69adacd6d6ca11a6ef1981ea1356744a44ea62f..34c76d1ff2e5b49184aab55d7def49df1df0ab4d 100644
--- a/src/plugins/wp/ctypes.ml
+++ b/src/plugins/wp/ctypes.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/ctypes.mli b/src/plugins/wp/ctypes.mli
index 74ef9d6c733501004663be7f226c5f941f9b39c9..234bd3119eb79ed5bc5344a58d82893f6c5927a5 100644
--- a/src/plugins/wp/ctypes.mli
+++ b/src/plugins/wp/ctypes.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/driver.mli b/src/plugins/wp/driver.mli
index bc8b58117c3287489c233f81f696570d1f30e11a..b705e56ba7484b88e32c26414ef12d2760748edd 100644
--- a/src/plugins/wp/driver.mli
+++ b/src/plugins/wp/driver.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/driver.mll b/src/plugins/wp/driver.mll
index 5d9945e79d03917902c6ab8df305b359c4323b31..e606dddb652c89d0862d82e3129d8df454ab9b61 100644
--- a/src/plugins/wp/driver.mll
+++ b/src/plugins/wp/driver.mll
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/dyncall.ml b/src/plugins/wp/dyncall.ml
index f57519b8a90a040bf015dd752be2a55db8fe54cd..9abd9d6a833d8f352692f06832fe3eae47ee0ef5 100644
--- a/src/plugins/wp/dyncall.ml
+++ b/src/plugins/wp/dyncall.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/dyncall.mli b/src/plugins/wp/dyncall.mli
index 823c5c331becabe26776c2f75cf3ed3127ae7890..497ee779a18d1d20888416b69fd33fae4161988e 100644
--- a/src/plugins/wp/dyncall.mli
+++ b/src/plugins/wp/dyncall.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/intro_wp.txt b/src/plugins/wp/intro_wp.txt
index 8377d437fcc8157571186bb98a01de36af1da2b6..4c26d7bdb6bc9ab4d67e39d2d6303a13ddf6ec7c 100644
--- a/src/plugins/wp/intro_wp.txt
+++ b/src/plugins/wp/intro_wp.txt
@@ -2,7 +2,7 @@
 #*                                                                        #
 #*  This file is part of WP plug-in of Frama-C.                           #
 #*                                                                        #
-#*  Copyright (C) 2007-2018                                               #
+#*  Copyright (C) 2007-2019                                               #
 #*    CEA (Commissariat a l'energie atomique et aux energies              #
 #*         alternatives)                                                  #
 #*                                                                        #
diff --git a/src/plugins/wp/mcfg.ml b/src/plugins/wp/mcfg.ml
index 9886e5dbacd97e2304ab5fa079b8fd4484ea019c..164dbe527ed68523d513576da8f808b9e06e4aab 100644
--- a/src/plugins/wp/mcfg.ml
+++ b/src/plugins/wp/mcfg.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/normAtLabels.ml b/src/plugins/wp/normAtLabels.ml
index 7ac3524fb985f798a72e3e52c7ecabe304b428b4..1cdc9f56cb6bab7402b7a4c9827a77fa0ed8766e 100644
--- a/src/plugins/wp/normAtLabels.ml
+++ b/src/plugins/wp/normAtLabels.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/normAtLabels.mli b/src/plugins/wp/normAtLabels.mli
index 17f1fc5c6e7d0e3334e6aafb0b45dd48bc133edf..aa179c41644f6f36800e17a706218496fa4c482f 100644
--- a/src/plugins/wp/normAtLabels.mli
+++ b/src/plugins/wp/normAtLabels.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/proof.ml b/src/plugins/wp/proof.ml
index b3adf5eb650cae1da7e258c99650f45e550f7b6b..3726f133c873b1434f5f7282b1d064b8af8fcb7a 100644
--- a/src/plugins/wp/proof.ml
+++ b/src/plugins/wp/proof.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/proof.mli b/src/plugins/wp/proof.mli
index fb49ad4dbcb0f39c1256c97c6afc4dcae0d435d7..21937e8fc7add30c49e1a3d2f633d1123c7ac390 100644
--- a/src/plugins/wp/proof.mli
+++ b/src/plugins/wp/proof.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/prover.ml b/src/plugins/wp/prover.ml
index 09b4b33fa8a10f1d205e47fd8de40a152fb20ffe..4de85cbcd9ab13a9ffdbc5ed2c8f883adcdd26d3 100644
--- a/src/plugins/wp/prover.ml
+++ b/src/plugins/wp/prover.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/prover.mli b/src/plugins/wp/prover.mli
index 9408e8c098567cd72c5bfc1b1e9e068946954b42..1caf0d7975fd98d1e175ba185e00e0650ee751d9 100644
--- a/src/plugins/wp/prover.mli
+++ b/src/plugins/wp/prover.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/register.ml b/src/plugins/wp/register.ml
index ec3d2dba16251de491624feb6e7d9ab67bc7e73e..ae5dcd02429cb933efa456d8861aebe6664703c3 100644
--- a/src/plugins/wp/register.ml
+++ b/src/plugins/wp/register.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/rformat.mli b/src/plugins/wp/rformat.mli
index 4e118c046e7e5242f81175c23ae1b7a4dc90e3f8..331f337aa566077a45835579da01ad884d66439e 100644
--- a/src/plugins/wp/rformat.mli
+++ b/src/plugins/wp/rformat.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/rformat.mll b/src/plugins/wp/rformat.mll
index 0bd4bd6119effb10c9a63568d95326a9091e0a25..93f6b07b87a0c534fcdc7830a703bcdd454a031c 100644
--- a/src/plugins/wp/rformat.mll
+++ b/src/plugins/wp/rformat.mll
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/script.mli b/src/plugins/wp/script.mli
index a3a612b0589d9a0534a425594a01f736b8f188bb..aad82526be04e2d64ae2817e2121fb0eb0032a3a 100644
--- a/src/plugins/wp/script.mli
+++ b/src/plugins/wp/script.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/script.mll b/src/plugins/wp/script.mll
index f46ed4a4bee38cdce4a7dd10c0c9502c31286082..eb43bce3b04c7bacb77452896f62df0872e919c4 100644
--- a/src/plugins/wp/script.mll
+++ b/src/plugins/wp/script.mll
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/Makefile b/src/plugins/wp/share/Makefile
index e3f3adc47302bcb6349524fcb28cb6e44a0016d5..8834bbe28cdb4252efc102cc0eb44d6ddf50686d 100644
--- a/src/plugins/wp/share/Makefile
+++ b/src/plugins/wp/share/Makefile
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of WP plug-in of Frama-C.                           #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat a l'energie atomique et aux energies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/wp/share/Makefile.headers b/src/plugins/wp/share/Makefile.headers
index 15b5a15fbdda51d097df9914d81d9baac49278a1..e48d5f78831683203dcfc6075d1f7536394c2f0a 100644
--- a/src/plugins/wp/share/Makefile.headers
+++ b/src/plugins/wp/share/Makefile.headers
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of WP plug-in of Frama-C.                           #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat a l'energie atomique et aux energies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/wp/share/Makefile.resources b/src/plugins/wp/share/Makefile.resources
index 01873c5711b1b2a1519b1f38665d54f9d72872cf..ea63e1e894360f056b5fc4133a0d97cf40ab1b01 100644
--- a/src/plugins/wp/share/Makefile.resources
+++ b/src/plugins/wp/share/Makefile.resources
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of WP plug-in of Frama-C.                           #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat a l'energie atomique et aux energies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/wp/share/coqwp/ArcTrigo.v b/src/plugins/wp/share/coqwp/ArcTrigo.v
index 06792c17090829913a7658625e115732bfbb9ea2..b5236fbe98fafbb335f2966090b9959e8f925d2c 100644
--- a/src/plugins/wp/share/coqwp/ArcTrigo.v
+++ b/src/plugins/wp/share/coqwp/ArcTrigo.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/coqwp/Bits.v b/src/plugins/wp/share/coqwp/Bits.v
index 8bb865ae80dc06f2768968656b18f3dc8414aa79..0381e15181d8c41bcc35734f624d9fe24be8dfa4 100644
--- a/src/plugins/wp/share/coqwp/Bits.v
+++ b/src/plugins/wp/share/coqwp/Bits.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/coqwp/Cbits.v b/src/plugins/wp/share/coqwp/Cbits.v
index a1378bbcb7c6f9d6278f627febb551a94f818820..aff75e9b1e9667a2d0cf74393c4fae83a97721f2 100644
--- a/src/plugins/wp/share/coqwp/Cbits.v
+++ b/src/plugins/wp/share/coqwp/Cbits.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/coqwp/Cfloat.v b/src/plugins/wp/share/coqwp/Cfloat.v
index 37a860af28d5ebcdee98999523195d22df579eef..32ac89fe1bf3daaed70a51033e4d5ba6220b9d10 100644
--- a/src/plugins/wp/share/coqwp/Cfloat.v
+++ b/src/plugins/wp/share/coqwp/Cfloat.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/coqwp/Cint.v b/src/plugins/wp/share/coqwp/Cint.v
index 2bad1d8070ac6b9d7ffb984138dc11f336dc0bcc..3a7c0ab7042f7c00f5b022ea1231af44ac2904d5 100644
--- a/src/plugins/wp/share/coqwp/Cint.v
+++ b/src/plugins/wp/share/coqwp/Cint.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/coqwp/Cmath.v b/src/plugins/wp/share/coqwp/Cmath.v
index 4efcb87b1b9264d9f52d9c12758b4850cb13770b..8b144c5879ec906937e70a01f4ef4ab3c5baa734 100644
--- a/src/plugins/wp/share/coqwp/Cmath.v
+++ b/src/plugins/wp/share/coqwp/Cmath.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/coqwp/ExpLog.v b/src/plugins/wp/share/coqwp/ExpLog.v
index 779b1a653739a5820ebf1b0b811408c0967378bb..e7d71a0cc1a2573cd578615a2f318899335e550a 100644
--- a/src/plugins/wp/share/coqwp/ExpLog.v
+++ b/src/plugins/wp/share/coqwp/ExpLog.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/coqwp/Memory.v b/src/plugins/wp/share/coqwp/Memory.v
index 8eb50c59d0fff97f19e099585dec3714fb7ddbc3..a8aa1ff53a88bac2c385d7bc61603d29ac53173f 100644
--- a/src/plugins/wp/share/coqwp/Memory.v
+++ b/src/plugins/wp/share/coqwp/Memory.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/coqwp/Qed.v b/src/plugins/wp/share/coqwp/Qed.v
index d23df6821818a97c97a01b9753ae60a27b0887a9..c991afd7c10498054025aa3472c3c03e275a84ca 100644
--- a/src/plugins/wp/share/coqwp/Qed.v
+++ b/src/plugins/wp/share/coqwp/Qed.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/coqwp/Qedlib.v b/src/plugins/wp/share/coqwp/Qedlib.v
index f28d445be2423f565ef34acc49ee52da5b6776f8..4156a9e32907453de88b7494189f01dd8ce715ea 100644
--- a/src/plugins/wp/share/coqwp/Qedlib.v
+++ b/src/plugins/wp/share/coqwp/Qedlib.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/coqwp/Square.v b/src/plugins/wp/share/coqwp/Square.v
index d439d0b4129a61868f7f013ade3be3f87fda89fd..865ce9f87edbb37ef7f20f339d605b153365a0d1 100644
--- a/src/plugins/wp/share/coqwp/Square.v
+++ b/src/plugins/wp/share/coqwp/Square.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/coqwp/Vlist.v b/src/plugins/wp/share/coqwp/Vlist.v
index c3ed9289289ef8a8069331e5ad09208520db36ab..182898718639ae466b39a16277bcd32445f8be76 100644
--- a/src/plugins/wp/share/coqwp/Vlist.v
+++ b/src/plugins/wp/share/coqwp/Vlist.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/coqwp/Vset.v b/src/plugins/wp/share/coqwp/Vset.v
index 42b12b4f2dfe43bdfac7da32c0fbc77e0be7553a..1262034a104de88566275e9a6b86b606ea000ba1 100644
--- a/src/plugins/wp/share/coqwp/Vset.v
+++ b/src/plugins/wp/share/coqwp/Vset.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/coqwp/Zbits.v b/src/plugins/wp/share/coqwp/Zbits.v
index 5f1a2e292334b50f71b5673c079d828e8f3e689f..e168e835e820688d375580f4521ecd7911399972 100644
--- a/src/plugins/wp/share/coqwp/Zbits.v
+++ b/src/plugins/wp/share/coqwp/Zbits.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -2025,6 +2025,12 @@ Proof.
   intuition.
 Qed.
 
+Lemma lxor_discrimination_inv: forall x y z:Z,
+  x = lxor y z -> lxor x y = z.
+Proof.
+  linear3.
+Qed.
+
 Lemma land_system: forall x1 x2 y1 y2 z:Z,
   (x1 = land z y1 /\ x2 = land z y2) <-> lor x1 x2 = land z (lor (land (lnot x1) (land (lnot x2) (lor y1 y2))) 
                                                        (lor (land x1 (land y1 (lnot (lxor x2 y2))))
diff --git a/src/plugins/wp/share/ergo/ArcTrigo.mlw b/src/plugins/wp/share/ergo/ArcTrigo.mlw
index b91ffe291245f68b72f32368d56ecf855a8ef9c1..80853dc37d2fb86a38ac87a358a8e42e2031e57b 100644
--- a/src/plugins/wp/share/ergo/ArcTrigo.mlw
+++ b/src/plugins/wp/share/ergo/ArcTrigo.mlw
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/ergo/Cbits.mlw b/src/plugins/wp/share/ergo/Cbits.mlw
index 848421a65448a5eae280391b807f27549866f2f3..4ef1f5423f5ec258c1f30c8bb781a34769815a24 100644
--- a/src/plugins/wp/share/ergo/Cbits.mlw
+++ b/src/plugins/wp/share/ergo/Cbits.mlw
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/ergo/Cfloat.mlw b/src/plugins/wp/share/ergo/Cfloat.mlw
index a43eb15f06c154f89bdca2203e116f90b2940a05..206b283868c9233d5da92b0301b17dc3586aa410 100644
--- a/src/plugins/wp/share/ergo/Cfloat.mlw
+++ b/src/plugins/wp/share/ergo/Cfloat.mlw
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/ergo/Cint.mlw b/src/plugins/wp/share/ergo/Cint.mlw
index a2857141c03c8a3ea5643675e45594408556bd1c..efa4917c8ef46502f3f4e6b9ee732f1f0fa1e5c5 100644
--- a/src/plugins/wp/share/ergo/Cint.mlw
+++ b/src/plugins/wp/share/ergo/Cint.mlw
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/ergo/Cmath.mlw b/src/plugins/wp/share/ergo/Cmath.mlw
index 1d7a6143fc3e5d69dc002e612371663900442610..bba0d57f650f7826d5cc443ecad51986f5e9864b 100644
--- a/src/plugins/wp/share/ergo/Cmath.mlw
+++ b/src/plugins/wp/share/ergo/Cmath.mlw
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/ergo/ExpLog.mlw b/src/plugins/wp/share/ergo/ExpLog.mlw
index 0434bfff44efdcc182e423b3b47a21c91f1a8107..04a6648d140ee2cff01b4d8e2bc1fdb1fa71ec9c 100644
--- a/src/plugins/wp/share/ergo/ExpLog.mlw
+++ b/src/plugins/wp/share/ergo/ExpLog.mlw
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/ergo/Memory.mlw b/src/plugins/wp/share/ergo/Memory.mlw
index 611a2e92f4ef5938feee083b42817a6cb33941b6..e313cd7106dc184b461e8945601f2fbc2a8d98ea 100644
--- a/src/plugins/wp/share/ergo/Memory.mlw
+++ b/src/plugins/wp/share/ergo/Memory.mlw
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/ergo/Qed.mlw b/src/plugins/wp/share/ergo/Qed.mlw
index 5ef47e95b2c8cb65573065135f3f8fbced30bc9a..ab140625bf0126b176c14a756ba919cb89e65801 100644
--- a/src/plugins/wp/share/ergo/Qed.mlw
+++ b/src/plugins/wp/share/ergo/Qed.mlw
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/ergo/Square.mlw b/src/plugins/wp/share/ergo/Square.mlw
index 5f1376c503851f812985f7f4f5ccc900f6111cdc..8bef3ca2cb02068098b700bd4e34b470e5498c99 100644
--- a/src/plugins/wp/share/ergo/Square.mlw
+++ b/src/plugins/wp/share/ergo/Square.mlw
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/ergo/Vlist.mlw b/src/plugins/wp/share/ergo/Vlist.mlw
index bb9c7a04ea0d9e09765a59d3d17e01be85df0b40..7d688623e03861f1b16e872b4907dcd261b3a935 100644
--- a/src/plugins/wp/share/ergo/Vlist.mlw
+++ b/src/plugins/wp/share/ergo/Vlist.mlw
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/ergo/Vset.mlw b/src/plugins/wp/share/ergo/Vset.mlw
index 8d634361d993b72572b2a300e0fd412017e2ebff..9e8c6d9c5af93fc77411753f397ae031b0e2bc86 100644
--- a/src/plugins/wp/share/ergo/Vset.mlw
+++ b/src/plugins/wp/share/ergo/Vset.mlw
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/install.ml b/src/plugins/wp/share/install.ml
index 7f444247af254731d8874dca8a1a5ae6781a429a..334e78760b39c685fd9e32b3ce9abe9e40e9de56 100644
--- a/src/plugins/wp/share/install.ml
+++ b/src/plugins/wp/share/install.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/src/Bits.v b/src/plugins/wp/share/src/Bits.v
index 8bb865ae80dc06f2768968656b18f3dc8414aa79..0381e15181d8c41bcc35734f624d9fe24be8dfa4 100644
--- a/src/plugins/wp/share/src/Bits.v
+++ b/src/plugins/wp/share/src/Bits.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/src/BuiltIn/bool.mlw b/src/plugins/wp/share/src/BuiltIn/bool.mlw
index b1541594019b1112adb20f33d8c7de5d1db6e552..bc353e7c972a7510ab01195264c01812eb51017d 100644
--- a/src/plugins/wp/share/src/BuiltIn/bool.mlw
+++ b/src/plugins/wp/share/src/BuiltIn/bool.mlw
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/src/Makefile b/src/plugins/wp/share/src/Makefile
index f441f4e9401964a0ceb71eb284bf1d3d2c6a5d57..fb38c4d2cbcd2a79a9847d42c55082c34865fba2 100644
--- a/src/plugins/wp/share/src/Makefile
+++ b/src/plugins/wp/share/src/Makefile
@@ -2,7 +2,7 @@
 #                                                                        #
 #  This file is part of WP plug-in of Frama-C.                           #
 #                                                                        #
-#  Copyright (C) 2007-2018                                               #
+#  Copyright (C) 2007-2019                                               #
 #    CEA (Commissariat a l'energie atomique et aux energies              #
 #         alternatives)                                                  #
 #                                                                        #
diff --git a/src/plugins/wp/share/src/Qedlib.v b/src/plugins/wp/share/src/Qedlib.v
index f28d445be2423f565ef34acc49ee52da5b6776f8..4156a9e32907453de88b7494189f01dd8ce715ea 100644
--- a/src/plugins/wp/share/src/Qedlib.v
+++ b/src/plugins/wp/share/src/Qedlib.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/src/Zbits.v b/src/plugins/wp/share/src/Zbits.v
index 5f1a2e292334b50f71b5673c079d828e8f3e689f..e168e835e820688d375580f4521ecd7911399972 100644
--- a/src/plugins/wp/share/src/Zbits.v
+++ b/src/plugins/wp/share/src/Zbits.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -2025,6 +2025,12 @@ Proof.
   intuition.
 Qed.
 
+Lemma lxor_discrimination_inv: forall x y z:Z,
+  x = lxor y z -> lxor x y = z.
+Proof.
+  linear3.
+Qed.
+
 Lemma land_system: forall x1 x2 y1 y2 z:Z,
   (x1 = land z y1 /\ x2 = land z y2) <-> lor x1 x2 = land z (lor (land (lnot x1) (land (lnot x2) (lor y1 y2))) 
                                                        (lor (land x1 (land y1 (lnot (lxor x2 y2))))
diff --git a/src/plugins/wp/share/src/alt_ergo_why3_stdlib.drv b/src/plugins/wp/share/src/alt_ergo_why3_stdlib.drv
index d4c62ae3b0fac9a30e97362e0853c8f02d733caa..2d442b749a10bd60569cffa72dba96a50549ee61 100644
--- a/src/plugins/wp/share/src/alt_ergo_why3_stdlib.drv
+++ b/src/plugins/wp/share/src/alt_ergo_why3_stdlib.drv
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/src/cbits.why b/src/plugins/wp/share/src/cbits.why
index 79a40e3783e1178b6e4d40e6634bbbe27057a5e9..390b7b202663e7637674bdbd335da9dbb16966fc 100644
--- a/src/plugins/wp/share/src/cbits.why
+++ b/src/plugins/wp/share/src/cbits.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/src/cfloat.why b/src/plugins/wp/share/src/cfloat.why
index b496c5bd31f997c2c398b18e23a271d09b5e3e69..711a803b32eab70a51cc93d9f5d22534c97c7c4f 100644
--- a/src/plugins/wp/share/src/cfloat.why
+++ b/src/plugins/wp/share/src/cfloat.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/src/cint.why b/src/plugins/wp/share/src/cint.why
index 5d02b12672fc518596e3289dd19a9888c3daafed..b725bf2d3ec32838b1117a7852cb098e39b43835 100644
--- a/src/plugins/wp/share/src/cint.why
+++ b/src/plugins/wp/share/src/cint.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/src/cmath.why b/src/plugins/wp/share/src/cmath.why
index a548531c86b5601578863bf27935796b3c210ccb..f5650834c9039ea7ab0207ef5f7b9c75f4f5e764 100644
--- a/src/plugins/wp/share/src/cmath.why
+++ b/src/plugins/wp/share/src/cmath.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/src/coq-own-realization.drv b/src/plugins/wp/share/src/coq-own-realization.drv
index c40d3c896df48e9d9316b90906be9c7d10e42ef1..bba87c6fafc12b9fea860971125354ea88582a7f 100644
--- a/src/plugins/wp/share/src/coq-own-realization.drv
+++ b/src/plugins/wp/share/src/coq-own-realization.drv
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of Frama-C.                                         *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/src/filter_axioms.ml b/src/plugins/wp/share/src/filter_axioms.ml
index 3b4adeb2a213ecf5a8a54977827769dd9c9d8eec..6a339539ec76744e96480d45007eda3f832085c9 100644
--- a/src/plugins/wp/share/src/filter_axioms.ml
+++ b/src/plugins/wp/share/src/filter_axioms.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/src/memory.why b/src/plugins/wp/share/src/memory.why
index 8a95d910ec87608a506e4cc17ecd843e39c73754..54b1238496a130e08f9fca622bb5aabcbefba213 100644
--- a/src/plugins/wp/share/src/memory.why
+++ b/src/plugins/wp/share/src/memory.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/src/qed.why b/src/plugins/wp/share/src/qed.why
index 2f74ae6d94da0a4f1c6a7a757974ebf702fcfbda..bd87796feaa702e6c04d807925cefbc421c451de 100644
--- a/src/plugins/wp/share/src/qed.why
+++ b/src/plugins/wp/share/src/qed.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/src/vlist.why b/src/plugins/wp/share/src/vlist.why
index 012a7bde4e3a847cc9398aeab656ecbc9a9fa8c8..885127e7f8da91f5f7a69478644c3b70ecefc736 100644
--- a/src/plugins/wp/share/src/vlist.why
+++ b/src/plugins/wp/share/src/vlist.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/src/vset.why b/src/plugins/wp/share/src/vset.why
index 24c322bbb317291263df8094b1a168e0150bb5d3..35da72053b115a8c785dce77897205f98bf2150d 100644
--- a/src/plugins/wp/share/src/vset.why
+++ b/src/plugins/wp/share/src/vset.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/ArcTrigo.v b/src/plugins/wp/share/why3/ArcTrigo.v
index 06792c17090829913a7658625e115732bfbb9ea2..b5236fbe98fafbb335f2966090b9959e8f925d2c 100644
--- a/src/plugins/wp/share/why3/ArcTrigo.v
+++ b/src/plugins/wp/share/why3/ArcTrigo.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/ArcTrigo.why b/src/plugins/wp/share/why3/ArcTrigo.why
index acbc8c3a4581c5f5045b0a732ec4af6b05b7f6c7..bf76b70b1fd9bbae8ffdcb49f748faf8030f2583 100644
--- a/src/plugins/wp/share/why3/ArcTrigo.why
+++ b/src/plugins/wp/share/why3/ArcTrigo.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Bits.v b/src/plugins/wp/share/why3/Bits.v
index 8bb865ae80dc06f2768968656b18f3dc8414aa79..0381e15181d8c41bcc35734f624d9fe24be8dfa4 100644
--- a/src/plugins/wp/share/why3/Bits.v
+++ b/src/plugins/wp/share/why3/Bits.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Cbits.v b/src/plugins/wp/share/why3/Cbits.v
index a1378bbcb7c6f9d6278f627febb551a94f818820..aff75e9b1e9667a2d0cf74393c4fae83a97721f2 100644
--- a/src/plugins/wp/share/why3/Cbits.v
+++ b/src/plugins/wp/share/why3/Cbits.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Cbits.why b/src/plugins/wp/share/why3/Cbits.why
index 06cae224a81d588d62d0304803e6b8cb73634a51..d5867717def38b38001d60f5893e73fdec699609 100644
--- a/src/plugins/wp/share/why3/Cbits.why
+++ b/src/plugins/wp/share/why3/Cbits.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Cfloat.v b/src/plugins/wp/share/why3/Cfloat.v
index 37a860af28d5ebcdee98999523195d22df579eef..32ac89fe1bf3daaed70a51033e4d5ba6220b9d10 100644
--- a/src/plugins/wp/share/why3/Cfloat.v
+++ b/src/plugins/wp/share/why3/Cfloat.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Cfloat.why b/src/plugins/wp/share/why3/Cfloat.why
index 06de02e613bb6c11bcc7ba55e3a9369004d9e34a..531862713d2a2f20d0c462425b50a876846e2c15 100644
--- a/src/plugins/wp/share/why3/Cfloat.why
+++ b/src/plugins/wp/share/why3/Cfloat.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Cint.v b/src/plugins/wp/share/why3/Cint.v
index 2bad1d8070ac6b9d7ffb984138dc11f336dc0bcc..3a7c0ab7042f7c00f5b022ea1231af44ac2904d5 100644
--- a/src/plugins/wp/share/why3/Cint.v
+++ b/src/plugins/wp/share/why3/Cint.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Cint.why b/src/plugins/wp/share/why3/Cint.why
index 69eb7f2a0940c29b9b83c8f8cf7d2d4306b1602c..d6e03e7ef025d2738190ea8fef06e64baed2b19b 100644
--- a/src/plugins/wp/share/why3/Cint.why
+++ b/src/plugins/wp/share/why3/Cint.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Cmath.v b/src/plugins/wp/share/why3/Cmath.v
index 4efcb87b1b9264d9f52d9c12758b4850cb13770b..8b144c5879ec906937e70a01f4ef4ab3c5baa734 100644
--- a/src/plugins/wp/share/why3/Cmath.v
+++ b/src/plugins/wp/share/why3/Cmath.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Cmath.why b/src/plugins/wp/share/why3/Cmath.why
index 30e75129a29e0fed831c29d53f01803f90ba65f6..6f2c1bd8be2c33ed9cfc6bced08af88528a2ab26 100644
--- a/src/plugins/wp/share/why3/Cmath.why
+++ b/src/plugins/wp/share/why3/Cmath.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/ExpLog.v b/src/plugins/wp/share/why3/ExpLog.v
index 779b1a653739a5820ebf1b0b811408c0967378bb..e7d71a0cc1a2573cd578615a2f318899335e550a 100644
--- a/src/plugins/wp/share/why3/ExpLog.v
+++ b/src/plugins/wp/share/why3/ExpLog.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/ExpLog.why b/src/plugins/wp/share/why3/ExpLog.why
index ca7eccc70ea215ba56c701a71c4b43d250857154..f88c5a35ee20ad82604c90f3830dd9da46e7df09 100644
--- a/src/plugins/wp/share/why3/ExpLog.why
+++ b/src/plugins/wp/share/why3/ExpLog.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Memory.v b/src/plugins/wp/share/why3/Memory.v
index 8eb50c59d0fff97f19e099585dec3714fb7ddbc3..a8aa1ff53a88bac2c385d7bc61603d29ac53173f 100644
--- a/src/plugins/wp/share/why3/Memory.v
+++ b/src/plugins/wp/share/why3/Memory.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Memory.why b/src/plugins/wp/share/why3/Memory.why
index bad2772da57773e9512d4e0f9c6bd8ff5e1a694e..ada62e589807c78d2d0230a07b199c7ff77bd83f 100644
--- a/src/plugins/wp/share/why3/Memory.why
+++ b/src/plugins/wp/share/why3/Memory.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Qed.v b/src/plugins/wp/share/why3/Qed.v
index d23df6821818a97c97a01b9753ae60a27b0887a9..c991afd7c10498054025aa3472c3c03e275a84ca 100644
--- a/src/plugins/wp/share/why3/Qed.v
+++ b/src/plugins/wp/share/why3/Qed.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Qed.why b/src/plugins/wp/share/why3/Qed.why
index d90c48867b525bb1860d33345b576e1a97c20917..68ede436243dbb4cf6e02964b6e5e86f6abd5242 100644
--- a/src/plugins/wp/share/why3/Qed.why
+++ b/src/plugins/wp/share/why3/Qed.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Qedlib.v b/src/plugins/wp/share/why3/Qedlib.v
index f28d445be2423f565ef34acc49ee52da5b6776f8..4156a9e32907453de88b7494189f01dd8ce715ea 100644
--- a/src/plugins/wp/share/why3/Qedlib.v
+++ b/src/plugins/wp/share/why3/Qedlib.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Square.v b/src/plugins/wp/share/why3/Square.v
index d439d0b4129a61868f7f013ade3be3f87fda89fd..865ce9f87edbb37ef7f20f339d605b153365a0d1 100644
--- a/src/plugins/wp/share/why3/Square.v
+++ b/src/plugins/wp/share/why3/Square.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Square.why b/src/plugins/wp/share/why3/Square.why
index 93594492535a8c2ecb93853d85d3b5863a2e25bb..9e26a7d9db570c4bf01a75914088f03ee49179ea 100644
--- a/src/plugins/wp/share/why3/Square.why
+++ b/src/plugins/wp/share/why3/Square.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Vlist.v b/src/plugins/wp/share/why3/Vlist.v
index c3ed9289289ef8a8069331e5ad09208520db36ab..182898718639ae466b39a16277bcd32445f8be76 100644
--- a/src/plugins/wp/share/why3/Vlist.v
+++ b/src/plugins/wp/share/why3/Vlist.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Vlist.why b/src/plugins/wp/share/why3/Vlist.why
index 4961486c00e0298aa78cd12c58d3ed29101f0660..6f4c199bbae48041e7125bbed0bb5bce2654dfd5 100644
--- a/src/plugins/wp/share/why3/Vlist.why
+++ b/src/plugins/wp/share/why3/Vlist.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Vset.v b/src/plugins/wp/share/why3/Vset.v
index 42b12b4f2dfe43bdfac7da32c0fbc77e0be7553a..1262034a104de88566275e9a6b86b606ea000ba1 100644
--- a/src/plugins/wp/share/why3/Vset.v
+++ b/src/plugins/wp/share/why3/Vset.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Vset.why b/src/plugins/wp/share/why3/Vset.why
index 32c3966a828ca56292266c97b602d5d698587038..d0664f99585e45b7cbd6640c465bf25b120aabf4 100644
--- a/src/plugins/wp/share/why3/Vset.why
+++ b/src/plugins/wp/share/why3/Vset.why
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/why3/Zbits.v b/src/plugins/wp/share/why3/Zbits.v
index 5f1a2e292334b50f71b5673c079d828e8f3e689f..e168e835e820688d375580f4521ecd7911399972 100644
--- a/src/plugins/wp/share/why3/Zbits.v
+++ b/src/plugins/wp/share/why3/Zbits.v
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -2025,6 +2025,12 @@ Proof.
   intuition.
 Qed.
 
+Lemma lxor_discrimination_inv: forall x y z:Z,
+  x = lxor y z -> lxor x y = z.
+Proof.
+  linear3.
+Qed.
+
 Lemma land_system: forall x1 x2 y1 y2 z:Z,
   (x1 = land z y1 /\ x2 = land z y2) <-> lor x1 x2 = land z (lor (land (lnot x1) (land (lnot x2) (lor y1 y2))) 
                                                        (lor (land x1 (land y1 (lnot (lxor x2 y2))))
diff --git a/src/plugins/wp/share/why3/coq.drv b/src/plugins/wp/share/why3/coq.drv
index 6622f35030d9906a9e79d47561fae9d149261b3f..68d8626d5864e11e06e2d81f2ceb516169a366f8 100644
--- a/src/plugins/wp/share/why3/coq.drv
+++ b/src/plugins/wp/share/why3/coq.drv
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/share/wp.driver b/src/plugins/wp/share/wp.driver
index 723ff04629ae0c8a23b3455623d73e3e41cef12a..7dd358acc6900842611fed12bc90a0c096eaa60c 100644
--- a/src/plugins/wp/share/wp.driver
+++ b/src/plugins/wp/share/wp.driver
@@ -2,7 +2,7 @@
 /*                                                                        */
 /*  This file is part of WP plug-in of Frama-C.                           */
 /*                                                                        */
-/*  Copyright (C) 2007-2018                                               */
+/*  Copyright (C) 2007-2019                                               */
 /*    CEA (Commissariat a l'energie atomique et aux energies              */
 /*         alternatives)                                                  */
 /*                                                                        */
diff --git a/src/plugins/wp/tests/wp/stmtcompiler_test.ml b/src/plugins/wp/tests/wp/stmtcompiler_test.ml
index d5752c3f078f98802065bc3ec40bd501d4cf1415..416f4e48137c375177750486711f2ae6ee39506e 100644
--- a/src/plugins/wp/tests/wp/stmtcompiler_test.ml
+++ b/src/plugins/wp/tests/wp/stmtcompiler_test.ml
@@ -111,7 +111,8 @@ let run () =
     Model.on_scope (Some kf) (fun () ->
         let paths,start = Compiler.compute_kf kf in
         let cfg, goals = paths.Compiler.paths_cfg, paths.Compiler.paths_goals in
-        let cout = open_out (Format.sprintf "/tmp/cfg_pre_%s.dot" (Kernel_function.get_name kf)) in
+        let fname = Filename.temp_file "cfg_pre_" (Kernel_function.get_name kf) in
+        let cout = open_out fname in
         Compiler.Cfg.output_dot cout ~checks:(Bag.map (fun g -> g.Compiler.goal_pred) goals) cfg;
         close_out cout;
         Format.printf "new way@.";
diff --git a/src/plugins/wp/tests/wp_acsl/bitwise.i b/src/plugins/wp/tests/wp_acsl/bitwise.i
index e80c6966e9db254ec291ab722d4a76cfb2dce9be..79dab19ec7b88508eb91b7ed031059e5a90695e1 100644
--- a/src/plugins/wp/tests/wp_acsl/bitwise.i
+++ b/src/plugins/wp/tests/wp_acsl/bitwise.i
@@ -42,7 +42,7 @@ int bor(int a,int b, int c) { return a | b | c ; }
 /*@ ensures \result == (int) (a ^ b);
   @ behavior bit1:
   @   assumes a == -1 && 0xFF==(0xF0^b);
-  @   ensures \result != ~0xF;
+  @   ensures \result == ~0x0F;
   @ behavior bit2:
   @   assumes a == b;
   @   ensures \result == 0;
diff --git a/src/plugins/wp/wpAnnot.ml b/src/plugins/wp/wpAnnot.ml
index d09c0a11e908ba5e4720c8183cd8a78f49afff83..cffa1268c684c66beb4e9161aeb2a7aa346c7982 100644
--- a/src/plugins/wp/wpAnnot.ml
+++ b/src/plugins/wp/wpAnnot.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wpAnnot.mli b/src/plugins/wp/wpAnnot.mli
index 3c152f8630b039115226775fd8ef2252b58e67d2..66cc5693d72c7781b525eab9b6c134368b081061 100644
--- a/src/plugins/wp/wpAnnot.mli
+++ b/src/plugins/wp/wpAnnot.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wpPropId.ml b/src/plugins/wp/wpPropId.ml
index 082d80f18c152e17fdfc64b829d444079e502c06..f29dbe5e66748716ac4f5013351fc94a474273fd 100644
--- a/src/plugins/wp/wpPropId.ml
+++ b/src/plugins/wp/wpPropId.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wpPropId.mli b/src/plugins/wp/wpPropId.mli
index 31d3442008553d74e6f0fe4af81769918d44ebfd..0fd74fd18426f90f9a7665a1e66e81899f3cab77 100644
--- a/src/plugins/wp/wpPropId.mli
+++ b/src/plugins/wp/wpPropId.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wpRTE.ml b/src/plugins/wp/wpRTE.ml
index fbf1124230b483b3af0e0f266ece63acf0cd672c..30974a1edba460c7bed8feb8f91a76105ffb5afc 100644
--- a/src/plugins/wp/wpRTE.ml
+++ b/src/plugins/wp/wpRTE.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wpRTE.mli b/src/plugins/wp/wpRTE.mli
index 456c177c7013ff50f81d7134bd99c650023e711a..59fb39aed5bf2925bf55d9efa10d94a3a59ff3e0 100644
--- a/src/plugins/wp/wpRTE.mli
+++ b/src/plugins/wp/wpRTE.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wpReport.ml b/src/plugins/wp/wpReport.ml
index a53ad90325a31a4002910915182b9d32ea53c4de..a14264c93f022b9360b6bdfc88902d1c4aade27a 100644
--- a/src/plugins/wp/wpReport.ml
+++ b/src/plugins/wp/wpReport.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
@@ -133,21 +133,21 @@ let add_qedstat (ts:float) (s:stats) =
   if ts > s.time then s.time <- ts
 
 let get_field js fd =
-  try Json.field fd js with Not_found | Invalid_argument _ -> Json.Null
+  try Json.field fd js with Not_found | Invalid_argument _ -> `Null
 
 let json_assoc fields =
-  let fields = List.filter (fun (_,d) -> d<>Json.Null) fields in
-  if fields = [] then Json.Null else Json.Assoc fields
+  let fields = List.filter (fun (_,d) -> d<>`Null) fields in
+  if fields = [] then `Null else `Assoc fields
 
 let json_of_stats s =
-  let add fd v w = if v > 0 then (fd , Json.Int v)::w else w in
+  let add fd v w = if v > 0 then (fd , `Int v)::w else w in
   json_assoc
     begin
       add "total" s.total @@
       add "valid" s.valid @@
       add "failed" s.inconclusive @@
       add "unknown" s.unsuccess @@
-      (if s.rank >= 0 then [ "rank" , Json.Int s.rank ] else [])
+      (if s.rank >= 0 then [ "rank" , `Int s.rank ] else [])
     end
 
 let rankify_stats s js =
@@ -870,11 +870,11 @@ let export_json gstat jfile =
     let js =
       try
         if Sys.file_exists jfile
-        then Json.load_file jfile else Json.Null
+        then Json.load_file jfile else `Null
       with Json.Error(file,line,msg) ->
         let source = Log.source ~file ~line in
         Wp_parameters.error ~source "Incorrect json file: %s" msg ;
-        Json.Null
+        `Null
     in
     rankify_fcstat gstat js ;
     Json.save_file jfile (json_of_fcstat gstat) ;
diff --git a/src/plugins/wp/wpReport.mli b/src/plugins/wp/wpReport.mli
index e53f9b82ae506de69fbedaae913038347beec1f4..6d3563ff35c4b3b8f93e5b5da9b30c53eff01906 100644
--- a/src/plugins/wp/wpReport.mli
+++ b/src/plugins/wp/wpReport.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wpStrategy.ml b/src/plugins/wp/wpStrategy.ml
index 87be3aa4cedee46dd8866f2b313cfb7f9b29c77e..250b33fb3df18a539a465aed423a2473ceb190c1 100644
--- a/src/plugins/wp/wpStrategy.ml
+++ b/src/plugins/wp/wpStrategy.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wpStrategy.mli b/src/plugins/wp/wpStrategy.mli
index 2a661aef4fa247922736f66208f5edf7be8474de..92b56332f031f2bbe583ff5a468dc2c1bbafbff8 100644
--- a/src/plugins/wp/wpStrategy.mli
+++ b/src/plugins/wp/wpStrategy.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wp_error.ml b/src/plugins/wp/wp_error.ml
index fa5edf283f3db4d8839bfbc57baafbc99bb95ce7..68166fe572e3a24a89951f742c4d2a78687b0297 100644
--- a/src/plugins/wp/wp_error.ml
+++ b/src/plugins/wp/wp_error.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wp_error.mli b/src/plugins/wp/wp_error.mli
index ea55d2278c0954eb4f150d29b0f28d341b4a2d8a..bddef521743852e292a6e713c851f2edebc1dfd3 100644
--- a/src/plugins/wp/wp_error.mli
+++ b/src/plugins/wp/wp_error.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wp_parameters.ml b/src/plugins/wp/wp_parameters.ml
index 72ad554679b1e41f7c712bf32669984fa1cc3936..db7b65a2d0d3f2dc532fa69c090a12c3634c0657 100644
--- a/src/plugins/wp/wp_parameters.ml
+++ b/src/plugins/wp/wp_parameters.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wp_parameters.mli b/src/plugins/wp/wp_parameters.mli
index 7e7ba7934173f760e02f6e98acbd73de078344ad..724fc39ae5178e2b2c0bd50017e97b01e84adf47 100644
--- a/src/plugins/wp/wp_parameters.mli
+++ b/src/plugins/wp/wp_parameters.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wpo.ml b/src/plugins/wp/wpo.ml
index d2acb4eae48a582a3f56875724499bcd140a8938..3e341d382e7f61044f9a19e85a30f3d1e898939f 100644
--- a/src/plugins/wp/wpo.ml
+++ b/src/plugins/wp/wpo.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wpo.mli b/src/plugins/wp/wpo.mli
index ce76b5133022ebd1cfb5f1cf370c67d22b6c290b..a9d554454e2ccf10fc233f492bedec697b4fb472 100644
--- a/src/plugins/wp/wpo.mli
+++ b/src/plugins/wp/wpo.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wprop.ml b/src/plugins/wp/wprop.ml
index 7e4e7d74c1f34e2cd7e6319268a659a19b160247..f7a56c2f027923c73f28ddcd101c26d4b5e49361 100644
--- a/src/plugins/wp/wprop.ml
+++ b/src/plugins/wp/wprop.ml
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/src/plugins/wp/wprop.mli b/src/plugins/wp/wprop.mli
index 1bd4e06e160a1e910d3107f69733261518051ffc..cc7423aa5ee1fb1011cd44262363f5694c98030d 100644
--- a/src/plugins/wp/wprop.mli
+++ b/src/plugins/wp/wprop.mli
@@ -2,7 +2,7 @@
 (*                                                                        *)
 (*  This file is part of WP plug-in of Frama-C.                           *)
 (*                                                                        *)
-(*  Copyright (C) 2007-2018                                               *)
+(*  Copyright (C) 2007-2019                                               *)
 (*    CEA (Commissariat a l'energie atomique et aux energies              *)
 (*         alternatives)                                                  *)
 (*                                                                        *)
diff --git a/tests/builtins/alloc.c b/tests/builtins/alloc.c
index e03d0692c431dbab225590ee6b6876cd62e12d8c..51579426082c5843d774bd7665136ad3954eb7d1 100644
--- a/tests/builtins/alloc.c
+++ b/tests/builtins/alloc.c
@@ -1,7 +1,7 @@
 /* run.config*
    GCC:
-   STDOPT: #"-no-val-builtins-auto"
-   STDOPT: #"-no-val-builtins-auto -absolute-valid-range 0x100-0x200 -main main_abs"
+   STDOPT: #"-eva-no-builtins-auto"
+   STDOPT: #"-eva-no-builtins-auto -absolute-valid-range 0x100-0x200 -main main_abs"
 */
 
 #define malloc(n) Frama_C_malloc_fresh(n)
diff --git a/tests/builtins/alloc_weak.c b/tests/builtins/alloc_weak.c
index 97589c7d82155eee9a82780cbaccfbca4f408a6e..fc5a664baf79d874e1dec8475a57939c8d7c44b6 100644
--- a/tests/builtins/alloc_weak.c
+++ b/tests/builtins/alloc_weak.c
@@ -1,5 +1,5 @@
 /* run.config*
-  STDOPT: +"-no-val-alloc-returns-null"
+  STDOPT: +"-eva-no-alloc-returns-null"
 */
 
 #include <stdlib.h>
diff --git a/tests/builtins/allocated.c b/tests/builtins/allocated.c
index f408e5f6c68fe2163129e2015c452357105eeff4..5bb5091919b3bbf490fef6dc3ca2b097f3a1ddf5 100644
--- a/tests/builtins/allocated.c
+++ b/tests/builtins/allocated.c
@@ -1,6 +1,6 @@
 /* run.config*
-   STDOPT: +"-slevel 1 -val-mlevel 0"
-   STDOPT: +"-slevel 999 -val-builtin malloc:Frama_C_malloc_fresh,__fc_vla_alloc:Frama_C_malloc_fresh,__fc_vla_free:Frama_C_vla_free"
+   STDOPT: +"-slevel 1 -eva-mlevel 0"
+   STDOPT: +"-slevel 999 -eva-builtin malloc:Frama_C_malloc_fresh,__fc_vla_alloc:Frama_C_malloc_fresh,__fc_vla_free:Frama_C_vla_free"
 */
 #define assert_bottom(exp) if (nondet) {exp; Frama_C_show_each_unreachable();}
 
diff --git a/tests/builtins/big_local_array.i b/tests/builtins/big_local_array.i
index bfbde108e2285de8cf83d2fc6d05626b1572c203..ccf98764fd086b47e1a139aa5743a4fee0a9b313 100644
--- a/tests/builtins/big_local_array.i
+++ b/tests/builtins/big_local_array.i
@@ -1,7 +1,7 @@
 /* run.config*
-OPT: -val-show-progress -print -journal-disable -val -report
+OPT: -eva-show-progress -print -journal-disable -eva -report
 OPT: -load-script tests/builtins/big_local_array_script.ml -then-on prj -print -report
-OPT: -val-show-progress -print -journal-disable -no-initialized-padding-locals -val
+OPT: -eva-show-progress -print -journal-disable -no-initialized-padding-locals -eva
 */
 
 struct S {
diff --git a/tests/builtins/calloc.c b/tests/builtins/calloc.c
index 53459397c531aada9c7092d6c21c66cd5020a090..648a4b4af03809048ffa6542498385caab9ecdbc 100644
--- a/tests/builtins/calloc.c
+++ b/tests/builtins/calloc.c
@@ -1,9 +1,9 @@
 /* run.config*
- STDOPT: #"-no-val-builtins-auto -val-alloc-returns-null"
- STDOPT: #"-no-val-builtins-auto -val-alloc-returns-null -val-builtin calloc:Frama_C_calloc_fresh"
- STDOPT: #"-no-val-builtins-auto -val-alloc-returns-null -val-builtin calloc:Frama_C_calloc_by_stack"
- STDOPT: #"-no-val-builtins-auto -no-val-alloc-returns-null -val-builtin calloc:Frama_C_calloc_fresh"
- STDOPT: #"-no-val-builtins-auto -no-val-alloc-returns-null -val-builtin calloc:Frama_C_calloc_by_stack"
+ STDOPT: #"-eva-no-builtins-auto -eva-alloc-returns-null"
+ STDOPT: #"-eva-no-builtins-auto -eva-alloc-returns-null -eva-builtin calloc:Frama_C_calloc_fresh"
+ STDOPT: #"-eva-no-builtins-auto -eva-alloc-returns-null -eva-builtin calloc:Frama_C_calloc_by_stack"
+ STDOPT: #"-eva-no-builtins-auto -eva-no-alloc-returns-null -eva-builtin calloc:Frama_C_calloc_fresh"
+ STDOPT: #"-eva-no-builtins-auto -eva-no-alloc-returns-null -eva-builtin calloc:Frama_C_calloc_by_stack"
  */
 
 #include <stdlib.h>
diff --git a/tests/builtins/diff_apron b/tests/builtins/diff_apron
index 215d8f1df7cece5656f8c82a14effb4a356c165a..7bad8145315eae01b8b8e80ebf71649c52f66c8d 100644
--- a/tests/builtins/diff_apron
+++ b/tests/builtins/diff_apron
@@ -8,27 +8,14 @@ diff tests/builtins/oracle/Longinit_sequencer.res.oracle tests/builtins/oracle_a
 ---
 >   tests/builtins/result_apron/Longinit_sequencer.sav
 diff tests/builtins/oracle/allocated.0.res.oracle tests/builtins/oracle_apron/allocated.0.res.oracle
-243c243
-< [eva] tests/builtins/allocated.c:131: Frama_C_show_each: {0; 1; 2; 3; 4}
----
-> [eva] tests/builtins/allocated.c:131: Frama_C_show_each: [0..2147483647]
-250c250
-< [eva] tests/builtins/allocated.c:131: Frama_C_show_each: {0; 1; 2; 3; 4; 5}
----
-> [eva] tests/builtins/allocated.c:131: Frama_C_show_each: [0..2147483647]
-257c257
-< [eva] tests/builtins/allocated.c:131: Frama_C_show_each: [0..9]
----
-> [eva] tests/builtins/allocated.c:131: Frama_C_show_each: [0..2147483647]
-276c276
+260a261,263
+> [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc
+> [eva:malloc] tests/builtins/allocated.c:127: 
+>   resizing variable `__malloc_main_l127' (0..31/319) to fit 0..63/319
+273c276
 <   j ∈ [1..2147483647]
 ---
->   j ∈ [1..12]
-282,283c282
-<   __malloc_w_main_l82[0..1] ∈ [7..2147483647] or UNINITIALIZED
-<                      [2] ∈ [7..27] or UNINITIALIZED
----
->   __malloc_w_main_l82[0..2] ∈ [7..27] or UNINITIALIZED
+>   j ∈ [1..10]
 diff tests/builtins/oracle/memexec-malloc.res.oracle tests/builtins/oracle_apron/memexec-malloc.res.oracle
 20c20,23
 < [eva] tests/builtins/memexec-malloc.c:25: Reusing old results for call to f
diff --git a/tests/builtins/diff_equalities b/tests/builtins/diff_equalities
index c967b2a64eeb9dc9de674551e093ecd6fc57f977..dc9d2d37177c919701635b8c46f9ebd3a3e9d1ab 100644
--- a/tests/builtins/diff_equalities
+++ b/tests/builtins/diff_equalities
@@ -315,14 +315,10 @@ diff tests/builtins/oracle/imprecise.res.oracle tests/builtins/oracle_equalities
 <   more than 200(300) elements to enumerate. Approximating.
 < [kernel] tests/builtins/imprecise.c:114: 
 <   more than 200(300) elements to enumerate. Approximating.
-diff tests/builtins/oracle/linked_list.0.res.oracle tests/builtins/oracle_equalities/linked_list.0.res.oracle
-421a422,423
-> [kernel] tests/builtins/linked_list.c:19: 
->   more than 200(536870912) elements to enumerate. Approximating.
 diff tests/builtins/oracle/linked_list.1.res.oracle tests/builtins/oracle_equalities/linked_list.1.res.oracle
 422a423,424
 > [kernel] tests/builtins/linked_list.c:19: 
->   more than 100(0x20000000) elements to enumerate. Approximating.
+>   more than 100(128) elements to enumerate. Approximating.
 470a473,474
 > [kernel] tests/builtins/linked_list.c:43: 
 >   more than 100(128) elements to enumerate. Approximating.
diff --git a/tests/builtins/free.c b/tests/builtins/free.c
index 13a1c8e783df10bfdfa11d3db157113966818b32..f6d55190835a819d9f92c5038cc9319379f1fea5 100644
--- a/tests/builtins/free.c
+++ b/tests/builtins/free.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: #" -val-builtin malloc:Frama_C_malloc_fresh"
+   STDOPT: #" -eva-builtin malloc:Frama_C_malloc_fresh"
 */
 #include "stdlib.h" 
 volatile v;
diff --git a/tests/builtins/from_result.c b/tests/builtins/from_result.c
index 0920eadd5865be1947b0a6156f65b5ad8dc0c8bf..4c8c5dc55a2729a3ffdb66688668e56ca3ee395b 100644
--- a/tests/builtins/from_result.c
+++ b/tests/builtins/from_result.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT:  @VALUECONFIG@ -no-val-builtins-auto -deps -journal-disable
+   OPT:  @VALUECONFIG@ -eva-no-builtins-auto -deps -journal-disable
 */
 #define malloc(n) Frama_C_malloc_fresh(n)
 #include "../../share/libc/stdlib.c"
diff --git a/tests/builtins/gcc_zero_length_array.c b/tests/builtins/gcc_zero_length_array.c
index 5995a8b76305f2cee54fd4fc2a5f224530a70fc5..49102dfcfc59a49c49990330bcf851c68f8ef0c0 100644
--- a/tests/builtins/gcc_zero_length_array.c
+++ b/tests/builtins/gcc_zero_length_array.c
@@ -1,5 +1,5 @@
 /* run.config*
-  STDOPT: +"-machdep gcc_x86_32 -val-builtin malloc:Frama_C_malloc_fresh -slevel 11"
+  STDOPT: +"-machdep gcc_x86_32 -eva-builtin malloc:Frama_C_malloc_fresh -slevel 11"
  */
 #include <stdlib.h>
 
diff --git a/tests/builtins/imprecise-malloc-free.c b/tests/builtins/imprecise-malloc-free.c
index 219f3c1974acc8136a2255cd3f3364088759dc5e..0e5bcc75dcb45755de57ede0ab97fbe1d0095472 100644
--- a/tests/builtins/imprecise-malloc-free.c
+++ b/tests/builtins/imprecise-malloc-free.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: #" -val-mlevel 0 -no-val-alloc-returns-null"
+   STDOPT: #" -eva-mlevel 0 -eva-no-alloc-returns-null"
 */
 
 extern int i;
diff --git a/tests/builtins/linked_list.c b/tests/builtins/linked_list.c
index f042689c036981f565faa80329de288978abef15..8ae291e74744e1efa73304be82e7569309ae407f 100644
--- a/tests/builtins/linked_list.c
+++ b/tests/builtins/linked_list.c
@@ -1,7 +1,7 @@
 /* run.config*
-   STDOPT: #"-load-module variadic -no-val-builtins-auto"
-   STDOPT: #"-load-module variadic -plevel 100 -big-ints-hex 257 -no-val-builtins-auto"
-   STDOPT: #"-load-module variadic -slevel 12 -big-ints-hex 257 -no-val-builtins-auto"
+   STDOPT: #"-load-module variadic -eva-no-builtins-auto"
+   STDOPT: #"-load-module variadic -plevel 100 -big-ints-hex 257 -eva-no-builtins-auto"
+   STDOPT: #"-load-module variadic -slevel 12 -big-ints-hex 257 -eva-no-builtins-auto"
 */
 
 #include "__fc_define_size_t.h"
diff --git a/tests/builtins/malloc-deps.i b/tests/builtins/malloc-deps.i
index 680b54f480f5ff1460c311356785c2d04e7175db..bd7c49b8400d7153322e5ebb6ca8c88b16f76122 100644
--- a/tests/builtins/malloc-deps.i
+++ b/tests/builtins/malloc-deps.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -val @VALUECONFIG@ -deps -calldeps -inout -slevel 5 -value-msg-key malloc
+   OPT: -eva @VALUECONFIG@ -deps -calldeps -inout -slevel 5 -eva-msg-key malloc
 */
 //@ assigns \result \from \nothing;
 void *Frama_C_malloc_fresh(unsigned long n);
diff --git a/tests/builtins/malloc-optimistic.c b/tests/builtins/malloc-optimistic.c
index a6e0ff9488c99e3137dc201dd9b95eaa6b8249dc..bb1e66301f34a10a42e31ff8f1c745c6f25a35b2 100644
--- a/tests/builtins/malloc-optimistic.c
+++ b/tests/builtins/malloc-optimistic.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +"-slevel 30 -val-slevel-merge-after-loop @all -val-malloc-functions malloc -memexec-all"
+   STDOPT: +"-slevel 30 -eva-slevel-merge-after-loop @all -eva-malloc-functions malloc -eva-memexec"
 */
 
 //@ assigns \result \from \nothing;
diff --git a/tests/builtins/malloc-size-zero.c b/tests/builtins/malloc-size-zero.c
index 20cb6589c4869b89619c9fedc0d272a2ae592667..4b6d9d25485ae34e6b1ee4f34428569e269764ac 100644
--- a/tests/builtins/malloc-size-zero.c
+++ b/tests/builtins/malloc-size-zero.c
@@ -1,6 +1,6 @@
 /* run.config*
-   OPT: -val @VALUECONFIG@ -val-mlevel 3
-   OPT: -val @VALUECONFIG@ -val-malloc-functions my_calloc
+   OPT: -eva @VALUECONFIG@ -eva-mlevel 3
+   OPT: -eva @VALUECONFIG@ -eva-malloc-functions my_calloc
 */
 
 #include <stdlib.h>
diff --git a/tests/builtins/malloc.c b/tests/builtins/malloc.c
index 1acf298c3dfb1b197363aabd78f970f829456250..fd550da2c4e8e918b56daefc9d2126b8b74126b1 100644
--- a/tests/builtins/malloc.c
+++ b/tests/builtins/malloc.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -val @VALUECONFIG@ -slevel 10 -val-mlevel 0
+   OPT: -eva @VALUECONFIG@ -slevel 10 -eva-mlevel 0
 */
 
 void *Frama_C_malloc_by_stack(unsigned long i);
diff --git a/tests/builtins/malloc_bug_tr.c b/tests/builtins/malloc_bug_tr.c
index 9ae6b3bf2338a127c52fe162da4b9484a017308b..dd052d1448463d4f7e40640326a9baf333d95f99 100644
--- a/tests/builtins/malloc_bug_tr.c
+++ b/tests/builtins/malloc_bug_tr.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -val @VALUECONFIG@
+   OPT: -eva @VALUECONFIG@
 */
 
 #include <stdlib.h>
diff --git a/tests/builtins/malloc_individual.c b/tests/builtins/malloc_individual.c
index cdf55da0704b21883567b74bf96ef2b48798e75e..e85945c2ca8273433b7e09ae1e96223a4f761067 100644
--- a/tests/builtins/malloc_individual.c
+++ b/tests/builtins/malloc_individual.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: #"-no-val-builtins-auto"
+   STDOPT: #"-eva-no-builtins-auto"
 */
 #define malloc(n) Frama_C_malloc_fresh(n)
 #include "share/libc/stdlib.c"
diff --git a/tests/builtins/malloc_memexec.c b/tests/builtins/malloc_memexec.c
index 401a940df49d35cecd3324017f82c7909ea7dd4d..004e113f6197bbcd78285c831de022ed7d246e7f 100644
--- a/tests/builtins/malloc_memexec.c
+++ b/tests/builtins/malloc_memexec.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -val @VALUECONFIG@ -memexec-all -deps -inout -val-mlevel 0
+   OPT: -eva @VALUECONFIG@ -eva-memexec -deps -inout -eva-mlevel 0
 */
 
 //@ assigns \result;
diff --git a/tests/builtins/malloc_multiple.c b/tests/builtins/malloc_multiple.c
index 77d6b422bac90ed490882e7545ee29cd1e32de56..35e3141ad0c6badb4b13cf31d8dcf6eadf6d5e79 100644
--- a/tests/builtins/malloc_multiple.c
+++ b/tests/builtins/malloc_multiple.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -val @VALUECONFIG@ -slevel 50 -val-mlevel 5
+   OPT: -eva @VALUECONFIG@ -slevel 50 -eva-mlevel 5
 */
 #include<stdlib.h>
 #define MAX 10
diff --git a/tests/builtins/memcpy.c b/tests/builtins/memcpy.c
index a514011a7450de1dd6fc7ac0d52e847c645d7d43..8ef2b0ac8551bf4898b88a5605f518ea0efbdf50 100644
--- a/tests/builtins/memcpy.c
+++ b/tests/builtins/memcpy.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +"-calldeps -slevel-function init:2000 -value-msg-key imprecision -plevel 150 -main main_all -inout -no-deps -absolute-valid-range 100000-100001 -then -load-module report -report"
+   STDOPT: +"-calldeps -slevel-function init:2000 -eva-msg-key imprecision -plevel 150 -main main_all -inout -no-deps -absolute-valid-range 100000-100001 -then -load-module report -report"
 */
 #include "string.h"
 
diff --git a/tests/builtins/memcpy_invalid.c b/tests/builtins/memcpy_invalid.c
index 0756913a120a39b40c9cb55a9d59ef364bf35642..60e26a8463bd46ea2c2c3b9a0e111fedab032d6a 100644
--- a/tests/builtins/memcpy_invalid.c
+++ b/tests/builtins/memcpy_invalid.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -val @VALUECONFIG@ -journal-disable -calldeps
+   OPT: -eva @VALUECONFIG@ -journal-disable -calldeps
 */
 
 /*@ assigns \result \from min, max;
diff --git a/tests/builtins/memexec-malloc.c b/tests/builtins/memexec-malloc.c
index 7ad36cbd3f5a7cd58dc1f0b14e6c54572f05d024..0d3b65f3862bda04111181e35de553fe3a6a68c6 100644
--- a/tests/builtins/memexec-malloc.c
+++ b/tests/builtins/memexec-malloc.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: #"-val-malloc-functions alloc,Frama_C_malloc_by_stack -val-mlevel 0"
+   STDOPT: #"-eva-malloc-functions alloc,Frama_C_malloc_by_stack -eva-mlevel 0"
 */
 
 #define N 2000
diff --git a/tests/builtins/memset.c b/tests/builtins/memset.c
index e1164acd60e511bfa93eb6ac85b01594c3bfe61c..2cbdd6386c6b0dddcd8e89164c9bc57d1e9d6e1b 100644
--- a/tests/builtins/memset.c
+++ b/tests/builtins/memset.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: #"-calldeps -value-msg-key imprecision -plevel 500" +"-inout -no-deps"
+   STDOPT: #"-calldeps -eva-msg-key imprecision -plevel 500" +"-inout -no-deps"
 */
 
 #include "string.h"
diff --git a/tests/builtins/oracle/allocated.0.res.oracle b/tests/builtins/oracle/allocated.0.res.oracle
index 7c583e99a0d108b55be78768c5e3ec3f8bda29fd..53996c93021c6cccab5e34b52c79a0da159e8edb 100644
--- a/tests/builtins/oracle/allocated.0.res.oracle
+++ b/tests/builtins/oracle/allocated.0.res.oracle
@@ -233,34 +233,31 @@
 [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc
 [eva:malloc] tests/builtins/allocated.c:127: 
   resizing variable `__malloc_main_l127' (0..31/95) to fit 0..63/127
-[eva] tests/builtins/allocated.c:131: Frama_C_show_each: {0; 1; 2; 3}
+[eva] tests/builtins/allocated.c:131: Frama_C_show_each: [0..2147483647]
 [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_free
 [eva:malloc] tests/builtins/allocated.c:127: 
   strong free on bases: {__malloc_main_l127}
 [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc
 [eva:malloc] tests/builtins/allocated.c:127: 
   resizing variable `__malloc_main_l127' (0..31/127) to fit 0..63/159
-[eva] tests/builtins/allocated.c:131: Frama_C_show_each: {0; 1; 2; 3; 4}
+[eva] tests/builtins/allocated.c:131: Frama_C_show_each: [0..2147483647]
 [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_free
 [eva:malloc] tests/builtins/allocated.c:127: 
   strong free on bases: {__malloc_main_l127}
 [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc
 [eva:malloc] tests/builtins/allocated.c:127: 
   resizing variable `__malloc_main_l127' (0..31/159) to fit 0..63/191
-[eva] tests/builtins/allocated.c:131: Frama_C_show_each: {0; 1; 2; 3; 4; 5}
+[eva] tests/builtins/allocated.c:131: Frama_C_show_each: [0..2147483647]
 [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_free
 [eva:malloc] tests/builtins/allocated.c:127: 
   strong free on bases: {__malloc_main_l127}
 [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc
 [eva:malloc] tests/builtins/allocated.c:127: 
   resizing variable `__malloc_main_l127' (0..31/191) to fit 0..63/319
-[eva] tests/builtins/allocated.c:131: Frama_C_show_each: [0..9]
+[eva] tests/builtins/allocated.c:131: Frama_C_show_each: [0..2147483647]
 [eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_free
 [eva:malloc] tests/builtins/allocated.c:127: 
   strong free on bases: {__malloc_main_l127}
-[eva] tests/builtins/allocated.c:127: Call to builtin __fc_vla_alloc
-[eva:malloc] tests/builtins/allocated.c:127: 
-  resizing variable `__malloc_main_l127' (0..31/319) to fit 0..63/319
 [eva] Recording results for main
 [eva] done for function main
 [eva] tests/builtins/allocated.c:27: 
diff --git a/tests/builtins/oracle/strnlen.res.oracle b/tests/builtins/oracle/strnlen.res.oracle
index 22a88e13e197f18907637349bb50b79f4965ee19..9cacd457242f401eae1bff00691a9f9965a1881f 100644
--- a/tests/builtins/oracle/strnlen.res.oracle
+++ b/tests/builtins/oracle/strnlen.res.oracle
@@ -58,7 +58,7 @@
     [3] ∈ {100}
     [4] ∈ {101}
     [5] ∈ {0}
-  c ∈ [-2147483648..2147483646]
+  c ∈ [-2147483648..2147483646],0%2
   r1a ∈ {3}
   r1b ∈ {5}
   r1c ∈ UNINITIALIZED
diff --git a/tests/builtins/precise_memset.c b/tests/builtins/precise_memset.c
index 63f25a455c28719aed17d0c7bc92942bba3c70a7..a0ef943db027bddce81923cdad2bc8e362f90f39 100644
--- a/tests/builtins/precise_memset.c
+++ b/tests/builtins/precise_memset.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: #" -val -calldeps "
+   STDOPT: #" -eva -calldeps "
  */
 
 #include "string.h"
diff --git a/tests/builtins/realloc2.c b/tests/builtins/realloc2.c
index 0da7c1d2a93a9e994291f3c55b394e2b775fdc49..21e2de33052fd23a1de6a6f210bfb654a2e81abf 100644
--- a/tests/builtins/realloc2.c
+++ b/tests/builtins/realloc2.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: #"-val-builtin realloc:Frama_C_realloc -val-mlevel 0 -inout-callwise -inout-no-print "
+   STDOPT: #"-eva-builtin realloc:Frama_C_realloc -eva-mlevel 0 -inout-callwise -inout-no-print "
 */
 #include <stdlib.h>
 
diff --git a/tests/builtins/realloc_multiple.c b/tests/builtins/realloc_multiple.c
index 37d0f9b095a143d91aead0a08b4c2a318f21d527..8657eb4bd84b3077a25b7dd0b088be5c485624e6 100644
--- a/tests/builtins/realloc_multiple.c
+++ b/tests/builtins/realloc_multiple.c
@@ -1,6 +1,6 @@
 /* run.config*
-   STDOPT: +"-slevel 10 -val-builtin malloc:Frama_C_malloc_fresh,realloc:Frama_C_realloc_multiple -val-malloc-functions malloc,realloc"
-   STDOPT: +"-slevel 10 -val-builtin malloc:Frama_C_malloc_fresh,realloc:Frama_C_realloc_multiple -val-malloc-functions malloc,realloc -val-alloc-returns-null"
+   STDOPT: +"-slevel 10 -eva-builtin malloc:Frama_C_malloc_fresh,realloc:Frama_C_realloc_multiple -eva-malloc-functions malloc,realloc"
+   STDOPT: +"-slevel 10 -eva-builtin malloc:Frama_C_malloc_fresh,realloc:Frama_C_realloc_multiple -eva-malloc-functions malloc,realloc -eva-alloc-returns-null"
 */
 #include <stdlib.h>
 #include "__fc_builtin.h"
diff --git a/tests/builtins/test_config b/tests/builtins/test_config
index c1f25beffbf9d65504796bd550721f5c4bcfdb59..08ed11b4566bf3ec0f00076bee9a279351f7f06e 100644
--- a/tests/builtins/test_config
+++ b/tests/builtins/test_config
@@ -1,2 +1,2 @@
-MACRO: VALUECONFIG -val-show-progress  -no-autoload-plugins -load-module from,inout,eva,scope,variadic -value-msg-key malloc -eva-warn-key malloc:weak=feedback -no-val-alloc-returns-null
-OPT: -val @VALUECONFIG@ -journal-disable -out -input -deps
+MACRO: VALUECONFIG -eva-show-progress  -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-msg-key malloc -eva-warn-key malloc:weak=feedback -eva-no-alloc-returns-null
+OPT: -eva @VALUECONFIG@ -journal-disable -out -input -deps
diff --git a/tests/builtins/test_config_apron b/tests/builtins/test_config_apron
index 0e145fb82e434536d4903947010bda4f739b9746..376825b23c64d0264068c5a6d1e310c6af6a97a0 100644
--- a/tests/builtins/test_config_apron
+++ b/tests/builtins/test_config_apron
@@ -1,2 +1,2 @@
-MACRO: VALUECONFIG -val-show-progress  -no-autoload-plugins -load-module from,inout,eva,scope,variadic -value-msg-key malloc -value-warn-key malloc:weak=feedback -no-val-alloc-returns-null -eva-apron-oct -value-msg-key experimental-ok
-OPT: -val @VALUECONFIG@ -journal-disable -out -input -deps
+MACRO: VALUECONFIG -eva-show-progress  -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-msg-key malloc -eva-warn-key malloc:weak=feedback -eva-no-alloc-returns-null -eva-apron-oct -eva-msg-key experimental-ok
+OPT: -eva @VALUECONFIG@ -journal-disable -out -input -deps
diff --git a/tests/builtins/test_config_bitwise b/tests/builtins/test_config_bitwise
index 9bc9c21dcc2cf49bc6842545bd3b6c1057988aef..a7dce705feff619ade24257304db07538dbb57bb 100644
--- a/tests/builtins/test_config_bitwise
+++ b/tests/builtins/test_config_bitwise
@@ -1,2 +1,2 @@
-MACRO: VALUECONFIG -val-show-progress  -no-autoload-plugins -load-module from,inout,eva,scope,variadic -value-msg-key malloc -value-warn-key malloc:weak=feedback -no-val-alloc-returns-null -eva-bitwise-domain
-OPT: -val @VALUECONFIG@ -journal-disable -out -input -deps
+MACRO: VALUECONFIG -eva-show-progress  -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-msg-key malloc -eva-warn-key malloc:weak=feedback -eva-no-alloc-returns-null -eva-bitwise-domain
+OPT: -eva @VALUECONFIG@ -journal-disable -out -input -deps
diff --git a/tests/builtins/test_config_equalities b/tests/builtins/test_config_equalities
index 51a438090dba09e16af3bef9c98195e85134bcc5..bdbf2638f30424ef954f1f1d3980ce0080fcda8f 100644
--- a/tests/builtins/test_config_equalities
+++ b/tests/builtins/test_config_equalities
@@ -1,2 +1,2 @@
-MACRO: VALUECONFIG -val-show-progress  -no-autoload-plugins -load-module from,inout,eva,scope,variadic -value-msg-key malloc -value-warn-key malloc:weak=feedback -no-val-alloc-returns-null -eva-equality-domain
-OPT: -val @VALUECONFIG@ -journal-disable -out -input -deps
+MACRO: VALUECONFIG -eva-show-progress  -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-msg-key malloc -eva-warn-key malloc:weak=feedback -eva-no-alloc-returns-null -eva-equality-domain
+OPT: -eva @VALUECONFIG@ -journal-disable -out -input -deps
diff --git a/tests/builtins/test_config_gauges b/tests/builtins/test_config_gauges
index 16570e0d70357b3336bb3a0a78364da447552176..49a71af4206b1ca590f23640858ace79657137e2 100644
--- a/tests/builtins/test_config_gauges
+++ b/tests/builtins/test_config_gauges
@@ -1,2 +1,2 @@
-MACRO: VALUECONFIG -val-show-progress  -no-autoload-plugins -load-module from,inout,eva,scope,variadic -value-msg-key malloc -value-warn-key malloc:weak=feedback -no-val-alloc-returns-null -eva-gauges-domain
-OPT: -val @VALUECONFIG@ -journal-disable -out -input -deps
+MACRO: VALUECONFIG -eva-show-progress  -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-msg-key malloc -eva-warn-key malloc:weak=feedback -eva-no-alloc-returns-null -eva-gauges-domain
+OPT: -eva @VALUECONFIG@ -journal-disable -out -input -deps
diff --git a/tests/builtins/test_config_symblocs b/tests/builtins/test_config_symblocs
index 7d20e769b6cdfeb15063397b98d25e32f1153748..1e778cb966369efbec9b7663111bbff65f172626 100644
--- a/tests/builtins/test_config_symblocs
+++ b/tests/builtins/test_config_symblocs
@@ -1,2 +1,2 @@
-MACRO: VALUECONFIG -val-show-progress  -no-autoload-plugins -load-module from,inout,eva,scope,variadic -value-msg-key malloc -value-warn-key malloc:weak=feedback -no-val-alloc-returns-null -eva-symbolic-locations-domain
-OPT: -val @VALUECONFIG@ -journal-disable -out -input -deps
+MACRO: VALUECONFIG -eva-show-progress  -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-msg-key malloc -eva-warn-key malloc:weak=feedback -eva-no-alloc-returns-null -eva-symbolic-locations-domain
+OPT: -eva @VALUECONFIG@ -journal-disable -out -input -deps
diff --git a/tests/builtins/vla.c b/tests/builtins/vla.c
index f4dbf4375f1884f0559de93f3be23f817f64b224..1bfefb182d06e2679293d8d33e3554699c84ebdf 100644
--- a/tests/builtins/vla.c
+++ b/tests/builtins/vla.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: #"-slevel 10 -val-builtins-auto"
+   STDOPT: #"-slevel 10 -eva-builtins-auto"
 */
 
 void f(int i) {
diff --git a/tests/builtins/write-const.c b/tests/builtins/write-const.c
index a7c1efba2e970f67922eddca322e98a527b698f1..1dc31cf43b1b253b132f814b145b8b902180c92b 100644
--- a/tests/builtins/write-const.c
+++ b/tests/builtins/write-const.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -val @VALUECONFIG@ -journal-disable -val-builtins-auto -calldeps
+   OPT: -eva @VALUECONFIG@ -journal-disable -eva-builtins-auto -calldeps
 */
 
 // This test verifies that writing in a memory location that may be const
diff --git a/tests/constant_propagation/array_pointers.i b/tests/constant_propagation/array_pointers.i
index fa39cdeed979631ffd11cb7411427d72bdcbdd85..bd9fff2b4206d45747788c218ec69966d089ffea 100644
--- a/tests/constant_propagation/array_pointers.i
+++ b/tests/constant_propagation/array_pointers.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val -val-show-progress -scf -val-show-progress -journal-disable
+   OPT: -eva -eva-show-progress -scf -eva-show-progress -journal-disable
 */
 
 void *p;
diff --git a/tests/constant_propagation/bts-1787-bis.i b/tests/constant_propagation/bts-1787-bis.i
index 9f48943e13a316ced4630c0e77c4fc70006d2b8f..01be6cb5fcfae8827b87b2f0160aa6205edc752a 100644
--- a/tests/constant_propagation/bts-1787-bis.i
+++ b/tests/constant_propagation/bts-1787-bis.i
@@ -1,7 +1,7 @@
 /* run.config
 OPT: -journal-disable -print
-OPT: -journal-disable -scf -val-show-progress
-OPT: -journal-disable -scf -val-show-progress -scf-allow-cast
+OPT: -journal-disable -scf -eva-show-progress
+OPT: -journal-disable -scf -eva-show-progress -scf-allow-cast
 */
 
 typedef struct {
diff --git a/tests/constant_propagation/bts-1787.i b/tests/constant_propagation/bts-1787.i
index e566f14644cd2423665b4efa3dcc0413bb55b0f0..a959b09e871642616cb4360f50404efb5f207821 100644
--- a/tests/constant_propagation/bts-1787.i
+++ b/tests/constant_propagation/bts-1787.i
@@ -1,6 +1,6 @@
 /* run.config
-OPT: -journal-disable -scf -val-show-progress -scf-allow-cast
-OPT: -journal-disable -scf -val-show-progress
+OPT: -journal-disable -scf -eva-show-progress -scf-allow-cast
+OPT: -journal-disable -scf -eva-show-progress
 */
 
 typedef struct {
diff --git a/tests/constant_propagation/bts117.c b/tests/constant_propagation/bts117.c
index 0ff58f5b83fbf2e9520e334260c44d0ab39940be..d7cd4b19655b51245d96a82ad57d79545b7d78e4 100644
--- a/tests/constant_propagation/bts117.c
+++ b/tests/constant_propagation/bts117.c
@@ -1,7 +1,7 @@
 /* run.config
 OPT: -journal-disable -print
-OPT: -journal-disable -semantic-const-folding -val-show-progress
-OPT: -journal-disable -sparecode-analysis -val-show-progress
+OPT: -journal-disable -semantic-const-folding -eva-show-progress
+OPT: -journal-disable -sparecode-analysis -eva-show-progress
 */
 
 int main1 (void) { 
diff --git a/tests/constant_propagation/const_field_return_struct.i b/tests/constant_propagation/const_field_return_struct.i
index 0f875461dd797d6d0b5c7e6756194217ff0041c1..9bf7ea6975b7a8a6c0e43519e2b6f6643473e833 100644
--- a/tests/constant_propagation/const_field_return_struct.i
+++ b/tests/constant_propagation/const_field_return_struct.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val -val-show-progress -scf -val-show-progress -journal-disable
+   OPT: -eva -eva-show-progress -scf -eva-show-progress -journal-disable
 */
 
 struct S {
diff --git a/tests/constant_propagation/const_propagate.c b/tests/constant_propagation/const_propagate.c
index 822620e8bdd10a788a9cf6a3c7d209d534f87bbf..4e9024ceedf1a4f63efb1d15aa1f8c00bcbd7a03 100644
--- a/tests/constant_propagation/const_propagate.c
+++ b/tests/constant_propagation/const_propagate.c
@@ -1,6 +1,6 @@
 /* run.config
-   OPT: -val -val-show-progress -deps -out -input -scf -val-show-progress -journal-disable
-   OPT: -scf -val-show-progress -cast-from-constant -semantic-const-fold add3 -main init -journal-disable
+   OPT: -eva -eva-show-progress -deps -out -input -scf -eva-show-progress -journal-disable
+   OPT: -scf -eva-show-progress -cast-from-constant -semantic-const-fold add3 -main init -journal-disable
 */
 int x,y,z;
 int TAB[10];
diff --git a/tests/constant_propagation/declaration.c b/tests/constant_propagation/declaration.c
index 851b0f86b3b5cf9e52f898157fc7e124fe8cab77..69495694b6976ebe6102494fd4bd557e51575776 100644
--- a/tests/constant_propagation/declaration.c
+++ b/tests/constant_propagation/declaration.c
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val -val-show-progress -then -scf -val-show-progress -then-on propagated -scf -val-show-progress
+   OPT: -eva -eva-show-progress -then -scf -eva-show-progress -then-on propagated -scf -eva-show-progress
 */
 
 void f(int *x, int *y, void (*p)(int *x, int *y)) {
diff --git a/tests/constant_propagation/declaration2.c b/tests/constant_propagation/declaration2.c
index 8ad98909d073578a21ddd5679c940c7c486165b4..0c2135f988d0674654f58233887f521e7fe77fc4 100644
--- a/tests/constant_propagation/declaration2.c
+++ b/tests/constant_propagation/declaration2.c
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val -val-show-progress -scf -val-show-progress -journal-disable
+   OPT: -eva -eva-show-progress -scf -eva-show-progress -journal-disable
 */
 
 void f(int *x) { (*x)++; }
diff --git a/tests/constant_propagation/enum.i b/tests/constant_propagation/enum.i
index 05c5ff78021faacf7ac856d56e82d0e5787e0b38..c36692b4ed8bf4db1691d62a71f7994022dd83ed 100644
--- a/tests/constant_propagation/enum.i
+++ b/tests/constant_propagation/enum.i
@@ -1,5 +1,5 @@
 /* run.config
-OPT: -semantic-const-folding -val-show-progress
+OPT: -semantic-const-folding -eva-show-progress
 */
 
 enum E { A, B, C, D };
diff --git a/tests/constant_propagation/fct_ptr.i b/tests/constant_propagation/fct_ptr.i
index 83cf4fc3e62db221c44d80f1e06f8cf083f70eae..12a34d58d3c1ffbd68b23d3098ecacac627fcf85 100644
--- a/tests/constant_propagation/fct_ptr.i
+++ b/tests/constant_propagation/fct_ptr.i
@@ -1,5 +1,5 @@
 /* run.config
-OPT: -scf -val-show-progress -then-on propagated
+OPT: -scf -eva-show-progress -then-on propagated
 */
 
 void (*pf)(void);
diff --git a/tests/constant_propagation/introduction_of_non_explicit_cast.c b/tests/constant_propagation/introduction_of_non_explicit_cast.c
index e357fb07067625aef32c46cc6cae626a15c9f88d..2d99b7676d0c061844695bf90822e6ed0fe5a68c 100644
--- a/tests/constant_propagation/introduction_of_non_explicit_cast.c
+++ b/tests/constant_propagation/introduction_of_non_explicit_cast.c
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -load-script tests/constant_propagation/introduction_of_non_explicit_cast.ml -val -val-show-progress -deps -journal-disable
+   OPT: -load-script tests/constant_propagation/introduction_of_non_explicit_cast.ml -eva -eva-show-progress -deps -journal-disable
 */
 
 
diff --git a/tests/constant_propagation/struct_field.i b/tests/constant_propagation/struct_field.i
index ceb93c8ca9272e1edd4e890260c8ef01b7a6a7c4..9621fff8f016094812dbc66f87fda23243676709 100644
--- a/tests/constant_propagation/struct_field.i
+++ b/tests/constant_propagation/struct_field.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val -semantic-const-folding -val-show-progress -journal-disable
+   OPT: -eva -semantic-const-folding -eva-show-progress -journal-disable
 */
 
 struct st {
diff --git a/tests/fc_script/for-find-fun.c b/tests/fc_script/for-find-fun.c
new file mode 100644
index 0000000000000000000000000000000000000000..c8c3a67560fb5a5f321117bedacb256b8884decb
--- /dev/null
+++ b/tests/fc_script/for-find-fun.c
@@ -0,0 +1,17 @@
+/* run.config
+   DONTRUN: test run by main.c
+*/
+
+int
+main2
+(char *c, int i);
+
+struct s {
+  char c;
+};
+
+struct s **main3(
+                 struct s *p1, struct s s2
+                 ) {
+
+}
diff --git a/tests/fc_script/for-find-fun2.c b/tests/fc_script/for-find-fun2.c
new file mode 100644
index 0000000000000000000000000000000000000000..3cef634fc5b462b9892fc5f66510594e8a81ed58
--- /dev/null
+++ b/tests/fc_script/for-find-fun2.c
@@ -0,0 +1,26 @@
+/* run.config
+   DONTRUN: test run by main.c
+*/
+
+struct s **	main3(
+                 struct s *p1, struct s s2
+                 )	;
+
+// tests to avoid false positives
+void f() {
+  int (*false_positive)();
+}
+
+void g() {
+  int i = 0;
+  false_positive(i);
+}
+
+void h() {
+  (void)false_positive((int)42);
+}
+
+//void false_positive();
+
+ void false_positive(); // this is a "voluntary" false negative (space before):
+                        // it allows us to avoid false positives more easily
diff --git a/tests/fc_script/main.c b/tests/fc_script/main.c
index 34b9b7c79ac1e3cbca1c44cd4696cbee7d47618a..176bf1c3e843ae5c5e9967c7c2607ec6006562d3 100644
--- a/tests/fc_script/main.c
+++ b/tests/fc_script/main.c
@@ -3,6 +3,9 @@
    EXECNOW: LOG GNUmakefile LOG make_template.res LOG make_template.err bin/frama-c-script make-template @PTEST_DIR@/result < @PTEST_DIR@/make_template.input > @PTEST_DIR@/result/make_template.res 2> @PTEST_DIR@/result/make_template.err
    EXECNOW: LOG list_files.res LOG list_files.err bin/frama-c-script list-files @PTEST_DIR@/list_files.json > @PTEST_DIR@/result/list_files.res 2> @PTEST_DIR@/result/list_files.err
    EXECNOW: LOG flamegraph.html LOG flamegraph.res LOG flamegraph.err NOGUI=1 bin/frama-c-script flamegraph @PTEST_DIR@/flamegraph.txt @PTEST_DIR@/result > @PTEST_DIR@/result/flamegraph.res 2> @PTEST_DIR@/result/flamegraph.err && rm -f @PTEST_DIR@/result/flamegraph.svg
+   EXECNOW: LOG find_fun1.res LOG find_fun1.err bin/frama-c-script find-fun main2 @PTEST_DIR@ > @PTEST_DIR@/result/find_fun1.res 2> @PTEST_DIR@/result/find_fun1.err
+   EXECNOW: LOG find_fun2.res LOG find_fun2.err bin/frama-c-script find-fun main3 @PTEST_DIR@ > @PTEST_DIR@/result/find_fun2.res 2> @PTEST_DIR@/result/find_fun2.err
+   EXECNOW: LOG find_fun3.res LOG find_fun3.err bin/frama-c-script find-fun false_positive @PTEST_DIR@ > @PTEST_DIR@/result/find_fun3.res 2> @PTEST_DIR@/result/find_fun3.err
  */
 
 void main() {
diff --git a/tests/fc_script/oracle/find_fun1.err b/tests/fc_script/oracle/find_fun1.err
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/tests/fc_script/oracle/find_fun1.res b/tests/fc_script/oracle/find_fun1.res
new file mode 100644
index 0000000000000000000000000000000000000000..a846b6beb54f9a0245507e35df7567e3d48e9245
--- /dev/null
+++ b/tests/fc_script/oracle/find_fun1.res
@@ -0,0 +1,5 @@
+Looking for 'main2' inside 5 file(s)...
+Possible declarations for function 'main2' in the following file(s):
+  tests/fc_script/for-find-fun.c
+Possible definitions for function 'main2' in the following file(s):
+  tests/fc_script/main2.c
diff --git a/tests/fc_script/oracle/find_fun2.err b/tests/fc_script/oracle/find_fun2.err
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/tests/fc_script/oracle/find_fun2.res b/tests/fc_script/oracle/find_fun2.res
new file mode 100644
index 0000000000000000000000000000000000000000..273cc015b4ef5f5ef497533511f083c50c2c63fe
--- /dev/null
+++ b/tests/fc_script/oracle/find_fun2.res
@@ -0,0 +1,5 @@
+Looking for 'main3' inside 5 file(s)...
+Possible declarations for function 'main3' in the following file(s):
+  tests/fc_script/for-find-fun2.c
+Possible definitions for function 'main3' in the following file(s):
+  tests/fc_script/for-find-fun.c
diff --git a/tests/fc_script/oracle/find_fun3.err b/tests/fc_script/oracle/find_fun3.err
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/tests/fc_script/oracle/find_fun3.res b/tests/fc_script/oracle/find_fun3.res
new file mode 100644
index 0000000000000000000000000000000000000000..a7059bd1c963ad064b030a17ef9782873c397b0d
--- /dev/null
+++ b/tests/fc_script/oracle/find_fun3.res
@@ -0,0 +1,2 @@
+Looking for 'false_positive' inside 5 file(s)...
+No declaration/definition found for function 'false_positive'
diff --git a/tests/float/absorb.c b/tests/float/absorb.c
index e150f9ced68f1bfa83c8357576dec94edc4bd4cf..ca3e781a5f7aa215aeca70d81e08c798a4d5cecf 100644
--- a/tests/float/absorb.c
+++ b/tests/float/absorb.c
@@ -1,7 +1,7 @@
 /* run.config
    COMMENT: run.config is intentionally not-*
    EXECNOW: BIN absorb.sav LOG absorb_sav.res LOG absorb_sav.err FRAMAC_PLUGIN=tests/.empty @frama-c@ -journal-disable -save @PTEST_DIR@/result/absorb.sav @PTEST_FILE@ > @PTEST_DIR@/result/absorb_sav.res 2> @PTEST_DIR@/result/absorb_sav.err
-   EXECNOW: BIN absorb.sav2 LOG absorb_sav2.res LOG absorb_sav2.err @frama-c@ -load @PTEST_DIR@/result/absorb.sav -val @VALUECONFIG@ -journal-disable -float-hex -save @PTEST_DIR@/result/absorb.sav2 > @PTEST_DIR@/result/absorb_sav2.res 2> @PTEST_DIR@/result/absorb_sav2.err
+   EXECNOW: BIN absorb.sav2 LOG absorb_sav2.res LOG absorb_sav2.err @frama-c@ -load @PTEST_DIR@/result/absorb.sav -eva @VALUECONFIG@ -journal-disable -float-hex -save @PTEST_DIR@/result/absorb.sav2 > @PTEST_DIR@/result/absorb_sav2.res 2> @PTEST_DIR@/result/absorb_sav2.err
    OPT: -load @PTEST_DIR@/result/absorb.sav2 -deps -out -input
 */
 /* run.config*
diff --git a/tests/float/builtins.c b/tests/float/builtins.c
index a4b0155beca3dafaf7913d8f1336d4871e124396..cd0301afa3e51432ff7ecdfa071d1f8f7c96df56 100644
--- a/tests/float/builtins.c
+++ b/tests/float/builtins.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -val @VALUECONFIG@ -then -main main_log_exp
+   OPT: -eva @VALUECONFIG@ -then -main main_log_exp
 */
 
 #include <__fc_builtin.h>
diff --git a/tests/float/cond.c b/tests/float/cond.c
index 8d5e88d186bdd34da863126f3ec899f9972d8a78..10ff9866c0400d46f60f48043dbd39e128ab0e40 100644
--- a/tests/float/cond.c
+++ b/tests/float/cond.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -val @VALUECONFIG@ -journal-disable -float-hex
+   OPT: -eva @VALUECONFIG@ -journal-disable -float-hex
 */
 
 #include "__fc_builtin.h"
diff --git a/tests/float/init_float.i b/tests/float/init_float.i
index 248fc3c778b6de93411a5f046ae19b79a4118286..9812272d6da6acebefa819ebe849ad279f9d048f 100644
--- a/tests/float/init_float.i
+++ b/tests/float/init_float.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT:  -val @VALUECONFIG@ -journal-disable -float-normal -lib-entry
+   OPT:  -eva @VALUECONFIG@ -journal-disable -float-normal -lib-entry
 */
 
 typedef struct S { float y; } S;
diff --git a/tests/float/math_builtins.c b/tests/float/math_builtins.c
index 7311cad66c2ff16af222db9b8c84b707a2799aa1..db8f6293442022436d2382973a30e836316f93dd 100644
--- a/tests/float/math_builtins.c
+++ b/tests/float/math_builtins.c
@@ -1,7 +1,7 @@
 /* run.config*
   FILTER: sed -e '/f32__/ s/\([0-9][.][0-9]\{6\}\)[0-9]\{10\}/\1/g'
   COMMENT: 'sed' filter is a temporary workaround due to libc imprecisions
-  STDOPT: +"-float-normal -val -eva-no-memexec -val-builtin sqrt:Frama_C_sqrt,exp:Frama_C_exp,log:Frama_C_log,log10:Frama_C_log10,cos:Frama_C_cos,sin:Frama_C_sin,atan2:Frama_C_atan2,pow:Frama_C_pow,fmod:Frama_C_fmod,sqrtf:Frama_C_sqrtf,expf:Frama_C_expf,logf:Frama_C_logf,log10f:Frama_C_log10f,powf:Frama_C_powf,floor:Frama_C_floor,ceil:Frama_C_ceil,trunc:Frama_C_trunc,round:Frama_C_round,floorf:Frama_C_floorf,ceilf:Frama_C_ceilf,truncf:Frama_C_truncf,roundf:Frama_C_roundf -then -print"
+  STDOPT: +"-float-normal -eva -eva-no-memexec -eva-builtin sqrt:Frama_C_sqrt,exp:Frama_C_exp,log:Frama_C_log,log10:Frama_C_log10,cos:Frama_C_cos,sin:Frama_C_sin,atan2:Frama_C_atan2,pow:Frama_C_pow,fmod:Frama_C_fmod,sqrtf:Frama_C_sqrtf,expf:Frama_C_expf,logf:Frama_C_logf,log10f:Frama_C_log10f,powf:Frama_C_powf,floor:Frama_C_floor,ceil:Frama_C_ceil,trunc:Frama_C_trunc,round:Frama_C_round,floorf:Frama_C_floorf,ceilf:Frama_C_ceilf,truncf:Frama_C_truncf,roundf:Frama_C_roundf -then -print"
 */ 
 #include <math.h>
 
diff --git a/tests/float/nonlin.c b/tests/float/nonlin.c
index 7cea47cda606e8aaa9bd0d7c1e1df8d7860bc72c..47d55d67984bbacb51405f8c641d2c34ce5e6b35 100644
--- a/tests/float/nonlin.c
+++ b/tests/float/nonlin.c
@@ -1,8 +1,8 @@
 /* run.config*
-   OPT: -value-msg-key nonlin -slevel 30 -val @VALUECONFIG@ -cpp-extra-args="-DFLOAT=double" -float-hex -journal-disable -val-subdivide-non-linear 0
-   OPT: -value-msg-key nonlin -slevel 30 -val @VALUECONFIG@ -cpp-extra-args="-DFLOAT=double" -float-hex -journal-disable -val-subdivide-non-linear 10
-   OPT: -value-msg-key nonlin -slevel 30 -val @VALUECONFIG@ -cpp-extra-args="-DFLOAT=float" -float-hex -journal-disable -val-subdivide-non-linear 0
-   OPT: -value-msg-key nonlin -slevel 30 -val @VALUECONFIG@ -cpp-extra-args="-DFLOAT=float" -float-hex -journal-disable -val-subdivide-non-linear 10
+   OPT: -eva-msg-key nonlin -slevel 30 -eva @VALUECONFIG@ -cpp-extra-args="-DFLOAT=double" -float-hex -journal-disable -eva-subdivide-non-linear 0
+   OPT: -eva-msg-key nonlin -slevel 30 -eva @VALUECONFIG@ -cpp-extra-args="-DFLOAT=double" -float-hex -journal-disable -eva-subdivide-non-linear 10
+   OPT: -eva-msg-key nonlin -slevel 30 -eva @VALUECONFIG@ -cpp-extra-args="-DFLOAT=float" -float-hex -journal-disable -eva-subdivide-non-linear 0
+   OPT: -eva-msg-key nonlin -slevel 30 -eva @VALUECONFIG@ -cpp-extra-args="-DFLOAT=float" -float-hex -journal-disable -eva-subdivide-non-linear 10
 */
 
 #include "__fc_builtin.h"
diff --git a/tests/float/precise_cos_sin.c b/tests/float/precise_cos_sin.c
index 8597be0695e66d411f0ede1da7fe84c29975af6a..d7f40d0632ff0fb6bcbd7637885260b7dfdf842c 100644
--- a/tests/float/precise_cos_sin.c
+++ b/tests/float/precise_cos_sin.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -val @VALUECONFIG@ -slevel 1000 -journal-disable -float-normal
+   OPT: -eva @VALUECONFIG@ -slevel 1000 -journal-disable -float-normal
 */
 
 #include <__fc_builtin.h>
diff --git a/tests/float/round10d.i b/tests/float/round10d.i
index b681bd18b637672b98d39cb1bc104fa74ab43a03..b167a89914ec4c85fe3157c8f4ea75c2c44837bb 100644
--- a/tests/float/round10d.i
+++ b/tests/float/round10d.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -val @VALUECONFIG@ -float-normal -journal-disable -no-results
+   OPT: -eva @VALUECONFIG@ -float-normal -journal-disable -no-results
 
 */
 int main()
diff --git a/tests/float/some.c b/tests/float/some.c
index 97190bb800f51ab983f5fe684b5308c4bf221a0d..e8b66bfbd66016d1b7d601951a4156400f417ca7 100644
--- a/tests/float/some.c
+++ b/tests/float/some.c
@@ -1,6 +1,6 @@
 /* run.config*
-   OPT: -val-show-slevel 10 -slevel 100 -val @VALUECONFIG@ -cpp-extra-args="-DFLOAT=double -DN=55" -float-normal -journal-disable -no-results
-   OPT: -slevel 100 -val @VALUECONFIG@ -cpp-extra-args="-DFLOAT=float -DN=26"  -float-normal -journal-disable -no-results
+   OPT: -eva-show-slevel 10 -slevel 100 -eva @VALUECONFIG@ -cpp-extra-args="-DFLOAT=double -DN=55" -float-normal -journal-disable -no-results
+   OPT: -slevel 100 -eva @VALUECONFIG@ -cpp-extra-args="-DFLOAT=float -DN=26"  -float-normal -journal-disable -no-results
 */
 
 FLOAT t[N] = { 1. } ;
diff --git a/tests/idct/diff_apron b/tests/idct/diff_apron
index 07ec6615cb68f450e80398c2a18f2b35734090c3..e3b1cc3498b58bc966268b7fde9c6f975955f128 100644
--- a/tests/idct/diff_apron
+++ b/tests/idct/diff_apron
@@ -1,5 +1,9 @@
 diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_1180_1990.res.oracle
-143,150c143,158
+147,158c147,170
+< [eva] tests/idct/ieee_1180_1990.c:85: 
+<   Reusing old results for call to IEEE_1180_1990_rand
+< [eva] tests/idct/ieee_1180_1990.c:85: 
+<   Reusing old results for call to IEEE_1180_1990_rand
 < [eva] tests/idct/ieee_1180_1990.c:85: 
 <   Reusing old results for call to IEEE_1180_1990_rand
 < [eva] tests/idct/ieee_1180_1990.c:85: 
@@ -25,7 +29,15 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
-386,404c394,427
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
+412,430c424,461
 < [eva] tests/idct/ieee_1180_1990.c:85: 
 <   Reusing old results for call to IEEE_1180_1990_rand
 < [eva] tests/idct/ieee_1180_1990.c:85: 
@@ -66,6 +78,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -80,7 +96,7 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:260.
 > [eva] Recording results for idct
 > [eva] Done for function idct
-427,431c450,461
+455,459c486,497
 < [eva] tests/idct/ieee_1180_1990.c:282: 
 <   Reusing old results for call to IEEE_1180_1990_dctf
 < [eva] tests/idct/ieee_1180_1990.c:283: 
@@ -99,7 +115,7 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:284.
 > [eva] Recording results for idct
 > [eva] Done for function idct
-458,476c488,521
+486,504c524,561
 < [eva] tests/idct/ieee_1180_1990.c:85: 
 <   Reusing old results for call to IEEE_1180_1990_rand
 < [eva] tests/idct/ieee_1180_1990.c:85: 
@@ -140,6 +156,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -154,7 +174,7 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:306.
 > [eva] Recording results for idct
 > [eva] Done for function idct
-499,503c544,555
+529,533c586,597
 < [eva] tests/idct/ieee_1180_1990.c:328: 
 <   Reusing old results for call to IEEE_1180_1990_dctf
 < [eva] tests/idct/ieee_1180_1990.c:329: 
@@ -173,7 +193,7 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:330.
 > [eva] Recording results for idct
 > [eva] Done for function idct
-527,540c579,602
+557,570c621,1920
 < [eva] tests/idct/ieee_1180_1990.c:85: 
 <   Reusing old results for call to IEEE_1180_1990_rand
 < [eva] tests/idct/ieee_1180_1990.c:85: 
@@ -213,7 +233,36 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
-562a625,812
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
+> [eva] Recording results for IEEE_1180_1990_mkbk
+> [eva] Done for function IEEE_1180_1990_mkbk
+> [eva] computing for function IEEE_1180_1990_dctf <- main.
+>   Called from tests/idct/ieee_1180_1990.c:212.
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
 > [eva] Recording results for IEEE_1180_1990_dctf
 > [eva] Done for function IEEE_1180_1990_dctf
 > [eva] computing for function IEEE_1180_1990_idctf <- main.
@@ -236,6 +285,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Call to builtin Frama_C_sqrt for function sqrt
 > [eva] tests/idct/ieee_1180_1990.c:141: 
 >   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:140: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:141: 
+>   Call to builtin Frama_C_cos for function cos
 > [eva] Recording results for IEEE_1180_1990_idctf
 > [eva] Done for function IEEE_1180_1990_idctf
 > [eva] computing for function idct <- main.
@@ -280,6 +333,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -332,6 +389,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -384,6 +445,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -402,7 +467,40 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Call to builtin Frama_C_sqrt for function sqrt
 > [eva] tests/idct/ieee_1180_1990.c:101: 
 >   Call to builtin Frama_C_cos for function cos
-588a839,1026
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] Recording results for IEEE_1180_1990_dctf
+> [eva] Done for function IEEE_1180_1990_dctf
+> [eva] computing for function IEEE_1180_1990_idctf <- main.
+>   Called from tests/idct/ieee_1180_1990.c:213.
+> [eva] tests/idct/ieee_1180_1990.c:140: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:141: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:141: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:141: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:141: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:140: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:141: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:140: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:141: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:140: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:141: 
+>   Call to builtin Frama_C_cos for function cos
 > [eva] Recording results for IEEE_1180_1990_idctf
 > [eva] Done for function IEEE_1180_1990_idctf
 > [eva] computing for function idct <- main.
@@ -447,6 +545,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -499,6 +601,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -551,6 +657,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -573,6 +683,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Call to builtin Frama_C_sqrt for function sqrt
 > [eva] tests/idct/ieee_1180_1990.c:101: 
 >   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
 > [eva] Recording results for IEEE_1180_1990_dctf
 > [eva] Done for function IEEE_1180_1990_dctf
 > [eva] computing for function IEEE_1180_1990_idctf <- main.
@@ -591,20 +705,24 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Call to builtin Frama_C_sqrt for function sqrt
 > [eva] tests/idct/ieee_1180_1990.c:141: 
 >   Call to builtin Frama_C_cos for function cos
-595,597c1033,1036
-< [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:235: Warning: 
-<   2's complement assumed for overflow
----
+> [eva] tests/idct/ieee_1180_1990.c:140: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:141: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:140: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:141: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] Recording results for IEEE_1180_1990_idctf
+> [eva] Done for function IEEE_1180_1990_idctf
 > [eva] computing for function idct <- main.
 >   Called from tests/idct/ieee_1180_1990.c:214.
 > [eva] Recording results for idct
 > [eva] Done for function idct
-602,604c1041,1048
-< [eva] tests/idct/ieee_1180_1990.c:237: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
----
+> [eva] computing for function IEEE_1180_1990_dctf <- main.
+>   Called from tests/idct/ieee_1180_1990.c:236.
+> [eva] Recording results for IEEE_1180_1990_dctf
+> [eva] Done for function IEEE_1180_1990_dctf
 > [eva] computing for function IEEE_1180_1990_idctf <- main.
 >   Called from tests/idct/ieee_1180_1990.c:237.
 > [eva] Recording results for IEEE_1180_1990_idctf
@@ -613,36 +731,12 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:238.
 > [eva] Recording results for idct
 > [eva] Done for function idct
-607,634c1051,1100
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] Recording results for IEEE_1180_1990_mkbk
-< [eva] Done for function IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:258: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:259: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:281: Warning: 
-<   2's complement assumed for overflow
-< [eva] tests/idct/ieee_1180_1990.c:282: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:283: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
----
+> [eva] computing for function IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:257.
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
@@ -693,36 +787,12 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:284.
 > [eva] Recording results for idct
 > [eva] Done for function idct
-637,664c1103,1152
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] Recording results for IEEE_1180_1990_mkbk
-< [eva] Done for function IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:304: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:305: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:327: Warning: 
-<   2's complement assumed for overflow
-< [eva] tests/idct/ieee_1180_1990.c:328: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:329: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
----
+> [eva] computing for function IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:303.
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
@@ -773,22 +843,12 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:330.
 > [eva] Recording results for idct
 > [eva] Done for function idct
-667,680c1155,1178
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
-< [eva] tests/idct/ieee_1180_1990.c:85: 
-<   Reusing old results for call to IEEE_1180_1990_rand
----
+> [eva] computing for function IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:211.
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
@@ -813,7 +873,32 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
-702a1201,1384
+> [eva] Recording results for IEEE_1180_1990_mkbk
+> [eva] Done for function IEEE_1180_1990_mkbk
+> [eva] computing for function IEEE_1180_1990_dctf <- main.
+>   Called from tests/idct/ieee_1180_1990.c:212.
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
 > [eva] Recording results for IEEE_1180_1990_dctf
 > [eva] Done for function IEEE_1180_1990_dctf
 > [eva] computing for function IEEE_1180_1990_idctf <- main.
@@ -836,6 +921,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Call to builtin Frama_C_sqrt for function sqrt
 > [eva] tests/idct/ieee_1180_1990.c:141: 
 >   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:140: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:141: 
+>   Call to builtin Frama_C_cos for function cos
 > [eva] Recording results for IEEE_1180_1990_idctf
 > [eva] Done for function IEEE_1180_1990_idctf
 > [eva] computing for function idct <- main.
@@ -880,9 +969,13 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
-> [eva] Recording results for IEEE_1180_1990_mkbk
-> [eva] Done for function IEEE_1180_1990_mkbk
-> [eva] computing for function IEEE_1180_1990_dctf <- main.
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
+> [eva] Recording results for IEEE_1180_1990_mkbk
+> [eva] Done for function IEEE_1180_1990_mkbk
+> [eva] computing for function IEEE_1180_1990_dctf <- main.
 >   Called from tests/idct/ieee_1180_1990.c:258.
 > [eva] Recording results for IEEE_1180_1990_dctf
 > [eva] Done for function IEEE_1180_1990_dctf
@@ -932,6 +1025,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -984,6 +1081,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -998,7 +1099,14 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Call to builtin Frama_C_cos for function cos
 > [eva] tests/idct/ieee_1180_1990.c:101: 
 >   Call to builtin Frama_C_cos for function cos
-706a1389,1526
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
 > [eva] tests/idct/ieee_1180_1990.c:100: 
 >   Call to builtin Frama_C_sqrt for function sqrt
 > [eva] tests/idct/ieee_1180_1990.c:101: 
@@ -1025,6 +1133,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Call to builtin Frama_C_sqrt for function sqrt
 > [eva] tests/idct/ieee_1180_1990.c:141: 
 >   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:140: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:141: 
+>   Call to builtin Frama_C_cos for function cos
 > [eva] Recording results for IEEE_1180_1990_idctf
 > [eva] Done for function IEEE_1180_1990_idctf
 > [eva] computing for function idct <- main.
@@ -1069,6 +1181,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -1121,6 +1237,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -1137,191 +1257,8 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 > [eva] Done for function idct
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
 >   Called from tests/idct/ieee_1180_1990.c:328.
-709,891c1529,1920
-< [eva] tests/idct/ieee_1180_1990.c:213: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:236: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:237: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:257: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:258: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:259: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:282: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:283: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:303: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:304: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:305: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:328: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:329: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:211: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:212: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:213: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:236: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:237: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:257: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:258: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:259: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:282: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:283: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:303: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:304: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:305: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:328: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:329: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:211: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:212: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:213: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:236: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:237: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:257: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:258: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:259: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:282: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:283: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:303: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:304: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:305: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:328: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:329: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:211: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:212: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:213: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:236: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:237: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:257: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:258: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:259: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:282: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:283: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:303: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:304: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:305: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:328: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:329: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:211: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:212: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:213: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:236: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:237: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:257: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:258: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:259: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:282: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:283: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:303: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:304: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:305: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:328: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:329: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
-< [eva] tests/idct/ieee_1180_1990.c:211: 
-<   Reusing old results for call to IEEE_1180_1990_mkbk
-< [eva] tests/idct/ieee_1180_1990.c:212: 
-<   Reusing old results for call to IEEE_1180_1990_dctf
-< [eva] tests/idct/ieee_1180_1990.c:213: 
-<   Reusing old results for call to IEEE_1180_1990_idctf
-< [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
----
+> [eva] Recording results for IEEE_1180_1990_dctf
+> [eva] Done for function IEEE_1180_1990_dctf
 > [eva] computing for function IEEE_1180_1990_idctf <- main.
 >   Called from tests/idct/ieee_1180_1990.c:329.
 > [eva] Recording results for IEEE_1180_1990_idctf
@@ -1356,6 +1293,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -1378,6 +1319,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Call to builtin Frama_C_sqrt for function sqrt
 > [eva] tests/idct/ieee_1180_1990.c:101: 
 >   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
 > [eva] Recording results for IEEE_1180_1990_dctf
 > [eva] Done for function IEEE_1180_1990_dctf
 > [eva] computing for function IEEE_1180_1990_idctf <- main.
@@ -1400,6 +1345,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Call to builtin Frama_C_sqrt for function sqrt
 > [eva] tests/idct/ieee_1180_1990.c:141: 
 >   Call to builtin Frama_C_cos for function cos
+> [eva] tests/idct/ieee_1180_1990.c:140: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+> [eva] tests/idct/ieee_1180_1990.c:141: 
+>   Call to builtin Frama_C_cos for function cos
 > [eva] Recording results for IEEE_1180_1990_idctf
 > [eva] Done for function IEEE_1180_1990_idctf
 > [eva] computing for function idct <- main.
@@ -1444,6 +1393,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -1496,6 +1449,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -1548,52 +1505,258 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
-> [eva] Recording results for IEEE_1180_1990_mkbk
-> [eva] Done for function IEEE_1180_1990_mkbk
-> [eva] computing for function IEEE_1180_1990_dctf <- main.
->   Called from tests/idct/ieee_1180_1990.c:212.
-> [eva] tests/idct/ieee_1180_1990.c:100: 
->   Call to builtin Frama_C_sqrt for function sqrt
-> [eva] tests/idct/ieee_1180_1990.c:101: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/ieee_1180_1990.c:101: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/ieee_1180_1990.c:101: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/ieee_1180_1990.c:101: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/ieee_1180_1990.c:100: 
->   Call to builtin Frama_C_sqrt for function sqrt
-> [eva] tests/idct/ieee_1180_1990.c:101: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/ieee_1180_1990.c:100: 
->   Call to builtin Frama_C_sqrt for function sqrt
-> [eva] tests/idct/ieee_1180_1990.c:101: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] Recording results for IEEE_1180_1990_dctf
-> [eva] Done for function IEEE_1180_1990_dctf
-> [eva] computing for function IEEE_1180_1990_idctf <- main.
->   Called from tests/idct/ieee_1180_1990.c:213.
-> [eva] tests/idct/ieee_1180_1990.c:140: 
->   Call to builtin Frama_C_sqrt for function sqrt
-> [eva] tests/idct/ieee_1180_1990.c:141: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/ieee_1180_1990.c:141: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/ieee_1180_1990.c:141: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/ieee_1180_1990.c:141: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/ieee_1180_1990.c:140: 
->   Call to builtin Frama_C_sqrt for function sqrt
-> [eva] tests/idct/ieee_1180_1990.c:141: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/ieee_1180_1990.c:140: 
->   Call to builtin Frama_C_sqrt for function sqrt
-> [eva] tests/idct/ieee_1180_1990.c:141: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] Recording results for IEEE_1180_1990_idctf
-> [eva] Done for function IEEE_1180_1990_idctf
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
+625,870c1975,2102
+< [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:236: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:237: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:257: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:258: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:259: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:282: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:283: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:303: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:304: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:305: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:328: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:329: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:211: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:212: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:213: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:236: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:237: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:257: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:258: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:259: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:282: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:283: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:303: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:304: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:305: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:328: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:329: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:211: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:212: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:213: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:236: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:237: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:257: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:258: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:259: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:282: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:283: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:303: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:304: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:305: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:328: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:329: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:211: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:212: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:213: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:236: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:237: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:257: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:258: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:259: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:282: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:283: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:303: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:304: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:305: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:328: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:329: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:211: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:212: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:213: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:236: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:237: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:257: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:258: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:259: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:282: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:283: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:303: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:304: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:305: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:328: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:329: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:211: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:212: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:213: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:236: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:237: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:257: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:258: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:259: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:282: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:283: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:303: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:304: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:305: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:328: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:329: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:211: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:212: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:213: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:236: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:237: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:257: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:258: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:259: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:282: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:283: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:303: 
+<   Reusing old results for call to IEEE_1180_1990_mkbk
+< [eva] tests/idct/ieee_1180_1990.c:304: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:305: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
+< [eva] tests/idct/ieee_1180_1990.c:328: 
+<   Reusing old results for call to IEEE_1180_1990_dctf
+< [eva] tests/idct/ieee_1180_1990.c:329: 
+<   Reusing old results for call to IEEE_1180_1990_idctf
+< [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
+---
 > [eva] computing for function idct <- main.
 >   Called from tests/idct/ieee_1180_1990.c:214.
 > [eva] Recording results for idct
@@ -1636,6 +1799,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -1688,6 +1855,10 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:85.
 > [eva] Recording results for IEEE_1180_1990_rand
 > [eva] Done for function IEEE_1180_1990_rand
+> [eva] computing for function IEEE_1180_1990_rand <- IEEE_1180_1990_mkbk <- main.
+>   Called from tests/idct/ieee_1180_1990.c:85.
+> [eva] Recording results for IEEE_1180_1990_rand
+> [eva] Done for function IEEE_1180_1990_rand
 > [eva] Recording results for IEEE_1180_1990_mkbk
 > [eva] Done for function IEEE_1180_1990_mkbk
 > [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -1714,11 +1885,3 @@ diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_apron/ieee_11
 >   Called from tests/idct/ieee_1180_1990.c:330.
 > [eva] Recording results for idct
 > [eva] Done for function idct
-928c1957
-<   M1[0..7][0..7] ∈ [--..--]
----
->   M1[0..7][0..7] ∈ [-2147483647..2147483647]
-981c2010
-<   M1[0..7][0..7] ∈ [--..--]
----
->   M1[0..7][0..7] ∈ [-2147483647..2147483647]
diff --git a/tests/idct/diff_bitwise b/tests/idct/diff_bitwise
index 19f21ca2757655aeae5469fe7ed060bf2bc7750b..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/tests/idct/diff_bitwise
+++ b/tests/idct/diff_bitwise
@@ -1,5 +0,0 @@
-diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_bitwise/ieee_1180_1990.res.oracle
-920c920
-<   i ∈ [0..2147483646]
----
->   i ∈ [0..2147483646],0%2
diff --git a/tests/idct/diff_equalities b/tests/idct/diff_equalities
index 5f09e60791d3d583e2acf66b3d51a9cd27307033..c05946b24e4198945f24cbdb5026a6409c4233b5 100644
--- a/tests/idct/diff_equalities
+++ b/tests/idct/diff_equalities
@@ -1,136 +1,132 @@
 diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_equalities/ieee_1180_1990.res.oracle
-331a332,333
+355a356,357
 > [eva] tests/idct/ieee_1180_1990.c:219: Warning: 
 >   2's complement assumed for overflow
-335a338,339
+359a362,363
 > [eva] tests/idct/ieee_1180_1990.c:220: Warning: 
 >   2's complement assumed for overflow
-341,342d344
+365,366d368
 < [eva] tests/idct/ieee_1180_1990.c:219: Warning: 
 <   2's complement assumed for overflow
-365a368,369
+391a394,395
 > [eva] tests/idct/ieee_1180_1990.c:243: Warning: 
 >   2's complement assumed for overflow
-369a374,375
+395a400,401
 > [eva] tests/idct/ieee_1180_1990.c:244: Warning: 
 >   2's complement assumed for overflow
-375,376d380
+401,402d406
 < [eva] tests/idct/ieee_1180_1990.c:243: Warning: 
 <   2's complement assumed for overflow
-397a402,405
+423a428,435
 > [eva] tests/idct/ieee_1180_1990.c:85: 
 >   Reusing old results for call to IEEE_1180_1990_rand
 > [eva] tests/idct/ieee_1180_1990.c:85: 
 >   Reusing old results for call to IEEE_1180_1990_rand
-410a419,420
+> [eva] tests/idct/ieee_1180_1990.c:85: 
+>   Reusing old results for call to IEEE_1180_1990_rand
+> [eva] tests/idct/ieee_1180_1990.c:85: 
+>   Reusing old results for call to IEEE_1180_1990_rand
+436a449,450
 > [eva] tests/idct/ieee_1180_1990.c:265: Warning: 
 >   2's complement assumed for overflow
-414a425,426
+440a455,456
 > [eva] tests/idct/ieee_1180_1990.c:266: Warning: 
 >   2's complement assumed for overflow
-420,421d431
+446,447d461
 < [eva] tests/idct/ieee_1180_1990.c:265: Warning: 
 <   2's complement assumed for overflow
-437a448,449
+465a480,481
 > [eva] tests/idct/ieee_1180_1990.c:289: Warning: 
 >   2's complement assumed for overflow
-441a454,455
+469a486,487
 > [eva] tests/idct/ieee_1180_1990.c:290: Warning: 
 >   2's complement assumed for overflow
-447,448d460
+475,476d492
 < [eva] tests/idct/ieee_1180_1990.c:289: Warning: 
 <   2's complement assumed for overflow
-469a482,485
+497a514,521
 > [eva] tests/idct/ieee_1180_1990.c:85: 
 >   Reusing old results for call to IEEE_1180_1990_rand
 > [eva] tests/idct/ieee_1180_1990.c:85: 
 >   Reusing old results for call to IEEE_1180_1990_rand
-482a499,500
+> [eva] tests/idct/ieee_1180_1990.c:85: 
+>   Reusing old results for call to IEEE_1180_1990_rand
+> [eva] tests/idct/ieee_1180_1990.c:85: 
+>   Reusing old results for call to IEEE_1180_1990_rand
+510a535,536
 > [eva] tests/idct/ieee_1180_1990.c:311: Warning: 
 >   2's complement assumed for overflow
-486a505,506
+514a541,542
 > [eva] tests/idct/ieee_1180_1990.c:312: Warning: 
 >   2's complement assumed for overflow
-492,493d511
+520,521d547
 < [eva] tests/idct/ieee_1180_1990.c:311: Warning: 
 <   2's complement assumed for overflow
-509a528,529
+539a566,567
 > [eva] tests/idct/ieee_1180_1990.c:335: Warning: 
 >   2's complement assumed for overflow
-513a534,535
+543a572,573
 > [eva] tests/idct/ieee_1180_1990.c:336: Warning: 
 >   2's complement assumed for overflow
-519,520d540
+549,550d578
 < [eva] tests/idct/ieee_1180_1990.c:335: Warning: 
 <   2's complement assumed for overflow
-540a561,564
+570a599,606
+> [eva] tests/idct/ieee_1180_1990.c:85: 
+>   Reusing old results for call to IEEE_1180_1990_rand
 > [eva] tests/idct/ieee_1180_1990.c:85: 
 >   Reusing old results for call to IEEE_1180_1990_rand
 > [eva] tests/idct/ieee_1180_1990.c:85: 
 >   Reusing old results for call to IEEE_1180_1990_rand
-548a573,578
+> [eva] tests/idct/ieee_1180_1990.c:85: 
+>   Reusing old results for call to IEEE_1180_1990_rand
+578a615,632
 > [eva] tests/idct/ieee_1180_1990.c:100: 
 >   Call to builtin Frama_C_sqrt for function sqrt
 > [eva] tests/idct/ieee_1180_1990.c:101: 
 >   Call to builtin Frama_C_cos for function cos
 > [eva] tests/idct/ieee_1180_1990.c:100: 
 >   Call to builtin Frama_C_sqrt for function sqrt
-550a581,582
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
 > [eva] tests/idct/ieee_1180_1990.c:100: 
 >   Call to builtin Frama_C_sqrt for function sqrt
-552a585,590
+> [eva] tests/idct/ieee_1180_1990.c:101: 
+>   Call to builtin Frama_C_cos for function cos
 > [eva] tests/idct/ieee_1180_1990.c:100: 
 >   Call to builtin Frama_C_sqrt for function sqrt
 > [eva] tests/idct/ieee_1180_1990.c:101: 
 >   Call to builtin Frama_C_cos for function cos
 > [eva] tests/idct/ieee_1180_1990.c:100: 
 >   Call to builtin Frama_C_sqrt for function sqrt
-574a613,618
+580a635,636
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+582a639,640
+> [eva] tests/idct/ieee_1180_1990.c:100: 
+>   Call to builtin Frama_C_sqrt for function sqrt
+604a663,676
 > [eva] tests/idct/ieee_1180_1990.c:140: 
 >   Call to builtin Frama_C_sqrt for function sqrt
 > [eva] tests/idct/ieee_1180_1990.c:141: 
 >   Call to builtin Frama_C_cos for function cos
 > [eva] tests/idct/ieee_1180_1990.c:140: 
 >   Call to builtin Frama_C_sqrt for function sqrt
-576a621,622
-> [eva] tests/idct/ieee_1180_1990.c:140: 
->   Call to builtin Frama_C_sqrt for function sqrt
-578a625,630
+> [eva] tests/idct/ieee_1180_1990.c:141: 
+>   Call to builtin Frama_C_cos for function cos
 > [eva] tests/idct/ieee_1180_1990.c:140: 
 >   Call to builtin Frama_C_sqrt for function sqrt
 > [eva] tests/idct/ieee_1180_1990.c:141: 
 >   Call to builtin Frama_C_cos for function cos
 > [eva] tests/idct/ieee_1180_1990.c:140: 
 >   Call to builtin Frama_C_sqrt for function sqrt
-620a673,676
-> [eva] tests/idct/ieee_1180_1990.c:85: 
->   Reusing old results for call to IEEE_1180_1990_rand
-> [eva] tests/idct/ieee_1180_1990.c:85: 
->   Reusing old results for call to IEEE_1180_1990_rand
-650a707,710
-> [eva] tests/idct/ieee_1180_1990.c:85: 
->   Reusing old results for call to IEEE_1180_1990_rand
-> [eva] tests/idct/ieee_1180_1990.c:85: 
->   Reusing old results for call to IEEE_1180_1990_rand
-680a741,744
-> [eva] tests/idct/ieee_1180_1990.c:85: 
->   Reusing old results for call to IEEE_1180_1990_rand
-> [eva] tests/idct/ieee_1180_1990.c:85: 
->   Reusing old results for call to IEEE_1180_1990_rand
-688a753,754
-> [eva] tests/idct/ieee_1180_1990.c:100: 
->   Call to builtin Frama_C_sqrt for function sqrt
-690a757,762
-> [eva] tests/idct/ieee_1180_1990.c:100: 
->   Call to builtin Frama_C_sqrt for function sqrt
-> [eva] tests/idct/ieee_1180_1990.c:101: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/ieee_1180_1990.c:100: 
+606a679,680
+> [eva] tests/idct/ieee_1180_1990.c:140: 
 >   Call to builtin Frama_C_sqrt for function sqrt
-692a765,770
-> [eva] tests/idct/ieee_1180_1990.c:100: 
+608a683,688
+> [eva] tests/idct/ieee_1180_1990.c:140: 
 >   Call to builtin Frama_C_sqrt for function sqrt
-> [eva] tests/idct/ieee_1180_1990.c:101: 
+> [eva] tests/idct/ieee_1180_1990.c:141: 
 >   Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/ieee_1180_1990.c:100: 
+> [eva] tests/idct/ieee_1180_1990.c:140: 
 >   Call to builtin Frama_C_sqrt for function sqrt
diff --git a/tests/idct/diff_gauges b/tests/idct/diff_gauges
index 9dadfa3ad4acafa682d4b75a2e68cf7d8501c8a7..2e026cd69baf3e0a3aaf3b9860e252aa0206841c 100644
--- a/tests/idct/diff_gauges
+++ b/tests/idct/diff_gauges
@@ -1,68 +1,7 @@
 diff tests/idct/oracle/ieee_1180_1990.res.oracle tests/idct/oracle_gauges/ieee_1180_1990.res.oracle
-51a52,55
-> [eva] tests/idct/idct.c:90: Call to builtin Frama_C_sqrt for function sqrt
-> [eva] tests/idct/idct.c:91: Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/idct.c:90: Call to builtin Frama_C_sqrt for function sqrt
-> [eva] tests/idct/idct.c:91: Call to builtin Frama_C_cos for function cos
-150a155,158
-> [eva] tests/idct/ieee_1180_1990.c:85: 
->   Reusing old results for call to IEEE_1180_1990_rand
-> [eva] tests/idct/ieee_1180_1990.c:85: 
->   Reusing old results for call to IEEE_1180_1990_rand
-198a207,214
+578a579,580
 > [eva] tests/idct/ieee_1180_1990.c:100: 
 >   Call to builtin Frama_C_sqrt for function sqrt
-> [eva] tests/idct/ieee_1180_1990.c:101: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/ieee_1180_1990.c:100: 
->   Call to builtin Frama_C_sqrt for function sqrt
-> [eva] tests/idct/ieee_1180_1990.c:101: 
->   Call to builtin Frama_C_cos for function cos
-280a297,304
-> [eva] tests/idct/ieee_1180_1990.c:140: 
->   Call to builtin Frama_C_sqrt for function sqrt
-> [eva] tests/idct/ieee_1180_1990.c:141: 
->   Call to builtin Frama_C_cos for function cos
-> [eva] tests/idct/ieee_1180_1990.c:140: 
->   Call to builtin Frama_C_sqrt for function sqrt
-> [eva] tests/idct/ieee_1180_1990.c:141: 
->   Call to builtin Frama_C_cos for function cos
-548a573,574
-> [eva] tests/idct/ieee_1180_1990.c:100: 
->   Call to builtin Frama_C_sqrt for function sqrt
-574a601,602
+604a607,608
 > [eva] tests/idct/ieee_1180_1990.c:140: 
 >   Call to builtin Frama_C_sqrt for function sqrt
-688a717,718
-> [eva] tests/idct/ieee_1180_1990.c:100: 
->   Call to builtin Frama_C_sqrt for function sqrt
-891a922,950
-> [eva] tests/idct/ieee_1180_1990.c:236: 
->   Reusing old results for call to IEEE_1180_1990_dctf
-> [eva] tests/idct/ieee_1180_1990.c:237: 
->   Reusing old results for call to IEEE_1180_1990_idctf
-> [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
-> [eva] tests/idct/ieee_1180_1990.c:257: 
->   Reusing old results for call to IEEE_1180_1990_mkbk
-> [eva] tests/idct/ieee_1180_1990.c:258: 
->   Reusing old results for call to IEEE_1180_1990_dctf
-> [eva] tests/idct/ieee_1180_1990.c:259: 
->   Reusing old results for call to IEEE_1180_1990_idctf
-> [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
-> [eva] tests/idct/ieee_1180_1990.c:282: 
->   Reusing old results for call to IEEE_1180_1990_dctf
-> [eva] tests/idct/ieee_1180_1990.c:283: 
->   Reusing old results for call to IEEE_1180_1990_idctf
-> [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
-> [eva] tests/idct/ieee_1180_1990.c:303: 
->   Reusing old results for call to IEEE_1180_1990_mkbk
-> [eva] tests/idct/ieee_1180_1990.c:304: 
->   Reusing old results for call to IEEE_1180_1990_dctf
-> [eva] tests/idct/ieee_1180_1990.c:305: 
->   Reusing old results for call to IEEE_1180_1990_idctf
-> [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
-> [eva] tests/idct/ieee_1180_1990.c:328: 
->   Reusing old results for call to IEEE_1180_1990_dctf
-> [eva] tests/idct/ieee_1180_1990.c:329: 
->   Reusing old results for call to IEEE_1180_1990_idctf
-> [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
diff --git a/tests/idct/ieee_1180_1990.c b/tests/idct/ieee_1180_1990.c
index 96312c3a4753004347b02890d161b3b4f7eed72e..1f0f4325eeb430e18ca50f20b716f4ecdcc6f207 100644
--- a/tests/idct/ieee_1180_1990.c
+++ b/tests/idct/ieee_1180_1990.c
@@ -1,6 +1,6 @@
 /* run.config*
    GCC:
-   STDOPT: +"-load-module report,scope,variadic -float-normal -no-warn-signed-overflow tests/idct/idct.c -remove-redundant-alarms -memexec-all -val-builtin sqrt:Frama_C_sqrt,cos:Frama_C_cos -then -report -report-print-properties"
+   STDOPT: +"-load-module report,scope,variadic -float-normal -no-warn-signed-overflow tests/idct/idct.c -remove-redundant-alarms -eva-memexec -eva-builtin sqrt:Frama_C_sqrt,cos:Frama_C_cos -then -report -report-print-properties"
 */
 /* IEEE_1180_1990: a testbed for IDCT accuracy
  * Copyright (C) 2001  Renaud Pacalet
diff --git a/tests/idct/oracle/ieee_1180_1990.res.oracle b/tests/idct/oracle/ieee_1180_1990.res.oracle
index 8e96d4acb601c55097c9f49a4039a07fcd16fa68..2c7e41c81de51023519cf04af34b7d44f3d10625 100644
--- a/tests/idct/oracle/ieee_1180_1990.res.oracle
+++ b/tests/idct/oracle/ieee_1180_1990.res.oracle
@@ -49,6 +49,10 @@
 [eva] tests/idct/idct.c:91: Call to builtin Frama_C_cos for function cos
 [eva] tests/idct/idct.c:90: Call to builtin Frama_C_sqrt for function sqrt
 [eva] tests/idct/idct.c:91: Call to builtin Frama_C_cos for function cos
+[eva] tests/idct/idct.c:90: Call to builtin Frama_C_sqrt for function sqrt
+[eva] tests/idct/idct.c:91: Call to builtin Frama_C_cos for function cos
+[eva] tests/idct/idct.c:90: Call to builtin Frama_C_sqrt for function sqrt
+[eva] tests/idct/idct.c:91: Call to builtin Frama_C_cos for function cos
 [eva] tests/idct/idct.c:128: starting to merge loop iterations
 [eva] tests/idct/idct.c:126: starting to merge loop iterations
 [eva:alarm] tests/idct/idct.c:129: Warning: 
@@ -148,6 +152,10 @@
   Reusing old results for call to IEEE_1180_1990_rand
 [eva] tests/idct/ieee_1180_1990.c:85: 
   Reusing old results for call to IEEE_1180_1990_rand
+[eva] tests/idct/ieee_1180_1990.c:85: 
+  Reusing old results for call to IEEE_1180_1990_rand
+[eva] tests/idct/ieee_1180_1990.c:85: 
+  Reusing old results for call to IEEE_1180_1990_rand
 [eva] Recording results for IEEE_1180_1990_mkbk
 [eva] Done for function IEEE_1180_1990_mkbk
 [eva] computing for function IEEE_1180_1990_dctf <- main.
@@ -196,6 +204,14 @@
   Call to builtin Frama_C_sqrt for function sqrt
 [eva] tests/idct/ieee_1180_1990.c:101: 
   Call to builtin Frama_C_cos for function cos
+[eva] tests/idct/ieee_1180_1990.c:100: 
+  Call to builtin Frama_C_sqrt for function sqrt
+[eva] tests/idct/ieee_1180_1990.c:101: 
+  Call to builtin Frama_C_cos for function cos
+[eva] tests/idct/ieee_1180_1990.c:100: 
+  Call to builtin Frama_C_sqrt for function sqrt
+[eva] tests/idct/ieee_1180_1990.c:101: 
+  Call to builtin Frama_C_cos for function cos
 [eva] tests/idct/ieee_1180_1990.c:108: starting to merge loop iterations
 [eva] tests/idct/ieee_1180_1990.c:105: starting to merge loop iterations
 [eva:alarm] tests/idct/ieee_1180_1990.c:109: Warning: 
@@ -278,6 +294,14 @@
   Call to builtin Frama_C_sqrt for function sqrt
 [eva] tests/idct/ieee_1180_1990.c:141: 
   Call to builtin Frama_C_cos for function cos
+[eva] tests/idct/ieee_1180_1990.c:140: 
+  Call to builtin Frama_C_sqrt for function sqrt
+[eva] tests/idct/ieee_1180_1990.c:141: 
+  Call to builtin Frama_C_cos for function cos
+[eva] tests/idct/ieee_1180_1990.c:140: 
+  Call to builtin Frama_C_sqrt for function sqrt
+[eva] tests/idct/ieee_1180_1990.c:141: 
+  Call to builtin Frama_C_cos for function cos
 [eva:alarm] tests/idct/ieee_1180_1990.c:150: Warning: 
   accessing uninitialized left-value. assert \initialized(&(*(m1 + k))[j]);
 [eva] tests/idct/ieee_1180_1990.c:149: starting to merge loop iterations
@@ -345,6 +369,8 @@
 [eva] tests/idct/ieee_1180_1990.c:215: starting to merge loop iterations
 [eva] tests/idct/ieee_1180_1990.c:234: starting to merge loop iterations
 [eva] tests/idct/ieee_1180_1990.c:233: starting to merge loop iterations
+[eva] tests/idct/ieee_1180_1990.c:235: Warning: 
+  2's complement assumed for overflow
 [eva] computing for function IEEE_1180_1990_dctf <- main.
   Called from tests/idct/ieee_1180_1990.c:236.
 [eva] Recording results for IEEE_1180_1990_dctf
@@ -422,6 +448,8 @@
 [eva] tests/idct/ieee_1180_1990.c:277: Warning: 
   2's complement assumed for overflow
 [eva] tests/idct/ieee_1180_1990.c:261: starting to merge loop iterations
+[eva] tests/idct/ieee_1180_1990.c:281: Warning: 
+  2's complement assumed for overflow
 [eva] tests/idct/ieee_1180_1990.c:280: starting to merge loop iterations
 [eva] tests/idct/ieee_1180_1990.c:279: starting to merge loop iterations
 [eva] tests/idct/ieee_1180_1990.c:282: 
@@ -494,6 +522,8 @@
 [eva] tests/idct/ieee_1180_1990.c:323: Warning: 
   2's complement assumed for overflow
 [eva] tests/idct/ieee_1180_1990.c:307: starting to merge loop iterations
+[eva] tests/idct/ieee_1180_1990.c:327: Warning: 
+  2's complement assumed for overflow
 [eva] tests/idct/ieee_1180_1990.c:326: starting to merge loop iterations
 [eva] tests/idct/ieee_1180_1990.c:325: starting to merge loop iterations
 [eva] tests/idct/ieee_1180_1990.c:328: 
@@ -593,119 +623,39 @@
 [eva] Recording results for IEEE_1180_1990_idctf
 [eva] Done for function IEEE_1180_1990_idctf
 [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
-[eva] tests/idct/ieee_1180_1990.c:235: Warning: 
-  2's complement assumed for overflow
-[eva] computing for function IEEE_1180_1990_dctf <- main.
-  Called from tests/idct/ieee_1180_1990.c:236.
-[eva] Recording results for IEEE_1180_1990_dctf
-[eva] Done for function IEEE_1180_1990_dctf
+[eva] tests/idct/ieee_1180_1990.c:236: 
+  Reusing old results for call to IEEE_1180_1990_dctf
 [eva] tests/idct/ieee_1180_1990.c:237: 
   Reusing old results for call to IEEE_1180_1990_idctf
 [eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
-[eva] computing for function IEEE_1180_1990_mkbk <- main.
-  Called from tests/idct/ieee_1180_1990.c:257.
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] Recording results for IEEE_1180_1990_mkbk
-[eva] Done for function IEEE_1180_1990_mkbk
+[eva] tests/idct/ieee_1180_1990.c:257: 
+  Reusing old results for call to IEEE_1180_1990_mkbk
 [eva] tests/idct/ieee_1180_1990.c:258: 
   Reusing old results for call to IEEE_1180_1990_dctf
 [eva] tests/idct/ieee_1180_1990.c:259: 
   Reusing old results for call to IEEE_1180_1990_idctf
 [eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
-[eva] tests/idct/ieee_1180_1990.c:281: Warning: 
-  2's complement assumed for overflow
 [eva] tests/idct/ieee_1180_1990.c:282: 
   Reusing old results for call to IEEE_1180_1990_dctf
 [eva] tests/idct/ieee_1180_1990.c:283: 
   Reusing old results for call to IEEE_1180_1990_idctf
 [eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
-[eva] computing for function IEEE_1180_1990_mkbk <- main.
-  Called from tests/idct/ieee_1180_1990.c:303.
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] Recording results for IEEE_1180_1990_mkbk
-[eva] Done for function IEEE_1180_1990_mkbk
+[eva] tests/idct/ieee_1180_1990.c:303: 
+  Reusing old results for call to IEEE_1180_1990_mkbk
 [eva] tests/idct/ieee_1180_1990.c:304: 
   Reusing old results for call to IEEE_1180_1990_dctf
 [eva] tests/idct/ieee_1180_1990.c:305: 
   Reusing old results for call to IEEE_1180_1990_idctf
 [eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
-[eva] tests/idct/ieee_1180_1990.c:327: Warning: 
-  2's complement assumed for overflow
 [eva] tests/idct/ieee_1180_1990.c:328: 
   Reusing old results for call to IEEE_1180_1990_dctf
 [eva] tests/idct/ieee_1180_1990.c:329: 
   Reusing old results for call to IEEE_1180_1990_idctf
 [eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
-[eva] computing for function IEEE_1180_1990_mkbk <- main.
-  Called from tests/idct/ieee_1180_1990.c:211.
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] tests/idct/ieee_1180_1990.c:85: 
-  Reusing old results for call to IEEE_1180_1990_rand
-[eva] Recording results for IEEE_1180_1990_mkbk
-[eva] Done for function IEEE_1180_1990_mkbk
-[eva] computing for function IEEE_1180_1990_dctf <- main.
-  Called from tests/idct/ieee_1180_1990.c:212.
-[eva] tests/idct/ieee_1180_1990.c:100: 
-  Call to builtin Frama_C_sqrt for function sqrt
-[eva] tests/idct/ieee_1180_1990.c:101: 
-  Call to builtin Frama_C_cos for function cos
-[eva] tests/idct/ieee_1180_1990.c:101: 
-  Call to builtin Frama_C_cos for function cos
-[eva] tests/idct/ieee_1180_1990.c:101: 
-  Call to builtin Frama_C_cos for function cos
-[eva] tests/idct/ieee_1180_1990.c:101: 
-  Call to builtin Frama_C_cos for function cos
-[eva] tests/idct/ieee_1180_1990.c:100: 
-  Call to builtin Frama_C_sqrt for function sqrt
-[eva] tests/idct/ieee_1180_1990.c:101: 
-  Call to builtin Frama_C_cos for function cos
-[eva] tests/idct/ieee_1180_1990.c:100: 
-  Call to builtin Frama_C_sqrt for function sqrt
-[eva] tests/idct/ieee_1180_1990.c:101: 
-  Call to builtin Frama_C_cos for function cos
-[eva] tests/idct/ieee_1180_1990.c:100: 
-  Call to builtin Frama_C_sqrt for function sqrt
-[eva] tests/idct/ieee_1180_1990.c:101: 
-  Call to builtin Frama_C_cos for function cos
-[eva] Recording results for IEEE_1180_1990_dctf
-[eva] Done for function IEEE_1180_1990_dctf
+[eva] tests/idct/ieee_1180_1990.c:211: 
+  Reusing old results for call to IEEE_1180_1990_mkbk
+[eva] tests/idct/ieee_1180_1990.c:212: 
+  Reusing old results for call to IEEE_1180_1990_dctf
 [eva] tests/idct/ieee_1180_1990.c:213: 
   Reusing old results for call to IEEE_1180_1990_idctf
 [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
@@ -889,6 +839,35 @@
 [eva] tests/idct/ieee_1180_1990.c:213: 
   Reusing old results for call to IEEE_1180_1990_idctf
 [eva] tests/idct/ieee_1180_1990.c:214: Reusing old results for call to idct
+[eva] tests/idct/ieee_1180_1990.c:236: 
+  Reusing old results for call to IEEE_1180_1990_dctf
+[eva] tests/idct/ieee_1180_1990.c:237: 
+  Reusing old results for call to IEEE_1180_1990_idctf
+[eva] tests/idct/ieee_1180_1990.c:238: Reusing old results for call to idct
+[eva] tests/idct/ieee_1180_1990.c:257: 
+  Reusing old results for call to IEEE_1180_1990_mkbk
+[eva] tests/idct/ieee_1180_1990.c:258: 
+  Reusing old results for call to IEEE_1180_1990_dctf
+[eva] tests/idct/ieee_1180_1990.c:259: 
+  Reusing old results for call to IEEE_1180_1990_idctf
+[eva] tests/idct/ieee_1180_1990.c:260: Reusing old results for call to idct
+[eva] tests/idct/ieee_1180_1990.c:282: 
+  Reusing old results for call to IEEE_1180_1990_dctf
+[eva] tests/idct/ieee_1180_1990.c:283: 
+  Reusing old results for call to IEEE_1180_1990_idctf
+[eva] tests/idct/ieee_1180_1990.c:284: Reusing old results for call to idct
+[eva] tests/idct/ieee_1180_1990.c:303: 
+  Reusing old results for call to IEEE_1180_1990_mkbk
+[eva] tests/idct/ieee_1180_1990.c:304: 
+  Reusing old results for call to IEEE_1180_1990_dctf
+[eva] tests/idct/ieee_1180_1990.c:305: 
+  Reusing old results for call to IEEE_1180_1990_idctf
+[eva] tests/idct/ieee_1180_1990.c:306: Reusing old results for call to idct
+[eva] tests/idct/ieee_1180_1990.c:328: 
+  Reusing old results for call to IEEE_1180_1990_dctf
+[eva] tests/idct/ieee_1180_1990.c:329: 
+  Reusing old results for call to IEEE_1180_1990_idctf
+[eva] tests/idct/ieee_1180_1990.c:330: Reusing old results for call to idct
 [eva:alarm] tests/idct/ieee_1180_1990.c:357: Warning: 
   accessing uninitialized left-value. assert \initialized(&res[i].pmse[j][k]);
 [eva:alarm] tests/idct/ieee_1180_1990.c:368: Warning: 
@@ -917,7 +896,7 @@
 [scope:rm_asserts] removing 16 assertion(s)
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function IEEE_1180_1990_rand:
-  i ∈ [0..2147483646]
+  i ∈ [0..2147483646],0%2
   j ∈ [0..600]
   x ∈ [0.0000000000000000 .. 600.9999997201375663]
   IEEE_1180_1990_rand_randx ∈ [--..--]
diff --git a/tests/impact/test_config b/tests/impact/test_config
index b2aad4f48595001126f643f9c986fcdbf7c85c5e..867181e4aa33cdc439cb2b044e2c409f9e79f752 100644
--- a/tests/impact/test_config
+++ b/tests/impact/test_config
@@ -1 +1 @@
-OPT: -journal-disable -impact-print -val-show-progress
+OPT: -journal-disable -impact-print -eva-show-progress
diff --git a/tests/jcdb/compile_commands.json b/tests/jcdb/compile_commands.json
index 4e2de9499f1dbb67517964f3363f5dcae6e38b35..dc47faa00ea9db4540ab33453afbd21de9f5e388 100644
--- a/tests/jcdb/compile_commands.json
+++ b/tests/jcdb/compile_commands.json
@@ -10,5 +10,9 @@
     { "directory": "tests/jcdb",
       "command": "/usr/bin/clang++ -D'MSG=\"a \\\" \\\"b\"'  -D'SINGLE_DOUBLE(a)=\"a \\\"with spaces and	tab \"' -DSOMEDEF=\"With spaces, quotes and \\-es.\" -D\"DOUBLE_SINGLE(a)=a \\\"macro with spaces and non-escaped \\\\'\\\"\"   -DEMPTY=''  -DEMPTY2= -DTEST=42	 -D'MACRO_FOR_INCR(s)=s+1' -DTOUNDEF -UTOUNDEF",
       "file": "jcdb.c"
+    },
+    {
+      "command": "testing entry without 'directory' key",
+      "file": "jcdb.c"
     }
 ]
diff --git a/tests/journal/control.i b/tests/journal/control.i
index 39c8a21bacc6793da247ecb7c22390a20964cd35..03c9193098e1b927237577588f973faaeb7a6e45 100644
--- a/tests/journal/control.i
+++ b/tests/journal/control.i
@@ -1,6 +1,6 @@
 /* run.config
    COMMENT: do not compare generated journals since they depend on current time
-   EXECNOW: BIN control_journal.ml BIN control_journal_bis.ml (./bin/toplevel.opt -journal-enable -check -val -deps -out -val-show-progress -main f -journal-name tests/journal/result/control_journal.ml tests/journal/control.i && cp tests/journal/result/control_journal.ml tests/journal/result/control_journal_bis.ml) > /dev/null 2> /dev/null
+   EXECNOW: BIN control_journal.ml BIN control_journal_bis.ml (./bin/toplevel.opt -journal-enable -check -eva -deps -out -eva-show-progress -main f -journal-name tests/journal/result/control_journal.ml tests/journal/control.i && cp tests/journal/result/control_journal.ml tests/journal/result/control_journal_bis.ml) > /dev/null 2> /dev/null
   CMD: FRAMAC_LIB=lib/fc ./bin/toplevel.byte
   OPT: -load-script tests/journal/result/control_journal -journal-disable
   CMD: FRAMAC_LIB=lib/fc ./bin/toplevel.byte
diff --git a/tests/journal/control2.c b/tests/journal/control2.c
index 23ddc595233ca4fa9916cec51ca7c8b50db6c2f3..8e04f8022b2c5bddd51246e207e48be678a99c8f 100644
--- a/tests/journal/control2.c
+++ b/tests/journal/control2.c
@@ -1,5 +1,5 @@
 /* run.config
-  EXECNOW: BIN control_journal2.ml ./bin/toplevel.opt -journal-enable -val -deps -out -main f -journal-name tests/journal/result/control_journal2.ml tests/journal/control2.c > /dev/null 2> /dev/null
+  EXECNOW: BIN control_journal2.ml ./bin/toplevel.opt -journal-enable -eva -deps -out -main f -journal-name tests/journal/result/control_journal2.ml tests/journal/control2.c > /dev/null 2> /dev/null
   EXECNOW: LOG control2_sav.res LOG control2_sav.err BIN control_journal_next2.ml FRAMAC_LIB=lib/fc ./bin/toplevel.byte -journal-enable -load-script tests/journal/result/control_journal2 -lib-entry -journal-name tests/journal/result/control_journal_next2.ml tests/journal/control2.c > ./tests/journal/result/control2_sav.res 2> ./tests/journal/result/control2_sav.err
   CMD: FRAMAC_LIB=lib/fc ./bin/toplevel.byte
   OPT: -load-script tests/journal/result/control_journal_next2
diff --git a/tests/journal/intra.i b/tests/journal/intra.i
index 7f995e7184bccb9f7321fa6505ddf97d9066ee27..e5d5ab003425ddf34ceee667dbe4ede23b9338cd 100644
--- a/tests/journal/intra.i
+++ b/tests/journal/intra.i
@@ -1,6 +1,6 @@
 /* run.config
    EXECNOW: make -s tests/journal/intra.cmxs
-   EXECNOW: BIN intra_journal.ml @frama-c@ -val-show-progress -load-module ./tests/journal/intra -journal-enable -journal-name tests/journal/result/intra_journal.ml tests/journal/intra.i > /dev/null 2> /dev/null
+   EXECNOW: BIN intra_journal.ml @frama-c@ -eva-show-progress -load-module ./tests/journal/intra -journal-enable -journal-name tests/journal/result/intra_journal.ml tests/journal/intra.i > /dev/null 2> /dev/null
    CMD: @frama-c@ -load-module ./tests/journal/intra
    OPT: -load-script tests/journal/result/intra_journal -journal-disable
 */
diff --git a/tests/libc/check_parsing_individual_headers.ml b/tests/libc/check_parsing_individual_headers.ml
index 48cf144e8e977d5284b4755beae39fe9637535bc..29066eb45e43d60b1375d4df389d319f1be5124d 100644
--- a/tests/libc/check_parsing_individual_headers.ml
+++ b/tests/libc/check_parsing_individual_headers.ml
@@ -11,7 +11,7 @@ let blacklist () =
   let libc = (Filename.concat (Sys.getenv "FRAMAC_SHARE") "libc") in
   List.map (fun f ->
       Datatype.Filepath.of_string (Filename.concat libc f))
-    ["tgmath.h"; "complex.h"; "__fc_machdep_linux_gcc_shared.h"]
+    ["tgmath.h"; "complex.h"; "__fc_machdep_linux_shared.h"]
 
 (* only goes down one level, which is enough for the libc *)
 let collect_headers libc_dir =
diff --git a/tests/libc/coverage.c b/tests/libc/coverage.c
index a8ea5340d59344ea6d3d9c2a2617fb4307f78539..40d98270dc8eff9237744fe29ebf4c816fa0b825 100644
--- a/tests/libc/coverage.c
+++ b/tests/libc/coverage.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-val-builtins-auto -val-show-progress share/libc/string.c -val -slevel 6 -metrics-eva-cover -then -metrics-libc
+   OPT: -eva-no-builtins-auto -eva-show-progress share/libc/string.c -eva -slevel 6 -metrics-eva-cover -then -metrics-libc
 */
 
 #include "string.h"
diff --git a/tests/libc/fc_libc.c b/tests/libc/fc_libc.c
index c110f77ab620ca49ccc9b96c4333bcb524f2a142..5b85156aea37ea5d264a52c07910e37b9eb1d4cd 100644
--- a/tests/libc/fc_libc.c
+++ b/tests/libc/fc_libc.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -load-script tests/libc/check_libc_naming_conventions.ml -print -cpp-extra-args='-nostdinc -Ishare/libc' -metrics -metrics-libc -load-script tests/libc/check_const.ml -load-module metrics -val @VALUECONFIG@ -then -lib-entry -no-print -metrics-no-libc
+   OPT: -load-script tests/libc/check_libc_naming_conventions.ml -print -cpp-extra-args='-nostdinc -Ishare/libc' -metrics -metrics-libc -load-script tests/libc/check_const.ml -load-module metrics -eva @VALUECONFIG@ -then -lib-entry -no-print -metrics-no-libc
    OPT: -print -print-libc
    OPT: -load-script tests/libc/check_parsing_individual_headers.ml
    CMD: ./tests/libc/check_full_libc.sh
@@ -13,7 +13,7 @@
 // functions.
 #define _XOPEN_SOURCE 600
 #define _POSIX_C_SOURCE 200112L
-
+#define _GNU_SOURCE 1
 
 #include "share/libc/fc_runtime.c"
 
@@ -63,9 +63,10 @@
 #include "__fc_define_useconds_t.h"
 #include "__fc_define_wchar_t.h"
 #include "__fc_define_wint_t.h"
+#include "__fc_gcc_builtins.h"
 #include "__fc_inet.h"
 #include "__fc_machdep.h"
-//#include "__fc_machdep_linux_gcc_shared.h"
+//#include "__fc_machdep_linux_shared.h"
 #include "fcntl.h"
 #include "__fc_select.h"
 #include "__fc_string_axiomatic.h"
diff --git a/tests/libc/inttypes_h.c b/tests/libc/inttypes_h.c
index 4fbe71cf8a26e8cc0a391cf0df53002aa4263ac9..646c8009c1f74e1168210e690797f58305b83c23 100644
--- a/tests/libc/inttypes_h.c
+++ b/tests/libc/inttypes_h.c
@@ -1,12 +1,12 @@
 /* run.config
-OPT: -kernel-msg-key pp -machdep x86_16 -print
-OPT: -kernel-msg-key pp -machdep x86_32 -print
-OPT: -kernel-msg-key pp -machdep x86_64 -print
-OPT: -kernel-msg-key pp -machdep gcc_x86_16 -print
-OPT: -kernel-msg-key pp -machdep gcc_x86_32 -print
-OPT: -kernel-msg-key pp -machdep gcc_x86_64 -print
-OPT: -kernel-msg-key pp -machdep ppc_32 -print
-OPT: -kernel-msg-key pp -machdep msvc_x86_64 -print
+OPT: -machdep x86_16 -print
+OPT: -machdep x86_32 -print
+OPT: -machdep x86_64 -print
+OPT: -machdep gcc_x86_16 -print
+OPT: -machdep gcc_x86_32 -print
+OPT: -machdep gcc_x86_64 -print
+OPT: -machdep ppc_32 -print
+OPT: -machdep msvc_x86_64 -print
 */
 
 #include <inttypes.h>
diff --git a/tests/libc/more_gcc_builtins.c b/tests/libc/more_gcc_builtins.c
new file mode 100644
index 0000000000000000000000000000000000000000..835f64e8cc80a61eacd93ae770e9db917b75881f
--- /dev/null
+++ b/tests/libc/more_gcc_builtins.c
@@ -0,0 +1,46 @@
+/* run.config
+   STDOPT: #"-machdep gcc_x86_32"
+ */
+
+
+#include <limits.h>
+
+int main() {
+  int res;
+  _Bool r = __builtin_sadd_overflow(42, 43, &res);
+  //@ assert res == 42 + 43;
+  //@ assert r == 0;
+  r = __builtin_sadd_overflow(42, INT_MAX, &res);
+  //@ assert res == (int)(42 + INT_MAX);
+  //@ assert r == 1;
+  long lres;
+  r = __builtin_saddl_overflow(42, LONG_MAX, &lres);
+  //@ assert lres == (long)(42 + LONG_MAX);
+  //@ assert r == 1;
+  r = __builtin_saddl_overflow(-2, -LONG_MAX, &lres);
+  //@ assert lres == (long)(-2 - LONG_MAX);
+  //@ assert r == 1;
+  long long llres;
+  r = __builtin_saddll_overflow(-5, -LLONG_MAX, &llres);
+  //@ assert llres == (long long)(-5 - LLONG_MAX);
+  //@ assert r == 1;
+  unsigned ures;
+  r = __builtin_uadd_overflow(9, UINT_MAX, &ures);
+  //@ assert ures == (unsigned)(9 + UINT_MAX);
+  //@ assert r == 1;
+  unsigned long ulres;
+  r = __builtin_uaddl_overflow(9, ULONG_MAX, &ulres);
+  //@ assert ulres == (unsigned long)(9 + ULONG_MAX);
+  //@ assert r == 1;
+  unsigned long long ullres;
+  r = __builtin_uaddll_overflow(9, ULLONG_MAX, &ullres);
+  //@ assert ullres == (unsigned long long)(9 + ULLONG_MAX);
+  //@ assert r == 1;
+  r = __builtin_usubll_overflow(-5, ULLONG_MAX, &ullres);
+  //@ assert ullres == (unsigned long long)(-5 - ULLONG_MAX);
+  //@ assert r == 1;
+  r = __builtin_smulll_overflow(-1, LLONG_MIN, &llres);
+  //@ assert llres == (long long)(-1 * LLONG_MIN);
+  //@ assert r == 1;
+  return 0;
+}
diff --git a/tests/libc/netdb_c.c b/tests/libc/netdb_c.c
index c4bba7aca6d804fc27d7f76a2734b727f7cb22d8..ab3f26fe01cc2064fcbd2de3e9a4dce0f3f1c245 100644
--- a/tests/libc/netdb_c.c
+++ b/tests/libc/netdb_c.c
@@ -1,5 +1,5 @@
 /*run.config
-  STDOPT: #"-val-split-return auto -slevel 2"
+  STDOPT: #"-eva-split-return auto -slevel 2"
 */
 // Extract based on Linux Programmer's Manual, GETADDRINFO(3) man page
 #include <sys/types.h>
diff --git a/tests/libc/oracle/fc_libc.0.res.oracle b/tests/libc/oracle/fc_libc.0.res.oracle
index 70fdbed476dd6897f1d3a6ff345c8a34a98ed0b0..ffa163ed517ced7ae131d1bd9f87f61300909256 100644
--- a/tests/libc/oracle/fc_libc.0.res.oracle
+++ b/tests/libc/oracle/fc_libc.0.res.oracle
@@ -4,10 +4,10 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] tests/libc/fc_libc.c:156: assertion got status valid.
 [eva] tests/libc/fc_libc.c:157: assertion got status valid.
 [eva] tests/libc/fc_libc.c:158: assertion got status valid.
 [eva] tests/libc/fc_libc.c:159: assertion got status valid.
+[eva] tests/libc/fc_libc.c:160: assertion got status valid.
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
@@ -37,7 +37,7 @@
    wcslen (2 calls); wcsncat (0 call); wcsncpy (0 call); wmemcpy (0 call);
    wmemset (0 call); 
   
-  Undefined functions (320)
+  Undefined functions (358)
   =========================
    FD_CLR (0 call); FD_ISSET (0 call); FD_SET (0 call); FD_ZERO (0 call);
    Frama_C_abort (1 call); Frama_C_char_interval (0 call);
@@ -49,40 +49,52 @@
    Frama_C_unsigned_long_interval (0 call);
    Frama_C_unsigned_long_long_interval (0 call);
    Frama_C_unsigned_short_interval (0 call); Frama_C_update_entropy (5 calls);
-   _Exit (0 call); __fc_fpclassify (0 call); __fc_fpclassifyf (0 call);
-   __va_fcntl_flock (0 call); __va_fcntl_int (0 call);
-   __va_fcntl_void (0 call); __va_ioctl_int (0 call); __va_ioctl_ptr (0 call);
-   __va_ioctl_void (0 call); __va_open_mode_t (0 call);
-   __va_open_void (0 call); __va_openat_mode_t (0 call);
-   __va_openat_void (0 call); abort (0 call); accept (0 call); access (0 call);
-   acos (0 call); acosf (0 call); acosh (0 call); acoshf (0 call);
-   acoshl (0 call); acosl (0 call); alloca (0 call); asin (0 call);
-   asinf (0 call); asinl (0 call); at_quick_exit (0 call); atan (0 call);
-   atan2 (0 call); atan2f (0 call); atanf (0 call); atanl (0 call);
-   atexit (0 call); atof (0 call); atol (0 call); atoll (0 call);
-   bind (0 call); bsearch (0 call); bzero (0 call); ceil (0 call);
-   ceilf (0 call); ceill (0 call); clearerr (0 call);
-   clearerr_unlocked (0 call); clock (0 call); clock_gettime (0 call);
-   clock_nanosleep (0 call); close (0 call); closedir (0 call);
-   closelog (0 call); connect (0 call); cos (0 call); cosf (0 call);
-   cosl (0 call); creat (0 call); difftime (0 call); div (0 call);
-   dup (0 call); dup2 (0 call); execl (0 call); execle (0 call);
-   execlp (0 call); execv (0 call); execve (0 call); execvp (0 call);
-   exit (0 call); exp (0 call); expf (0 call); fabsl (0 call); fclose (0 call);
-   fcntl (0 call); fdopen (0 call); feof (2 calls); feof_unlocked (0 call);
-   ferror (2 calls); ferror_unlocked (0 call); fflush (0 call); fgetc (1 call);
-   fgetpos (0 call); fgets (0 call); fgetws (0 call); fileno (0 call);
-   fileno_unlocked (0 call); flock (0 call); flockfile (0 call);
-   floor (0 call); floorf (0 call); floorl (0 call); fmod (0 call);
-   fmodf (0 call); fopen (0 call); fork (0 call); fputc (0 call);
-   fputs (0 call); fread (0 call); free (1 call); freeaddrinfo (0 call);
-   freopen (0 call); fseek (0 call); fsetpos (0 call); ftell (0 call);
-   ftrylockfile (0 call); funlockfile (0 call); fwrite (0 call);
-   gai_strerror (0 call); getc (0 call); getc_unlocked (0 call);
-   getchar (0 call); getchar_unlocked (0 call); gethostname (0 call);
-   getitimer (0 call); getopt (0 call); getopt_long (0 call);
-   getopt_long_only (0 call); getpriority (0 call); getrlimit (0 call);
-   getrusage (0 call); gets (0 call); getsockopt (0 call);
+   _Exit (0 call); __builtin_sadd_overflow (0 call);
+   __builtin_saddl_overflow (0 call); __builtin_saddll_overflow (0 call);
+   __builtin_smul_overflow (0 call); __builtin_smull_overflow (0 call);
+   __builtin_smulll_overflow (0 call); __builtin_ssub_overflow (0 call);
+   __builtin_ssubl_overflow (0 call); __builtin_ssubll_overflow (0 call);
+   __builtin_uadd_overflow (0 call); __builtin_uaddl_overflow (0 call);
+   __builtin_uaddll_overflow (0 call); __builtin_umul_overflow (0 call);
+   __builtin_umull_overflow (0 call); __builtin_umulll_overflow (0 call);
+   __builtin_usub_overflow (0 call); __builtin_usubl_overflow (0 call);
+   __builtin_usubll_overflow (0 call); __fc_fpclassify (0 call);
+   __fc_fpclassifyf (0 call); __va_fcntl_flock (0 call);
+   __va_fcntl_int (0 call); __va_fcntl_void (0 call); __va_ioctl_int (0 call);
+   __va_ioctl_ptr (0 call); __va_ioctl_void (0 call);
+   __va_open_mode_t (0 call); __va_open_void (0 call);
+   __va_openat_mode_t (0 call); __va_openat_void (0 call); abort (0 call);
+   accept (0 call); access (0 call); acos (0 call); acosf (0 call);
+   acosh (0 call); acoshf (0 call); acoshl (0 call); acosl (0 call);
+   alloca (0 call); asin (0 call); asinf (0 call); asinl (0 call);
+   at_quick_exit (0 call); atan (0 call); atan2 (0 call); atan2f (0 call);
+   atanf (0 call); atanl (0 call); atexit (0 call); atof (0 call);
+   atol (0 call); atoll (0 call); bind (0 call); bsearch (0 call);
+   bzero (0 call); ceil (0 call); ceilf (0 call); ceill (0 call);
+   clearerr (0 call); clearerr_unlocked (0 call); clock (0 call);
+   clock_gettime (0 call); clock_nanosleep (0 call); close (0 call);
+   closedir (0 call); closelog (0 call); connect (0 call); cos (0 call);
+   cosf (0 call); cosl (0 call); creat (0 call); ctime (0 call);
+   difftime (0 call); div (0 call); dup (0 call); dup2 (0 call);
+   execl (0 call); execle (0 call); execlp (0 call); execv (0 call);
+   execve (0 call); execvp (0 call); exit (0 call); exp (0 call);
+   expf (0 call); fabsl (0 call); fclose (0 call); fcntl (0 call);
+   fdopen (0 call); feof (2 calls); feof_unlocked (0 call); ferror (2 calls);
+   ferror_unlocked (0 call); fflush (0 call); fgetc (1 call); fgetpos (0 call);
+   fgets (0 call); fgetws (0 call); fileno (0 call); fileno_unlocked (0 call);
+   flock (0 call); flockfile (0 call); floor (0 call); floorf (0 call);
+   floorl (0 call); fmod (0 call); fmodf (0 call); fopen (0 call);
+   fork (0 call); fputc (0 call); fputs (0 call); fread (0 call);
+   free (1 call); freeaddrinfo (0 call); freopen (0 call); fseek (0 call);
+   fsetpos (0 call); ftell (0 call); ftrylockfile (0 call);
+   funlockfile (0 call); fwrite (0 call); gai_strerror (0 call); getc (0 call);
+   getc_unlocked (0 call); getchar (0 call); getchar_unlocked (0 call);
+   getcwd (0 call); getegid (0 call); geteuid (0 call); getgid (0 call);
+   gethostname (0 call); getitimer (0 call); getopt (0 call);
+   getopt_long (0 call); getopt_long_only (0 call); getpid (0 call);
+   getppid (0 call); getpriority (0 call); getpwuid (0 call);
+   getresgid (0 call); getresuid (0 call); getrlimit (0 call);
+   getrusage (0 call); gets (0 call); getsid (0 call); getsockopt (0 call);
    gettimeofday (0 call); getuid (0 call); gmtime (0 call); htonl (0 call);
    htons (0 call); iconv (0 call); iconv_close (0 call); iconv_open (0 call);
    inet_addr (0 call); inet_ntoa (0 call); inet_ntop (0 call);
@@ -95,8 +107,8 @@
    memoverlap (1 call); mkdir (0 call); mktime (0 call); nan (0 call);
    nanf (0 call); nanl (0 call); nanosleep (0 call); ntohl (0 call);
    ntohs (0 call); open (0 call); openat (0 call); opendir (0 call);
-   openlog (0 call); pclose (0 call); perror (0 call); pipe (0 call);
-   poll (0 call); popen (0 call); pow (0 call); powf (0 call);
+   openlog (0 call); pathconf (0 call); pclose (0 call); perror (0 call);
+   pipe (0 call); poll (0 call); popen (0 call); pow (0 call); powf (0 call);
    pthread_cond_broadcast (0 call); pthread_cond_destroy (0 call);
    pthread_cond_init (0 call); pthread_cond_wait (0 call);
    pthread_create (0 call); pthread_join (0 call);
@@ -108,33 +120,38 @@
    readv (0 call); realloc (3 calls); recv (0 call); recvmsg (0 call);
    remove (0 call); rename (0 call); rewind (0 call); round (0 call);
    roundf (0 call); roundl (0 call); select (0 call); send (0 call);
-   setbuf (0 call); sethostname (0 call); setitimer (0 call); setjmp (0 call);
-   setlogmask (0 call); setpriority (0 call); setrlimit (0 call);
-   setsid (0 call); setsockopt (0 call); settimeofday (0 call);
-   setvbuf (0 call); shutdown (0 call); sigaddset (0 call); sigdelset (0 call);
-   sigemptyset (0 call); sigfillset (0 call); sigismember (0 call);
-   siglongjmp (0 call); signal (0 call); sigprocmask (0 call); sin (0 call);
-   sinf (0 call); sinl (0 call); socket (0 call); socketpair (0 call);
-   sqrt (0 call); sqrtf (0 call); sqrtl (0 call); srand (0 call);
-   srand48 (0 call); srandom (0 call); stat (0 call); strcoll (0 call);
-   strcspn (0 call); strftime (0 call); strncasecmp (0 call); strpbrk (0 call);
-   strsep (0 call); strspn (0 call); strtod (0 call); strtof (0 call);
-   strtoimax (0 call); strtok (0 call); strtok_r (0 call); strtol (0 call);
-   strtold (0 call); strtoll (0 call); strtoul (0 call); strtoull (0 call);
-   strxfrm (0 call); sync (0 call); sysconf (0 call); syslog (0 call);
-   system (0 call); tcgetattr (0 call); tcsetattr (0 call); time (0 call);
-   times (0 call); tmpfile (0 call); tmpnam (0 call); trunc (0 call);
-   truncf (0 call); truncl (0 call); tzset (0 call); umask (0 call);
-   ungetc (0 call); usleep (0 call); utimes (0 call); vfprintf (0 call);
-   vfscanf (0 call); vprintf (0 call); vscanf (0 call); vsnprintf (0 call);
-   vsprintf (0 call); vsyslog (0 call); wait (0 call); waitpid (0 call);
-   wcschr (0 call); wcscmp (0 call); wcscspn (0 call); wcslcat (0 call);
-   wcslcpy (0 call); wcsncmp (0 call); wcspbrk (0 call); wcsrchr (0 call);
-   wcsspn (0 call); wcsstr (0 call); wcstombs (0 call); wctomb (0 call);
-   wmemchr (0 call); wmemcmp (0 call); wmemmove (0 call); write (0 call); 
+   setbuf (0 call); setegid (0 call); seteuid (0 call); setgid (0 call);
+   sethostname (0 call); setitimer (0 call); setjmp (0 call);
+   setlogmask (0 call); setpriority (0 call); setregid (0 call);
+   setresgid (0 call); setresuid (0 call); setreuid (0 call);
+   setrlimit (0 call); setsid (0 call); setsockopt (0 call);
+   settimeofday (0 call); setuid (0 call); setvbuf (0 call); shutdown (0 call);
+   sigaddset (0 call); sigdelset (0 call); sigemptyset (0 call);
+   sigfillset (0 call); sigismember (0 call); siglongjmp (0 call);
+   signal (0 call); sigprocmask (0 call); sin (0 call); sinf (0 call);
+   sinl (0 call); socket (0 call); socketpair (0 call); sqrt (0 call);
+   sqrtf (0 call); sqrtl (0 call); srand (0 call); srand48 (0 call);
+   srandom (0 call); stat (0 call); strcoll (0 call); strcspn (0 call);
+   strftime (0 call); strncasecmp (0 call); strpbrk (0 call); strsep (0 call);
+   strspn (0 call); strtod (0 call); strtof (0 call); strtoimax (0 call);
+   strtok (0 call); strtok_r (0 call); strtol (0 call); strtold (0 call);
+   strtoll (0 call); strtoul (0 call); strtoull (0 call); strxfrm (0 call);
+   sync (0 call); sysconf (0 call); syslog (0 call); system (0 call);
+   tcgetattr (0 call); tcsetattr (0 call); time (0 call); times (0 call);
+   tmpfile (0 call); tmpnam (0 call); trunc (0 call); truncf (0 call);
+   truncl (0 call); tzset (0 call); umask (0 call); ungetc (0 call);
+   usleep (0 call); utimes (0 call); vfprintf (0 call); vfscanf (0 call);
+   vprintf (0 call); vscanf (0 call); vsnprintf (0 call); vsprintf (0 call);
+   vsyslog (0 call); wait (0 call); waitpid (0 call); wcschr (0 call);
+   wcscmp (0 call); wcscspn (0 call); wcslcat (0 call); wcslcpy (0 call);
+   wcsncmp (0 call); wcspbrk (0 call); wcsrchr (0 call); wcsspn (0 call);
+   wcsstr (0 call); wcstombs (0 call); wctomb (0 call); wmemchr (0 call);
+   wmemcmp (0 call); wmemmove (0 call); write (0 call); 
   
-  'Extern' global variables (9)
-  =============================
+  'Extern' global variables (15)
+  ==============================
+   __fc_getpwuid_pw_dir; __fc_getpwuid_pw_gid; __fc_getpwuid_pw_name;
+   __fc_getpwuid_pw_passwd; __fc_getpwuid_pw_shell; __fc_getpwuid_pw_uid;
    __fc_hostname; __fc_mblen_state; __fc_mbtowc_state; __fc_strerror;
    __fc_wctomb_state; optarg; opterr; optopt; tzname
   
@@ -146,13 +163,13 @@
   ============== 
   Sloc = 948
   Decision point = 183
-  Global variables = 44
+  Global variables = 54
   If = 174
   Loop = 40
   Goto = 78
   Assignment = 379
   Exit point = 73
-  Function = 393
+  Function = 431
   Function call = 73
   Pointer dereferencing = 146
   Cyclomatic complexity = 256
@@ -161,6 +178,7 @@
 #include "__fc_builtin.h"
 #include "__fc_define_fd_set_t.h"
 #include "__fc_define_useconds_t.h"
+#include "__fc_gcc_builtins.h"
 #include "__fc_select.h"
 #include "alloca.h"
 #include "assert.c"
@@ -183,6 +201,7 @@
 #include "netdb.h"
 #include "poll.h"
 #include "pthread.h"
+#include "pwd.h"
 #include "setjmp.h"
 #include "signal.h"
 #include "stdarg.h"
diff --git a/tests/libc/oracle/fc_libc.1.res.oracle b/tests/libc/oracle/fc_libc.1.res.oracle
index e21d56b45d84a4b10ea1fcaf158bc7331500f8b8..388b254dc2a9885eae3ae4b6709ec8d78e129fab 100644
--- a/tests/libc/oracle/fc_libc.1.res.oracle
+++ b/tests/libc/oracle/fc_libc.1.res.oracle
@@ -31,8 +31,8 @@ struct __anonstruct_glob_t_3 {
    void (*gl_closedir)(void *) ;
    void *(*gl_readdir)(void *) ;
    void *(*gl_opendir)(char const *) ;
-   int (*gl_lstat)(char const *, void *) ;
-   int (*gl_stat)(char const *, void *) ;
+   int (*gl_lstat)(char const * __restrict , void * __restrict ) ;
+   int (*gl_stat)(char const * __restrict , void * __restrict ) ;
 };
 typedef struct __anonstruct_glob_t_3 glob_t;
 typedef int wchar_t;
@@ -291,6 +291,14 @@ struct pollfd {
    short revents ;
 };
 typedef unsigned long nfds_t;
+struct passwd {
+   char *pw_name ;
+   char *pw_passwd ;
+   uid_t pw_uid ;
+   gid_t pw_gid ;
+   char *pw_dir ;
+   char *pw_shell ;
+};
 typedef int ( jmp_buf)[5];
 struct __anonstruct_sigjmp_buf_43 {
    jmp_buf buf ;
@@ -1398,7 +1406,7 @@ extern long long atoll(char const *nptr);
     complete behaviors store_position, no_storage;
     disjoint behaviors store_position, no_storage;
  */
-extern double strtod(char const *nptr, char **endptr);
+extern double strtod(char const * __restrict nptr, char ** __restrict endptr);
 
 /*@ requires valid_nptr: \valid_read(nptr);
     requires separation: \separated(nptr, endptr);
@@ -1426,7 +1434,7 @@ extern double strtod(char const *nptr, char **endptr);
     complete behaviors store_position, no_storage;
     disjoint behaviors store_position, no_storage;
  */
-extern float strtof(char const *nptr, char **endptr);
+extern float strtof(char const * __restrict nptr, char ** __restrict endptr);
 
 /*@ requires valid_nptr: \valid_read(nptr);
     requires separation: \separated(nptr, endptr);
@@ -1454,7 +1462,8 @@ extern float strtof(char const *nptr, char **endptr);
     complete behaviors store_position, no_storage;
     disjoint behaviors store_position, no_storage;
  */
-extern long double strtold(char const *nptr, char **endptr);
+extern long double strtold(char const * __restrict nptr,
+                           char ** __restrict endptr);
 
 /*@ requires valid_nptr: \valid_read(nptr);
     requires separation: \separated(nptr, endptr);
@@ -1490,7 +1499,8 @@ extern long double strtold(char const *nptr, char **endptr);
     complete behaviors store_position, no_storage;
     disjoint behaviors store_position, no_storage;
  */
-extern long strtol(char const *nptr, char **endptr, int base);
+extern long strtol(char const * __restrict nptr, char ** __restrict endptr,
+                   int base);
 
 /*@ requires valid_nptr: \valid_read(nptr);
     requires separation: \separated(nptr, endptr);
@@ -1526,7 +1536,8 @@ extern long strtol(char const *nptr, char **endptr, int base);
     complete behaviors store_position, no_storage;
     disjoint behaviors store_position, no_storage;
  */
-extern long long strtoll(char const *nptr, char **endptr, int base);
+extern long long strtoll(char const * __restrict nptr,
+                         char ** __restrict endptr, int base);
 
 /*@ requires valid_nptr: \valid_read(nptr);
     requires separation: \separated(nptr, endptr);
@@ -1562,7 +1573,8 @@ extern long long strtoll(char const *nptr, char **endptr, int base);
     complete behaviors store_position, no_storage;
     disjoint behaviors store_position, no_storage;
  */
-extern unsigned long strtoul(char const *nptr, char **endptr, int base);
+extern unsigned long strtoul(char const * __restrict nptr,
+                             char ** __restrict endptr, int base);
 
 /*@ requires valid_nptr: \valid_read(nptr);
     requires separation: \separated(nptr, endptr);
@@ -1598,7 +1610,8 @@ extern unsigned long strtoul(char const *nptr, char **endptr, int base);
     complete behaviors store_position, no_storage;
     disjoint behaviors store_position, no_storage;
  */
-extern unsigned long long strtoull(char const *nptr, char **endptr, int base);
+extern unsigned long long strtoull(char const * __restrict nptr,
+                                   char ** __restrict endptr, int base);
 
 /*@ ghost
 extern int __fc_random_counter __attribute__((__unused__, __FRAMA_C_MODEL__));
@@ -1860,7 +1873,8 @@ extern int mblen(char const *s, size_t n);
       \from (indirect: s), *(s + (0 .. n - 1)), (indirect: n),
             __fc_mbtowc_state;
  */
-extern int mbtowc(wchar_t *pwc, char const *s, size_t n);
+extern int mbtowc(wchar_t * __restrict pwc, char const * __restrict s,
+                  size_t n);
 
 /*@ ghost extern int __fc_wctomb_state; */
 
@@ -1878,7 +1892,8 @@ extern int wctomb(char *s, wchar_t wc);
     assigns *(pwcs + (0 .. n - 1))
       \from (indirect: s), *(s + (0 .. n - 1)), (indirect: n);
  */
-extern size_t mbstowcs(wchar_t *pwcs, char const *s, size_t n);
+extern size_t mbstowcs(wchar_t * __restrict pwcs, char const * __restrict s,
+                       size_t n);
 
 /*@ requires separation: \separated(s, pwcs);
     assigns \result, *(s + (0 .. n - 1));
@@ -1888,7 +1903,8 @@ extern size_t mbstowcs(wchar_t *pwcs, char const *s, size_t n);
     assigns *(s + (0 .. n - 1))
       \from (indirect: pwcs), *(pwcs + (0 .. n - 1)), (indirect: n);
  */
-extern size_t wcstombs(char *s, wchar_t const *pwcs, size_t n);
+extern size_t wcstombs(char * __restrict s, wchar_t const * __restrict pwcs,
+                       size_t n);
 
 int glob(char const *pattern, int flags,
          int (*errfunc)(char const *epath, int eerrno), glob_t *pglob)
@@ -1995,7 +2011,8 @@ imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom);
     assigns *(endptr + (..)) \from *(nptr + (..)), base;
     assigns __fc_errno \from *(nptr + (..)), base;
  */
-extern intmax_t strtoimax(char const *nptr, char **endptr, int base);
+extern intmax_t strtoimax(char const * __restrict nptr,
+                          char ** __restrict endptr, int base);
 
 /*@ requires abs_representable: (long long)(-c) ≢ c;
     assigns \result;
@@ -2032,7 +2049,7 @@ imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom)
 
 struct lconv *__frama_c_locale;
 
-char *__frama_c_locale_names[1];
+char *__frama_c_locale_names[512];
 
 char *setlocale(int category, char const *locale);
 
@@ -2064,7 +2081,7 @@ struct lconv __C_locale =
    .int_p_sign_posn = (char)127,
    .int_n_sign_posn = (char)127};
 struct lconv *__frama_c_locale = & __C_locale;
-char *__frama_c_locale_names[1] = {(char *)"C"};
+char *__frama_c_locale_names[512] = {(char *)"C"};
 /*@ requires
       locale_null_or_valid_string:
         locale ≡ \null ∨ valid_read_string(locale);
@@ -2880,7 +2897,8 @@ extern int sigismember(sigset_t const *set, int signum);
     assigns oldset ≡ \null? \empty: *oldset
       \from (indirect: how), (indirect: oldset);
  */
-extern int sigprocmask(int how, sigset_t const *set, sigset_t *oldset);
+extern int sigprocmask(int how, sigset_t const * __restrict set,
+                       sigset_t * __restrict oldset);
 
 /*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
     assigns \result;
@@ -3205,8 +3223,10 @@ char *__fc_gai_strerror = (char *)"<error message reported by gai_strerror>";
  */
 extern char const *gai_strerror(int errcode);
 
-int getaddrinfo(char const *nodename, char const *servname,
-                struct addrinfo const *hints, struct addrinfo **res);
+int getaddrinfo(char const * __restrict nodename,
+                char const * __restrict servname,
+                struct addrinfo const * __restrict hints,
+                struct addrinfo ** __restrict res);
 
 static unsigned int volatile getaddrinfo_net_state;
 /*@ requires
@@ -3244,8 +3264,10 @@ static unsigned int volatile getaddrinfo_net_state;
     complete behaviors normal_request, empty_request;
     disjoint behaviors normal_request, empty_request;
  */
-int getaddrinfo(char const *nodename, char const *servname,
-                struct addrinfo const *hints, struct addrinfo **res)
+int getaddrinfo(char const * __restrict nodename,
+                char const * __restrict servname,
+                struct addrinfo const * __restrict hints,
+                struct addrinfo ** __restrict res)
 {
   int __retres;
   if (nodename == (char const *)0) 
@@ -3370,7 +3392,8 @@ extern int fflush(FILE *stream);
       \from (indirect: *(filename + (..))), (indirect: *(mode + (..))),
             __fc_p_fopen;
  */
-extern FILE *fopen(char const *filename, char const *mode);
+extern FILE *fopen(char const * __restrict filename,
+                   char const * __restrict mode);
 
 /*@ requires valid_mode: valid_read_string(mode);
     ensures
@@ -3401,15 +3424,17 @@ extern FILE *fdopen(int fd, char const *mode);
       \from (indirect: *(filename + (..))), (indirect: *(mode + (..))),
             __fc_p_fopen, (indirect: stream);
  */
-extern FILE *freopen(char const *filename, char const *mode, FILE *stream);
+extern FILE *freopen(char const * __restrict filename,
+                     char const * __restrict mode, FILE * __restrict stream);
 
 /*@ assigns *stream;
     assigns *stream \from buf; */
-extern void setbuf(FILE *stream, char *buf);
+extern void setbuf(FILE * __restrict stream, char * __restrict buf);
 
 /*@ assigns *stream;
     assigns *stream \from buf, mode, size; */
-extern int setvbuf(FILE *stream, char *buf, int mode, size_t size);
+extern int setvbuf(FILE * __restrict stream, char * __restrict buf, int mode,
+                   size_t size);
 
 /*@ axiomatic format_length {
       logic ℤ format_length{L}(char *format) ;
@@ -3419,29 +3444,33 @@ extern int setvbuf(FILE *stream, char *buf, int mode, size_t size);
 */
 /*@ assigns *stream;
     assigns *stream \from *(format + (..)), arg; */
-extern int vfprintf(FILE *stream, char const *format, va_list arg);
+extern int vfprintf(FILE * __restrict stream, char const * __restrict format,
+                    va_list arg);
 
 /*@ assigns *stream;
     assigns *stream \from *(format + (..)), *stream; */
-extern int vfscanf(FILE *stream, char const *format, va_list arg);
+extern int vfscanf(FILE * __restrict stream, char const * __restrict format,
+                   va_list arg);
 
 /*@ assigns *__fc_stdout;
     assigns *__fc_stdout \from arg; */
-extern int vprintf(char const *format, va_list arg);
+extern int vprintf(char const * __restrict format, va_list arg);
 
 /*@ assigns *__fc_stdin;
     assigns *__fc_stdin \from *(format + (..)); */
-extern int vscanf(char const *format, va_list arg);
+extern int vscanf(char const * __restrict format, va_list arg);
 
 /*@ assigns *(s + (0 .. n - 1));
     assigns *(s + (0 .. n - 1)) \from *(format + (..)), arg;
  */
-extern int vsnprintf(char *s, size_t n, char const *format, va_list arg);
+extern int vsnprintf(char * __restrict s, size_t n,
+                     char const * __restrict format, va_list arg);
 
 /*@ assigns *(s + (0 ..));
     assigns *(s + (0 ..)) \from *(format + (..)), arg;
  */
-extern int vsprintf(char *s, char const *format, va_list arg);
+extern int vsprintf(char * __restrict s, char const * __restrict format,
+                    va_list arg);
 
 /*@ requires valid_stream: \valid(stream);
     ensures result_uchar_or_eof: (0 ≤ \result ≤ 255) ∨ \result ≡ -1;
@@ -3460,14 +3489,14 @@ extern int fgetc(FILE *stream);
     assigns *(s + (0 .. size)) \from (indirect: size), (indirect: *stream);
     assigns \result \from s, (indirect: size), (indirect: *stream);
  */
-extern char *fgets(char *s, int size, FILE *stream);
+extern char *fgets(char * __restrict s, int size, FILE * __restrict stream);
 
 /*@ assigns *stream; */
 extern int fputc(int c, FILE *stream);
 
 /*@ assigns *stream;
     assigns *stream \from *(s + (..)); */
-extern int fputs(char const *s, FILE *stream);
+extern int fputs(char const * __restrict s, FILE * __restrict stream);
 
 /*@ assigns \result, *stream;
     assigns \result \from *stream;
@@ -3513,7 +3542,8 @@ extern int ungetc(int c, FILE *stream);
       \from size, nmemb, *stream;
     assigns \result \from size, *stream;
  */
-extern size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
+extern size_t fread(void * __restrict ptr, size_t size, size_t nmemb,
+                    FILE * __restrict stream);
 
 /*@ requires
       valid_ptr_block: \valid_read((char *)ptr + (0 .. nmemb * size - 1));
@@ -3523,11 +3553,12 @@ extern size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
     assigns *stream \from *((char *)ptr + (0 .. nmemb * size - 1));
     assigns \result \from *((char *)ptr + (0 .. nmemb * size - 1));
  */
-extern size_t fwrite(void const *ptr, size_t size, size_t nmemb, FILE *stream);
+extern size_t fwrite(void const * __restrict ptr, size_t size, size_t nmemb,
+                     FILE * __restrict stream);
 
 /*@ assigns *pos;
     assigns *pos \from *stream; */
-extern int fgetpos(FILE *stream, fpos_t *pos);
+extern int fgetpos(FILE * __restrict stream, fpos_t * __restrict pos);
 
 /*@ requires valid_stream: \valid(stream);
     requires whence_enum: whence ≡ 0 ∨ whence ≡ 1 ∨ whence ≡ 2;
@@ -3787,7 +3818,7 @@ int memcmp(void const *s1, void const *s2, size_t n);
 
 void *memchr(void const *s, int c, size_t n);
 
-void *memcpy(void *dest, void const *src, size_t n);
+void *memcpy(void * __restrict dest, void const * __restrict src, size_t n);
 
 void *memmove(void *dest, void const *src, size_t n);
 
@@ -3907,7 +3938,7 @@ char *__fc_strtok_ptr;
     complete behaviors resume_str, new_str;
     disjoint behaviors resume_str, new_str;
  */
-extern char *strtok(char *s, char const *delim);
+extern char *strtok(char * __restrict s, char const * __restrict delim);
 
 /*@ requires valid_string_delim: valid_read_string(delim);
     requires valid_saveptr: \valid(saveptr);
@@ -3970,7 +4001,8 @@ extern char *strtok(char *s, char const *delim);
     complete behaviors resume_str, new_str;
     disjoint behaviors resume_str, new_str;
  */
-extern char *strtok_r(char *s, char const *delim, char **saveptr);
+extern char *strtok_r(char * __restrict s, char const * __restrict delim,
+                      char ** __restrict saveptr);
 
 /*@ requires
       valid_string_stringp: \valid(stringp) ∧ valid_string(*stringp);
@@ -4001,7 +4033,8 @@ char *strncat(char *dest, char const *src, size_t n);
       \from (indirect: *(src + (0 ..))), (indirect: n);
     assigns \result \from dest;
  */
-extern size_t strxfrm(char *dest, char const *src, size_t n);
+extern size_t strxfrm(char * __restrict dest, char const * __restrict src,
+                      size_t n);
 
 char *strdup(char const *s);
 
@@ -4325,7 +4358,7 @@ int unsetenv(char const *name)
       \from *((char *)src + (0 .. n - 1));
     assigns \result \from dest;
  */
-void *memcpy(void *dest, void const *src, size_t n)
+void *memcpy(void * __restrict dest, void const * __restrict src, size_t n)
 {
   {
     size_t i = (unsigned int)0;
@@ -5129,6 +5162,20 @@ extern time_t mktime(struct tm *timeptr);
  */
 extern time_t time(time_t *timer);
 
+char __fc_ctime[26];
+char * const __fc_p_ctime = (char *)(& __fc_ctime);
+/*@ requires valid_timer: \valid_read(timer);
+    requires initialization: init_timer: \initialized(timer);
+    ensures result_points_to_ctime: \result ≡ __fc_p_ctime;
+    ensures result_valid_string: valid_read_string(__fc_p_ctime);
+    assigns __fc_ctime[0 .. 25], \result;
+    assigns __fc_ctime[0 .. 25]
+      \from (indirect: *timer), (indirect: __fc_time);
+    assigns \result
+      \from (indirect: *timer), (indirect: __fc_time), __fc_p_ctime;
+ */
+extern char *ctime(time_t const *timer);
+
 struct tm __fc_time_tm;
 struct tm * const __fc_p_time_tm = & __fc_time_tm;
 /*@ ensures
@@ -5159,8 +5206,9 @@ extern struct tm *localtime(time_t const *timer);
     assigns \result
       \from (indirect: max), (indirect: *(format + (0 ..))), (indirect: *tm);
  */
-extern size_t strftime(char *s, size_t max, char const *format,
-                       struct tm const *tm);
+extern size_t strftime(char * __restrict s, size_t max,
+                       char const * __restrict format,
+                       struct tm const * __restrict tm);
 
 /*@ requires tp: \valid(tp);
     assigns \result, *tp, __fc_time;
@@ -5386,7 +5434,8 @@ extern size_t wcscspn(wchar_t const *wcs, wchar_t const *accept);
       \from (indirect: *(dest + (0 ..))), (indirect: *(src + (0 .. n - 1))),
             (indirect: n);
  */
-extern size_t wcslcat(wchar_t *dest, wchar_t const *src, size_t n);
+extern size_t wcslcat(wchar_t * __restrict dest,
+                      wchar_t const * __restrict src, size_t n);
 
 /*@ requires
       separation: dest: src:
@@ -5455,7 +5504,8 @@ extern wchar_t *wcsstr(wchar_t const *haystack, wchar_t const *needle);
     assigns *(ws + (0 .. n)) \from (indirect: n), (indirect: *stream);
     assigns \result \from ws, (indirect: n), (indirect: *stream);
  */
-extern wchar_t *fgetws(wchar_t *ws, int n, FILE *stream);
+extern wchar_t *fgetws(wchar_t * __restrict ws, int n,
+                       FILE * __restrict stream);
 
 /*@ axiomatic wformat_length {
       logic ℤ wformat_length{L}(wchar_t *format) ;
@@ -5765,6 +5815,270 @@ extern void FD_SET(int fd, fd_set *fdset);
  */
 extern void FD_ZERO(fd_set *fdset);
 
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (int)(\old(a) + \old(b));
+    ensures
+      result_overflow:
+        \old(a) + \old(b) ≡ (int)(\old(a) + \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_sadd_overflow(int a, int b, int *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (long)(\old(a) + \old(b));
+    ensures
+      result_overflow:
+        \old(a) + \old(b) ≡ (long)(\old(a) + \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_saddl_overflow(long a, long b, long *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) + \old(b));
+    ensures
+      result_overflow:
+        \old(a) + \old(b) ≡ (long long)(\old(a) + \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_saddll_overflow(long long a, long long b, long long *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) + \old(b));
+    ensures
+      result_overflow:
+        \old(a) + \old(b) ≡ (unsigned int)(\old(a) + \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_uadd_overflow(unsigned int a, unsigned int b,
+                              unsigned int *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) + \old(b));
+    ensures
+      result_overflow:
+        \old(a) + \old(b) ≡ (unsigned long)(\old(a) + \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_uaddl_overflow(unsigned long a, unsigned long b,
+                               unsigned long *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures
+      res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) + \old(b));
+    ensures
+      result_overflow:
+        \old(a) + \old(b) ≡ (unsigned long long)(\old(a) + \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_uaddll_overflow(unsigned long long a, unsigned long long b,
+                                unsigned long long *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (int)(\old(a) - \old(b));
+    ensures
+      result_overflow:
+        \old(a) - \old(b) ≡ (int)(\old(a) - \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_ssub_overflow(int a, int b, int *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (long)(\old(a) - \old(b));
+    ensures
+      result_overflow:
+        \old(a) - \old(b) ≡ (long)(\old(a) - \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_ssubl_overflow(long a, long b, long *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) - \old(b));
+    ensures
+      result_overflow:
+        \old(a) - \old(b) ≡ (long long)(\old(a) - \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_ssubll_overflow(long long a, long long b, long long *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) - \old(b));
+    ensures
+      result_overflow:
+        \old(a) - \old(b) ≡ (unsigned int)(\old(a) - \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_usub_overflow(unsigned int a, unsigned int b,
+                              unsigned int *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) - \old(b));
+    ensures
+      result_overflow:
+        \old(a) - \old(b) ≡ (unsigned long)(\old(a) - \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_usubl_overflow(unsigned long a, unsigned long b,
+                               unsigned long *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures
+      res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) - \old(b));
+    ensures
+      result_overflow:
+        \old(a) - \old(b) ≡ (unsigned long long)(\old(a) - \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_usubll_overflow(unsigned long long a, unsigned long long b,
+                                unsigned long long *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (int)(\old(a) * \old(b));
+    ensures
+      result_overflow:
+        \old(a) * \old(b) ≡ (int)(\old(a) * \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_smul_overflow(int a, int b, int *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (long)(\old(a) * \old(b));
+    ensures
+      result_overflow:
+        \old(a) * \old(b) ≡ (long)(\old(a) * \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_smull_overflow(long a, long b, long *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (long long)(\old(a) * \old(b));
+    ensures
+      result_overflow:
+        \old(a) * \old(b) ≡ (long long)(\old(a) * \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_smulll_overflow(long long a, long long b, long long *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (unsigned int)(\old(a) * \old(b));
+    ensures
+      result_overflow:
+        \old(a) * \old(b) ≡ (unsigned int)(\old(a) * \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_umul_overflow(unsigned int a, unsigned int b,
+                              unsigned int *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures res_wrapped: *\old(res) ≡ (unsigned long)(\old(a) * \old(b));
+    ensures
+      result_overflow:
+        \old(a) * \old(b) ≡ (unsigned long)(\old(a) * \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_umull_overflow(unsigned long a, unsigned long b,
+                               unsigned long *res);
+
+/*@ requires valid_res: \valid(res);
+    ensures initialization: res: \initialized(\old(res));
+    ensures
+      res_wrapped: *\old(res) ≡ (unsigned long long)(\old(a) * \old(b));
+    ensures
+      result_overflow:
+        \old(a) * \old(b) ≡ (unsigned long long)(\old(a) * \old(b))?
+          \result ≡ 0:
+          \result ≡ 1;
+    assigns \result, *res;
+    assigns \result \from a, b;
+    assigns *res \from a, b;
+ */
+_Bool __builtin_umulll_overflow(unsigned long long a, unsigned long long b,
+                                unsigned long long *res);
+
 /*@ requires valid_filename: valid_read_string(filename);
     assigns \result;
     assigns \result \from (indirect: *(filename + (0 ..))), (indirect: mode);
@@ -5912,7 +6226,7 @@ extern int utimes(char const *path, struct timeval const * /*[2]*/ times);
                        tv_not_null,
                        tv_and_tz_null;
  */
-extern int gettimeofday(struct timeval *tv, void *tz);
+extern int gettimeofday(struct timeval * __restrict tv, void * __restrict tz);
 
 /*@ assigns \result, __fc_time, __fc_tz;
     assigns \result
@@ -6031,8 +6345,9 @@ extern int getitimer(int which, struct itimerval *curr_value);
     
     disjoint behaviors invalid, prof, virtual, real;
  */
-extern int setitimer(int which, struct itimerval const *new_value,
-                     struct itimerval *old_value);
+extern int setitimer(int which,
+                     struct itimerval const * __restrict new_value,
+                     struct itimerval * __restrict old_value);
 
 /*@ ghost int volatile __fc_fds_state; */
 /*@ requires nfds: nfds ≥ 0;
@@ -6094,8 +6409,10 @@ extern int select(int nfds, fd_set *readfds, fd_set *writefds,
     assigns *(*(outbuf + (0 .. *outbytesleft - 1)))
       \from *(*(inbuf + (0 .. *inbytesleft - 1)));
  */
-extern size_t iconv(iconv_t cd, char **inbuf, size_t *inbytesleft,
-                    char **outbuf, size_t *outbytesleft);
+extern size_t iconv(iconv_t cd, char ** __restrict inbuf,
+                    size_t * __restrict inbytesleft,
+                    char ** __restrict outbuf,
+                    size_t * __restrict outbytesleft);
 
 /*@ ensures result_zero_or_neg: \result ≡ 0 ∨ \result ≡ -1;
     assigns __fc_errno;
@@ -6148,8 +6465,8 @@ extern int pthread_cond_destroy(pthread_cond_t *cond);
     assigns *cond \from *attr;
     assigns \result \from \nothing;
  */
-extern int pthread_cond_init(pthread_cond_t *cond,
-                             pthread_condattr_t const *attr);
+extern int pthread_cond_init(pthread_cond_t * __restrict cond,
+                             pthread_condattr_t const * __restrict attr);
 
 /*@ requires valid_cond: \valid(cond);
     requires valid_mutex: \valid(mutex);
@@ -6157,7 +6474,8 @@ extern int pthread_cond_init(pthread_cond_t *cond,
     assigns \result;
     assigns \result \from \nothing;
  */
-extern int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);
+extern int pthread_cond_wait(pthread_cond_t * __restrict cond,
+                             pthread_mutex_t * __restrict mutex);
 
 /*@ requires valid_thread: \valid(thread);
     requires valid_null_attr: attr ≡ \null ∨ \valid_read(attr);
@@ -6170,8 +6488,10 @@ extern int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);
     assigns *thread \from *attr;
     assigns \result \from (indirect: *attr);
  */
-extern int pthread_create(pthread_t *thread, pthread_attr_t const *attr,
-                          void *(*start_routine)(void *), void *arg);
+extern int pthread_create(pthread_t * __restrict thread,
+                          pthread_attr_t const * __restrict attr,
+                          void *(*start_routine)(void *),
+                          void * __restrict arg);
 
 /*@ requires valid_or_null_retval: retval ≡ \null ∨ \valid(retval);
     ensures
@@ -6212,8 +6532,8 @@ extern int pthread_mutex_destroy(pthread_mutex_t *mutex);
     assigns *mutex \from *mutex, *attrs;
     assigns \result \from (indirect: *mutex), (indirect: *attrs);
  */
-extern int pthread_mutex_init(pthread_mutex_t *mutex,
-                              pthread_mutexattr_t const *attrs);
+extern int pthread_mutex_init(pthread_mutex_t * __restrict mutex,
+                              pthread_mutexattr_t const * __restrict attrs);
 
 /*@ requires mutex_valid: \valid(mutex);
     ensures
@@ -6234,6 +6554,35 @@ extern int pthread_mutex_lock(pthread_mutex_t *mutex);
  */
 extern int pthread_mutex_unlock(pthread_mutex_t *mutex);
 
+extern char __fc_getpwuid_pw_name[64];
+
+extern char __fc_getpwuid_pw_passwd[64];
+
+extern uid_t __fc_getpwuid_pw_uid;
+
+extern gid_t __fc_getpwuid_pw_gid;
+
+extern char __fc_getpwuid_pw_dir[64];
+
+extern char __fc_getpwuid_pw_shell[64];
+
+struct passwd __fc_getpwuid =
+  {.pw_name = __fc_getpwuid_pw_name,
+   .pw_passwd = __fc_getpwuid_pw_passwd,
+   .pw_uid = __fc_getpwuid_pw_uid,
+   .pw_gid = __fc_getpwuid_pw_gid,
+   .pw_dir = __fc_getpwuid_pw_dir,
+   .pw_shell = __fc_getpwuid_pw_shell};
+struct passwd *__fc_p_getpwuid = & __fc_getpwuid;
+/*@ ensures
+      result_null_or_internal_struct:
+        \result ≡ \null ∨ \result ≡ __fc_p_getpwuid;
+    assigns \result, __fc_getpwuid;
+    assigns \result \from __fc_p_getpwuid, (indirect: uid);
+    assigns __fc_getpwuid \from (indirect: uid);
+ */
+extern struct passwd *getpwuid(uid_t uid);
+
 /*@ assigns *(env + (0 .. 4)); */
 extern int setjmp(int * /*[5]*/ env);
 
@@ -6551,6 +6900,26 @@ extern int execvp(char const *path, char * const *argv);
  */
 extern pid_t fork(void);
 
+/*@ requires valid_buf: \valid(buf + (0 .. size - 1));
+    ensures result_ok_or_error: \result ≡ \null ∨ \result ≡ \old(buf);
+    assigns *(buf + (0 .. size - 1)), \result;
+    assigns *(buf + (0 .. size - 1)) \from (indirect: buf), (indirect: size);
+    assigns \result \from buf, (indirect: size);
+ */
+extern char *getcwd(char *buf, size_t size);
+
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern gid_t getegid(void);
+
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern uid_t geteuid(void);
+
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern gid_t getgid(void);
+
 extern char volatile __fc_hostname[64];
 
 /*@ requires name_has_room: \valid(name + (0 .. len - 1));
@@ -6573,10 +6942,28 @@ extern int gethostname(char *name, size_t len);
  */
 extern int sethostname(char const *name, size_t len);
 
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern pid_t getpid(void);
+
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern pid_t getppid(void);
+
+/*@ assigns \result;
+    assigns \result \from \nothing; */
+extern pid_t getsid(pid_t);
+
 /*@ assigns \result;
     assigns \result \from \nothing; */
 extern uid_t getuid(void);
 
+/*@ requires valid_path: valid_read_string(path);
+    assigns \result;
+    assigns \result \from (indirect: *(path + (0 ..))), (indirect: name);
+ */
+extern long pathconf(char const *path, int name);
+
 /*@ ensures initialization: pipefd: \initialized(\old(pipefd) + (0 .. 1));
     ensures valid_fd0: 0 ≤ *(\old(pipefd) + 0) < 1024;
     ensures valid_fd1: 0 ≤ *(\old(pipefd) + 1) < 1024;
@@ -6603,12 +6990,48 @@ extern int pipe(int * /*[2]*/ pipefd);
  */
 extern ssize_t read(int fd, void *buf, size_t count);
 
-/*@ ensures result_new_proc_group_or_error: \result ≥ 0 ∨ \result ≡ -1;
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from (indirect: gid);
+ */
+extern int setegid(gid_t gid);
+
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from (indirect: uid);
+ */
+extern int seteuid(uid_t uid);
+
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from (indirect: gid);
+ */
+extern int setgid(gid_t gid);
+
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from (indirect: rgid), (indirect: egid);
+ */
+extern int setregid(gid_t rgid, gid_t egid);
+
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from (indirect: ruid), (indirect: euid);
+ */
+extern int setreuid(uid_t ruid, uid_t euid);
+
+/*@ ensures result_pgid_or_error: \result ≡ -1 ∨ \result ≥ 0;
     assigns \result;
     assigns \result \from \nothing;
  */
 extern pid_t setsid(void);
 
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result \from (indirect: uid);
+ */
+extern int setuid(uid_t uid);
+
 /*@ assigns \nothing; */
 extern void sync(void);
 
@@ -6637,6 +7060,54 @@ extern int usleep(useconds_t usec);
  */
 extern ssize_t write(int fd, void const *buf, size_t count);
 
+/*@ requires valid_ruid: \valid(ruid);
+    requires valid_euid: \valid(suid);
+    requires valid_suid: \valid(euid);
+    ensures
+      initialization: result_ok_or_error:
+        (\result ≡ 0 ∧ \initialized(\old(ruid)) ∧
+         \initialized(\old(euid)) ∧ \initialized(\old(suid))) ∨
+        \result ≡ -1;
+    assigns *ruid, *euid, *suid, \result;
+    assigns *ruid \from \nothing;
+    assigns *euid \from \nothing;
+    assigns *suid \from \nothing;
+    assigns \result
+      \from (indirect: ruid), (indirect: euid), (indirect: suid);
+ */
+int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid);
+
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result
+      \from (indirect: ruid), (indirect: euid), (indirect: suid);
+ */
+int setresuid(uid_t ruid, uid_t euid, uid_t suid);
+
+/*@ requires valid_rgid: \valid(rgid);
+    requires valid_egid: \valid(sgid);
+    requires valid_sgid: \valid(egid);
+    ensures
+      initialization: result_ok_or_error:
+        (\result ≡ 0 ∧ \initialized(\old(rgid)) ∧
+         \initialized(\old(egid)) ∧ \initialized(\old(sgid))) ∨
+        \result ≡ -1;
+    assigns *rgid, *egid, *sgid, \result;
+    assigns *rgid \from \nothing;
+    assigns *egid \from \nothing;
+    assigns *sgid \from \nothing;
+    assigns \result
+      \from (indirect: rgid), (indirect: egid), (indirect: sgid);
+ */
+int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid);
+
+/*@ ensures result_ok_or_error: \result ≡ 0 ∨ \result ≡ -1;
+    assigns \result;
+    assigns \result
+      \from (indirect: rgid), (indirect: egid), (indirect: sgid);
+ */
+int setresgid(gid_t rgid, gid_t egid, gid_t sgid);
+
 void main(void)
 {
   /*@ assert __fc_p_fopen ≡ (FILE *)(&__fc_fopen); */ ;
diff --git a/tests/libc/oracle/fc_libc.2.res.oracle b/tests/libc/oracle/fc_libc.2.res.oracle
index 7755f7bb95c43d8aa646ce492b553b4d76fdc033..6b9a23013e847f252018dedf4ae23366c1661de7 100644
--- a/tests/libc/oracle/fc_libc.2.res.oracle
+++ b/tests/libc/oracle/fc_libc.2.res.oracle
@@ -34,9 +34,10 @@
 [kernel] Parsing share/libc/__fc_define_useconds_t.h (with preprocessing)
 [kernel] Parsing share/libc/__fc_define_wchar_t.h (with preprocessing)
 [kernel] Parsing share/libc/__fc_define_wint_t.h (with preprocessing)
+[kernel] Parsing share/libc/__fc_gcc_builtins.h (with preprocessing)
 [kernel] Parsing share/libc/__fc_inet.h (with preprocessing)
 [kernel] Parsing share/libc/__fc_machdep.h (with preprocessing)
-skipping share/libc/__fc_machdep_linux_gcc_shared.h
+skipping share/libc/__fc_machdep_linux_shared.h
 [kernel] Parsing share/libc/__fc_select.h (with preprocessing)
 [kernel] Parsing share/libc/__fc_string_axiomatic.h (with preprocessing)
 [kernel] Parsing share/libc/alloca.h (with preprocessing)
diff --git a/tests/libc/oracle/inttypes_h.0.res.oracle b/tests/libc/oracle/inttypes_h.0.res.oracle
index 95a7c50626ca0688f6494161a16f81ac20021e51..eaaa132d690dde79c31b64fed1258454417d0d00 100644
--- a/tests/libc/oracle/inttypes_h.0.res.oracle
+++ b/tests/libc/oracle/inttypes_h.0.res.oracle
@@ -1,5 +1,3 @@
-[kernel:pp] 
-  preprocessing with "gcc -E -C -I.  -I./share/libc -D__FRAMAC__ -D__FC_MACHDEP_X86_16 -dD -nostdinc -m16 tests/libc/inttypes_h.c"
 [kernel] Parsing tests/libc/inttypes_h.c (with preprocessing)
 /* Generated by Frama-C */
 #include "errno.h"
@@ -22,7 +20,7 @@
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_1(char const *format, signed char *param0);
+int scanf_va_1(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -35,7 +33,7 @@ int scanf_va_1(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_1(char const *format, int param0);
+int printf_va_1(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -51,7 +49,7 @@ int printf_va_1(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_2(char const *format, signed char *param0);
+int scanf_va_2(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -64,7 +62,7 @@ int scanf_va_2(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_2(char const *format, int param0);
+int printf_va_2(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -80,7 +78,7 @@ int printf_va_2(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_3(char const *format, unsigned char *param0);
+int scanf_va_3(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -93,7 +91,7 @@ int scanf_va_3(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_3(char const *format, int param0);
+int printf_va_3(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -109,7 +107,7 @@ int printf_va_3(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_4(char const *format, unsigned char *param0);
+int scanf_va_4(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -122,7 +120,7 @@ int scanf_va_4(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_4(char const *format, int param0);
+int printf_va_4(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -138,7 +136,7 @@ int printf_va_4(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_5(char const *format, unsigned char *param0);
+int scanf_va_5(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -151,7 +149,7 @@ int scanf_va_5(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_5(char const *format, int param0);
+int printf_va_5(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -167,7 +165,7 @@ int printf_va_5(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_6(char const *format, unsigned char *param0);
+int scanf_va_6(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -180,7 +178,7 @@ int scanf_va_6(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_6(char const *format, int param0);
+int printf_va_6(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -196,7 +194,7 @@ int printf_va_6(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_7(char const *format, short *param0);
+int scanf_va_7(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -209,7 +207,7 @@ int scanf_va_7(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_7(char const *format, int param0);
+int printf_va_7(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -225,7 +223,7 @@ int printf_va_7(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_8(char const *format, short *param0);
+int scanf_va_8(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -238,7 +236,7 @@ int scanf_va_8(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_8(char const *format, int param0);
+int printf_va_8(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -254,7 +252,7 @@ int printf_va_8(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_9(char const *format, unsigned short *param0);
+int scanf_va_9(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -267,7 +265,7 @@ int scanf_va_9(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_9(char const *format, unsigned int param0);
+int printf_va_9(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -283,7 +281,7 @@ int printf_va_9(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_10(char const *format, unsigned short *param0);
+int scanf_va_10(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -296,7 +294,7 @@ int scanf_va_10(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_10(char const *format, unsigned int param0);
+int printf_va_10(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -312,7 +310,7 @@ int printf_va_10(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_11(char const *format, unsigned short *param0);
+int scanf_va_11(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -325,7 +323,7 @@ int scanf_va_11(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_11(char const *format, unsigned int param0);
+int printf_va_11(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -341,7 +339,7 @@ int printf_va_11(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_12(char const *format, unsigned short *param0);
+int scanf_va_12(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -354,7 +352,7 @@ int scanf_va_12(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_12(char const *format, unsigned int param0);
+int printf_va_12(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -370,7 +368,7 @@ int printf_va_12(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_13(char const *format, long *param0);
+int scanf_va_13(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -383,7 +381,7 @@ int scanf_va_13(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_13(char const *format, long param0);
+int printf_va_13(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -399,7 +397,7 @@ int printf_va_13(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_14(char const *format, long *param0);
+int scanf_va_14(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -412,7 +410,7 @@ int scanf_va_14(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_14(char const *format, long param0);
+int printf_va_14(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -428,7 +426,7 @@ int printf_va_14(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_15(char const *format, unsigned long *param0);
+int scanf_va_15(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -441,7 +439,7 @@ int scanf_va_15(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_15(char const *format, unsigned long param0);
+int printf_va_15(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -457,7 +455,7 @@ int printf_va_15(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_16(char const *format, unsigned long *param0);
+int scanf_va_16(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -470,7 +468,7 @@ int scanf_va_16(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_16(char const *format, unsigned long param0);
+int printf_va_16(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -486,7 +484,7 @@ int printf_va_16(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_17(char const *format, unsigned long *param0);
+int scanf_va_17(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -499,7 +497,7 @@ int scanf_va_17(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_17(char const *format, unsigned long param0);
+int printf_va_17(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -515,7 +513,7 @@ int printf_va_17(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_18(char const *format, unsigned long *param0);
+int scanf_va_18(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -528,7 +526,7 @@ int scanf_va_18(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_18(char const *format, unsigned long param0);
+int printf_va_18(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -544,7 +542,7 @@ int printf_va_18(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_19(char const *format, long long *param0);
+int scanf_va_19(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -557,7 +555,7 @@ int scanf_va_19(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_19(char const *format, long long param0);
+int printf_va_19(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -573,7 +571,7 @@ int printf_va_19(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_20(char const *format, long long *param0);
+int scanf_va_20(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -586,7 +584,7 @@ int scanf_va_20(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_20(char const *format, long long param0);
+int printf_va_20(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -602,7 +600,7 @@ int printf_va_20(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_21(char const *format, unsigned long long *param0);
+int scanf_va_21(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -615,7 +613,7 @@ int scanf_va_21(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_21(char const *format, unsigned long long param0);
+int printf_va_21(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -631,7 +629,7 @@ int printf_va_21(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_22(char const *format, unsigned long long *param0);
+int scanf_va_22(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -644,7 +642,7 @@ int scanf_va_22(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_22(char const *format, unsigned long long param0);
+int printf_va_22(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -660,7 +658,7 @@ int printf_va_22(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_23(char const *format, unsigned long long *param0);
+int scanf_va_23(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -673,7 +671,7 @@ int scanf_va_23(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_23(char const *format, unsigned long long param0);
+int printf_va_23(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -689,7 +687,7 @@ int printf_va_23(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_24(char const *format, unsigned long long *param0);
+int scanf_va_24(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -702,7 +700,7 @@ int scanf_va_24(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_24(char const *format, unsigned long long param0);
+int printf_va_24(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -718,7 +716,7 @@ int printf_va_24(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_25(char const *format, signed char *param0);
+int scanf_va_25(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -731,7 +729,7 @@ int scanf_va_25(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_25(char const *format, int param0);
+int printf_va_25(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -747,7 +745,7 @@ int printf_va_25(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_26(char const *format, signed char *param0);
+int scanf_va_26(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -760,7 +758,7 @@ int scanf_va_26(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_26(char const *format, int param0);
+int printf_va_26(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -776,7 +774,7 @@ int printf_va_26(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_27(char const *format, unsigned char *param0);
+int scanf_va_27(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -789,7 +787,7 @@ int scanf_va_27(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_27(char const *format, int param0);
+int printf_va_27(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -805,7 +803,7 @@ int printf_va_27(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_28(char const *format, unsigned char *param0);
+int scanf_va_28(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -818,7 +816,7 @@ int scanf_va_28(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_28(char const *format, int param0);
+int printf_va_28(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -834,7 +832,7 @@ int printf_va_28(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_29(char const *format, unsigned char *param0);
+int scanf_va_29(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -847,7 +845,7 @@ int scanf_va_29(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_29(char const *format, int param0);
+int printf_va_29(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -863,7 +861,7 @@ int printf_va_29(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_30(char const *format, unsigned char *param0);
+int scanf_va_30(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -876,7 +874,7 @@ int scanf_va_30(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_30(char const *format, int param0);
+int printf_va_30(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -892,7 +890,7 @@ int printf_va_30(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_31(char const *format, short *param0);
+int scanf_va_31(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -905,7 +903,7 @@ int scanf_va_31(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_31(char const *format, int param0);
+int printf_va_31(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -921,7 +919,7 @@ int printf_va_31(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_32(char const *format, short *param0);
+int scanf_va_32(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -934,7 +932,7 @@ int scanf_va_32(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_32(char const *format, int param0);
+int printf_va_32(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -950,7 +948,7 @@ int printf_va_32(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_33(char const *format, unsigned short *param0);
+int scanf_va_33(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -963,7 +961,7 @@ int scanf_va_33(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_33(char const *format, unsigned int param0);
+int printf_va_33(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -979,7 +977,7 @@ int printf_va_33(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_34(char const *format, unsigned short *param0);
+int scanf_va_34(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -992,7 +990,7 @@ int scanf_va_34(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_34(char const *format, unsigned int param0);
+int printf_va_34(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1008,7 +1006,7 @@ int printf_va_34(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_35(char const *format, unsigned short *param0);
+int scanf_va_35(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1021,7 +1019,7 @@ int scanf_va_35(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_35(char const *format, unsigned int param0);
+int printf_va_35(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1037,7 +1035,7 @@ int printf_va_35(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_36(char const *format, unsigned short *param0);
+int scanf_va_36(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1050,7 +1048,7 @@ int scanf_va_36(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_36(char const *format, unsigned int param0);
+int printf_va_36(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1066,7 +1064,7 @@ int printf_va_36(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_37(char const *format, long *param0);
+int scanf_va_37(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1079,7 +1077,7 @@ int scanf_va_37(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_37(char const *format, long param0);
+int printf_va_37(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1095,7 +1093,7 @@ int printf_va_37(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_38(char const *format, long *param0);
+int scanf_va_38(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1108,7 +1106,7 @@ int scanf_va_38(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_38(char const *format, long param0);
+int printf_va_38(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1124,7 +1122,7 @@ int printf_va_38(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_39(char const *format, unsigned long *param0);
+int scanf_va_39(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1137,7 +1135,7 @@ int scanf_va_39(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_39(char const *format, unsigned long param0);
+int printf_va_39(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1153,7 +1151,7 @@ int printf_va_39(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_40(char const *format, unsigned long *param0);
+int scanf_va_40(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1166,7 +1164,7 @@ int scanf_va_40(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_40(char const *format, unsigned long param0);
+int printf_va_40(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1182,7 +1180,7 @@ int printf_va_40(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_41(char const *format, unsigned long *param0);
+int scanf_va_41(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1195,7 +1193,7 @@ int scanf_va_41(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_41(char const *format, unsigned long param0);
+int printf_va_41(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1211,7 +1209,7 @@ int printf_va_41(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_42(char const *format, unsigned long *param0);
+int scanf_va_42(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1224,7 +1222,7 @@ int scanf_va_42(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_42(char const *format, unsigned long param0);
+int printf_va_42(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1240,7 +1238,7 @@ int printf_va_42(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_43(char const *format, long long *param0);
+int scanf_va_43(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1253,7 +1251,7 @@ int scanf_va_43(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_43(char const *format, long long param0);
+int printf_va_43(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1269,7 +1267,7 @@ int printf_va_43(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_44(char const *format, long long *param0);
+int scanf_va_44(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1282,7 +1280,7 @@ int scanf_va_44(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_44(char const *format, long long param0);
+int printf_va_44(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1298,7 +1296,7 @@ int printf_va_44(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_45(char const *format, unsigned long long *param0);
+int scanf_va_45(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1311,7 +1309,7 @@ int scanf_va_45(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_45(char const *format, unsigned long long param0);
+int printf_va_45(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1327,7 +1325,7 @@ int printf_va_45(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_46(char const *format, unsigned long long *param0);
+int scanf_va_46(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1340,7 +1338,7 @@ int scanf_va_46(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_46(char const *format, unsigned long long param0);
+int printf_va_46(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1356,7 +1354,7 @@ int printf_va_46(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_47(char const *format, unsigned long long *param0);
+int scanf_va_47(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1369,7 +1367,7 @@ int scanf_va_47(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_47(char const *format, unsigned long long param0);
+int printf_va_47(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1385,7 +1383,7 @@ int printf_va_47(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_48(char const *format, unsigned long long *param0);
+int scanf_va_48(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1398,7 +1396,7 @@ int scanf_va_48(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_48(char const *format, unsigned long long param0);
+int printf_va_48(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1414,7 +1412,7 @@ int printf_va_48(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_49(char const *format, signed char *param0);
+int scanf_va_49(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1427,7 +1425,7 @@ int scanf_va_49(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_49(char const *format, int param0);
+int printf_va_49(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1443,7 +1441,7 @@ int printf_va_49(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_50(char const *format, signed char *param0);
+int scanf_va_50(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1456,7 +1454,7 @@ int scanf_va_50(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_50(char const *format, int param0);
+int printf_va_50(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1472,7 +1470,7 @@ int printf_va_50(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_51(char const *format, unsigned char *param0);
+int scanf_va_51(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1485,7 +1483,7 @@ int scanf_va_51(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_51(char const *format, int param0);
+int printf_va_51(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1501,7 +1499,7 @@ int printf_va_51(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_52(char const *format, unsigned char *param0);
+int scanf_va_52(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1514,7 +1512,7 @@ int scanf_va_52(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_52(char const *format, int param0);
+int printf_va_52(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1530,7 +1528,7 @@ int printf_va_52(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_53(char const *format, unsigned char *param0);
+int scanf_va_53(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1543,7 +1541,7 @@ int scanf_va_53(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_53(char const *format, int param0);
+int printf_va_53(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1559,7 +1557,7 @@ int printf_va_53(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_54(char const *format, unsigned char *param0);
+int scanf_va_54(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1572,7 +1570,7 @@ int scanf_va_54(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_54(char const *format, int param0);
+int printf_va_54(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1588,7 +1586,7 @@ int printf_va_54(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_55(char const *format, int *param0);
+int scanf_va_55(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1601,7 +1599,7 @@ int scanf_va_55(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_55(char const *format, int param0);
+int printf_va_55(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1617,7 +1615,7 @@ int printf_va_55(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_56(char const *format, int *param0);
+int scanf_va_56(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1630,7 +1628,7 @@ int scanf_va_56(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_56(char const *format, int param0);
+int printf_va_56(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1646,7 +1644,7 @@ int printf_va_56(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_57(char const *format, unsigned int *param0);
+int scanf_va_57(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1659,7 +1657,7 @@ int scanf_va_57(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_57(char const *format, unsigned int param0);
+int printf_va_57(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1675,7 +1673,7 @@ int printf_va_57(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_58(char const *format, unsigned int *param0);
+int scanf_va_58(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1688,7 +1686,7 @@ int scanf_va_58(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_58(char const *format, unsigned int param0);
+int printf_va_58(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1704,7 +1702,7 @@ int printf_va_58(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_59(char const *format, unsigned int *param0);
+int scanf_va_59(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1717,7 +1715,7 @@ int scanf_va_59(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_59(char const *format, unsigned int param0);
+int printf_va_59(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1733,7 +1731,7 @@ int printf_va_59(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_60(char const *format, unsigned int *param0);
+int scanf_va_60(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1746,7 +1744,7 @@ int scanf_va_60(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_60(char const *format, unsigned int param0);
+int printf_va_60(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1762,7 +1760,7 @@ int printf_va_60(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_61(char const *format, long *param0);
+int scanf_va_61(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1775,7 +1773,7 @@ int scanf_va_61(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_61(char const *format, long param0);
+int printf_va_61(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1791,7 +1789,7 @@ int printf_va_61(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_62(char const *format, long *param0);
+int scanf_va_62(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1804,7 +1802,7 @@ int scanf_va_62(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_62(char const *format, long param0);
+int printf_va_62(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1820,7 +1818,7 @@ int printf_va_62(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_63(char const *format, unsigned long *param0);
+int scanf_va_63(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1833,7 +1831,7 @@ int scanf_va_63(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_63(char const *format, unsigned long param0);
+int printf_va_63(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1849,7 +1847,7 @@ int printf_va_63(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_64(char const *format, unsigned long *param0);
+int scanf_va_64(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1862,7 +1860,7 @@ int scanf_va_64(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_64(char const *format, unsigned long param0);
+int printf_va_64(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1878,7 +1876,7 @@ int printf_va_64(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_65(char const *format, unsigned long *param0);
+int scanf_va_65(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1891,7 +1889,7 @@ int scanf_va_65(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_65(char const *format, unsigned long param0);
+int printf_va_65(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1907,7 +1905,7 @@ int printf_va_65(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_66(char const *format, unsigned long *param0);
+int scanf_va_66(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1920,7 +1918,7 @@ int scanf_va_66(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_66(char const *format, unsigned long param0);
+int printf_va_66(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1936,7 +1934,7 @@ int printf_va_66(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_67(char const *format, long long *param0);
+int scanf_va_67(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1949,7 +1947,7 @@ int scanf_va_67(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_67(char const *format, long long param0);
+int printf_va_67(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1965,7 +1963,7 @@ int printf_va_67(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_68(char const *format, long long *param0);
+int scanf_va_68(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1978,7 +1976,7 @@ int scanf_va_68(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_68(char const *format, long long param0);
+int printf_va_68(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1994,7 +1992,7 @@ int printf_va_68(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_69(char const *format, unsigned long long *param0);
+int scanf_va_69(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2007,7 +2005,7 @@ int scanf_va_69(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_69(char const *format, unsigned long long param0);
+int printf_va_69(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2023,7 +2021,7 @@ int printf_va_69(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_70(char const *format, unsigned long long *param0);
+int scanf_va_70(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2036,7 +2034,7 @@ int scanf_va_70(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_70(char const *format, unsigned long long param0);
+int printf_va_70(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2052,7 +2050,7 @@ int printf_va_70(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_71(char const *format, unsigned long long *param0);
+int scanf_va_71(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2065,7 +2063,7 @@ int scanf_va_71(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_71(char const *format, unsigned long long param0);
+int printf_va_71(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2081,7 +2079,7 @@ int printf_va_71(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_72(char const *format, unsigned long long *param0);
+int scanf_va_72(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2094,7 +2092,7 @@ int scanf_va_72(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_72(char const *format, unsigned long long param0);
+int printf_va_72(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2110,7 +2108,7 @@ int printf_va_72(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_73(char const *format, long long *param0);
+int scanf_va_73(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2123,7 +2121,7 @@ int scanf_va_73(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_73(char const *format, long long param0);
+int printf_va_73(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2139,7 +2137,7 @@ int printf_va_73(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_74(char const *format, long long *param0);
+int scanf_va_74(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2152,7 +2150,7 @@ int scanf_va_74(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_74(char const *format, long long param0);
+int printf_va_74(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2168,7 +2166,7 @@ int printf_va_74(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_75(char const *format, unsigned long long *param0);
+int scanf_va_75(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2181,7 +2179,7 @@ int scanf_va_75(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_75(char const *format, unsigned long long param0);
+int printf_va_75(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2197,7 +2195,7 @@ int printf_va_75(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_76(char const *format, unsigned long long *param0);
+int scanf_va_76(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2210,7 +2208,7 @@ int scanf_va_76(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_76(char const *format, unsigned long long param0);
+int printf_va_76(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2226,7 +2224,7 @@ int printf_va_76(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_77(char const *format, unsigned long long *param0);
+int scanf_va_77(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2239,7 +2237,7 @@ int scanf_va_77(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_77(char const *format, unsigned long long param0);
+int printf_va_77(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2255,7 +2253,7 @@ int printf_va_77(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_78(char const *format, unsigned long long *param0);
+int scanf_va_78(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2268,7 +2266,7 @@ int scanf_va_78(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_78(char const *format, unsigned long long param0);
+int printf_va_78(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2284,7 +2282,7 @@ int printf_va_78(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_79(char const *format, long *param0);
+int scanf_va_79(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2297,7 +2295,7 @@ int scanf_va_79(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_79(char const *format, long param0);
+int printf_va_79(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2313,7 +2311,7 @@ int printf_va_79(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_80(char const *format, long *param0);
+int scanf_va_80(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2326,7 +2324,7 @@ int scanf_va_80(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_80(char const *format, long param0);
+int printf_va_80(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2342,7 +2340,7 @@ int printf_va_80(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_81(char const *format, unsigned long *param0);
+int scanf_va_81(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2355,7 +2353,7 @@ int scanf_va_81(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_81(char const *format, unsigned long param0);
+int printf_va_81(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2371,7 +2369,7 @@ int printf_va_81(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_82(char const *format, unsigned long *param0);
+int scanf_va_82(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2384,7 +2382,7 @@ int scanf_va_82(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_82(char const *format, unsigned long param0);
+int printf_va_82(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2400,7 +2398,7 @@ int printf_va_82(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_83(char const *format, unsigned long *param0);
+int scanf_va_83(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2413,7 +2411,7 @@ int scanf_va_83(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_83(char const *format, unsigned long param0);
+int printf_va_83(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2429,7 +2427,7 @@ int printf_va_83(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_84(char const *format, unsigned long *param0);
+int scanf_va_84(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2442,7 +2440,7 @@ int scanf_va_84(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_84(char const *format, unsigned long param0);
+int printf_va_84(char const * __restrict format, unsigned long param0);
 
 int main(void)
 {
diff --git a/tests/libc/oracle/inttypes_h.1.res.oracle b/tests/libc/oracle/inttypes_h.1.res.oracle
index 4df9581be573ecef7688d9571e79fae65a599248..ee3b253caf33cceda5773e2ab7553f01ef3d5e2d 100644
--- a/tests/libc/oracle/inttypes_h.1.res.oracle
+++ b/tests/libc/oracle/inttypes_h.1.res.oracle
@@ -1,5 +1,3 @@
-[kernel:pp] 
-  preprocessing with "gcc -E -C -I.  -I./share/libc -D__FRAMAC__ -D__FC_MACHDEP_X86_32 -dD -nostdinc -m32 tests/libc/inttypes_h.c"
 [kernel] Parsing tests/libc/inttypes_h.c (with preprocessing)
 /* Generated by Frama-C */
 #include "errno.h"
@@ -22,7 +20,7 @@
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_1(char const *format, signed char *param0);
+int scanf_va_1(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -35,7 +33,7 @@ int scanf_va_1(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_1(char const *format, int param0);
+int printf_va_1(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -51,7 +49,7 @@ int printf_va_1(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_2(char const *format, signed char *param0);
+int scanf_va_2(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -64,7 +62,7 @@ int scanf_va_2(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_2(char const *format, int param0);
+int printf_va_2(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -80,7 +78,7 @@ int printf_va_2(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_3(char const *format, unsigned char *param0);
+int scanf_va_3(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -93,7 +91,7 @@ int scanf_va_3(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_3(char const *format, int param0);
+int printf_va_3(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -109,7 +107,7 @@ int printf_va_3(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_4(char const *format, unsigned char *param0);
+int scanf_va_4(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -122,7 +120,7 @@ int scanf_va_4(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_4(char const *format, int param0);
+int printf_va_4(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -138,7 +136,7 @@ int printf_va_4(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_5(char const *format, unsigned char *param0);
+int scanf_va_5(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -151,7 +149,7 @@ int scanf_va_5(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_5(char const *format, int param0);
+int printf_va_5(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -167,7 +165,7 @@ int printf_va_5(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_6(char const *format, unsigned char *param0);
+int scanf_va_6(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -180,7 +178,7 @@ int scanf_va_6(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_6(char const *format, int param0);
+int printf_va_6(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -196,7 +194,7 @@ int printf_va_6(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_7(char const *format, short *param0);
+int scanf_va_7(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -209,7 +207,7 @@ int scanf_va_7(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_7(char const *format, int param0);
+int printf_va_7(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -225,7 +223,7 @@ int printf_va_7(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_8(char const *format, short *param0);
+int scanf_va_8(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -238,7 +236,7 @@ int scanf_va_8(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_8(char const *format, int param0);
+int printf_va_8(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -254,7 +252,7 @@ int printf_va_8(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_9(char const *format, unsigned short *param0);
+int scanf_va_9(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -267,7 +265,7 @@ int scanf_va_9(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_9(char const *format, int param0);
+int printf_va_9(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -283,7 +281,7 @@ int printf_va_9(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_10(char const *format, unsigned short *param0);
+int scanf_va_10(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -296,7 +294,7 @@ int scanf_va_10(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_10(char const *format, int param0);
+int printf_va_10(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -312,7 +310,7 @@ int printf_va_10(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_11(char const *format, unsigned short *param0);
+int scanf_va_11(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -325,7 +323,7 @@ int scanf_va_11(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_11(char const *format, int param0);
+int printf_va_11(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -341,7 +339,7 @@ int printf_va_11(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_12(char const *format, unsigned short *param0);
+int scanf_va_12(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -354,7 +352,7 @@ int scanf_va_12(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_12(char const *format, int param0);
+int printf_va_12(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -370,7 +368,7 @@ int printf_va_12(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_13(char const *format, int *param0);
+int scanf_va_13(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -383,7 +381,7 @@ int scanf_va_13(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_13(char const *format, int param0);
+int printf_va_13(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -399,7 +397,7 @@ int printf_va_13(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_14(char const *format, int *param0);
+int scanf_va_14(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -412,7 +410,7 @@ int scanf_va_14(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_14(char const *format, int param0);
+int printf_va_14(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -428,7 +426,7 @@ int printf_va_14(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_15(char const *format, unsigned int *param0);
+int scanf_va_15(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -441,7 +439,7 @@ int scanf_va_15(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_15(char const *format, unsigned int param0);
+int printf_va_15(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -457,7 +455,7 @@ int printf_va_15(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_16(char const *format, unsigned int *param0);
+int scanf_va_16(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -470,7 +468,7 @@ int scanf_va_16(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_16(char const *format, unsigned int param0);
+int printf_va_16(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -486,7 +484,7 @@ int printf_va_16(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_17(char const *format, unsigned int *param0);
+int scanf_va_17(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -499,7 +497,7 @@ int scanf_va_17(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_17(char const *format, unsigned int param0);
+int printf_va_17(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -515,7 +513,7 @@ int printf_va_17(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_18(char const *format, unsigned int *param0);
+int scanf_va_18(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -528,7 +526,7 @@ int scanf_va_18(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_18(char const *format, unsigned int param0);
+int printf_va_18(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -544,7 +542,7 @@ int printf_va_18(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_19(char const *format, long long *param0);
+int scanf_va_19(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -557,7 +555,7 @@ int scanf_va_19(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_19(char const *format, long long param0);
+int printf_va_19(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -573,7 +571,7 @@ int printf_va_19(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_20(char const *format, long long *param0);
+int scanf_va_20(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -586,7 +584,7 @@ int scanf_va_20(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_20(char const *format, long long param0);
+int printf_va_20(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -602,7 +600,7 @@ int printf_va_20(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_21(char const *format, unsigned long long *param0);
+int scanf_va_21(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -615,7 +613,7 @@ int scanf_va_21(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_21(char const *format, unsigned long long param0);
+int printf_va_21(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -631,7 +629,7 @@ int printf_va_21(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_22(char const *format, unsigned long long *param0);
+int scanf_va_22(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -644,7 +642,7 @@ int scanf_va_22(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_22(char const *format, unsigned long long param0);
+int printf_va_22(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -660,7 +658,7 @@ int printf_va_22(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_23(char const *format, unsigned long long *param0);
+int scanf_va_23(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -673,7 +671,7 @@ int scanf_va_23(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_23(char const *format, unsigned long long param0);
+int printf_va_23(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -689,7 +687,7 @@ int printf_va_23(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_24(char const *format, unsigned long long *param0);
+int scanf_va_24(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -702,7 +700,7 @@ int scanf_va_24(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_24(char const *format, unsigned long long param0);
+int printf_va_24(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -718,7 +716,7 @@ int printf_va_24(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_25(char const *format, signed char *param0);
+int scanf_va_25(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -731,7 +729,7 @@ int scanf_va_25(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_25(char const *format, int param0);
+int printf_va_25(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -747,7 +745,7 @@ int printf_va_25(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_26(char const *format, signed char *param0);
+int scanf_va_26(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -760,7 +758,7 @@ int scanf_va_26(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_26(char const *format, int param0);
+int printf_va_26(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -776,7 +774,7 @@ int printf_va_26(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_27(char const *format, unsigned char *param0);
+int scanf_va_27(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -789,7 +787,7 @@ int scanf_va_27(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_27(char const *format, int param0);
+int printf_va_27(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -805,7 +803,7 @@ int printf_va_27(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_28(char const *format, unsigned char *param0);
+int scanf_va_28(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -818,7 +816,7 @@ int scanf_va_28(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_28(char const *format, int param0);
+int printf_va_28(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -834,7 +832,7 @@ int printf_va_28(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_29(char const *format, unsigned char *param0);
+int scanf_va_29(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -847,7 +845,7 @@ int scanf_va_29(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_29(char const *format, int param0);
+int printf_va_29(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -863,7 +861,7 @@ int printf_va_29(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_30(char const *format, unsigned char *param0);
+int scanf_va_30(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -876,7 +874,7 @@ int scanf_va_30(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_30(char const *format, int param0);
+int printf_va_30(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -892,7 +890,7 @@ int printf_va_30(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_31(char const *format, short *param0);
+int scanf_va_31(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -905,7 +903,7 @@ int scanf_va_31(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_31(char const *format, int param0);
+int printf_va_31(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -921,7 +919,7 @@ int printf_va_31(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_32(char const *format, short *param0);
+int scanf_va_32(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -934,7 +932,7 @@ int scanf_va_32(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_32(char const *format, int param0);
+int printf_va_32(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -950,7 +948,7 @@ int printf_va_32(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_33(char const *format, unsigned short *param0);
+int scanf_va_33(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -963,7 +961,7 @@ int scanf_va_33(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_33(char const *format, int param0);
+int printf_va_33(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -979,7 +977,7 @@ int printf_va_33(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_34(char const *format, unsigned short *param0);
+int scanf_va_34(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -992,7 +990,7 @@ int scanf_va_34(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_34(char const *format, int param0);
+int printf_va_34(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1008,7 +1006,7 @@ int printf_va_34(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_35(char const *format, unsigned short *param0);
+int scanf_va_35(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1021,7 +1019,7 @@ int scanf_va_35(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_35(char const *format, int param0);
+int printf_va_35(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1037,7 +1035,7 @@ int printf_va_35(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_36(char const *format, unsigned short *param0);
+int scanf_va_36(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1050,7 +1048,7 @@ int scanf_va_36(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_36(char const *format, int param0);
+int printf_va_36(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1066,7 +1064,7 @@ int printf_va_36(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_37(char const *format, int *param0);
+int scanf_va_37(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1079,7 +1077,7 @@ int scanf_va_37(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_37(char const *format, int param0);
+int printf_va_37(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1095,7 +1093,7 @@ int printf_va_37(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_38(char const *format, int *param0);
+int scanf_va_38(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1108,7 +1106,7 @@ int scanf_va_38(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_38(char const *format, int param0);
+int printf_va_38(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1124,7 +1122,7 @@ int printf_va_38(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_39(char const *format, unsigned int *param0);
+int scanf_va_39(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1137,7 +1135,7 @@ int scanf_va_39(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_39(char const *format, unsigned int param0);
+int printf_va_39(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1153,7 +1151,7 @@ int printf_va_39(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_40(char const *format, unsigned int *param0);
+int scanf_va_40(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1166,7 +1164,7 @@ int scanf_va_40(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_40(char const *format, unsigned int param0);
+int printf_va_40(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1182,7 +1180,7 @@ int printf_va_40(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_41(char const *format, unsigned int *param0);
+int scanf_va_41(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1195,7 +1193,7 @@ int scanf_va_41(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_41(char const *format, unsigned int param0);
+int printf_va_41(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1211,7 +1209,7 @@ int printf_va_41(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_42(char const *format, unsigned int *param0);
+int scanf_va_42(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1224,7 +1222,7 @@ int scanf_va_42(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_42(char const *format, unsigned int param0);
+int printf_va_42(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1240,7 +1238,7 @@ int printf_va_42(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_43(char const *format, long long *param0);
+int scanf_va_43(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1253,7 +1251,7 @@ int scanf_va_43(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_43(char const *format, long long param0);
+int printf_va_43(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1269,7 +1267,7 @@ int printf_va_43(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_44(char const *format, long long *param0);
+int scanf_va_44(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1282,7 +1280,7 @@ int scanf_va_44(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_44(char const *format, long long param0);
+int printf_va_44(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1298,7 +1296,7 @@ int printf_va_44(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_45(char const *format, unsigned long long *param0);
+int scanf_va_45(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1311,7 +1309,7 @@ int scanf_va_45(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_45(char const *format, unsigned long long param0);
+int printf_va_45(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1327,7 +1325,7 @@ int printf_va_45(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_46(char const *format, unsigned long long *param0);
+int scanf_va_46(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1340,7 +1338,7 @@ int scanf_va_46(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_46(char const *format, unsigned long long param0);
+int printf_va_46(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1356,7 +1354,7 @@ int printf_va_46(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_47(char const *format, unsigned long long *param0);
+int scanf_va_47(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1369,7 +1367,7 @@ int scanf_va_47(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_47(char const *format, unsigned long long param0);
+int printf_va_47(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1385,7 +1383,7 @@ int printf_va_47(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_48(char const *format, unsigned long long *param0);
+int scanf_va_48(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1398,7 +1396,7 @@ int scanf_va_48(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_48(char const *format, unsigned long long param0);
+int printf_va_48(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1414,7 +1412,7 @@ int printf_va_48(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_49(char const *format, signed char *param0);
+int scanf_va_49(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1427,7 +1425,7 @@ int scanf_va_49(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_49(char const *format, int param0);
+int printf_va_49(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1443,7 +1441,7 @@ int printf_va_49(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_50(char const *format, signed char *param0);
+int scanf_va_50(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1456,7 +1454,7 @@ int scanf_va_50(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_50(char const *format, int param0);
+int printf_va_50(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1472,7 +1470,7 @@ int printf_va_50(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_51(char const *format, unsigned char *param0);
+int scanf_va_51(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1485,7 +1483,7 @@ int scanf_va_51(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_51(char const *format, int param0);
+int printf_va_51(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1501,7 +1499,7 @@ int printf_va_51(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_52(char const *format, unsigned char *param0);
+int scanf_va_52(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1514,7 +1512,7 @@ int scanf_va_52(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_52(char const *format, int param0);
+int printf_va_52(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1530,7 +1528,7 @@ int printf_va_52(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_53(char const *format, unsigned char *param0);
+int scanf_va_53(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1543,7 +1541,7 @@ int scanf_va_53(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_53(char const *format, int param0);
+int printf_va_53(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1559,7 +1557,7 @@ int printf_va_53(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_54(char const *format, unsigned char *param0);
+int scanf_va_54(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1572,7 +1570,7 @@ int scanf_va_54(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_54(char const *format, int param0);
+int printf_va_54(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1588,7 +1586,7 @@ int printf_va_54(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_55(char const *format, int *param0);
+int scanf_va_55(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1601,7 +1599,7 @@ int scanf_va_55(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_55(char const *format, int param0);
+int printf_va_55(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1617,7 +1615,7 @@ int printf_va_55(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_56(char const *format, int *param0);
+int scanf_va_56(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1630,7 +1628,7 @@ int scanf_va_56(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_56(char const *format, int param0);
+int printf_va_56(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1646,7 +1644,7 @@ int printf_va_56(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_57(char const *format, unsigned int *param0);
+int scanf_va_57(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1659,7 +1657,7 @@ int scanf_va_57(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_57(char const *format, unsigned int param0);
+int printf_va_57(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1675,7 +1673,7 @@ int printf_va_57(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_58(char const *format, unsigned int *param0);
+int scanf_va_58(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1688,7 +1686,7 @@ int scanf_va_58(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_58(char const *format, unsigned int param0);
+int printf_va_58(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1704,7 +1702,7 @@ int printf_va_58(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_59(char const *format, unsigned int *param0);
+int scanf_va_59(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1717,7 +1715,7 @@ int scanf_va_59(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_59(char const *format, unsigned int param0);
+int printf_va_59(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1733,7 +1731,7 @@ int printf_va_59(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_60(char const *format, unsigned int *param0);
+int scanf_va_60(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1746,7 +1744,7 @@ int scanf_va_60(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_60(char const *format, unsigned int param0);
+int printf_va_60(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1762,7 +1760,7 @@ int printf_va_60(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_61(char const *format, int *param0);
+int scanf_va_61(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1775,7 +1773,7 @@ int scanf_va_61(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_61(char const *format, int param0);
+int printf_va_61(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1791,7 +1789,7 @@ int printf_va_61(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_62(char const *format, int *param0);
+int scanf_va_62(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1804,7 +1802,7 @@ int scanf_va_62(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_62(char const *format, int param0);
+int printf_va_62(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1820,7 +1818,7 @@ int printf_va_62(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_63(char const *format, unsigned int *param0);
+int scanf_va_63(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1833,7 +1831,7 @@ int scanf_va_63(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_63(char const *format, unsigned int param0);
+int printf_va_63(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1849,7 +1847,7 @@ int printf_va_63(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_64(char const *format, unsigned int *param0);
+int scanf_va_64(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1862,7 +1860,7 @@ int scanf_va_64(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_64(char const *format, unsigned int param0);
+int printf_va_64(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1878,7 +1876,7 @@ int printf_va_64(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_65(char const *format, unsigned int *param0);
+int scanf_va_65(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1891,7 +1889,7 @@ int scanf_va_65(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_65(char const *format, unsigned int param0);
+int printf_va_65(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1907,7 +1905,7 @@ int printf_va_65(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_66(char const *format, unsigned int *param0);
+int scanf_va_66(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1920,7 +1918,7 @@ int scanf_va_66(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_66(char const *format, unsigned int param0);
+int printf_va_66(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1936,7 +1934,7 @@ int printf_va_66(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_67(char const *format, long long *param0);
+int scanf_va_67(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1949,7 +1947,7 @@ int scanf_va_67(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_67(char const *format, long long param0);
+int printf_va_67(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1965,7 +1963,7 @@ int printf_va_67(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_68(char const *format, long long *param0);
+int scanf_va_68(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1978,7 +1976,7 @@ int scanf_va_68(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_68(char const *format, long long param0);
+int printf_va_68(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1994,7 +1992,7 @@ int printf_va_68(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_69(char const *format, unsigned long long *param0);
+int scanf_va_69(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2007,7 +2005,7 @@ int scanf_va_69(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_69(char const *format, unsigned long long param0);
+int printf_va_69(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2023,7 +2021,7 @@ int printf_va_69(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_70(char const *format, unsigned long long *param0);
+int scanf_va_70(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2036,7 +2034,7 @@ int scanf_va_70(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_70(char const *format, unsigned long long param0);
+int printf_va_70(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2052,7 +2050,7 @@ int printf_va_70(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_71(char const *format, unsigned long long *param0);
+int scanf_va_71(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2065,7 +2063,7 @@ int scanf_va_71(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_71(char const *format, unsigned long long param0);
+int printf_va_71(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2081,7 +2079,7 @@ int printf_va_71(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_72(char const *format, unsigned long long *param0);
+int scanf_va_72(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2094,7 +2092,7 @@ int scanf_va_72(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_72(char const *format, unsigned long long param0);
+int printf_va_72(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2110,7 +2108,7 @@ int printf_va_72(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_73(char const *format, long long *param0);
+int scanf_va_73(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2123,7 +2121,7 @@ int scanf_va_73(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_73(char const *format, long long param0);
+int printf_va_73(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2139,7 +2137,7 @@ int printf_va_73(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_74(char const *format, long long *param0);
+int scanf_va_74(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2152,7 +2150,7 @@ int scanf_va_74(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_74(char const *format, long long param0);
+int printf_va_74(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2168,7 +2166,7 @@ int printf_va_74(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_75(char const *format, unsigned long long *param0);
+int scanf_va_75(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2181,7 +2179,7 @@ int scanf_va_75(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_75(char const *format, unsigned long long param0);
+int printf_va_75(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2197,7 +2195,7 @@ int printf_va_75(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_76(char const *format, unsigned long long *param0);
+int scanf_va_76(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2210,7 +2208,7 @@ int scanf_va_76(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_76(char const *format, unsigned long long param0);
+int printf_va_76(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2226,7 +2224,7 @@ int printf_va_76(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_77(char const *format, unsigned long long *param0);
+int scanf_va_77(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2239,7 +2237,7 @@ int scanf_va_77(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_77(char const *format, unsigned long long param0);
+int printf_va_77(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2255,7 +2253,7 @@ int printf_va_77(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_78(char const *format, unsigned long long *param0);
+int scanf_va_78(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2268,7 +2266,7 @@ int scanf_va_78(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_78(char const *format, unsigned long long param0);
+int printf_va_78(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2284,7 +2282,7 @@ int printf_va_78(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_79(char const *format, int *param0);
+int scanf_va_79(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2297,7 +2295,7 @@ int scanf_va_79(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_79(char const *format, int param0);
+int printf_va_79(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2313,7 +2311,7 @@ int printf_va_79(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_80(char const *format, int *param0);
+int scanf_va_80(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2326,7 +2324,7 @@ int scanf_va_80(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_80(char const *format, int param0);
+int printf_va_80(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2342,7 +2340,7 @@ int printf_va_80(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_81(char const *format, unsigned int *param0);
+int scanf_va_81(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2355,7 +2353,7 @@ int scanf_va_81(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_81(char const *format, unsigned int param0);
+int printf_va_81(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2371,7 +2369,7 @@ int printf_va_81(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_82(char const *format, unsigned int *param0);
+int scanf_va_82(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2384,7 +2382,7 @@ int scanf_va_82(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_82(char const *format, unsigned int param0);
+int printf_va_82(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2400,7 +2398,7 @@ int printf_va_82(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_83(char const *format, unsigned int *param0);
+int scanf_va_83(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2413,7 +2411,7 @@ int scanf_va_83(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_83(char const *format, unsigned int param0);
+int printf_va_83(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2429,7 +2427,7 @@ int printf_va_83(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_84(char const *format, unsigned int *param0);
+int scanf_va_84(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2442,7 +2440,7 @@ int scanf_va_84(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_84(char const *format, unsigned int param0);
+int printf_va_84(char const * __restrict format, unsigned int param0);
 
 int main(void)
 {
diff --git a/tests/libc/oracle/inttypes_h.2.res.oracle b/tests/libc/oracle/inttypes_h.2.res.oracle
index d26cb3da44afc0937151213ed1c835f0be9d9412..a70f22663383c9b382e0ba42f879d9fb625fa700 100644
--- a/tests/libc/oracle/inttypes_h.2.res.oracle
+++ b/tests/libc/oracle/inttypes_h.2.res.oracle
@@ -1,5 +1,3 @@
-[kernel:pp] 
-  preprocessing with "gcc -E -C -I.  -I./share/libc -D__FRAMAC__ -D__FC_MACHDEP_X86_64 -dD -nostdinc -m64 tests/libc/inttypes_h.c"
 [kernel] Parsing tests/libc/inttypes_h.c (with preprocessing)
 /* Generated by Frama-C */
 #include "errno.h"
@@ -22,7 +20,7 @@
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_1(char const *format, signed char *param0);
+int scanf_va_1(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -35,7 +33,7 @@ int scanf_va_1(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_1(char const *format, int param0);
+int printf_va_1(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -51,7 +49,7 @@ int printf_va_1(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_2(char const *format, signed char *param0);
+int scanf_va_2(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -64,7 +62,7 @@ int scanf_va_2(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_2(char const *format, int param0);
+int printf_va_2(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -80,7 +78,7 @@ int printf_va_2(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_3(char const *format, unsigned char *param0);
+int scanf_va_3(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -93,7 +91,7 @@ int scanf_va_3(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_3(char const *format, int param0);
+int printf_va_3(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -109,7 +107,7 @@ int printf_va_3(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_4(char const *format, unsigned char *param0);
+int scanf_va_4(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -122,7 +120,7 @@ int scanf_va_4(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_4(char const *format, int param0);
+int printf_va_4(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -138,7 +136,7 @@ int printf_va_4(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_5(char const *format, unsigned char *param0);
+int scanf_va_5(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -151,7 +149,7 @@ int scanf_va_5(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_5(char const *format, int param0);
+int printf_va_5(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -167,7 +165,7 @@ int printf_va_5(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_6(char const *format, unsigned char *param0);
+int scanf_va_6(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -180,7 +178,7 @@ int scanf_va_6(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_6(char const *format, int param0);
+int printf_va_6(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -196,7 +194,7 @@ int printf_va_6(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_7(char const *format, short *param0);
+int scanf_va_7(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -209,7 +207,7 @@ int scanf_va_7(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_7(char const *format, int param0);
+int printf_va_7(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -225,7 +223,7 @@ int printf_va_7(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_8(char const *format, short *param0);
+int scanf_va_8(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -238,7 +236,7 @@ int scanf_va_8(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_8(char const *format, int param0);
+int printf_va_8(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -254,7 +252,7 @@ int printf_va_8(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_9(char const *format, unsigned short *param0);
+int scanf_va_9(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -267,7 +265,7 @@ int scanf_va_9(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_9(char const *format, int param0);
+int printf_va_9(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -283,7 +281,7 @@ int printf_va_9(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_10(char const *format, unsigned short *param0);
+int scanf_va_10(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -296,7 +294,7 @@ int scanf_va_10(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_10(char const *format, int param0);
+int printf_va_10(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -312,7 +310,7 @@ int printf_va_10(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_11(char const *format, unsigned short *param0);
+int scanf_va_11(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -325,7 +323,7 @@ int scanf_va_11(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_11(char const *format, int param0);
+int printf_va_11(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -341,7 +339,7 @@ int printf_va_11(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_12(char const *format, unsigned short *param0);
+int scanf_va_12(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -354,7 +352,7 @@ int scanf_va_12(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_12(char const *format, int param0);
+int printf_va_12(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -370,7 +368,7 @@ int printf_va_12(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_13(char const *format, int *param0);
+int scanf_va_13(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -383,7 +381,7 @@ int scanf_va_13(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_13(char const *format, int param0);
+int printf_va_13(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -399,7 +397,7 @@ int printf_va_13(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_14(char const *format, int *param0);
+int scanf_va_14(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -412,7 +410,7 @@ int scanf_va_14(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_14(char const *format, int param0);
+int printf_va_14(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -428,7 +426,7 @@ int printf_va_14(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_15(char const *format, unsigned int *param0);
+int scanf_va_15(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -441,7 +439,7 @@ int scanf_va_15(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_15(char const *format, unsigned int param0);
+int printf_va_15(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -457,7 +455,7 @@ int printf_va_15(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_16(char const *format, unsigned int *param0);
+int scanf_va_16(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -470,7 +468,7 @@ int scanf_va_16(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_16(char const *format, unsigned int param0);
+int printf_va_16(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -486,7 +484,7 @@ int printf_va_16(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_17(char const *format, unsigned int *param0);
+int scanf_va_17(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -499,7 +497,7 @@ int scanf_va_17(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_17(char const *format, unsigned int param0);
+int printf_va_17(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -515,7 +513,7 @@ int printf_va_17(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_18(char const *format, unsigned int *param0);
+int scanf_va_18(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -528,7 +526,7 @@ int scanf_va_18(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_18(char const *format, unsigned int param0);
+int printf_va_18(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -544,7 +542,7 @@ int printf_va_18(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_19(char const *format, long *param0);
+int scanf_va_19(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -557,7 +555,7 @@ int scanf_va_19(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_19(char const *format, long param0);
+int printf_va_19(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -573,7 +571,7 @@ int printf_va_19(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_20(char const *format, long *param0);
+int scanf_va_20(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -586,7 +584,7 @@ int scanf_va_20(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_20(char const *format, long param0);
+int printf_va_20(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -602,7 +600,7 @@ int printf_va_20(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_21(char const *format, unsigned long *param0);
+int scanf_va_21(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -615,7 +613,7 @@ int scanf_va_21(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_21(char const *format, unsigned long param0);
+int printf_va_21(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -631,7 +629,7 @@ int printf_va_21(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_22(char const *format, unsigned long *param0);
+int scanf_va_22(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -644,7 +642,7 @@ int scanf_va_22(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_22(char const *format, unsigned long param0);
+int printf_va_22(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -660,7 +658,7 @@ int printf_va_22(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_23(char const *format, unsigned long *param0);
+int scanf_va_23(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -673,7 +671,7 @@ int scanf_va_23(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_23(char const *format, unsigned long param0);
+int printf_va_23(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -689,7 +687,7 @@ int printf_va_23(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_24(char const *format, unsigned long *param0);
+int scanf_va_24(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -702,7 +700,7 @@ int scanf_va_24(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_24(char const *format, unsigned long param0);
+int printf_va_24(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -718,7 +716,7 @@ int printf_va_24(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_25(char const *format, signed char *param0);
+int scanf_va_25(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -731,7 +729,7 @@ int scanf_va_25(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_25(char const *format, int param0);
+int printf_va_25(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -747,7 +745,7 @@ int printf_va_25(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_26(char const *format, signed char *param0);
+int scanf_va_26(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -760,7 +758,7 @@ int scanf_va_26(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_26(char const *format, int param0);
+int printf_va_26(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -776,7 +774,7 @@ int printf_va_26(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_27(char const *format, unsigned char *param0);
+int scanf_va_27(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -789,7 +787,7 @@ int scanf_va_27(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_27(char const *format, int param0);
+int printf_va_27(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -805,7 +803,7 @@ int printf_va_27(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_28(char const *format, unsigned char *param0);
+int scanf_va_28(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -818,7 +816,7 @@ int scanf_va_28(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_28(char const *format, int param0);
+int printf_va_28(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -834,7 +832,7 @@ int printf_va_28(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_29(char const *format, unsigned char *param0);
+int scanf_va_29(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -847,7 +845,7 @@ int scanf_va_29(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_29(char const *format, int param0);
+int printf_va_29(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -863,7 +861,7 @@ int printf_va_29(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_30(char const *format, unsigned char *param0);
+int scanf_va_30(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -876,7 +874,7 @@ int scanf_va_30(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_30(char const *format, int param0);
+int printf_va_30(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -892,7 +890,7 @@ int printf_va_30(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_31(char const *format, short *param0);
+int scanf_va_31(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -905,7 +903,7 @@ int scanf_va_31(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_31(char const *format, int param0);
+int printf_va_31(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -921,7 +919,7 @@ int printf_va_31(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_32(char const *format, short *param0);
+int scanf_va_32(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -934,7 +932,7 @@ int scanf_va_32(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_32(char const *format, int param0);
+int printf_va_32(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -950,7 +948,7 @@ int printf_va_32(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_33(char const *format, unsigned short *param0);
+int scanf_va_33(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -963,7 +961,7 @@ int scanf_va_33(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_33(char const *format, int param0);
+int printf_va_33(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -979,7 +977,7 @@ int printf_va_33(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_34(char const *format, unsigned short *param0);
+int scanf_va_34(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -992,7 +990,7 @@ int scanf_va_34(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_34(char const *format, int param0);
+int printf_va_34(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1008,7 +1006,7 @@ int printf_va_34(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_35(char const *format, unsigned short *param0);
+int scanf_va_35(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1021,7 +1019,7 @@ int scanf_va_35(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_35(char const *format, int param0);
+int printf_va_35(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1037,7 +1035,7 @@ int printf_va_35(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_36(char const *format, unsigned short *param0);
+int scanf_va_36(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1050,7 +1048,7 @@ int scanf_va_36(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_36(char const *format, int param0);
+int printf_va_36(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1066,7 +1064,7 @@ int printf_va_36(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_37(char const *format, int *param0);
+int scanf_va_37(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1079,7 +1077,7 @@ int scanf_va_37(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_37(char const *format, int param0);
+int printf_va_37(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1095,7 +1093,7 @@ int printf_va_37(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_38(char const *format, int *param0);
+int scanf_va_38(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1108,7 +1106,7 @@ int scanf_va_38(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_38(char const *format, int param0);
+int printf_va_38(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1124,7 +1122,7 @@ int printf_va_38(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_39(char const *format, unsigned int *param0);
+int scanf_va_39(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1137,7 +1135,7 @@ int scanf_va_39(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_39(char const *format, unsigned int param0);
+int printf_va_39(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1153,7 +1151,7 @@ int printf_va_39(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_40(char const *format, unsigned int *param0);
+int scanf_va_40(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1166,7 +1164,7 @@ int scanf_va_40(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_40(char const *format, unsigned int param0);
+int printf_va_40(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1182,7 +1180,7 @@ int printf_va_40(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_41(char const *format, unsigned int *param0);
+int scanf_va_41(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1195,7 +1193,7 @@ int scanf_va_41(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_41(char const *format, unsigned int param0);
+int printf_va_41(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1211,7 +1209,7 @@ int printf_va_41(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_42(char const *format, unsigned int *param0);
+int scanf_va_42(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1224,7 +1222,7 @@ int scanf_va_42(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_42(char const *format, unsigned int param0);
+int printf_va_42(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1240,7 +1238,7 @@ int printf_va_42(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_43(char const *format, long *param0);
+int scanf_va_43(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1253,7 +1251,7 @@ int scanf_va_43(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_43(char const *format, long param0);
+int printf_va_43(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1269,7 +1267,7 @@ int printf_va_43(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_44(char const *format, long *param0);
+int scanf_va_44(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1282,7 +1280,7 @@ int scanf_va_44(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_44(char const *format, long param0);
+int printf_va_44(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1298,7 +1296,7 @@ int printf_va_44(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_45(char const *format, unsigned long *param0);
+int scanf_va_45(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1311,7 +1309,7 @@ int scanf_va_45(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_45(char const *format, unsigned long param0);
+int printf_va_45(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1327,7 +1325,7 @@ int printf_va_45(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_46(char const *format, unsigned long *param0);
+int scanf_va_46(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1340,7 +1338,7 @@ int scanf_va_46(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_46(char const *format, unsigned long param0);
+int printf_va_46(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1356,7 +1354,7 @@ int printf_va_46(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_47(char const *format, unsigned long *param0);
+int scanf_va_47(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1369,7 +1367,7 @@ int scanf_va_47(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_47(char const *format, unsigned long param0);
+int printf_va_47(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1385,7 +1383,7 @@ int printf_va_47(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_48(char const *format, unsigned long *param0);
+int scanf_va_48(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1398,7 +1396,7 @@ int scanf_va_48(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_48(char const *format, unsigned long param0);
+int printf_va_48(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1414,7 +1412,7 @@ int printf_va_48(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_49(char const *format, signed char *param0);
+int scanf_va_49(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1427,7 +1425,7 @@ int scanf_va_49(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_49(char const *format, int param0);
+int printf_va_49(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1443,7 +1441,7 @@ int printf_va_49(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_50(char const *format, signed char *param0);
+int scanf_va_50(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1456,7 +1454,7 @@ int scanf_va_50(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_50(char const *format, int param0);
+int printf_va_50(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1472,7 +1470,7 @@ int printf_va_50(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_51(char const *format, unsigned char *param0);
+int scanf_va_51(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1485,7 +1483,7 @@ int scanf_va_51(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_51(char const *format, int param0);
+int printf_va_51(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1501,7 +1499,7 @@ int printf_va_51(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_52(char const *format, unsigned char *param0);
+int scanf_va_52(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1514,7 +1512,7 @@ int scanf_va_52(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_52(char const *format, int param0);
+int printf_va_52(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1530,7 +1528,7 @@ int printf_va_52(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_53(char const *format, unsigned char *param0);
+int scanf_va_53(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1543,7 +1541,7 @@ int scanf_va_53(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_53(char const *format, int param0);
+int printf_va_53(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1559,7 +1557,7 @@ int printf_va_53(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_54(char const *format, unsigned char *param0);
+int scanf_va_54(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1572,7 +1570,7 @@ int scanf_va_54(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_54(char const *format, int param0);
+int printf_va_54(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1588,7 +1586,7 @@ int printf_va_54(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_55(char const *format, int *param0);
+int scanf_va_55(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1601,7 +1599,7 @@ int scanf_va_55(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_55(char const *format, int param0);
+int printf_va_55(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1617,7 +1615,7 @@ int printf_va_55(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_56(char const *format, int *param0);
+int scanf_va_56(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1630,7 +1628,7 @@ int scanf_va_56(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_56(char const *format, int param0);
+int printf_va_56(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1646,7 +1644,7 @@ int printf_va_56(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_57(char const *format, unsigned int *param0);
+int scanf_va_57(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1659,7 +1657,7 @@ int scanf_va_57(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_57(char const *format, unsigned int param0);
+int printf_va_57(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1675,7 +1673,7 @@ int printf_va_57(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_58(char const *format, unsigned int *param0);
+int scanf_va_58(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1688,7 +1686,7 @@ int scanf_va_58(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_58(char const *format, unsigned int param0);
+int printf_va_58(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1704,7 +1702,7 @@ int printf_va_58(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_59(char const *format, unsigned int *param0);
+int scanf_va_59(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1717,7 +1715,7 @@ int scanf_va_59(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_59(char const *format, unsigned int param0);
+int printf_va_59(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1733,7 +1731,7 @@ int printf_va_59(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_60(char const *format, unsigned int *param0);
+int scanf_va_60(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1746,7 +1744,7 @@ int scanf_va_60(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_60(char const *format, unsigned int param0);
+int printf_va_60(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1762,7 +1760,7 @@ int printf_va_60(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_61(char const *format, int *param0);
+int scanf_va_61(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1775,7 +1773,7 @@ int scanf_va_61(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_61(char const *format, int param0);
+int printf_va_61(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1791,7 +1789,7 @@ int printf_va_61(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_62(char const *format, int *param0);
+int scanf_va_62(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1804,7 +1802,7 @@ int scanf_va_62(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_62(char const *format, int param0);
+int printf_va_62(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1820,7 +1818,7 @@ int printf_va_62(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_63(char const *format, unsigned int *param0);
+int scanf_va_63(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1833,7 +1831,7 @@ int scanf_va_63(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_63(char const *format, unsigned int param0);
+int printf_va_63(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1849,7 +1847,7 @@ int printf_va_63(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_64(char const *format, unsigned int *param0);
+int scanf_va_64(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1862,7 +1860,7 @@ int scanf_va_64(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_64(char const *format, unsigned int param0);
+int printf_va_64(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1878,7 +1876,7 @@ int printf_va_64(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_65(char const *format, unsigned int *param0);
+int scanf_va_65(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1891,7 +1889,7 @@ int scanf_va_65(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_65(char const *format, unsigned int param0);
+int printf_va_65(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1907,7 +1905,7 @@ int printf_va_65(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_66(char const *format, unsigned int *param0);
+int scanf_va_66(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1920,7 +1918,7 @@ int scanf_va_66(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_66(char const *format, unsigned int param0);
+int printf_va_66(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1936,7 +1934,7 @@ int printf_va_66(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_67(char const *format, long *param0);
+int scanf_va_67(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1949,7 +1947,7 @@ int scanf_va_67(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_67(char const *format, long param0);
+int printf_va_67(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1965,7 +1963,7 @@ int printf_va_67(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_68(char const *format, long *param0);
+int scanf_va_68(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1978,7 +1976,7 @@ int scanf_va_68(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_68(char const *format, long param0);
+int printf_va_68(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1994,7 +1992,7 @@ int printf_va_68(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_69(char const *format, unsigned long *param0);
+int scanf_va_69(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2007,7 +2005,7 @@ int scanf_va_69(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_69(char const *format, unsigned long param0);
+int printf_va_69(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2023,7 +2021,7 @@ int printf_va_69(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_70(char const *format, unsigned long *param0);
+int scanf_va_70(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2036,7 +2034,7 @@ int scanf_va_70(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_70(char const *format, unsigned long param0);
+int printf_va_70(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2052,7 +2050,7 @@ int printf_va_70(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_71(char const *format, unsigned long *param0);
+int scanf_va_71(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2065,7 +2063,7 @@ int scanf_va_71(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_71(char const *format, unsigned long param0);
+int printf_va_71(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2081,7 +2079,7 @@ int printf_va_71(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_72(char const *format, unsigned long *param0);
+int scanf_va_72(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2094,7 +2092,7 @@ int scanf_va_72(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_72(char const *format, unsigned long param0);
+int printf_va_72(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2110,7 +2108,7 @@ int printf_va_72(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_73(char const *format, long long *param0);
+int scanf_va_73(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2123,7 +2121,7 @@ int scanf_va_73(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_73(char const *format, long long param0);
+int printf_va_73(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2139,7 +2137,7 @@ int printf_va_73(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_74(char const *format, long long *param0);
+int scanf_va_74(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2152,7 +2150,7 @@ int scanf_va_74(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_74(char const *format, long long param0);
+int printf_va_74(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2168,7 +2166,7 @@ int printf_va_74(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_75(char const *format, unsigned long long *param0);
+int scanf_va_75(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2181,7 +2179,7 @@ int scanf_va_75(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_75(char const *format, unsigned long long param0);
+int printf_va_75(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2197,7 +2195,7 @@ int printf_va_75(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_76(char const *format, unsigned long long *param0);
+int scanf_va_76(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2210,7 +2208,7 @@ int scanf_va_76(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_76(char const *format, unsigned long long param0);
+int printf_va_76(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2226,7 +2224,7 @@ int printf_va_76(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_77(char const *format, unsigned long long *param0);
+int scanf_va_77(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2239,7 +2237,7 @@ int scanf_va_77(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_77(char const *format, unsigned long long param0);
+int printf_va_77(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2255,7 +2253,7 @@ int printf_va_77(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_78(char const *format, unsigned long long *param0);
+int scanf_va_78(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2268,7 +2266,7 @@ int scanf_va_78(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_78(char const *format, unsigned long long param0);
+int printf_va_78(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2284,7 +2282,7 @@ int printf_va_78(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_79(char const *format, long *param0);
+int scanf_va_79(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2297,7 +2295,7 @@ int scanf_va_79(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_79(char const *format, long param0);
+int printf_va_79(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2313,7 +2311,7 @@ int printf_va_79(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_80(char const *format, long *param0);
+int scanf_va_80(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2326,7 +2324,7 @@ int scanf_va_80(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_80(char const *format, long param0);
+int printf_va_80(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2342,7 +2340,7 @@ int printf_va_80(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_81(char const *format, unsigned long *param0);
+int scanf_va_81(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2355,7 +2353,7 @@ int scanf_va_81(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_81(char const *format, unsigned long param0);
+int printf_va_81(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2371,7 +2369,7 @@ int printf_va_81(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_82(char const *format, unsigned long *param0);
+int scanf_va_82(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2384,7 +2382,7 @@ int scanf_va_82(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_82(char const *format, unsigned long param0);
+int printf_va_82(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2400,7 +2398,7 @@ int printf_va_82(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_83(char const *format, unsigned long *param0);
+int scanf_va_83(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2413,7 +2411,7 @@ int scanf_va_83(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_83(char const *format, unsigned long param0);
+int printf_va_83(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2429,7 +2427,7 @@ int printf_va_83(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_84(char const *format, unsigned long *param0);
+int scanf_va_84(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2442,7 +2440,7 @@ int scanf_va_84(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_84(char const *format, unsigned long param0);
+int printf_va_84(char const * __restrict format, unsigned long param0);
 
 int main(void)
 {
diff --git a/tests/libc/oracle/inttypes_h.3.res.oracle b/tests/libc/oracle/inttypes_h.3.res.oracle
index 95a7c50626ca0688f6494161a16f81ac20021e51..eaaa132d690dde79c31b64fed1258454417d0d00 100644
--- a/tests/libc/oracle/inttypes_h.3.res.oracle
+++ b/tests/libc/oracle/inttypes_h.3.res.oracle
@@ -1,5 +1,3 @@
-[kernel:pp] 
-  preprocessing with "gcc -E -C -I.  -I./share/libc -D__FRAMAC__ -D__FC_MACHDEP_X86_16 -dD -nostdinc -m16 tests/libc/inttypes_h.c"
 [kernel] Parsing tests/libc/inttypes_h.c (with preprocessing)
 /* Generated by Frama-C */
 #include "errno.h"
@@ -22,7 +20,7 @@
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_1(char const *format, signed char *param0);
+int scanf_va_1(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -35,7 +33,7 @@ int scanf_va_1(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_1(char const *format, int param0);
+int printf_va_1(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -51,7 +49,7 @@ int printf_va_1(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_2(char const *format, signed char *param0);
+int scanf_va_2(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -64,7 +62,7 @@ int scanf_va_2(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_2(char const *format, int param0);
+int printf_va_2(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -80,7 +78,7 @@ int printf_va_2(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_3(char const *format, unsigned char *param0);
+int scanf_va_3(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -93,7 +91,7 @@ int scanf_va_3(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_3(char const *format, int param0);
+int printf_va_3(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -109,7 +107,7 @@ int printf_va_3(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_4(char const *format, unsigned char *param0);
+int scanf_va_4(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -122,7 +120,7 @@ int scanf_va_4(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_4(char const *format, int param0);
+int printf_va_4(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -138,7 +136,7 @@ int printf_va_4(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_5(char const *format, unsigned char *param0);
+int scanf_va_5(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -151,7 +149,7 @@ int scanf_va_5(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_5(char const *format, int param0);
+int printf_va_5(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -167,7 +165,7 @@ int printf_va_5(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_6(char const *format, unsigned char *param0);
+int scanf_va_6(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -180,7 +178,7 @@ int scanf_va_6(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_6(char const *format, int param0);
+int printf_va_6(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -196,7 +194,7 @@ int printf_va_6(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_7(char const *format, short *param0);
+int scanf_va_7(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -209,7 +207,7 @@ int scanf_va_7(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_7(char const *format, int param0);
+int printf_va_7(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -225,7 +223,7 @@ int printf_va_7(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_8(char const *format, short *param0);
+int scanf_va_8(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -238,7 +236,7 @@ int scanf_va_8(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_8(char const *format, int param0);
+int printf_va_8(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -254,7 +252,7 @@ int printf_va_8(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_9(char const *format, unsigned short *param0);
+int scanf_va_9(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -267,7 +265,7 @@ int scanf_va_9(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_9(char const *format, unsigned int param0);
+int printf_va_9(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -283,7 +281,7 @@ int printf_va_9(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_10(char const *format, unsigned short *param0);
+int scanf_va_10(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -296,7 +294,7 @@ int scanf_va_10(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_10(char const *format, unsigned int param0);
+int printf_va_10(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -312,7 +310,7 @@ int printf_va_10(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_11(char const *format, unsigned short *param0);
+int scanf_va_11(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -325,7 +323,7 @@ int scanf_va_11(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_11(char const *format, unsigned int param0);
+int printf_va_11(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -341,7 +339,7 @@ int printf_va_11(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_12(char const *format, unsigned short *param0);
+int scanf_va_12(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -354,7 +352,7 @@ int scanf_va_12(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_12(char const *format, unsigned int param0);
+int printf_va_12(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -370,7 +368,7 @@ int printf_va_12(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_13(char const *format, long *param0);
+int scanf_va_13(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -383,7 +381,7 @@ int scanf_va_13(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_13(char const *format, long param0);
+int printf_va_13(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -399,7 +397,7 @@ int printf_va_13(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_14(char const *format, long *param0);
+int scanf_va_14(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -412,7 +410,7 @@ int scanf_va_14(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_14(char const *format, long param0);
+int printf_va_14(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -428,7 +426,7 @@ int printf_va_14(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_15(char const *format, unsigned long *param0);
+int scanf_va_15(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -441,7 +439,7 @@ int scanf_va_15(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_15(char const *format, unsigned long param0);
+int printf_va_15(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -457,7 +455,7 @@ int printf_va_15(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_16(char const *format, unsigned long *param0);
+int scanf_va_16(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -470,7 +468,7 @@ int scanf_va_16(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_16(char const *format, unsigned long param0);
+int printf_va_16(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -486,7 +484,7 @@ int printf_va_16(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_17(char const *format, unsigned long *param0);
+int scanf_va_17(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -499,7 +497,7 @@ int scanf_va_17(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_17(char const *format, unsigned long param0);
+int printf_va_17(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -515,7 +513,7 @@ int printf_va_17(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_18(char const *format, unsigned long *param0);
+int scanf_va_18(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -528,7 +526,7 @@ int scanf_va_18(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_18(char const *format, unsigned long param0);
+int printf_va_18(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -544,7 +542,7 @@ int printf_va_18(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_19(char const *format, long long *param0);
+int scanf_va_19(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -557,7 +555,7 @@ int scanf_va_19(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_19(char const *format, long long param0);
+int printf_va_19(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -573,7 +571,7 @@ int printf_va_19(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_20(char const *format, long long *param0);
+int scanf_va_20(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -586,7 +584,7 @@ int scanf_va_20(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_20(char const *format, long long param0);
+int printf_va_20(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -602,7 +600,7 @@ int printf_va_20(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_21(char const *format, unsigned long long *param0);
+int scanf_va_21(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -615,7 +613,7 @@ int scanf_va_21(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_21(char const *format, unsigned long long param0);
+int printf_va_21(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -631,7 +629,7 @@ int printf_va_21(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_22(char const *format, unsigned long long *param0);
+int scanf_va_22(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -644,7 +642,7 @@ int scanf_va_22(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_22(char const *format, unsigned long long param0);
+int printf_va_22(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -660,7 +658,7 @@ int printf_va_22(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_23(char const *format, unsigned long long *param0);
+int scanf_va_23(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -673,7 +671,7 @@ int scanf_va_23(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_23(char const *format, unsigned long long param0);
+int printf_va_23(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -689,7 +687,7 @@ int printf_va_23(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_24(char const *format, unsigned long long *param0);
+int scanf_va_24(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -702,7 +700,7 @@ int scanf_va_24(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_24(char const *format, unsigned long long param0);
+int printf_va_24(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -718,7 +716,7 @@ int printf_va_24(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_25(char const *format, signed char *param0);
+int scanf_va_25(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -731,7 +729,7 @@ int scanf_va_25(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_25(char const *format, int param0);
+int printf_va_25(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -747,7 +745,7 @@ int printf_va_25(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_26(char const *format, signed char *param0);
+int scanf_va_26(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -760,7 +758,7 @@ int scanf_va_26(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_26(char const *format, int param0);
+int printf_va_26(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -776,7 +774,7 @@ int printf_va_26(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_27(char const *format, unsigned char *param0);
+int scanf_va_27(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -789,7 +787,7 @@ int scanf_va_27(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_27(char const *format, int param0);
+int printf_va_27(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -805,7 +803,7 @@ int printf_va_27(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_28(char const *format, unsigned char *param0);
+int scanf_va_28(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -818,7 +816,7 @@ int scanf_va_28(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_28(char const *format, int param0);
+int printf_va_28(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -834,7 +832,7 @@ int printf_va_28(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_29(char const *format, unsigned char *param0);
+int scanf_va_29(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -847,7 +845,7 @@ int scanf_va_29(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_29(char const *format, int param0);
+int printf_va_29(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -863,7 +861,7 @@ int printf_va_29(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_30(char const *format, unsigned char *param0);
+int scanf_va_30(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -876,7 +874,7 @@ int scanf_va_30(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_30(char const *format, int param0);
+int printf_va_30(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -892,7 +890,7 @@ int printf_va_30(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_31(char const *format, short *param0);
+int scanf_va_31(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -905,7 +903,7 @@ int scanf_va_31(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_31(char const *format, int param0);
+int printf_va_31(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -921,7 +919,7 @@ int printf_va_31(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_32(char const *format, short *param0);
+int scanf_va_32(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -934,7 +932,7 @@ int scanf_va_32(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_32(char const *format, int param0);
+int printf_va_32(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -950,7 +948,7 @@ int printf_va_32(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_33(char const *format, unsigned short *param0);
+int scanf_va_33(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -963,7 +961,7 @@ int scanf_va_33(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_33(char const *format, unsigned int param0);
+int printf_va_33(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -979,7 +977,7 @@ int printf_va_33(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_34(char const *format, unsigned short *param0);
+int scanf_va_34(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -992,7 +990,7 @@ int scanf_va_34(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_34(char const *format, unsigned int param0);
+int printf_va_34(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1008,7 +1006,7 @@ int printf_va_34(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_35(char const *format, unsigned short *param0);
+int scanf_va_35(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1021,7 +1019,7 @@ int scanf_va_35(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_35(char const *format, unsigned int param0);
+int printf_va_35(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1037,7 +1035,7 @@ int printf_va_35(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_36(char const *format, unsigned short *param0);
+int scanf_va_36(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1050,7 +1048,7 @@ int scanf_va_36(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_36(char const *format, unsigned int param0);
+int printf_va_36(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1066,7 +1064,7 @@ int printf_va_36(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_37(char const *format, long *param0);
+int scanf_va_37(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1079,7 +1077,7 @@ int scanf_va_37(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_37(char const *format, long param0);
+int printf_va_37(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1095,7 +1093,7 @@ int printf_va_37(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_38(char const *format, long *param0);
+int scanf_va_38(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1108,7 +1106,7 @@ int scanf_va_38(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_38(char const *format, long param0);
+int printf_va_38(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1124,7 +1122,7 @@ int printf_va_38(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_39(char const *format, unsigned long *param0);
+int scanf_va_39(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1137,7 +1135,7 @@ int scanf_va_39(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_39(char const *format, unsigned long param0);
+int printf_va_39(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1153,7 +1151,7 @@ int printf_va_39(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_40(char const *format, unsigned long *param0);
+int scanf_va_40(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1166,7 +1164,7 @@ int scanf_va_40(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_40(char const *format, unsigned long param0);
+int printf_va_40(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1182,7 +1180,7 @@ int printf_va_40(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_41(char const *format, unsigned long *param0);
+int scanf_va_41(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1195,7 +1193,7 @@ int scanf_va_41(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_41(char const *format, unsigned long param0);
+int printf_va_41(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1211,7 +1209,7 @@ int printf_va_41(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_42(char const *format, unsigned long *param0);
+int scanf_va_42(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1224,7 +1222,7 @@ int scanf_va_42(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_42(char const *format, unsigned long param0);
+int printf_va_42(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1240,7 +1238,7 @@ int printf_va_42(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_43(char const *format, long long *param0);
+int scanf_va_43(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1253,7 +1251,7 @@ int scanf_va_43(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_43(char const *format, long long param0);
+int printf_va_43(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1269,7 +1267,7 @@ int printf_va_43(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_44(char const *format, long long *param0);
+int scanf_va_44(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1282,7 +1280,7 @@ int scanf_va_44(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_44(char const *format, long long param0);
+int printf_va_44(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1298,7 +1296,7 @@ int printf_va_44(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_45(char const *format, unsigned long long *param0);
+int scanf_va_45(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1311,7 +1309,7 @@ int scanf_va_45(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_45(char const *format, unsigned long long param0);
+int printf_va_45(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1327,7 +1325,7 @@ int printf_va_45(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_46(char const *format, unsigned long long *param0);
+int scanf_va_46(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1340,7 +1338,7 @@ int scanf_va_46(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_46(char const *format, unsigned long long param0);
+int printf_va_46(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1356,7 +1354,7 @@ int printf_va_46(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_47(char const *format, unsigned long long *param0);
+int scanf_va_47(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1369,7 +1367,7 @@ int scanf_va_47(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_47(char const *format, unsigned long long param0);
+int printf_va_47(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1385,7 +1383,7 @@ int printf_va_47(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_48(char const *format, unsigned long long *param0);
+int scanf_va_48(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1398,7 +1396,7 @@ int scanf_va_48(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_48(char const *format, unsigned long long param0);
+int printf_va_48(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1414,7 +1412,7 @@ int printf_va_48(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_49(char const *format, signed char *param0);
+int scanf_va_49(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1427,7 +1425,7 @@ int scanf_va_49(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_49(char const *format, int param0);
+int printf_va_49(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1443,7 +1441,7 @@ int printf_va_49(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_50(char const *format, signed char *param0);
+int scanf_va_50(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1456,7 +1454,7 @@ int scanf_va_50(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_50(char const *format, int param0);
+int printf_va_50(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1472,7 +1470,7 @@ int printf_va_50(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_51(char const *format, unsigned char *param0);
+int scanf_va_51(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1485,7 +1483,7 @@ int scanf_va_51(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_51(char const *format, int param0);
+int printf_va_51(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1501,7 +1499,7 @@ int printf_va_51(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_52(char const *format, unsigned char *param0);
+int scanf_va_52(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1514,7 +1512,7 @@ int scanf_va_52(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_52(char const *format, int param0);
+int printf_va_52(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1530,7 +1528,7 @@ int printf_va_52(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_53(char const *format, unsigned char *param0);
+int scanf_va_53(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1543,7 +1541,7 @@ int scanf_va_53(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_53(char const *format, int param0);
+int printf_va_53(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1559,7 +1557,7 @@ int printf_va_53(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_54(char const *format, unsigned char *param0);
+int scanf_va_54(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1572,7 +1570,7 @@ int scanf_va_54(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_54(char const *format, int param0);
+int printf_va_54(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1588,7 +1586,7 @@ int printf_va_54(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_55(char const *format, int *param0);
+int scanf_va_55(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1601,7 +1599,7 @@ int scanf_va_55(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_55(char const *format, int param0);
+int printf_va_55(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1617,7 +1615,7 @@ int printf_va_55(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_56(char const *format, int *param0);
+int scanf_va_56(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1630,7 +1628,7 @@ int scanf_va_56(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_56(char const *format, int param0);
+int printf_va_56(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1646,7 +1644,7 @@ int printf_va_56(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_57(char const *format, unsigned int *param0);
+int scanf_va_57(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1659,7 +1657,7 @@ int scanf_va_57(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_57(char const *format, unsigned int param0);
+int printf_va_57(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1675,7 +1673,7 @@ int printf_va_57(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_58(char const *format, unsigned int *param0);
+int scanf_va_58(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1688,7 +1686,7 @@ int scanf_va_58(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_58(char const *format, unsigned int param0);
+int printf_va_58(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1704,7 +1702,7 @@ int printf_va_58(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_59(char const *format, unsigned int *param0);
+int scanf_va_59(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1717,7 +1715,7 @@ int scanf_va_59(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_59(char const *format, unsigned int param0);
+int printf_va_59(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1733,7 +1731,7 @@ int printf_va_59(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_60(char const *format, unsigned int *param0);
+int scanf_va_60(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1746,7 +1744,7 @@ int scanf_va_60(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_60(char const *format, unsigned int param0);
+int printf_va_60(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1762,7 +1760,7 @@ int printf_va_60(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_61(char const *format, long *param0);
+int scanf_va_61(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1775,7 +1773,7 @@ int scanf_va_61(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_61(char const *format, long param0);
+int printf_va_61(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1791,7 +1789,7 @@ int printf_va_61(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_62(char const *format, long *param0);
+int scanf_va_62(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1804,7 +1802,7 @@ int scanf_va_62(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_62(char const *format, long param0);
+int printf_va_62(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1820,7 +1818,7 @@ int printf_va_62(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_63(char const *format, unsigned long *param0);
+int scanf_va_63(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1833,7 +1831,7 @@ int scanf_va_63(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_63(char const *format, unsigned long param0);
+int printf_va_63(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1849,7 +1847,7 @@ int printf_va_63(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_64(char const *format, unsigned long *param0);
+int scanf_va_64(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1862,7 +1860,7 @@ int scanf_va_64(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_64(char const *format, unsigned long param0);
+int printf_va_64(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1878,7 +1876,7 @@ int printf_va_64(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_65(char const *format, unsigned long *param0);
+int scanf_va_65(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1891,7 +1889,7 @@ int scanf_va_65(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_65(char const *format, unsigned long param0);
+int printf_va_65(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1907,7 +1905,7 @@ int printf_va_65(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_66(char const *format, unsigned long *param0);
+int scanf_va_66(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1920,7 +1918,7 @@ int scanf_va_66(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_66(char const *format, unsigned long param0);
+int printf_va_66(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1936,7 +1934,7 @@ int printf_va_66(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_67(char const *format, long long *param0);
+int scanf_va_67(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1949,7 +1947,7 @@ int scanf_va_67(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_67(char const *format, long long param0);
+int printf_va_67(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1965,7 +1963,7 @@ int printf_va_67(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_68(char const *format, long long *param0);
+int scanf_va_68(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1978,7 +1976,7 @@ int scanf_va_68(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_68(char const *format, long long param0);
+int printf_va_68(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1994,7 +1992,7 @@ int printf_va_68(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_69(char const *format, unsigned long long *param0);
+int scanf_va_69(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2007,7 +2005,7 @@ int scanf_va_69(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_69(char const *format, unsigned long long param0);
+int printf_va_69(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2023,7 +2021,7 @@ int printf_va_69(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_70(char const *format, unsigned long long *param0);
+int scanf_va_70(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2036,7 +2034,7 @@ int scanf_va_70(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_70(char const *format, unsigned long long param0);
+int printf_va_70(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2052,7 +2050,7 @@ int printf_va_70(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_71(char const *format, unsigned long long *param0);
+int scanf_va_71(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2065,7 +2063,7 @@ int scanf_va_71(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_71(char const *format, unsigned long long param0);
+int printf_va_71(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2081,7 +2079,7 @@ int printf_va_71(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_72(char const *format, unsigned long long *param0);
+int scanf_va_72(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2094,7 +2092,7 @@ int scanf_va_72(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_72(char const *format, unsigned long long param0);
+int printf_va_72(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2110,7 +2108,7 @@ int printf_va_72(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_73(char const *format, long long *param0);
+int scanf_va_73(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2123,7 +2121,7 @@ int scanf_va_73(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_73(char const *format, long long param0);
+int printf_va_73(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2139,7 +2137,7 @@ int printf_va_73(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_74(char const *format, long long *param0);
+int scanf_va_74(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2152,7 +2150,7 @@ int scanf_va_74(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_74(char const *format, long long param0);
+int printf_va_74(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2168,7 +2166,7 @@ int printf_va_74(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_75(char const *format, unsigned long long *param0);
+int scanf_va_75(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2181,7 +2179,7 @@ int scanf_va_75(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_75(char const *format, unsigned long long param0);
+int printf_va_75(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2197,7 +2195,7 @@ int printf_va_75(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_76(char const *format, unsigned long long *param0);
+int scanf_va_76(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2210,7 +2208,7 @@ int scanf_va_76(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_76(char const *format, unsigned long long param0);
+int printf_va_76(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2226,7 +2224,7 @@ int printf_va_76(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_77(char const *format, unsigned long long *param0);
+int scanf_va_77(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2239,7 +2237,7 @@ int scanf_va_77(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_77(char const *format, unsigned long long param0);
+int printf_va_77(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2255,7 +2253,7 @@ int printf_va_77(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_78(char const *format, unsigned long long *param0);
+int scanf_va_78(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2268,7 +2266,7 @@ int scanf_va_78(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_78(char const *format, unsigned long long param0);
+int printf_va_78(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2284,7 +2282,7 @@ int printf_va_78(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_79(char const *format, long *param0);
+int scanf_va_79(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2297,7 +2295,7 @@ int scanf_va_79(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_79(char const *format, long param0);
+int printf_va_79(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2313,7 +2311,7 @@ int printf_va_79(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_80(char const *format, long *param0);
+int scanf_va_80(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2326,7 +2324,7 @@ int scanf_va_80(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_80(char const *format, long param0);
+int printf_va_80(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2342,7 +2340,7 @@ int printf_va_80(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_81(char const *format, unsigned long *param0);
+int scanf_va_81(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2355,7 +2353,7 @@ int scanf_va_81(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_81(char const *format, unsigned long param0);
+int printf_va_81(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2371,7 +2369,7 @@ int printf_va_81(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_82(char const *format, unsigned long *param0);
+int scanf_va_82(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2384,7 +2382,7 @@ int scanf_va_82(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_82(char const *format, unsigned long param0);
+int printf_va_82(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2400,7 +2398,7 @@ int printf_va_82(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_83(char const *format, unsigned long *param0);
+int scanf_va_83(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2413,7 +2411,7 @@ int scanf_va_83(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_83(char const *format, unsigned long param0);
+int printf_va_83(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2429,7 +2427,7 @@ int printf_va_83(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_84(char const *format, unsigned long *param0);
+int scanf_va_84(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2442,7 +2440,7 @@ int scanf_va_84(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_84(char const *format, unsigned long param0);
+int printf_va_84(char const * __restrict format, unsigned long param0);
 
 int main(void)
 {
diff --git a/tests/libc/oracle/inttypes_h.4.res.oracle b/tests/libc/oracle/inttypes_h.4.res.oracle
index 4df9581be573ecef7688d9571e79fae65a599248..ee3b253caf33cceda5773e2ab7553f01ef3d5e2d 100644
--- a/tests/libc/oracle/inttypes_h.4.res.oracle
+++ b/tests/libc/oracle/inttypes_h.4.res.oracle
@@ -1,5 +1,3 @@
-[kernel:pp] 
-  preprocessing with "gcc -E -C -I.  -I./share/libc -D__FRAMAC__ -D__FC_MACHDEP_X86_32 -dD -nostdinc -m32 tests/libc/inttypes_h.c"
 [kernel] Parsing tests/libc/inttypes_h.c (with preprocessing)
 /* Generated by Frama-C */
 #include "errno.h"
@@ -22,7 +20,7 @@
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_1(char const *format, signed char *param0);
+int scanf_va_1(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -35,7 +33,7 @@ int scanf_va_1(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_1(char const *format, int param0);
+int printf_va_1(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -51,7 +49,7 @@ int printf_va_1(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_2(char const *format, signed char *param0);
+int scanf_va_2(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -64,7 +62,7 @@ int scanf_va_2(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_2(char const *format, int param0);
+int printf_va_2(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -80,7 +78,7 @@ int printf_va_2(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_3(char const *format, unsigned char *param0);
+int scanf_va_3(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -93,7 +91,7 @@ int scanf_va_3(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_3(char const *format, int param0);
+int printf_va_3(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -109,7 +107,7 @@ int printf_va_3(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_4(char const *format, unsigned char *param0);
+int scanf_va_4(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -122,7 +120,7 @@ int scanf_va_4(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_4(char const *format, int param0);
+int printf_va_4(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -138,7 +136,7 @@ int printf_va_4(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_5(char const *format, unsigned char *param0);
+int scanf_va_5(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -151,7 +149,7 @@ int scanf_va_5(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_5(char const *format, int param0);
+int printf_va_5(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -167,7 +165,7 @@ int printf_va_5(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_6(char const *format, unsigned char *param0);
+int scanf_va_6(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -180,7 +178,7 @@ int scanf_va_6(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_6(char const *format, int param0);
+int printf_va_6(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -196,7 +194,7 @@ int printf_va_6(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_7(char const *format, short *param0);
+int scanf_va_7(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -209,7 +207,7 @@ int scanf_va_7(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_7(char const *format, int param0);
+int printf_va_7(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -225,7 +223,7 @@ int printf_va_7(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_8(char const *format, short *param0);
+int scanf_va_8(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -238,7 +236,7 @@ int scanf_va_8(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_8(char const *format, int param0);
+int printf_va_8(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -254,7 +252,7 @@ int printf_va_8(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_9(char const *format, unsigned short *param0);
+int scanf_va_9(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -267,7 +265,7 @@ int scanf_va_9(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_9(char const *format, int param0);
+int printf_va_9(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -283,7 +281,7 @@ int printf_va_9(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_10(char const *format, unsigned short *param0);
+int scanf_va_10(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -296,7 +294,7 @@ int scanf_va_10(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_10(char const *format, int param0);
+int printf_va_10(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -312,7 +310,7 @@ int printf_va_10(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_11(char const *format, unsigned short *param0);
+int scanf_va_11(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -325,7 +323,7 @@ int scanf_va_11(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_11(char const *format, int param0);
+int printf_va_11(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -341,7 +339,7 @@ int printf_va_11(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_12(char const *format, unsigned short *param0);
+int scanf_va_12(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -354,7 +352,7 @@ int scanf_va_12(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_12(char const *format, int param0);
+int printf_va_12(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -370,7 +368,7 @@ int printf_va_12(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_13(char const *format, int *param0);
+int scanf_va_13(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -383,7 +381,7 @@ int scanf_va_13(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_13(char const *format, int param0);
+int printf_va_13(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -399,7 +397,7 @@ int printf_va_13(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_14(char const *format, int *param0);
+int scanf_va_14(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -412,7 +410,7 @@ int scanf_va_14(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_14(char const *format, int param0);
+int printf_va_14(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -428,7 +426,7 @@ int printf_va_14(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_15(char const *format, unsigned int *param0);
+int scanf_va_15(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -441,7 +439,7 @@ int scanf_va_15(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_15(char const *format, unsigned int param0);
+int printf_va_15(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -457,7 +455,7 @@ int printf_va_15(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_16(char const *format, unsigned int *param0);
+int scanf_va_16(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -470,7 +468,7 @@ int scanf_va_16(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_16(char const *format, unsigned int param0);
+int printf_va_16(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -486,7 +484,7 @@ int printf_va_16(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_17(char const *format, unsigned int *param0);
+int scanf_va_17(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -499,7 +497,7 @@ int scanf_va_17(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_17(char const *format, unsigned int param0);
+int printf_va_17(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -515,7 +513,7 @@ int printf_va_17(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_18(char const *format, unsigned int *param0);
+int scanf_va_18(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -528,7 +526,7 @@ int scanf_va_18(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_18(char const *format, unsigned int param0);
+int printf_va_18(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -544,7 +542,7 @@ int printf_va_18(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_19(char const *format, long long *param0);
+int scanf_va_19(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -557,7 +555,7 @@ int scanf_va_19(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_19(char const *format, long long param0);
+int printf_va_19(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -573,7 +571,7 @@ int printf_va_19(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_20(char const *format, long long *param0);
+int scanf_va_20(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -586,7 +584,7 @@ int scanf_va_20(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_20(char const *format, long long param0);
+int printf_va_20(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -602,7 +600,7 @@ int printf_va_20(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_21(char const *format, unsigned long long *param0);
+int scanf_va_21(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -615,7 +613,7 @@ int scanf_va_21(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_21(char const *format, unsigned long long param0);
+int printf_va_21(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -631,7 +629,7 @@ int printf_va_21(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_22(char const *format, unsigned long long *param0);
+int scanf_va_22(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -644,7 +642,7 @@ int scanf_va_22(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_22(char const *format, unsigned long long param0);
+int printf_va_22(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -660,7 +658,7 @@ int printf_va_22(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_23(char const *format, unsigned long long *param0);
+int scanf_va_23(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -673,7 +671,7 @@ int scanf_va_23(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_23(char const *format, unsigned long long param0);
+int printf_va_23(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -689,7 +687,7 @@ int printf_va_23(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_24(char const *format, unsigned long long *param0);
+int scanf_va_24(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -702,7 +700,7 @@ int scanf_va_24(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_24(char const *format, unsigned long long param0);
+int printf_va_24(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -718,7 +716,7 @@ int printf_va_24(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_25(char const *format, signed char *param0);
+int scanf_va_25(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -731,7 +729,7 @@ int scanf_va_25(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_25(char const *format, int param0);
+int printf_va_25(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -747,7 +745,7 @@ int printf_va_25(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_26(char const *format, signed char *param0);
+int scanf_va_26(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -760,7 +758,7 @@ int scanf_va_26(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_26(char const *format, int param0);
+int printf_va_26(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -776,7 +774,7 @@ int printf_va_26(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_27(char const *format, unsigned char *param0);
+int scanf_va_27(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -789,7 +787,7 @@ int scanf_va_27(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_27(char const *format, int param0);
+int printf_va_27(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -805,7 +803,7 @@ int printf_va_27(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_28(char const *format, unsigned char *param0);
+int scanf_va_28(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -818,7 +816,7 @@ int scanf_va_28(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_28(char const *format, int param0);
+int printf_va_28(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -834,7 +832,7 @@ int printf_va_28(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_29(char const *format, unsigned char *param0);
+int scanf_va_29(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -847,7 +845,7 @@ int scanf_va_29(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_29(char const *format, int param0);
+int printf_va_29(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -863,7 +861,7 @@ int printf_va_29(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_30(char const *format, unsigned char *param0);
+int scanf_va_30(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -876,7 +874,7 @@ int scanf_va_30(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_30(char const *format, int param0);
+int printf_va_30(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -892,7 +890,7 @@ int printf_va_30(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_31(char const *format, short *param0);
+int scanf_va_31(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -905,7 +903,7 @@ int scanf_va_31(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_31(char const *format, int param0);
+int printf_va_31(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -921,7 +919,7 @@ int printf_va_31(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_32(char const *format, short *param0);
+int scanf_va_32(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -934,7 +932,7 @@ int scanf_va_32(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_32(char const *format, int param0);
+int printf_va_32(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -950,7 +948,7 @@ int printf_va_32(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_33(char const *format, unsigned short *param0);
+int scanf_va_33(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -963,7 +961,7 @@ int scanf_va_33(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_33(char const *format, int param0);
+int printf_va_33(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -979,7 +977,7 @@ int printf_va_33(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_34(char const *format, unsigned short *param0);
+int scanf_va_34(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -992,7 +990,7 @@ int scanf_va_34(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_34(char const *format, int param0);
+int printf_va_34(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1008,7 +1006,7 @@ int printf_va_34(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_35(char const *format, unsigned short *param0);
+int scanf_va_35(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1021,7 +1019,7 @@ int scanf_va_35(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_35(char const *format, int param0);
+int printf_va_35(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1037,7 +1035,7 @@ int printf_va_35(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_36(char const *format, unsigned short *param0);
+int scanf_va_36(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1050,7 +1048,7 @@ int scanf_va_36(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_36(char const *format, int param0);
+int printf_va_36(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1066,7 +1064,7 @@ int printf_va_36(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_37(char const *format, int *param0);
+int scanf_va_37(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1079,7 +1077,7 @@ int scanf_va_37(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_37(char const *format, int param0);
+int printf_va_37(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1095,7 +1093,7 @@ int printf_va_37(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_38(char const *format, int *param0);
+int scanf_va_38(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1108,7 +1106,7 @@ int scanf_va_38(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_38(char const *format, int param0);
+int printf_va_38(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1124,7 +1122,7 @@ int printf_va_38(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_39(char const *format, unsigned int *param0);
+int scanf_va_39(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1137,7 +1135,7 @@ int scanf_va_39(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_39(char const *format, unsigned int param0);
+int printf_va_39(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1153,7 +1151,7 @@ int printf_va_39(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_40(char const *format, unsigned int *param0);
+int scanf_va_40(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1166,7 +1164,7 @@ int scanf_va_40(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_40(char const *format, unsigned int param0);
+int printf_va_40(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1182,7 +1180,7 @@ int printf_va_40(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_41(char const *format, unsigned int *param0);
+int scanf_va_41(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1195,7 +1193,7 @@ int scanf_va_41(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_41(char const *format, unsigned int param0);
+int printf_va_41(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1211,7 +1209,7 @@ int printf_va_41(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_42(char const *format, unsigned int *param0);
+int scanf_va_42(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1224,7 +1222,7 @@ int scanf_va_42(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_42(char const *format, unsigned int param0);
+int printf_va_42(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1240,7 +1238,7 @@ int printf_va_42(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_43(char const *format, long long *param0);
+int scanf_va_43(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1253,7 +1251,7 @@ int scanf_va_43(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_43(char const *format, long long param0);
+int printf_va_43(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1269,7 +1267,7 @@ int printf_va_43(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_44(char const *format, long long *param0);
+int scanf_va_44(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1282,7 +1280,7 @@ int scanf_va_44(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_44(char const *format, long long param0);
+int printf_va_44(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1298,7 +1296,7 @@ int printf_va_44(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_45(char const *format, unsigned long long *param0);
+int scanf_va_45(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1311,7 +1309,7 @@ int scanf_va_45(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_45(char const *format, unsigned long long param0);
+int printf_va_45(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1327,7 +1325,7 @@ int printf_va_45(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_46(char const *format, unsigned long long *param0);
+int scanf_va_46(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1340,7 +1338,7 @@ int scanf_va_46(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_46(char const *format, unsigned long long param0);
+int printf_va_46(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1356,7 +1354,7 @@ int printf_va_46(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_47(char const *format, unsigned long long *param0);
+int scanf_va_47(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1369,7 +1367,7 @@ int scanf_va_47(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_47(char const *format, unsigned long long param0);
+int printf_va_47(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1385,7 +1383,7 @@ int printf_va_47(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_48(char const *format, unsigned long long *param0);
+int scanf_va_48(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1398,7 +1396,7 @@ int scanf_va_48(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_48(char const *format, unsigned long long param0);
+int printf_va_48(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1414,7 +1412,7 @@ int printf_va_48(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_49(char const *format, signed char *param0);
+int scanf_va_49(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1427,7 +1425,7 @@ int scanf_va_49(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_49(char const *format, int param0);
+int printf_va_49(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1443,7 +1441,7 @@ int printf_va_49(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_50(char const *format, signed char *param0);
+int scanf_va_50(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1456,7 +1454,7 @@ int scanf_va_50(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_50(char const *format, int param0);
+int printf_va_50(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1472,7 +1470,7 @@ int printf_va_50(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_51(char const *format, unsigned char *param0);
+int scanf_va_51(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1485,7 +1483,7 @@ int scanf_va_51(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_51(char const *format, int param0);
+int printf_va_51(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1501,7 +1499,7 @@ int printf_va_51(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_52(char const *format, unsigned char *param0);
+int scanf_va_52(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1514,7 +1512,7 @@ int scanf_va_52(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_52(char const *format, int param0);
+int printf_va_52(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1530,7 +1528,7 @@ int printf_va_52(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_53(char const *format, unsigned char *param0);
+int scanf_va_53(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1543,7 +1541,7 @@ int scanf_va_53(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_53(char const *format, int param0);
+int printf_va_53(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1559,7 +1557,7 @@ int printf_va_53(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_54(char const *format, unsigned char *param0);
+int scanf_va_54(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1572,7 +1570,7 @@ int scanf_va_54(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_54(char const *format, int param0);
+int printf_va_54(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1588,7 +1586,7 @@ int printf_va_54(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_55(char const *format, int *param0);
+int scanf_va_55(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1601,7 +1599,7 @@ int scanf_va_55(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_55(char const *format, int param0);
+int printf_va_55(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1617,7 +1615,7 @@ int printf_va_55(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_56(char const *format, int *param0);
+int scanf_va_56(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1630,7 +1628,7 @@ int scanf_va_56(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_56(char const *format, int param0);
+int printf_va_56(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1646,7 +1644,7 @@ int printf_va_56(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_57(char const *format, unsigned int *param0);
+int scanf_va_57(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1659,7 +1657,7 @@ int scanf_va_57(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_57(char const *format, unsigned int param0);
+int printf_va_57(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1675,7 +1673,7 @@ int printf_va_57(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_58(char const *format, unsigned int *param0);
+int scanf_va_58(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1688,7 +1686,7 @@ int scanf_va_58(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_58(char const *format, unsigned int param0);
+int printf_va_58(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1704,7 +1702,7 @@ int printf_va_58(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_59(char const *format, unsigned int *param0);
+int scanf_va_59(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1717,7 +1715,7 @@ int scanf_va_59(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_59(char const *format, unsigned int param0);
+int printf_va_59(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1733,7 +1731,7 @@ int printf_va_59(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_60(char const *format, unsigned int *param0);
+int scanf_va_60(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1746,7 +1744,7 @@ int scanf_va_60(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_60(char const *format, unsigned int param0);
+int printf_va_60(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1762,7 +1760,7 @@ int printf_va_60(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_61(char const *format, int *param0);
+int scanf_va_61(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1775,7 +1773,7 @@ int scanf_va_61(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_61(char const *format, int param0);
+int printf_va_61(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1791,7 +1789,7 @@ int printf_va_61(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_62(char const *format, int *param0);
+int scanf_va_62(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1804,7 +1802,7 @@ int scanf_va_62(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_62(char const *format, int param0);
+int printf_va_62(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1820,7 +1818,7 @@ int printf_va_62(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_63(char const *format, unsigned int *param0);
+int scanf_va_63(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1833,7 +1831,7 @@ int scanf_va_63(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_63(char const *format, unsigned int param0);
+int printf_va_63(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1849,7 +1847,7 @@ int printf_va_63(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_64(char const *format, unsigned int *param0);
+int scanf_va_64(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1862,7 +1860,7 @@ int scanf_va_64(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_64(char const *format, unsigned int param0);
+int printf_va_64(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1878,7 +1876,7 @@ int printf_va_64(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_65(char const *format, unsigned int *param0);
+int scanf_va_65(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1891,7 +1889,7 @@ int scanf_va_65(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_65(char const *format, unsigned int param0);
+int printf_va_65(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1907,7 +1905,7 @@ int printf_va_65(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_66(char const *format, unsigned int *param0);
+int scanf_va_66(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1920,7 +1918,7 @@ int scanf_va_66(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_66(char const *format, unsigned int param0);
+int printf_va_66(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1936,7 +1934,7 @@ int printf_va_66(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_67(char const *format, long long *param0);
+int scanf_va_67(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1949,7 +1947,7 @@ int scanf_va_67(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_67(char const *format, long long param0);
+int printf_va_67(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1965,7 +1963,7 @@ int printf_va_67(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_68(char const *format, long long *param0);
+int scanf_va_68(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1978,7 +1976,7 @@ int scanf_va_68(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_68(char const *format, long long param0);
+int printf_va_68(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1994,7 +1992,7 @@ int printf_va_68(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_69(char const *format, unsigned long long *param0);
+int scanf_va_69(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2007,7 +2005,7 @@ int scanf_va_69(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_69(char const *format, unsigned long long param0);
+int printf_va_69(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2023,7 +2021,7 @@ int printf_va_69(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_70(char const *format, unsigned long long *param0);
+int scanf_va_70(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2036,7 +2034,7 @@ int scanf_va_70(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_70(char const *format, unsigned long long param0);
+int printf_va_70(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2052,7 +2050,7 @@ int printf_va_70(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_71(char const *format, unsigned long long *param0);
+int scanf_va_71(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2065,7 +2063,7 @@ int scanf_va_71(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_71(char const *format, unsigned long long param0);
+int printf_va_71(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2081,7 +2079,7 @@ int printf_va_71(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_72(char const *format, unsigned long long *param0);
+int scanf_va_72(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2094,7 +2092,7 @@ int scanf_va_72(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_72(char const *format, unsigned long long param0);
+int printf_va_72(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2110,7 +2108,7 @@ int printf_va_72(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_73(char const *format, long long *param0);
+int scanf_va_73(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2123,7 +2121,7 @@ int scanf_va_73(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_73(char const *format, long long param0);
+int printf_va_73(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2139,7 +2137,7 @@ int printf_va_73(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_74(char const *format, long long *param0);
+int scanf_va_74(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2152,7 +2150,7 @@ int scanf_va_74(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_74(char const *format, long long param0);
+int printf_va_74(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2168,7 +2166,7 @@ int printf_va_74(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_75(char const *format, unsigned long long *param0);
+int scanf_va_75(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2181,7 +2179,7 @@ int scanf_va_75(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_75(char const *format, unsigned long long param0);
+int printf_va_75(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2197,7 +2195,7 @@ int printf_va_75(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_76(char const *format, unsigned long long *param0);
+int scanf_va_76(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2210,7 +2208,7 @@ int scanf_va_76(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_76(char const *format, unsigned long long param0);
+int printf_va_76(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2226,7 +2224,7 @@ int printf_va_76(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_77(char const *format, unsigned long long *param0);
+int scanf_va_77(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2239,7 +2237,7 @@ int scanf_va_77(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_77(char const *format, unsigned long long param0);
+int printf_va_77(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2255,7 +2253,7 @@ int printf_va_77(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_78(char const *format, unsigned long long *param0);
+int scanf_va_78(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2268,7 +2266,7 @@ int scanf_va_78(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_78(char const *format, unsigned long long param0);
+int printf_va_78(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2284,7 +2282,7 @@ int printf_va_78(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_79(char const *format, int *param0);
+int scanf_va_79(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2297,7 +2295,7 @@ int scanf_va_79(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_79(char const *format, int param0);
+int printf_va_79(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2313,7 +2311,7 @@ int printf_va_79(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_80(char const *format, int *param0);
+int scanf_va_80(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2326,7 +2324,7 @@ int scanf_va_80(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_80(char const *format, int param0);
+int printf_va_80(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2342,7 +2340,7 @@ int printf_va_80(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_81(char const *format, unsigned int *param0);
+int scanf_va_81(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2355,7 +2353,7 @@ int scanf_va_81(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_81(char const *format, unsigned int param0);
+int printf_va_81(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2371,7 +2369,7 @@ int printf_va_81(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_82(char const *format, unsigned int *param0);
+int scanf_va_82(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2384,7 +2382,7 @@ int scanf_va_82(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_82(char const *format, unsigned int param0);
+int printf_va_82(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2400,7 +2398,7 @@ int printf_va_82(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_83(char const *format, unsigned int *param0);
+int scanf_va_83(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2413,7 +2411,7 @@ int scanf_va_83(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_83(char const *format, unsigned int param0);
+int printf_va_83(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2429,7 +2427,7 @@ int printf_va_83(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_84(char const *format, unsigned int *param0);
+int scanf_va_84(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2442,7 +2440,7 @@ int scanf_va_84(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_84(char const *format, unsigned int param0);
+int printf_va_84(char const * __restrict format, unsigned int param0);
 
 int main(void)
 {
diff --git a/tests/libc/oracle/inttypes_h.5.res.oracle b/tests/libc/oracle/inttypes_h.5.res.oracle
index d26cb3da44afc0937151213ed1c835f0be9d9412..a70f22663383c9b382e0ba42f879d9fb625fa700 100644
--- a/tests/libc/oracle/inttypes_h.5.res.oracle
+++ b/tests/libc/oracle/inttypes_h.5.res.oracle
@@ -1,5 +1,3 @@
-[kernel:pp] 
-  preprocessing with "gcc -E -C -I.  -I./share/libc -D__FRAMAC__ -D__FC_MACHDEP_X86_64 -dD -nostdinc -m64 tests/libc/inttypes_h.c"
 [kernel] Parsing tests/libc/inttypes_h.c (with preprocessing)
 /* Generated by Frama-C */
 #include "errno.h"
@@ -22,7 +20,7 @@
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_1(char const *format, signed char *param0);
+int scanf_va_1(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -35,7 +33,7 @@ int scanf_va_1(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_1(char const *format, int param0);
+int printf_va_1(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -51,7 +49,7 @@ int printf_va_1(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_2(char const *format, signed char *param0);
+int scanf_va_2(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -64,7 +62,7 @@ int scanf_va_2(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_2(char const *format, int param0);
+int printf_va_2(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -80,7 +78,7 @@ int printf_va_2(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_3(char const *format, unsigned char *param0);
+int scanf_va_3(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -93,7 +91,7 @@ int scanf_va_3(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_3(char const *format, int param0);
+int printf_va_3(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -109,7 +107,7 @@ int printf_va_3(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_4(char const *format, unsigned char *param0);
+int scanf_va_4(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -122,7 +120,7 @@ int scanf_va_4(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_4(char const *format, int param0);
+int printf_va_4(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -138,7 +136,7 @@ int printf_va_4(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_5(char const *format, unsigned char *param0);
+int scanf_va_5(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -151,7 +149,7 @@ int scanf_va_5(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_5(char const *format, int param0);
+int printf_va_5(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -167,7 +165,7 @@ int printf_va_5(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_6(char const *format, unsigned char *param0);
+int scanf_va_6(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -180,7 +178,7 @@ int scanf_va_6(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_6(char const *format, int param0);
+int printf_va_6(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -196,7 +194,7 @@ int printf_va_6(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_7(char const *format, short *param0);
+int scanf_va_7(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -209,7 +207,7 @@ int scanf_va_7(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_7(char const *format, int param0);
+int printf_va_7(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -225,7 +223,7 @@ int printf_va_7(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_8(char const *format, short *param0);
+int scanf_va_8(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -238,7 +236,7 @@ int scanf_va_8(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_8(char const *format, int param0);
+int printf_va_8(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -254,7 +252,7 @@ int printf_va_8(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_9(char const *format, unsigned short *param0);
+int scanf_va_9(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -267,7 +265,7 @@ int scanf_va_9(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_9(char const *format, int param0);
+int printf_va_9(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -283,7 +281,7 @@ int printf_va_9(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_10(char const *format, unsigned short *param0);
+int scanf_va_10(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -296,7 +294,7 @@ int scanf_va_10(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_10(char const *format, int param0);
+int printf_va_10(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -312,7 +310,7 @@ int printf_va_10(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_11(char const *format, unsigned short *param0);
+int scanf_va_11(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -325,7 +323,7 @@ int scanf_va_11(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_11(char const *format, int param0);
+int printf_va_11(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -341,7 +339,7 @@ int printf_va_11(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_12(char const *format, unsigned short *param0);
+int scanf_va_12(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -354,7 +352,7 @@ int scanf_va_12(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_12(char const *format, int param0);
+int printf_va_12(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -370,7 +368,7 @@ int printf_va_12(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_13(char const *format, int *param0);
+int scanf_va_13(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -383,7 +381,7 @@ int scanf_va_13(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_13(char const *format, int param0);
+int printf_va_13(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -399,7 +397,7 @@ int printf_va_13(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_14(char const *format, int *param0);
+int scanf_va_14(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -412,7 +410,7 @@ int scanf_va_14(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_14(char const *format, int param0);
+int printf_va_14(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -428,7 +426,7 @@ int printf_va_14(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_15(char const *format, unsigned int *param0);
+int scanf_va_15(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -441,7 +439,7 @@ int scanf_va_15(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_15(char const *format, unsigned int param0);
+int printf_va_15(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -457,7 +455,7 @@ int printf_va_15(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_16(char const *format, unsigned int *param0);
+int scanf_va_16(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -470,7 +468,7 @@ int scanf_va_16(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_16(char const *format, unsigned int param0);
+int printf_va_16(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -486,7 +484,7 @@ int printf_va_16(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_17(char const *format, unsigned int *param0);
+int scanf_va_17(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -499,7 +497,7 @@ int scanf_va_17(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_17(char const *format, unsigned int param0);
+int printf_va_17(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -515,7 +513,7 @@ int printf_va_17(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_18(char const *format, unsigned int *param0);
+int scanf_va_18(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -528,7 +526,7 @@ int scanf_va_18(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_18(char const *format, unsigned int param0);
+int printf_va_18(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -544,7 +542,7 @@ int printf_va_18(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_19(char const *format, long *param0);
+int scanf_va_19(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -557,7 +555,7 @@ int scanf_va_19(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_19(char const *format, long param0);
+int printf_va_19(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -573,7 +571,7 @@ int printf_va_19(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_20(char const *format, long *param0);
+int scanf_va_20(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -586,7 +584,7 @@ int scanf_va_20(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_20(char const *format, long param0);
+int printf_va_20(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -602,7 +600,7 @@ int printf_va_20(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_21(char const *format, unsigned long *param0);
+int scanf_va_21(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -615,7 +613,7 @@ int scanf_va_21(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_21(char const *format, unsigned long param0);
+int printf_va_21(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -631,7 +629,7 @@ int printf_va_21(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_22(char const *format, unsigned long *param0);
+int scanf_va_22(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -644,7 +642,7 @@ int scanf_va_22(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_22(char const *format, unsigned long param0);
+int printf_va_22(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -660,7 +658,7 @@ int printf_va_22(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_23(char const *format, unsigned long *param0);
+int scanf_va_23(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -673,7 +671,7 @@ int scanf_va_23(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_23(char const *format, unsigned long param0);
+int printf_va_23(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -689,7 +687,7 @@ int printf_va_23(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_24(char const *format, unsigned long *param0);
+int scanf_va_24(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -702,7 +700,7 @@ int scanf_va_24(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_24(char const *format, unsigned long param0);
+int printf_va_24(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -718,7 +716,7 @@ int printf_va_24(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_25(char const *format, signed char *param0);
+int scanf_va_25(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -731,7 +729,7 @@ int scanf_va_25(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_25(char const *format, int param0);
+int printf_va_25(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -747,7 +745,7 @@ int printf_va_25(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_26(char const *format, signed char *param0);
+int scanf_va_26(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -760,7 +758,7 @@ int scanf_va_26(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_26(char const *format, int param0);
+int printf_va_26(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -776,7 +774,7 @@ int printf_va_26(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_27(char const *format, unsigned char *param0);
+int scanf_va_27(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -789,7 +787,7 @@ int scanf_va_27(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_27(char const *format, int param0);
+int printf_va_27(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -805,7 +803,7 @@ int printf_va_27(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_28(char const *format, unsigned char *param0);
+int scanf_va_28(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -818,7 +816,7 @@ int scanf_va_28(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_28(char const *format, int param0);
+int printf_va_28(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -834,7 +832,7 @@ int printf_va_28(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_29(char const *format, unsigned char *param0);
+int scanf_va_29(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -847,7 +845,7 @@ int scanf_va_29(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_29(char const *format, int param0);
+int printf_va_29(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -863,7 +861,7 @@ int printf_va_29(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_30(char const *format, unsigned char *param0);
+int scanf_va_30(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -876,7 +874,7 @@ int scanf_va_30(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_30(char const *format, int param0);
+int printf_va_30(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -892,7 +890,7 @@ int printf_va_30(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_31(char const *format, short *param0);
+int scanf_va_31(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -905,7 +903,7 @@ int scanf_va_31(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_31(char const *format, int param0);
+int printf_va_31(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -921,7 +919,7 @@ int printf_va_31(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_32(char const *format, short *param0);
+int scanf_va_32(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -934,7 +932,7 @@ int scanf_va_32(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_32(char const *format, int param0);
+int printf_va_32(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -950,7 +948,7 @@ int printf_va_32(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_33(char const *format, unsigned short *param0);
+int scanf_va_33(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -963,7 +961,7 @@ int scanf_va_33(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_33(char const *format, int param0);
+int printf_va_33(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -979,7 +977,7 @@ int printf_va_33(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_34(char const *format, unsigned short *param0);
+int scanf_va_34(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -992,7 +990,7 @@ int scanf_va_34(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_34(char const *format, int param0);
+int printf_va_34(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1008,7 +1006,7 @@ int printf_va_34(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_35(char const *format, unsigned short *param0);
+int scanf_va_35(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1021,7 +1019,7 @@ int scanf_va_35(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_35(char const *format, int param0);
+int printf_va_35(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1037,7 +1035,7 @@ int printf_va_35(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_36(char const *format, unsigned short *param0);
+int scanf_va_36(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1050,7 +1048,7 @@ int scanf_va_36(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_36(char const *format, int param0);
+int printf_va_36(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1066,7 +1064,7 @@ int printf_va_36(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_37(char const *format, int *param0);
+int scanf_va_37(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1079,7 +1077,7 @@ int scanf_va_37(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_37(char const *format, int param0);
+int printf_va_37(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1095,7 +1093,7 @@ int printf_va_37(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_38(char const *format, int *param0);
+int scanf_va_38(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1108,7 +1106,7 @@ int scanf_va_38(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_38(char const *format, int param0);
+int printf_va_38(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1124,7 +1122,7 @@ int printf_va_38(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_39(char const *format, unsigned int *param0);
+int scanf_va_39(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1137,7 +1135,7 @@ int scanf_va_39(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_39(char const *format, unsigned int param0);
+int printf_va_39(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1153,7 +1151,7 @@ int printf_va_39(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_40(char const *format, unsigned int *param0);
+int scanf_va_40(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1166,7 +1164,7 @@ int scanf_va_40(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_40(char const *format, unsigned int param0);
+int printf_va_40(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1182,7 +1180,7 @@ int printf_va_40(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_41(char const *format, unsigned int *param0);
+int scanf_va_41(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1195,7 +1193,7 @@ int scanf_va_41(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_41(char const *format, unsigned int param0);
+int printf_va_41(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1211,7 +1209,7 @@ int printf_va_41(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_42(char const *format, unsigned int *param0);
+int scanf_va_42(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1224,7 +1222,7 @@ int scanf_va_42(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_42(char const *format, unsigned int param0);
+int printf_va_42(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1240,7 +1238,7 @@ int printf_va_42(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_43(char const *format, long *param0);
+int scanf_va_43(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1253,7 +1251,7 @@ int scanf_va_43(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_43(char const *format, long param0);
+int printf_va_43(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1269,7 +1267,7 @@ int printf_va_43(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_44(char const *format, long *param0);
+int scanf_va_44(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1282,7 +1280,7 @@ int scanf_va_44(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_44(char const *format, long param0);
+int printf_va_44(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1298,7 +1296,7 @@ int printf_va_44(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_45(char const *format, unsigned long *param0);
+int scanf_va_45(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1311,7 +1309,7 @@ int scanf_va_45(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_45(char const *format, unsigned long param0);
+int printf_va_45(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1327,7 +1325,7 @@ int printf_va_45(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_46(char const *format, unsigned long *param0);
+int scanf_va_46(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1340,7 +1338,7 @@ int scanf_va_46(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_46(char const *format, unsigned long param0);
+int printf_va_46(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1356,7 +1354,7 @@ int printf_va_46(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_47(char const *format, unsigned long *param0);
+int scanf_va_47(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1369,7 +1367,7 @@ int scanf_va_47(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_47(char const *format, unsigned long param0);
+int printf_va_47(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1385,7 +1383,7 @@ int printf_va_47(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_48(char const *format, unsigned long *param0);
+int scanf_va_48(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1398,7 +1396,7 @@ int scanf_va_48(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_48(char const *format, unsigned long param0);
+int printf_va_48(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1414,7 +1412,7 @@ int printf_va_48(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_49(char const *format, signed char *param0);
+int scanf_va_49(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1427,7 +1425,7 @@ int scanf_va_49(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_49(char const *format, int param0);
+int printf_va_49(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1443,7 +1441,7 @@ int printf_va_49(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_50(char const *format, signed char *param0);
+int scanf_va_50(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1456,7 +1454,7 @@ int scanf_va_50(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_50(char const *format, int param0);
+int printf_va_50(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1472,7 +1470,7 @@ int printf_va_50(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_51(char const *format, unsigned char *param0);
+int scanf_va_51(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1485,7 +1483,7 @@ int scanf_va_51(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_51(char const *format, int param0);
+int printf_va_51(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1501,7 +1499,7 @@ int printf_va_51(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_52(char const *format, unsigned char *param0);
+int scanf_va_52(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1514,7 +1512,7 @@ int scanf_va_52(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_52(char const *format, int param0);
+int printf_va_52(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1530,7 +1528,7 @@ int printf_va_52(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_53(char const *format, unsigned char *param0);
+int scanf_va_53(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1543,7 +1541,7 @@ int scanf_va_53(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_53(char const *format, int param0);
+int printf_va_53(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1559,7 +1557,7 @@ int printf_va_53(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_54(char const *format, unsigned char *param0);
+int scanf_va_54(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1572,7 +1570,7 @@ int scanf_va_54(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_54(char const *format, int param0);
+int printf_va_54(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1588,7 +1586,7 @@ int printf_va_54(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_55(char const *format, int *param0);
+int scanf_va_55(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1601,7 +1599,7 @@ int scanf_va_55(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_55(char const *format, int param0);
+int printf_va_55(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1617,7 +1615,7 @@ int printf_va_55(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_56(char const *format, int *param0);
+int scanf_va_56(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1630,7 +1628,7 @@ int scanf_va_56(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_56(char const *format, int param0);
+int printf_va_56(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1646,7 +1644,7 @@ int printf_va_56(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_57(char const *format, unsigned int *param0);
+int scanf_va_57(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1659,7 +1657,7 @@ int scanf_va_57(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_57(char const *format, unsigned int param0);
+int printf_va_57(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1675,7 +1673,7 @@ int printf_va_57(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_58(char const *format, unsigned int *param0);
+int scanf_va_58(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1688,7 +1686,7 @@ int scanf_va_58(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_58(char const *format, unsigned int param0);
+int printf_va_58(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1704,7 +1702,7 @@ int printf_va_58(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_59(char const *format, unsigned int *param0);
+int scanf_va_59(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1717,7 +1715,7 @@ int scanf_va_59(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_59(char const *format, unsigned int param0);
+int printf_va_59(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1733,7 +1731,7 @@ int printf_va_59(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_60(char const *format, unsigned int *param0);
+int scanf_va_60(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1746,7 +1744,7 @@ int scanf_va_60(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_60(char const *format, unsigned int param0);
+int printf_va_60(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1762,7 +1760,7 @@ int printf_va_60(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_61(char const *format, int *param0);
+int scanf_va_61(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1775,7 +1773,7 @@ int scanf_va_61(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_61(char const *format, int param0);
+int printf_va_61(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1791,7 +1789,7 @@ int printf_va_61(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_62(char const *format, int *param0);
+int scanf_va_62(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1804,7 +1802,7 @@ int scanf_va_62(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_62(char const *format, int param0);
+int printf_va_62(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1820,7 +1818,7 @@ int printf_va_62(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_63(char const *format, unsigned int *param0);
+int scanf_va_63(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1833,7 +1831,7 @@ int scanf_va_63(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_63(char const *format, unsigned int param0);
+int printf_va_63(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1849,7 +1847,7 @@ int printf_va_63(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_64(char const *format, unsigned int *param0);
+int scanf_va_64(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1862,7 +1860,7 @@ int scanf_va_64(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_64(char const *format, unsigned int param0);
+int printf_va_64(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1878,7 +1876,7 @@ int printf_va_64(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_65(char const *format, unsigned int *param0);
+int scanf_va_65(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1891,7 +1889,7 @@ int scanf_va_65(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_65(char const *format, unsigned int param0);
+int printf_va_65(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1907,7 +1905,7 @@ int printf_va_65(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_66(char const *format, unsigned int *param0);
+int scanf_va_66(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1920,7 +1918,7 @@ int scanf_va_66(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_66(char const *format, unsigned int param0);
+int printf_va_66(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1936,7 +1934,7 @@ int printf_va_66(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_67(char const *format, long *param0);
+int scanf_va_67(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1949,7 +1947,7 @@ int scanf_va_67(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_67(char const *format, long param0);
+int printf_va_67(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1965,7 +1963,7 @@ int printf_va_67(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_68(char const *format, long *param0);
+int scanf_va_68(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1978,7 +1976,7 @@ int scanf_va_68(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_68(char const *format, long param0);
+int printf_va_68(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1994,7 +1992,7 @@ int printf_va_68(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_69(char const *format, unsigned long *param0);
+int scanf_va_69(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2007,7 +2005,7 @@ int scanf_va_69(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_69(char const *format, unsigned long param0);
+int printf_va_69(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2023,7 +2021,7 @@ int printf_va_69(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_70(char const *format, unsigned long *param0);
+int scanf_va_70(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2036,7 +2034,7 @@ int scanf_va_70(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_70(char const *format, unsigned long param0);
+int printf_va_70(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2052,7 +2050,7 @@ int printf_va_70(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_71(char const *format, unsigned long *param0);
+int scanf_va_71(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2065,7 +2063,7 @@ int scanf_va_71(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_71(char const *format, unsigned long param0);
+int printf_va_71(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2081,7 +2079,7 @@ int printf_va_71(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_72(char const *format, unsigned long *param0);
+int scanf_va_72(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2094,7 +2092,7 @@ int scanf_va_72(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_72(char const *format, unsigned long param0);
+int printf_va_72(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2110,7 +2108,7 @@ int printf_va_72(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_73(char const *format, long long *param0);
+int scanf_va_73(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2123,7 +2121,7 @@ int scanf_va_73(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_73(char const *format, long long param0);
+int printf_va_73(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2139,7 +2137,7 @@ int printf_va_73(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_74(char const *format, long long *param0);
+int scanf_va_74(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2152,7 +2150,7 @@ int scanf_va_74(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_74(char const *format, long long param0);
+int printf_va_74(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2168,7 +2166,7 @@ int printf_va_74(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_75(char const *format, unsigned long long *param0);
+int scanf_va_75(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2181,7 +2179,7 @@ int scanf_va_75(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_75(char const *format, unsigned long long param0);
+int printf_va_75(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2197,7 +2195,7 @@ int printf_va_75(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_76(char const *format, unsigned long long *param0);
+int scanf_va_76(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2210,7 +2208,7 @@ int scanf_va_76(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_76(char const *format, unsigned long long param0);
+int printf_va_76(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2226,7 +2224,7 @@ int printf_va_76(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_77(char const *format, unsigned long long *param0);
+int scanf_va_77(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2239,7 +2237,7 @@ int scanf_va_77(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_77(char const *format, unsigned long long param0);
+int printf_va_77(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2255,7 +2253,7 @@ int printf_va_77(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_78(char const *format, unsigned long long *param0);
+int scanf_va_78(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2268,7 +2266,7 @@ int scanf_va_78(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_78(char const *format, unsigned long long param0);
+int printf_va_78(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2284,7 +2282,7 @@ int printf_va_78(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_79(char const *format, long *param0);
+int scanf_va_79(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2297,7 +2295,7 @@ int scanf_va_79(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_79(char const *format, long param0);
+int printf_va_79(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2313,7 +2311,7 @@ int printf_va_79(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_80(char const *format, long *param0);
+int scanf_va_80(char const * __restrict format, long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2326,7 +2324,7 @@ int scanf_va_80(char const *format, long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_80(char const *format, long param0);
+int printf_va_80(char const * __restrict format, long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2342,7 +2340,7 @@ int printf_va_80(char const *format, long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_81(char const *format, unsigned long *param0);
+int scanf_va_81(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2355,7 +2353,7 @@ int scanf_va_81(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_81(char const *format, unsigned long param0);
+int printf_va_81(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2371,7 +2369,7 @@ int printf_va_81(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_82(char const *format, unsigned long *param0);
+int scanf_va_82(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2384,7 +2382,7 @@ int scanf_va_82(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_82(char const *format, unsigned long param0);
+int printf_va_82(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2400,7 +2398,7 @@ int printf_va_82(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_83(char const *format, unsigned long *param0);
+int scanf_va_83(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2413,7 +2411,7 @@ int scanf_va_83(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_83(char const *format, unsigned long param0);
+int printf_va_83(char const * __restrict format, unsigned long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2429,7 +2427,7 @@ int printf_va_83(char const *format, unsigned long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_84(char const *format, unsigned long *param0);
+int scanf_va_84(char const * __restrict format, unsigned long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2442,7 +2440,7 @@ int scanf_va_84(char const *format, unsigned long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_84(char const *format, unsigned long param0);
+int printf_va_84(char const * __restrict format, unsigned long param0);
 
 int main(void)
 {
diff --git a/tests/libc/oracle/inttypes_h.6.res.oracle b/tests/libc/oracle/inttypes_h.6.res.oracle
index af0fd3b5fbf27db2a447425bf5afe46749504d5c..ee3b253caf33cceda5773e2ab7553f01ef3d5e2d 100644
--- a/tests/libc/oracle/inttypes_h.6.res.oracle
+++ b/tests/libc/oracle/inttypes_h.6.res.oracle
@@ -1,5 +1,3 @@
-[kernel:pp] 
-  preprocessing with "gcc -E -C -I.  -I./share/libc -D__FRAMAC__ -D__FC_MACHDEP_PPC_32 -dD -nostdinc -m32 tests/libc/inttypes_h.c"
 [kernel] Parsing tests/libc/inttypes_h.c (with preprocessing)
 /* Generated by Frama-C */
 #include "errno.h"
@@ -22,7 +20,7 @@
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_1(char const *format, signed char *param0);
+int scanf_va_1(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -35,7 +33,7 @@ int scanf_va_1(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_1(char const *format, int param0);
+int printf_va_1(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -51,7 +49,7 @@ int printf_va_1(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_2(char const *format, signed char *param0);
+int scanf_va_2(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -64,7 +62,7 @@ int scanf_va_2(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_2(char const *format, int param0);
+int printf_va_2(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -80,7 +78,7 @@ int printf_va_2(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_3(char const *format, unsigned char *param0);
+int scanf_va_3(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -93,7 +91,7 @@ int scanf_va_3(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_3(char const *format, int param0);
+int printf_va_3(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -109,7 +107,7 @@ int printf_va_3(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_4(char const *format, unsigned char *param0);
+int scanf_va_4(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -122,7 +120,7 @@ int scanf_va_4(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_4(char const *format, int param0);
+int printf_va_4(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -138,7 +136,7 @@ int printf_va_4(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_5(char const *format, unsigned char *param0);
+int scanf_va_5(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -151,7 +149,7 @@ int scanf_va_5(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_5(char const *format, int param0);
+int printf_va_5(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -167,7 +165,7 @@ int printf_va_5(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_6(char const *format, unsigned char *param0);
+int scanf_va_6(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -180,7 +178,7 @@ int scanf_va_6(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_6(char const *format, int param0);
+int printf_va_6(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -196,7 +194,7 @@ int printf_va_6(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_7(char const *format, short *param0);
+int scanf_va_7(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -209,7 +207,7 @@ int scanf_va_7(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_7(char const *format, int param0);
+int printf_va_7(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -225,7 +223,7 @@ int printf_va_7(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_8(char const *format, short *param0);
+int scanf_va_8(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -238,7 +236,7 @@ int scanf_va_8(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_8(char const *format, int param0);
+int printf_va_8(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -254,7 +252,7 @@ int printf_va_8(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_9(char const *format, unsigned short *param0);
+int scanf_va_9(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -267,7 +265,7 @@ int scanf_va_9(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_9(char const *format, int param0);
+int printf_va_9(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -283,7 +281,7 @@ int printf_va_9(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_10(char const *format, unsigned short *param0);
+int scanf_va_10(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -296,7 +294,7 @@ int scanf_va_10(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_10(char const *format, int param0);
+int printf_va_10(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -312,7 +310,7 @@ int printf_va_10(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_11(char const *format, unsigned short *param0);
+int scanf_va_11(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -325,7 +323,7 @@ int scanf_va_11(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_11(char const *format, int param0);
+int printf_va_11(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -341,7 +339,7 @@ int printf_va_11(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_12(char const *format, unsigned short *param0);
+int scanf_va_12(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -354,7 +352,7 @@ int scanf_va_12(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_12(char const *format, int param0);
+int printf_va_12(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -370,7 +368,7 @@ int printf_va_12(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_13(char const *format, int *param0);
+int scanf_va_13(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -383,7 +381,7 @@ int scanf_va_13(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_13(char const *format, int param0);
+int printf_va_13(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -399,7 +397,7 @@ int printf_va_13(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_14(char const *format, int *param0);
+int scanf_va_14(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -412,7 +410,7 @@ int scanf_va_14(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_14(char const *format, int param0);
+int printf_va_14(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -428,7 +426,7 @@ int printf_va_14(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_15(char const *format, unsigned int *param0);
+int scanf_va_15(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -441,7 +439,7 @@ int scanf_va_15(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_15(char const *format, unsigned int param0);
+int printf_va_15(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -457,7 +455,7 @@ int printf_va_15(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_16(char const *format, unsigned int *param0);
+int scanf_va_16(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -470,7 +468,7 @@ int scanf_va_16(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_16(char const *format, unsigned int param0);
+int printf_va_16(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -486,7 +484,7 @@ int printf_va_16(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_17(char const *format, unsigned int *param0);
+int scanf_va_17(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -499,7 +497,7 @@ int scanf_va_17(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_17(char const *format, unsigned int param0);
+int printf_va_17(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -515,7 +513,7 @@ int printf_va_17(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_18(char const *format, unsigned int *param0);
+int scanf_va_18(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -528,7 +526,7 @@ int scanf_va_18(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_18(char const *format, unsigned int param0);
+int printf_va_18(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -544,7 +542,7 @@ int printf_va_18(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_19(char const *format, long long *param0);
+int scanf_va_19(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -557,7 +555,7 @@ int scanf_va_19(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_19(char const *format, long long param0);
+int printf_va_19(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -573,7 +571,7 @@ int printf_va_19(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_20(char const *format, long long *param0);
+int scanf_va_20(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -586,7 +584,7 @@ int scanf_va_20(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_20(char const *format, long long param0);
+int printf_va_20(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -602,7 +600,7 @@ int printf_va_20(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_21(char const *format, unsigned long long *param0);
+int scanf_va_21(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -615,7 +613,7 @@ int scanf_va_21(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_21(char const *format, unsigned long long param0);
+int printf_va_21(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -631,7 +629,7 @@ int printf_va_21(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_22(char const *format, unsigned long long *param0);
+int scanf_va_22(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -644,7 +642,7 @@ int scanf_va_22(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_22(char const *format, unsigned long long param0);
+int printf_va_22(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -660,7 +658,7 @@ int printf_va_22(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_23(char const *format, unsigned long long *param0);
+int scanf_va_23(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -673,7 +671,7 @@ int scanf_va_23(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_23(char const *format, unsigned long long param0);
+int printf_va_23(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -689,7 +687,7 @@ int printf_va_23(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_24(char const *format, unsigned long long *param0);
+int scanf_va_24(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -702,7 +700,7 @@ int scanf_va_24(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_24(char const *format, unsigned long long param0);
+int printf_va_24(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -718,7 +716,7 @@ int printf_va_24(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_25(char const *format, signed char *param0);
+int scanf_va_25(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -731,7 +729,7 @@ int scanf_va_25(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_25(char const *format, int param0);
+int printf_va_25(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -747,7 +745,7 @@ int printf_va_25(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_26(char const *format, signed char *param0);
+int scanf_va_26(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -760,7 +758,7 @@ int scanf_va_26(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_26(char const *format, int param0);
+int printf_va_26(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -776,7 +774,7 @@ int printf_va_26(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_27(char const *format, unsigned char *param0);
+int scanf_va_27(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -789,7 +787,7 @@ int scanf_va_27(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_27(char const *format, int param0);
+int printf_va_27(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -805,7 +803,7 @@ int printf_va_27(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_28(char const *format, unsigned char *param0);
+int scanf_va_28(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -818,7 +816,7 @@ int scanf_va_28(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_28(char const *format, int param0);
+int printf_va_28(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -834,7 +832,7 @@ int printf_va_28(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_29(char const *format, unsigned char *param0);
+int scanf_va_29(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -847,7 +845,7 @@ int scanf_va_29(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_29(char const *format, int param0);
+int printf_va_29(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -863,7 +861,7 @@ int printf_va_29(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_30(char const *format, unsigned char *param0);
+int scanf_va_30(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -876,7 +874,7 @@ int scanf_va_30(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_30(char const *format, int param0);
+int printf_va_30(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -892,7 +890,7 @@ int printf_va_30(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_31(char const *format, short *param0);
+int scanf_va_31(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -905,7 +903,7 @@ int scanf_va_31(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_31(char const *format, int param0);
+int printf_va_31(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -921,7 +919,7 @@ int printf_va_31(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_32(char const *format, short *param0);
+int scanf_va_32(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -934,7 +932,7 @@ int scanf_va_32(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_32(char const *format, int param0);
+int printf_va_32(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -950,7 +948,7 @@ int printf_va_32(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_33(char const *format, unsigned short *param0);
+int scanf_va_33(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -963,7 +961,7 @@ int scanf_va_33(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_33(char const *format, int param0);
+int printf_va_33(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -979,7 +977,7 @@ int printf_va_33(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_34(char const *format, unsigned short *param0);
+int scanf_va_34(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -992,7 +990,7 @@ int scanf_va_34(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_34(char const *format, int param0);
+int printf_va_34(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1008,7 +1006,7 @@ int printf_va_34(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_35(char const *format, unsigned short *param0);
+int scanf_va_35(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1021,7 +1019,7 @@ int scanf_va_35(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_35(char const *format, int param0);
+int printf_va_35(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1037,7 +1035,7 @@ int printf_va_35(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_36(char const *format, unsigned short *param0);
+int scanf_va_36(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1050,7 +1048,7 @@ int scanf_va_36(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_36(char const *format, int param0);
+int printf_va_36(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1066,7 +1064,7 @@ int printf_va_36(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_37(char const *format, int *param0);
+int scanf_va_37(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1079,7 +1077,7 @@ int scanf_va_37(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_37(char const *format, int param0);
+int printf_va_37(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1095,7 +1093,7 @@ int printf_va_37(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_38(char const *format, int *param0);
+int scanf_va_38(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1108,7 +1106,7 @@ int scanf_va_38(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_38(char const *format, int param0);
+int printf_va_38(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1124,7 +1122,7 @@ int printf_va_38(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_39(char const *format, unsigned int *param0);
+int scanf_va_39(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1137,7 +1135,7 @@ int scanf_va_39(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_39(char const *format, unsigned int param0);
+int printf_va_39(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1153,7 +1151,7 @@ int printf_va_39(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_40(char const *format, unsigned int *param0);
+int scanf_va_40(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1166,7 +1164,7 @@ int scanf_va_40(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_40(char const *format, unsigned int param0);
+int printf_va_40(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1182,7 +1180,7 @@ int printf_va_40(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_41(char const *format, unsigned int *param0);
+int scanf_va_41(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1195,7 +1193,7 @@ int scanf_va_41(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_41(char const *format, unsigned int param0);
+int printf_va_41(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1211,7 +1209,7 @@ int printf_va_41(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_42(char const *format, unsigned int *param0);
+int scanf_va_42(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1224,7 +1222,7 @@ int scanf_va_42(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_42(char const *format, unsigned int param0);
+int printf_va_42(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1240,7 +1238,7 @@ int printf_va_42(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_43(char const *format, long long *param0);
+int scanf_va_43(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1253,7 +1251,7 @@ int scanf_va_43(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_43(char const *format, long long param0);
+int printf_va_43(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1269,7 +1267,7 @@ int printf_va_43(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_44(char const *format, long long *param0);
+int scanf_va_44(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1282,7 +1280,7 @@ int scanf_va_44(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_44(char const *format, long long param0);
+int printf_va_44(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1298,7 +1296,7 @@ int printf_va_44(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_45(char const *format, unsigned long long *param0);
+int scanf_va_45(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1311,7 +1309,7 @@ int scanf_va_45(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_45(char const *format, unsigned long long param0);
+int printf_va_45(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1327,7 +1325,7 @@ int printf_va_45(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_46(char const *format, unsigned long long *param0);
+int scanf_va_46(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1340,7 +1338,7 @@ int scanf_va_46(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_46(char const *format, unsigned long long param0);
+int printf_va_46(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1356,7 +1354,7 @@ int printf_va_46(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_47(char const *format, unsigned long long *param0);
+int scanf_va_47(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1369,7 +1367,7 @@ int scanf_va_47(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_47(char const *format, unsigned long long param0);
+int printf_va_47(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1385,7 +1383,7 @@ int printf_va_47(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_48(char const *format, unsigned long long *param0);
+int scanf_va_48(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1398,7 +1396,7 @@ int scanf_va_48(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_48(char const *format, unsigned long long param0);
+int printf_va_48(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1414,7 +1412,7 @@ int printf_va_48(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_49(char const *format, signed char *param0);
+int scanf_va_49(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1427,7 +1425,7 @@ int scanf_va_49(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_49(char const *format, int param0);
+int printf_va_49(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1443,7 +1441,7 @@ int printf_va_49(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_50(char const *format, signed char *param0);
+int scanf_va_50(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1456,7 +1454,7 @@ int scanf_va_50(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_50(char const *format, int param0);
+int printf_va_50(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1472,7 +1470,7 @@ int printf_va_50(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_51(char const *format, unsigned char *param0);
+int scanf_va_51(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1485,7 +1483,7 @@ int scanf_va_51(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_51(char const *format, int param0);
+int printf_va_51(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1501,7 +1499,7 @@ int printf_va_51(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_52(char const *format, unsigned char *param0);
+int scanf_va_52(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1514,7 +1512,7 @@ int scanf_va_52(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_52(char const *format, int param0);
+int printf_va_52(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1530,7 +1528,7 @@ int printf_va_52(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_53(char const *format, unsigned char *param0);
+int scanf_va_53(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1543,7 +1541,7 @@ int scanf_va_53(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_53(char const *format, int param0);
+int printf_va_53(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1559,7 +1557,7 @@ int printf_va_53(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_54(char const *format, unsigned char *param0);
+int scanf_va_54(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1572,7 +1570,7 @@ int scanf_va_54(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_54(char const *format, int param0);
+int printf_va_54(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1588,7 +1586,7 @@ int printf_va_54(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_55(char const *format, int *param0);
+int scanf_va_55(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1601,7 +1599,7 @@ int scanf_va_55(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_55(char const *format, int param0);
+int printf_va_55(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1617,7 +1615,7 @@ int printf_va_55(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_56(char const *format, int *param0);
+int scanf_va_56(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1630,7 +1628,7 @@ int scanf_va_56(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_56(char const *format, int param0);
+int printf_va_56(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1646,7 +1644,7 @@ int printf_va_56(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_57(char const *format, unsigned int *param0);
+int scanf_va_57(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1659,7 +1657,7 @@ int scanf_va_57(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_57(char const *format, unsigned int param0);
+int printf_va_57(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1675,7 +1673,7 @@ int printf_va_57(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_58(char const *format, unsigned int *param0);
+int scanf_va_58(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1688,7 +1686,7 @@ int scanf_va_58(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_58(char const *format, unsigned int param0);
+int printf_va_58(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1704,7 +1702,7 @@ int printf_va_58(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_59(char const *format, unsigned int *param0);
+int scanf_va_59(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1717,7 +1715,7 @@ int scanf_va_59(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_59(char const *format, unsigned int param0);
+int printf_va_59(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1733,7 +1731,7 @@ int printf_va_59(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_60(char const *format, unsigned int *param0);
+int scanf_va_60(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1746,7 +1744,7 @@ int scanf_va_60(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_60(char const *format, unsigned int param0);
+int printf_va_60(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1762,7 +1760,7 @@ int printf_va_60(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_61(char const *format, int *param0);
+int scanf_va_61(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1775,7 +1773,7 @@ int scanf_va_61(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_61(char const *format, int param0);
+int printf_va_61(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1791,7 +1789,7 @@ int printf_va_61(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_62(char const *format, int *param0);
+int scanf_va_62(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1804,7 +1802,7 @@ int scanf_va_62(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_62(char const *format, int param0);
+int printf_va_62(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1820,7 +1818,7 @@ int printf_va_62(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_63(char const *format, unsigned int *param0);
+int scanf_va_63(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1833,7 +1831,7 @@ int scanf_va_63(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_63(char const *format, unsigned int param0);
+int printf_va_63(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1849,7 +1847,7 @@ int printf_va_63(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_64(char const *format, unsigned int *param0);
+int scanf_va_64(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1862,7 +1860,7 @@ int scanf_va_64(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_64(char const *format, unsigned int param0);
+int printf_va_64(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1878,7 +1876,7 @@ int printf_va_64(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_65(char const *format, unsigned int *param0);
+int scanf_va_65(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1891,7 +1889,7 @@ int scanf_va_65(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_65(char const *format, unsigned int param0);
+int printf_va_65(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1907,7 +1905,7 @@ int printf_va_65(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_66(char const *format, unsigned int *param0);
+int scanf_va_66(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1920,7 +1918,7 @@ int scanf_va_66(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_66(char const *format, unsigned int param0);
+int printf_va_66(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1936,7 +1934,7 @@ int printf_va_66(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_67(char const *format, long long *param0);
+int scanf_va_67(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1949,7 +1947,7 @@ int scanf_va_67(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_67(char const *format, long long param0);
+int printf_va_67(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1965,7 +1963,7 @@ int printf_va_67(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_68(char const *format, long long *param0);
+int scanf_va_68(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1978,7 +1976,7 @@ int scanf_va_68(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_68(char const *format, long long param0);
+int printf_va_68(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1994,7 +1992,7 @@ int printf_va_68(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_69(char const *format, unsigned long long *param0);
+int scanf_va_69(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2007,7 +2005,7 @@ int scanf_va_69(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_69(char const *format, unsigned long long param0);
+int printf_va_69(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2023,7 +2021,7 @@ int printf_va_69(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_70(char const *format, unsigned long long *param0);
+int scanf_va_70(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2036,7 +2034,7 @@ int scanf_va_70(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_70(char const *format, unsigned long long param0);
+int printf_va_70(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2052,7 +2050,7 @@ int printf_va_70(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_71(char const *format, unsigned long long *param0);
+int scanf_va_71(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2065,7 +2063,7 @@ int scanf_va_71(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_71(char const *format, unsigned long long param0);
+int printf_va_71(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2081,7 +2079,7 @@ int printf_va_71(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_72(char const *format, unsigned long long *param0);
+int scanf_va_72(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2094,7 +2092,7 @@ int scanf_va_72(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_72(char const *format, unsigned long long param0);
+int printf_va_72(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2110,7 +2108,7 @@ int printf_va_72(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_73(char const *format, long long *param0);
+int scanf_va_73(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2123,7 +2121,7 @@ int scanf_va_73(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_73(char const *format, long long param0);
+int printf_va_73(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2139,7 +2137,7 @@ int printf_va_73(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_74(char const *format, long long *param0);
+int scanf_va_74(char const * __restrict format, long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2152,7 +2150,7 @@ int scanf_va_74(char const *format, long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_74(char const *format, long long param0);
+int printf_va_74(char const * __restrict format, long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2168,7 +2166,7 @@ int printf_va_74(char const *format, long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_75(char const *format, unsigned long long *param0);
+int scanf_va_75(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2181,7 +2179,7 @@ int scanf_va_75(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_75(char const *format, unsigned long long param0);
+int printf_va_75(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2197,7 +2195,7 @@ int printf_va_75(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_76(char const *format, unsigned long long *param0);
+int scanf_va_76(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2210,7 +2208,7 @@ int scanf_va_76(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_76(char const *format, unsigned long long param0);
+int printf_va_76(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2226,7 +2224,7 @@ int printf_va_76(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_77(char const *format, unsigned long long *param0);
+int scanf_va_77(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2239,7 +2237,7 @@ int scanf_va_77(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_77(char const *format, unsigned long long param0);
+int printf_va_77(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2255,7 +2253,7 @@ int printf_va_77(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_78(char const *format, unsigned long long *param0);
+int scanf_va_78(char const * __restrict format, unsigned long long *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2268,7 +2266,7 @@ int scanf_va_78(char const *format, unsigned long long *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_78(char const *format, unsigned long long param0);
+int printf_va_78(char const * __restrict format, unsigned long long param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2284,7 +2282,7 @@ int printf_va_78(char const *format, unsigned long long param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_79(char const *format, int *param0);
+int scanf_va_79(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2297,7 +2295,7 @@ int scanf_va_79(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_79(char const *format, int param0);
+int printf_va_79(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2313,7 +2311,7 @@ int printf_va_79(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_80(char const *format, int *param0);
+int scanf_va_80(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2326,7 +2324,7 @@ int scanf_va_80(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_80(char const *format, int param0);
+int printf_va_80(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2342,7 +2340,7 @@ int printf_va_80(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_81(char const *format, unsigned int *param0);
+int scanf_va_81(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2355,7 +2353,7 @@ int scanf_va_81(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_81(char const *format, unsigned int param0);
+int printf_va_81(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2371,7 +2369,7 @@ int printf_va_81(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_82(char const *format, unsigned int *param0);
+int scanf_va_82(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2384,7 +2382,7 @@ int scanf_va_82(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_82(char const *format, unsigned int param0);
+int printf_va_82(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2400,7 +2398,7 @@ int printf_va_82(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_83(char const *format, unsigned int *param0);
+int scanf_va_83(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2413,7 +2411,7 @@ int scanf_va_83(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_83(char const *format, unsigned int param0);
+int printf_va_83(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2429,7 +2427,7 @@ int printf_va_83(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_84(char const *format, unsigned int *param0);
+int scanf_va_84(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2442,7 +2440,7 @@ int scanf_va_84(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_84(char const *format, unsigned int param0);
+int printf_va_84(char const * __restrict format, unsigned int param0);
 
 int main(void)
 {
diff --git a/tests/libc/oracle/inttypes_h.7.res.oracle b/tests/libc/oracle/inttypes_h.7.res.oracle
index a18859b1b29028bb40c022eb623e704a7e884468..6a5939c36733097f68a48520a54e40a8899a5d42 100644
--- a/tests/libc/oracle/inttypes_h.7.res.oracle
+++ b/tests/libc/oracle/inttypes_h.7.res.oracle
@@ -1,5 +1,3 @@
-[kernel:pp] 
-  preprocessing with "gcc -E -C -I.  -I./share/libc -D__FRAMAC__ -D__FC_MACHDEP_MSVC_X86_64 -dD -nostdinc -m64 tests/libc/inttypes_h.c"
 [kernel] Parsing tests/libc/inttypes_h.c (with preprocessing)
 /* Generated by Frama-C */
 #include "errno.h"
@@ -22,7 +20,7 @@
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_1(char const *format, signed char *param0);
+int scanf_va_1(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -35,7 +33,7 @@ int scanf_va_1(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_1(char const *format, int param0);
+int printf_va_1(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -51,7 +49,7 @@ int printf_va_1(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_2(char const *format, signed char *param0);
+int scanf_va_2(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -64,7 +62,7 @@ int scanf_va_2(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_2(char const *format, int param0);
+int printf_va_2(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -80,7 +78,7 @@ int printf_va_2(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_3(char const *format, unsigned char *param0);
+int scanf_va_3(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -93,7 +91,7 @@ int scanf_va_3(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_3(char const *format, int param0);
+int printf_va_3(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -109,7 +107,7 @@ int printf_va_3(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_4(char const *format, unsigned char *param0);
+int scanf_va_4(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -122,7 +120,7 @@ int scanf_va_4(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_4(char const *format, int param0);
+int printf_va_4(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -138,7 +136,7 @@ int printf_va_4(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_5(char const *format, unsigned char *param0);
+int scanf_va_5(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -151,7 +149,7 @@ int scanf_va_5(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_5(char const *format, int param0);
+int printf_va_5(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -167,7 +165,7 @@ int printf_va_5(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_6(char const *format, unsigned char *param0);
+int scanf_va_6(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -180,7 +178,7 @@ int scanf_va_6(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_6(char const *format, int param0);
+int printf_va_6(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -196,7 +194,7 @@ int printf_va_6(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_7(char const *format, short *param0);
+int scanf_va_7(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -209,7 +207,7 @@ int scanf_va_7(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_7(char const *format, int param0);
+int printf_va_7(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -225,7 +223,7 @@ int printf_va_7(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_8(char const *format, short *param0);
+int scanf_va_8(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -238,7 +236,7 @@ int scanf_va_8(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_8(char const *format, int param0);
+int printf_va_8(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -254,7 +252,7 @@ int printf_va_8(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_9(char const *format, unsigned short *param0);
+int scanf_va_9(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -267,7 +265,7 @@ int scanf_va_9(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_9(char const *format, int param0);
+int printf_va_9(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -283,7 +281,7 @@ int printf_va_9(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_10(char const *format, unsigned short *param0);
+int scanf_va_10(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -296,7 +294,7 @@ int scanf_va_10(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_10(char const *format, int param0);
+int printf_va_10(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -312,7 +310,7 @@ int printf_va_10(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_11(char const *format, unsigned short *param0);
+int scanf_va_11(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -325,7 +323,7 @@ int scanf_va_11(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_11(char const *format, int param0);
+int printf_va_11(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -341,7 +339,7 @@ int printf_va_11(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_12(char const *format, unsigned short *param0);
+int scanf_va_12(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -354,7 +352,7 @@ int scanf_va_12(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_12(char const *format, int param0);
+int printf_va_12(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -370,7 +368,7 @@ int printf_va_12(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_13(char const *format, int *param0);
+int scanf_va_13(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -383,7 +381,7 @@ int scanf_va_13(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_13(char const *format, int param0);
+int printf_va_13(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -399,7 +397,7 @@ int printf_va_13(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_14(char const *format, int *param0);
+int scanf_va_14(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -412,7 +410,7 @@ int scanf_va_14(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_14(char const *format, int param0);
+int printf_va_14(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -428,7 +426,7 @@ int printf_va_14(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_15(char const *format, unsigned int *param0);
+int scanf_va_15(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -441,7 +439,7 @@ int scanf_va_15(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_15(char const *format, unsigned int param0);
+int printf_va_15(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -457,7 +455,7 @@ int printf_va_15(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_16(char const *format, unsigned int *param0);
+int scanf_va_16(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -470,7 +468,7 @@ int scanf_va_16(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_16(char const *format, unsigned int param0);
+int printf_va_16(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -486,7 +484,7 @@ int printf_va_16(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_17(char const *format, unsigned int *param0);
+int scanf_va_17(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -499,7 +497,7 @@ int scanf_va_17(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_17(char const *format, unsigned int param0);
+int printf_va_17(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -515,7 +513,7 @@ int printf_va_17(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_18(char const *format, unsigned int *param0);
+int scanf_va_18(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -528,7 +526,7 @@ int scanf_va_18(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_18(char const *format, unsigned int param0);
+int printf_va_18(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -544,7 +542,7 @@ int printf_va_18(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_19(char const *format, __int64 *param0);
+int scanf_va_19(char const * __restrict format, __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -557,7 +555,7 @@ int scanf_va_19(char const *format, __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_19(char const *format, __int64 param0);
+int printf_va_19(char const * __restrict format, __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -573,7 +571,7 @@ int printf_va_19(char const *format, __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_20(char const *format, __int64 *param0);
+int scanf_va_20(char const * __restrict format, __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -586,7 +584,7 @@ int scanf_va_20(char const *format, __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_20(char const *format, __int64 param0);
+int printf_va_20(char const * __restrict format, __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -602,7 +600,7 @@ int printf_va_20(char const *format, __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_21(char const *format, unsigned __int64 *param0);
+int scanf_va_21(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -615,7 +613,7 @@ int scanf_va_21(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_21(char const *format, unsigned __int64 param0);
+int printf_va_21(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -631,7 +629,7 @@ int printf_va_21(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_22(char const *format, unsigned __int64 *param0);
+int scanf_va_22(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -644,7 +642,7 @@ int scanf_va_22(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_22(char const *format, unsigned __int64 param0);
+int printf_va_22(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -660,7 +658,7 @@ int printf_va_22(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_23(char const *format, unsigned __int64 *param0);
+int scanf_va_23(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -673,7 +671,7 @@ int scanf_va_23(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_23(char const *format, unsigned __int64 param0);
+int printf_va_23(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -689,7 +687,7 @@ int printf_va_23(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_24(char const *format, unsigned __int64 *param0);
+int scanf_va_24(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -702,7 +700,7 @@ int scanf_va_24(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_24(char const *format, unsigned __int64 param0);
+int printf_va_24(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -718,7 +716,7 @@ int printf_va_24(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_25(char const *format, signed char *param0);
+int scanf_va_25(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -731,7 +729,7 @@ int scanf_va_25(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_25(char const *format, int param0);
+int printf_va_25(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -747,7 +745,7 @@ int printf_va_25(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_26(char const *format, signed char *param0);
+int scanf_va_26(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -760,7 +758,7 @@ int scanf_va_26(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_26(char const *format, int param0);
+int printf_va_26(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -776,7 +774,7 @@ int printf_va_26(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_27(char const *format, unsigned char *param0);
+int scanf_va_27(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -789,7 +787,7 @@ int scanf_va_27(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_27(char const *format, int param0);
+int printf_va_27(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -805,7 +803,7 @@ int printf_va_27(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_28(char const *format, unsigned char *param0);
+int scanf_va_28(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -818,7 +816,7 @@ int scanf_va_28(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_28(char const *format, int param0);
+int printf_va_28(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -834,7 +832,7 @@ int printf_va_28(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_29(char const *format, unsigned char *param0);
+int scanf_va_29(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -847,7 +845,7 @@ int scanf_va_29(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_29(char const *format, int param0);
+int printf_va_29(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -863,7 +861,7 @@ int printf_va_29(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_30(char const *format, unsigned char *param0);
+int scanf_va_30(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -876,7 +874,7 @@ int scanf_va_30(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_30(char const *format, int param0);
+int printf_va_30(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -892,7 +890,7 @@ int printf_va_30(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_31(char const *format, short *param0);
+int scanf_va_31(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -905,7 +903,7 @@ int scanf_va_31(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_31(char const *format, int param0);
+int printf_va_31(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -921,7 +919,7 @@ int printf_va_31(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_32(char const *format, short *param0);
+int scanf_va_32(char const * __restrict format, short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -934,7 +932,7 @@ int scanf_va_32(char const *format, short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_32(char const *format, int param0);
+int printf_va_32(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -950,7 +948,7 @@ int printf_va_32(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_33(char const *format, unsigned short *param0);
+int scanf_va_33(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -963,7 +961,7 @@ int scanf_va_33(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_33(char const *format, int param0);
+int printf_va_33(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -979,7 +977,7 @@ int printf_va_33(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_34(char const *format, unsigned short *param0);
+int scanf_va_34(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -992,7 +990,7 @@ int scanf_va_34(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_34(char const *format, int param0);
+int printf_va_34(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1008,7 +1006,7 @@ int printf_va_34(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_35(char const *format, unsigned short *param0);
+int scanf_va_35(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1021,7 +1019,7 @@ int scanf_va_35(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_35(char const *format, int param0);
+int printf_va_35(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1037,7 +1035,7 @@ int printf_va_35(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_36(char const *format, unsigned short *param0);
+int scanf_va_36(char const * __restrict format, unsigned short *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1050,7 +1048,7 @@ int scanf_va_36(char const *format, unsigned short *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_36(char const *format, int param0);
+int printf_va_36(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1066,7 +1064,7 @@ int printf_va_36(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_37(char const *format, int *param0);
+int scanf_va_37(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1079,7 +1077,7 @@ int scanf_va_37(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_37(char const *format, int param0);
+int printf_va_37(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1095,7 +1093,7 @@ int printf_va_37(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_38(char const *format, int *param0);
+int scanf_va_38(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1108,7 +1106,7 @@ int scanf_va_38(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_38(char const *format, int param0);
+int printf_va_38(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1124,7 +1122,7 @@ int printf_va_38(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_39(char const *format, unsigned int *param0);
+int scanf_va_39(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1137,7 +1135,7 @@ int scanf_va_39(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_39(char const *format, unsigned int param0);
+int printf_va_39(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1153,7 +1151,7 @@ int printf_va_39(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_40(char const *format, unsigned int *param0);
+int scanf_va_40(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1166,7 +1164,7 @@ int scanf_va_40(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_40(char const *format, unsigned int param0);
+int printf_va_40(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1182,7 +1180,7 @@ int printf_va_40(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_41(char const *format, unsigned int *param0);
+int scanf_va_41(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1195,7 +1193,7 @@ int scanf_va_41(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_41(char const *format, unsigned int param0);
+int printf_va_41(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1211,7 +1209,7 @@ int printf_va_41(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_42(char const *format, unsigned int *param0);
+int scanf_va_42(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1224,7 +1222,7 @@ int scanf_va_42(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_42(char const *format, unsigned int param0);
+int printf_va_42(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1240,7 +1238,7 @@ int printf_va_42(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_43(char const *format, __int64 *param0);
+int scanf_va_43(char const * __restrict format, __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1253,7 +1251,7 @@ int scanf_va_43(char const *format, __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_43(char const *format, __int64 param0);
+int printf_va_43(char const * __restrict format, __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1269,7 +1267,7 @@ int printf_va_43(char const *format, __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_44(char const *format, __int64 *param0);
+int scanf_va_44(char const * __restrict format, __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1282,7 +1280,7 @@ int scanf_va_44(char const *format, __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_44(char const *format, __int64 param0);
+int printf_va_44(char const * __restrict format, __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1298,7 +1296,7 @@ int printf_va_44(char const *format, __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_45(char const *format, unsigned __int64 *param0);
+int scanf_va_45(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1311,7 +1309,7 @@ int scanf_va_45(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_45(char const *format, unsigned __int64 param0);
+int printf_va_45(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1327,7 +1325,7 @@ int printf_va_45(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_46(char const *format, unsigned __int64 *param0);
+int scanf_va_46(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1340,7 +1338,7 @@ int scanf_va_46(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_46(char const *format, unsigned __int64 param0);
+int printf_va_46(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1356,7 +1354,7 @@ int printf_va_46(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_47(char const *format, unsigned __int64 *param0);
+int scanf_va_47(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1369,7 +1367,7 @@ int scanf_va_47(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_47(char const *format, unsigned __int64 param0);
+int printf_va_47(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1385,7 +1383,7 @@ int printf_va_47(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_48(char const *format, unsigned __int64 *param0);
+int scanf_va_48(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1398,7 +1396,7 @@ int scanf_va_48(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_48(char const *format, unsigned __int64 param0);
+int printf_va_48(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1414,7 +1412,7 @@ int printf_va_48(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_49(char const *format, signed char *param0);
+int scanf_va_49(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1427,7 +1425,7 @@ int scanf_va_49(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_49(char const *format, int param0);
+int printf_va_49(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1443,7 +1441,7 @@ int printf_va_49(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_50(char const *format, signed char *param0);
+int scanf_va_50(char const * __restrict format, signed char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1456,7 +1454,7 @@ int scanf_va_50(char const *format, signed char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_50(char const *format, int param0);
+int printf_va_50(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1472,7 +1470,7 @@ int printf_va_50(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_51(char const *format, unsigned char *param0);
+int scanf_va_51(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1485,7 +1483,7 @@ int scanf_va_51(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_51(char const *format, int param0);
+int printf_va_51(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1501,7 +1499,7 @@ int printf_va_51(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_52(char const *format, unsigned char *param0);
+int scanf_va_52(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1514,7 +1512,7 @@ int scanf_va_52(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_52(char const *format, int param0);
+int printf_va_52(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1530,7 +1528,7 @@ int printf_va_52(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_53(char const *format, unsigned char *param0);
+int scanf_va_53(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1543,7 +1541,7 @@ int scanf_va_53(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_53(char const *format, int param0);
+int printf_va_53(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1559,7 +1557,7 @@ int printf_va_53(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_54(char const *format, unsigned char *param0);
+int scanf_va_54(char const * __restrict format, unsigned char *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1572,7 +1570,7 @@ int scanf_va_54(char const *format, unsigned char *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_54(char const *format, int param0);
+int printf_va_54(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1588,7 +1586,7 @@ int printf_va_54(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_55(char const *format, int *param0);
+int scanf_va_55(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1601,7 +1599,7 @@ int scanf_va_55(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_55(char const *format, int param0);
+int printf_va_55(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1617,7 +1615,7 @@ int printf_va_55(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_56(char const *format, int *param0);
+int scanf_va_56(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1630,7 +1628,7 @@ int scanf_va_56(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_56(char const *format, int param0);
+int printf_va_56(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1646,7 +1644,7 @@ int printf_va_56(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_57(char const *format, unsigned int *param0);
+int scanf_va_57(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1659,7 +1657,7 @@ int scanf_va_57(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_57(char const *format, unsigned int param0);
+int printf_va_57(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1675,7 +1673,7 @@ int printf_va_57(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_58(char const *format, unsigned int *param0);
+int scanf_va_58(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1688,7 +1686,7 @@ int scanf_va_58(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_58(char const *format, unsigned int param0);
+int printf_va_58(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1704,7 +1702,7 @@ int printf_va_58(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_59(char const *format, unsigned int *param0);
+int scanf_va_59(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1717,7 +1715,7 @@ int scanf_va_59(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_59(char const *format, unsigned int param0);
+int printf_va_59(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1733,7 +1731,7 @@ int printf_va_59(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_60(char const *format, unsigned int *param0);
+int scanf_va_60(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1746,7 +1744,7 @@ int scanf_va_60(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_60(char const *format, unsigned int param0);
+int printf_va_60(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1762,7 +1760,7 @@ int printf_va_60(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_61(char const *format, int *param0);
+int scanf_va_61(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1775,7 +1773,7 @@ int scanf_va_61(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_61(char const *format, int param0);
+int printf_va_61(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1791,7 +1789,7 @@ int printf_va_61(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_62(char const *format, int *param0);
+int scanf_va_62(char const * __restrict format, int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1804,7 +1802,7 @@ int scanf_va_62(char const *format, int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_62(char const *format, int param0);
+int printf_va_62(char const * __restrict format, int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1820,7 +1818,7 @@ int printf_va_62(char const *format, int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_63(char const *format, unsigned int *param0);
+int scanf_va_63(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1833,7 +1831,7 @@ int scanf_va_63(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_63(char const *format, unsigned int param0);
+int printf_va_63(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1849,7 +1847,7 @@ int printf_va_63(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_64(char const *format, unsigned int *param0);
+int scanf_va_64(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1862,7 +1860,7 @@ int scanf_va_64(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_64(char const *format, unsigned int param0);
+int printf_va_64(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1878,7 +1876,7 @@ int printf_va_64(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_65(char const *format, unsigned int *param0);
+int scanf_va_65(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1891,7 +1889,7 @@ int scanf_va_65(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_65(char const *format, unsigned int param0);
+int printf_va_65(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1907,7 +1905,7 @@ int printf_va_65(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_66(char const *format, unsigned int *param0);
+int scanf_va_66(char const * __restrict format, unsigned int *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1920,7 +1918,7 @@ int scanf_va_66(char const *format, unsigned int *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_66(char const *format, unsigned int param0);
+int printf_va_66(char const * __restrict format, unsigned int param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1936,7 +1934,7 @@ int printf_va_66(char const *format, unsigned int param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_67(char const *format, __int64 *param0);
+int scanf_va_67(char const * __restrict format, __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1949,7 +1947,7 @@ int scanf_va_67(char const *format, __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_67(char const *format, __int64 param0);
+int printf_va_67(char const * __restrict format, __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1965,7 +1963,7 @@ int printf_va_67(char const *format, __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_68(char const *format, __int64 *param0);
+int scanf_va_68(char const * __restrict format, __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -1978,7 +1976,7 @@ int scanf_va_68(char const *format, __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_68(char const *format, __int64 param0);
+int printf_va_68(char const * __restrict format, __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -1994,7 +1992,7 @@ int printf_va_68(char const *format, __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_69(char const *format, unsigned __int64 *param0);
+int scanf_va_69(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2007,7 +2005,7 @@ int scanf_va_69(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_69(char const *format, unsigned __int64 param0);
+int printf_va_69(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2023,7 +2021,7 @@ int printf_va_69(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_70(char const *format, unsigned __int64 *param0);
+int scanf_va_70(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2036,7 +2034,7 @@ int scanf_va_70(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_70(char const *format, unsigned __int64 param0);
+int printf_va_70(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2052,7 +2050,7 @@ int printf_va_70(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_71(char const *format, unsigned __int64 *param0);
+int scanf_va_71(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2065,7 +2063,7 @@ int scanf_va_71(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_71(char const *format, unsigned __int64 param0);
+int printf_va_71(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2081,7 +2079,7 @@ int printf_va_71(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_72(char const *format, unsigned __int64 *param0);
+int scanf_va_72(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2094,7 +2092,7 @@ int scanf_va_72(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_72(char const *format, unsigned __int64 param0);
+int printf_va_72(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2110,7 +2108,7 @@ int printf_va_72(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_73(char const *format, __int64 *param0);
+int scanf_va_73(char const * __restrict format, __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2123,7 +2121,7 @@ int scanf_va_73(char const *format, __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_73(char const *format, __int64 param0);
+int printf_va_73(char const * __restrict format, __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2139,7 +2137,7 @@ int printf_va_73(char const *format, __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_74(char const *format, __int64 *param0);
+int scanf_va_74(char const * __restrict format, __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2152,7 +2150,7 @@ int scanf_va_74(char const *format, __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_74(char const *format, __int64 param0);
+int printf_va_74(char const * __restrict format, __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2168,7 +2166,7 @@ int printf_va_74(char const *format, __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_75(char const *format, unsigned __int64 *param0);
+int scanf_va_75(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2181,7 +2179,7 @@ int scanf_va_75(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_75(char const *format, unsigned __int64 param0);
+int printf_va_75(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2197,7 +2195,7 @@ int printf_va_75(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_76(char const *format, unsigned __int64 *param0);
+int scanf_va_76(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2210,7 +2208,7 @@ int scanf_va_76(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_76(char const *format, unsigned __int64 param0);
+int printf_va_76(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2226,7 +2224,7 @@ int printf_va_76(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_77(char const *format, unsigned __int64 *param0);
+int scanf_va_77(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2239,7 +2237,7 @@ int scanf_va_77(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_77(char const *format, unsigned __int64 param0);
+int printf_va_77(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2255,7 +2253,7 @@ int printf_va_77(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_78(char const *format, unsigned __int64 *param0);
+int scanf_va_78(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2268,7 +2266,7 @@ int scanf_va_78(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_78(char const *format, unsigned __int64 param0);
+int printf_va_78(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2284,7 +2282,7 @@ int printf_va_78(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_79(char const *format, __int64 *param0);
+int scanf_va_79(char const * __restrict format, __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2297,7 +2295,7 @@ int scanf_va_79(char const *format, __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_79(char const *format, __int64 param0);
+int printf_va_79(char const * __restrict format, __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2313,7 +2311,7 @@ int printf_va_79(char const *format, __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_80(char const *format, __int64 *param0);
+int scanf_va_80(char const * __restrict format, __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2326,7 +2324,7 @@ int scanf_va_80(char const *format, __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_80(char const *format, __int64 param0);
+int printf_va_80(char const * __restrict format, __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2342,7 +2340,7 @@ int printf_va_80(char const *format, __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_81(char const *format, unsigned __int64 *param0);
+int scanf_va_81(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2355,7 +2353,7 @@ int scanf_va_81(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_81(char const *format, unsigned __int64 param0);
+int printf_va_81(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2371,7 +2369,7 @@ int printf_va_81(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_82(char const *format, unsigned __int64 *param0);
+int scanf_va_82(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2384,7 +2382,7 @@ int scanf_va_82(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_82(char const *format, unsigned __int64 param0);
+int printf_va_82(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2400,7 +2398,7 @@ int printf_va_82(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_83(char const *format, unsigned __int64 *param0);
+int scanf_va_83(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2413,7 +2411,7 @@ int scanf_va_83(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_83(char const *format, unsigned __int64 param0);
+int printf_va_83(char const * __restrict format, unsigned __int64 param0);
 
 /*@ requires valid_read_string(format);
     requires \valid(param0);
@@ -2429,7 +2427,7 @@ int printf_va_83(char const *format, unsigned __int64 param0);
       \from (indirect: __fc_stdin->__fc_FILE_id), __fc_stdin->__fc_FILE_data,
             (indirect: *(format + (0 ..)));
  */
-int scanf_va_84(char const *format, unsigned __int64 *param0);
+int scanf_va_84(char const * __restrict format, unsigned __int64 *param0);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -2442,7 +2440,7 @@ int scanf_va_84(char const *format, unsigned __int64 *param0);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_84(char const *format, unsigned __int64 param0);
+int printf_va_84(char const * __restrict format, unsigned __int64 param0);
 
 int main(void)
 {
diff --git a/tests/libc/oracle/more_gcc_builtins.res.oracle b/tests/libc/oracle/more_gcc_builtins.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..0ad30701226b8bdd8f77ce8a05a61da4d36caca3
--- /dev/null
+++ b/tests/libc/oracle/more_gcc_builtins.res.oracle
@@ -0,0 +1,96 @@
+[kernel] Parsing tests/libc/more_gcc_builtins.c (with preprocessing)
+[eva] Analyzing a complete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
+  
+[eva] computing for function __builtin_sadd_overflow <- main.
+  Called from tests/libc/more_gcc_builtins.c:10.
+[eva] using specification for function __builtin_sadd_overflow
+[eva] tests/libc/more_gcc_builtins.c:10: 
+  function __builtin_sadd_overflow: precondition 'valid_res' got status valid.
+[eva] Done for function __builtin_sadd_overflow
+[eva] tests/libc/more_gcc_builtins.c:11: assertion got status valid.
+[eva] tests/libc/more_gcc_builtins.c:12: assertion got status valid.
+[eva] computing for function __builtin_sadd_overflow <- main.
+  Called from tests/libc/more_gcc_builtins.c:13.
+[eva] tests/libc/more_gcc_builtins.c:13: 
+  function __builtin_sadd_overflow: precondition 'valid_res' got status valid.
+[eva] Done for function __builtin_sadd_overflow
+[eva] tests/libc/more_gcc_builtins.c:14: assertion got status valid.
+[eva] tests/libc/more_gcc_builtins.c:15: assertion got status valid.
+[eva] computing for function __builtin_saddl_overflow <- main.
+  Called from tests/libc/more_gcc_builtins.c:17.
+[eva] using specification for function __builtin_saddl_overflow
+[eva] tests/libc/more_gcc_builtins.c:17: 
+  function __builtin_saddl_overflow: precondition 'valid_res' got status valid.
+[eva] Done for function __builtin_saddl_overflow
+[eva] tests/libc/more_gcc_builtins.c:18: assertion got status valid.
+[eva] tests/libc/more_gcc_builtins.c:19: assertion got status valid.
+[eva] computing for function __builtin_saddl_overflow <- main.
+  Called from tests/libc/more_gcc_builtins.c:20.
+[eva] tests/libc/more_gcc_builtins.c:20: 
+  function __builtin_saddl_overflow: precondition 'valid_res' got status valid.
+[eva] Done for function __builtin_saddl_overflow
+[eva] tests/libc/more_gcc_builtins.c:21: assertion got status valid.
+[eva] tests/libc/more_gcc_builtins.c:22: assertion got status valid.
+[eva] computing for function __builtin_saddll_overflow <- main.
+  Called from tests/libc/more_gcc_builtins.c:24.
+[eva] using specification for function __builtin_saddll_overflow
+[eva] tests/libc/more_gcc_builtins.c:24: 
+  function __builtin_saddll_overflow: precondition 'valid_res' got status valid.
+[eva] Done for function __builtin_saddll_overflow
+[eva] tests/libc/more_gcc_builtins.c:25: assertion got status valid.
+[eva] tests/libc/more_gcc_builtins.c:26: assertion got status valid.
+[eva] computing for function __builtin_uadd_overflow <- main.
+  Called from tests/libc/more_gcc_builtins.c:28.
+[eva] using specification for function __builtin_uadd_overflow
+[eva] tests/libc/more_gcc_builtins.c:28: 
+  function __builtin_uadd_overflow: precondition 'valid_res' got status valid.
+[eva] Done for function __builtin_uadd_overflow
+[eva] tests/libc/more_gcc_builtins.c:29: assertion got status valid.
+[eva] tests/libc/more_gcc_builtins.c:30: assertion got status valid.
+[eva] computing for function __builtin_uaddl_overflow <- main.
+  Called from tests/libc/more_gcc_builtins.c:32.
+[eva] using specification for function __builtin_uaddl_overflow
+[eva] tests/libc/more_gcc_builtins.c:32: 
+  function __builtin_uaddl_overflow: precondition 'valid_res' got status valid.
+[eva] Done for function __builtin_uaddl_overflow
+[eva] tests/libc/more_gcc_builtins.c:33: assertion got status valid.
+[eva] tests/libc/more_gcc_builtins.c:34: assertion got status valid.
+[eva] computing for function __builtin_uaddll_overflow <- main.
+  Called from tests/libc/more_gcc_builtins.c:36.
+[eva] using specification for function __builtin_uaddll_overflow
+[eva] tests/libc/more_gcc_builtins.c:36: 
+  function __builtin_uaddll_overflow: precondition 'valid_res' got status valid.
+[eva] Done for function __builtin_uaddll_overflow
+[eva] tests/libc/more_gcc_builtins.c:37: assertion got status valid.
+[eva] tests/libc/more_gcc_builtins.c:38: assertion got status valid.
+[eva] computing for function __builtin_usubll_overflow <- main.
+  Called from tests/libc/more_gcc_builtins.c:39.
+[eva] using specification for function __builtin_usubll_overflow
+[eva] tests/libc/more_gcc_builtins.c:39: 
+  function __builtin_usubll_overflow: precondition 'valid_res' got status valid.
+[eva] Done for function __builtin_usubll_overflow
+[eva] tests/libc/more_gcc_builtins.c:40: assertion got status valid.
+[eva] tests/libc/more_gcc_builtins.c:41: assertion got status valid.
+[eva] computing for function __builtin_smulll_overflow <- main.
+  Called from tests/libc/more_gcc_builtins.c:42.
+[eva] using specification for function __builtin_smulll_overflow
+[eva] tests/libc/more_gcc_builtins.c:42: 
+  function __builtin_smulll_overflow: precondition 'valid_res' got status valid.
+[eva] Done for function __builtin_smulll_overflow
+[eva] tests/libc/more_gcc_builtins.c:43: assertion got status valid.
+[eva] tests/libc/more_gcc_builtins.c:44: assertion got status valid.
+[eva] Recording results for main
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
+  res ∈ {-2147483607}
+  r ∈ {1}
+  lres ∈ {2147483647}
+  llres ∈ {-9223372036854775808}
+  ures ∈ {8}
+  ulres ∈ {8}
+  ullres ∈ {18446744073709551612}
+  __retres ∈ {0}
diff --git a/tests/libc/oracle/netdb_c.res.oracle b/tests/libc/oracle/netdb_c.res.oracle
index bc856685ab9bc76bab759347fb8ab72855d45478..b8c3b75e0ae244c71120466dc56dd0e42bda4a7e 100644
--- a/tests/libc/oracle/netdb_c.res.oracle
+++ b/tests/libc/oracle/netdb_c.res.oracle
@@ -13,6 +13,7 @@
   \return(realloc) == 0 (auto)
   \return(getenv) == 0 (auto)
   \return(bsearch) == 0 (auto)
+  \return(getcwd) == 0 (auto)
   \return(memchr) == 0 (auto)
   \return(memcpy) == 0 (auto)
   \return(memmove) == 0 (auto)
diff --git a/tests/libc/oracle/pwd_h.res.oracle b/tests/libc/oracle/pwd_h.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..3eca6d0e89b983073071c40135ceee07c627421e
--- /dev/null
+++ b/tests/libc/oracle/pwd_h.res.oracle
@@ -0,0 +1,27 @@
+[kernel] Parsing tests/libc/pwd_h.c (with preprocessing)
+[eva] Analyzing a complete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
+  uid ∈ [--..--]
+[eva] computing for function getpwuid <- main.
+  Called from tests/libc/pwd_h.c:10.
+[eva] using specification for function getpwuid
+[eva] Done for function getpwuid
+[eva:alarm] tests/libc/pwd_h.c:13: Warning: assertion got status unknown.
+[eva:alarm] tests/libc/pwd_h.c:14: Warning: assertion got status unknown.
+[eva:alarm] tests/libc/pwd_h.c:15: Warning: assertion got status unknown.
+[eva:alarm] tests/libc/pwd_h.c:16: Warning: assertion got status unknown.
+[eva] Recording results for main
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main:
+  __fc_getpwuid.pw_name ∈ {{ NULL + [--..--] ; &__fc_getpwuid_pw_name[0] }}
+               .pw_passwd ∈
+               {{ NULL + [--..--] ; &__fc_getpwuid_pw_passwd[0] }}
+               {.pw_uid; .pw_gid} ∈ [--..--]
+               .pw_dir ∈ {{ NULL + [--..--] ; &__fc_getpwuid_pw_dir[0] }}
+               .pw_shell ∈
+               {{ NULL + [--..--] ; &__fc_getpwuid_pw_shell[0] }}
+  pw ∈ {{ NULL ; &__fc_getpwuid }}
+  __retres ∈ {0}
diff --git a/tests/libc/oracle/time_c.res.oracle b/tests/libc/oracle/time_c.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..2b6021a7f03a5dd174de37138c6d674ede2e1b88
--- /dev/null
+++ b/tests/libc/oracle/time_c.res.oracle
@@ -0,0 +1,34 @@
+[kernel] Parsing tests/libc/time_c.c (with preprocessing)
+[eva] Analyzing a complete application starting at main
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
+  v ∈ [--..--]
+[eva] computing for function ctime <- main.
+  Called from tests/libc/time_c.c:8.
+[eva] share/libc/time.c:30: assertion got status valid.
+[eva:alarm] share/libc/time.c:31: Warning: assertion got status unknown.
+[eva] computing for function Frama_C_make_unknown <- ctime <- main.
+  Called from share/libc/time.c:32.
+[eva] using specification for function Frama_C_make_unknown
+[eva] share/libc/time.c:32: 
+  function Frama_C_make_unknown: precondition 'valid_p' got status valid.
+[eva] Done for function Frama_C_make_unknown
+[eva] Recording results for ctime
+[eva] Done for function ctime
+[eva] tests/libc/time_c.c:9: assertion got status valid.
+[eva] Recording results for main
+[eva] done for function main
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function ctime:
+  __fc_ctime[0..24] ∈ [--..--]
+            [25] ∈ {0}
+  Frama_C_entropy_source ∈ [--..--]
+  __retres ∈ {{ &__fc_ctime[0] }}
+[eva:final-states] Values at end of function main:
+  __fc_ctime[0..24] ∈ [--..--]
+            [25] ∈ {0}
+  Frama_C_entropy_source ∈ [--..--]
+  t ∈ {42}
+  s ∈ {{ &__fc_ctime[0] }}
+  __retres ∈ {0}
diff --git a/tests/libc/oracle/time_h.res.oracle b/tests/libc/oracle/time_h.res.oracle
index dd05409c1abbb38d6e69d462c654f258af058285..5fcd6c6d027bc01e634adfc623934e6e724e7607 100644
--- a/tests/libc/oracle/time_h.res.oracle
+++ b/tests/libc/oracle/time_h.res.oracle
@@ -102,14 +102,29 @@
 [eva] computing for function clock_nanosleep <- main.
   Called from tests/libc/time_h.c:36.
 [eva] Done for function clock_nanosleep
+[eva] computing for function ctime <- main.
+  Called from tests/libc/time_h.c:43.
+[eva] using specification for function ctime
+[eva] tests/libc/time_h.c:43: 
+  function ctime: precondition 'valid_timer' got status valid.
+[eva] tests/libc/time_h.c:43: 
+  function ctime: precondition 'initialization,init_timer' got status valid.
+[eva] Done for function ctime
+[eva] computing for function ctime <- main.
+  Called from tests/libc/time_h.c:43.
+[eva] Done for function ctime
+[eva:alarm] tests/libc/time_h.c:44: Warning: assertion got status unknown.
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main:
+  __fc_ctime[0..25] ∈ [--..--]
   req.tv_sec ∈ [--..--]
      .tv_nsec ∈ [0..999999999]
   rem ∈ [--..--] or UNINITIALIZED
   r ∈ {-1; 0; 4; 22}
   creq.tv_sec ∈ [--..--] or UNINITIALIZED
       .tv_nsec ∈ [0..999999999] or UNINITIALIZED
+  tt ∈ {42}
+  time_str ∈ {{ &__fc_ctime[0] }}
   __retres ∈ {0; 1; 2}
diff --git a/tests/libc/oracle/time.res.oracle b/tests/libc/oracle/time_misc.res.oracle
similarity index 56%
rename from tests/libc/oracle/time.res.oracle
rename to tests/libc/oracle/time_misc.res.oracle
index e757ceb27f8c16b44567a46c09f8552151df3066..11b3437a14bb4490511094ca437543e11a7ed99e 100644
--- a/tests/libc/oracle/time.res.oracle
+++ b/tests/libc/oracle/time_misc.res.oracle
@@ -1,44 +1,61 @@
-[kernel] Parsing tests/libc/time.c (with preprocessing)
+[kernel] Parsing tests/libc/time_misc.c (with preprocessing)
 [eva] Analyzing a complete application starting at main
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  
+  v ∈ [--..--]
 [eva] computing for function test_gettimeofday <- main.
-  Called from tests/libc/time.c:27.
+  Called from tests/libc/time_misc.c:37.
 [eva] computing for function gettimeofday <- test_gettimeofday <- main.
-  Called from tests/libc/time.c:7.
+  Called from tests/libc/time_misc.c:7.
 [eva] using specification for function gettimeofday
 [eva] Done for function gettimeofday
-[eva] tests/libc/time.c:8: assertion got status valid.
-[eva] tests/libc/time.c:9: assertion got status valid.
+[eva] tests/libc/time_misc.c:8: assertion got status valid.
+[eva] tests/libc/time_misc.c:9: assertion got status valid.
 [eva] Recording results for test_gettimeofday
 [eva] Done for function test_gettimeofday
 [eva] computing for function test_strftime <- main.
-  Called from tests/libc/time.c:28.
+  Called from tests/libc/time_misc.c:38.
 [eva] computing for function time <- test_strftime <- main.
-  Called from tests/libc/time.c:18.
+  Called from tests/libc/time_misc.c:18.
 [eva] using specification for function time
 [eva] Done for function time
 [eva] computing for function localtime <- test_strftime <- main.
-  Called from tests/libc/time.c:19.
+  Called from tests/libc/time_misc.c:19.
 [eva] using specification for function localtime
 [eva] Done for function localtime
 [eva] computing for function strftime <- test_strftime <- main.
-  Called from tests/libc/time.c:21.
+  Called from tests/libc/time_misc.c:21.
 [eva] using specification for function strftime
-[eva] tests/libc/time.c:21: 
+[eva] tests/libc/time_misc.c:21: 
   function strftime: precondition 'dst_has_room' got status valid.
-[eva] tests/libc/time.c:21: 
+[eva] tests/libc/time_misc.c:21: 
   function strftime: precondition 'valid_format' got status valid.
-[eva] tests/libc/time.c:21: 
+[eva] tests/libc/time_misc.c:21: 
   function strftime: precondition 'valid_tm' got status valid.
 [eva] Done for function strftime
 [eva] Recording results for test_strftime
 [eva] Done for function test_strftime
+[eva] computing for function test_ctime <- main.
+  Called from tests/libc/time_misc.c:39.
+[eva] computing for function ctime <- test_ctime <- main.
+  Called from tests/libc/time_misc.c:31.
+[eva] using specification for function ctime
+[eva] tests/libc/time_misc.c:31: 
+  function ctime: precondition 'valid_timer' got status valid.
+[eva:alarm] tests/libc/time_misc.c:31: Warning: 
+  function ctime: precondition 'initialization,init_timer' got status unknown.
+[eva] Done for function ctime
+[eva:alarm] tests/libc/time_misc.c:32: Warning: assertion got status unknown.
+[eva] Recording results for test_ctime
+[eva] Done for function test_ctime
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function test_ctime:
+  __fc_ctime[0..25] ∈ [--..--]
+  t ∈ {42}
+  s ∈ {{ &__fc_ctime[0] }}
 [eva:final-states] Values at end of function test_gettimeofday:
   tv.tv_sec ∈ [--..--]
     .tv_usec ∈ [0..999999]
@@ -49,5 +66,6 @@
   tmp ∈ {{ NULL ; &__fc_time_tm }}
   res ∈ [0..200] or UNINITIALIZED
 [eva:final-states] Values at end of function main:
+  __fc_ctime[0..25] ∈ [--..--]
   __fc_time_tm ∈ [--..--]
   __retres ∈ {0}
diff --git a/tests/libc/oracle/unistd_h.0.res.oracle b/tests/libc/oracle/unistd_h.0.res.oracle
index fb134e926aa45632cc77de6c0074df2e0115b2cf..b3c282aca8b923b282ddb7a0b4b20aef5ee7ef9f 100644
--- a/tests/libc/oracle/unistd_h.0.res.oracle
+++ b/tests/libc/oracle/unistd_h.0.res.oracle
@@ -1,6 +1,21 @@
 [kernel] Parsing tests/libc/unistd_h.c (with preprocessing)
-[kernel:typing:implicit-function-declaration] tests/libc/unistd_h.c:12: Warning: 
-  Calling undeclared function usleep. Old style K&R code?
+[eva] Splitting return states on:
+  \return(access) == 0 (auto)
+  \return(dup) == -1 (auto)
+  \return(getcwd) == 0 (auto)
+  \return(gethostname) == 0 (auto)
+  \return(setegid) == 0 (auto)
+  \return(seteuid) == 0 (auto)
+  \return(setgid) == 0 (auto)
+  \return(setregid) == 0 (auto)
+  \return(setreuid) == 0 (auto)
+  \return(setsid) == 0 (auto)
+  \return(setuid) == 0 (auto)
+  \return(usleep) == 0 (auto)
+  \return(getresuid) == 0 (auto)
+  \return(setresuid) == 0 (auto)
+  \return(getresgid) == 0 (auto)
+  \return(setresgid) == 0 (auto)
 [eva] Analyzing a complete application starting at main
 [eva] Computing initial state
 [eva] Initial state computed
@@ -8,19 +23,23 @@
   nondet ∈ [--..--]
 [eva] computing for function usleep <- main.
   Called from tests/libc/unistd_h.c:12.
-[kernel:annot:missing-spec] tests/libc/unistd_h.c:12: Warning: 
-  Neither code nor specification for function usleep, generating default assigns from the prototype
 [eva] using specification for function usleep
 [eva] Done for function usleep
 [eva] computing for function usleep <- main.
   Called from tests/libc/unistd_h.c:13.
 [eva] Done for function usleep
+[eva] computing for function usleep <- main.
+  Called from tests/libc/unistd_h.c:13.
+[eva] Done for function usleep
 [eva] computing for function gethostname <- main.
   Called from tests/libc/unistd_h.c:15.
 [eva] using specification for function gethostname
 [eva] tests/libc/unistd_h.c:15: 
   function gethostname: precondition 'name_has_room' got status valid.
 [eva] Done for function gethostname
+[eva] computing for function gethostname <- main.
+  Called from tests/libc/unistd_h.c:15.
+[eva] Done for function gethostname
 [eva] computing for function execv <- main.
   Called from tests/libc/unistd_h.c:17.
 [eva] using specification for function execv
@@ -29,6 +48,9 @@
 [eva] tests/libc/unistd_h.c:17: 
   function execv: precondition 'valid_string_argv0' got status valid.
 [eva] Done for function execv
+[eva] computing for function execv <- main.
+  Called from tests/libc/unistd_h.c:17.
+[eva] Done for function execv
 [eva] computing for function access <- main.
   Called from tests/libc/unistd_h.c:19.
 [eva] using specification for function access
@@ -37,6 +59,9 @@
 [eva] tests/libc/unistd_h.c:19: 
   function access: precondition 'valid_amode' got status valid.
 [eva] Done for function access
+[eva] computing for function access <- main.
+  Called from tests/libc/unistd_h.c:19.
+[eva] Done for function access
 [eva] tests/libc/unistd_h.c:20: assertion got status valid.
 [eva] computing for function dup <- main.
   Called from tests/libc/unistd_h.c:22.
@@ -44,6 +69,9 @@
 [eva] tests/libc/unistd_h.c:22: 
   function dup: precondition 'valid_fildes' got status valid.
 [eva] Done for function dup
+[eva] computing for function dup <- main.
+  Called from tests/libc/unistd_h.c:22.
+[eva] Done for function dup
 [eva] tests/libc/unistd_h.c:23: assertion got status valid.
 [eva] computing for function dup2 <- main.
   Called from tests/libc/unistd_h.c:26.
@@ -53,6 +81,9 @@
 [eva] tests/libc/unistd_h.c:26: 
   function dup2: precondition 'valid_fildes2' got status valid.
 [eva] Done for function dup2
+[eva] computing for function dup2 <- main.
+  Called from tests/libc/unistd_h.c:26.
+[eva] Done for function dup2
 [eva] computing for function dup2 <- main.
   Called from tests/libc/unistd_h.c:28.
 [eva] tests/libc/unistd_h.c:28: 
@@ -60,15 +91,66 @@
 [eva:alarm] tests/libc/unistd_h.c:28: Warning: 
   function dup2: precondition 'valid_fildes2' got status invalid.
 [eva] Done for function dup2
+[eva] computing for function dup2 <- main.
+  Called from tests/libc/unistd_h.c:28.
+[eva] Done for function dup2
+[eva] computing for function dup2 <- main.
+  Called from tests/libc/unistd_h.c:28.
+[eva] Done for function dup2
+[eva] computing for function dup2 <- main.
+  Called from tests/libc/unistd_h.c:28.
+[eva] Done for function dup2
 [eva] computing for function fork <- main.
   Called from tests/libc/unistd_h.c:32.
 [eva] using specification for function fork
 [eva] Done for function fork
+[eva] computing for function fork <- main.
+  Called from tests/libc/unistd_h.c:32.
+[eva] Done for function fork
+[eva] computing for function fork <- main.
+  Called from tests/libc/unistd_h.c:32.
+[eva] Done for function fork
+[eva] computing for function fork <- main.
+  Called from tests/libc/unistd_h.c:32.
+[eva] Done for function fork
 [eva] tests/libc/unistd_h.c:33: assertion got status valid.
 [eva] computing for function setsid <- main.
   Called from tests/libc/unistd_h.c:35.
 [eva] using specification for function setsid
 [eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
 [eva] computing for function sync <- main.
   Called from tests/libc/unistd_h.c:37.
 [eva] using specification for function sync
@@ -77,15 +159,336 @@
   Called from tests/libc/unistd_h.c:39.
 [eva] using specification for function sysconf
 [eva] Done for function sysconf
+[eva] computing for function getcwd <- main.
+  Called from tests/libc/unistd_h.c:42.
+[eva] using specification for function getcwd
+[eva] tests/libc/unistd_h.c:42: 
+  function getcwd: precondition 'valid_buf' got status valid.
+[eva] Done for function getcwd
+[eva] tests/libc/unistd_h.c:44: assertion got status valid.
+[eva:alarm] tests/libc/unistd_h.c:45: Warning: assertion got status unknown.
+[eva] computing for function pathconf <- main.
+  Called from tests/libc/unistd_h.c:48.
+[eva] using specification for function pathconf
+[eva] tests/libc/unistd_h.c:48: 
+  function pathconf: precondition 'valid_path' got status valid.
+[eva] Done for function pathconf
+[eva] computing for function pathconf <- main.
+  Called from tests/libc/unistd_h.c:48.
+[eva] Done for function pathconf
+[eva] computing for function getresuid <- main.
+  Called from tests/libc/unistd_h.c:51.
+[eva] using specification for function getresuid
+[eva] tests/libc/unistd_h.c:51: 
+  function getresuid: precondition 'valid_ruid' got status valid.
+[eva] tests/libc/unistd_h.c:51: 
+  function getresuid: precondition 'valid_euid' got status valid.
+[eva] tests/libc/unistd_h.c:51: 
+  function getresuid: precondition 'valid_suid' got status valid.
+[eva] Done for function getresuid
+[eva] computing for function getresuid <- main.
+  Called from tests/libc/unistd_h.c:51.
+[eva] Done for function getresuid
+[eva] computing for function setresuid <- main.
+  Called from tests/libc/unistd_h.c:53.
+[eva] using specification for function setresuid
+[eva] Done for function setresuid
+[eva] computing for function setresuid <- main.
+  Called from tests/libc/unistd_h.c:53.
+[eva] Done for function setresuid
+[eva] tests/libc/unistd_h.c:54: assertion got status valid.
+[eva] computing for function getresgid <- main.
+  Called from tests/libc/unistd_h.c:57.
+[eva] using specification for function getresgid
+[eva] tests/libc/unistd_h.c:57: 
+  function getresgid: precondition 'valid_rgid' got status valid.
+[eva] tests/libc/unistd_h.c:57: 
+  function getresgid: precondition 'valid_egid' got status valid.
+[eva] tests/libc/unistd_h.c:57: 
+  function getresgid: precondition 'valid_sgid' got status valid.
+[eva] Done for function getresgid
+[eva] computing for function getresgid <- main.
+  Called from tests/libc/unistd_h.c:57.
+[eva] Done for function getresgid
+[eva] computing for function getresgid <- main.
+  Called from tests/libc/unistd_h.c:57.
+[eva] Done for function getresgid
+[eva] computing for function getresgid <- main.
+  Called from tests/libc/unistd_h.c:57.
+[eva] Done for function getresgid
+[eva] computing for function getresgid <- main.
+  Called from tests/libc/unistd_h.c:57.
+[eva] Done for function getresgid
+[eva] computing for function getresgid <- main.
+  Called from tests/libc/unistd_h.c:57.
+[eva] Done for function getresgid
+[eva] computing for function setresgid <- main.
+  Called from tests/libc/unistd_h.c:59.
+[eva] using specification for function setresgid
+[eva] Done for function setresgid
+[eva] computing for function setresgid <- main.
+  Called from tests/libc/unistd_h.c:59.
+[eva] Done for function setresgid
+[eva] computing for function setresgid <- main.
+  Called from tests/libc/unistd_h.c:59.
+[eva] Done for function setresgid
+[eva] computing for function setresgid <- main.
+  Called from tests/libc/unistd_h.c:59.
+[eva] Done for function setresgid
+[eva] tests/libc/unistd_h.c:60: assertion got status valid.
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] using specification for function getpid
+[eva] Done for function getpid
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] Done for function getpid
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] Done for function getpid
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] Done for function getpid
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] Done for function getpid
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] Done for function getpid
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] Done for function getpid
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] Done for function getpid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] using specification for function getppid
+[eva] Done for function getppid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] Done for function getppid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] Done for function getppid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] Done for function getppid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] Done for function getppid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] Done for function getppid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] Done for function getppid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] Done for function getppid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] using specification for function getsid
+[eva] Done for function getsid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] Done for function getsid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] Done for function getsid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] Done for function getsid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] Done for function getsid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] Done for function getsid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] Done for function getsid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] Done for function getsid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] using specification for function getuid
+[eva] Done for function getuid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] Done for function getuid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] Done for function getuid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] Done for function getuid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] Done for function getuid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] Done for function getuid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] Done for function getuid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] Done for function getuid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] using specification for function getgid
+[eva] Done for function getgid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] Done for function getgid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] Done for function getgid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] Done for function getgid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] Done for function getgid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] Done for function getgid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] Done for function getgid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] Done for function getgid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] using specification for function geteuid
+[eva] Done for function geteuid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] Done for function geteuid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] Done for function geteuid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] Done for function geteuid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] Done for function geteuid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] Done for function geteuid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] Done for function geteuid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] Done for function geteuid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] using specification for function getegid
+[eva] Done for function getegid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] Done for function getegid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] Done for function getegid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] Done for function getegid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] Done for function getegid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] Done for function getegid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] Done for function getegid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] Done for function getegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] using specification for function setegid
+[eva] Done for function setegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] Done for function setegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] Done for function setegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] Done for function setegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] Done for function setegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] Done for function setegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] Done for function setegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] Done for function setegid
+[eva] computing for function seteuid <- main.
+  Called from tests/libc/unistd_h.c:70.
+[eva] using specification for function seteuid
+[eva] Done for function seteuid
+[eva] computing for function setgid <- main.
+  Called from tests/libc/unistd_h.c:71.
+[eva] using specification for function setgid
+[eva] Done for function setgid
+[eva] computing for function setgid <- main.
+  Called from tests/libc/unistd_h.c:71.
+[eva] Done for function setgid
+[eva] computing for function setuid <- main.
+  Called from tests/libc/unistd_h.c:72.
+[eva] using specification for function setuid
+[eva] Done for function setuid
+[eva] computing for function setuid <- main.
+  Called from tests/libc/unistd_h.c:72.
+[eva] Done for function setuid
+[eva] computing for function setregid <- main.
+  Called from tests/libc/unistd_h.c:73.
+[eva] using specification for function setregid
+[eva] Done for function setregid
+[eva] computing for function setregid <- main.
+  Called from tests/libc/unistd_h.c:73.
+[eva] Done for function setregid
+[eva] computing for function setreuid <- main.
+  Called from tests/libc/unistd_h.c:74.
+[eva] using specification for function setreuid
+[eva] Done for function setreuid
+[eva] computing for function setreuid <- main.
+  Called from tests/libc/unistd_h.c:74.
+[eva] Done for function setreuid
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main:
-  __fc_fds[0..1023] ∈ [--..--]
-  r ∈ [-1..2147483647]
+  Frama_C_entropy_source ∈ [--..--]
+  __fc_fds[0] ∈ {0}
+          [1..1023] ∈ [--..--]
+  r ∈ {-1; 0}
   hostname[0..255] ∈ [--..--] or UNINITIALIZED
   fd ∈ [-1..1023]
   fd2 ∈ [-1..1023]
   pid ∈ [-1..2147483647]
   l ∈ [--..--]
+  cwd[0..63] ∈ [--..--] or UNINITIALIZED
+  res_getcwd ∈ {{ NULL ; &cwd[0] }}
+  pconf ∈ [--..--]
+  ruid ∈ [--..--] or UNINITIALIZED
+  euid ∈ [--..--] or UNINITIALIZED
+  suid ∈ [--..--] or UNINITIALIZED
+  rgid ∈ [--..--] or UNINITIALIZED
+  egid ∈ [--..--] or UNINITIALIZED
+  sgid ∈ [--..--] or UNINITIALIZED
+  p ∈ [--..--]
   __retres ∈ {0; 1}
diff --git a/tests/libc/oracle/unistd_h.1.res.oracle b/tests/libc/oracle/unistd_h.1.res.oracle
index 6998a827de8f42d0b699f80c8941c9dc83a4f964..2b8e38fde21be6b2a210316f37aea41ee8d236a8 100644
--- a/tests/libc/oracle/unistd_h.1.res.oracle
+++ b/tests/libc/oracle/unistd_h.1.res.oracle
@@ -1,6 +1,21 @@
 [kernel] Parsing tests/libc/unistd_h.c (with preprocessing)
-[kernel:typing:implicit-function-declaration] tests/libc/unistd_h.c:12: Warning: 
-  Calling undeclared function usleep. Old style K&R code?
+[eva] Splitting return states on:
+  \return(access) == 0 (auto)
+  \return(dup) == -1 (auto)
+  \return(getcwd) == 0 (auto)
+  \return(gethostname) == 0 (auto)
+  \return(setegid) == 0 (auto)
+  \return(seteuid) == 0 (auto)
+  \return(setgid) == 0 (auto)
+  \return(setregid) == 0 (auto)
+  \return(setreuid) == 0 (auto)
+  \return(setsid) == 0 (auto)
+  \return(setuid) == 0 (auto)
+  \return(usleep) == 0 (auto)
+  \return(getresuid) == 0 (auto)
+  \return(setresuid) == 0 (auto)
+  \return(getresgid) == 0 (auto)
+  \return(setresgid) == 0 (auto)
 [eva] Analyzing a complete application starting at main
 [eva] Computing initial state
 [eva] Initial state computed
@@ -8,19 +23,23 @@
   nondet ∈ [--..--]
 [eva] computing for function usleep <- main.
   Called from tests/libc/unistd_h.c:12.
-[kernel:annot:missing-spec] tests/libc/unistd_h.c:12: Warning: 
-  Neither code nor specification for function usleep, generating default assigns from the prototype
 [eva] using specification for function usleep
 [eva] Done for function usleep
 [eva] computing for function usleep <- main.
   Called from tests/libc/unistd_h.c:13.
 [eva] Done for function usleep
+[eva] computing for function usleep <- main.
+  Called from tests/libc/unistd_h.c:13.
+[eva] Done for function usleep
 [eva] computing for function gethostname <- main.
   Called from tests/libc/unistd_h.c:15.
 [eva] using specification for function gethostname
 [eva] tests/libc/unistd_h.c:15: 
   function gethostname: precondition 'name_has_room' got status valid.
 [eva] Done for function gethostname
+[eva] computing for function gethostname <- main.
+  Called from tests/libc/unistd_h.c:15.
+[eva] Done for function gethostname
 [eva] computing for function execl <- main.
   Called from tests/libc/unistd_h.c:17.
 [eva] using specification for function execl
@@ -29,6 +48,9 @@
 [eva] tests/libc/unistd_h.c:17: 
   function execl: precondition 'valid_string_arg' got status valid.
 [eva] Done for function execl
+[eva] computing for function execl <- main.
+  Called from tests/libc/unistd_h.c:17.
+[eva] Done for function execl
 [eva] computing for function access <- main.
   Called from tests/libc/unistd_h.c:19.
 [eva] using specification for function access
@@ -37,6 +59,9 @@
 [eva] tests/libc/unistd_h.c:19: 
   function access: precondition 'valid_amode' got status valid.
 [eva] Done for function access
+[eva] computing for function access <- main.
+  Called from tests/libc/unistd_h.c:19.
+[eva] Done for function access
 [eva] tests/libc/unistd_h.c:20: assertion got status valid.
 [eva] computing for function dup <- main.
   Called from tests/libc/unistd_h.c:22.
@@ -44,6 +69,9 @@
 [eva] tests/libc/unistd_h.c:22: 
   function dup: precondition 'valid_fildes' got status valid.
 [eva] Done for function dup
+[eva] computing for function dup <- main.
+  Called from tests/libc/unistd_h.c:22.
+[eva] Done for function dup
 [eva] tests/libc/unistd_h.c:23: assertion got status valid.
 [eva] computing for function dup2 <- main.
   Called from tests/libc/unistd_h.c:26.
@@ -53,6 +81,9 @@
 [eva] tests/libc/unistd_h.c:26: 
   function dup2: precondition 'valid_fildes2' got status valid.
 [eva] Done for function dup2
+[eva] computing for function dup2 <- main.
+  Called from tests/libc/unistd_h.c:26.
+[eva] Done for function dup2
 [eva] computing for function dup2 <- main.
   Called from tests/libc/unistd_h.c:28.
 [eva] tests/libc/unistd_h.c:28: 
@@ -60,15 +91,66 @@
 [eva:alarm] tests/libc/unistd_h.c:28: Warning: 
   function dup2: precondition 'valid_fildes2' got status invalid.
 [eva] Done for function dup2
+[eva] computing for function dup2 <- main.
+  Called from tests/libc/unistd_h.c:28.
+[eva] Done for function dup2
+[eva] computing for function dup2 <- main.
+  Called from tests/libc/unistd_h.c:28.
+[eva] Done for function dup2
+[eva] computing for function dup2 <- main.
+  Called from tests/libc/unistd_h.c:28.
+[eva] Done for function dup2
 [eva] computing for function fork <- main.
   Called from tests/libc/unistd_h.c:32.
 [eva] using specification for function fork
 [eva] Done for function fork
+[eva] computing for function fork <- main.
+  Called from tests/libc/unistd_h.c:32.
+[eva] Done for function fork
+[eva] computing for function fork <- main.
+  Called from tests/libc/unistd_h.c:32.
+[eva] Done for function fork
+[eva] computing for function fork <- main.
+  Called from tests/libc/unistd_h.c:32.
+[eva] Done for function fork
 [eva] tests/libc/unistd_h.c:33: assertion got status valid.
 [eva] computing for function setsid <- main.
   Called from tests/libc/unistd_h.c:35.
 [eva] using specification for function setsid
 [eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
+[eva] computing for function setsid <- main.
+  Called from tests/libc/unistd_h.c:35.
+[eva] Done for function setsid
 [eva] computing for function sync <- main.
   Called from tests/libc/unistd_h.c:37.
 [eva] using specification for function sync
@@ -77,15 +159,336 @@
   Called from tests/libc/unistd_h.c:39.
 [eva] using specification for function sysconf
 [eva] Done for function sysconf
+[eva] computing for function getcwd <- main.
+  Called from tests/libc/unistd_h.c:42.
+[eva] using specification for function getcwd
+[eva] tests/libc/unistd_h.c:42: 
+  function getcwd: precondition 'valid_buf' got status valid.
+[eva] Done for function getcwd
+[eva] tests/libc/unistd_h.c:44: assertion got status valid.
+[eva:alarm] tests/libc/unistd_h.c:45: Warning: assertion got status unknown.
+[eva] computing for function pathconf <- main.
+  Called from tests/libc/unistd_h.c:48.
+[eva] using specification for function pathconf
+[eva] tests/libc/unistd_h.c:48: 
+  function pathconf: precondition 'valid_path' got status valid.
+[eva] Done for function pathconf
+[eva] computing for function pathconf <- main.
+  Called from tests/libc/unistd_h.c:48.
+[eva] Done for function pathconf
+[eva] computing for function getresuid <- main.
+  Called from tests/libc/unistd_h.c:51.
+[eva] using specification for function getresuid
+[eva] tests/libc/unistd_h.c:51: 
+  function getresuid: precondition 'valid_ruid' got status valid.
+[eva] tests/libc/unistd_h.c:51: 
+  function getresuid: precondition 'valid_euid' got status valid.
+[eva] tests/libc/unistd_h.c:51: 
+  function getresuid: precondition 'valid_suid' got status valid.
+[eva] Done for function getresuid
+[eva] computing for function getresuid <- main.
+  Called from tests/libc/unistd_h.c:51.
+[eva] Done for function getresuid
+[eva] computing for function setresuid <- main.
+  Called from tests/libc/unistd_h.c:53.
+[eva] using specification for function setresuid
+[eva] Done for function setresuid
+[eva] computing for function setresuid <- main.
+  Called from tests/libc/unistd_h.c:53.
+[eva] Done for function setresuid
+[eva] tests/libc/unistd_h.c:54: assertion got status valid.
+[eva] computing for function getresgid <- main.
+  Called from tests/libc/unistd_h.c:57.
+[eva] using specification for function getresgid
+[eva] tests/libc/unistd_h.c:57: 
+  function getresgid: precondition 'valid_rgid' got status valid.
+[eva] tests/libc/unistd_h.c:57: 
+  function getresgid: precondition 'valid_egid' got status valid.
+[eva] tests/libc/unistd_h.c:57: 
+  function getresgid: precondition 'valid_sgid' got status valid.
+[eva] Done for function getresgid
+[eva] computing for function getresgid <- main.
+  Called from tests/libc/unistd_h.c:57.
+[eva] Done for function getresgid
+[eva] computing for function getresgid <- main.
+  Called from tests/libc/unistd_h.c:57.
+[eva] Done for function getresgid
+[eva] computing for function getresgid <- main.
+  Called from tests/libc/unistd_h.c:57.
+[eva] Done for function getresgid
+[eva] computing for function getresgid <- main.
+  Called from tests/libc/unistd_h.c:57.
+[eva] Done for function getresgid
+[eva] computing for function getresgid <- main.
+  Called from tests/libc/unistd_h.c:57.
+[eva] Done for function getresgid
+[eva] computing for function setresgid <- main.
+  Called from tests/libc/unistd_h.c:59.
+[eva] using specification for function setresgid
+[eva] Done for function setresgid
+[eva] computing for function setresgid <- main.
+  Called from tests/libc/unistd_h.c:59.
+[eva] Done for function setresgid
+[eva] computing for function setresgid <- main.
+  Called from tests/libc/unistd_h.c:59.
+[eva] Done for function setresgid
+[eva] computing for function setresgid <- main.
+  Called from tests/libc/unistd_h.c:59.
+[eva] Done for function setresgid
+[eva] tests/libc/unistd_h.c:60: assertion got status valid.
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] using specification for function getpid
+[eva] Done for function getpid
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] Done for function getpid
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] Done for function getpid
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] Done for function getpid
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] Done for function getpid
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] Done for function getpid
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] Done for function getpid
+[eva] computing for function getpid <- main.
+  Called from tests/libc/unistd_h.c:62.
+[eva] Done for function getpid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] using specification for function getppid
+[eva] Done for function getppid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] Done for function getppid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] Done for function getppid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] Done for function getppid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] Done for function getppid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] Done for function getppid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] Done for function getppid
+[eva] computing for function getppid <- main.
+  Called from tests/libc/unistd_h.c:63.
+[eva] Done for function getppid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] using specification for function getsid
+[eva] Done for function getsid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] Done for function getsid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] Done for function getsid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] Done for function getsid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] Done for function getsid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] Done for function getsid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] Done for function getsid
+[eva] computing for function getsid <- main.
+  Called from tests/libc/unistd_h.c:64.
+[eva] Done for function getsid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] using specification for function getuid
+[eva] Done for function getuid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] Done for function getuid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] Done for function getuid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] Done for function getuid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] Done for function getuid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] Done for function getuid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] Done for function getuid
+[eva] computing for function getuid <- main.
+  Called from tests/libc/unistd_h.c:65.
+[eva] Done for function getuid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] using specification for function getgid
+[eva] Done for function getgid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] Done for function getgid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] Done for function getgid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] Done for function getgid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] Done for function getgid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] Done for function getgid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] Done for function getgid
+[eva] computing for function getgid <- main.
+  Called from tests/libc/unistd_h.c:66.
+[eva] Done for function getgid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] using specification for function geteuid
+[eva] Done for function geteuid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] Done for function geteuid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] Done for function geteuid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] Done for function geteuid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] Done for function geteuid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] Done for function geteuid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] Done for function geteuid
+[eva] computing for function geteuid <- main.
+  Called from tests/libc/unistd_h.c:67.
+[eva] Done for function geteuid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] using specification for function getegid
+[eva] Done for function getegid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] Done for function getegid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] Done for function getegid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] Done for function getegid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] Done for function getegid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] Done for function getegid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] Done for function getegid
+[eva] computing for function getegid <- main.
+  Called from tests/libc/unistd_h.c:68.
+[eva] Done for function getegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] using specification for function setegid
+[eva] Done for function setegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] Done for function setegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] Done for function setegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] Done for function setegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] Done for function setegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] Done for function setegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] Done for function setegid
+[eva] computing for function setegid <- main.
+  Called from tests/libc/unistd_h.c:69.
+[eva] Done for function setegid
+[eva] computing for function seteuid <- main.
+  Called from tests/libc/unistd_h.c:70.
+[eva] using specification for function seteuid
+[eva] Done for function seteuid
+[eva] computing for function setgid <- main.
+  Called from tests/libc/unistd_h.c:71.
+[eva] using specification for function setgid
+[eva] Done for function setgid
+[eva] computing for function setgid <- main.
+  Called from tests/libc/unistd_h.c:71.
+[eva] Done for function setgid
+[eva] computing for function setuid <- main.
+  Called from tests/libc/unistd_h.c:72.
+[eva] using specification for function setuid
+[eva] Done for function setuid
+[eva] computing for function setuid <- main.
+  Called from tests/libc/unistd_h.c:72.
+[eva] Done for function setuid
+[eva] computing for function setregid <- main.
+  Called from tests/libc/unistd_h.c:73.
+[eva] using specification for function setregid
+[eva] Done for function setregid
+[eva] computing for function setregid <- main.
+  Called from tests/libc/unistd_h.c:73.
+[eva] Done for function setregid
+[eva] computing for function setreuid <- main.
+  Called from tests/libc/unistd_h.c:74.
+[eva] using specification for function setreuid
+[eva] Done for function setreuid
+[eva] computing for function setreuid <- main.
+  Called from tests/libc/unistd_h.c:74.
+[eva] Done for function setreuid
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main:
-  __fc_fds[0..1023] ∈ [--..--]
-  r ∈ [-1..2147483647]
+  Frama_C_entropy_source ∈ [--..--]
+  __fc_fds[0] ∈ {0}
+          [1..1023] ∈ [--..--]
+  r ∈ {-1; 0}
   hostname[0..255] ∈ [--..--] or UNINITIALIZED
   fd ∈ [-1..1023]
   fd2 ∈ [-1..1023]
   pid ∈ [-1..2147483647]
   l ∈ [--..--]
+  cwd[0..63] ∈ [--..--] or UNINITIALIZED
+  res_getcwd ∈ {{ NULL ; &cwd[0] }}
+  pconf ∈ [--..--]
+  ruid ∈ [--..--] or UNINITIALIZED
+  euid ∈ [--..--] or UNINITIALIZED
+  suid ∈ [--..--] or UNINITIALIZED
+  rgid ∈ [--..--] or UNINITIALIZED
+  egid ∈ [--..--] or UNINITIALIZED
+  sgid ∈ [--..--] or UNINITIALIZED
+  p ∈ [--..--]
   __retres ∈ {0; 1}
diff --git a/tests/libc/pwd_h.c b/tests/libc/pwd_h.c
new file mode 100644
index 0000000000000000000000000000000000000000..78abed115d3dfb2967fac487d9e6b7ce46e7c1a4
--- /dev/null
+++ b/tests/libc/pwd_h.c
@@ -0,0 +1,18 @@
+/*run.config
+  STDOPT:
+*/
+#include <pwd.h>
+#include "__fc_string_axiomatic.h"
+
+extern uid_t uid;
+
+int main() {
+  struct passwd *pw = getpwuid(uid);
+  if (pw) {
+    //Note: the assertions below are currently imprecise
+    //@ assert valid_read_string(pw->pw_name);
+    //@ assert valid_read_string(pw->pw_passwd);
+    //@ assert valid_read_string(pw->pw_dir);
+    //@ assert valid_read_string(pw->pw_shell);
+  }
+}
diff --git a/tests/libc/socket.c b/tests/libc/socket.c
index fb66a52f3a8f437b0156fac3dc40ddaa5de0960b..80d886bc510fa9e3016d04d938d08ff4e6ea1a50 100644
--- a/tests/libc/socket.c
+++ b/tests/libc/socket.c
@@ -1,6 +1,6 @@
 /* run.config
-   STDOPT: +"-value-verbose 2 -no-val-builtins-auto"
-   STDOPT: +"-value-verbose 2 -machdep x86_64 -no-val-builtins-auto"
+   STDOPT: +"-eva-verbose 2 -eva-no-builtins-auto"
+   STDOPT: +"-eva-verbose 2 -machdep x86_64 -eva-no-builtins-auto"
 */
 #include <sys/types.h>
 #include <sys/socket.h>
diff --git a/tests/libc/stdlib_c.c b/tests/libc/stdlib_c.c
index ef875e82f922d12cc2ff6a0e198adb289d07d072..3bb9f5f8b671b06e7652ac3745dc3dea1ccf0cfa 100644
--- a/tests/libc/stdlib_c.c
+++ b/tests/libc/stdlib_c.c
@@ -1,7 +1,7 @@
 /* run.config
-   STDOPT: #"-no-val-builtins-auto -slevel 10 -val-builtin calloc:Frama_C_calloc_by_stack -value-msg-key malloc"
-   STDOPT: #"-no-val-builtins-auto -slevel 10 -val-builtin calloc:Frama_C_calloc_by_stack -no-val-alloc-returns-null -value-msg-key malloc"
-   STDOPT: #"-no-val-builtins-auto"
+   STDOPT: #"-eva-no-builtins-auto -slevel 10 -eva-builtin calloc:Frama_C_calloc_by_stack -eva-msg-key malloc"
+   STDOPT: #"-eva-no-builtins-auto -slevel 10 -eva-builtin calloc:Frama_C_calloc_by_stack -eva-no-alloc-returns-null -eva-msg-key malloc"
+   STDOPT: #"-eva-no-builtins-auto"
 */ // slevel is used to unroll loops
 
 #define malloc(n) Frama_C_malloc_by_stack(n)
@@ -10,7 +10,7 @@
 #include <stdint.h>
 
 int main() {
-  // always succeeds if -no-val-alloc-returns-null, otherwise may succeed
+  // always succeeds if -eva-no-alloc-returns-null, otherwise may succeed
   int *p = calloc(1, sizeof(int));
   if (p) {
     //@ assert \valid(p);
diff --git a/tests/libc/string_c.c b/tests/libc/string_c.c
index 56c39cd1203ee851e4231b604c8bc6aa37d66328..05e5dc7c140cd844555e21f6bfb9dbbdd56a3635 100644
--- a/tests/libc/string_c.c
+++ b/tests/libc/string_c.c
@@ -1,5 +1,5 @@
 /* run.config
-   STDOPT: #"-no-val-builtins-auto -slevel 1000 -no-val-skip-stdlib-specs"
+   STDOPT: #"-eva-no-builtins-auto -slevel 1000 -eva-no-skip-stdlib-specs"
 */ // slevel is used to unroll loops
 
 #include "string.c"
diff --git a/tests/libc/string_c_generic.c b/tests/libc/string_c_generic.c
index 5bffd6a4b6d78edb2ea6167b001fb539e9c3cf58..9168f43d7369f9d476d037a417f24a713326f6c4 100644
--- a/tests/libc/string_c_generic.c
+++ b/tests/libc/string_c_generic.c
@@ -1,5 +1,5 @@
 /* run.config
-   STDOPT: #"-no-val-builtins-auto -cpp-extra-args=-includeshare/libc/string.c -slevel-function strcpy:20,strncpy:5,strcmp:6,strchr:20,strrchr:20,strncat:4,memset:32,strlen:20,memcmp:8 -no-val-skip-stdlib-specs"
+   STDOPT: #"-eva-no-builtins-auto -cpp-extra-args=-includeshare/libc/string.c -slevel-function strcpy:20,strncpy:5,strcmp:6,strchr:20,strrchr:20,strncat:4,memset:32,strlen:20,memcmp:8 -eva-no-skip-stdlib-specs"
 */
 /* This file has been adapted from libc-test, which is licensed under the
    following standard MIT license:
diff --git a/tests/libc/string_c_strchr.c b/tests/libc/string_c_strchr.c
index 7bee1f0adc39dd4c77be2ff45939580818261367..54ed8fab06ee3065c2a13d88a927732181b67b38 100644
--- a/tests/libc/string_c_strchr.c
+++ b/tests/libc/string_c_strchr.c
@@ -1,5 +1,5 @@
 /* run.config
-   STDOPT: #"-cpp-extra-args=-includeshare/libc/string.c -slevel-function strchr:256,main:256 -val-slevel-merge-after-loop main -no-val-builtins-auto -no-val-skip-stdlib-specs"
+   STDOPT: #"-cpp-extra-args=-includeshare/libc/string.c -slevel-function strchr:256,main:256 -eva-slevel-merge-after-loop main -eva-no-builtins-auto -eva-no-skip-stdlib-specs"
  */
 /* This file has been adapted from libc-test, which is licensed under the
    following standard MIT license:
diff --git a/tests/libc/string_c_strstr.c b/tests/libc/string_c_strstr.c
index d6dbc06239bc9bbd36d1d94eb3674989b07e4682..9f0613b351594afcadd9c41bc092315d666f320e 100644
--- a/tests/libc/string_c_strstr.c
+++ b/tests/libc/string_c_strstr.c
@@ -1,5 +1,5 @@
 /* run.config
-   STDOPT: #"-cpp-extra-args=-includeshare/libc/string.c -slevel-function strstr:30 -no-val-skip-stdlib-specs"
+   STDOPT: #"-cpp-extra-args=-includeshare/libc/string.c -slevel-function strstr:30 -eva-no-skip-stdlib-specs"
  */
 /* This file has been adapted from libc-test, which is licensed under the
    following standard MIT license:
diff --git a/tests/libc/test_config b/tests/libc/test_config
index 4c10d1e3cae5176275599fc61a1a02fbda2aebe6..b4e089126e464d84fb2a71e38521bdf4e07a07a7 100644
--- a/tests/libc/test_config
+++ b/tests/libc/test_config
@@ -1 +1 @@
-OPT: -val -val-show-progress -cpp-extra-args='-nostdinc -Ishare/libc'
\ No newline at end of file
+OPT: -eva -eva-show-progress -cpp-extra-args='-nostdinc -Ishare/libc'
diff --git a/tests/libc/time_c.c b/tests/libc/time_c.c
new file mode 100644
index 0000000000000000000000000000000000000000..c833527b0c07b22bd568457b94bd7dcfd628de3a
--- /dev/null
+++ b/tests/libc/time_c.c
@@ -0,0 +1,12 @@
+#include "time.c"
+
+volatile int v;
+
+int main() {
+  time_t t;
+  if (v) t = 42;
+  char *s = ctime(&t); // warn about initialization
+  //@ assert valid_read_string(s);
+
+  return 0;
+}
diff --git a/tests/libc/time_h.c b/tests/libc/time_h.c
index a265f44be03db228fa54b67a63d79090dc19650a..0ce0180a8c7a2892d0da7f2dafafa7c3fd04bc8b 100644
--- a/tests/libc/time_h.c
+++ b/tests/libc/time_h.c
@@ -38,5 +38,9 @@ int main() {
       return 1;
     }
   }
+
+  time_t tt = 42;
+  char *time_str = ctime(&tt);
+  //@ assert valid_string(time_str);
   return 0;
 }
diff --git a/tests/libc/time.c b/tests/libc/time_misc.c
similarity index 78%
rename from tests/libc/time.c
rename to tests/libc/time_misc.c
index 5cec32d3ff1ffa35b917686439a78c60f5a807df..8123a1641dc5e5ff829cde5f958e3b14d5f24656 100644
--- a/tests/libc/time.c
+++ b/tests/libc/time_misc.c
@@ -22,10 +22,21 @@ void test_strftime(void)
   }
 }
 
+volatile int v;
+
+void test_ctime(void)
+{
+  time_t t;
+  if (v) t = 42;
+  char *s = ctime(&t); // warn about initialization
+  //@ assert valid_read_string(s);
+}
+
 int main(int argc, char **argv)
 {
   test_gettimeofday();
   test_strftime();
+  test_ctime();
   return 0;
 }
 
diff --git a/tests/libc/unistd_h.c b/tests/libc/unistd_h.c
index fce0f9ad035baeac2155a59aeba1232049a0d11a..d0f26a9bb533cfcd4ecc21ea3368c432382d277c 100644
--- a/tests/libc/unistd_h.c
+++ b/tests/libc/unistd_h.c
@@ -1,10 +1,10 @@
 /*run.config
-  STDOPT:
-  STDOPT: #"-variadic-no-translation"
+  STDOPT: #"-slevel 12" #"-val-split-return auto"
+  STDOPT: #"-variadic-no-translation" #"-slevel 12" #"-val-split-return auto"
 */
-#include <unistd.h>
-
+#define _GNU_SOURCE
 #define _XOPEN_SOURCE 600
+#include <unistd.h>
 
 volatile int nondet;
 
@@ -38,5 +38,40 @@ int main() {
 
   long l = sysconf(ARG_MAX);
 
+  char cwd[64];
+  char *res_getcwd = getcwd(cwd, 64);
+  if (res_getcwd) {
+    //@ assert res_getcwd == cwd;
+    //@ assert valid_read_string((char*)cwd); // currently imprecise
+  }
+
+  long pconf = pathconf("/tmp/conf.cfg", _PC_NAME_MAX);
+
+  uid_t ruid, euid, suid;
+  r = getresuid(&ruid, &euid, &suid);
+  if (!r) {
+    r = setresuid(ruid, euid, suid);
+    //@ assert r == 0 || r == -1;
+  }
+  gid_t rgid, egid, sgid;
+  r = getresgid(&rgid, &egid, &sgid);
+  if (!r) {
+    r = setresgid(rgid, egid, sgid);
+    //@ assert r == 0 || r == -1;
+  }
+  pid_t p = getpid();
+  p = getppid();
+  p = getsid(0);
+  ruid = getuid();
+  rgid = getgid();
+  euid = geteuid();
+  egid = getegid();
+  r = setegid(egid);
+  r = seteuid(euid);
+  r = setgid(rgid);
+  r = setuid(ruid);
+  r = setregid(rgid, egid);
+  r = setreuid(ruid, euid);
+
   return 0;
 }
diff --git a/tests/metrics/libc.c b/tests/metrics/libc.c
index 65c09940c1374bc9cfa3a643cdd15371e7941983..c9c41a18762157b7fe04cf2289fd0ee154a0fb75 100644
--- a/tests/metrics/libc.c
+++ b/tests/metrics/libc.c
@@ -1,6 +1,6 @@
 /* run.config
-   STDOPT: #"-metrics-no-libc -metrics-value-cover"
-   STDOPT: #"-metrics-libc -metrics-value-cover"
+   STDOPT: #"-metrics-no-libc -metrics-eva-cover"
+   STDOPT: #"-metrics-libc -metrics-eva-cover"
 */
 #include <ctype.h>
 #include <stdio.h> // defines external variables
diff --git a/tests/misc/bts0541.c b/tests/misc/bts0541.c
index 6bec6dbab693999428fc766aa2eb7ced151e30de..4eb6a3004bab742c81fa24c2bb4d3567b9d01a6b 100644
--- a/tests/misc/bts0541.c
+++ b/tests/misc/bts0541.c
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -pp-annot -cpp-extra-args="-I./share/libc" -pp-annot -val -val-show-progress
+   OPT: -pp-annot -cpp-extra-args="-I./share/libc" -pp-annot -eva -eva-show-progress
 */
 
 #include <stdbool.h>
diff --git a/tests/misc/bts1201.i b/tests/misc/bts1201.i
index 360a37c17f64390cec01effff67685f601d60de9..7e59976a1ab11f91a4cde0c78ed7630c66fa5c14 100644
--- a/tests/misc/bts1201.i
+++ b/tests/misc/bts1201.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -value-verbose 2 -load-script tests/misc/bts1201.ml -print
+   OPT: -eva-verbose 2 -load-script tests/misc/bts1201.ml -print
 */
 void main() {
   //@ assert \true;
diff --git a/tests/misc/bts1347.i b/tests/misc/bts1347.i
index 15a08daaf6e9f4b2225655aa490fa21b09688c8f..4351b7a05c365f721926ec2916c2d8b9ba6c7e54 100644
--- a/tests/misc/bts1347.i
+++ b/tests/misc/bts1347.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -load-script tests/misc/bts1347.ml -val-show-progress -then -report
+   OPT: -load-script tests/misc/bts1347.ml -eva-show-progress -then -report
 */
 
 int f(int *x) { return *x; }
diff --git a/tests/misc/change_main.i b/tests/misc/change_main.i
index 1501281468c0e0b43cfd40bb47b76caf62203a51..9239d7f51bb663bc2a4d62f841a4887970a04919 100644
--- a/tests/misc/change_main.i
+++ b/tests/misc/change_main.i
@@ -1,5 +1,5 @@
 /* run.config*
-OPT: -val -main f -load-script tests/misc/change_main.ml -then-on change_main -main g -val
+OPT: -eva -main f -load-script tests/misc/change_main.ml -then-on change_main -main g -eva
 */
 
 int f(int x) { return x; }
diff --git a/tests/misc/debug_category.i b/tests/misc/debug_category.i
index ebb1ab632d7012f1133cfdfab47a2a31a60c4af5..4773466c671722c22fdb1b53992f6073349b9383 100644
--- a/tests/misc/debug_category.i
+++ b/tests/misc/debug_category.i
@@ -17,4 +17,5 @@ OPT: -load-module tests/misc/Debug_category.cmxs -test-warn-key a=err-once
 OPT: -load-module tests/misc/Debug_category.cmxs -test-warn-key test-vis-err
 OPT: -load-module tests/misc/Debug_category.cmxs -test-warn-key test-inv-err
 OPT: -load-module tests/misc/Debug_category.cmxs -test-warn-key test-failure
+FILTER: sed 's|Your Frama-C version is.*|Your Frama-C version is VERSION|'
 */
diff --git a/tests/misc/issue109.i b/tests/misc/issue109.i
index 878305d92c4d6cce282a72f3450870ecb9817789..5d51ec4b48a0d12becb70887d913d3b9527781cd 100644
--- a/tests/misc/issue109.i
+++ b/tests/misc/issue109.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val -val-show-progress -slevel-function main:10 -load-script tests/misc/issue109.ml
+   OPT: -eva -eva-show-progress -slevel-function main:10 -load-script tests/misc/issue109.ml
 */
 
 void main() {
diff --git a/tests/misc/log-file.i b/tests/misc/log-file.i
index 18c745963f3188366565cb4525baada099985d47..661521ddb7c8d6f929fc18396167c8510f561b67 100644
--- a/tests/misc/log-file.i
+++ b/tests/misc/log-file.i
@@ -1,12 +1,14 @@
 /* run.config
-   STDOPT: #"-kernel-log w:@PTEST_RESULT@/log-file-kernel-warnings.txt,r:@PTEST_RESULT@/log-file-kernel-results.txt -value-log f:@PTEST_RESULT@/log-file-feedback.txt,afewr:@PTEST_RESULT@/log-file-value-all.txt -value-log :@PTEST_RESULT@/log-file-value-default.txt -then -kernel-log f:@PTEST_RESULT@/log-file-feedback.txt"
    LOG: log-file-kernel-warnings.txt
    LOG: log-file-kernel-results.txt
    LOG: log-file-feedback.txt
    LOG: log-file-value-all.txt
    LOG: log-file-value-default.txt
    LOG: plugin-log-all.txt
+   FILTER: sed 's|Your Frama-C version is.*|Your Frama-C version is VERSION|'
+   STDOPT: #"-kernel-log w:@PTEST_RESULT@/log-file-kernel-warnings.txt,r:@PTEST_RESULT@/log-file-kernel-results.txt -eva-log f:@PTEST_RESULT@/log-file-feedback.txt,afewr:@PTEST_RESULT@/log-file-value-all.txt -eva-log :@PTEST_RESULT@/log-file-value-default.txt -then -kernel-log f:@PTEST_RESULT@/log-file-feedback.txt"
    OPT: -load-module tests/misc/plugin_log.ml -kernel-msg-key foo-category -kernel-log=a:@PTEST_RESULT@/plugin-log-all.txt
+   DONTRUN: test disabled due to non-deterministic errors in CI
  */
 int f(void); // generates kernel warning (missing spec)
 
diff --git a/tests/misc/log_twice.i b/tests/misc/log_twice.i
index 96dc84cdc98cca6d0cccc2512cc2ff634567adee..4d912840dfc75a6f69c357e731f420a3b333ed44 100644
--- a/tests/misc/log_twice.i
+++ b/tests/misc/log_twice.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -load-script tests/misc/log_twice -val-show-progress
+   OPT: -load-script tests/misc/log_twice -eva-show-progress
 */
 
 int* f() {
diff --git a/tests/misc/oracle/debug_category.16.res.oracle b/tests/misc/oracle/debug_category.16.res.oracle
index 75e2529443bacd2087a9202069d4eee278b6f201..94d8b8d19651203055324057dd817cac39d63efb 100644
--- a/tests/misc/oracle/debug_category.16.res.oracle
+++ b/tests/misc/oracle/debug_category.16.res.oracle
@@ -9,7 +9,7 @@
   
   Plug-in test aborted: internal error.
   Please report as 'crash' at http://bts.frama-c.com/.
-  Your Frama-C version is 18.0+dev (Argon).
+  Your Frama-C version is VERSION
   Note that a version and a backtrace alone often do not contain enough
   information to understand the bug. Guidelines for reporting bugs are at:
   http://bts.frama-c.com/dokuwiki/doku.php?id=mantis:frama-c:bug_reporting_guidelines
diff --git a/tests/misc/oracle/log-file-feedback.txt b/tests/misc/oracle/log-file-feedback.txt
index dd7e7858aa616e820a1a617e05e9a7eb44861fc5..36ffb1f22e57f630e6be7ebd23b2467ab31370ea 100644
--- a/tests/misc/oracle/log-file-feedback.txt
+++ b/tests/misc/oracle/log-file-feedback.txt
@@ -3,13 +3,13 @@
 [eva] Computing initial state
 [eva] Initial state computed
 [eva] computing for function f <- main.
-Called from tests/misc/log-file.i:17.
+Called from tests/misc/log-file.i:18.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] computing for function g <- main.
-Called from tests/misc/log-file.i:18.
+Called from tests/misc/log-file.i:19.
 [eva] using specification for function g
 [eva] Done for function g
-tests/misc/log-file.i:19:[eva] starting to merge loop iterations
+tests/misc/log-file.i:20:[eva] starting to merge loop iterations
 [eva] Recording results for main
 [eva] done for function main
diff --git a/tests/misc/oracle/log-file-kernel-warnings.txt b/tests/misc/oracle/log-file-kernel-warnings.txt
index 5c5f02ce9de017e7b09f4ae1b49e790fc966c832..3ab2fc7cdc3e703ae681512fcc3dfe307c4e2042 100644
--- a/tests/misc/oracle/log-file-kernel-warnings.txt
+++ b/tests/misc/oracle/log-file-kernel-warnings.txt
@@ -1 +1 @@
-tests/misc/log-file.i:17:[kernel:annot:missing-spec] warning: Neither code nor specification for function f, generating default assigns from the prototype
+tests/misc/log-file.i:18:[kernel:annot:missing-spec] warning: Neither code nor specification for function f, generating default assigns from the prototype
diff --git a/tests/misc/oracle/log-file-value-all.txt b/tests/misc/oracle/log-file-value-all.txt
index 924ba68cda85caa12be985548d0c2a6b22c516cd..258754c1f7f836687e390ddb4e262f18960c866d 100644
--- a/tests/misc/oracle/log-file-value-all.txt
+++ b/tests/misc/oracle/log-file-value-all.txt
@@ -2,15 +2,15 @@
 [eva] Computing initial state
 [eva] Initial state computed
 [eva] computing for function f <- main.
-Called from tests/misc/log-file.i:17.
+Called from tests/misc/log-file.i:18.
 [eva] using specification for function f
 [eva] Done for function f
 [eva] computing for function g <- main.
-Called from tests/misc/log-file.i:18.
+Called from tests/misc/log-file.i:19.
 [eva] using specification for function g
-tests/misc/log-file.i:14:[eva] warning: no 'assigns \result \from ...' clause specified for function g
+tests/misc/log-file.i:15:[eva] warning: no 'assigns \result \from ...' clause specified for function g
 [eva] Done for function g
-tests/misc/log-file.i:19:[eva] starting to merge loop iterations
+tests/misc/log-file.i:20:[eva] starting to merge loop iterations
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
diff --git a/tests/misc/oracle/log-file-value-default.txt b/tests/misc/oracle/log-file-value-default.txt
index 7ebab87f560f701f1180d5a182f5a2ef48bf0985..9d4908aa0b45d572c09498784aaebc250f71a300 100644
--- a/tests/misc/oracle/log-file-value-default.txt
+++ b/tests/misc/oracle/log-file-value-default.txt
@@ -1,2 +1,2 @@
-tests/misc/log-file.i:14:[eva] warning: no 'assigns \result \from ...' clause specified for function g
+tests/misc/log-file.i:15:[eva] warning: no 'assigns \result \from ...' clause specified for function g
 [eva] ====== VALUES COMPUTED ======
diff --git a/tests/misc/oracle/log-file.0.res.oracle b/tests/misc/oracle/log-file.0.res.oracle
index 1db5e60c1dae72bf1d95993a259ac3b405f850d9..75c688457ba46f7f783c6fa33d20957f376a068f 100644
--- a/tests/misc/oracle/log-file.0.res.oracle
+++ b/tests/misc/oracle/log-file.0.res.oracle
@@ -5,18 +5,18 @@
 [eva:initial-state] Values of globals at initialization
   
 [eva] computing for function f <- main.
-  Called from tests/misc/log-file.i:17.
-[kernel:annot:missing-spec] tests/misc/log-file.i:17: Warning: 
+  Called from tests/misc/log-file.i:18.
+[kernel:annot:missing-spec] tests/misc/log-file.i:18: Warning: 
   Neither code nor specification for function f, generating default assigns from the prototype
 [eva] using specification for function f
 [eva] Done for function f
 [eva] computing for function g <- main.
-  Called from tests/misc/log-file.i:18.
+  Called from tests/misc/log-file.i:19.
 [eva] using specification for function g
-[eva] tests/misc/log-file.i:14: Warning: 
+[eva] tests/misc/log-file.i:15: Warning: 
   no 'assigns \result \from ...' clause specified for function g
 [eva] Done for function g
-[eva] tests/misc/log-file.i:19: starting to merge loop iterations
+[eva] tests/misc/log-file.i:20: starting to merge loop iterations
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
diff --git a/tests/misc/oracle/log-file.1.res.oracle b/tests/misc/oracle/log-file.1.res.oracle
index a7ef0e3d8b8280aa5101209cf259ce5b9cc16375..c5369cc7504986a9cb0dda96a852e4dd05417423 100644
--- a/tests/misc/oracle/log-file.1.res.oracle
+++ b/tests/misc/oracle/log-file.1.res.oracle
@@ -6,15 +6,3 @@
 [kernel:foo-category] debug (level 0) with dkey
 [kernel] debug (level 0)
 [kernel] Warning: warning
-[kernel] User Error: error
-[kernel] Failure: failure
-[kernel] Failure: Deferred internal error message was emitted during execution. See above messages for more information.
-[kernel] Current source was: tests/misc/log-file.i:16
-  The full backtrace is:
-  
-  Frama-C aborted: internal error.
-  Please report as 'crash' at http://bts.frama-c.com/.
-  Your Frama-C version is 18.0+dev (Argon).
-  Note that a version and a backtrace alone often do not contain enough
-  information to understand the bug. Guidelines for reporting bugs are at:
-  http://bts.frama-c.com/dokuwiki/doku.php?id=mantis:frama-c:bug_reporting_guidelines
diff --git a/tests/misc/oracle/plugin-log-all.txt b/tests/misc/oracle/plugin-log-all.txt
index 2483f6ebcc8f221037ad68a82185c2ff62960064..336371940a03087a0ea145f8eaa0b2d531f0e91e 100644
--- a/tests/misc/oracle/plugin-log-all.txt
+++ b/tests/misc/oracle/plugin-log-all.txt
@@ -6,15 +6,3 @@
 [kernel:foo-category] debug (level 0) with dkey
 [kernel] debug (level 0)
 [kernel] warning: warning
-[kernel] user error: error
-[kernel] failure: failure
-[kernel] failure: Deferred internal error message was emitted during execution. See above messages for more information.
-[kernel] Current source was: tests/misc/log-file.i:16
-The full backtrace is:
-
-Frama-C aborted: internal error.
-Please report as 'crash' at http://bts.frama-c.com/.
-Your Frama-C version is 18.0+dev (Argon).
-Note that a version and a backtrace alone often do not contain enough
-information to understand the bug. Guidelines for reporting bugs are at:
-http://bts.frama-c.com/dokuwiki/doku.php?id=mantis:frama-c:bug_reporting_guidelines
diff --git a/tests/misc/oracle/pragma-pack.0.res.oracle b/tests/misc/oracle/pragma-pack.0.res.oracle
index a4b6b6f72443e5031cb60101052565ee317f5ac7..a129933710ffda3e3a258680488c531640c4d6c6 100644
--- a/tests/misc/oracle/pragma-pack.0.res.oracle
+++ b/tests/misc/oracle/pragma-pack.0.res.oracle
@@ -1,5 +1,7 @@
 [kernel] Parsing tests/misc/pragma-pack.c (with preprocessing)
 [kernel:typing:pragma] Pushing fc_stdlib stdint.h
+[kernel:typing:pragma] Pushing fc_stdlib __fc_gcc_builtins.h
+[kernel:typing:pragma] Popping fc_stdlib __fc_gcc_builtins.h
 [kernel:typing:pragma] Pushing fc_stdlib __fc_define_intptr_t.h
 [kernel:typing:pragma] Popping fc_stdlib __fc_define_intptr_t.h
 [kernel:typing:pragma] Popping fc_stdlib stdint.h
diff --git a/tests/misc/oracle/unroll_annots.res.oracle b/tests/misc/oracle/unroll_annots.res.oracle
index 4c2129811bc179866cef585c0a1b34d1807ed194..0e37020e66540945660669098c29d1b237ecbb20 100644
--- a/tests/misc/oracle/unroll_annots.res.oracle
+++ b/tests/misc/oracle/unroll_annots.res.oracle
@@ -5,9 +5,9 @@
 [eva:initial-state] Values of globals at initialization
   a[0..9] ∈ {0}
   b[0..9] ∈ {0}
-[eva:loop-unrolling] tests/misc/unroll_annots.c:8: loop not completely unrolled
+[eva:loop-unroll] tests/misc/unroll_annots.c:8: loop not completely unrolled
 [eva] tests/misc/unroll_annots.c:8: starting to merge loop iterations
-[eva:loop-unrolling] tests/misc/unroll_annots.c:14: loop not completely unrolled
+[eva:loop-unroll] tests/misc/unroll_annots.c:14: loop not completely unrolled
 [eva] tests/misc/unroll_annots.c:14: starting to merge loop iterations
 [eva] tests/misc/unroll_annots.c:16: starting to merge loop iterations
 [eva] Recording results for main
diff --git a/tests/misc/oracle/version.res.oracle b/tests/misc/oracle/version.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..61e48a31ac52c036665f929dc09f396fce446ed5
--- /dev/null
+++ b/tests/misc/oracle/version.res.oracle
@@ -0,0 +1,2 @@
+[kernel] Parsing tests/misc/version.i (no preprocessing)
+[kernel] version numbers match
diff --git a/tests/misc/oracle/widen_hints.3.res.oracle b/tests/misc/oracle/widen_hints.3.res.oracle
index 3902e2fed2a871e7dfd08da77f11ae43418d47a5..79d60b32b3b9badb829a55c05956c4d962637469 100644
--- a/tests/misc/oracle/widen_hints.3.res.oracle
+++ b/tests/misc/oracle/widen_hints.3.res.oracle
@@ -74,23 +74,23 @@
 [eva:final-states] Values at end of function f:
   m ∈ {10}
   n ∈ {43}
-  t[0..87] ∈ {1} or UNINITIALIZED
-   [88..99] ∈ UNINITIALIZED
+  t[0..85] ∈ {1} or UNINITIALIZED
+   [86..99] ∈ UNINITIALIZED
   __retres ∈ {0}
 [eva:final-states] Values at end of function using_dynamic_global:
   b ∈ [0..88]
 [eva:final-states] Values at end of function main:
   m ∈ {10}
   n ∈ {43}
-  ss.i ∈ {87; 88}
+  ss.i ∈ {87}
     .d ∈ UNINITIALIZED
-  ip ∈ {87; 88}
+  ip ∈ {87}
   p ∈ {{ &ip }}
-  ip2 ∈ {87; 88}
+  ip2 ∈ {87}
   p2 ∈ {{ &ip2 }}
   pp ∈ {{ &p2 }}
   iarray[0] ∈ {0}
-        [1].i ∈ {87; 88}
+        [1].i ∈ {87}
   piarray[0] ∈ {{ &iarray[0] }}
          [1] ∈ {{ &iarray[1] }}
   outer_i ∈ {87}
diff --git a/tests/misc/oracle/widen_hints2.0.res.oracle b/tests/misc/oracle/widen_hints2.0.res.oracle
index b949a5fac96d9e63bed6787a4bc70ae584ef37b5..0840ecb088a0a4ba0d87e80332ef9e85938a5576 100644
--- a/tests/misc/oracle/widen_hints2.0.res.oracle
+++ b/tests/misc/oracle/widen_hints2.0.res.oracle
@@ -62,26 +62,25 @@
   Called from tests/misc/widen_hints2.c:86.
 [eva] tests/misc/widen_hints2.c:34: starting to merge loop iterations
 [eva] tests/misc/widen_hints2.c:35: starting to merge loop iterations
-[eva:alarm] tests/misc/widen_hints2.c:36: Warning: 
-  accessing out of bounds index. assert kk < 100;
 [eva] Recording results for g
 [eva] Done for function g
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function f:
-  tf[0..87] ∈ {1} or UNINITIALIZED
-    [88..99] ∈ UNINITIALIZED
+  tf[0..85] ∈ {1} or UNINITIALIZED
+    [86..99] ∈ UNINITIALIZED
   m ∈ {10}
   n ∈ {43}
 [eva:final-states] Values at end of function g:
-  tg[0..99] ∈ {1} or UNINITIALIZED
+  tg[0..85] ∈ {1} or UNINITIALIZED
+    [86..99] ∈ UNINITIALIZED
   m ∈ {10}
   n ∈ {43}
 [eva:final-states] Values at end of function main:
-  t[0..87] ∈ {0; 1}
-   [88..99] ∈ {0}
-  glob ∈ [87..2147483647]
+  t[0..85] ∈ {0; 1}
+   [86..99] ∈ {0}
+  glob ∈ {87; 88}
   m ∈ {10}
   n ∈ {43}
   __retres ∈ {0}
@@ -98,19 +97,19 @@
 [from] Function g:
   NO EFFECTS
 [from] Function main:
-  t[0..87] FROM \nothing (and SELF)
+  t[0..85] FROM \nothing (and SELF)
   glob FROM \nothing
   \result FROM \nothing
 [from] ====== END OF DEPENDENCIES ======
 [inout] Out (internal) for function f:
-    tf[0..87]; m; n; a; b
+    tf[0..85]; m; n; a; b
 [inout] Inputs for function f:
     \nothing
 [inout] Out (internal) for function g:
-    tg[0..99]; m; n; ll; kk
+    tg[0..85]; m; n; ll; kk
 [inout] Inputs for function g:
     \nothing
 [inout] Out (internal) for function main:
-    t[0..87]; glob; m; n; a; b; c; d; c_0; d_0; j; __retres
+    t[0..85]; glob; m; n; a; b; c; d; c_0; d_0; j; __retres
 [inout] Inputs for function main:
     glob
diff --git a/tests/misc/plugin_log.ml b/tests/misc/plugin_log.ml
index 9435dc63075455b936d8b4f57d201cb5a1f116de..b43fe6d2811838a7e59ce441063fbca14a0a3581 100644
--- a/tests/misc/plugin_log.ml
+++ b/tests/misc/plugin_log.ml
@@ -12,7 +12,9 @@ let main () =
   debug ~level:0 ~dkey "debug (level 0) with dkey";
   debug ~level:0 "debug (level 0)";
   warning "warning";
+  (* temporarily disabled to avoid leaking version number in test oracle
   error "error";
-  failure "failure"
+  failure "failure";*)
+  ()
 
 let () = Db.Main.extend main
diff --git a/tests/misc/version.i b/tests/misc/version.i
new file mode 100644
index 0000000000000000000000000000000000000000..cd0bcd0bf8696a3febda5e79680981cf9a2aed9d
--- /dev/null
+++ b/tests/misc/version.i
@@ -0,0 +1,3 @@
+/* run.config
+   OPT: -load-script tests/misc/version.ml
+*/
diff --git a/tests/misc/version.ml b/tests/misc/version.ml
new file mode 100644
index 0000000000000000000000000000000000000000..2105830a936e06aa098150218820272fab0a82b7
--- /dev/null
+++ b/tests/misc/version.ml
@@ -0,0 +1,20 @@
+let re_version = Str.regexp "^\\([0-9]+\\)\\.\\([0-9]+\\)"
+
+let run () =
+  let version_str = Config.version in
+  if Str.string_match re_version version_str 0 then
+    let major = Str.matched_group 1 version_str in
+    let minor = Str.matched_group 2 version_str in
+    if major = string_of_int Config.major_version &&
+       minor = string_of_int Config.minor_version
+    then
+      Kernel.feedback "version numbers match"
+    else
+      Kernel.abort
+        "error parsing major/minor version: expected %s.%s, got %d.%d"
+        major minor Config.major_version Config.minor_version
+  else
+    Kernel.abort
+      "could not parse Config.version"
+
+let () = Db.Main.extend run
diff --git a/tests/misc/widen_hints2.c b/tests/misc/widen_hints2.c
index 612db2d15cc4eb6b01e751ec823b8a97b76f7c99..bc457535df6b9a0d18e9f93e5a1767dbbaad438d 100644
--- a/tests/misc/widen_hints2.c
+++ b/tests/misc/widen_hints2.c
@@ -1,5 +1,5 @@
 /* run.config
-   STDOPT: #"-value-msg-key widen-hints"
+   STDOPT: #"-eva-msg-key widen-hints"
    OPT: -print
  */
 
diff --git a/tests/occurrence/test_config b/tests/occurrence/test_config
index f22f7514b6750309a344821da5ae2dbf3b96a368..5e291a6ae016a6564af7152faf5f6ea67f58a94f 100644
--- a/tests/occurrence/test_config
+++ b/tests/occurrence/test_config
@@ -1 +1 @@
-STDOPT: +"-load-module" +"occurrence" -"-val" -"-out" -"-input" -"-deps" +"-occurrence-verbose 1"
+STDOPT: +"-load-module" +"occurrence" -"-eva" -"-out" -"-input" -"-deps" +"-occurrence-verbose 1"
diff --git a/tests/pdg/annot.c b/tests/pdg/annot.c
index b1dcaabf0101b01a631cc987b2b722500c8e2714..1136ec925f7905503b8d34225f28a36c26bc727b 100644
--- a/tests/pdg/annot.c
+++ b/tests/pdg/annot.c
@@ -1,6 +1,6 @@
 /* run.config
-  OPT: -val-show-progress -fct-pdg f1 -main f1 -journal-disable -pdg-print -pdg-verbose 2
-  OPT: -val-show-progress -fct-pdg loop -main loop -journal-disable -pdg-print -pdg-verbose 2
+  OPT: -eva-show-progress -fct-pdg f1 -main f1 -journal-disable -pdg-print -pdg-verbose 2
+  OPT: -eva-show-progress -fct-pdg loop -main loop -journal-disable -pdg-print -pdg-verbose 2
 */
 
 int G;
diff --git a/tests/pdg/array_struct.i b/tests/pdg/array_struct.i
index 5afe87fcacd1b6e2dc5bc0fecdf5cd067a6d8fbb..0e3fd525ed835d50fe5018c658001f11cb4a028c 100644
--- a/tests/pdg/array_struct.i
+++ b/tests/pdg/array_struct.i
@@ -1,5 +1,5 @@
 /* run.config
-  OPT: -val-show-progress -pdg -pdg-print -journal-disable -pdg-verbose 2
+  OPT: -eva-show-progress -pdg -pdg-print -journal-disable -pdg-verbose 2
 */
 
 typedef struct {
diff --git a/tests/pdg/assigns.i b/tests/pdg/assigns.i
index f2b32594b04f801ab21ffbbf43e911d37d5dd2f0..503e10488cc233382e59de4cd62e88b448d1c79d 100644
--- a/tests/pdg/assigns.i
+++ b/tests/pdg/assigns.i
@@ -1,5 +1,5 @@
 /* run.config
-  OPT: -journal-disable -val-show-progress -pdg -pdg-print -calldeps -pdg-verbose 2
+  OPT: -journal-disable -eva-show-progress -pdg -pdg-print -calldeps -pdg-verbose 2
 */
 
 unsigned int x, y;
diff --git a/tests/pdg/bts1194.c b/tests/pdg/bts1194.c
index b70937889103bdfc2735f0a696c81f18743b14ad..e15d6e043786ef739d7a114cf104a076ed79655f 100644
--- a/tests/pdg/bts1194.c
+++ b/tests/pdg/bts1194.c
@@ -1,5 +1,5 @@
 /* run.config
-  OPT: -val -inout -val-show-progress -pdg -pdg-print -calldeps -deps -then -slice-return main -then-last -print -val-show-progress
+  OPT: -eva -inout -eva-show-progress -pdg -pdg-print -calldeps -deps -then -slice-return main -then-last -print -eva-show-progress
 */
 
 int Y, X;
diff --git a/tests/pdg/call.c b/tests/pdg/call.c
index ffec257d8e32c489ed20f5804811cd701dc138c6..bfe8cd6149509df0ebed2afda1f4152ca0abe112 100644
--- a/tests/pdg/call.c
+++ b/tests/pdg/call.c
@@ -1,6 +1,6 @@
 /* run.config
    GCC:
-   OPT: -lib-entry -main g -val-show-progress -pdg -pdg-dot tests/pdg/call  -journal-disable -pdg-print -pdg-verbose 2
+   OPT: -lib-entry -main g -eva-show-progress -pdg -pdg-dot tests/pdg/call  -journal-disable -pdg-print -pdg-verbose 2
 */
 
 /* Ne pas modifier : exemple utilisé dans le rapport. */
diff --git a/tests/pdg/calls_and_implicits.c b/tests/pdg/calls_and_implicits.c
index 64c5a1a75a450de74b4b31ee8add3725e940c9b7..32af2e6dd2fbde1f9a95ab6a39b67831373fc041 100644
--- a/tests/pdg/calls_and_implicits.c
+++ b/tests/pdg/calls_and_implicits.c
@@ -1,6 +1,6 @@
 /* run.config
  *    GCC:
- *    OPT: -val-show-progress -fct-pdg main -inout -journal-disable -pdg-print -pdg-verbose 2
+ *    OPT: -eva-show-progress -fct-pdg main -inout -journal-disable -pdg-print -pdg-verbose 2
  *
  */
 
diff --git a/tests/pdg/calls_and_struct.c b/tests/pdg/calls_and_struct.c
index 9fc0dfcdfb3a1b635775da0508ab2e72052e63d3..c1fcbdb79d3e346b6dfe9f5a75977417ebc957cd 100644
--- a/tests/pdg/calls_and_struct.c
+++ b/tests/pdg/calls_and_struct.c
@@ -1,6 +1,6 @@
 /* run.config
    GCC:
-   OPT: -deps -input -out -inout -val-show-progress -pdg -journal-disable -pdg-print -pdg-verbose 2
+   OPT: -deps -input -out -inout -eva-show-progress -pdg -journal-disable -pdg-print -pdg-verbose 2
    */
 
 struct Tstr { int a; int b; int c; };
diff --git a/tests/pdg/const.i b/tests/pdg/const.i
index 620e5a7ccc93df3e8515531de470afb6be4989bc..9c1956934035c8bded2406550feebdfece92dd6d 100644
--- a/tests/pdg/const.i
+++ b/tests/pdg/const.i
@@ -1,5 +1,5 @@
 /* run.config
-  STDOPT: #" -load-module pdg -calldeps -val-show-progress -pdg -pdg-print"
+  STDOPT: #" -load-module pdg -calldeps -eva-show-progress -pdg -pdg-print"
 */
 
 struct T1 {
diff --git a/tests/pdg/decl_dpds.c b/tests/pdg/decl_dpds.c
index aab018fccbe0bcb048b89047e8264a37a70e1ccb..1b828df756d13f23651e22e1f50a2a28dc6d9e93 100644
--- a/tests/pdg/decl_dpds.c
+++ b/tests/pdg/decl_dpds.c
@@ -1,6 +1,6 @@
 /* run.config
    GCC:
-   OPT: -val-show-progress -fct-pdg main -journal-disable -pdg-print -pdg-verbose 2
+   OPT: -eva-show-progress -fct-pdg main -journal-disable -pdg-print -pdg-verbose 2
 */
 
 extern int G;
diff --git a/tests/pdg/doc_dot.c b/tests/pdg/doc_dot.c
index b67d482f569da84dff713e448e37181bdba8d998..965debeac4e9952cb61d6d64d841ae46fd779553 100644
--- a/tests/pdg/doc_dot.c
+++ b/tests/pdg/doc_dot.c
@@ -1,5 +1,5 @@
 /* run.config
- OPT: -lib-entry -main g -val-show-progress -fct-pdg g -pdg-dot tests/pdg/doc -journal-disable -pdg-print -pdg-verbose 2
+ OPT: -lib-entry -main g -eva-show-progress -fct-pdg g -pdg-dot tests/pdg/doc -journal-disable -pdg-print -pdg-verbose 2
 */
 /* To build the svg file:
  * dot -Tsvg tests/pdg/doc.g.dot > tests/pdg/doc.g.svg
diff --git a/tests/pdg/dpds_intra.c b/tests/pdg/dpds_intra.c
index e3f0fefa2a8dc5673af08a534854c4465b16da44..b666b2cb330b17b636ed245c9f2adfe7ea70ab47 100644
--- a/tests/pdg/dpds_intra.c
+++ b/tests/pdg/dpds_intra.c
@@ -1,18 +1,18 @@
 /* run.config
    GCC:
-   OPT: -val-show-progress -fct-pdg test_struct -journal-disable -pdg-print -pdg-verbose 2
-   OPT: -val-show-progress -fct-pdg test_if_simple -journal-disable -pdg-print -pdg-verbose 2
-   OPT: -val-show-progress -fct-pdg test_goto_simple -journal-disable -pdg-print -pdg-verbose 2
-   OPT: -val-show-progress -fct-pdg test_goto_arriere -journal-disable -pdg-print -pdg-verbose 2
-   OPT: -val-show-progress -fct-pdg test_goto_else -journal-disable -pdg-print -pdg-verbose 2
+   OPT: -eva-show-progress -fct-pdg test_struct -journal-disable -pdg-print -pdg-verbose 2
+   OPT: -eva-show-progress -fct-pdg test_if_simple -journal-disable -pdg-print -pdg-verbose 2
+   OPT: -eva-show-progress -fct-pdg test_goto_simple -journal-disable -pdg-print -pdg-verbose 2
+   OPT: -eva-show-progress -fct-pdg test_goto_arriere -journal-disable -pdg-print -pdg-verbose 2
+   OPT: -eva-show-progress -fct-pdg test_goto_else -journal-disable -pdg-print -pdg-verbose 2
    OPT: -main test_ctrl_dpd_multiple  -journal-disable -pdg-print -pdg-verbose 2
         => ne passe pas
-   OPT: -val-show-progress -fct-pdg test_simple_loop -journal-disable -pdg-print -pdg-verbose 2
-   OPT: -val-show-progress -fct-pdg main -journal-disable -pdg-print -pdg-verbose 2
-   OPT: -val-show-progress -fct-pdg multiple_global_inputs -journal-disable -pdg-print -pdg-verbose 2
+   OPT: -eva-show-progress -fct-pdg test_simple_loop -journal-disable -pdg-print -pdg-verbose 2
+   OPT: -eva-show-progress -fct-pdg main -journal-disable -pdg-print -pdg-verbose 2
+   OPT: -eva-show-progress -fct-pdg multiple_global_inputs -journal-disable -pdg-print -pdg-verbose 2
 */
 /* bin/toplevel.opt -deps -main g tests/slicing/dpds_intra.c */
-/* bin/toplevel.opt -val-show-progress -fct-pdg test_goto_simple tests/slicing/dpds_intra.c -pdg-dot */
+/* bin/toplevel.opt -eva-show-progress -fct-pdg test_goto_simple tests/slicing/dpds_intra.c -pdg-dot */
 
 extern int G;
 
@@ -81,7 +81,7 @@ int test_goto_else (void) {
 }
 
 /* ne passe pas l'analyse de valeur (bouclage)
-./bin/toplevel.opt  -val -main test_ctrl_dpd_multiple tests/slicing/dpds_intra.c
+./bin/toplevel.opt  -eva -main test_ctrl_dpd_multiple tests/slicing/dpds_intra.c
  * cf. mail Pascal Re: loop_pragma UNROLL_LOOP du 09.05.2006 15:03 */
 int test_ctrl_dpd_multiple (void) {
   int x = 0;
diff --git a/tests/pdg/dyn_dpds.c b/tests/pdg/dyn_dpds.c
index 85418f85a1ba95f043f60eda69b53adac4c050d1..459bd5a60d78cfeaf7100d5e608388f1caaa6a41 100644
--- a/tests/pdg/dyn_dpds.c
+++ b/tests/pdg/dyn_dpds.c
@@ -1,11 +1,11 @@
 /* run.config
-   OPT: -load-script tests/pdg/dyn_dpds.ml -val-show-progress -deps -journal-disable -pdg-print -pdg-verbose 2
+   OPT: -load-script tests/pdg/dyn_dpds.ml -eva-show-progress -deps -journal-disable -pdg-print -pdg-verbose 2
 */
 
 
 /*
    To have a look at the dot PDG :
-   bin/toplevel.byte -deps -pdg-dot pdg -val-show-progress -fct-pdg main tests/pdg/dyn_dpds.c ;
+   bin/toplevel.byte -deps -pdg-dot pdg -eva-show-progress -fct-pdg main tests/pdg/dyn_dpds.c ;
    zgrviewer pdg.main.dot
 
    or use tests/pdg/dyn_dpds.ml to test the dynamic dependencies.
diff --git a/tests/pdg/inter_alias.c b/tests/pdg/inter_alias.c
index 75ca41afb7237cf6e6ececd13b1d82de2f3ec77e..27905687fb90b24bf73ca2c3eb45f1d9544d9c07 100644
--- a/tests/pdg/inter_alias.c
+++ b/tests/pdg/inter_alias.c
@@ -1,6 +1,6 @@
 /* run.config
    GCC:
-   OPT: -val -out -input -calldeps -val-show-progress -pdg -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -eva -out -input -calldeps -eva-show-progress -pdg -journal-disable  -pdg-print -pdg-verbose 2
 */
 
 int G;
diff --git a/tests/pdg/inter_alias2.c b/tests/pdg/inter_alias2.c
index 2bc7dbaf71e2297b37b7446fb2c595303ac51134..6ebda529c9d1fa089c338c2544aaf928b9f6eef1 100644
--- a/tests/pdg/inter_alias2.c
+++ b/tests/pdg/inter_alias2.c
@@ -1,9 +1,9 @@
 /* run.config
  *    GCC:
- *       OPT: -val-show-progress -val -journal-disable -pdg-print -pdg-verbose 2
- *       OPT: -calldeps -val-show-progress -fct-pdg incr_ptr -journal-disable -pdg-print -pdg-verbose 2
- *       OPT: -calldeps -val-show-progress -fct-pdg f1 -journal-disable -pdg-print -pdg-verbose 2
- *       OPT: -calldeps -val-show-progress -fct-pdg f2 -journal-disable -pdg-print -pdg-verbose 2
+ *       OPT: -eva-show-progress -eva -journal-disable -pdg-print -pdg-verbose 2
+ *       OPT: -calldeps -eva-show-progress -fct-pdg incr_ptr -journal-disable -pdg-print -pdg-verbose 2
+ *       OPT: -calldeps -eva-show-progress -fct-pdg f1 -journal-disable -pdg-print -pdg-verbose 2
+ *       OPT: -calldeps -eva-show-progress -fct-pdg f2 -journal-disable -pdg-print -pdg-verbose 2
  */
 void incr_ptr (int *p) {
   *p += 1;
diff --git a/tests/pdg/loops.c b/tests/pdg/loops.c
index 093f8e4ea82ff5165cf08266e91ecb4ec3ef839c..394600f8f530bf2aeb0865589765ce4f66dff973 100644
--- a/tests/pdg/loops.c
+++ b/tests/pdg/loops.c
@@ -1,14 +1,14 @@
 /* run.config
    GCC:
-   OPT: -lib-entry -main simple -val-show-progress -fct-pdg simple -journal-disable  -pdg-print -pdg-verbose 2
-   OPT: -lib-entry -main simple_with_break -val-show-progress -fct-pdg simple_with_break -journal-disable  -pdg-print -pdg-verbose 2
-   OPT: -lib-entry -main infinite -val-show-progress -fct-pdg infinite -journal-disable  -pdg-print -pdg-verbose 2
-   OPT: -lib-entry -main infinite2 -val-show-progress -fct-pdg infinite2 -journal-disable  -pdg-print -pdg-verbose 2
-   OPT: -lib-entry -main maybe_infinite -val-show-progress -fct-pdg maybe_infinite -journal-disable  -pdg-print -pdg-verbose 2
-   OPT: -lib-entry -main two_infinite_loops -val-show-progress -fct-pdg two_infinite_loops -journal-disable  -pdg-print -pdg-verbose 2
-   OPT: -lib-entry -main loop_with_goto -val-show-progress -fct-pdg loop_with_goto -journal-disable  -pdg-print -pdg-verbose 2
-   OPT: -lib-entry -main non_natural_loop -val-show-progress -fct-pdg non_natural_loop -journal-disable  -pdg-print -pdg-verbose 2
-   OPT: -lib-entry -main dead_code -val-show-progress -fct-pdg dead_code -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -lib-entry -main simple -eva-show-progress -fct-pdg simple -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -lib-entry -main simple_with_break -eva-show-progress -fct-pdg simple_with_break -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -lib-entry -main infinite -eva-show-progress -fct-pdg infinite -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -lib-entry -main infinite2 -eva-show-progress -fct-pdg infinite2 -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -lib-entry -main maybe_infinite -eva-show-progress -fct-pdg maybe_infinite -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -lib-entry -main two_infinite_loops -eva-show-progress -fct-pdg two_infinite_loops -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -lib-entry -main loop_with_goto -eva-show-progress -fct-pdg loop_with_goto -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -lib-entry -main non_natural_loop -eva-show-progress -fct-pdg non_natural_loop -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -lib-entry -main dead_code -eva-show-progress -fct-pdg dead_code -journal-disable  -pdg-print -pdg-verbose 2
 
 
 
@@ -24,11 +24,11 @@ bin/toplevel.opt -lib-entry -main $F -deps -verbose tests/pdg/loops.c
 zgrviewer ./$F_cfg.dot
 
 Pour voir les postdominateurs :
-bin/toplevel.opt -lib-entry -main $F -val-show-progress -fct-pdg $F -dot-postdom p tests/pdg/loops.c ;
+bin/toplevel.opt -lib-entry -main $F -eva-show-progress -fct-pdg $F -dot-postdom p tests/pdg/loops.c ;
 zgrviewer ./p.$F.dot
 
 Pour voir le PDG :
-bin/toplevel.opt -lib-entry -main $F -val-show-progress -fct-pdg $F -pdg-dot pdg tests/pdg/loops.c ;
+bin/toplevel.opt -lib-entry -main $F -eva-show-progress -fct-pdg $F -pdg-dot pdg tests/pdg/loops.c ;
 zgrviewer ./pdg.$F.dot
 
 */
diff --git a/tests/pdg/multiple_calls.c b/tests/pdg/multiple_calls.c
index d795a5ed7da9992b402008d4c510b5d8d01c8eeb..d1e88beaab55080c0d158b35d64132b66967ec84 100644
--- a/tests/pdg/multiple_calls.c
+++ b/tests/pdg/multiple_calls.c
@@ -1,7 +1,7 @@
 /* run.config
    GCC:
-   OPT: -inout -deps -main appel_ptr_fct -val-show-progress -fct-pdg appel_ptr_fct -journal-disable  -pdg-print -pdg-verbose 2
-   OPT: -inout -deps -main appel_ptr_fct_bis -val-show-progress -fct-pdg appel_ptr_fct_bis -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -inout -deps -main appel_ptr_fct -eva-show-progress -fct-pdg appel_ptr_fct -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -inout -deps -main appel_ptr_fct_bis -eva-show-progress -fct-pdg appel_ptr_fct_bis -journal-disable  -pdg-print -pdg-verbose 2
 */
 
 extern int G1, G2, G3, G4;
diff --git a/tests/pdg/no_body.c b/tests/pdg/no_body.c
index afa48a8f740b31369ec192c072b5e019ff26e692..83b2ee049bc248c43890f1b30dfff1f97ed35ad1 100644
--- a/tests/pdg/no_body.c
+++ b/tests/pdg/no_body.c
@@ -1,9 +1,9 @@
 /* run.config
 *    GCC:
-*    OPT: -val-show-progress -fct-pdg main -inout -journal-disable  -pdg-print -pdg-verbose 2
+*    OPT: -eva-show-progress -fct-pdg main -inout -journal-disable  -pdg-print -pdg-verbose 2
 */
 /*
- * ledit bin/toplevel.top  tests/slicing/no_body.c -val-show-progress -fct-pdg main
+ * ledit bin/toplevel.top  tests/slicing/no_body.c -eva-show-progress -fct-pdg main
  * #use "tests/slicing/select.ml";;
  * test "loop" (select_data "G");;
 */
diff --git a/tests/pdg/pb_infinite_loop.c b/tests/pdg/pb_infinite_loop.c
index df38c001d2b16f3771f40a35f9797a1071db488e..5274ab98727de0b80ab9cb441bedf48e87f557b1 100644
--- a/tests/pdg/pb_infinite_loop.c
+++ b/tests/pdg/pb_infinite_loop.c
@@ -1,8 +1,8 @@
 /* run.config
    GCC:
-   OPT: -main test_infinite_loop -val-show-progress -fct-pdg test_infinite_loop -journal-disable  -pdg-print -pdg-verbose 2
-   OPT: -main test_infinite_loop_2 -val-show-progress -fct-pdg test_infinite_loop_2 -journal-disable  -pdg-print -pdg-verbose 2
-   OPT: -main test_exit -val-show-progress -fct-pdg test_exit -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -main test_infinite_loop -eva-show-progress -fct-pdg test_infinite_loop -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -main test_infinite_loop_2 -eva-show-progress -fct-pdg test_infinite_loop_2 -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -main test_exit -eva-show-progress -fct-pdg test_exit -journal-disable  -pdg-print -pdg-verbose 2
 */
 
 /* This test is a problem at the moment because the postdominators are Top
diff --git a/tests/pdg/postdom.c b/tests/pdg/postdom.c
index 69be6b586656d04c45453b062be3b7fe0a3ac6a0..b6b0cddc3dfc19e991542c930a7d627ad4cf7c2a 100644
--- a/tests/pdg/postdom.c
+++ b/tests/pdg/postdom.c
@@ -1,5 +1,5 @@
 /* run.config
-  OPT: -val-show-progress -pdg -journal-disable -pdg-print -pdg-verbose 2
+  OPT: -eva-show-progress -pdg -journal-disable -pdg-print -pdg-verbose 2
 */
 
 
diff --git a/tests/pdg/sets.c b/tests/pdg/sets.c
index 1f14a0d3acfc3ee80b74e496947756176db24c27..9623e013f31c3dbe56f85351cb8bb66e57864cc7 100644
--- a/tests/pdg/sets.c
+++ b/tests/pdg/sets.c
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -load-script tests/pdg/sets.ml -lib-entry -main f -pdg -inout -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -eva-show-progress -load-script tests/pdg/sets.ml -lib-entry -main f -pdg -inout -journal-disable  -pdg-print -pdg-verbose 2
 */
 
 
diff --git a/tests/pdg/simple_call.c b/tests/pdg/simple_call.c
index a8ea48f0aa1f0aebc204a89e6c1ea3fb2da80a15..6997c09cc1d323b6984d2bdca9ce6c188dde8687 100644
--- a/tests/pdg/simple_call.c
+++ b/tests/pdg/simple_call.c
@@ -1,9 +1,9 @@
 /* run.config
    GCC:
-   OPT: -val-show-progress -fct-pdg main -journal-disable  -pdg-print -pdg-verbose 2
-   OPT: -main call_in_loop -val-show-progress -fct-pdg call_in_loop -journal-disable  -pdg-print -pdg-verbose 2
-   OPT: -main call_mix_G1_G2 -val-show-progress -fct-pdg call_mix_G1_G2 -journal-disable  -pdg-print -pdg-verbose 2
-   OPT: -main call_multiple_global_outputs -val-show-progress -fct-pdg call_multiple_global_outputs -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -eva-show-progress -fct-pdg main -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -main call_in_loop -eva-show-progress -fct-pdg call_in_loop -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -main call_mix_G1_G2 -eva-show-progress -fct-pdg call_mix_G1_G2 -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -main call_multiple_global_outputs -eva-show-progress -fct-pdg call_multiple_global_outputs -journal-disable  -pdg-print -pdg-verbose 2
 */
 
 extern int G, G1, G2;
diff --git a/tests/pdg/simple_intra_slice.c b/tests/pdg/simple_intra_slice.c
index bfef2ae0175711244d8cfbaf43e70db2f14b4468..2ea6f3ee9d84a7a4373c024cb7cc3452c587dc7c 100644
--- a/tests/pdg/simple_intra_slice.c
+++ b/tests/pdg/simple_intra_slice.c
@@ -1,6 +1,6 @@
 /* run.config
    GCC:
-   OPT: -val-show-progress -pdg -journal-disable  -pdg-print -pdg-verbose 2
+   OPT: -eva-show-progress -pdg -journal-disable  -pdg-print -pdg-verbose 2
 */
 /* test conçu initialement comme test pour le slicing */
 int Unknown;
diff --git a/tests/pdg/top_pdg_input.c b/tests/pdg/top_pdg_input.c
index 528a71f8890db658178b96457b55ef1675f7e266..f999edabbd24a749e919aa79c6f98c54848191f6 100644
--- a/tests/pdg/top_pdg_input.c
+++ b/tests/pdg/top_pdg_input.c
@@ -1,5 +1,5 @@
 /* run.config
-   STDOPT: +"-no-results-function no_results -no-val-builtins-auto -load-module pdg -pdg -journal-disable  -pdg-print -pdg-verbose 2 -then -main main_asm"
+   STDOPT: +"-no-results-function no_results -eva-no-builtins-auto -load-module pdg -pdg -journal-disable  -pdg-print -pdg-verbose 2 -then -main main_asm"
 */
 volatile int nondet;
 int no_results() {return 1;}
diff --git a/tests/pdg/variadic.c b/tests/pdg/variadic.c
index ab7d3a04389987c2ead14228d228f35880c47476..10ce0d25095ba3ab1744b32ea7c8ab13b630ebd0 100644
--- a/tests/pdg/variadic.c
+++ b/tests/pdg/variadic.c
@@ -1,5 +1,5 @@
 /* run.config
-*    OPT: -val-show-progress -pdg -journal-disable  -pdg-print -pdg-verbose 2
+*    OPT: -eva-show-progress -pdg -journal-disable  -pdg-print -pdg-verbose 2
 */
 // __builtin_va_start and co do not appear in PDG output because Value forgets to register them in the table of called functions. This is a bug of Value
 
diff --git a/tests/rte/value_rte.c b/tests/rte/value_rte.c
index 003581e4bb36832f65671b69754832eed22c14e1..a1ae69841b33ab5c06307eb0f2bdf5446d61e0ea 100644
--- a/tests/rte/value_rte.c
+++ b/tests/rte/value_rte.c
@@ -1,5 +1,5 @@
 /* run.config
-OPT: -rte -then -val-show-progress -val -then -report
+OPT: -rte -then -eva-show-progress -eva -then -report
 */
 
 #include "stdio.h"
diff --git a/tests/saveload/basic.i b/tests/saveload/basic.i
index 2b2346b07ab84c9eecb6a02e7a388768e48a7c04..d091c2203be2d30c683283c29998dddb3d416940 100644
--- a/tests/saveload/basic.i
+++ b/tests/saveload/basic.i
@@ -1,11 +1,11 @@
 /* run.config
    EXECNOW: make -s ./tests/saveload/basic.cmxs
-   EXECNOW: LOG basic_sav.res LOG basic_sav.err BIN basic.sav @frama-c@ -load-module ./tests/saveload/basic -val -out -input -deps -val-show-progress ./tests/saveload/basic.i -save ./tests/saveload/result/basic.sav > ./tests/saveload/result/basic_sav.res 2> ./tests/saveload/result/basic_sav.err
-   EXECNOW: LOG basic_sav.1.res LOG basic_sav.1.err BIN basic.1.sav ./bin/toplevel.opt -save ./tests/saveload/result/basic.1.sav ./tests/saveload/basic.i -val -out -input -deps -val-show-progress > ./tests/saveload/result/basic_sav.1.res 2> ./tests/saveload/result/basic_sav.1.err
-   OPT: -load ./tests/saveload/result/basic.sav -val -out -input -deps -journal-disable
+   EXECNOW: LOG basic_sav.res LOG basic_sav.err BIN basic.sav @frama-c@ -load-module ./tests/saveload/basic -eva -out -input -deps -eva-show-progress ./tests/saveload/basic.i -save ./tests/saveload/result/basic.sav > ./tests/saveload/result/basic_sav.res 2> ./tests/saveload/result/basic_sav.err
+   EXECNOW: LOG basic_sav.1.res LOG basic_sav.1.err BIN basic.1.sav ./bin/toplevel.opt -save ./tests/saveload/result/basic.1.sav ./tests/saveload/basic.i -eva -out -input -deps -eva-show-progress > ./tests/saveload/result/basic_sav.1.res 2> ./tests/saveload/result/basic_sav.1.err
+   OPT: -load ./tests/saveload/result/basic.sav -eva -out -input -deps -journal-disable
    CMD: @frama-c@ -load-module ./tests/saveload/basic
-   OPT: -load ./tests/saveload/result/basic.1.sav -val -out -input -deps -journal-disable -print
-   OPT: -load ./tests/saveload/result/basic.1.sav -val -out -input -deps -journal-disable
+   OPT: -load ./tests/saveload/result/basic.1.sav -eva -out -input -deps -journal-disable -print
+   OPT: -load ./tests/saveload/result/basic.1.sav -eva -out -input -deps -journal-disable
    EXECNOW: LOG status_sav.res LOG status_sav.err BIN status.sav @frama-c@ -load-script tests/saveload/status.ml -save ./tests/saveload/result/status.sav ./tests/saveload/basic.i > ./tests/saveload/result/status_sav.res 2> ./tests/saveload/result/status_sav.err
    OPT: -load-script tests/saveload/status.ml -load ./tests/saveload/result/status.sav
    OPT: -load ./tests/saveload/result/status.sav
diff --git a/tests/saveload/bool.c b/tests/saveload/bool.c
index c4a01f42f2b48144273f49f9f7b0ed288bfe8a64..f202c7f7fda49ce59e6127ef60e39f992ed8741c 100644
--- a/tests/saveload/bool.c
+++ b/tests/saveload/bool.c
@@ -1,7 +1,7 @@
 /* run.config
-   EXECNOW: BIN bool.sav LOG bool_sav.res LOG bool_sav.err ./bin/toplevel.opt -save ./tests/saveload/result/bool.sav -val -val-show-progress ./tests/saveload/bool.c > tests/saveload/result/bool_sav.res 2> tests/saveload/result/bool_sav.err
+   EXECNOW: BIN bool.sav LOG bool_sav.res LOG bool_sav.err ./bin/toplevel.opt -save ./tests/saveload/result/bool.sav -eva -eva-show-progress ./tests/saveload/bool.c > tests/saveload/result/bool_sav.res 2> tests/saveload/result/bool_sav.err
    OPT: -load ./tests/saveload/result/bool.sav -out -input -deps
-   OPT: -load ./tests/saveload/result/bool.sav -val
+   OPT: -load ./tests/saveload/result/bool.sav -eva
  */
 
 #include "stdbool.h"
diff --git a/tests/saveload/callbacks.i b/tests/saveload/callbacks.i
index c4293481b869411e4b839908dbab04ce3dd3423a..eaac5742247a0274a6b92b9395534e72d3966cde 100644
--- a/tests/saveload/callbacks.i
+++ b/tests/saveload/callbacks.i
@@ -1,5 +1,5 @@
 /* run.config
-   EXECNOW: LOG callbacks_initial.res LOG callbacks_initial.err BIN callbacks.sav ./bin/toplevel.opt tests/saveload/callbacks.i -out -calldeps -val-show-progress -main main1 -save ./tests/saveload/result/callbacks.sav > ./tests/saveload/result/callbacks_initial.res 2> ./tests/saveload/result/callbacks_initial.err
+   EXECNOW: LOG callbacks_initial.res LOG callbacks_initial.err BIN callbacks.sav ./bin/toplevel.opt tests/saveload/callbacks.i -out -calldeps -eva-show-progress -main main1 -save ./tests/saveload/result/callbacks.sav > ./tests/saveload/result/callbacks_initial.res 2> ./tests/saveload/result/callbacks_initial.err
    OPT: -load ./tests/saveload/result/callbacks.sav -main main2 -then -main main3
 */
 
diff --git a/tests/saveload/deps.i b/tests/saveload/deps.i
index c4fbc356265879ff0a970eb8951212fc916e92f0..9999d8a8912bf249be9b7cac48fd1279a14b9fe3 100644
--- a/tests/saveload/deps.i
+++ b/tests/saveload/deps.i
@@ -1,11 +1,11 @@
 /* run.config
    EXECNOW: make -s ./tests/saveload/deps_A.cmxs ./tests/saveload/deps_B.cmxs ./tests/saveload/deps_C.cmxs ./tests/saveload/deps_D.cmxs ./tests/saveload/deps_E.cmxs
-   EXECNOW: LOG deps_sav.res LOG deps_sav.err BIN deps.sav @frama-c@ -load-module ./tests/saveload/deps_A.cmxs -val -out -input -deps -val-show-progress ./tests/saveload/deps.i -save ./tests/saveload/result/deps.sav > ./tests/saveload/result/deps_sav.res 2> ./tests/saveload/result/deps_sav.err
-   OPT: -load-module ./tests/saveload/deps_A -load ./tests/saveload/result/deps.sav -val -out -input -deps -val-show-progress 
-   OPT: -load-module ./tests/saveload/deps_B -load ./tests/saveload/result/deps.sav  -out -input -deps -val-show-progress 
-   OPT: -load-module ./tests/saveload/deps_C -load ./tests/saveload/result/deps.sav  -out -input -deps -val-show-progress 
-   OPT: -load-module ./tests/saveload/deps_D -load ./tests/saveload/result/deps.sav  -out -input -deps -val-show-progress 
-   OPT: -load-module ./tests/saveload/deps_E -load ./tests/saveload/result/deps.sav  -out -input -deps -val-show-progress 
+   EXECNOW: LOG deps_sav.res LOG deps_sav.err BIN deps.sav @frama-c@ -load-module ./tests/saveload/deps_A.cmxs -eva -out -input -deps -eva-show-progress ./tests/saveload/deps.i -save ./tests/saveload/result/deps.sav > ./tests/saveload/result/deps_sav.res 2> ./tests/saveload/result/deps_sav.err
+   OPT: -load-module ./tests/saveload/deps_A -load ./tests/saveload/result/deps.sav -eva -out -input -deps -eva-show-progress 
+   OPT: -load-module ./tests/saveload/deps_B -load ./tests/saveload/result/deps.sav  -out -input -deps -eva-show-progress 
+   OPT: -load-module ./tests/saveload/deps_C -load ./tests/saveload/result/deps.sav  -out -input -deps -eva-show-progress 
+   OPT: -load-module ./tests/saveload/deps_D -load ./tests/saveload/result/deps.sav  -out -input -deps -eva-show-progress 
+   OPT: -load-module ./tests/saveload/deps_E -load ./tests/saveload/result/deps.sav  -out -input -deps -eva-show-progress 
 */
 
 int main() {
diff --git a/tests/saveload/isset.c b/tests/saveload/isset.c
index 1a7b7f869a035eadc3df1125b17864353b098142..cd916529828d2db8a31bae87ed38b6e8aa0bb4b8 100644
--- a/tests/saveload/isset.c
+++ b/tests/saveload/isset.c
@@ -1,9 +1,9 @@
 /* run.config
-   EXECNOW: LOG isset_sav.res LOG isset_sav.err BIN isset.sav ./bin/toplevel.opt -quiet -val -save tests/saveload/result/isset.sav tests/saveload/isset.c > ./tests/saveload/result/isset_sav.res 2> ./tests/saveload/result/isset_sav.err
+   EXECNOW: LOG isset_sav.res LOG isset_sav.err BIN isset.sav ./bin/toplevel.opt -quiet -eva -save tests/saveload/result/isset.sav tests/saveload/isset.c > ./tests/saveload/result/isset_sav.res 2> ./tests/saveload/result/isset_sav.err
    OPT: -quiet -load ./tests/saveload/result/isset.sav
    OPT: -load ./tests/saveload/result/isset.sav
-   OPT: -val -load ./tests/saveload/result/isset.sav
-   OPT: -quiet -val -load ./tests/saveload/result/isset.sav
+   OPT: -eva -load ./tests/saveload/result/isset.sav
+   OPT: -quiet -eva -load ./tests/saveload/result/isset.sav
 */
 
 int main() {
diff --git a/tests/saveload/load_one.i b/tests/saveload/load_one.i
index 7e7668faf7b8af9e3f035316291821284e65d018..2c6aa23233a1a0d9baf17cbd8442b40a14c40e4f 100644
--- a/tests/saveload/load_one.i
+++ b/tests/saveload/load_one.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -load-script tests/saveload/load_one.ml -val-show-progress
+   OPT: -load-script tests/saveload/load_one.ml -eva-show-progress
 */
 
 int G;
diff --git a/tests/saveload/multi_project.i b/tests/saveload/multi_project.i
index e11edda2a6785a5c42ca135afcd73f49c5e7642f..b3a6c55cc1ba9915f315ba8f5d8273e37f63a6bc 100644
--- a/tests/saveload/multi_project.i
+++ b/tests/saveload/multi_project.i
@@ -1,9 +1,9 @@
 /* run.config
-   EXECNOW: BIN multi_project.sav LOG multi_project_sav.res LOG multi_project_sav.err ./bin/toplevel.opt -save ./tests/saveload/result/multi_project.sav -val-show-progress -semantic-const-folding ./tests/saveload/multi_project.i > tests/saveload/result/multi_project_sav.res 2> tests/saveload/result/multi_project_sav.err
+   EXECNOW: BIN multi_project.sav LOG multi_project_sav.res LOG multi_project_sav.err ./bin/toplevel.opt -save ./tests/saveload/result/multi_project.sav -eva-show-progress -semantic-const-folding ./tests/saveload/multi_project.i > tests/saveload/result/multi_project_sav.res 2> tests/saveload/result/multi_project_sav.err
    EXECNOW: make -s ./tests/saveload/multi_project.cmxs
    OPT: -load ./tests/saveload/result/multi_project.sav -journal-disable
    CMD: @frama-c@ -load-module ./tests/saveload/multi_project
-   OPT: -val -val-show-progress
+   OPT: -eva -eva-show-progress
 */
 int f(int x) {
   return x + x;
diff --git a/tests/saveload/segfault_datatypes.i b/tests/saveload/segfault_datatypes.i
index f6f120a5ec08ee807067027580544f6d3d9ed118..6aba95f697da0b1a07b74017bbcf431e0e2dd685 100644
--- a/tests/saveload/segfault_datatypes.i
+++ b/tests/saveload/segfault_datatypes.i
@@ -1,8 +1,8 @@
 /* run.config
    EXECNOW: make -s ./tests/saveload/segfault_datatypes_A.cmxs ./tests/saveload/segfault_datatypes_B.cmxs
-   EXECNOW: LOG segfault_datatypes_sav.res LOG segfault_datatypes_sav.err BIN segfault_datatypes.sav @frama-c@ -load-module ./tests/saveload/segfault_datatypes_A -val -out -input -deps -val-show-progress ./tests/saveload/segfault_datatypes.i -save ./tests/saveload/result/segfault_datatypes.sav > ./tests/saveload/result/segfault_datatypes_sav.res 2> ./tests/saveload/result/segfault_datatypes_sav.err
+   EXECNOW: LOG segfault_datatypes_sav.res LOG segfault_datatypes_sav.err BIN segfault_datatypes.sav @frama-c@ -load-module ./tests/saveload/segfault_datatypes_A -eva -out -input -deps -eva-show-progress ./tests/saveload/segfault_datatypes.i -save ./tests/saveload/result/segfault_datatypes.sav > ./tests/saveload/result/segfault_datatypes_sav.res 2> ./tests/saveload/result/segfault_datatypes_sav.err
    CMD: @frama-c@ -load-module ./tests/saveload/segfault_datatypes_B
-   OPT: -load ./tests/saveload/result/segfault_datatypes.sav -val -out -input -deps -journal-disable
+   OPT: -load ./tests/saveload/result/segfault_datatypes.sav -eva -out -input -deps -journal-disable
 */
 
 
diff --git a/tests/saveload/sparecode.i b/tests/saveload/sparecode.i
index 928642b8f68add1a87f829c27df6ef7e775481d5..ba347428ae754a68501dada38f5d819f7dad794a 100644
--- a/tests/saveload/sparecode.i
+++ b/tests/saveload/sparecode.i
@@ -1,5 +1,5 @@
 /* run.config
-   EXECNOW: BIN sparecode.sav LOG sparecode_sav.res LOG sparecode_sav.err ./bin/toplevel.opt -slicing-level 2 -slice-return main -val-show-progress -save ./tests/saveload/result/sparecode.sav tests/saveload/sparecode.i -then-on 'Slicing export' -print > tests/saveload/result/sparecode_sav.res 2> tests/saveload/result/sparecode_sav.err
+   EXECNOW: BIN sparecode.sav LOG sparecode_sav.res LOG sparecode_sav.err ./bin/toplevel.opt -slicing-level 2 -slice-return main -eva-show-progress -save ./tests/saveload/result/sparecode.sav tests/saveload/sparecode.i -then-on 'Slicing export' -print > tests/saveload/result/sparecode_sav.res 2> tests/saveload/result/sparecode_sav.err
    OPT: -load ./tests/saveload/result/sparecode.sav
 */
 int G;
diff --git a/tests/scope/bts383.c b/tests/scope/bts383.c
index d3bd151d656889cc25ca832964b4e50576fa2d4e..dcee5c7978a9d72abfe8fc323c854ac0bfe2026e 100644
--- a/tests/scope/bts383.c
+++ b/tests/scope/bts383.c
@@ -1,9 +1,9 @@
 /* run.config
-   OPT: -val -val-show-progress -print -journal-disable -scope-verbose 1 -remove-redundant-alarms -context-width 3
+   OPT: -eva -eva-show-progress -print -journal-disable -scope-verbose 1 -remove-redundant-alarms -context-width 3
 */
 /* 
    echo '!Db.Scope.check_asserts();;' \
-   | bin/toplevel.top -val tests/scope/bts383.c 
+   | bin/toplevel.top -eva tests/scope/bts383.c 
 */
 int v;
 void if1 (int * p) {
diff --git a/tests/scope/no-effect.i b/tests/scope/no-effect.i
index 2f181dd53413bbaef65a5e017056c857627d8767..916b4fc6fbecb23e138bef398261fbc73b62dbe0 100644
--- a/tests/scope/no-effect.i
+++ b/tests/scope/no-effect.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -val -print -journal-disable -scope-verbose 1 -remove-redundant-alarms
+   OPT: -eva-show-progress -eva -print -journal-disable -scope-verbose 1 -remove-redundant-alarms
 */
 
 typedef struct {
diff --git a/tests/scope/scope.c b/tests/scope/scope.c
index 3604b0fb1c904ad59599c30ea1d2550adb0968cc..a0c63884270b4303e27a1d51e1b8ad71a7610196 100644
--- a/tests/scope/scope.c
+++ b/tests/scope/scope.c
@@ -1,12 +1,12 @@
 /* run.config
-   OPT: -val -val-show-progress -main f -journal-disable
-   OPT: -val -val-show-progress -main f2 -journal-disable
-   OPT: -val -val-show-progress -main loop -journal-disable
+   OPT: -eva -eva-show-progress -main f -journal-disable
+   OPT: -eva -eva-show-progress -main f2 -journal-disable
+   OPT: -eva -eva-show-progress -main loop -journal-disable
 */
 /*
- * bin/viewer.byte -main f tests/scope/scope.c -val
- * bin/viewer.byte -main f2 tests/scope/scope.c -val
- * bin/viewer.byte -main loop tests/scope/scope.c -val
+ * bin/viewer.byte -main f tests/scope/scope.c -eva
+ * bin/viewer.byte -main f2 tests/scope/scope.c -eva
+ * bin/viewer.byte -main loop tests/scope/scope.c -eva
  */
 
 #include "__fc_builtin.h"
diff --git a/tests/scope/zones.c b/tests/scope/zones.c
index f23d798f99fa0295e525b9b85c42e74ae8f512e5..b60197f2d884c12dbf8d011b0de8cc5a5cefce94 100644
--- a/tests/scope/zones.c
+++ b/tests/scope/zones.c
@@ -1,10 +1,10 @@
 /* run.config
-   OPT: -load-script tests/scope/zones.ml -val -val-show-progress -journal-disable
+   OPT: -load-script tests/scope/zones.ml -eva -eva-show-progress -journal-disable
 */
 
 
 
-/* bin/viewer.opt -val tests/scope/zones.c */
+/* bin/viewer.opt -eva tests/scope/zones.c */
 
 int T [10];
 struct Tstr { int a; int b; } S;
diff --git a/tests/scope/zones.ml b/tests/scope/zones.ml
index 5b6358d19d5e8e7790fc3461ac451d07283fac48..19d3afc121119fb4bfbd343f526d57b9b91b33ec 100644
--- a/tests/scope/zones.ml
+++ b/tests/scope/zones.ml
@@ -1,5 +1,5 @@
 (* when using toplevel.top :
-bin/topleval.top -val tests/scope/zones.c
+bin/topleval.top -eva tests/scope/zones.c
 #directory "cil/src";;
 *)
 
diff --git a/tests/slicing/adpcm.c b/tests/slicing/adpcm.c
index 9bc30efd60c3abe41fabbb518ca9bedc95332867..3ca387a3406fa599e26887b96303c2ae4bc6f396 100644
--- a/tests/slicing/adpcm.c
+++ b/tests/slicing/adpcm.c
@@ -1,6 +1,6 @@
 /* run.config
    EXECNOW: make -s tests/slicing/adpcm.cmxs
-   OPT: -val-show-progress -load-module ./tests/slicing/libSelect.cmxs -load-module ./tests/slicing/adpcm.cmxs -ulevel -1 -deps -slicing-level 2 -journal-disable
+   OPT: -eva-show-progress -load-module ./tests/slicing/libSelect.cmxs -load-module ./tests/slicing/adpcm.cmxs -ulevel -1 -deps -slicing-level 2 -journal-disable
 */
 
 #include "tests/test/adpcm.c"
diff --git a/tests/slicing/annot.i b/tests/slicing/annot.i
index 74f1d7cf061627ad144da1815a09f9a031b6add3..6d3edf1559d02b7a270efaa879d1bd4cfb1d5aee 100644
--- a/tests/slicing/annot.i
+++ b/tests/slicing/annot.i
@@ -1,6 +1,6 @@
 /* run.config
-   OPT: -val-show-progress -main f1 -slice-assert f1  -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-   OPT: -val-show-progress -main f2 -slice-assert f2  -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+   OPT: -eva-show-progress -main f1 -slice-assert f1  -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+   OPT: -eva-show-progress -main f2 -slice-assert f2  -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
 */
 
 extern int x, z;
diff --git a/tests/slicing/bts0184.i b/tests/slicing/bts0184.i
index 37b7184f937b150926de745d1166facca5cebff8..8330ee7bd2fbc4c03010de08545c1949de88a69d 100644
--- a/tests/slicing/bts0184.i
+++ b/tests/slicing/bts0184.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -check -slice-pragma x  -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+   OPT: -eva-show-progress -check -slice-pragma x  -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
  **/
 int x(int y, int z)
 {
diff --git a/tests/slicing/bts0190.i b/tests/slicing/bts0190.i
index 02ddb7060bb41dc1ef787c62f5d7012f5ffa8d5d..bd70c2e914f3ed4298e0c6c4a6b368416147c612 100644
--- a/tests/slicing/bts0190.i
+++ b/tests/slicing/bts0190.i
@@ -1,5 +1,5 @@
 /*  run.config
-OPT: -slicing-warn-key cmdline=active -val-show-progress -check -slice-rd y -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+OPT: -slicing-warn-key cmdline=active -eva-show-progress -check -slice-rd y -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
 */
 int z1(void);
 
diff --git a/tests/slicing/bts0950_annot.i b/tests/slicing/bts0950_annot.i
index dc1d585f6ed25dfc7f6b4bd84a9b703552d3f015..375a9b429066f58742d0302849121e78634e453d 100644
--- a/tests/slicing/bts0950_annot.i
+++ b/tests/slicing/bts0950_annot.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -val -slice-value a -then-on "Slicing export" -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+   OPT: -eva-show-progress -eva -slice-value a -then-on "Slicing export" -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
  */
 /*@ requires \valid(dest); */
 extern void cpy(int *dest, const int *src);
diff --git a/tests/slicing/bts1248.i b/tests/slicing/bts1248.i
index f945958a37120ba0bacd9650fbc5dc3709ab2625..4bfb32dd548e46d9e6260393f168dd2e0ccc50e2 100644
--- a/tests/slicing/bts1248.i
+++ b/tests/slicing/bts1248.i
@@ -1,5 +1,5 @@
 /*  run.config
-OPT: -val-show-progress -slice-rd x -main f -slicing-project-name p -then-on 'p export' -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
+OPT: -eva-show-progress -slice-rd x -main f -slicing-project-name p -then-on 'p export' -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
 */
 
 int f(void) {
diff --git a/tests/slicing/bts1445.i b/tests/slicing/bts1445.i
index b312b537bfa086e309964196c91693817c21065d..790abe29393dc04e5ecdb6d8722d95e11d06654d 100644
--- a/tests/slicing/bts1445.i
+++ b/tests/slicing/bts1445.i
@@ -1,6 +1,6 @@
 /*  run.config
-OPT: -val-show-progress -slice-calls main -then-on "Slicing export" -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
-OPT: -val-show-progress -slice-calls f -main f -then-on "Slicing export" -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
+OPT: -eva-show-progress -slice-calls main -then-on "Slicing export" -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
+OPT: -eva-show-progress -slice-calls f -main f -then-on "Slicing export" -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
 */
 int x = 0;
 
diff --git a/tests/slicing/bts1684.i b/tests/slicing/bts1684.i
index dd4143fc22bb7147c6e34df501c21bc131c02151..e0a962dff1dc46134820ea391b93628fbf26fc82 100644
--- a/tests/slicing/bts1684.i
+++ b/tests/slicing/bts1684.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -slice-calls main -journal-enable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
+   OPT: -eva-show-progress -slice-calls main -journal-enable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
 */
 // one bug about JOURNALIZATION and another one about slicing CALLS TO MAIN function.
 double d1, d2, d3;
diff --git a/tests/slicing/bts1768.i b/tests/slicing/bts1768.i
index 3769f28d2081dd44143059f2fc6f11db0b2142b9..9e2da0e7494fa69d077d168c8e18be64f7449a72 100644
--- a/tests/slicing/bts1768.i
+++ b/tests/slicing/bts1768.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -main main -slice-pragma main -ulevel 10 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
+   OPT: -eva-show-progress -main main -slice-pragma main -ulevel 10 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
 */
 int choix ;
 int state = 1;
diff --git a/tests/slicing/bts179.i b/tests/slicing/bts179.i
index 2c070bf05dbf4b1ffd0d4c1255645ecd1a75af9a..2057a44fa6af1b325c7d3dce84f461e0280549b1 100644
--- a/tests/slicing/bts179.i
+++ b/tests/slicing/bts179.i
@@ -1,7 +1,7 @@
 /* run.config
- OPT: -val-show-progress -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
- OPT: -val-show-progress -slice-pragma main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
- OPT: -val-show-progress -sparecode-analysis -journal-disable
+ OPT: -eva-show-progress -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
+ OPT: -eva-show-progress -slice-pragma main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
+ OPT: -eva-show-progress -sparecode-analysis -journal-disable
 */
 
 struct {int a; int ab; int b; int c ; int d;} S;
diff --git a/tests/slicing/bts283.i b/tests/slicing/bts283.i
index 3b8744fb3b909dbfd3b966039e7388bbadfed184..5f4c456e3f4ef39bbc9bc63d1cffda7c9b9876cc 100644
--- a/tests/slicing/bts283.i
+++ b/tests/slicing/bts283.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -slice-return main -slice-undef-functions -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
+   OPT: -eva-show-progress -slice-return main -slice-undef-functions -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i
 */
 
 int x,y,z;
diff --git a/tests/slicing/bts326.i b/tests/slicing/bts326.i
index bc80f576965e40ccfc64059e9a4ac80e07570995..45adb1012e4c4cc802545b349dc0a74126807db0 100644
--- a/tests/slicing/bts326.i
+++ b/tests/slicing/bts326.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -calldeps -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -no-calldeps
+   OPT: -eva-show-progress -calldeps -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -no-calldeps
 */
 /* Problem : f(1) should be sliced out. See BTS#326 */
 int t[2] ;
diff --git a/tests/slicing/bts335.i b/tests/slicing/bts335.i
index cb9dbca84760d5e90a7eb15122fb1b644b238e75..2afdf6352574a2f651367bf45cd0b2860851e8ba 100644
--- a/tests/slicing/bts335.i
+++ b/tests/slicing/bts335.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -slice-pragma g -calldeps -slicing-level 3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -no-calldeps
+   OPT: -eva-show-progress -slice-pragma g -calldeps -slicing-level 3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -no-calldeps
 */
 
 /*
diff --git a/tests/slicing/bts335b.i b/tests/slicing/bts335b.i
index 60952187d16f58a87bbb21290fb9ef908b66134d..def1d6dc2caa1d2c41a88597bde8c7d3d07ee246 100644
--- a/tests/slicing/bts335b.i
+++ b/tests/slicing/bts335b.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -slice-return main -calldeps -slicing-level 3 -slicing-verbose 2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -no-calldeps
+   OPT: -eva-show-progress -slice-return main -calldeps -slicing-level 3 -slicing-verbose 2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -no-calldeps
 */
 
 int X, Y;
diff --git a/tests/slicing/bts336.i b/tests/slicing/bts336.i
index 20f6db5ce8a5e5c9bebde0f11dc1c6cb9a2aa971..ba7da4820cf097a3e8e390f14d39726ee79c0ecb 100644
--- a/tests/slicing/bts336.i
+++ b/tests/slicing/bts336.i
@@ -1,12 +1,12 @@
 /* run.config
-   OPT: -val-show-progress  -slice-return main -calldeps -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -val-show-progress
-   OPT: -val-show-progress  -main main2 -slice-return main2 -calldeps -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -val-show-progress
-   OPT: -val-show-progress  -main main3 -slice-return main3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -val-show-progress
-   OPT: -val-show-progress  -journal-disable -main main3 -inout -calldeps -slice-return main3  -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -val-show-progress -no-inout
-   OPT: -val-show-progress  -journal-disable -main main -calldeps -slice-return main -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -val-show-progress
-   OPT: -val-show-progress  -journal-disable -main main4 -calldeps -slice-return main4 -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -val-show-progress
-   OPT: -val-show-progress  -journal-disable -main main4 -calldeps -slice-return main4 -slicing-level 3 -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -val-show-progress
-   OPT: -val-show-progress  -journal-disable -main main5 -calldeps -slice-return main5 -then-on 'Slicing export' -set-project-as-default -print -calldeps -val-show-progress -slice-return main5 -then-on 'Slicing export 2' -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -val-show-progress
+   OPT: -eva-show-progress  -slice-return main -calldeps -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -eva-show-progress
+   OPT: -eva-show-progress  -main main2 -slice-return main2 -calldeps -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -eva-show-progress
+   OPT: -eva-show-progress  -main main3 -slice-return main3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -eva-show-progress
+   OPT: -eva-show-progress  -journal-disable -main main3 -inout -calldeps -slice-return main3  -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -eva-show-progress -no-inout
+   OPT: -eva-show-progress  -journal-disable -main main -calldeps -slice-return main -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -eva-show-progress
+   OPT: -eva-show-progress  -journal-disable -main main4 -calldeps -slice-return main4 -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -eva-show-progress
+   OPT: -eva-show-progress  -journal-disable -main main4 -calldeps -slice-return main4 -slicing-level 3 -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -eva-show-progress
+   OPT: -eva-show-progress  -journal-disable -main main5 -calldeps -slice-return main5 -then-on 'Slicing export' -set-project-as-default -print -calldeps -eva-show-progress -slice-return main5 -then-on 'Slicing export 2' -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -eva-show-progress
 */
 // something to do to have better results...
 int T[10];
diff --git a/tests/slicing/bts341.i b/tests/slicing/bts341.i
index 3bb1e8f2b13417b9277b43c189c6883be439a010..fcd3c73bfd5f97235981abbcd0e54faa4b8d35b1 100644
--- a/tests/slicing/bts341.i
+++ b/tests/slicing/bts341.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -check -slice-assert main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+   OPT: -eva-show-progress -check -slice-assert main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
 */
 int main (int c) {
   if (c)
diff --git a/tests/slicing/bts344.i b/tests/slicing/bts344.i
index 0464bb25dfbdfa4674b79e803275a400eb1ff761..a44dc449ca5b275260bfb41cdbe3e0febf39a7d9 100644
--- a/tests/slicing/bts344.i
+++ b/tests/slicing/bts344.i
@@ -1,6 +1,6 @@
 /* run.config
-   OPT: -val-show-progress  -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -slice-return main_bis -main main_bis -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -slice-return main_bis -main main_bis -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
 */
 
 int X, Y ;
diff --git a/tests/slicing/bts345.i b/tests/slicing/bts345.i
index b7fc9b57739b93b722ed90391a5de6e8bbd37384..b9d3ef2ebef9386bc5e40f689b70691caa1294a6 100644
--- a/tests/slicing/bts345.i
+++ b/tests/slicing/bts345.i
@@ -1,9 +1,9 @@
 /* run.config
-   OPT: -val-show-progress -check -slice-return call_top -main call_top -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-   OPT: -val-show-progress -check -slice-return top      -main top -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-   OPT: -val-show-progress -check -slice-return top      -main call_top -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-   OPT: -val-show-progress -check -slice-return called_by_top -main top -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-   OPT: -val-show-progress -check -slice-return called_by_top -main call_top -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+   OPT: -eva-show-progress -check -slice-return call_top -main call_top -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+   OPT: -eva-show-progress -check -slice-return top      -main top -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+   OPT: -eva-show-progress -check -slice-return top      -main call_top -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+   OPT: -eva-show-progress -check -slice-return called_by_top -main top -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+   OPT: -eva-show-progress -check -slice-return called_by_top -main call_top -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
 */
 
 int called_indirectly_by_top (int x) {
diff --git a/tests/slicing/bts679.i b/tests/slicing/bts679.i
index 118b9e815578d24cd84c817363963d279113f446..297a8e218df92cbb0131f2e0e4a1dd50f72ce50d 100644
--- a/tests/slicing/bts679.i
+++ b/tests/slicing/bts679.i
@@ -1,5 +1,5 @@
 /*  run.config
-OPT: -val-show-progress  -slice-return main -then-on "Slicing export" -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+OPT: -eva-show-progress  -slice-return main -then-on "Slicing export" -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
 */
 void f(void) { return; }
 int X = 1 ;
diff --git a/tests/slicing/bts679b.i b/tests/slicing/bts679b.i
index 6ac2a5334747f1de941d1b39721a4ddfacbc1472..725996ba631a9fcfb50ee5c44fde6048127e8b08 100644
--- a/tests/slicing/bts679b.i
+++ b/tests/slicing/bts679b.i
@@ -1,5 +1,5 @@
 /*  run.config
-OPT: -val-show-progress -slice-assert main -then-on "Slicing export" -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -no-deps
+OPT: -eva-show-progress -slice-assert main -then-on "Slicing export" -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -no-deps
 */
 
 int X = 1 ;
diff --git a/tests/slicing/bts709.c b/tests/slicing/bts709.c
index ca91fe62a17b901ad1e7e07e21db59e4677efeb1..3662f3ffc42f820cb2fd520ee8b2fe5debaaca45 100644
--- a/tests/slicing/bts709.c
+++ b/tests/slicing/bts709.c
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -slice-pragma func -no-unicode -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -no-deps
+   OPT: -eva-show-progress -slice-pragma func -no-unicode -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -no-deps
  */
 
 #include <assert.h>
diff --git a/tests/slicing/bts808.i b/tests/slicing/bts808.i
index e5edca28b5f711c1dc4633d58896b598b352d715..2df48aa1a9b44b001364961e505459e9be3b684d 100644
--- a/tests/slicing/bts808.i
+++ b/tests/slicing/bts808.i
@@ -1,5 +1,5 @@
 /* run.config
-*    OPT: -val-show-progress  -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i 
+*    OPT: -eva-show-progress  -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i 
 */
 
 int f0 (void) {
diff --git a/tests/slicing/bts827.i b/tests/slicing/bts827.i
index 59b43073dbd7afdc7ddcb706b59ba7f27695b7a5..b224482f828f770e36734e6a37ce06c59ae970e7 100644
--- a/tests/slicing/bts827.i
+++ b/tests/slicing/bts827.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -no-deps
+   OPT: -eva-show-progress -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -no-deps
 */
 
 /* The problem was a mix-up between f outputs and retrun value. */
diff --git a/tests/slicing/call_accuracy.i b/tests/slicing/call_accuracy.i
index 758bc2db6bce8b20b240ee2367f4b59a6dc39208..d9efa6c69fd389453a4df0934f592b85859c60ad 100644
--- a/tests/slicing/call_accuracy.i
+++ b/tests/slicing/call_accuracy.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -calldeps -slice-return main -slicing-level 3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -no-calldeps
+   OPT: -eva-show-progress -calldeps -slice-return main -slicing-level 3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -no-calldeps
  */
 int f_cond (int c, int a, int b) {
   ++a;
diff --git a/tests/slicing/call_demo.i b/tests/slicing/call_demo.i
index 0e6f31f3b3e0ada3601af47f7fc82030dafb8815..a2ae4c61862cfe06e125d4db6375e8309372c8fd 100644
--- a/tests/slicing/call_demo.i
+++ b/tests/slicing/call_demo.i
@@ -1,6 +1,6 @@
 /* run.config
-   OPT: -val-show-progress  -slice-calls call1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -slice-calls call2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -slice-calls call1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -slice-calls call2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
 */
 
 //@ assigns \result \from v;
diff --git a/tests/slicing/callwise.i b/tests/slicing/callwise.i
index de323e7229200b0a6101f90f53ee4084f6a22f5c..64840715cbf069985100e1547d3e90b39558606c 100644
--- a/tests/slicing/callwise.i
+++ b/tests/slicing/callwise.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress  -calldeps -slice-return main -slicing-level 2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps
+   OPT: -eva-show-progress  -calldeps -slice-return main -slicing-level 2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps
 */
 
 int a = 1, b = 1, c = 1, d = 1, *p;
diff --git a/tests/slicing/combine.i b/tests/slicing/combine.i
index dd600e55f02f8db40ec191806c8993c979a9d549..983a97af1402259919d337a17cf10b82544f227b 100644
--- a/tests/slicing/combine.i
+++ b/tests/slicing/combine.i
@@ -1,7 +1,7 @@
 /* run.config
    EXECNOW: make -s tests/slicing/combine.cmxs
    CMD: @frama-c@ -load-module tests/slicing/libSelect.cmxs -load-module tests/slicing/combine.cmxs
-   OPT: -val-show-progress -deps -journal-disable
+   OPT: -eva-show-progress -deps -journal-disable
 */
 
 //@ assigns \result \from x;
diff --git a/tests/slicing/csmith.i b/tests/slicing/csmith.i
index 03d656ba655034b8cfdd651134c08d61601eb937..4e7eb7c6259dd81afd92446a23c429f7837191a3 100644
--- a/tests/slicing/csmith.i
+++ b/tests/slicing/csmith.i
@@ -1,8 +1,8 @@
 /* run.config
-   OPT: -val-show-progress  -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
 COMMENT:
-   OPT: -val-show-progress -main bts906b -fct-pdg bts906b -pdg-print -pdg-verbose 2
-   OPT: -val-show-progress -main bts906c -fct-pdg bts906c -pdg-print -pdg-verbose 2
+   OPT: -eva-show-progress -main bts906b -fct-pdg bts906b -pdg-print -pdg-verbose 2
+   OPT: -eva-show-progress -main bts906c -fct-pdg bts906c -pdg-print -pdg-verbose 2
 COMMENT: The two PDG tests above test interesting case where the slicing may
 COMMENT: slice away a goto because of an incorrect analyze of some dead code,
 COMMENT: which make the slicer think that the destination of the goto is the
diff --git a/tests/slicing/ex_spec_interproc.i b/tests/slicing/ex_spec_interproc.i
index 91e75145ae1611963999c30881a7d3bb1d6ed7c0..9f6d8ca13606bc64e5756bdca896f27205dc580f 100644
--- a/tests/slicing/ex_spec_interproc.i
+++ b/tests/slicing/ex_spec_interproc.i
@@ -1,7 +1,7 @@
 /* run.config
    EXECNOW: make -s tests/slicing/ex_spec_interproc.cmxs
    CMD: @frama-c@ -load-module tests/slicing/libSelect.cmxs -load-module tests/slicing/ex_spec_interproc.cmxs
-   OPT: -val-show-progress -deps -journal-disable
+   OPT: -eva-show-progress -deps -journal-disable
 */
 
 int X, Y;
diff --git a/tests/slicing/filter.i b/tests/slicing/filter.i
index 28f253a5cb38df9c75c51f1d5fdf5c7f28968d2f..43ce0802b7345448b715e6f828e19a2a05717bae 100644
--- a/tests/slicing/filter.i
+++ b/tests/slicing/filter.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress  -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
  **/
 /* TESTS: this is about [filter] optimisations since sometimes, 
  * slicing results are ok, but the generated new project is not correct. */
diff --git a/tests/slicing/forall_loop_invariant.i b/tests/slicing/forall_loop_invariant.i
index 8ba60fc949f7111887299df5be3c6de46f994ad7..a8c78bcdfc6a5c7953ee6e17d7d4c20a1cc5543e 100644
--- a/tests/slicing/forall_loop_invariant.i
+++ b/tests/slicing/forall_loop_invariant.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -slice-assert main -then-on 'Slicing export' -print -then-on default -slice-value t -then-on 'Slicing export 2' -print -check -set-project-as-default -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -slice-assert main -then-on 'Slicing export' -print -then-on default -slice-value t -then-on 'Slicing export 2' -print -check -set-project-as-default -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
  **/
 
 
diff --git a/tests/slicing/horwitz.i b/tests/slicing/horwitz.i
index 1ee794f6b043f705d8bbe673369e56b96e616598..3cc83fb2dd7b2f056e084b53fc52f6c15b18ed94 100644
--- a/tests/slicing/horwitz.i
+++ b/tests/slicing/horwitz.i
@@ -1,10 +1,10 @@
 /* run.config
    EXECNOW: make -s tests/slicing/horwitz.cmxs
    CMD: @frama-c@ -load-module tests/slicing/libSelect.cmxs -load-module tests/slicing/horwitz.cmxs
-   OPT: -val-show-progress -deps -slicing-level 0 -journal-disable
+   OPT: -eva-show-progress -deps -slicing-level 0 -journal-disable
 */
 
-/* bin/toplevel.opt -deps -val tests/slicing/horwitz.c */
+/* bin/toplevel.opt -deps -eva tests/slicing/horwitz.c */
 /* bin/toplevel.opt -deps -pdg-debug -pdg tests/slicing/horwitz.c */
 /* cf aussi tests/slicing/horwitz.ml */
 
diff --git a/tests/slicing/if_many_values.i b/tests/slicing/if_many_values.i
index a0fdf4f6bdf984e2253c56d79e65c21c9de95c97..3c49f051e2bd76ff7c3bf7155240a9a5622010a8 100644
--- a/tests/slicing/if_many_values.i
+++ b/tests/slicing/if_many_values.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -check -slice-value r -journal-disable -slevel 101 -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -slice-value r -journal-disable -slevel 101 -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
  **/
 
 int r=1;
diff --git a/tests/slicing/initialized.i b/tests/slicing/initialized.i
index 02472ce0a83eba7dd2990fda6bf81c84815f8140..c706ab2f282546f6adcc4f5d7aef71d031d647fa 100644
--- a/tests/slicing/initialized.i
+++ b/tests/slicing/initialized.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -slice-assert main -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+   OPT: -eva-show-progress -slice-assert main -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
  **/
 
 void main() {
diff --git a/tests/slicing/keep_annot.i b/tests/slicing/keep_annot.i
index 3b4efa002b0cf8a8054d5b500ae166ad30819083..8683c9a73ead0f17b6377f1ea39dbbf1565f2872 100644
--- a/tests/slicing/keep_annot.i
+++ b/tests/slicing/keep_annot.i
@@ -1,9 +1,9 @@
 /* run.config
-   OPT: -val-show-progress  -context-valid-pointers -lib-entry -main f -slice-assert f  -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -context-valid-pointers -lib-entry -main f -slice-assert f -slicing-keep-annotations -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -context-valid-pointers -lib-entry -main L -slice-pragma L -slicing-keep-annotations -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -context-valid-pointers -lib-entry -main L -slice-pragma L -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress -slice-return bts1110 -main bts1110 -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -context-valid-pointers -lib-entry -main f -slice-assert f  -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -context-valid-pointers -lib-entry -main f -slice-assert f -slicing-keep-annotations -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -context-valid-pointers -lib-entry -main L -slice-pragma L -slicing-keep-annotations -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -context-valid-pointers -lib-entry -main L -slice-pragma L -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress -slice-return bts1110 -main bts1110 -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
 
 
 */
diff --git a/tests/slicing/loop_infinite.i b/tests/slicing/loop_infinite.i
index 578703cca0194042134e14f048a005cdbde9fba5..5d15670842fe3b4a5f138b03e050d6abb8b168f7 100644
--- a/tests/slicing/loop_infinite.i
+++ b/tests/slicing/loop_infinite.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -check -deps -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
 */
 int main() {
   volatile int a=0,b,c;
diff --git a/tests/slicing/loop_simple.i b/tests/slicing/loop_simple.i
index 035a45a338fb8180c281e13dd028877be7517a2e..03c7b909f12885e3bf72178287c26a208bb8ca98 100644
--- a/tests/slicing/loop_simple.i
+++ b/tests/slicing/loop_simple.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress  -deps -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
 */
 int main() {
   int a,c; volatile int b = 0;
diff --git a/tests/slicing/loops.i b/tests/slicing/loops.i
index 067b5185bccc58bd83102453aaf8c45c569a2a67..c329cd0823d14042ec2696ca90a62bdfc548738d 100644
--- a/tests/slicing/loops.i
+++ b/tests/slicing/loops.i
@@ -1,29 +1,29 @@
 /* run.config
-   OPT: -val-show-progress  -deps -lib-entry -main f1 -slice-pragma f1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -lib-entry -main f1 -slice-assert f1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -lib-entry -main f2 -slice-pragma f2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -lib-entry -main f2 -slice-assert f2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -main test_infinite_loop_3 -slice-value G -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -main test_infinite_loop_4 -slice-value G -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -main test_infinite_loop_5 -slice-value G -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -main loop -slice-value Z  -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -slice-calls loop -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -slice-pragma loop -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -slice-assert loop -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -main loop -slice-rd Y -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -main loop -slice-rd Z -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -main loop -slice-wr Y -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -main loop -slice-wr Z  -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -lib-entry -main stop_f1 -slice-pragma stop_f1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -lib-entry -main stop_f1 -slice-assert stop_f1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -lib-entry -main stop_f2 -slice-pragma stop_f2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -lib-entry -main stop_f2 -slice-assert stop_f2  -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -slice-value Z  -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -slice-rd Y -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -slice-rd Z -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -slice-wr Y -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -slice-wr Z -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
-   OPT: -val-show-progress  -deps -lib-entry -main alarm -slice-threat alarm -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -lib-entry -main f1 -slice-pragma f1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -lib-entry -main f1 -slice-assert f1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -lib-entry -main f2 -slice-pragma f2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -lib-entry -main f2 -slice-assert f2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -main test_infinite_loop_3 -slice-value G -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -main test_infinite_loop_4 -slice-value G -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -main test_infinite_loop_5 -slice-value G -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -main loop -slice-value Z  -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -slice-calls loop -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -slice-pragma loop -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -slice-assert loop -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -main loop -slice-rd Y -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -main loop -slice-rd Z -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -main loop -slice-wr Y -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -main loop -slice-wr Z  -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -lib-entry -main stop_f1 -slice-pragma stop_f1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -lib-entry -main stop_f1 -slice-assert stop_f1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -lib-entry -main stop_f2 -slice-pragma stop_f2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -lib-entry -main stop_f2 -slice-assert stop_f2  -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -slice-value Z  -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -slice-rd Y -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -slice-rd Z -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -slice-wr Y -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -slice-wr Z -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
+   OPT: -eva-show-progress  -deps -lib-entry -main alarm -slice-threat alarm -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-deps
 
 
  */
diff --git a/tests/slicing/mark_all_slices.i b/tests/slicing/mark_all_slices.i
index 634de629e98d92027d44554e624c33f6e62c5435..3454c9e2befc3c6b0162dc468a7115f5e1d2c9a8 100644
--- a/tests/slicing/mark_all_slices.i
+++ b/tests/slicing/mark_all_slices.i
@@ -1,7 +1,7 @@
 /* run.config
    EXECNOW: make -s tests/slicing/mark_all_slices.cmxs
    CMD: @frama-c@ -load-module tests/slicing/libSelect.cmxs -load-module tests/slicing/mark_all_slices.cmxs
-   OPT: -val-show-progress -deps -slicing-level 3 -no-slice-callers -journal-disable
+   OPT: -eva-show-progress -deps -slicing-level 3 -no-slice-callers -journal-disable
 */
 int A, B, C, D;
 int A2, B2, C2, D2;
diff --git a/tests/slicing/merge.i b/tests/slicing/merge.i
index c578d373ec4052843f5e77ae3cc63bb0d9c75911..b25108129ad6606803c84d0febb9df5497bea6d5 100644
--- a/tests/slicing/merge.i
+++ b/tests/slicing/merge.i
@@ -1,7 +1,7 @@
 /* run.config
    EXECNOW: make -s tests/slicing/merge.cmxs
    CMD: @frama-c@ -load-module tests/slicing/libSelect.cmxs -load-module tests/slicing/libAnim.cmxs -load-module tests/slicing/merge.cmxs
-   OPT: -val-show-progress -deps -slicing-level 3 -journal-disable
+   OPT: -eva-show-progress -deps -slicing-level 3 -journal-disable
 */
 
 int G1, G2, G3;
diff --git a/tests/slicing/min_call.i b/tests/slicing/min_call.i
index 064635c912c0a786bbaeb427da2505aa41691692..bb033d1fc639504a1224b21697fc0ff03975a26d 100644
--- a/tests/slicing/min_call.i
+++ b/tests/slicing/min_call.i
@@ -1,7 +1,7 @@
 /* run.config
    EXECNOW: make -s tests/slicing/min_call.cmxs
    CMD: @frama-c@ -load-module tests/slicing/libSelect.cmxs -load-module tests/slicing/min_call.cmxs
-   OPT: -val-show-progress -deps -lib-entry -main g -journal-disable -slicing-level 3
+   OPT: -eva-show-progress -deps -lib-entry -main g -journal-disable -slicing-level 3
 */
 
 /* dummy source file in order to test minimal calls feature
diff --git a/tests/slicing/ptr_fct.i b/tests/slicing/ptr_fct.i
index 1f8aaf69381458d3014714aa3d79584352522986..1bec692d364aceb1a8a9ed6e03a8827a9a136319 100644
--- a/tests/slicing/ptr_fct.i
+++ b/tests/slicing/ptr_fct.i
@@ -1,5 +1,5 @@
 /* run.config
-  OPT: -val-show-progress  -main h -slice-return h -slicing-level 1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i 
+  OPT: -eva-show-progress  -main h -slice-return h -slicing-level 1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i 
  */
 
 int X ;
diff --git a/tests/slicing/same_sliced_name_bts1422.i b/tests/slicing/same_sliced_name_bts1422.i
index 96d34288c945759f6f0627a15b23f83ec760246a..1f07dbde3d7c374f313925f65f50dc4d55fc3f79 100644
--- a/tests/slicing/same_sliced_name_bts1422.i
+++ b/tests/slicing/same_sliced_name_bts1422.i
@@ -1,5 +1,5 @@
 /* run.config
-OPT: -val-show-progress -main foo -slice-value y -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+OPT: -eva-show-progress -main foo -slice-value y -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
 */
 
 int y;
diff --git a/tests/slicing/select_by_annot.i b/tests/slicing/select_by_annot.i
index 25e2ed6ab5daa54aeecc1f56ffdf3a90f5340fef..fe285f2541c43f31036a42f891208315269498bb 100644
--- a/tests/slicing/select_by_annot.i
+++ b/tests/slicing/select_by_annot.i
@@ -1,22 +1,22 @@
 /* run.config
    EXECNOW: make -s tests/slicing/select_by_annot.cmxs
    CMD: @frama-c@ -load-module tests/slicing/libSelect.cmxs -load-module tests/slicing/select_by_annot.cmxs
-   OPT: -val-show-progress -deps -lib-entry -main main -journal-disable
+   OPT: -eva-show-progress -deps -lib-entry -main main -journal-disable
    CMD: bin/toplevel.opt
-   OPT: -val-show-progress -check -deps -lib-entry -main main -slice-pragma main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-   OPT: -val-show-progress -check -deps -lib-entry -main main -slice-assert main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-   OPT: -val-show-progress -check -deps -lib-entry -main main -slice-pragma modifS -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-   OPT: -val-show-progress -check -deps -lib-entry -main main -slice-pragma f1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-   OPT: -val-show-progress -check -deps -lib-entry -main main -slice-pragma f2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-   OPT: -val-show-progress -check -deps -lib-entry -main main -slice-pragma f3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-   OPT: -val-show-progress -check -deps -lib-entry -main main -slice-pragma f4 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-   OPT: -val-show-progress -check -deps -lib-entry -main main -slice-pragma f5 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-   OPT: -val-show-progress -check -deps -lib-entry -main main -slice-pragma f6 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-   OPT: -val-show-progress -check -deps -lib-entry -main main -slice-pragma f7 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-   OPT: -val-show-progress -check -deps -lib-entry -main main -slice-loop-inv f8 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-   OPT: -val-show-progress -check -deps -lib-entry -main main -slice-pragma f8 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-   OPT: -val-show-progress -check -deps -lib-entry -main main -slice-assert f8 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-   OPT: -val-show-progress -check -deps -lib-entry -main main -slice-pragma f9 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -lib-entry -main main -slice-pragma main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -lib-entry -main main -slice-assert main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -lib-entry -main main -slice-pragma modifS -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -lib-entry -main main -slice-pragma f1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -lib-entry -main main -slice-pragma f2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -lib-entry -main main -slice-pragma f3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -lib-entry -main main -slice-pragma f4 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -lib-entry -main main -slice-pragma f5 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -lib-entry -main main -slice-pragma f6 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -lib-entry -main main -slice-pragma f7 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -lib-entry -main main -slice-loop-inv f8 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -lib-entry -main main -slice-pragma f8 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -lib-entry -main main -slice-assert f8 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+   OPT: -eva-show-progress -check -deps -lib-entry -main main -slice-pragma f9 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
 
 
 */
diff --git a/tests/slicing/select_calls.i b/tests/slicing/select_calls.i
index 839ca4bbddb7b16175ca7aba51d978ce45941479..5617397a8e1924b1809ecd116a89f713e8e27f65 100644
--- a/tests/slicing/select_calls.i
+++ b/tests/slicing/select_calls.i
@@ -1,6 +1,6 @@
 /* run.config
-   OPT: -val-show-progress  -lib-entry -main f -slice-calls send -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -lib-entry -main g -slice-calls nothing -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -lib-entry -main f -slice-calls send -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -lib-entry -main g -slice-calls nothing -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
    */
 
 void nothing (void);
diff --git a/tests/slicing/select_return.i b/tests/slicing/select_return.i
index d06246fceee4a897cc9a92d84933be9bf5791cf9..710e0952c18393871336a2e7452bd2163e3ade9c 100644
--- a/tests/slicing/select_return.i
+++ b/tests/slicing/select_return.i
@@ -1,26 +1,26 @@
 /* run.config
-  OPT: -val-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 0 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 0 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-calls "send, send_bis" -lib-entry -main g -slicing-level 1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-calls "send, send_bis" -lib-entry -main g -slicing-level 2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-calls "send,send_bis" -lib-entry -main g -slicing-level 3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-return f   -lib-entry -main g -slicing-level 0 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-return f   -lib-entry -main g -slicing-level 1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-return f   -lib-entry -main g -slicing-level 2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-return f   -lib-entry -main g -slicing-level 3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-pragma f   -lib-entry -main g -slicing-level 0 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-pragma f   -lib-entry -main g -slicing-level 1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-pragma f   -lib-entry -main g -slicing-level 2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-pragma f   -lib-entry -main g -slicing-level 3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-value  H   -lib-entry -main g -slicing-level 1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-value  H   -lib-entry -main g -slicing-level 2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-  OPT: -val-show-progress -check -slice-value  H   -lib-entry -main g -slicing-level 3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 0 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 0 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-calls "send, send_bis" -lib-entry -main g -slicing-level 1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-calls "send, send_bis" -lib-entry -main g -slicing-level 2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-calls "send,send_bis" -lib-entry -main g -slicing-level 3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-return f   -lib-entry -main g -slicing-level 0 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-return f   -lib-entry -main g -slicing-level 1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-return f   -lib-entry -main g -slicing-level 2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-return f   -lib-entry -main g -slicing-level 3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-pragma f   -lib-entry -main g -slicing-level 0 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-pragma f   -lib-entry -main g -slicing-level 1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-pragma f   -lib-entry -main g -slicing-level 2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-pragma f   -lib-entry -main g -slicing-level 3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-value  H   -lib-entry -main g -slicing-level 1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-value  H   -lib-entry -main g -slicing-level 2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+  OPT: -eva-show-progress -check -slice-value  H   -lib-entry -main g -slicing-level 3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
 */
 
 int G,H,I;
diff --git a/tests/slicing/select_return_bis.i b/tests/slicing/select_return_bis.i
index f523b2466a0428571b5f5ba2e6488b5121009510..04c376f362bc31acc693b10cd739cef7c6ef49a0 100644
--- a/tests/slicing/select_return_bis.i
+++ b/tests/slicing/select_return_bis.i
@@ -1,15 +1,15 @@
 /* run.config
-  OPT: -val-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 0 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
-  OPT: -val-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
-  OPT: -val-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
-  OPT: -val-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
-  OPT: -val-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 0 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
-  OPT: -val-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
-  OPT: -val-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
-  OPT: -val-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
-  OPT: -val-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
-  OPT: -val-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
-  OPT: -val-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+  OPT: -eva-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 0 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+  OPT: -eva-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+  OPT: -eva-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+  OPT: -eva-show-progress -check -slice-calls send -lib-entry -main g -slicing-level 3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+  OPT: -eva-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 0 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+  OPT: -eva-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+  OPT: -eva-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+  OPT: -eva-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+  OPT: -eva-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+  OPT: -eva-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+  OPT: -eva-show-progress -check -slice-calls send,send_bis -lib-entry -main g -slicing-level 3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
 */
 int G,H,I;
 
diff --git a/tests/slicing/select_simple.i b/tests/slicing/select_simple.i
index 75f5038ded1cb88c57e8540dbe19e777540af9ec..9e30123cd9bd1662a26cdb7c74e287e2aaa2e79f 100644
--- a/tests/slicing/select_simple.i
+++ b/tests/slicing/select_simple.i
@@ -1,7 +1,7 @@
 /* run.config
    EXECNOW: make -s tests/slicing/select_simple.cmxs
    CMD: @frama-c@ -load-module tests/slicing/libSelect.cmxs -load-module tests/slicing/select_simple.cmxs
-   OPT: -val-show-progress -deps -journal-disable
+   OPT: -eva-show-progress -deps -journal-disable
 */
 
 /* dummy source file in order to test select_simple.ml */
diff --git a/tests/slicing/simple_intra_slice.i b/tests/slicing/simple_intra_slice.i
index 60021203db5155c4c628ff61962b9afaf788cf26..065111000339285f6f469292a3d992d89d795d98 100644
--- a/tests/slicing/simple_intra_slice.i
+++ b/tests/slicing/simple_intra_slice.i
@@ -1,7 +1,7 @@
 /* run.config
    EXECNOW: make -s tests/slicing/simple_intra_slice.cmxs
    CMD: @frama-c@ -load-module tests/slicing/libSelect.cmxs -load-module tests/slicing/simple_intra_slice.cmxs
-   OPT: -val-show-progress -deps -no-slice-callers -journal-disable 
+   OPT: -eva-show-progress -deps -no-slice-callers -journal-disable 
 */
 int Unknown;
 int G;
diff --git a/tests/slicing/sizeof.i b/tests/slicing/sizeof.i
index 767ee4eb57a0a97b5328c23db4216af996cfee05..4eb2d2152a1fe61e3ab9c75f843f3009818227ee 100644
--- a/tests/slicing/sizeof.i
+++ b/tests/slicing/sizeof.i
@@ -1,17 +1,17 @@
 /* run.config
-  OPT: -val-show-progress -check -deps -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-  OPT: -val-show-progress -check -deps -slice-return SizeOf_1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-  OPT: -val-show-progress -check -deps -slice-return SizeOf_2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-  OPT: -val-show-progress -check -deps -slice-return SizeOfE_pt1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-  OPT: -val-show-progress -check -deps -slice-return SizeOfE_pt2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-  OPT: -val-show-progress -check -deps -slice-return SizeOfE_pt3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-  OPT: -val-show-progress -check -deps -slice-return SizeOfE_pt_deref_1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-  OPT: -val-show-progress -check -deps -slice-return SizeOfE_tab_1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-  OPT: -val-show-progress -check -deps -slice-return SizeOfE_pt_tab_1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-  OPT: -val-show-progress -check -deps -slice-return SizeOfE_pt_tab_2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-  OPT: -val-show-progress -check -deps -slice-return SizeOfE_tab_acces_1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-  OPT: -val-show-progress -check -deps -slice-pragma main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
-  OPT: -val-show-progress -check -deps -slice-assert main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+  OPT: -eva-show-progress -check -deps -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+  OPT: -eva-show-progress -check -deps -slice-return SizeOf_1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+  OPT: -eva-show-progress -check -deps -slice-return SizeOf_2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+  OPT: -eva-show-progress -check -deps -slice-return SizeOfE_pt1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+  OPT: -eva-show-progress -check -deps -slice-return SizeOfE_pt2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+  OPT: -eva-show-progress -check -deps -slice-return SizeOfE_pt3 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+  OPT: -eva-show-progress -check -deps -slice-return SizeOfE_pt_deref_1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+  OPT: -eva-show-progress -check -deps -slice-return SizeOfE_tab_1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+  OPT: -eva-show-progress -check -deps -slice-return SizeOfE_pt_tab_1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+  OPT: -eva-show-progress -check -deps -slice-return SizeOfE_pt_tab_2 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+  OPT: -eva-show-progress -check -deps -slice-return SizeOfE_tab_acces_1 -no-slice-callers -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+  OPT: -eva-show-progress -check -deps -slice-pragma main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
+  OPT: -eva-show-progress -check -deps -slice-assert main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-deps
 */
 struct St { int i, *p, tab[5] ; } st ;
 
diff --git a/tests/slicing/slice_behavior.i b/tests/slicing/slice_behavior.i
index 544b8115c5197d59db1d2413b71eaf0cfca76555..01911bdb71b1ba73e077a8a1bf0716c57fdd4a39 100644
--- a/tests/slicing/slice_behavior.i
+++ b/tests/slicing/slice_behavior.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val-show-progress -check -val -slice-assert f -slicing-level 0 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-val
+   OPT: -eva-show-progress -check -eva -slice-assert f -slicing-level 0 -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check -no-eva
 */
 /*@ requires a > 0; */
 int f(int a) {
diff --git a/tests/slicing/slice_no_body.i b/tests/slicing/slice_no_body.i
index 3be2044774f2a794b7c05fe8536fb3263da82feb..0f261cfc5c8e0be129134359987f92540895e34e 100644
--- a/tests/slicing/slice_no_body.i
+++ b/tests/slicing/slice_no_body.i
@@ -1,7 +1,7 @@
 /* run.config
    EXECNOW: make -s tests/slicing/slice_no_body.cmxs
    CMD: @frama-c@ -load-module tests/slicing/libSelect.cmxs -load-module tests/slicing/slice_no_body.cmxs
-   OPT: -val-show-progress -deps -lib-entry -main h -journal-disable
+   OPT: -eva-show-progress -deps -lib-entry -main h -journal-disable
 */
 
 int G;
diff --git a/tests/slicing/slice_pragma_stmt.i b/tests/slicing/slice_pragma_stmt.i
index bb64b0d3032a6fb11aac4a41079a19ea8b99d550..0dc5d985b6205f9bb3b2da8377ac9b5b7bb4bc71 100644
--- a/tests/slicing/slice_pragma_stmt.i
+++ b/tests/slicing/slice_pragma_stmt.i
@@ -1,27 +1,27 @@
 /* run.config
-   OPT: -val-show-progress  -print  -journal-disable
-   OPT: -val-show-progress  -main nop1 -slice-pragma nop1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main nop2 -slice-pragma nop2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main nop3 -slice-pragma nop3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main nop4 -slice-pragma nop4 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main nop5 -slice-pragma nop5 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main nop6 -slice-pragma nop6 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main nop7 -slice-pragma nop7 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main nop8 -slice-pragma nop8 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main double_effect1 -slice-pragma double_effect1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main double_effect2 -slice-pragma double_effect2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main double_effect3 -slice-pragma double_effect3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main double_effect4 -slice-pragma double_effect4 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main double_effect5 -slice-pragma double_effect5 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main test1 -slice-pragma test1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main test2 -slice-pragma test2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main test3 -slice-pragma test3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main test4 -slice-pragma test4 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main test5 -slice-pragma test5 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main test6 -slice-pragma test6 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main test7 -slice-pragma test7 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main test8 -slice-pragma test8 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -main test9 -slice-pragma test9 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -print  -journal-disable
+   OPT: -eva-show-progress  -main nop1 -slice-pragma nop1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main nop2 -slice-pragma nop2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main nop3 -slice-pragma nop3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main nop4 -slice-pragma nop4 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main nop5 -slice-pragma nop5 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main nop6 -slice-pragma nop6 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main nop7 -slice-pragma nop7 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main nop8 -slice-pragma nop8 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main double_effect1 -slice-pragma double_effect1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main double_effect2 -slice-pragma double_effect2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main double_effect3 -slice-pragma double_effect3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main double_effect4 -slice-pragma double_effect4 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main double_effect5 -slice-pragma double_effect5 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main test1 -slice-pragma test1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main test2 -slice-pragma test2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main test3 -slice-pragma test3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main test4 -slice-pragma test4 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main test5 -slice-pragma test5 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main test6 -slice-pragma test6 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main test7 -slice-pragma test7 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main test8 -slice-pragma test8 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -main test9 -slice-pragma test9 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
 */
 typedef int stmt, expr, slice;
 int x, y ;
diff --git a/tests/slicing/switch.i b/tests/slicing/switch.i
index 10e0d404c4d61d9ba01a929f8fea1899f4346a9e..11e453ccb719566980ce711bea9d90cdd5d820cd 100644
--- a/tests/slicing/switch.i
+++ b/tests/slicing/switch.i
@@ -1,7 +1,7 @@
 /*  run.config
    EXECNOW: make -s tests/slicing/switch.cmxs
    CMD: @frama-c@ -load-module tests/slicing/libSelect.cmxs -load-module tests/slicing/switch.cmxs
-   OPT: -val-show-progress -deps -journal-disable
+   OPT: -eva-show-progress -deps -journal-disable
 */
 int main (char choix) {
   int x = 0, y = 0, z = 0;
diff --git a/tests/slicing/top.i b/tests/slicing/top.i
index 04fab9c79f45885242461c17f3e1d8303c55fec6..82274e75fbc0e71c60c111c5ed9000de1c40dffa 100644
--- a/tests/slicing/top.i
+++ b/tests/slicing/top.i
@@ -1,7 +1,7 @@
 /* run.config
-* OPT: -val-show-progress -no-val-builtins-auto -check -slicing-level 0 -slice-return uncalled -no-slice-callers  -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
-* OPT: -val-show-progress -no-val-builtins-auto -check -slicing-level 2 -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
-* OPT: -val-show-progress -no-val-builtins-auto -check -slicing-level 2 -slice-return strlen -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+* OPT: -eva-show-progress -eva-no-builtins-auto -check -slicing-level 0 -slice-return uncalled -no-slice-callers  -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+* OPT: -eva-show-progress -eva-no-builtins-auto -check -slicing-level 2 -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
+* OPT: -eva-show-progress -eva-no-builtins-auto -check -slicing-level 2 -slice-return strlen -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check
 *
 *
 *
diff --git a/tests/slicing/top2.i b/tests/slicing/top2.i
index 5dc7cb07e0060f8735f8273aedba2f9890d4e102..6f3aeeb35d87c37561e067d3aa5fd9db1dac191d 100644
--- a/tests/slicing/top2.i
+++ b/tests/slicing/top2.i
@@ -1,6 +1,6 @@
 /* run.config
-* OPT: -val-show-progress -check -slicing-level 2 -slice-pragma main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
-* OPT: -val-show-progress -check -slicing-level 2 -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+* OPT: -eva-show-progress -check -slicing-level 2 -slice-pragma main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
+* OPT: -eva-show-progress -check -slicing-level 2 -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print -check -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -check 
 */
 
 
diff --git a/tests/slicing/undef-fun.i b/tests/slicing/undef-fun.i
index 2ac1ee724d4c7216e920f4ea55e7c12a9d366ef2..27de9327f7de13aff5224a69cca725a226b843ec 100644
--- a/tests/slicing/undef-fun.i
+++ b/tests/slicing/undef-fun.i
@@ -1,5 +1,5 @@
 /* run.config
- OPT: -val-show-progress  -slice-undef-functions -slice-return f -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+ OPT: -eva-show-progress  -slice-undef-functions -slice-return f -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
 
 
 
diff --git a/tests/slicing/unitialized.c b/tests/slicing/unitialized.c
index fcfa4546ba4cc5f9a8d77a2cb64e18d6bc0053ea..0978ec2279e2b23ede19d961b07f07fc465175c7 100644
--- a/tests/slicing/unitialized.c
+++ b/tests/slicing/unitialized.c
@@ -1,8 +1,8 @@
 /* run.config
-   OPT: -val-show-progress  -slice-pragma g -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -slice-assert g -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -slice-assert main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -slice-return g -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-pragma g -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-assert g -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-assert main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-return g -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
  */
 #ifdef __FRAMAC__
 //@ assigns \result \from \nothing;
diff --git a/tests/slicing/unravel-flavors.i b/tests/slicing/unravel-flavors.i
index 020e6d13cf1f1ea709eef44f1ca3b6da4d5fa6e3..93f3476e7e35c9ca5a6d04dc433043f8f72c6277 100644
--- a/tests/slicing/unravel-flavors.i
+++ b/tests/slicing/unravel-flavors.i
@@ -1,8 +1,8 @@
 /* run.config
-   OPT: -val-show-progress  -slice-undef-functions -slice-return send1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -slice-undef-functions -slice-return send2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -slice-undef-functions -slice-return send3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -slice-undef-functions -slice-return send4 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-undef-functions -slice-return send1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-undef-functions -slice-return send2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-undef-functions -slice-return send3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-undef-functions -slice-return send4 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
    */
 
 /* Small example derived from examples given for UNRAVEL tool : */
diff --git a/tests/slicing/unravel-point.i b/tests/slicing/unravel-point.i
index 2ca0a47f422f6f67e7185e69bc0c822573268d90..fefd3835b841186e3e4312f41f3b1a48f35a48e8 100644
--- a/tests/slicing/unravel-point.i
+++ b/tests/slicing/unravel-point.i
@@ -1,9 +1,9 @@
 /* run.config
-   OPT: -val-show-progress  -calldeps -slice-return send1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -val-show-progress
-   OPT: -val-show-progress  -calldeps -slice-return send2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -val-show-progress
-   OPT: -val-show-progress  -calldeps -slice-return send3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -val-show-progress
-   OPT: -val-show-progress  -calldeps -slice-return send4 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -val-show-progress
-   OPT: -val-show-progress  -calldeps -slice-return send1 -slice-return send4 -journal-disable -then-on 'Slicing export' -val-show-progress -calldeps -slice-return send1_slice_1 -print  -then-on 'Slicing export 2' -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -val-show-progress
+   OPT: -eva-show-progress  -calldeps -slice-return send1 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -eva-show-progress
+   OPT: -eva-show-progress  -calldeps -slice-return send2 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -eva-show-progress
+   OPT: -eva-show-progress  -calldeps -slice-return send3 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -eva-show-progress
+   OPT: -eva-show-progress  -calldeps -slice-return send4 -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -eva-show-progress
+   OPT: -eva-show-progress  -calldeps -slice-return send1 -slice-return send4 -journal-disable -then-on 'Slicing export' -eva-show-progress -calldeps -slice-return send1_slice_1 -print  -then-on 'Slicing export 2' -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  -no-calldeps -eva-show-progress
 
 
 
diff --git a/tests/slicing/unravel-variance.i b/tests/slicing/unravel-variance.i
index 97b6ba844138a38814be0136b6816a4ddea5d05d..1f49b4cb82227b593e04c1937c49e93fc7c93dcc 100644
--- a/tests/slicing/unravel-variance.i
+++ b/tests/slicing/unravel-variance.i
@@ -1,9 +1,9 @@
 /* run.config
-   OPT: -val-show-progress  -slice-calls printf1 -journal-disable -float-normal -remove-redundant-alarms -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -slice-calls printf2 -journal-disable -float-normal -remove-redundant-alarms -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -slice-calls printf3 -journal-disable -float-normal -remove-redundant-alarms -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -slice-calls printf4 -journal-disable -float-normal -remove-redundant-alarms -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress  -slice-calls printf5 -journal-disable -float-normal -remove-redundant-alarms -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-calls printf1 -journal-disable -float-normal -remove-redundant-alarms -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-calls printf2 -journal-disable -float-normal -remove-redundant-alarms -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-calls printf3 -journal-disable -float-normal -remove-redundant-alarms -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-calls printf4 -journal-disable -float-normal -remove-redundant-alarms -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress  -slice-calls printf5 -journal-disable -float-normal -remove-redundant-alarms -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
    */
 /* Small example devired from examples given for UNRAVEL tool : */
 
diff --git a/tests/slicing/unsupported.i b/tests/slicing/unsupported.i
index 4fd0c080e404a8cd2191503fcbbfc40c619e1d17..d4a027718c6e1eb849a9666737c5dfc593308d21 100644
--- a/tests/slicing/unsupported.i
+++ b/tests/slicing/unsupported.i
@@ -1,6 +1,6 @@
 /* run.config
-   OPT: -val-show-progress  -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
-   OPT: -val-show-progress -sparecode
+   OPT: -eva-show-progress  -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+   OPT: -eva-show-progress -sparecode
 */
 
 int main() {
diff --git a/tests/slicing/use_spec.i b/tests/slicing/use_spec.i
index 300adef044aaa9ad110a94cb9e904f339c14685f..e6692b1ba7b29b3ffa9d139949f3ad1f40e7b46d 100644
--- a/tests/slicing/use_spec.i
+++ b/tests/slicing/use_spec.i
@@ -1,6 +1,6 @@
 /* run.config
- OPT: -val-show-progress -val-use-spec f -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
- OPT: -val-show-progress -main main2 -slicing-level 3 -slice-undef-functions -val-use-spec h -slice-return main2 -journal-disable -slicing-keep-annotations -then-on 'Slicing export' -set-project-as-default -print  -val -val-show-progress -val-use-spec='-@all'
+ OPT: -eva-show-progress -eva-use-spec f -slice-return main -journal-disable -then-on 'Slicing export' -set-project-as-default -print  -then -print -ocode @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i -then @PTEST_DIR@/result/ocode_@PTEST_NUMBER@_@PTEST_NAME@.i  
+ OPT: -eva-show-progress -main main2 -slicing-level 3 -slice-undef-functions -eva-use-spec h -slice-return main2 -journal-disable -slicing-keep-annotations -then-on 'Slicing export' -set-project-as-default -print  -eva -eva-show-progress -eva-use-spec='-@all'
 
 
 
@@ -18,7 +18,7 @@ int f() {
   g();
 }
 
-/* When -val-use-spec f is used, the body of f must not be kept (as it
+/* When -eva-use-spec f is used, the body of f must not be kept (as it
    references the body of g, which is not kept since the body of f is not
    analyzed. */
 int main() {
@@ -32,7 +32,7 @@ void h(int a, int b) {
   G2 = b;
 }
 
-/* Check that function specialization works well with -val-use-spec. The result
+/* Check that function specialization works well with -eva-use-spec. The result
    of -slicing-keep-annotations is a bit surprising, but in fact quite  good. */
 int main2(int v1, int v2, int v3, int v4) {
   h(v1, v2);
diff --git a/tests/slicing/variadic.c b/tests/slicing/variadic.c
index 9a508c88ddb9ef48c91707a129f81473f354ef7d..852d33ec09b22866b249150e9c3e3037387fe5ff 100644
--- a/tests/slicing/variadic.c
+++ b/tests/slicing/variadic.c
@@ -1,9 +1,9 @@
 /* run.config
-    OPT: -val-show-progress -slice-return f3 -no-slice-callers -journal-disable -then-on 'Slicing export' -print
-    OPT: -val-show-progress -slice-return f3 -no-slice-callers -journal-disable -variadic-no-translation -then-last -print
-    OPT: -val-show-progress -slice-return f3 -journal-disable -then-on 'Slicing export' -print
-    OPT: -val-show-progress -slice-return main -journal-disable -then-on 'Slicing export' -print
-    OPT: -val-show-progress -slice-return main -slicing-level 3  -journal-disable -then-on 'Slicing export' -print
+    OPT: -eva-show-progress -slice-return f3 -no-slice-callers -journal-disable -then-on 'Slicing export' -print
+    OPT: -eva-show-progress -slice-return f3 -no-slice-callers -journal-disable -variadic-no-translation -then-last -print
+    OPT: -eva-show-progress -slice-return f3 -journal-disable -then-on 'Slicing export' -print
+    OPT: -eva-show-progress -slice-return main -journal-disable -then-on 'Slicing export' -print
+    OPT: -eva-show-progress -slice-return main -slicing-level 3  -journal-disable -then-on 'Slicing export' -print
 */
 
 #include "../pdg/variadic.c"
diff --git a/tests/sparecode/bts324.i b/tests/sparecode/bts324.i
index 736b2b35e0b95a9caa5aff1e3ced13ff81b7aed5..10be411858cbaec07333998d571317d26b436c22 100644
--- a/tests/sparecode/bts324.i
+++ b/tests/sparecode/bts324.i
@@ -1,7 +1,7 @@
 /* run.config
-   OPT: -sparecode-analysis -val-show-progress -sparecode-debug 1 -journal-disable
-   OPT: -sparecode-analysis -val-show-progress -sparecode-debug 1 -main main_bis -journal-disable
-   OPT: -sparecode-analysis -val-show-progress -sparecode-debug 1 -main main_ter -journal-disable
+   OPT: -sparecode-analysis -eva-show-progress -sparecode-debug 1 -journal-disable
+   OPT: -sparecode-analysis -eva-show-progress -sparecode-debug 1 -main main_bis -journal-disable
+   OPT: -sparecode-analysis -eva-show-progress -sparecode-debug 1 -main main_ter -journal-disable
 
 */
 
diff --git a/tests/sparecode/bts324_bis.i b/tests/sparecode/bts324_bis.i
index bc5d1cb1dc53bba71610c3eca06258a5468aa5fc..911010398ddab90e7b88b0e74580ac4671d0526a 100644
--- a/tests/sparecode/bts324_bis.i
+++ b/tests/sparecode/bts324_bis.i
@@ -1,7 +1,7 @@
 /* run.config
-   OPT: -sparecode-analysis -val-show-progress -sparecode-debug 1 -journal-disable
-   OPT: -sparecode-analysis -val-show-progress -sparecode-debug 1 -main main_bis -journal-disable
-   OPT: -sparecode-analysis -val-show-progress -sparecode-debug 1 -sparecode-no-annot -journal-disable
+   OPT: -sparecode-analysis -eva-show-progress -sparecode-debug 1 -journal-disable
+   OPT: -sparecode-analysis -eva-show-progress -sparecode-debug 1 -main main_bis -journal-disable
+   OPT: -sparecode-analysis -eva-show-progress -sparecode-debug 1 -sparecode-no-annot -journal-disable
 */
 
 int ki[2], k ;
diff --git a/tests/sparecode/bts334.i b/tests/sparecode/bts334.i
index d851de8a71839561c4ab60e101bf6069d35d25ed..171f62f180f2f28081ad965bbb693ffdece9d341 100644
--- a/tests/sparecode/bts334.i
+++ b/tests/sparecode/bts334.i
@@ -1,7 +1,7 @@
 /*run.config
- OPT: -main main_init -sparecode-analysis -val-show-progress -sparecode-no-annot  -journal-disable
- OPT: -main main_init -val-show-progress -slice-pragma loop_body -journal-disable -then-on 'Slicing export' -print
- OPT: -main main_init -val-show-progress -slice-pragma loop_body -calldeps -journal-disable -then-on 'Slicing export' -print
+ OPT: -main main_init -sparecode-analysis -eva-show-progress -sparecode-no-annot  -journal-disable
+ OPT: -main main_init -eva-show-progress -slice-pragma loop_body -journal-disable -then-on 'Slicing export' -print
+ OPT: -main main_init -eva-show-progress -slice-pragma loop_body -calldeps -journal-disable -then-on 'Slicing export' -print
  */
 int kf ;
 int k[2] ;
diff --git a/tests/sparecode/calls.i b/tests/sparecode/calls.i
index 52b622c9acbdb251970cf17167b52ec8a077ecb0..48b0856afe09725705de7231f577f365523451f3 100644
--- a/tests/sparecode/calls.i
+++ b/tests/sparecode/calls.i
@@ -1,6 +1,6 @@
 /* run.config
-   OPT: -sparecode-debug 1 -sparecode-analysis -val-show-progress -journal-disable
-   OPT: -slicing-level 2 -slice-return main -val-show-progress -journal-disable -then-on 'Slicing export' -print
+   OPT: -sparecode-debug 1 -sparecode-analysis -eva-show-progress -journal-disable
+   OPT: -slicing-level 2 -slice-return main -eva-show-progress -journal-disable -then-on 'Slicing export' -print
 */
 int G;
 
diff --git a/tests/sparecode/dead_code.i b/tests/sparecode/dead_code.i
index 1e09d240bd389814f84fc0601cf291815cfa75d8..3f8966d815d5419320e9609ec024e3a134295394 100644
--- a/tests/sparecode/dead_code.i
+++ b/tests/sparecode/dead_code.i
@@ -1,6 +1,6 @@
 /* run.config
-   OPT: -sparecode-debug 1 -sparecode -val-show-progress -journal-disable
-   OPT: -slicing-level 2 -slice-return main -val-show-progress -journal-disable -then-on 'Slicing export' -print
+   OPT: -sparecode-debug 1 -sparecode -eva-show-progress -journal-disable
+   OPT: -slicing-level 2 -slice-return main -eva-show-progress -journal-disable -then-on 'Slicing export' -print
 */
 
 int main (void) {
diff --git a/tests/sparecode/glob_decls.i b/tests/sparecode/glob_decls.i
index 6e20925029404ba58c993cf5fd255daca0627188..f8f2da144f92c3af59badec8c604ed027cb2530c 100644
--- a/tests/sparecode/glob_decls.i
+++ b/tests/sparecode/glob_decls.i
@@ -1,6 +1,6 @@
 /* run.config
- OPT: -lib-entry -journal-disable -sparecode-debug 1 -sparecode-analysis -val-show-progress 
- OPT: -lib-entry -slice-pragma main -slice-return main -val-show-progress -journal-disable -then-on 'Slicing export' -print
+ OPT: -lib-entry -journal-disable -sparecode-debug 1 -sparecode-analysis -eva-show-progress 
+ OPT: -lib-entry -slice-pragma main -slice-return main -eva-show-progress -journal-disable -then-on 'Slicing export' -print
  OPT: -journal-disable -sparecode-debug 1 -sparecode-rm-unused-globals
 */
 
diff --git a/tests/sparecode/intra.i b/tests/sparecode/intra.i
index 013b2bc178c66e926918268a042944d697b17639..444aa11a381019d1d3e35784c6c2ed2abedb3683 100644
--- a/tests/sparecode/intra.i
+++ b/tests/sparecode/intra.i
@@ -1,9 +1,9 @@
 /* run.config
-   OPT: -sparecode-debug 1 -sparecode-analysis -val-show-progress -journal-disable
-   OPT: -val-show-progress -slicing-level 2 -slice-return main -journal-disable -then-last -print
-   OPT: -main main2 -sparecode-analysis -val-show-progress -journal-disable
-   OPT: -main main2 -slice-return main2 -val-show-progress -journal-disable -then-last -print
-   OPT: -main main2 -slice-return main2 -val-show-progress -slice-assert f10 -journal-disable -then-last -print
+   OPT: -sparecode-debug 1 -sparecode-analysis -eva-show-progress -journal-disable
+   OPT: -eva-show-progress -slicing-level 2 -slice-return main -journal-disable -then-last -print
+   OPT: -main main2 -sparecode-analysis -eva-show-progress -journal-disable
+   OPT: -main main2 -slice-return main2 -eva-show-progress -journal-disable -then-last -print
+   OPT: -main main2 -slice-return main2 -eva-show-progress -slice-assert f10 -journal-disable -then-last -print
 */
 
 /* Waiting for results such as:
diff --git a/tests/sparecode/issue_157.i b/tests/sparecode/issue_157.i
index 40a78c4e9e4da09ac8bba41cf879d0528ba7bc79..7bdc05ad32b28a32234327aa60fff8b85c1af9ff 100644
--- a/tests/sparecode/issue_157.i
+++ b/tests/sparecode/issue_157.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -sparecode-debug 1 -sparecode-analysis -val-show-progress -journal-disable
+   OPT: -sparecode-debug 1 -sparecode-analysis -eva-show-progress -journal-disable
 */
 
 int f() {
diff --git a/tests/sparecode/params.i b/tests/sparecode/params.i
index a3067e8f599fcbd3d33931c6c52c951766d45d7e..33c0142f48e1c4ccd543d08c85794130ff0406bb 100644
--- a/tests/sparecode/params.i
+++ b/tests/sparecode/params.i
@@ -1,6 +1,6 @@
 /* run.config
-   OPT: -sparecode-debug 1 -sparecode-analysis -val-show-progress -journal-disable
-   OPT: -val-show-progress -slicing-level 2 -slice-return main -journal-disable -then-last -print -val-show-progress
+   OPT: -sparecode-debug 1 -sparecode-analysis -eva-show-progress -journal-disable
+   OPT: -eva-show-progress -slicing-level 2 -slice-return main -journal-disable -then-last -print -eva-show-progress
 */
 
 /* This is an example from #529. 'y' in [main1] should be visible to get a
diff --git a/tests/sparecode/se.i b/tests/sparecode/se.i
index 4fc82d3410ca3eb7f3c8196eac3400611ffc9bba..8f7b0fe67601cacefe4bdbaad9bf41c666175b0a 100644
--- a/tests/sparecode/se.i
+++ b/tests/sparecode/se.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -sparecode-debug 1 -sparecode-analysis -val-show-progress -lib-entry -main Se -journal-disable
+   OPT: -sparecode-debug 1 -sparecode-analysis -eva-show-progress -lib-entry -main Se -journal-disable
 */
 int glob;
 
diff --git a/tests/sparecode/top.i b/tests/sparecode/top.i
index 0a44c18290fe408ead45c6f5784c424d3ac76788..40f7cc9d0b638782339926a246755fd5eae8f5bb 100644
--- a/tests/sparecode/top.i
+++ b/tests/sparecode/top.i
@@ -1,7 +1,7 @@
 /* run.config
-   OPT: -sparecode-debug 1 -sparecode-analysis -val-show-progress -journal-disable -main main_top
-   OPT: -sparecode-debug 1 -sparecode-analysis -val-show-progress -journal-disable -main main_call_top
-   OPT: -sparecode-debug 1 -sparecode-analysis -val-show-progress -journal-disable -main main_top_not_used
+   OPT: -sparecode-debug 1 -sparecode-analysis -eva-show-progress -journal-disable -main main_top
+   OPT: -sparecode-debug 1 -sparecode-analysis -eva-show-progress -journal-disable -main main_call_top
+   OPT: -sparecode-debug 1 -sparecode-analysis -eva-show-progress -journal-disable -main main_top_not_used
 */
 
 void print (int x);
diff --git a/tests/spec/Extend.i b/tests/spec/Extend.i
index f69d26eaa2c682768fac5d5e49134f1eeee1c044..dd42b2180708242016365f0c6c3518062ca0b972 100644
--- a/tests/spec/Extend.i
+++ b/tests/spec/Extend.i
@@ -43,9 +43,9 @@ int k(int z) {
 /*@ global_foo \forall integer x; x < x + 1
 ; */
 
-
+//@ behavior ca_foo: ensures ca_foo: \true;
 void loop (void) {
-  //@ ca_foo \true;
+  //@ for ca_foo: ca_foo \true;
   //@ ns_foo \true;
   //@ baz \true;
   /*@ loop invariant \true; */
diff --git a/tests/spec/array_typedef.c b/tests/spec/array_typedef.c
index 0d6a797fd17f4bf58c99e2a0ec0c659a51726950..428631d42b5e38a7a03c48c8e1e2943d65e75ade 100644
--- a/tests/spec/array_typedef.c
+++ b/tests/spec/array_typedef.c
@@ -1,5 +1,5 @@
 /*run.config
- OPT: -print -val -val-show-progress -journal-disable
+ OPT: -print -eva -eva-show-progress -journal-disable
  */
 #define IP_FIELD 4
 typedef int ip_address[IP_FIELD];
diff --git a/tests/spec/assigns_result.i b/tests/spec/assigns_result.i
index 0d2383cab6c2fb5cbaf4c4693a0c0c3c6aea6327..ed6cce9a19e7e03a9b6c8de56c43c3ad16434d38 100644
--- a/tests/spec/assigns_result.i
+++ b/tests/spec/assigns_result.i
@@ -1,5 +1,5 @@
 /* run.config
-   STDOPT: +"-deps -val-show-progress"
+   STDOPT: +"-deps -eva-show-progress"
 */
 int X,Y;
 
diff --git a/tests/spec/assigns_void.c b/tests/spec/assigns_void.c
index 6eee31fecca6d05734670746416af4eec63b0d3c..dd592b430a547283e8d9f1996095edc1a6809d40 100644
--- a/tests/spec/assigns_void.c
+++ b/tests/spec/assigns_void.c
@@ -1,6 +1,6 @@
 /* run.config
  OPT: -print -journal-disable -kernel-warn-key=annot-error=active
- OPT: -val -val-show-progress -main g -print -no-annot -journal-disable
+ OPT: -eva -eva-show-progress -main g -print -no-annot -journal-disable
  */
 //@ assigns *x;
 void f(void *x);
diff --git a/tests/spec/behavior_assert.c b/tests/spec/behavior_assert.c
index 551c74f6054051da247b91e7b25cf5bbce59c6a0..6b0939f5160e01bf3dce27c5eeba231cb3e5da0f 100644
--- a/tests/spec/behavior_assert.c
+++ b/tests/spec/behavior_assert.c
@@ -1,6 +1,6 @@
 /* run.config 
-OPT: -val -val-show-progress -deps -out -input -journal-disable -lib-entry
-OPT: -val -val-show-progress -deps -out -input -journal-disable
+OPT: -eva -eva-show-progress -deps -out -input -journal-disable -lib-entry
+OPT: -eva -eva-show-progress -deps -out -input -journal-disable
 */
 
 int e;
diff --git a/tests/spec/default_assigns_bts0966.i b/tests/spec/default_assigns_bts0966.i
index 48a1ea80302120436b52b51bbce5e2edc70c31ba..6b4cd671eda66ecb86c8a548620127b06604a1e6 100644
--- a/tests/spec/default_assigns_bts0966.i
+++ b/tests/spec/default_assigns_bts0966.i
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val -print
+   OPT: -eva -print
  */
 
 int auto_states[4] ; //   = { 1 , 0 , 0, 0 };
diff --git a/tests/spec/kw.c b/tests/spec/kw.c
index 8ad24442c35f8b6f90d1732c732857310d73b295..eb7b4e0b8fb456a73b66648f3d8fbd1b4cb9fd81 100644
--- a/tests/spec/kw.c
+++ b/tests/spec/kw.c
@@ -9,6 +9,7 @@ assert behavior = 0;
     ensures behavior >= 0;
 */
 int main () {
+  //@ slevel 4;
   behavior++;
   return 0;
 }
@@ -23,3 +24,18 @@ model{L}(l1,ll1) ==> model(Cons(0,l1),Cons(0,ll1));
 
 } */
 
+/*@ axiomatic foo {
+ logic integer func(integer i) reads behavior;
+}
+*/
+
+volatile int assigns;
+
+int ensures(volatile int* a) { return *a; }
+int requires(volatile int*a, int v) { *a = v; return v; }
+
+/*@ volatile assigns reads ensures writes requires; */
+
+int slevel = 1000000;
+
+//@ lemma bar: slevel >= 0;
diff --git a/tests/spec/logic_def.c b/tests/spec/logic_def.c
index 7e6f27b300fc5e84eba48d572ea9de13095f14aa..a9050410d76999cd48d4168575d26b22c5760e8d 100644
--- a/tests/spec/logic_def.c
+++ b/tests/spec/logic_def.c
@@ -1,5 +1,5 @@
 /* run.config
-    STDOPT: +"-val -value-verbose 2"
+    STDOPT: +"-eva -eva-verbose 2"
 */
 
 //@ logic integer foo(int x) = x + 2 ;
diff --git a/tests/spec/oracle/Extend.res.oracle b/tests/spec/oracle/Extend.res.oracle
index da72437c2ec75953a1a792fe19cde406a578e188..6fb85da86bac26486fff0df9fa0c8dfba1551d99 100644
--- a/tests/spec/oracle/Extend.res.oracle
+++ b/tests/spec/oracle/Extend.res.oracle
@@ -48,9 +48,11 @@ int k(int z)
 
 /*@ global_foo ∀ ℤ x; x < x + 1;
 */
+/*@ behavior ca_foo:
+      ensures ca_foo: \true; */
 void loop(void)
 {
-  /*@ ca_foo \true; */ ;
+  /*@ for ca_foo: ca_foo \true; */ ;
   /*@ ns_foo \true; */
   /*@ baz \true; */
   /*@ loop invariant \true; */
diff --git a/tests/spec/oracle/behavior_names.res.oracle b/tests/spec/oracle/behavior_names.res.oracle
index 2bb78b303affead82ba4b673af4472e0bab8d6e0..f24db2ef02802cafbde4da8907ddda15be054a5c 100644
--- a/tests/spec/oracle/behavior_names.res.oracle
+++ b/tests/spec/oracle/behavior_names.res.oracle
@@ -78,7 +78,7 @@ void j(void)
     behavior while:
       ensures while: \true;
     
-    behavior normal:
+    behavior ensures:
       ensures ensures: \true;
     
     behavior logic:
diff --git a/tests/spec/oracle/kw.res.oracle b/tests/spec/oracle/kw.res.oracle
index 916e6673c1c89285920152a2cb1ee4c22b6e12f1..b9d920cb849457f0161ca7ed3551f23b325e6cd8 100644
--- a/tests/spec/oracle/kw.res.oracle
+++ b/tests/spec/oracle/kw.res.oracle
@@ -12,6 +12,7 @@ assert behavior = 0;
 int main(void)
 {
   int __retres;
+  /*@ slevel 4; */
   behavior ++;
   __retres = 0;
   return __retres;
@@ -25,6 +26,32 @@ inductive model{L}(List<ℤ>  root, List<ℤ>  logic_list) {
   case cons{L}: ∀ List<ℤ>  l1, List<ℤ>  ll1;
                   model(l1, ll1) ⇒ model(Cons(0, l1), Cons(0, ll1));
   }
+ */
+/*@ axiomatic foo {
+      logic ℤ func{L}(ℤ i) 
+        reads behavior;
+      
+      }
+
+*/
+int volatile assigns;
+int ensures(int volatile *a)
+{
+  int __retres;
+  __retres = *a;
+  return __retres;
+}
+
+int requires(int volatile *a, int v)
+{
+  *a = v;
+  return v;
+}
+
+/*@ volatile assigns reads ensures writes requires;
+*/
+int slevel = 1000000;
+/*@ lemma bar{L}: slevel ≥ 0;
 
 */
 
diff --git a/tests/spec/preprocess.c b/tests/spec/preprocess.c
index 294c1bf784a99fafff061901d9f96c4e35b37727..db8406068d2487fbd9867ce45e9521c5bfe7894b 100644
--- a/tests/spec/preprocess.c
+++ b/tests/spec/preprocess.c
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -pp-annot -val -val-show-progress -journal-disable
+   OPT: -pp-annot -eva -eva-show-progress -journal-disable
 */
 
 // see bts 1357
diff --git a/tests/spec/shifts.c b/tests/spec/shifts.c
index 81e3020d21d458c4505cec016e623861f46c377c..349f47cc445c70f7e5584348e413c3ecbe4254fa 100644
--- a/tests/spec/shifts.c
+++ b/tests/spec/shifts.c
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val -val-show-progress -deps -journal-disable
+   OPT: -eva -eva-show-progress -deps -journal-disable
 */
 
 int e;
diff --git a/tests/spec/statement_behavior.c b/tests/spec/statement_behavior.c
index aad0ee41a9feaf53fb283d476be35f6075dd827e..a07de2bcdd4b99025cdd3312a06e4c78d774e51a 100644
--- a/tests/spec/statement_behavior.c
+++ b/tests/spec/statement_behavior.c
@@ -1,5 +1,5 @@
 /* run.config
-   OPT: -val -val-show-progress -inout -journal-disable
+   OPT: -eva -eva-show-progress -inout -journal-disable
 */
 /*@ ensures \result == (int)(5 * x);
 */
diff --git a/tests/syntax/Refresh_visitor.i b/tests/syntax/Refresh_visitor.i
index 1862ff45eac014d0edeb5fbbcf9d1211b4173255..07ebc38f1b1206f7404b2cb9c4aa0c4782d79e89 100644
--- a/tests/syntax/Refresh_visitor.i
+++ b/tests/syntax/Refresh_visitor.i
@@ -1,6 +1,6 @@
 /* run.config
 EXECNOW: make -s @PTEST_DIR@/@PTEST_NAME@.cmxs
-OPT: -load-module @PTEST_DIR@/@PTEST_NAME@ -val-show-progress
+OPT: -load-module @PTEST_DIR@/@PTEST_NAME@ -eva-show-progress
 */
 
 struct S { int i; };
diff --git a/tests/syntax/asm_goto.i b/tests/syntax/asm_goto.i
index 9219d8b78aa21d4bab84922c6a8c73ee951eb0cb..42466a787d912f1a43fe824de85f4a4b462f153b 100644
--- a/tests/syntax/asm_goto.i
+++ b/tests/syntax/asm_goto.i
@@ -1,7 +1,13 @@
 /* run.config
    STDOPT:+"-copy"
 */
-int main(unsigned short bit) 
+
+void basic(void)
+{
+  __asm__ ("xor %eax, %eax\n\t");
+}
+
+int main(unsigned short bit)
 {
   asm goto ("1: jmp %l[t_no]\n"
        /* skipping size check since replacement size = 0 */
diff --git a/tests/syntax/assembly_gmp.c b/tests/syntax/assembly_gmp.c
index 516c86c68e94b1335c157148742b0f8840ab8bf2..91147a158763ae13d17eecc141f65177efbffdcc 100644
--- a/tests/syntax/assembly_gmp.c
+++ b/tests/syntax/assembly_gmp.c
@@ -52,7 +52,7 @@ File modified by CEA LIST for inclusion in Frama-C test suite
 
 #include "stddef.h"
 
-#ifdef __FC_MACHDEP_X86_32
+#ifdef __FC_MACHDEP_GCC_X86_32
 #define GMP_LIMB_BITS 32
 #define add_mssaaaa(m, s1, s0, a1, a0, b1, b0)				\
   __asm__ (  "add	%6, %k2\n\t"					\
@@ -63,7 +63,7 @@ File modified by CEA LIST for inclusion in Frama-C test suite
 	     "%2" ((USItype)(a0)), "g" ((USItype)(b0)))
 #endif
 
-#ifdef __FC_MACHDEP_X86_64
+#ifdef __FC_MACHDEP_GCC_X86_64
 #define GMP_LIMB_BITS 64
 #define add_mssaaaa(m, s1, s0, a1, a0, b1, b0)				\
   __asm__ (  "add	%6, %q2\n\t"					\
diff --git a/tests/syntax/copy_logic.i b/tests/syntax/copy_logic.i
index 453b6078d2c10b8b8ac4d9d09fb4e660985f4816..271bdce7af4fbd5e66c5393e3a7078be00677bbc 100644
--- a/tests/syntax/copy_logic.i
+++ b/tests/syntax/copy_logic.i
@@ -1,5 +1,5 @@
 /* run.config
-   STDOPT: +"-copy" +"-val"
+   STDOPT: +"-copy" +"-eva"
  */
 
 /*@ predicate p(int x); */
diff --git a/tests/syntax/copy_visitor.i b/tests/syntax/copy_visitor.i
index aa7979e8dbbf1d63adc60dcd671062ce1aa9f8cb..5d4fe0c44c0deb4b80f47c916ca55e43e9f1015b 100644
--- a/tests/syntax/copy_visitor.i
+++ b/tests/syntax/copy_visitor.i
@@ -1,5 +1,5 @@
 /* run.config
-   STDOPT: +"-copy -val -val-show-progress"
+   STDOPT: +"-copy -eva -eva-show-progress"
  */
 struct S {
   int a;
diff --git a/tests/syntax/extern_init.i b/tests/syntax/extern_init.i
index f89039fe9960277efba6698e2db4628e804de50e..f236a513e9376c46b56a968c5ac4f1e2095dea4f 100644
--- a/tests/syntax/extern_init.i
+++ b/tests/syntax/extern_init.i
@@ -1,6 +1,6 @@
 /* run.config
-OPT: @PTEST_DIR@/@PTEST_NAME@_1.i @PTEST_DIR@/@PTEST_NAME@_2.i -val -val-show-progress
-OPT: @PTEST_DIR@/@PTEST_NAME@_2.i @PTEST_DIR@/@PTEST_NAME@_1.i -val -val-show-progress
+OPT: @PTEST_DIR@/@PTEST_NAME@_1.i @PTEST_DIR@/@PTEST_NAME@_2.i -eva -eva-show-progress
+OPT: @PTEST_DIR@/@PTEST_NAME@_2.i @PTEST_DIR@/@PTEST_NAME@_1.i -eva -eva-show-progress
 */
 extern int a[] ;
 
diff --git a/tests/syntax/loop-case-switch-for-unroll.c b/tests/syntax/loop-case-switch-for-unroll.c
index 7ff0d344b7339b5fcb675fb62c1c6d984c13eff8..c379555af57ec055957c8c275177345fa51eb177 100644
--- a/tests/syntax/loop-case-switch-for-unroll.c
+++ b/tests/syntax/loop-case-switch-for-unroll.c
@@ -1,7 +1,7 @@
 /* run.config
-   STDOPT: +"-slevel 100 -val"
-   STDOPT: +"-ulevel 1 -slevel 100 -val"
-   STDOPT: +"-ulevel 2 -slevel 100 -val"
+   STDOPT: +"-slevel 100 -eva"
+   STDOPT: +"-ulevel 1 -slevel 100 -eva"
+   STDOPT: +"-ulevel 2 -slevel 100 -eva"
    COMMENT: compile and run with GCC, save output to a file, and compare it to
    the result of Frama-C piped to:
      "| grep Frama_C_show_each | sed 's/^.*Frama_C_show_each_//'"
diff --git a/tests/syntax/oracle/asm_goto.res.oracle b/tests/syntax/oracle/asm_goto.res.oracle
index 6adad0703a4b063ba99f11a63fa53fd9f07b281a..d54b25a180c938d97c226c0ea128585e9a4af754 100644
--- a/tests/syntax/oracle/asm_goto.res.oracle
+++ b/tests/syntax/oracle/asm_goto.res.oracle
@@ -1,5 +1,11 @@
 [kernel] Parsing tests/syntax/asm_goto.i (no preprocessing)
 /* Generated by Frama-C */
+void basic(void)
+{
+  __asm__ ("xor %eax, %eax\n\t");
+  return;
+}
+
 int main(unsigned short bit)
 {
   int __retres;
diff --git a/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle b/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle
index b08086fa1189c8a19bfdcd146efae1e6164eaa05..0300123cdfbf01077c59d4444adf412a34f2d27c 100644
--- a/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle
+++ b/tests/syntax/oracle/copy_visitor_bts_1073.0.res.oracle
@@ -39,7 +39,7 @@ int g1(int y)
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
  */
-int printf_va_1(char const *format);
+int printf_va_1(char const * __restrict format);
 
 /*@ requires valid_read_string(format);
     requires valid_read_string(param1);
@@ -53,7 +53,7 @@ int printf_va_1(char const *format);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             *(param1 + (0 ..)), param0;
  */
-int printf_va_2(char const *format, int param0, char *param1);
+int printf_va_2(char const * __restrict format, int param0, char *param1);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -66,7 +66,7 @@ int printf_va_2(char const *format, int param0, char *param1);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_3(char const *format, int param0);
+int printf_va_3(char const * __restrict format, int param0);
 
 int main(int argc, char **argv)
 {
diff --git a/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle b/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle
index abab08b18e01af58d1da88c6fe19b31b1d214cc0..1ec4c4a71b0e1cb79cb80015b4b33e280d12c0b7 100644
--- a/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle
+++ b/tests/syntax/oracle/copy_visitor_bts_1073.1.res.oracle
@@ -29,7 +29,7 @@ int g(int y)
       \from (indirect: __fc_stdout->__fc_FILE_id),
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..)));
  */
-int printf_va_1(char const *format);
+int printf_va_1(char const * __restrict format);
 
 /*@ requires valid_read_string(format);
     requires valid_read_string(param1);
@@ -43,7 +43,7 @@ int printf_va_1(char const *format);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             *(param1 + (0 ..)), param0;
  */
-int printf_va_2(char const *format, int param0, char *param1);
+int printf_va_2(char const * __restrict format, int param0, char *param1);
 
 /*@ requires valid_read_string(format);
     assigns \result, __fc_stdout->__fc_FILE_data;
@@ -56,7 +56,7 @@ int printf_va_2(char const *format, int param0, char *param1);
             __fc_stdout->__fc_FILE_data, (indirect: *(format + (0 ..))),
             param0;
  */
-int printf_va_3(char const *format, int param0);
+int printf_va_3(char const * __restrict format, int param0);
 
 int main(int argc, char **argv)
 {
diff --git a/tests/syntax/oracle/volatile_clause.res.oracle b/tests/syntax/oracle/volatile_clause.res.oracle
index 3e1cc563b886c7ed217b46eeec6f78ce7b58bad2..026eace2991033360e63f17e1cc54130de46ef26 100644
--- a/tests/syntax/oracle/volatile_clause.res.oracle
+++ b/tests/syntax/oracle/volatile_clause.res.oracle
@@ -10,6 +10,11 @@
 /* Generated by Frama-C */
 typedef unsigned int volatile Vunsigned;
 typedef int const Cint;
+enum __anonenum_Enum_1 {
+    e = -1
+};
+typedef enum __anonenum_Enum_1 Enum;
+typedef Enum const CEnum;
 unsigned int g(Vunsigned *q);
 
 unsigned int f(unsigned int volatile *q);
@@ -92,5 +97,23 @@ int wr_ci400(int const volatile *p, int const v);
 /*@ volatile ci100 writes wr_ci100; */
 /*@ volatile ci200 writes wr_ci200; */
 /*@ volatile ci300 writes wr_ci300; */
-/*@ volatile ci400 writes wr_ci400; */
+/*@ volatile ci400 writes wr_ci400;
+*/
+Enum volatile e3;
+Enum wr_e3(Enum volatile *p, Enum const v);
+
+/*@ volatile e3 writes wr_e3;
+*/
+Enum fe(Enum a);
+
+void ge(void)
+{
+  e3 = fe(e3);
+  return;
+}
+
+CEnum volatile ce1;
+CEnum volatile ce2;
+CEnum volatile ce3;
+CEnum volatile ce4;
 
diff --git a/tests/syntax/unroll_labels.i b/tests/syntax/unroll_labels.i
index ece369aa07bfe1cfee932ab297c638c15a9e8ede..16fd8a5807b47b8aaae954366ad91564e839c41e 100644
--- a/tests/syntax/unroll_labels.i
+++ b/tests/syntax/unroll_labels.i
@@ -1,6 +1,6 @@
 /* run.config
-  STDOPT: +"-val -val-show-progress"
-  STDOPT: +"-val -val-show-progress -main main2 -slevel 3"
+  STDOPT: +"-eva -eva-show-progress"
+  STDOPT: +"-eva -eva-show-progress -main main2 -slevel 3"
 */
 enum { SIX = 6 } ;
 volatile foo;
diff --git a/tests/syntax/unroll_visit.i b/tests/syntax/unroll_visit.i
index fc3a9b126d0474c3ab08b233c0f947d65d0d05a3..f086d3ab95fe99c1d63559bd48f58b21ba9e8596 100644
--- a/tests/syntax/unroll_visit.i
+++ b/tests/syntax/unroll_visit.i
@@ -1,5 +1,5 @@
 /* run.config
-   STDOPT: +"-val -val-show-progress -deps -out -input -deps"
+   STDOPT: +"-eva -eva-show-progress -deps -out -input -deps"
  */
 void main() {
    /*@ loop pragma UNROLL 2; */
diff --git a/tests/syntax/volatile_clause.i b/tests/syntax/volatile_clause.i
index 7cd7df5c47f2afca3b19a3cb65550d3eae442772..140ca72f66f944c43ac3ed408f935cbbc3f1ffda 100644
--- a/tests/syntax/volatile_clause.i
+++ b/tests/syntax/volatile_clause.i
@@ -59,3 +59,22 @@ int  wr_ci400 (const int volatile *p, const int v) ;
 //@ volatile ci200 writes wr_ci200;
 //@ volatile ci300 writes wr_ci300;
 //@ volatile ci400 writes wr_ci400;
+
+typedef enum { e=-1} Enum;
+volatile Enum e3;
+Enum  wr_e3 (Enum volatile *p, const Enum v) ;
+
+//@ volatile e3 writes wr_e3;
+
+Enum fe(Enum a);
+void ge(void) {
+  e3 = fe(e3);
+}
+
+typedef const Enum CEnum ;
+volatile CEnum ce1, ce2, ce3, ce4;
+
+CEnum wr_ce1 (CEnum volatile *p, const Enum v) ;
+CEnum wr_ce2 (const Enum volatile *p, const Enum v) ;
+Enum  wr_ce3 (CEnum volatile *p, const Enum v) ;
+Enum  wr_ce4 (const Enum volatile *p, const Enum v) ;
diff --git a/tests/test_config b/tests/test_config
index a91db8af8058d7c47d9cfe18fc4cf4f15ddc1cfc..2bc92fd4aeaef3826e3b1bbe196cc94e70e5b7d6 100644
--- a/tests/test_config
+++ b/tests/test_config
@@ -1,2 +1,2 @@
-MACRO: VALUECONFIG -val-show-progress -no-autoload-plugins -load-module from,inout,eva,scope,variadic
-OPT: -val @VALUECONFIG@ -journal-disable -out -input -deps
+MACRO: VALUECONFIG -eva-show-progress -no-autoload-plugins -load-module from,inout,eva,scope,variadic
+OPT: -eva @VALUECONFIG@ -journal-disable -out -input -deps
diff --git a/tests/test_config_apron b/tests/test_config_apron
index c42178ee90327b3cdd4047557631a20ad9f7cd20..322d4a9bc6a2ce918eaa1a51add04bfcba58b4da 100644
--- a/tests/test_config_apron
+++ b/tests/test_config_apron
@@ -1,2 +1,2 @@
-MACRO: VALUECONFIG -val-show-progress -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-apron-oct -value-msg-key experimental-ok
-OPT: -val @VALUECONFIG@ -journal-disable -out -input -deps
+MACRO: VALUECONFIG -eva-show-progress -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-apron-oct -eva-msg-key experimental-ok
+OPT: -eva @VALUECONFIG@ -journal-disable -out -input -deps
diff --git a/tests/test_config_bitwise b/tests/test_config_bitwise
index 80b0c0bf343a65d3e68df45074b0489264226d47..8440d81deff7f93a9ffa247948f1249605339f70 100644
--- a/tests/test_config_bitwise
+++ b/tests/test_config_bitwise
@@ -1,2 +1,2 @@
-MACRO: VALUECONFIG -val-show-progress -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-bitwise-domain
-OPT: -val @VALUECONFIG@ -journal-disable -out -input -deps
+MACRO: VALUECONFIG -eva-show-progress -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-bitwise-domain
+OPT: -eva @VALUECONFIG@ -journal-disable -out -input -deps
diff --git a/tests/test_config_equalities b/tests/test_config_equalities
index 4aa37afb623c4d5280f48dbd0b5a8a9c7f467f21..18f6799ed4b473b5b0af8d2cbfa888c5c7b327a8 100644
--- a/tests/test_config_equalities
+++ b/tests/test_config_equalities
@@ -1,2 +1,2 @@
-MACRO: VALUECONFIG -val-show-progress -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-equality-domain
-OPT: -val @VALUECONFIG@ -journal-disable -out -input -deps
+MACRO: VALUECONFIG -eva-show-progress -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-equality-domain
+OPT: -eva @VALUECONFIG@ -journal-disable -out -input -deps
diff --git a/tests/test_config_gauges b/tests/test_config_gauges
index 0f82d8f8677b84eb3a5775cfb565de06c36531b7..1840804ec6c6798661e77a1e611104ced98e21f3 100644
--- a/tests/test_config_gauges
+++ b/tests/test_config_gauges
@@ -1,2 +1,2 @@
-MACRO: VALUECONFIG -val-show-progress -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-gauges-domain
-OPT: -val @VALUECONFIG@ -journal-disable -out -input -deps
+MACRO: VALUECONFIG -eva-show-progress -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-gauges-domain
+OPT: -eva @VALUECONFIG@ -journal-disable -out -input -deps
diff --git a/tests/test_config_symblocs b/tests/test_config_symblocs
index 0b0e7b910bea4e0ea909a366512070d373d7abf6..197dd499d60f0879ac68e95ff5fd1d26c6b7dbfc 100644
--- a/tests/test_config_symblocs
+++ b/tests/test_config_symblocs
@@ -1,2 +1,2 @@
-MACRO: VALUECONFIG -val-show-progress -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-symbolic-locations-domain
-OPT: -val @VALUECONFIG@ -journal-disable -out -input -deps
+MACRO: VALUECONFIG -eva-show-progress -no-autoload-plugins -load-module from,inout,eva,scope,variadic -eva-symbolic-locations-domain
+OPT: -eva @VALUECONFIG@ -journal-disable -out -input -deps
diff --git a/tests/value/abstract_struct_1.c b/tests/value/abstract_struct_1.c
index a2e852a24194ce359208884f3113ff7c5d4b5818..ccc737e525a0b5ae85217e983ea5e078f6b9080b 100644
--- a/tests/value/abstract_struct_1.c
+++ b/tests/value/abstract_struct_1.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: #"tests/value/abstract_struct_2.c -lib-entry -value-msg-key initial-state"
+   STDOPT: #"tests/value/abstract_struct_2.c -lib-entry -eva-msg-key initial-state"
 */
 #include "share/libc/stdlib.h"
 
diff --git a/tests/value/align_char_array.c b/tests/value/align_char_array.c
index dfdc0fbc6ba9bf5069330cb042e5a15554562a69..47c94d0dff2742ca5bc640b82e2f9e392dd4a751 100644
--- a/tests/value/align_char_array.c
+++ b/tests/value/align_char_array.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module inout,eva -val @VALUECONFIG@ -cpp-extra-args="-DPTEST" -journal-disable
+   OPT: -no-autoload-plugins -load-module inout,eva -eva @VALUECONFIG@ -cpp-extra-args="-DPTEST" -journal-disable
 */
 
 
diff --git a/tests/value/array_initializer.i b/tests/value/array_initializer.i
index 197f3c1c7f8e2f4601ddf5e1bff0686aa7690e40..37bce1c25946172877b9df83ffa41418f038821e 100644
--- a/tests/value/array_initializer.i
+++ b/tests/value/array_initializer.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module inout,eva -val @VALUECONFIG@ -then -val-initialization-padding-globals maybe
+   OPT: -no-autoload-plugins -load-module inout,eva -eva @VALUECONFIG@ -then -eva-initialization-padding-globals maybe
 */
 
 int t[5] = { [2] = 3 };
diff --git a/tests/value/array_zero_length.i b/tests/value/array_zero_length.i
index bdcacb2414070ac87e2343ebd8ee355bd19bb8e5..68f536ad5870272b356d4224bfe88b5edefaa2a1 100644
--- a/tests/value/array_zero_length.i
+++ b/tests/value/array_zero_length.i
@@ -1,7 +1,7 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module inout,eva -val @VALUECONFIG@ -journal-disable -machdep gcc_x86_32
-   OPT: -no-autoload-plugins -load-module inout,eva -val @VALUECONFIG@ -lib-entry -journal-disable -machdep gcc_x86_32
-   OPT: -no-autoload-plugins -load-module inout,eva -val @VALUECONFIG@ -lib-entry -journal-disable
+   OPT: -no-autoload-plugins -load-module inout,eva -eva @VALUECONFIG@ -journal-disable -machdep gcc_x86_32
+   OPT: -no-autoload-plugins -load-module inout,eva -eva @VALUECONFIG@ -lib-entry -journal-disable -machdep gcc_x86_32
+   OPT: -no-autoload-plugins -load-module inout,eva -eva @VALUECONFIG@ -lib-entry -journal-disable
 */
 
 char T[];
diff --git a/tests/value/automalloc.i b/tests/value/automalloc.i
index ff94e60809e741f9391804f5ffaff618b6b2d42a..1d4c6f431f5c5d88d18f63a1e1657217bbbb7897 100644
--- a/tests/value/automalloc.i
+++ b/tests/value/automalloc.i
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: #"-no-val-builtins-auto"
+   STDOPT: #"-eva-no-builtins-auto"
 */
 typedef unsigned int size_t;
 
diff --git a/tests/value/base_addr_offset_block_length.i b/tests/value/base_addr_offset_block_length.i
index 1fa325d6b14b3fd0da031a1f496e2ab737f870f4..6242687662def92ef6f9d0ca4039c63108700f21 100644
--- a/tests/value/base_addr_offset_block_length.i
+++ b/tests/value/base_addr_offset_block_length.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module inout,eva -val @VALUECONFIG@ -context-width 3 -then -slevel 3
+   OPT: -no-autoload-plugins -load-module inout,eva -eva @VALUECONFIG@ -context-width 3 -then -slevel 3
 */
 
 
diff --git a/tests/value/behavior_statuses.i b/tests/value/behavior_statuses.i
index f2c152acfd8131ca49a7fb34cbc41e636f87c5c1..6c372018dc4355578450444f7d60d3b587b9bb33 100644
--- a/tests/value/behavior_statuses.i
+++ b/tests/value/behavior_statuses.i
@@ -1,6 +1,6 @@
 /* run.config*
    STDOPT: +"-kernel-msg-key prop-status,-prop-status:register"
-   STDOPT: +"-kernel-msg-key prop-status,-prop-status:register -val-use-spec f"
+   STDOPT: +"-kernel-msg-key prop-status,-prop-status:register -eva-use-spec f"
 */
 
 struct s { int t; };
diff --git a/tests/value/behaviors1.i b/tests/value/behaviors1.i
index e84bd09834ac6fb1092c422eb71927224ddbc37b..60b16f2b4c42320575607e0a3085fd09be5617a9 100644
--- a/tests/value/behaviors1.i
+++ b/tests/value/behaviors1.i
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +"-value-verbose 2"
+   STDOPT: +"-eva-verbose 2"
 */
 
 /*@
diff --git a/tests/value/behaviors2.c b/tests/value/behaviors2.c
index 64201a79484b65c1e3335c0003d25a4bddff9eea..9fafaf582c20883a1c1cf5c2f8acf47b00cd7fa3 100644
--- a/tests/value/behaviors2.c
+++ b/tests/value/behaviors2.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +"-value-verbose 2"
+   STDOPT: +"-eva-verbose 2"
 */
 
 #include <stdlib.h>
diff --git a/tests/value/big_lib_entry.i b/tests/value/big_lib_entry.i
index 46c016e8fd74257d266ddbdd9fd761d2348fbc6c..c8f5b717e3d969ee3c8284d57de157f8b0d333d7 100644
--- a/tests/value/big_lib_entry.i
+++ b/tests/value/big_lib_entry.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module inout,eva -val @VALUECONFIG@ -lib-entry -context-width 4 -val-initialization-padding-globals no
+   OPT: -no-autoload-plugins -load-module inout,eva -eva @VALUECONFIG@ -lib-entry -context-width 4 -eva-initialization-padding-globals no
 */
 
 typedef struct {
diff --git a/tests/value/bitfield_longlong.c b/tests/value/bitfield_longlong.c
index 62b3cf3571fec376c459e0db965b34170dbbb85c..f2736abcc60d1b5cf3ca87090497bb2a8c9ad58e 100644
--- a/tests/value/bitfield_longlong.c
+++ b/tests/value/bitfield_longlong.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module inout,eva -val @VALUECONFIG@ -cpp-extra-args="-Dprintf=Frama_C_show_each" -journal-disable
+   OPT: -no-autoload-plugins -load-module inout,eva -eva @VALUECONFIG@ -cpp-extra-args="-Dprintf=Frama_C_show_each" -journal-disable
 */
 struct X50 {
  long long int z:50;
diff --git a/tests/value/bitwise.i b/tests/value/bitwise.i
index 765c7bcb82a6d3e836c7cb5991573b88f3993882..7803ea7f36d1538b8c338aa8002c10eebd591e1c 100644
--- a/tests/value/bitwise.i
+++ b/tests/value/bitwise.i
@@ -1,6 +1,80 @@
+/* run.config*
+   STDOPT: +"-big-ints-hex 256"
+*/
+
+/*@ assigns \result \from min, max;
+    ensures min <= \result <= max ;
+ */
+int Frama_C_interval(int min, int max);
+
+
 volatile long v;
-  
-void main_and_or_rel(void)
+volatile unsigned char input[3];
+
+
+extern unsigned short s;
+
+void test1(void) {
+  int or1, or2, or3, or4, or5;
+  int and1, and2, and3, and4, xor1, xor2;
+  unsigned int uand1, uand2, uand3, uand4, uand5;
+  int a,b,c,d,e;
+
+  a = Frama_C_interval(3,17);
+  b = Frama_C_interval(-3,17);
+  c = Frama_C_interval(13,27);
+  or1 = a | b;
+  or2 = a | c;
+  or3 = b | c;
+
+  and1 = a & b;
+  and2 = a & c;
+  and3 = b & c;
+
+  uand4 = 0xFFFFFFF8U & (unsigned int) c;
+
+  xor1 = a ^ a;
+  xor2 = a ^ b;
+
+  unsigned i1 = s * 2;
+  unsigned i2 = s * 4;
+  unsigned v1 = i1 & i2;
+  unsigned v2 = i1 | i2;
+
+  unsigned mask07 = (16 * s + 13) & 0x7;
+  unsigned mask0f = (16 * s + 13) & 0xF;
+  unsigned mask1f = (16 * s + 13) & 0x1F;
+}
+
+void test2(void) {
+  int x = Frama_C_interval(62,110) & ~(7);
+}
+
+void test3(void) {
+  int x = (input[0] & 0x10 ? -1^255 : 0) | input[1];
+  int y = (input[0] & 0x20 ? -1^255 : 0) | input[2];
+}
+
+int test4(void)
+{
+  unsigned something = v;
+  //@ slevel 2;
+  //@ assert something >= 0x80000000 || something < 0x80000000;
+  unsigned topBitOnly = something & 0x80000000;
+  Frama_C_show_each_1(something,topBitOnly);
+  something ^= topBitOnly;
+  Frama_C_show_each_2(something,something & 0x80000000,topBitOnly);
+  if (something & 0x80000000) {
+    Frama_C_show_each_true(something);
+    return 0;
+  } 
+  else {
+    Frama_C_show_each_false(something);
+    return 1;
+  }
+}
+
+void and_or_rel(void)
 {
   long x, r1, r2, r3;
 
@@ -19,13 +93,13 @@ void main_and_or_rel(void)
 
 }
 
-void main_bitwise() {
+void double_neg() {
   unsigned int i = 5;
   unsigned int j = ~i;
   int k = ~(int)i;
 }
 
-void main_bug1()
+void bug1()
 {
   unsigned char msb = 3 << 1;
   unsigned char lsb = 3;
@@ -35,22 +109,22 @@ void main_bug1()
   par = (unsigned char)(((int)par & 0x0F) ^ ((int)par >> 4));
 }
 
-void main_bug2() {
+void bug2() {
   int t = v ? 1 : 2;
   if ((t & 7) == 1) { Frama_C_show_each_then(); } else { Frama_C_show_each_else(); }
 }
 
 /* See issue Value/Value#82 on the bitwise domain. */
-void main_bug3 () {
+void bug3 () {
   unsigned long l_1180 = 10022045811482781039u;
   unsigned long foo = ~ (l_1180 ^ (unsigned long)(l_1180 != 0UL));
-  Frama_C_dump_each();
+  Frama_C_show_each(l_1180, foo);
   foo ^= 0;
 }
 
 /* Due to signedness mismatches, the bitwise domain incorrectly returned
    Bottom on one of the branches. */
-void main_bug4() {
+void bug4() {
   int g_2 = v ? -1 : 0;
   short tmp = -0x1578;
   if ((g_2 | (int)tmp) & 1) {
@@ -60,11 +134,15 @@ void main_bug4() {
   }
 }
 
-void main() {
-  main_and_or_rel();
-  main_bitwise();
-  main_bug1();
-  main_bug2();
-  main_bug3();
-  main_bug4();
+void main(void) {
+  test1();
+  test2();
+  test3();
+  test4();
+  and_or_rel();
+  double_neg();
+  bug1();
+  bug2();
+  bug3();
+  bug4();
 }
diff --git a/tests/value/bitwise_or.c b/tests/value/bitwise_or.c
deleted file mode 100644
index 4f10b3da2a75fad66d640ffe9be29d7ae0524834..0000000000000000000000000000000000000000
--- a/tests/value/bitwise_or.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* run.config*
-   OPT: -no-autoload-plugins -load-module inout,eva -big-ints-hex 256 -val @VALUECONFIG@ -journal-disable
-*/
-#include "__fc_builtin.h"
-
-int or1, or2, or3, or4, or5;
-int and1, and2, and3, and4, xor1, xor2;
-unsigned int uand1, uand2, uand3, uand4, uand5;
-int a,b,c,d,e;
-extern unsigned short s;
-
-int main(){
-  a = Frama_C_interval(3,17);
-  b = Frama_C_interval(-3,17);
-  c = Frama_C_interval(13,27);
-  or1 = a | b;
-  or2 = a | c;
-  or3 = b | c;
-
-  and1 = a & b;
-  and2 = a & c;
-  and3 = b & c;
-
-  uand4 = 0xFFFFFFF8U & (unsigned int) c;
-
-  xor1 = a ^ a;
-  xor2 = a ^ b;
-
-  unsigned i1 = s * 2;
-  unsigned i2 = s * 4;
-  unsigned v1 = i1 & i2;
-  unsigned v2 = i1 | i2;
-  
-  unsigned mask07 = (16 * s + 13) & 0x7;
-  unsigned mask0f = (16 * s + 13) & 0xF;
-  unsigned mask1f = (16 * s + 13) & 0x1F;
-
-  return 0;
-}
diff --git a/tests/value/bts1306.i b/tests/value/bts1306.i
index ff47ce401f23d88c799c60db674a00432cc1abf5..9510829da639426ef19637cd1cb1a0e0806099ba 100644
--- a/tests/value/bts1306.i
+++ b/tests/value/bts1306.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module from,inout,eva -constfold -slevel 0 -val @VALUECONFIG@ -print -then -slevel 10 -val -print
+   OPT: -no-autoload-plugins -load-module from,inout,eva -constfold -slevel 0 -eva @VALUECONFIG@ -print -then -slevel 10 -eva -print
    */
 
 void g(double x) { double y= x*x; }
diff --git a/tests/value/builtins_split.c b/tests/value/builtins_split.c
index 4c21814dc880123319c7e2dccfdea6403f7588c8..a04c5fcd46b8fc0e048b6a8e50fc2fce6d7b9639 100644
--- a/tests/value/builtins_split.c
+++ b/tests/value/builtins_split.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +"-val-show-progress -slevel 100"
+   STDOPT: +"-eva-show-progress -slevel 100"
 */
 
 int *p;
diff --git a/tests/value/case_analysis.i b/tests/value/case_analysis.i
index 905736ca4d4c7357b8dbbd241aff0aae6b523337..ec27af6dac1b22bd763942951b3099bc8c3bef52 100644
--- a/tests/value/case_analysis.i
+++ b/tests/value/case_analysis.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module inout,eva -val @VALUECONFIG@ -slevel 30 -journal-disable -float-normal
+   OPT: -no-autoload-plugins -load-module inout,eva -eva @VALUECONFIG@ -slevel 30 -journal-disable -float-normal
 
 */
 
diff --git a/tests/value/cmp_ptr.i b/tests/value/cmp_ptr.i
index 443eb8e1f06b0568cc8e622fa6039f3699903aed..0d499b504eb8f99916d6587a98920d6df884e669 100644
--- a/tests/value/cmp_ptr.i
+++ b/tests/value/cmp_ptr.i
@@ -1,6 +1,6 @@
 /* run.config*
-   STDOPT: #"-main main -value-msg-key pointer-comparison"
-   STDOPT: #"-undefined-pointer-comparison-propagate-all -value-msg-key pointer-comparison"
+   STDOPT: #"-main main -eva-msg-key pointer-comparison"
+   STDOPT: #"-undefined-pointer-comparison-propagate-all -eva-msg-key pointer-comparison"
 */
 
 int *p,T[10]={0,1,2,3,4,5,6,7,8,9};
diff --git a/tests/value/cmp_ptr_follow_all_branches.i b/tests/value/cmp_ptr_follow_all_branches.i
index 5f3a6bba1f18cee81a57587773858e7f98193827..2e5292ae2db3c924c1586872f139a8dfd3a55378 100644
--- a/tests/value/cmp_ptr_follow_all_branches.i
+++ b/tests/value/cmp_ptr_follow_all_branches.i
@@ -1,6 +1,6 @@
 /* run.config*
-   STDOPT: #"-value-msg-key pointer-comparison"
-   STDOPT: #"-undefined-pointer-comparison-propagate-all -value-msg-key pointer-comparison"
+   STDOPT: #"-eva-msg-key pointer-comparison"
+   STDOPT: #"-undefined-pointer-comparison-propagate-all -eva-msg-key pointer-comparison"
 */
 
 int a;
diff --git a/tests/value/cond_integer_cast_of_float.i b/tests/value/cond_integer_cast_of_float.i
index cf7821d3baf29c99e359750c0e667f63d9c14570..3d7605a20e54fd48b99cd0886bb99435dd785afa 100644
--- a/tests/value/cond_integer_cast_of_float.i
+++ b/tests/value/cond_integer_cast_of_float.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module eva -val @VALUECONFIG@ -no-results -then -float-hex -main mainbis
+   OPT: -no-autoload-plugins -load-module eva -eva @VALUECONFIG@ -no-results -then -float-hex -main mainbis
 */
 typedef double D;
 typedef float F;
diff --git a/tests/value/const_typedef.i b/tests/value/const_typedef.i
index 7506998ca7aacbefd2d4adb3c2bf30c43297c2d3..5bbbe2b4ac61247ec64546e56e18a1d24862cc0e 100644
--- a/tests/value/const_typedef.i
+++ b/tests/value/const_typedef.i
@@ -1,5 +1,5 @@
 /* run.config*
-  OPT: -no-autoload-plugins -load-module inout,eva -print -then -val @VALUECONFIG@ -lib-entry -no-print
+  OPT: -no-autoload-plugins -load-module inout,eva -print -then -eva @VALUECONFIG@ -lib-entry -no-print
 */
 
 typedef int INT[3][3];
diff --git a/tests/value/constarraystructlibentry.i b/tests/value/constarraystructlibentry.i
index d48ca76a5c95ae5a13efdc67a186384be5c2c0d1..60b87c71f9c332c721ce10dc7b097f59eca92fef 100644
--- a/tests/value/constarraystructlibentry.i
+++ b/tests/value/constarraystructlibentry.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module inout,eva -val @VALUECONFIG@ -lib-entry -val-initialization-padding-globals yes -then -val-initialization-padding-globals no
+   OPT: -no-autoload-plugins -load-module inout,eva -eva @VALUECONFIG@ -lib-entry -eva-initialization-padding-globals yes -then -eva-initialization-padding-globals no
 */
 
 const int t[] = { 1, 2, 3, 4, 5 } ;
diff --git a/tests/value/context_free.i b/tests/value/context_free.i
index 1a0cb36bf4040179cdaf2cd22cef5b8cad05fbac..c53e2fabea58b76808b04c0a7cd8ba9f242667bf 100644
--- a/tests/value/context_free.i
+++ b/tests/value/context_free.i
@@ -1,6 +1,6 @@
 /* run.config*
    GCC:
-   OPT: -no-autoload-plugins -load-module inout,eva -val @VALUECONFIG@ -lib-entry -main f -absolute-valid-range 0x200-0x199 -value-msg-key initial-state -journal-disable
+   OPT: -no-autoload-plugins -load-module inout,eva -eva @VALUECONFIG@ -lib-entry -main f -absolute-valid-range 0x200-0x199 -eva-msg-key initial-state -journal-disable
 */
 
 
diff --git a/tests/value/conversion.i b/tests/value/conversion.i
index 9150105e34fb45c40920e14c36b932bfced20611..a429feccfb7e509528b795e5f7ad1c70971c09c0 100644
--- a/tests/value/conversion.i
+++ b/tests/value/conversion.i
@@ -2,7 +2,7 @@
    STDOPT: +"-eva-warn-copy-indeterminate=-@all -then -eva-warn-copy-indeterminate=@all"
 */
 
-// Comments are given for cases where -val-warn-copy-indeterminate is not set
+// Comments are given for cases where -eva-warn-copy-indeterminate is not set
 
 volatile v;
 
diff --git a/tests/value/diff_apron b/tests/value/diff_apron
index 8c2cbc881293cc729e99add053c790e25a4e7d06..4db64f563c465c1d4e071079d9cb5ed7031b8f26 100644
--- a/tests/value/diff_apron
+++ b/tests/value/diff_apron
@@ -265,91 +265,80 @@ diff tests/value/oracle/fun_ptr.1.res.oracle tests/value/oracle_apron/fun_ptr.1.
 > [eva] Recording results for f
 > [eva] Done for function f
 diff tests/value/oracle/gauges.res.oracle tests/value/oracle_apron/gauges.res.oracle
-32,35d31
-< [eva] tests/value/gauges.c:19: Frama_C_show_each_0: {{ "in" }}
-< [eva] tests/value/gauges.c:21: Frama_C_show_each_1: {{ "in" }}
+38,39d37
 < [eva:alarm] tests/value/gauges.c:26: Warning: 
 <   signed overflow. assert l + 1 ≤ 2147483647;
-60,63d55
-< [eva] tests/value/gauges.c:41: Frama_C_show_each_0: {{ "in" }}
-< [eva] tests/value/gauges.c:43: Frama_C_show_each_1: {{ "in" }}
+70,71d67
 < [eva:alarm] tests/value/gauges.c:48: Warning: 
 <   signed overflow. assert l + 1 ≤ 2147483647;
-104a97,99
-> [eva] tests/value/gauges.c:83: Frama_C_show_each: {{ "outer" }}
-> [eva] tests/value/gauges.c:78: starting to merge loop iterations
-> [eva] tests/value/gauges.c:80: Frama_C_show_each: {{ "inner" }}
-110,114d104
-< [eva] tests/value/gauges.c:78: starting to merge loop iterations
-< [eva] tests/value/gauges.c:80: Frama_C_show_each: {{ "inner" }}
-< [eva] tests/value/gauges.c:83: Frama_C_show_each: {{ "outer" }}
-< [eva] tests/value/gauges.c:80: Frama_C_show_each: {{ "inner" }}
-< [eva] tests/value/gauges.c:83: Frama_C_show_each: {{ "outer" }}
-117c107
+113,114d108
+< [eva:alarm] tests/value/gauges.c:81: Warning: 
+<   signed overflow. assert k + 1 ≤ 2147483647;
+116,117d109
+< [eva:alarm] tests/value/gauges.c:84: Warning: 
+<   signed overflow. assert k + 1 ≤ 2147483647;
+123a116,117
+> [eva:alarm] tests/value/gauges.c:81: Warning: 
+>   signed overflow. assert k + 1 ≤ 2147483647;
+125c119,121
 < [eva] tests/value/gauges.c:86: Frama_C_show_each: [0..2147483647]
 ---
+> [eva:alarm] tests/value/gauges.c:84: Warning: 
+>   signed overflow. assert k + 1 ≤ 2147483647;
 > [eva] tests/value/gauges.c:86: Frama_C_show_each: [15..2147483647]
-131,132d120
+139,140d134
 < [eva:alarm] tests/value/gauges.c:99: Warning: 
 <   signed overflow. assert c + 1 ≤ 2147483647;
-179,180d166
+187,188d180
 < [eva:alarm] tests/value/gauges.c:140: Warning: 
 <   signed overflow. assert j + 1 ≤ 2147483647;
-291,292d276
+299,300d290
 < [eva:alarm] tests/value/gauges.c:220: Warning: 
 <   signed overflow. assert -2147483648 ≤ n - 1;
-307,308d290
+315,316d304
 < [eva:alarm] tests/value/gauges.c:240: Warning: 
 <   signed overflow. assert j + 1 ≤ 2147483647;
-310c292
+318c306
 <   Frama_C_show_each: {45; 46; 47; 48; 49; 50; 51}, [0..2147483647]
 ---
 >   Frama_C_show_each: {45; 46; 47; 48; 49; 50; 51}, [0..46]
-316,317d297
+324,325d311
 < [eva:alarm] tests/value/gauges.c:251: Warning: 
 <   signed overflow. assert j + 1 ≤ 2147483647;
-319c299
+327c313
 <   Frama_C_show_each: {48; 49; 50; 51; 52; 53; 54}, [0..2147483647]
 ---
 >   Frama_C_show_each: {48; 49; 50; 51; 52; 53; 54}, [0..49]
-325,326d304
+333,334d318
 < [eva:alarm] tests/value/gauges.c:263: Warning: 
 <   signed overflow. assert j + 1 ≤ 2147483647;
-328c306
+336c320
 <   Frama_C_show_each: {-59; -58; -57; -56; -55; -54; -53}, [0..2147483647]
 ---
 >   Frama_C_show_each: {-59; -58; -57; -56; -55; -54; -53}, [0..65]
-334,335d311
+342,343d325
 < [eva:alarm] tests/value/gauges.c:274: Warning: 
 <   signed overflow. assert j + 1 ≤ 2147483647;
-337c313
+345c327
 <   Frama_C_show_each: {-64; -63; -62; -61; -60; -59; -58}, [0..2147483647]
 ---
 >   Frama_C_show_each: {-64; -63; -62; -61; -60; -59; -58}, [0..70]
-345,346d320
+353,354d334
 < [eva:alarm] tests/value/gauges.c:293: Warning: 
 <   signed overflow. assert j + 1 ≤ 2147483647;
-348c322
+356c336
 <   Frama_C_show_each: {-593; -592; -591; -590; -589; -588}, [0..2147483647]
 ---
 >   Frama_C_show_each: {-593; -592; -591; -590; -589; -588}, [0..598]
-716c690
-<   l ∈ [4..2147483647]
----
->   l ∈ [4..101]
-721c695
-<   l ∈ [4..2147483647]
----
->   l ∈ [4..101]
-772c746
+780c760
 <   n ∈ [-2147483648..99]
 ---
 >   n ∈ [-2147483547..99]
-775c749
+783c763
 <   i ∈ [0..2147483647]
 ---
 >   i ∈ [10..2147483647]
-811c785
+819c799
 <   i ∈ [0..2147483647]
 ---
 >   i ∈ [0..21]
@@ -748,7 +737,9 @@ diff tests/value/oracle/precise_locations.res.oracle tests/value/oracle_apron/pr
 >   Called from tests/value/precise_locations.i:39.
 > [eva] Recording results for ct
 > [eva] Done for function ct
-37,40c49,64
+37,42c49,72
+< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
+< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
 < [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
 < [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
 < [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
@@ -770,14 +761,17 @@ diff tests/value/oracle/precise_locations.res.oracle tests/value/oracle_apron/pr
 >   Called from tests/value/precise_locations.i:39.
 > [eva] Recording results for ct
 > [eva] Done for function ct
-193,198d216
-< [eva] Done for function f
-< [eva] computing for function g <- main.
-<   Called from tests/value/precise_locations.i:49.
-< [eva] Done for function g
-< [eva] computing for function f <- main.
-<   Called from tests/value/precise_locations.i:48.
-518,525c536,567
+> [eva] computing for function ct <- main.
+>   Called from tests/value/precise_locations.i:39.
+> [eva] Recording results for ct
+> [eva] Done for function ct
+> [eva] computing for function ct <- main.
+>   Called from tests/value/precise_locations.i:39.
+> [eva] Recording results for ct
+> [eva] Done for function ct
+520,529c550,589
+< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
+< [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
 < [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
 < [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
 < [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
@@ -819,13 +813,14 @@ diff tests/value/oracle/precise_locations.res.oracle tests/value/oracle_apron/pr
 >   Called from tests/value/precise_locations.i:39.
 > [eva] Recording results for ct
 > [eva] Done for function ct
-736,741d777
-< [eva] computing for function f <- main.
-<   Called from tests/value/precise_locations.i:48.
-< [eva] Done for function f
-< [eva] computing for function g <- main.
-<   Called from tests/value/precise_locations.i:49.
-< [eva] Done for function g
+> [eva] computing for function ct <- main.
+>   Called from tests/value/precise_locations.i:39.
+> [eva] Recording results for ct
+> [eva] Done for function ct
+> [eva] computing for function ct <- main.
+>   Called from tests/value/precise_locations.i:39.
+> [eva] Recording results for ct
+> [eva] Done for function ct
 diff tests/value/oracle/precond.res.oracle tests/value/oracle_apron/precond.res.oracle
 49a50,51
 > [eva] computing for function f <- main.
@@ -977,39 +972,6 @@ diff tests/value/oracle/unroll_simple.res.oracle tests/value/oracle_apron/unroll
 <   j ∈ [-2147483648..-126]
 ---
 >   j ∈ {-250}
-diff tests/value/oracle/widen_non_constant.res.oracle tests/value/oracle_apron/widen_non_constant.res.oracle
-25c25
-<   Frama_C_show_each_in: {0; 1; 2}, [1..23]
----
->   Frama_C_show_each_in: [0..22], [1..23]
-27,28d26
-< [eva] tests/value/widen_non_constant.i:13: 
-<   Frama_C_show_each_in: [0..23], [1..23]
-44c42
-<   Frama_C_show_each_in: {0; 1; 2}, [1..23]
----
->   Frama_C_show_each_in: [0..22], [1..23]
-46,47d43
-< [eva] tests/value/widen_non_constant.i:29: 
-<   Frama_C_show_each_in: [0..25], [1..23]
-63c59
-<   Frama_C_show_each_in: {0; 1; 2}, [1..23]
----
->   Frama_C_show_each_in: [0..22], [1..23]
-65,70d60
-< [eva] tests/value/widen_non_constant.i:48: 
-<   Frama_C_show_each_in: [0..2147483647], [1..23]
-< [eva:alarm] tests/value/widen_non_constant.i:49: Warning: 
-<   out of bounds read. assert \valid_read(p + j);
-< [eva:alarm] tests/value/widen_non_constant.i:45: Warning: 
-<   signed overflow. assert j + 1 ≤ 2147483647;
-91c81
-<   j ∈ {23; 24; 25; 26}
----
->   j ∈ {23; 24; 25}
-diff tests/value/oracle/widen_on_non_monotonic.res.oracle tests/value/oracle_apron/widen_on_non_monotonic.res.oracle
-22a23
-> [eva] tests/value/widen_on_non_monotonic.i:26: starting to merge loop iterations
 diff tests/value/oracle/with_comment.res.oracle tests/value/oracle_apron/with_comment.res.oracle
 9,10d8
 < [eva:alarm] tests/value/with_comment.i:21: Warning: 
diff --git a/tests/value/diff_bitwise b/tests/value/diff_bitwise
index 29219259f932f06bb3ee7cd0bea4b6ccec489a42..be860471315a12c865ad8b280eee88bf57f61cda 100644
--- a/tests/value/diff_bitwise
+++ b/tests/value/diff_bitwise
@@ -9,35 +9,20 @@ diff tests/value/oracle/addition.res.oracle tests/value/oracle_bitwise/addition.
 >   {{ garbled mix of &{p1} (origin: Misaligned {tests/value/addition.i:52}) }}
 130a130
 >   {{ garbled mix of &{p2} (origin: Misaligned {tests/value/addition.i:56}) }}
-166,169c166,167
+166,168c166
 <   p10 ∈
 <      {{ garbled mix of &{p1}
 <       (origin: Arithmetic {tests/value/addition.i:52}) }}
-<   p11 ∈ [-2147483648..0]
 ---
 >   p10 ∈ {{ garbled mix of &{p1} }}
->   p11 ∈ [-2147483648..0],0%4
 358a357
 >   {{ garbled mix of &{p1} (origin: Misaligned {tests/value/addition.i:52}) }}
-397,400c396,397
+397,399c396
 <   p10 ∈
 <      {{ garbled mix of &{p1}
 <       (origin: Arithmetic {tests/value/addition.i:52}) }}
-<   p11 ∈ [-2147483648..0]
 ---
 >   p10 ∈ {{ garbled mix of &{p1} }}
->   p11 ∈ [-2147483648..0],0%4
-diff tests/value/oracle/bitwise_or.res.oracle tests/value/oracle_bitwise/bitwise_or.res.oracle
-57c57
-<   uand4 ∈ [8..24]
----
->   uand4 ∈ {8; 16; 24}
-63,64c63,64
-<   v1 ∈ [0..0x1FFFE],0%2
-<   v2 ∈ [0..0x3FFFF]
----
->   v1 ∈ [0..0x1FFFC],0%4
->   v2 ∈ [0..0x3FFFE],0%2
 diff tests/value/oracle/bitwise_pointer.res.oracle tests/value/oracle_bitwise/bitwise_pointer.res.oracle
 32,34c32
 < [eva] tests/value/bitwise_pointer.i:18: 
@@ -51,15 +36,6 @@ diff tests/value/oracle/bitwise_pointer.res.oracle tests/value/oracle_bitwise/bi
 <   The imprecision originates from Arithmetic {tests/value/bitwise_pointer.i:22}
 ---
 > [eva] tests/value/bitwise_pointer.i:22: Assigning imprecise value to p1.
-diff tests/value/oracle/cast.res.oracle tests/value/oracle_bitwise/cast.res.oracle
-71c71
-<   G ∈ [0..12]
----
->   G ∈ [2..12]
-89c89
-<   G ∈ [0..12]
----
->   G ∈ [2..12]
 diff tests/value/oracle/logic_ptr_cast.res.oracle tests/value/oracle_bitwise/logic_ptr_cast.res.oracle
 8,10c8
 < [eva] tests/value/logic_ptr_cast.i:8: 
diff --git a/tests/value/diff_equalities b/tests/value/diff_equalities
index 7120cfb086274487c1455db9fce565050865a079..dff0951199db5e7fd420203047add34788d4aa4f 100644
--- a/tests/value/diff_equalities
+++ b/tests/value/diff_equalities
@@ -116,10 +116,6 @@ diff tests/value/oracle/alias.6.res.oracle tests/value/oracle_equalities/alias.6
 <   x ∈ {0; 4; 33}
 ---
 >   x ∈ {33}
-diff tests/value/oracle/assigns.res.oracle tests/value/oracle_equalities/assigns.res.oracle
-143a144,145
->   more than 200(4294967296) elements to enumerate. Approximating.
-> [kernel] tests/value/assigns.i:104: 
 diff tests/value/oracle/backward_add_ptr.res.oracle tests/value/oracle_equalities/backward_add_ptr.res.oracle
 12c12
 <   Frama_C_show_each_only_a: {0; 1}, {{ &a }}, {0}
@@ -237,6 +233,11 @@ diff tests/value/oracle/backward_add_ptr.res.oracle tests/value/oracle_equalitie
 >     (origin: Arithmetic {tests/value/backward_add_ptr.c:178}) }}
 >   {{ garbled mix of &{b; c}
 >     (origin: Arithmetic {tests/value/backward_add_ptr.c:178}) }}
+diff tests/value/oracle/bitfield.res.oracle tests/value/oracle_equalities/bitfield.res.oracle
+132a133,135
+> [eva] tests/value/bitfield.i:71: 
+>   Frama_C_show_each:
+>   {{ garbled mix of &{b} (origin: Misaligned {tests/value/bitfield.i:70}) }}
 diff tests/value/oracle/bitwise_pointer.res.oracle tests/value/oracle_equalities/bitwise_pointer.res.oracle
 58c58
 <   x ∈ [0..9]
diff --git a/tests/value/diff_gauges b/tests/value/diff_gauges
index 3d1ff9f636a54499fdc1814c7b5e351655892a57..4bd4e2a505c9cb67d339bb60fb2210dc2dcd8e14 100644
--- a/tests/value/diff_gauges
+++ b/tests/value/diff_gauges
@@ -38,10 +38,6 @@ diff tests/value/oracle/for_loops.2.res.oracle tests/value/oracle_gauges/for_loo
 < [eva] tests/value/for_loops.c:43: Frama_C_show_each: [0..2147483647]
 ---
 > [eva] tests/value/for_loops.c:43: Frama_C_show_each: [0..1000]
-diff tests/value/oracle/for_loops.3.res.oracle tests/value/oracle_gauges/for_loops.3.res.oracle
-11a12,13
->   Frama_C_show_each_F: {0; 1; 2}, [0..2147483647]
-> [eva] tests/value/for_loops.c:55: 
 diff tests/value/oracle/from_termin.res.oracle tests/value/oracle_gauges/from_termin.res.oracle
 9a10
 > [eva] tests/value/from_termin.i:8: starting to merge loop iterations
@@ -49,41 +45,41 @@ diff tests/value/oracle/gauges.res.oracle tests/value/oracle_gauges/gauges.res.o
 25,26d24
 < [eva:alarm] tests/value/gauges.c:23: Warning: 
 <   signed overflow. assert -2147483648 ≤ j - 4;
-34,35d31
+38,39d35
 < [eva:alarm] tests/value/gauges.c:26: Warning: 
 <   signed overflow. assert l + 1 ≤ 2147483647;
-53,54d48
+57,58d52
 < [eva:alarm] tests/value/gauges.c:45: Warning: 
 <   signed overflow. assert -2147483648 ≤ j - 4;
-57a52,53
+61a56,57
 > [eva:alarm] tests/value/gauges.c:45: Warning: 
 >   signed overflow. assert -2147483648 ≤ j - 4;
-62,63d57
+70,71d65
 < [eva:alarm] tests/value/gauges.c:48: Warning: 
 <   signed overflow. assert l + 1 ≤ 2147483647;
-75,76d68
+83,84d76
 < [eva:alarm] tests/value/gauges.c:58: Warning: 
 <   accessing out of bounds index. assert j < 38;
-89,93d80
+97,101d88
 < [eva:alarm] tests/value/gauges.c:71: Warning: 
 <   out of bounds write. assert \valid(tmp);
 <                        (tmp from p++)
 < [eva] tests/value/gauges.c:72: Frama_C_show_each:
 < [eva] tests/value/gauges.c:72: Frama_C_show_each:
-105,106d91
+113,114d99
 < [eva:alarm] tests/value/gauges.c:81: Warning: 
 <   signed overflow. assert k + 1 ≤ 2147483647;
-108,109d92
+116,117d100
 < [eva:alarm] tests/value/gauges.c:84: Warning: 
 <   signed overflow. assert k + 1 ≤ 2147483647;
-117c100
+125c108
 < [eva] tests/value/gauges.c:86: Frama_C_show_each: [0..2147483647]
 ---
 > [eva] tests/value/gauges.c:86: Frama_C_show_each: {390}
-131,132d113
+139,140d121
 < [eva:alarm] tests/value/gauges.c:99: Warning: 
 <   signed overflow. assert c + 1 ≤ 2147483647;
-170,173c151,154
+178,181c159,162
 < [eva] tests/value/gauges.c:129: Frama_C_show_each: {{ &y + [4..36],0%4 }}
 < [eva] tests/value/gauges.c:129: Frama_C_show_each: {{ &y + [4..40],0%4 }}
 < [eva:alarm] tests/value/gauges.c:130: Warning: 
@@ -93,93 +89,93 @@ diff tests/value/oracle/gauges.res.oracle tests/value/oracle_gauges/gauges.res.o
 >   Frama_C_show_each: {{ &y + {4; 8; 12; 16; 20; 24} }}
 > [eva] tests/value/gauges.c:129: 
 >   Frama_C_show_each: {{ &y + {4; 8; 12; 16; 20; 24} }}
-179,180d159
+187,188d167
 < [eva:alarm] tests/value/gauges.c:140: Warning: 
 <   signed overflow. assert j + 1 ≤ 2147483647;
-198,200d176
+206,208d184
 < [eva:alarm] tests/value/gauges.c:158: Warning: 
 <   out of bounds write. assert \valid(tmp);
 <                        (tmp from p--)
-247,250d222
+255,258d230
 < [eva:alarm] tests/value/gauges.c:192: Warning: 
 <   out of bounds write. assert \valid(p);
 < [eva:alarm] tests/value/gauges.c:193: Warning: 
 <   out of bounds write. assert \valid(q);
-258,263d229
+266,271d237
 < [eva:alarm] tests/value/gauges.c:202: Warning: 
 <   out of bounds read. assert \valid_read(tmp);
 <                       (tmp from A++)
 < [eva:alarm] tests/value/gauges.c:202: Warning: 
 <   out of bounds read. assert \valid_read(tmp_0);
 <                       (tmp_0 from B++)
-307,310c273
+315,318c281
 < [eva:alarm] tests/value/gauges.c:240: Warning: 
 <   signed overflow. assert j + 1 ≤ 2147483647;
 < [eva] tests/value/gauges.c:242: 
 <   Frama_C_show_each: {45; 46; 47; 48; 49; 50; 51}, [0..2147483647]
 ---
 > [eva] tests/value/gauges.c:242: Frama_C_show_each: {47; 48}, {6}
-316,317d278
+324,325d286
 < [eva:alarm] tests/value/gauges.c:251: Warning: 
 <   signed overflow. assert j + 1 ≤ 2147483647;
-319c280
+327c288
 <   Frama_C_show_each: {48; 49; 50; 51; 52; 53; 54}, [0..2147483647]
 ---
 >   Frama_C_show_each: {48; 49; 50; 51; 52; 53; 54}, {6; 7}
-325,328c286
+333,336c294
 < [eva:alarm] tests/value/gauges.c:263: Warning: 
 <   signed overflow. assert j + 1 ≤ 2147483647;
 < [eva] tests/value/gauges.c:265: 
 <   Frama_C_show_each: {-59; -58; -57; -56; -55; -54; -53}, [0..2147483647]
 ---
 > [eva] tests/value/gauges.c:265: Frama_C_show_each: {-58; -57}, {9}
-334,335d291
+342,343d299
 < [eva:alarm] tests/value/gauges.c:274: Warning: 
 <   signed overflow. assert j + 1 ≤ 2147483647;
-337c293
+345c301
 <   Frama_C_show_each: {-64; -63; -62; -61; -60; -59; -58}, [0..2147483647]
 ---
 >   Frama_C_show_each: {-64; -63; -62; -61; -60; -59; -58}, {9; 10}
-345,346d300
+353,354d308
 < [eva:alarm] tests/value/gauges.c:293: Warning: 
 <   signed overflow. assert j + 1 ≤ 2147483647;
-348c302
+356c310
 <   Frama_C_show_each: {-593; -592; -591; -590; -589; -588}, [0..2147483647]
 ---
 >   Frama_C_show_each: {-593; -592; -591; -590; -589; -588}, [99..119]
-407a362,365
+415a370,373
 >   # Gauges domain:
 >   V: [{[ p -> {{ &x }}
 >          i -> {1} ]}]
 >   s395: λ(0)
-464a423,426
+472a431,434
 >   # Gauges domain:
 >   V: [{[ i -> {1} ]}]
 >   s395: λ([0 .. 1])
 >         {[ i -> {1} ]}
-520a483,486
+528a491,494
 >   # Gauges domain:
 >   V: [{[ i -> {1} ]}]
 >   s395: λ([0 .. 2])
 >         {[ i -> {1} ]}
-576a543,546
+584a551,554
 >   # Gauges domain:
 >   V: [{[ i -> {1} ]}]
 >   s395: λ([0 .. 10])
 >         {[ i -> {1} ]}
-638a609,613
+646a617,621
 >   # Gauges domain:
 >   V: [{[ p -> {{ &a }}
 >          i -> {2} ]}]
 >   s409: λ(0)
 >   s408: λ(0)
-696a672,676
+704a680,684
 >   # Gauges domain:
 >   V: [{[ i -> {2} ]}]
 >   s409: λ(0)
 >   s408: λ([0 .. 1])
 >         {[ i -> {0} ]}
-698a679,800
+706a687,808
 > [eva] tests/value/gauges.c:325: 
 >   Frama_C_dump_each:
 >   # Cvalue domain:
@@ -302,61 +298,53 @@ diff tests/value/oracle/gauges.res.oracle tests/value/oracle_gauges/gauges.res.o
 >   s408: λ([0 .. +oo])
 >         {[ i -> {0} ]}
 >   ==END OF DUMP==
-706a809,810
+714a817,818
 > [eva] tests/value/gauges.c:343: Call to builtin malloc
 > [eva] tests/value/gauges.c:343: Call to builtin malloc
-716c820
-<   l ∈ [4..2147483647]
----
->   l ∈ [4..53]
-721c825
-<   l ∈ [4..2147483647]
----
->   l ∈ [4..53]
-759,760c863,864
+767,768c871,872
 <   A ∈ {{ &A + [0..--],0%4 }}
 <   B ∈ {{ &B + [0..--],0%4 }}
 ---
 >   A ∈ {{ &A + [0..36],0%4 }}
 >   B ∈ {{ &B + [0..36],0%4 }}
-778c882
+786c890
 <   i ∈ {45; 46; 47; 48; 49; 50; 51}
 ---
 >   i ∈ {45; 46; 47; 48}
-784c888
+792c896
 <   i ∈ {-59; -58; -57; -56; -55; -54; -53}
 ---
 >   i ∈ {-58; -57; -56; -55; -54; -53}
-804c908
+812c916
 <   p ∈ {{ &u + [0..--],0%4 }}
 ---
 >   p ∈ {{ &u + [0..400],0%4 }}
-806c910
+814c918
 <   k ∈ [0..2147483647]
 ---
 >   k ∈ [0..390]
-811c915
+819c923
 <   i ∈ [0..2147483647]
 ---
 >   i ∈ [0..21]
-822,823c926,928
+830,831c934,936
 <    [1..9] ∈ {4; 5; 6; 7; 8; 9} or UNINITIALIZED
 <   p ∈ {{ &y + [4..40],0%4 }}
 ---
 >    [1..6] ∈ {4; 5; 6; 7; 8; 9} or UNINITIALIZED
 >    [7..9] ∈ UNINITIALIZED
 >   p ∈ {{ &y[7] }}
-834c939
+842c947
 <   p ∈ {{ &T + [--..396],0%4 }}
 ---
 >   p ∈ {{ &T + [-4..396],0%4 }}
-969,970c1074,1075
+977,978c1082,1083
 <   p FROM p; A; B; n; p; A[0..9]; B[0..9] (and SELF)
 <   \result FROM p; A; B; n; p; A[0..9]; B[0..9]
 ---
 >   p FROM p; A; B; n; p; A[0..8]; B[0..8] (and SELF)
 >   \result FROM p; A; B; n; p; A[0..8]; B[0..8]
-1048c1153
+1056c1161
 <     p; A[0..9]; B[0..9]
 ---
 >     p; A[0..8]; B[0..8]
@@ -850,11 +838,6 @@ diff tests/value/oracle/noreturn.res.oracle tests/value/oracle_gauges/noreturn.r
 > [eva] tests/value/noreturn.i:7: starting to merge loop iterations
 36a40
 > [eva] tests/value/noreturn.i:13: starting to merge loop iterations
-diff tests/value/oracle/precise_locations.res.oracle tests/value/oracle_gauges/precise_locations.res.oracle
-40a41
-> [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
-517a519
-> [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
 diff tests/value/oracle/reduce_formals.res.oracle tests/value/oracle_gauges/reduce_formals.res.oracle
 10a11
 > [eva] tests/value/reduce_formals.i:5: starting to merge loop iterations
@@ -901,10 +884,6 @@ diff tests/value/oracle/semaphore.res.oracle tests/value/oracle_gauges/semaphore
 diff tests/value/oracle/symbolic_locs.res.oracle tests/value/oracle_gauges/symbolic_locs.res.oracle
 133a134
 > [eva] tests/value/symbolic_locs.i:93: starting to merge loop iterations
-diff tests/value/oracle/test.0.res.oracle tests/value/oracle_gauges/test.0.res.oracle
-18a19,20
-> [eva:alarm] tests/value/test.i:10: Warning: 
->   signed overflow. assert i + 1 ≤ 2147483647;
 diff tests/value/oracle/undefined_sequence.0.res.oracle tests/value/oracle_gauges/undefined_sequence.0.res.oracle
 97a98
 > [eva] tests/value/undefined_sequence.i:43: starting to merge loop iterations
@@ -952,33 +931,7 @@ diff tests/value/oracle/va_list2.1.res.oracle tests/value/oracle_gauges/va_list2
 > [eva] computing for function __builtin_va_arg <- main.
 >   Called from tests/value/va_list2.c:20.
 > [eva] Done for function __builtin_va_arg
-diff tests/value/oracle/widen_non_constant.res.oracle tests/value/oracle_gauges/widen_non_constant.res.oracle
-28c28
-<   Frama_C_show_each_in: [0..23], [1..23]
----
->   Frama_C_show_each_in: [0..22], [1..23]
-47c47
-<   Frama_C_show_each_in: [0..25], [1..23]
----
->   Frama_C_show_each_in: [0..22], [1..23]
-66,70c66
-<   Frama_C_show_each_in: [0..2147483647], [1..23]
-< [eva:alarm] tests/value/widen_non_constant.i:49: Warning: 
-<   out of bounds read. assert \valid_read(p + j);
-< [eva:alarm] tests/value/widen_non_constant.i:45: Warning: 
-<   signed overflow. assert j + 1 ≤ 2147483647;
----
->   Frama_C_show_each_in: [0..22], [1..23]
-88c84
-<   j ∈ {23; 24}
----
->   j ∈ {23}
-91c87
-<   j ∈ {23; 24; 25; 26}
----
->   j ∈ {23; 24; 25}
 diff tests/value/oracle/widen_on_non_monotonic.res.oracle tests/value/oracle_gauges/widen_on_non_monotonic.res.oracle
-24a25,27
-> [eva] tests/value/widen_on_non_monotonic.i:26: starting to merge loop iterations
+25a26,27
 > [eva] tests/value/widen_on_non_monotonic.i:21: starting to merge loop iterations
 > [eva] tests/value/widen_on_non_monotonic.i:18: starting to merge loop iterations
diff --git a/tests/value/div.i b/tests/value/div.i
index 46a89ee00729aa48230478176de8cf1b24bb2042..c19d8f8bfe5f40bda66cc1a68ed9b30e023aa6c9 100644
--- a/tests/value/div.i
+++ b/tests/value/div.i
@@ -1,6 +1,6 @@
 /* run.config*
    STDOPT: #"-load-module scope -remove-redundant-alarms"
-   OPT: -no-autoload-plugins -load-module eva,inout -rte -then -val @VALUECONFIG@
+   OPT: -no-autoload-plugins -load-module eva,inout -rte -then -eva @VALUECONFIG@
 */
 int X,Y,Z1,Z2,T,U1,U2,V,W1,W2;
 int a,b,d1,d2,d0,e;
diff --git a/tests/value/downcast.i b/tests/value/downcast.i
index 7ad18f13fcdd1adaa825cadcfcea4a6e0c5da750..c375fa7c92f7cccc2bf1aad3a02fa6576e55fd62 100644
--- a/tests/value/downcast.i
+++ b/tests/value/downcast.i
@@ -65,7 +65,7 @@ void main5_wrap_signed() {
 }
 
 
-/* Tests for the relaxed downcast semantics -val-warn-signed-converted-downcast */
+/* Tests for the relaxed downcast semantics -eva-warn-signed-converted-downcast */
 void main6_val_warn_converted_signed() {
   if (v) {
     short s = 65300u; // warning (overflow)
@@ -104,7 +104,7 @@ struct bitf {
   signed int i2: 6;
 };
 
-/* Tests for the relaxed downcast semantics -val-warn-signed-converted-downcast with bitfields */
+/* Tests for the relaxed downcast semantics -eva-warn-signed-converted-downcast with bitfields */
 void main8_bitfields() {
   struct bitf S;
   signed char c;
diff --git a/tests/value/false.i b/tests/value/false.i
index d3a0137b380ddf673d0b61877884b56b733ce010..77c2d2ef277772344d83ad63cd62b56c7fbd20fa 100644
--- a/tests/value/false.i
+++ b/tests/value/false.i
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +"-value-verbose 2"
+   STDOPT: +"-eva-verbose 2"
 */
 
 /*@ requires i == 1;
diff --git a/tests/value/fptr.i b/tests/value/fptr.i
index 75e695dbaacb29e34d86d1ce59b46e5919d3edb2..f9d1014262b879b2ebf54f93c7478f098b4691dd 100644
--- a/tests/value/fptr.i
+++ b/tests/value/fptr.i
@@ -1,7 +1,7 @@
 /* run.config*
    GCC:
-   OPT: -no-autoload-plugins -load-module from,inout,eva -val @VALUECONFIG@ -journal-disable -then -deps -out
-   OPT: -no-autoload-plugins -load-module from,inout,eva -val @VALUECONFIG@ -main main_uninit -journal-disable -then -deps -out
+   OPT: -no-autoload-plugins -load-module from,inout,eva -eva @VALUECONFIG@ -journal-disable -then -deps -out
+   OPT: -no-autoload-plugins -load-module from,inout,eva -eva @VALUECONFIG@ -main main_uninit -journal-disable -then -deps -out
 */
 int R=77; volatile int v; int n;
 
diff --git a/tests/value/from_call.i b/tests/value/from_call.i
index c88a6bd2aba71ffc135f755846a26159029eebcc..4ca66207715c4824e3a85ea245a3407362d9adf0 100644
--- a/tests/value/from_call.i
+++ b/tests/value/from_call.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module from,inout,users,eva -calldeps -val @VALUECONFIG@ -journal-disable -users -then -input
+   OPT: -no-autoload-plugins -load-module from,inout,users,eva -calldeps -eva @VALUECONFIG@ -journal-disable -users -then -input
    OPT: -no-autoload-plugins -load-module from,eva @VALUECONFIG@ -deps -show-indirect-deps -journal-disable
 */
 int a,b,c,d;
diff --git a/tests/value/gauges.c b/tests/value/gauges.c
index bb0344f2009108cd3538cc9bdc57a2c9343bef76..cd1619e90e511a5f15dfd714a89486470171026b 100644
--- a/tests/value/gauges.c
+++ b/tests/value/gauges.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +" -slevel-function main8_aux:2,main5_bis:4 -value-msg-key d-gauges"
+   STDOPT: +" -slevel-function main8_aux:2,main5_bis:4 -eva-msg-key d-gauges"
 */
 
 #include <stdlib.h>
diff --git a/tests/value/ilevel.i b/tests/value/ilevel.i
index 6bdcdfe68db154144739663d77ec86a3fe2de6bb..9baf2a45b5aae4d3e1853e904aeda6820f51a583 100644
--- a/tests/value/ilevel.i
+++ b/tests/value/ilevel.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module inout,slicing,sparecode,eva -val @VALUECONFIG@ -slice-return main -then-on "Slicing export" -val -val-ilevel 16 -val-show-progress -then-on "default" -val-ilevel 17 -then -val-ilevel 48
+   OPT: -no-autoload-plugins -load-module inout,slicing,sparecode,eva -eva @VALUECONFIG@ -slice-return main -then-on "Slicing export" -eva -eva-ilevel 16 -eva-show-progress -then-on "default" -eva-ilevel 17 -then -eva-ilevel 48
 */
 // Test in particular that ilevel is by-project, even though it is an ocaml ref
 volatile int v;
diff --git a/tests/value/incompatible_states.c b/tests/value/incompatible_states.c
index 43c5335c659a951d2049f080e33d5a1da9770ebd..99480fc1ea9d28ddb6eed9b587bc40832c3b1edd 100644
--- a/tests/value/incompatible_states.c
+++ b/tests/value/incompatible_states.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: #"-val-subdivide-non-linear 10"
+   STDOPT: #"-eva-subdivide-non-linear 10"
 */
 
 /* This file gathers some examples where a product of states may have no
diff --git a/tests/value/incorrect_reduce_expr.i b/tests/value/incorrect_reduce_expr.i
index c704da195b0d641bd8844eea8eb72d4be5fa6d57..d82d4c70d9ccde49d1cf918cd7bdbb5e0b5cd5c0 100644
--- a/tests/value/incorrect_reduce_expr.i
+++ b/tests/value/incorrect_reduce_expr.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module inout,eva -val @VALUECONFIG@ -absolute-valid-range 32-36
+   OPT: -no-autoload-plugins -load-module inout,eva -eva @VALUECONFIG@ -absolute-valid-range 32-36
 */
 
 char t[5];
diff --git a/tests/value/interpol.c b/tests/value/interpol.c
index 01bc26b25f785a981c4d3a5e29abf2bca3c47b20..a8af0145ed2e338adde1520c430d8f05589cb641 100644
--- a/tests/value/interpol.c
+++ b/tests/value/interpol.c
@@ -1,6 +1,6 @@
 /* run.config*
    GCC:
-   STDOPT: #"-val-subdivide-non-linear 15"
+   STDOPT: #"-eva-subdivide-non-linear 15"
 */
 
 int t[8] = {1, 2, 4, 8, 16, 32, 64, 128};
diff --git a/tests/value/interpreter-mode-syracuse.i b/tests/value/interpreter-mode-syracuse.i
index 0aff4f1402632523c949c27932cb34cf380ca1a8..546208d20e793ab4a3681108f62eb10769f614e7 100644
--- a/tests/value/interpreter-mode-syracuse.i
+++ b/tests/value/interpreter-mode-syracuse.i
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +" -val-interpreter-mode"
+   STDOPT: +" -eva-interpreter-mode"
 */
 
 int main()
@@ -19,4 +19,4 @@ int main()
   }
 
   return n;
-}
\ No newline at end of file
+}
diff --git a/tests/value/inversion2.i b/tests/value/inversion2.i
index d1f31a4f0e4cbf1d819eecfe4e5ed048bac130fe..e9a935555be48a67a2c5722bd65e1bda1bfb50fd 100644
--- a/tests/value/inversion2.i
+++ b/tests/value/inversion2.i
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +"-then -wlevel 4"
+   STDOPT: +"-then -eva-widening-delay 4 -eva-widening-period 3"
 */
 
 int T[3] = {3,1,2};
diff --git a/tests/value/lazy.i b/tests/value/lazy.i
index bf5fa7c6446f70f84abe2c41cdfa6cd575483c54..11f7d183bfbe11ea5176b9d9d758e079701fafbc 100644
--- a/tests/value/lazy.i
+++ b/tests/value/lazy.i
@@ -1,6 +1,6 @@
 /* run.config*
-   STDOPT: #"-value-msg-key pointer-comparison"
-   STDOPT: #"-undefined-pointer-comparison-propagate-all -value-msg-key pointer-comparison"
+   STDOPT: #"-eva-msg-key pointer-comparison"
+   STDOPT: #"-undefined-pointer-comparison-propagate-all -eva-msg-key pointer-comparison"
 */
 int a=-1;
 int b, d;
diff --git a/tests/value/library.i b/tests/value/library.i
index 4b2084dc80eec1a375330b672ef6788ea4f53059..bbb69d46eb94dd04abf1dc6f3a0f186c14c315f0 100644
--- a/tests/value/library.i
+++ b/tests/value/library.i
@@ -1,6 +1,6 @@
 /* run.config*
    GCC:
-   STDOPT: +"-value-msg-key initial-state -val-initialization-padding-globals no -lib-entry -main main -context-depth 3 -then -main main2 -then -context-width 4"
+   STDOPT: +"-eva-msg-key initial-state -eva-initialization-padding-globals no -lib-entry -main main -context-depth 3 -then -main main2 -then -context-width 4"
 */
 int f_int(int x);
 
diff --git a/tests/value/local_slevel.i b/tests/value/local_slevel.i
index 49b92ccea526bbd573d815d57ec4b889d717509a..985751249a226ba99972a87bab0d0d6f723ede39 100644
--- a/tests/value/local_slevel.i
+++ b/tests/value/local_slevel.i
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +" -load-module frama-c-constant_propagation -slevel-function main2:100000 -print -then -scf -then-on propagated -val -val-show-progress -no-scf"
+   STDOPT: +" -load-module frama-c-constant_propagation -slevel-function main2:100000 -print -then -scf -then-on propagated -eva -eva-show-progress -no-scf"
 */
 
 int *p;
diff --git a/tests/value/logic_ptr_cast.i b/tests/value/logic_ptr_cast.i
index b8089e989803f2c933ba803fd82a24b37e51e4e4..1d85185f09c75c053457f590b9698a167880738d 100644
--- a/tests/value/logic_ptr_cast.i
+++ b/tests/value/logic_ptr_cast.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module eva -val @VALUECONFIG@ -print -journal-disable -no-results
+   OPT: -no-autoload-plugins -load-module eva -eva @VALUECONFIG@ -print -journal-disable -no-results
 */
 int *p;
 int t[90];
diff --git a/tests/value/logicdeps.i b/tests/value/logicdeps.i
index 94e2e15754f8ecea9b901ec4e2c3398b9ace3f2e..d9cb3cbed54ec814f0e5164bb9cb995713e8d30a 100644
--- a/tests/value/logicdeps.i
+++ b/tests/value/logicdeps.i
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +"-memexec-all -calldeps -no-deps -no-input -no-out -then -inout"
+   STDOPT: +"-eva-memexec -calldeps -no-deps -no-input -no-out -then -inout"
 */
 
 int t[50];
diff --git a/tests/value/loop_test.i b/tests/value/loop_test.i
index d50b1599b16cc8ae6b8d2d725f72d4367322638a..e46589842210d8a573d65205d25fda33eeed05d0 100644
--- a/tests/value/loop_test.i
+++ b/tests/value/loop_test.i
@@ -1,6 +1,6 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module from,inout,eva -val @VALUECONFIG@ -main test_onzes -journal-disable
-   OPT: -no-autoload-plugins -load-module from,inout,eva -val @VALUECONFIG@ -main test_cent_onzes -journal-disable
+   OPT: -no-autoload-plugins -load-module from,inout,eva -eva @VALUECONFIG@ -main test_onzes -journal-disable
+   OPT: -no-autoload-plugins -load-module from,inout,eva -eva @VALUECONFIG@ -main test_cent_onzes -journal-disable
 */
 
 
diff --git a/tests/value/loop_wvar.i b/tests/value/loop_wvar.i
index 07b5ae3d4dadd0fb10204fc9ed693a649f515f0c..2d635fae34d26333ef5f8193261b68c6135e0fdd 100644
--- a/tests/value/loop_wvar.i
+++ b/tests/value/loop_wvar.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module eva,inout -no-annot -eva @VALUECONFIG@ -then -kernel-warn-key=annot-error=active -annot -val -journal-disable
+   OPT: -no-autoload-plugins -load-module eva,inout -no-annot -eva @VALUECONFIG@ -then -kernel-warn-key=annot-error=active -annot -eva -journal-disable
    OPT: -no-autoload-plugins -load-module from,inout,eva -kernel-warn-key=annot-error=active -eva @VALUECONFIG@ -main main3 -journal-disable
    OPT: -no-autoload-plugins -load-module eva,inout -kernel-warn-key=annot-error=active -eva @VALUECONFIG@ -main main_err1 -journal-disable
    OPT: -no-autoload-plugins -load-module eva,inout -kernel-warn-key=annot-error=active -eva @VALUECONFIG@ -main main_err2 -journal-disable
diff --git a/tests/value/loopfun.i b/tests/value/loopfun.i
index afca12398b58e22ba8f07032f43d5496f389a541..030e2654b43ef017571f659a983d660c59ed3315 100644
--- a/tests/value/loopfun.i
+++ b/tests/value/loopfun.i
@@ -1,7 +1,7 @@
 /* run.config*
    STDOPT: +"-slevel 50 -no-results"
+   STDOPT: +"-eva-warn-key=missing-loop-unroll=feedback -eva-warn-key=missing-loop-unroll:for=active -main main2"
 */
-
 static int a = 7;
 
 int test()
@@ -17,3 +17,12 @@ int main()
   }
   return 0;
 }
+
+volatile int v;
+void main2() {
+  while (v) {}
+  //@ loop unroll 1;
+  for(;v;);
+  for(;v;);
+  do {} while(v);
+}
diff --git a/tests/value/loopinv.c b/tests/value/loopinv.c
index d2331ee56c68800f996fe3f9552a9eada36f95b9..9da813469496b986d7e6d4e5a1134e73011c9f4e 100644
--- a/tests/value/loopinv.c
+++ b/tests/value/loopinv.c
@@ -1,5 +1,5 @@
 /* run.config* 
-OPT: @VALUECONFIG@ -no-autoload-plugins -load-module from,inout,eva,report -slevel-function main2:20 -pp-annot -val -then -report
+OPT: @VALUECONFIG@ -no-autoload-plugins -load-module from,inout,eva,report -slevel-function main2:20 -pp-annot -eva -then -report
 */
 
 /*@ requires valid: \valid(&t[0..s-1]);
diff --git a/tests/value/machdep.c b/tests/value/machdep.c
index 551c3dcde611b58bc5e4c9a8f1155d900c64e1e1..f2164ce80119b7ca8c4a2872eed611926ea4faa5 100644
--- a/tests/value/machdep.c
+++ b/tests/value/machdep.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module from,inout,eva -val @VALUECONFIG@ -cpp-extra-args="-DPTEST"  -journal-disable -then -machdep x86_64 -then -machdep x86_16
+   OPT: -no-autoload-plugins -load-module from,inout,eva -eva @VALUECONFIG@ -cpp-extra-args="-DPTEST"  -journal-disable -then -machdep x86_64 -then -machdep x86_16
 */
 
 #ifndef PTEST
diff --git a/tests/value/memexec.c b/tests/value/memexec.c
index ec404ad300e87c03d1e532e42dbcfeeb7abd1934..092a4180c8d9bd12273d3f94530dbd05ff74581a 100644
--- a/tests/value/memexec.c
+++ b/tests/value/memexec.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: #" -no-val -rte-select fbug -rte -then -memexec-all -val"
+   STDOPT: #" -no-eva -rte-select fbug -rte -then -eva"
 */
 
 int x1, y1, z1; volatile int c;
diff --git a/tests/value/narrow_behaviors.i b/tests/value/narrow_behaviors.i
index 40eba854726478161f55946d9fa7c0e32a80175a..64d98062b974c7c2c08a6c2cd4fecf86ea31f830 100644
--- a/tests/value/narrow_behaviors.i
+++ b/tests/value/narrow_behaviors.i
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +"-slevel 10 -value-verbose 2"
+   STDOPT: +"-slevel 10 -eva-verbose 2"
 */
 
 extern int nondet;
diff --git a/tests/value/nested_struct_init.i b/tests/value/nested_struct_init.i
index 8bc1439c8668c344b4c502556fba8e05adce9b03..88d885ee6c8384db3ef2822c7e90cc2d59de17e2 100644
--- a/tests/value/nested_struct_init.i
+++ b/tests/value/nested_struct_init.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module inout,eva -val @VALUECONFIG@ -then -val-initialization-padding-globals no -then -val-initialization-padding-globals maybe -then -lib-entry -then -val-initialization-padding-globals no -then -val-initialization-padding-globals yes
+   OPT: -no-autoload-plugins -load-module inout,eva -eva @VALUECONFIG@ -then -eva-initialization-padding-globals no -then -eva-initialization-padding-globals maybe -then -lib-entry -then -eva-initialization-padding-globals no -then -eva-initialization-padding-globals yes
 */
 
 typedef signed char int8_t;
diff --git a/tests/value/nonlin.c b/tests/value/nonlin.c
index 480e9ecde7533cf51c45962fc6f4e3b5f816268f..e87dec750c6bcf3352b6e4a15a0cdf01f3c60c8c 100644
--- a/tests/value/nonlin.c
+++ b/tests/value/nonlin.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +"-val-subdivide-non-linear 14 -value-msg-key nonlin"
+   STDOPT: +"-eva-subdivide-non-linear 14 -eva-msg-key nonlin"
 */
 
 #include "__fc_builtin.h"
diff --git a/tests/value/not_ct_array_arg.i b/tests/value/not_ct_array_arg.i
index b3862c78223bae7c650c8c196c4c766a26d75040..8390478b48446cec8113107d9fa9d718e1cfddca 100644
--- a/tests/value/not_ct_array_arg.i
+++ b/tests/value/not_ct_array_arg.i
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: #"-value-msg-key initial-state"
+   STDOPT: #"-eva-msg-key initial-state"
 */
 
 // Cf. Bts 856
diff --git a/tests/value/oracle/addition.res.oracle b/tests/value/oracle/addition.res.oracle
index 3bb9c9026b6be3734f2a9754ad38c818df083dd8..f601e53058bff5ba8712b59c7b0ce069bfa7a1b4 100644
--- a/tests/value/oracle/addition.res.oracle
+++ b/tests/value/oracle/addition.res.oracle
@@ -166,7 +166,7 @@
   p10 ∈
      {{ garbled mix of &{p1}
       (origin: Arithmetic {tests/value/addition.i:52}) }}
-  p11 ∈ [-2147483648..0]
+  p11 ∈ [-2147483648..0],0%4
   p12 ∈
      {{ garbled mix of &{p1; p2}
       (origin: Arithmetic {tests/value/addition.i:56}) }}
@@ -397,7 +397,7 @@
   p10 ∈
      {{ garbled mix of &{p1}
       (origin: Arithmetic {tests/value/addition.i:52}) }}
-  p11 ∈ [-2147483648..0]
+  p11 ∈ [-2147483648..0],0%4
   p12 ∈
      {{ garbled mix of &{p1; p2}
       (origin: Arithmetic {tests/value/addition.i:56}) }}
diff --git a/tests/value/oracle/bitwise.res.oracle b/tests/value/oracle/bitwise.res.oracle
index 029bed271752f5eb1cd0c396981f09d85eee18df..29d9bbe232251a10bb728dfe3c9ea3e635cb8fc0 100644
--- a/tests/value/oracle/bitwise.res.oracle
+++ b/tests/value/oracle/bitwise.res.oracle
@@ -4,126 +4,226 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   v ∈ [--..--]
-[eva] computing for function main_and_or_rel <- main.
-  Called from tests/value/bitwise.i:64.
-[eva:alarm] tests/value/bitwise.i:13: Warning: assertion got status unknown.
-[eva] Recording results for main_and_or_rel
-[eva] Done for function main_and_or_rel
-[eva] computing for function main_bitwise <- main.
-  Called from tests/value/bitwise.i:65.
-[eva] Recording results for main_bitwise
-[eva] Done for function main_bitwise
-[eva] computing for function main_bug1 <- main.
-  Called from tests/value/bitwise.i:66.
-[eva] Recording results for main_bug1
-[eva] Done for function main_bug1
-[eva] computing for function main_bug2 <- main.
-  Called from tests/value/bitwise.i:67.
-[eva] tests/value/bitwise.i:40: Frama_C_show_each_then:
-[eva] tests/value/bitwise.i:40: Frama_C_show_each_else:
-[eva] Recording results for main_bug2
-[eva] Done for function main_bug2
-[eva] computing for function main_bug3 <- main.
-  Called from tests/value/bitwise.i:68.
-[eva] tests/value/bitwise.i:47: 
-  Frama_C_dump_each:
-  # Cvalue domain:
-  v ∈ [--..--]
-  l_1180 ∈ {69166447}
-  foo ∈ {4225800849}
-  ==END OF DUMP==
-[eva] Recording results for main_bug3
-[eva] Done for function main_bug3
-[eva] computing for function main_bug4 <- main.
-  Called from tests/value/bitwise.i:69.
-[eva] tests/value/bitwise.i:57: Frama_C_show_each_then:
-[eva] tests/value/bitwise.i:59: Frama_C_show_each_else:
-[eva] Recording results for main_bug4
-[eva] Done for function main_bug4
+  input[0..2] ∈ [--..--]
+  s ∈ [--..--]
+[eva] computing for function test1 <- main.
+  Called from tests/value/bitwise.i:138.
+[eva] computing for function Frama_C_interval <- test1 <- main.
+  Called from tests/value/bitwise.i:23.
+[eva] using specification for function Frama_C_interval
+[eva] Done for function Frama_C_interval
+[eva] computing for function Frama_C_interval <- test1 <- main.
+  Called from tests/value/bitwise.i:24.
+[eva] Done for function Frama_C_interval
+[eva] computing for function Frama_C_interval <- test1 <- main.
+  Called from tests/value/bitwise.i:25.
+[eva] Done for function Frama_C_interval
+[eva] Recording results for test1
+[eva] Done for function test1
+[eva] computing for function test2 <- main.
+  Called from tests/value/bitwise.i:139.
+[eva] computing for function Frama_C_interval <- test2 <- main.
+  Called from tests/value/bitwise.i:50.
+[eva] Done for function Frama_C_interval
+[eva] Recording results for test2
+[eva] Done for function test2
+[eva] computing for function test3 <- main.
+  Called from tests/value/bitwise.i:140.
+[eva] Recording results for test3
+[eva] Done for function test3
+[eva] computing for function test4 <- main.
+  Called from tests/value/bitwise.i:141.
+[eva] tests/value/bitwise.i:62: assertion got status valid.
+[eva] tests/value/bitwise.i:64: Frama_C_show_each_1: [0..0x7FFFFFFF], {0}
+[eva] tests/value/bitwise.i:64: 
+  Frama_C_show_each_1: [0x80000000..0xFFFFFFFF], {0x80000000}
+[eva] tests/value/bitwise.i:66: Frama_C_show_each_2: [0..0x7FFFFFFF], {0}, {0}
+[eva] tests/value/bitwise.i:66: 
+  Frama_C_show_each_2: [0..0x7FFFFFFF], {0}, {0x80000000}
+[eva] tests/value/bitwise.i:72: Frama_C_show_each_false: [0..0x7FFFFFFF]
+[eva] tests/value/bitwise.i:72: Frama_C_show_each_false: [0..0x7FFFFFFF]
+[eva] Recording results for test4
+[eva] Done for function test4
+[eva] computing for function and_or_rel <- main.
+  Called from tests/value/bitwise.i:142.
+[eva:alarm] tests/value/bitwise.i:87: Warning: assertion got status unknown.
+[eva] Recording results for and_or_rel
+[eva] Done for function and_or_rel
+[eva] computing for function double_neg <- main.
+  Called from tests/value/bitwise.i:143.
+[eva] Recording results for double_neg
+[eva] Done for function double_neg
+[eva] computing for function bug1 <- main.
+  Called from tests/value/bitwise.i:144.
+[eva] Recording results for bug1
+[eva] Done for function bug1
+[eva] computing for function bug2 <- main.
+  Called from tests/value/bitwise.i:145.
+[eva] tests/value/bitwise.i:114: Frama_C_show_each_then:
+[eva] tests/value/bitwise.i:114: Frama_C_show_each_else:
+[eva] Recording results for bug2
+[eva] Done for function bug2
+[eva] computing for function bug3 <- main.
+  Called from tests/value/bitwise.i:146.
+[eva] tests/value/bitwise.i:121: Frama_C_show_each: {0x41F656F}, {0xFBE09A91}
+[eva] Recording results for bug3
+[eva] Done for function bug3
+[eva] computing for function bug4 <- main.
+  Called from tests/value/bitwise.i:147.
+[eva] tests/value/bitwise.i:131: Frama_C_show_each_then:
+[eva] tests/value/bitwise.i:133: Frama_C_show_each_else:
+[eva] Recording results for bug4
+[eva] Done for function bug4
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
-[eva:final-states] Values at end of function main_and_or_rel:
+[eva:final-states] Values at end of function and_or_rel:
   x ∈ [20..40]
   r1 ∈ [17..63] or UNINITIALIZED
   r2 ∈ [20..40] or UNINITIALIZED
   r3 ∈ [24..37] or UNINITIALIZED
-[eva:final-states] Values at end of function main_bitwise:
-  i ∈ {5}
-  j ∈ {4294967290}
-  k ∈ {-6}
-[eva:final-states] Values at end of function main_bug1:
+[eva:final-states] Values at end of function bug1:
   msb ∈ {6}
   lsb ∈ {3}
   par ∈ {5}
   p1 ∈ {5}
   p2 ∈ {0}
-[eva:final-states] Values at end of function main_bug2:
+[eva:final-states] Values at end of function bug2:
   t ∈ {1; 2}
-[eva:final-states] Values at end of function main_bug3:
-  l_1180 ∈ {69166447}
-  foo ∈ {4225800849}
-[eva:final-states] Values at end of function main_bug4:
+[eva:final-states] Values at end of function bug3:
+  l_1180 ∈ {0x41F656F}
+  foo ∈ {0xFBE09A91}
+[eva:final-states] Values at end of function bug4:
   g_2 ∈ {-1; 0}
-  tmp_0 ∈ {-5496}
+  tmp_0 ∈ {-0x1578}
+[eva:final-states] Values at end of function double_neg:
+  i ∈ {5}
+  j ∈ {0xFFFFFFFA}
+  k ∈ {-6}
+[eva:final-states] Values at end of function test1:
+  or1 ∈ [-3..31]
+  or2 ∈ [13..31]
+  or3 ∈ [-3..31]
+  and1 ∈ [0..17]
+  and2 ∈ [0..17]
+  and3 ∈ [0..27]
+  xor1 ∈ [0..31]
+  xor2 ∈ [-20..31]
+  uand4 ∈ {8; 16; 24}
+  a ∈ [3..17]
+  b ∈ [-3..17]
+  c ∈ [13..27]
+  i1 ∈ [0..0x1FFFE],0%2
+  i2 ∈ [0..0x3FFFC],0%4
+  v1 ∈ [0..0x1FFFC],0%4
+  v2 ∈ [0..0x3FFFE],0%2
+  mask07 ∈ {5}
+  mask0f ∈ {13}
+  mask1f ∈ {13; 29}
+[eva:final-states] Values at end of function test2:
+  x ∈ {56; 64; 72; 80; 88; 96; 104}
+[eva:final-states] Values at end of function test3:
+  x ∈ [-256..255]
+  y ∈ [-256..255]
+[eva:final-states] Values at end of function test4:
+  something ∈ [0..0x7FFFFFFF]
+  topBitOnly ∈ {0; 0x80000000}
+  __retres ∈ {1}
 [eva:final-states] Values at end of function main:
   
-[from] Computing for function main_and_or_rel
-[from] Done for function main_and_or_rel
-[from] Computing for function main_bitwise
-[from] Done for function main_bitwise
-[from] Computing for function main_bug1
-[from] Done for function main_bug1
-[from] Computing for function main_bug2
-[from] Done for function main_bug2
-[from] Computing for function main_bug3
-[from] Done for function main_bug3
-[from] Computing for function main_bug4
-[from] Done for function main_bug4
+[from] Computing for function and_or_rel
+[from] Done for function and_or_rel
+[from] Computing for function bug1
+[from] Done for function bug1
+[from] Computing for function bug2
+[from] Done for function bug2
+[from] Computing for function bug3
+[from] Done for function bug3
+[from] Computing for function bug4
+[from] Done for function bug4
+[from] Computing for function double_neg
+[from] Done for function double_neg
+[from] Computing for function test1
+[from] Computing for function Frama_C_interval <-test1
+[from] Done for function Frama_C_interval
+[from] Done for function test1
+[from] Computing for function test2
+[from] Done for function test2
+[from] Computing for function test3
+[from] Done for function test3
+[from] Computing for function test4
+[from] Done for function test4
 [from] Computing for function main
 [from] Done for function main
 [from] ====== DEPENDENCIES COMPUTED ======
   These dependencies hold at termination for the executions that terminate:
-[from] Function main_and_or_rel:
+[from] Function Frama_C_interval:
+  \result FROM min; max
+[from] Function and_or_rel:
+  NO EFFECTS
+[from] Function bug1:
+  NO EFFECTS
+[from] Function bug2:
+  NO EFFECTS
+[from] Function bug3:
   NO EFFECTS
-[from] Function main_bitwise:
+[from] Function bug4:
   NO EFFECTS
-[from] Function main_bug1:
+[from] Function double_neg:
   NO EFFECTS
-[from] Function main_bug2:
+[from] Function test1:
   NO EFFECTS
-[from] Function main_bug3:
+[from] Function test2:
   NO EFFECTS
-[from] Function main_bug4:
+[from] Function test3:
   NO EFFECTS
+[from] Function test4:
+  \result FROM v
 [from] Function main:
   NO EFFECTS
 [from] ====== END OF DEPENDENCIES ======
-[inout] Out (internal) for function main_and_or_rel:
+[inout] Out (internal) for function and_or_rel:
     x; r1; r2; r3
-[inout] Inputs for function main_and_or_rel:
+[inout] Inputs for function and_or_rel:
     v
-[inout] Out (internal) for function main_bitwise:
-    i; j; k
-[inout] Inputs for function main_bitwise:
-    \nothing
-[inout] Out (internal) for function main_bug1:
+[inout] Out (internal) for function bug1:
     msb; lsb; par; p1; p2
-[inout] Inputs for function main_bug1:
+[inout] Inputs for function bug1:
     \nothing
-[inout] Out (internal) for function main_bug2:
+[inout] Out (internal) for function bug2:
     t; tmp
-[inout] Inputs for function main_bug2:
+[inout] Inputs for function bug2:
     v
-[inout] Out (internal) for function main_bug3:
+[inout] Out (internal) for function bug3:
     l_1180; foo
-[inout] Inputs for function main_bug3:
+[inout] Inputs for function bug3:
     \nothing
-[inout] Out (internal) for function main_bug4:
+[inout] Out (internal) for function bug4:
     g_2; tmp; tmp_0
-[inout] Inputs for function main_bug4:
+[inout] Inputs for function bug4:
+    v
+[inout] Out (internal) for function double_neg:
+    i; j; k
+[inout] Inputs for function double_neg:
+    \nothing
+[inout] Out (internal) for function test1:
+    or1; or2; or3; and1; and2; and3; xor1; xor2; uand4; a; b; c; i1; i2; 
+    v1; v2; mask07; mask0f; mask1f
+[inout] Inputs for function test1:
+    s
+[inout] Out (internal) for function test2:
+    x; tmp
+[inout] Inputs for function test2:
+    \nothing
+[inout] Out (internal) for function test3:
+    x; tmp; y; tmp_0
+[inout] Inputs for function test3:
+    input[0..2]
+[inout] Out (internal) for function test4:
+    something; topBitOnly; __retres
+[inout] Inputs for function test4:
     v
 [inout] Out (internal) for function main:
     \nothing
 [inout] Inputs for function main:
-    v
+    v; input[0..2]; s
diff --git a/tests/value/oracle/bitwise_or.res.oracle b/tests/value/oracle/bitwise_or.res.oracle
deleted file mode 100644
index 21b618d85c0e46f824607a068f5210d5ea9e0d44..0000000000000000000000000000000000000000
--- a/tests/value/oracle/bitwise_or.res.oracle
+++ /dev/null
@@ -1,68 +0,0 @@
-[kernel] Parsing tests/value/bitwise_or.c (with preprocessing)
-[eva] Analyzing a complete application starting at main
-[eva] Computing initial state
-[eva] Initial state computed
-[eva:initial-state] Values of globals at initialization
-  or1 ∈ {0}
-  or2 ∈ {0}
-  or3 ∈ {0}
-  or4 ∈ {0}
-  or5 ∈ {0}
-  and1 ∈ {0}
-  and2 ∈ {0}
-  and3 ∈ {0}
-  and4 ∈ {0}
-  xor1 ∈ {0}
-  xor2 ∈ {0}
-  uand1 ∈ {0}
-  uand2 ∈ {0}
-  uand3 ∈ {0}
-  uand4 ∈ {0}
-  uand5 ∈ {0}
-  a ∈ {0}
-  b ∈ {0}
-  c ∈ {0}
-  d ∈ {0}
-  e ∈ {0}
-  s ∈ [--..--]
-[eva] computing for function Frama_C_interval <- main.
-  Called from tests/value/bitwise_or.c:13.
-[eva] using specification for function Frama_C_interval
-[eva] tests/value/bitwise_or.c:13: 
-  function Frama_C_interval: precondition 'order' got status valid.
-[eva] Done for function Frama_C_interval
-[eva] computing for function Frama_C_interval <- main.
-  Called from tests/value/bitwise_or.c:14.
-[eva] tests/value/bitwise_or.c:14: 
-  function Frama_C_interval: precondition 'order' got status valid.
-[eva] Done for function Frama_C_interval
-[eva] computing for function Frama_C_interval <- main.
-  Called from tests/value/bitwise_or.c:15.
-[eva] tests/value/bitwise_or.c:15: 
-  function Frama_C_interval: precondition 'order' got status valid.
-[eva] Done for function Frama_C_interval
-[eva] Recording results for main
-[eva] done for function main
-[eva] ====== VALUES COMPUTED ======
-[eva:final-states] Values at end of function main:
-  Frama_C_entropy_source ∈ [--..--]
-  or1 ∈ [--..--]
-  or2 ∈ [13..31]
-  or3 ∈ [--..--]
-  and1 ∈ [0..17]
-  and2 ∈ [0..17]
-  and3 ∈ [0..27]
-  xor1 ∈ [0..31]
-  xor2 ∈ [--..--]
-  uand4 ∈ [8..24]
-  a ∈ [3..17]
-  b ∈ [-3..17]
-  c ∈ [13..27]
-  i1 ∈ [0..0x1FFFE],0%2
-  i2 ∈ [0..0x3FFFC],0%4
-  v1 ∈ [0..0x1FFFE],0%2
-  v2 ∈ [0..0x3FFFF]
-  mask07 ∈ {5}
-  mask0f ∈ {13}
-  mask1f ∈ {13; 29}
-  __retres ∈ {0}
diff --git a/tests/value/oracle/cast.res.oracle b/tests/value/oracle/cast.res.oracle
index f5f0b310db631ce8aff871c321a0d8f708d0386b..12e82f34a53f045237c470c50cb70486d3bcecee 100644
--- a/tests/value/oracle/cast.res.oracle
+++ b/tests/value/oracle/cast.res.oracle
@@ -68,7 +68,7 @@
   i_0 ∈ [--..--]
   __retres ∈ [-536870912..536870911]
 [eva:final-states] Values at end of function main1:
-  G ∈ [0..12]
+  G ∈ [2..12]
   H ∈ [-536870912..536870911]
   K ∈ [-10..20]
   L ∈ [-4000..2],0%2
@@ -86,7 +86,7 @@
   G_0 ∈ {-126; -125; -124; -123; -122; -121} or UNINITIALIZED
   S___fc_stdout[0..1] ∈ [--..--]
 [eva:final-states] Values at end of function main:
-  G ∈ [0..12]
+  G ∈ [2..12]
   H ∈ [-536870912..536870911]
   K ∈ [-10..20]
   L ∈ [-4000..2],0%2
diff --git a/tests/value/oracle/for_loops.3.res.oracle b/tests/value/oracle/for_loops.3.res.oracle
index 45b480710cf5a31a306d622bef103cafb6b77238..2a34a2785890e51ba8d1bfade2e5139520bf6cc8 100644
--- a/tests/value/oracle/for_loops.3.res.oracle
+++ b/tests/value/oracle/for_loops.3.res.oracle
@@ -8,6 +8,8 @@
 [eva] tests/value/for_loops.c:50: starting to merge loop iterations
 [eva] tests/value/for_loops.c:52: starting to merge loop iterations
 [eva] tests/value/for_loops.c:55: Frama_C_show_each_F: {0; 1}, [0..2147483647]
+[eva] tests/value/for_loops.c:55: 
+  Frama_C_show_each_F: {0; 1; 2}, [0..2147483647]
 [eva] tests/value/for_loops.c:55: 
   Frama_C_show_each_F: {0; 1; 2; 3; 4; 5}, [0..2147483647]
 [eva] Recording results for main_4
diff --git a/tests/value/oracle/gauges.res.oracle b/tests/value/oracle/gauges.res.oracle
index c8dd303217a7811d5e5782c00a43c44f7a16fff6..289e246d8ac73d48cb1a4111f42a59e03092aa8b 100644
--- a/tests/value/oracle/gauges.res.oracle
+++ b/tests/value/oracle/gauges.res.oracle
@@ -31,6 +31,10 @@
 [eva] tests/value/gauges.c:21: Frama_C_show_each_1: {{ "in" }}
 [eva] tests/value/gauges.c:19: Frama_C_show_each_0: {{ "in" }}
 [eva] tests/value/gauges.c:21: Frama_C_show_each_1: {{ "in" }}
+[eva] tests/value/gauges.c:19: Frama_C_show_each_0: {{ "in" }}
+[eva] tests/value/gauges.c:21: Frama_C_show_each_1: {{ "in" }}
+[eva] tests/value/gauges.c:19: Frama_C_show_each_0: {{ "in" }}
+[eva] tests/value/gauges.c:21: Frama_C_show_each_1: {{ "in" }}
 [eva:alarm] tests/value/gauges.c:26: Warning: 
   signed overflow. assert l + 1 ≤ 2147483647;
 [eva] Recording results for main0
@@ -59,6 +63,10 @@
 [eva] tests/value/gauges.c:43: Frama_C_show_each_1: {{ "in" }}
 [eva] tests/value/gauges.c:41: Frama_C_show_each_0: {{ "in" }}
 [eva] tests/value/gauges.c:43: Frama_C_show_each_1: {{ "in" }}
+[eva] tests/value/gauges.c:41: Frama_C_show_each_0: {{ "in" }}
+[eva] tests/value/gauges.c:43: Frama_C_show_each_1: {{ "in" }}
+[eva] tests/value/gauges.c:41: Frama_C_show_each_0: {{ "in" }}
+[eva] tests/value/gauges.c:43: Frama_C_show_each_1: {{ "in" }}
 [eva:alarm] tests/value/gauges.c:48: Warning: 
   signed overflow. assert l + 1 ≤ 2147483647;
 [eva] Recording results for main0_bis
diff --git a/tests/value/oracle/loopfun.res.oracle b/tests/value/oracle/loopfun.0.res.oracle
similarity index 91%
rename from tests/value/oracle/loopfun.res.oracle
rename to tests/value/oracle/loopfun.0.res.oracle
index 949c06bca9bffff7b2f504eeba7c281521451645..0bdd232311e43a73cfd47f9f9c9c32418786bada 100644
--- a/tests/value/oracle/loopfun.res.oracle
+++ b/tests/value/oracle/loopfun.0.res.oracle
@@ -3,6 +3,7 @@
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
+  v ∈ [--..--]
   a ∈ {7}
 [eva] computing for function test <- main.
   Called from tests/value/loopfun.i:14.
@@ -41,12 +42,16 @@
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
+[from] Computing for function main2
+[from] Done for function main2
 [from] Computing for function test
 [from] Done for function test
 [from] Computing for function main
 [from] Done for function main
 [from] ====== DEPENDENCIES COMPUTED ======
   These dependencies hold at termination for the executions that terminate:
+[from] Function main2:
+  FROMTOP
 [from] Function test:
   FROMTOP
   \result FROM ANYTHING(origin:Unknown)
@@ -54,6 +59,10 @@
   FROMTOP
   \result FROM ANYTHING(origin:Unknown)
 [from] ====== END OF DEPENDENCIES ======
+[inout] Out (internal) for function main2:
+    \nothing
+[inout] Inputs for function main2:
+    v
 [inout] Out (internal) for function test:
     tmp; a
 [inout] Inputs for function test:
diff --git a/tests/value/oracle/loopfun.1.res.oracle b/tests/value/oracle/loopfun.1.res.oracle
new file mode 100644
index 0000000000000000000000000000000000000000..d6802166c97a9854d3af41680bfd20dcf57d94fe
--- /dev/null
+++ b/tests/value/oracle/loopfun.1.res.oracle
@@ -0,0 +1,29 @@
+[kernel] Parsing tests/value/loopfun.i (no preprocessing)
+[eva] Analyzing a complete application starting at main2
+[eva] Computing initial state
+[eva] Initial state computed
+[eva:initial-state] Values of globals at initialization
+  v ∈ [--..--]
+  a ∈ {7}
+[eva:missing-loop-unroll] tests/value/loopfun.i:23: 
+  while loop without unroll annotation
+[eva:missing-loop-unroll:for] tests/value/loopfun.i:26: Warning: 
+  for loop without unroll annotation
+[eva:missing-loop-unroll] tests/value/loopfun.i:27: 
+  dowhile loop without unroll annotation
+[eva] Recording results for main2
+[eva] done for function main2
+[eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function main2:
+  
+[from] Computing for function main2
+[from] Done for function main2
+[from] ====== DEPENDENCIES COMPUTED ======
+  These dependencies hold at termination for the executions that terminate:
+[from] Function main2:
+  NO EFFECTS
+[from] ====== END OF DEPENDENCIES ======
+[inout] Out (internal) for function main2:
+    \nothing
+[inout] Inputs for function main2:
+    v
diff --git a/tests/value/oracle/postcond_leaf.res.oracle b/tests/value/oracle/postcond_leaf.res.oracle
index 0888126aadf7fd6d719a0908ceea109b3b2d48ee..bd9241c82545abbc272006a05012b229ae4f4830 100644
--- a/tests/value/oracle/postcond_leaf.res.oracle
+++ b/tests/value/oracle/postcond_leaf.res.oracle
@@ -4,7 +4,8 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   i ∈ [--..--]
-[kernel] tests/value/postcond_leaf.c:108: Warning: 
+  j ∈ [--..--]
+[kernel] tests/value/postcond_leaf.c:109: Warning: 
   No code nor implicit assigns clause for function f1, generating default assigns from the prototype
 [eva] using specification for function f1
 [eva] tests/value/postcond_leaf.c:21: Warning: 
diff --git a/tests/value/oracle/precise_locations.res.oracle b/tests/value/oracle/precise_locations.res.oracle
index c959c220fa9c6c58ff14fc913b51819332300dcf..999fe42373a269c2c55b6dc086405196c483b91a 100644
--- a/tests/value/oracle/precise_locations.res.oracle
+++ b/tests/value/oracle/precise_locations.res.oracle
@@ -38,6 +38,8 @@
 [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
 [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
 [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
+[eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
+[eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
 [eva] tests/value/precise_locations.i:42: 
   Frama_C_dump_each:
   # Cvalue domain:
@@ -523,6 +525,8 @@
 [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
 [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
 [eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
+[eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
+[eva] tests/value/precise_locations.i:39: Reusing old results for call to ct
 [eva] tests/value/precise_locations.i:42: 
   Frama_C_dump_each:
   # Cvalue domain:
diff --git a/tests/value/oracle/shift.0.res.oracle b/tests/value/oracle/shift.0.res.oracle
index 6544f7ef1f4f67469baf5489ebfc83980eed75bf..aa83c00acb6fec860002e54317aee5ec41e97e39 100644
--- a/tests/value/oracle/shift.0.res.oracle
+++ b/tests/value/oracle/shift.0.res.oracle
@@ -77,7 +77,7 @@
   ua ∈ {1401}
   ub ∈ {1073741074}
   c ∈ [--..--]
-  z ∈ [-2147483648..2147483631]
+  z ∈ [-2147483648..2147483630],0%2
   zz ∈ {0}
   shl ∈ {1}
 [from] Computing for function main
diff --git a/tests/value/oracle/shift.1.res.oracle b/tests/value/oracle/shift.1.res.oracle
index 0332ad41be63d8ea469071b1ff3be8a6d533bafd..076532ff7124c6875536b00e1051863ad9d4aa3c 100644
--- a/tests/value/oracle/shift.1.res.oracle
+++ b/tests/value/oracle/shift.1.res.oracle
@@ -65,7 +65,7 @@
   ua ∈ {1401}
   ub ∈ {1073741074}
   c ∈ [--..--]
-  z ∈ [-2147483648..2147483631]
+  z ∈ [-2147483648..2147483630],0%2
   zz ∈ {0}
   shl ∈ {0; 1}
 [from] Computing for function main
diff --git a/tests/value/oracle/split_return.0.res.oracle b/tests/value/oracle/split_return.0.res.oracle
index e0a0991d0ef1539d7b0127334b596f71da4d8416..342033647fd5610389bc72b57770adf8ebfe9147 100644
--- a/tests/value/oracle/split_return.0.res.oracle
+++ b/tests/value/oracle/split_return.0.res.oracle
@@ -5,6 +5,8 @@
   \return(f3) == -2, -4 (user)
   \return(f4) == 4 (user)
   \return(f5) == -2 (user)
+  \return(uninit) == 0 (user)
+  \return(escaping) == 0 (user)
 [eva] Analyzing a complete application starting at main
 [eva] Computing initial state
 [eva] Initial state computed
@@ -15,8 +17,9 @@
   i5 ∈ [--..--]
   v ∈ [--..--]
   v7 ∈ {0}
+  rand ∈ [--..--]
 [eva] computing for function main1 <- main.
-  Called from tests/value/split_return.i:176.
+  Called from tests/value/split_return.i:204.
 [eva] computing for function init <- main1 <- main.
   Called from tests/value/split_return.i:17.
 [eva] using specification for function init
@@ -24,7 +27,7 @@
 [eva] Recording results for main1
 [eva] Done for function main1
 [eva] computing for function main2 <- main.
-  Called from tests/value/split_return.i:177.
+  Called from tests/value/split_return.i:205.
 [eva] computing for function f2 <- main2 <- main.
   Called from tests/value/split_return.i:48.
 [eva] Recording results for f2
@@ -37,7 +40,7 @@
 [eva] Recording results for main2
 [eva] Done for function main2
 [eva] computing for function main3 <- main.
-  Called from tests/value/split_return.i:178.
+  Called from tests/value/split_return.i:206.
 [eva] computing for function f3 <- main3 <- main.
   Called from tests/value/split_return.i:73.
 [eva] tests/value/split_return.i:69: f3: cannot properly split on \result == -2
@@ -51,7 +54,7 @@
 [eva] Recording results for main3
 [eva] Done for function main3
 [eva] computing for function main4 <- main.
-  Called from tests/value/split_return.i:179.
+  Called from tests/value/split_return.i:207.
 [eva] computing for function f4 <- main4 <- main.
   Called from tests/value/split_return.i:94.
 [eva] Recording results for f4
@@ -64,7 +67,7 @@
 [eva] Recording results for main4
 [eva] Done for function main4
 [eva] computing for function main5 <- main.
-  Called from tests/value/split_return.i:180.
+  Called from tests/value/split_return.i:208.
 [eva] computing for function f5 <- main5 <- main.
   Called from tests/value/split_return.i:117.
 [eva] Recording results for f5
@@ -76,7 +79,7 @@
 [eva] Recording results for main5
 [eva] Done for function main5
 [eva] computing for function main6 <- main.
-  Called from tests/value/split_return.i:181.
+  Called from tests/value/split_return.i:209.
 [eva] computing for function f6 <- main6 <- main.
   Called from tests/value/split_return.i:135.
 [eva:alarm] tests/value/split_return.i:130: Warning: 
@@ -86,7 +89,7 @@
 [eva] Recording results for main6
 [eva] Done for function main6
 [eva] computing for function main7 <- main.
-  Called from tests/value/split_return.i:182.
+  Called from tests/value/split_return.i:210.
 [eva] computing for function f7 <- main7 <- main.
   Called from tests/value/split_return.i:148.
 [eva] Recording results for f7
@@ -96,7 +99,7 @@
 [eva] Recording results for main7
 [eva] Done for function main7
 [eva] computing for function main8 <- main.
-  Called from tests/value/split_return.i:183.
+  Called from tests/value/split_return.i:211.
 [eva] computing for function f8 <- main8 <- main.
   Called from tests/value/split_return.i:171.
 [eva] Recording results for f8
@@ -105,9 +108,29 @@
   Frama_C_show_each_then8: {-1; 4}, {{ NULL ; &x }}
 [eva] Recording results for main8
 [eva] Done for function main8
+[eva] computing for function main9 <- main.
+  Called from tests/value/split_return.i:212.
+[eva] computing for function uninit <- main9 <- main.
+  Called from tests/value/split_return.i:199.
+[eva] Recording results for uninit
+[eva] Done for function uninit
+[eva] computing for function escaping <- main9 <- main.
+  Called from tests/value/split_return.i:200.
+[eva:locals-escaping] tests/value/split_return.i:192: Warning: 
+  locals {x} escaping the scope of a block of escaping through p
+[eva] Recording results for escaping
+[eva] Done for function escaping
+[eva] computing for function escaping <- main9 <- main.
+  Called from tests/value/split_return.i:200.
+[eva] Recording results for escaping
+[eva] Done for function escaping
+[eva] Recording results for main9
+[eva] Done for function main9
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function escaping:
+  p ∈ ESCAPINGADDR
 [eva:final-states] Values at end of function f2:
   i2 ∈ {0; 5}
   __retres ∈ {0; 5; 7}
@@ -153,12 +176,19 @@
   x ∈ {-1; 4}
   pf ∈ {{ &f8 }}
   p ∈ {{ NULL ; &x }}
+[eva:final-states] Values at end of function uninit:
+  x ∈ {0} or UNINITIALIZED
+[eva:final-states] Values at end of function main9:
+  y ∈ {0} or UNINITIALIZED
+  q ∈ ESCAPINGADDR
 [eva:final-states] Values at end of function main:
   i2 ∈ {0; 5}
   i3 ∈ {0; 5}
   i4 ∈ {0; 5}
   i5 ∈ {0; 5}
   v7 ∈ {0; 1}
+[from] Computing for function escaping
+[from] Done for function escaping
 [from] Computing for function f2
 [from] Done for function f2
 [from] Computing for function f3
@@ -191,10 +221,16 @@
 [from] Done for function main7
 [from] Computing for function main8
 [from] Done for function main8
+[from] Computing for function uninit
+[from] Done for function uninit
+[from] Computing for function main9
+[from] Done for function main9
 [from] Computing for function main
 [from] Done for function main
 [from] ====== DEPENDENCIES COMPUTED ======
   These dependencies hold at termination for the executions that terminate:
+[from] Function escaping:
+  \result FROM \nothing
 [from] Function f2:
   i2 FROM i2
   \result FROM i2
@@ -234,6 +270,10 @@
   v7 FROM v
 [from] Function main8:
   NO EFFECTS
+[from] Function uninit:
+  \result FROM rand
+[from] Function main9:
+  NO EFFECTS
 [from] Function main:
   i2 FROM i2
   i3 FROM i3
@@ -241,6 +281,10 @@
   i5 FROM i5
   v7 FROM v
 [from] ====== END OF DEPENDENCIES ======
+[inout] Out (internal) for function escaping:
+    p
+[inout] Inputs for function escaping:
+    \nothing
 [inout] Out (internal) for function f2:
     i2; __retres
 [inout] Inputs for function f2:
@@ -301,10 +345,18 @@
     x; pf; p; tmp
 [inout] Inputs for function main8:
     v
+[inout] Out (internal) for function uninit:
+    x
+[inout] Inputs for function uninit:
+    rand
+[inout] Out (internal) for function main9:
+    y; q
+[inout] Inputs for function main9:
+    rand
 [inout] Out (internal) for function main:
     i2; i3; i4; i5; v7
 [inout] Inputs for function main:
-    i2; i3; i4; i5; v; v7
+    i2; i3; i4; i5; v; v7; rand
 [report] Computing properties status...
 
 --------------------------------------------------------------------------------
diff --git a/tests/value/oracle/split_return.1.res.oracle b/tests/value/oracle/split_return.1.res.oracle
index 0dd5a8d1cdf2e75536b0cb84f3d82f3e56f36c68..ff8657d99c46823571074bfd6f7f425bc04b59ed 100644
--- a/tests/value/oracle/split_return.1.res.oracle
+++ b/tests/value/oracle/split_return.1.res.oracle
@@ -8,6 +8,7 @@
   \return(f5) == -2 (auto)
   \return(f6) == 0 (auto)
   \return(f8) == 0 (auto)
+  \return(escaping) == 0 (auto)
 [eva] Analyzing a complete application starting at main
 [eva] Computing initial state
 [eva] Initial state computed
@@ -18,8 +19,9 @@
   i5 ∈ [--..--]
   v ∈ [--..--]
   v7 ∈ {0}
+  rand ∈ [--..--]
 [eva] computing for function main1 <- main.
-  Called from tests/value/split_return.i:176.
+  Called from tests/value/split_return.i:204.
 [eva] computing for function init <- main1 <- main.
   Called from tests/value/split_return.i:17.
 [eva] using specification for function init
@@ -27,7 +29,7 @@
 [eva] Recording results for main1
 [eva] Done for function main1
 [eva] computing for function main2 <- main.
-  Called from tests/value/split_return.i:177.
+  Called from tests/value/split_return.i:205.
 [eva] computing for function f2 <- main2 <- main.
   Called from tests/value/split_return.i:48.
 [eva] Recording results for f2
@@ -40,7 +42,7 @@
 [eva] Recording results for main2
 [eva] Done for function main2
 [eva] computing for function main3 <- main.
-  Called from tests/value/split_return.i:178.
+  Called from tests/value/split_return.i:206.
 [eva] computing for function f3 <- main3 <- main.
   Called from tests/value/split_return.i:73.
 [eva] Recording results for f3
@@ -52,7 +54,7 @@
 [eva] Recording results for main3
 [eva] Done for function main3
 [eva] computing for function main4 <- main.
-  Called from tests/value/split_return.i:179.
+  Called from tests/value/split_return.i:207.
 [eva] computing for function f4 <- main4 <- main.
   Called from tests/value/split_return.i:94.
 [eva] Recording results for f4
@@ -64,7 +66,7 @@
 [eva] Recording results for main4
 [eva] Done for function main4
 [eva] computing for function main5 <- main.
-  Called from tests/value/split_return.i:180.
+  Called from tests/value/split_return.i:208.
 [eva] computing for function f5 <- main5 <- main.
   Called from tests/value/split_return.i:117.
 [eva] Recording results for f5
@@ -76,7 +78,7 @@
 [eva] Recording results for main5
 [eva] Done for function main5
 [eva] computing for function main6 <- main.
-  Called from tests/value/split_return.i:181.
+  Called from tests/value/split_return.i:209.
 [eva] computing for function f6 <- main6 <- main.
   Called from tests/value/split_return.i:135.
 [eva:alarm] tests/value/split_return.i:130: Warning: 
@@ -87,7 +89,7 @@
 [eva] Recording results for main6
 [eva] Done for function main6
 [eva] computing for function main7 <- main.
-  Called from tests/value/split_return.i:182.
+  Called from tests/value/split_return.i:210.
 [eva] computing for function f7 <- main7 <- main.
   Called from tests/value/split_return.i:148.
 [eva] Recording results for f7
@@ -97,7 +99,7 @@
 [eva] Recording results for main7
 [eva] Done for function main7
 [eva] computing for function main8 <- main.
-  Called from tests/value/split_return.i:183.
+  Called from tests/value/split_return.i:211.
 [eva] computing for function f8 <- main8 <- main.
   Called from tests/value/split_return.i:171.
 [eva] Recording results for f8
@@ -106,9 +108,25 @@
 [eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0}
 [eva] Recording results for main8
 [eva] Done for function main8
+[eva] computing for function main9 <- main.
+  Called from tests/value/split_return.i:212.
+[eva] computing for function uninit <- main9 <- main.
+  Called from tests/value/split_return.i:199.
+[eva] Recording results for uninit
+[eva] Done for function uninit
+[eva] computing for function escaping <- main9 <- main.
+  Called from tests/value/split_return.i:200.
+[eva:locals-escaping] tests/value/split_return.i:192: Warning: 
+  locals {x} escaping the scope of a block of escaping through p
+[eva] Recording results for escaping
+[eva] Done for function escaping
+[eva] Recording results for main9
+[eva] Done for function main9
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function escaping:
+  p ∈ ESCAPINGADDR
 [eva:final-states] Values at end of function f2:
   i2 ∈ {0; 5}
   __retres ∈ {0; 5; 7}
@@ -154,12 +172,19 @@
   x ∈ {-1; 4}
   pf ∈ {{ &f8 }}
   p ∈ {{ NULL ; &x }}
+[eva:final-states] Values at end of function uninit:
+  x ∈ {0} or UNINITIALIZED
+[eva:final-states] Values at end of function main9:
+  y ∈ {0} or UNINITIALIZED
+  q ∈ ESCAPINGADDR
 [eva:final-states] Values at end of function main:
   i2 ∈ {0; 5}
   i3 ∈ {0; 5}
   i4 ∈ {0; 5}
   i5 ∈ {0; 5}
   v7 ∈ {0; 1}
+[from] Computing for function escaping
+[from] Done for function escaping
 [from] Computing for function f2
 [from] Done for function f2
 [from] Computing for function f3
@@ -192,10 +217,16 @@
 [from] Done for function main7
 [from] Computing for function main8
 [from] Done for function main8
+[from] Computing for function uninit
+[from] Done for function uninit
+[from] Computing for function main9
+[from] Done for function main9
 [from] Computing for function main
 [from] Done for function main
 [from] ====== DEPENDENCIES COMPUTED ======
   These dependencies hold at termination for the executions that terminate:
+[from] Function escaping:
+  \result FROM \nothing
 [from] Function f2:
   i2 FROM i2
   \result FROM i2
@@ -235,6 +266,10 @@
   v7 FROM v
 [from] Function main8:
   NO EFFECTS
+[from] Function uninit:
+  \result FROM rand
+[from] Function main9:
+  NO EFFECTS
 [from] Function main:
   i2 FROM i2
   i3 FROM i3
@@ -242,6 +277,10 @@
   i5 FROM i5
   v7 FROM v
 [from] ====== END OF DEPENDENCIES ======
+[inout] Out (internal) for function escaping:
+    p
+[inout] Inputs for function escaping:
+    \nothing
 [inout] Out (internal) for function f2:
     i2; __retres
 [inout] Inputs for function f2:
@@ -302,10 +341,18 @@
     x; pf; p; tmp
 [inout] Inputs for function main8:
     v
+[inout] Out (internal) for function uninit:
+    x
+[inout] Inputs for function uninit:
+    rand
+[inout] Out (internal) for function main9:
+    y; q
+[inout] Inputs for function main9:
+    rand
 [inout] Out (internal) for function main:
     i2; i3; i4; i5; v7
 [inout] Inputs for function main:
-    i2; i3; i4; i5; v; v7
+    i2; i3; i4; i5; v; v7; rand
 [report] Computing properties status...
 
 --------------------------------------------------------------------------------
diff --git a/tests/value/oracle/split_return.3.res.oracle b/tests/value/oracle/split_return.3.res.oracle
index c33284f92cc95fbd1c46cc04906e08cc03a05bcc..1ad5a6b949801e802041412d0870ce55b97cb0da 100644
--- a/tests/value/oracle/split_return.3.res.oracle
+++ b/tests/value/oracle/split_return.3.res.oracle
@@ -11,8 +11,9 @@
   i5 ∈ [--..--]
   v ∈ [--..--]
   v7 ∈ {0}
+  rand ∈ [--..--]
 [eva] computing for function main1 <- main.
-  Called from tests/value/split_return.i:176.
+  Called from tests/value/split_return.i:204.
 [eva] computing for function init <- main1 <- main.
   Called from tests/value/split_return.i:17.
 [eva] using specification for function init
@@ -20,7 +21,7 @@
 [eva] Recording results for main1
 [eva] Done for function main1
 [eva] computing for function main2 <- main.
-  Called from tests/value/split_return.i:177.
+  Called from tests/value/split_return.i:205.
 [eva] computing for function f2 <- main2 <- main.
   Called from tests/value/split_return.i:48.
 [eva] Recording results for f2
@@ -35,7 +36,7 @@
 [eva] Recording results for main2
 [eva] Done for function main2
 [eva] computing for function main3 <- main.
-  Called from tests/value/split_return.i:178.
+  Called from tests/value/split_return.i:206.
 [eva] computing for function f3 <- main3 <- main.
   Called from tests/value/split_return.i:73.
 [eva] Recording results for f3
@@ -47,7 +48,7 @@
 [eva] Recording results for main3
 [eva] Done for function main3
 [eva] computing for function main3 <- main.
-  Called from tests/value/split_return.i:178.
+  Called from tests/value/split_return.i:206.
 [eva] computing for function f3 <- main3 <- main.
   Called from tests/value/split_return.i:73.
 [eva] Recording results for f3
@@ -57,7 +58,7 @@
 [eva] Recording results for main3
 [eva] Done for function main3
 [eva] computing for function main4 <- main.
-  Called from tests/value/split_return.i:179.
+  Called from tests/value/split_return.i:207.
 [eva] computing for function f4 <- main4 <- main.
   Called from tests/value/split_return.i:94.
 [eva] Recording results for f4
@@ -69,7 +70,7 @@
 [eva] Recording results for main4
 [eva] Done for function main4
 [eva] computing for function main4 <- main.
-  Called from tests/value/split_return.i:179.
+  Called from tests/value/split_return.i:207.
 [eva] computing for function f4 <- main4 <- main.
   Called from tests/value/split_return.i:94.
 [eva] Recording results for f4
@@ -79,7 +80,7 @@
 [eva] Recording results for main4
 [eva] Done for function main4
 [eva] computing for function main4 <- main.
-  Called from tests/value/split_return.i:179.
+  Called from tests/value/split_return.i:207.
 [eva] computing for function f4 <- main4 <- main.
   Called from tests/value/split_return.i:94.
 [eva] Recording results for f4
@@ -89,7 +90,7 @@
 [eva] Recording results for main4
 [eva] Done for function main4
 [eva] computing for function main4 <- main.
-  Called from tests/value/split_return.i:179.
+  Called from tests/value/split_return.i:207.
 [eva] computing for function f4 <- main4 <- main.
   Called from tests/value/split_return.i:94.
 [eva] Recording results for f4
@@ -99,7 +100,7 @@
 [eva] Recording results for main4
 [eva] Done for function main4
 [eva] computing for function main5 <- main.
-  Called from tests/value/split_return.i:180.
+  Called from tests/value/split_return.i:208.
 [eva] computing for function f5 <- main5 <- main.
   Called from tests/value/split_return.i:117.
 [eva] Recording results for f5
@@ -111,7 +112,7 @@
 [eva] Recording results for main5
 [eva] Done for function main5
 [eva] computing for function main6 <- main.
-  Called from tests/value/split_return.i:181.
+  Called from tests/value/split_return.i:209.
 [eva] computing for function f6 <- main6 <- main.
   Called from tests/value/split_return.i:135.
 [eva:alarm] tests/value/split_return.i:130: Warning: 
@@ -121,7 +122,7 @@
 [eva] Recording results for main6
 [eva] Done for function main6
 [eva] computing for function main6 <- main.
-  Called from tests/value/split_return.i:181.
+  Called from tests/value/split_return.i:209.
 [eva] computing for function f6 <- main6 <- main.
   Called from tests/value/split_return.i:135.
 [eva] Recording results for f6
@@ -129,7 +130,7 @@
 [eva] Recording results for main6
 [eva] Done for function main6
 [eva] computing for function main7 <- main.
-  Called from tests/value/split_return.i:182.
+  Called from tests/value/split_return.i:210.
 [eva] computing for function f7 <- main7 <- main.
   Called from tests/value/split_return.i:148.
 [eva] Recording results for f7
@@ -139,7 +140,7 @@
 [eva] Recording results for main7
 [eva] Done for function main7
 [eva] computing for function main7 <- main.
-  Called from tests/value/split_return.i:182.
+  Called from tests/value/split_return.i:210.
 [eva] computing for function f7 <- main7 <- main.
   Called from tests/value/split_return.i:148.
 [eva] Recording results for f7
@@ -149,7 +150,7 @@
 [eva] Recording results for main7
 [eva] Done for function main7
 [eva] computing for function main8 <- main.
-  Called from tests/value/split_return.i:183.
+  Called from tests/value/split_return.i:211.
 [eva] computing for function f8 <- main8 <- main.
   Called from tests/value/split_return.i:171.
 [eva] Recording results for f8
@@ -159,7 +160,7 @@
 [eva] Recording results for main8
 [eva] Done for function main8
 [eva] computing for function main8 <- main.
-  Called from tests/value/split_return.i:183.
+  Called from tests/value/split_return.i:211.
 [eva] computing for function f8 <- main8 <- main.
   Called from tests/value/split_return.i:171.
 [eva] Recording results for f8
@@ -169,7 +170,7 @@
 [eva] Recording results for main8
 [eva] Done for function main8
 [eva] computing for function main8 <- main.
-  Called from tests/value/split_return.i:183.
+  Called from tests/value/split_return.i:211.
 [eva] computing for function f8 <- main8 <- main.
   Called from tests/value/split_return.i:171.
 [eva] Recording results for f8
@@ -179,7 +180,7 @@
 [eva] Recording results for main8
 [eva] Done for function main8
 [eva] computing for function main8 <- main.
-  Called from tests/value/split_return.i:183.
+  Called from tests/value/split_return.i:211.
 [eva] computing for function f8 <- main8 <- main.
   Called from tests/value/split_return.i:171.
 [eva] Recording results for f8
@@ -188,9 +189,29 @@
 [eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0}
 [eva] Recording results for main8
 [eva] Done for function main8
+[eva] computing for function main9 <- main.
+  Called from tests/value/split_return.i:212.
+[eva] computing for function uninit <- main9 <- main.
+  Called from tests/value/split_return.i:199.
+[eva] Recording results for uninit
+[eva] Done for function uninit
+[eva] computing for function escaping <- main9 <- main.
+  Called from tests/value/split_return.i:200.
+[eva:locals-escaping] tests/value/split_return.i:192: Warning: 
+  locals {x} escaping the scope of a block of escaping through p
+[eva] Recording results for escaping
+[eva] Done for function escaping
+[eva] computing for function escaping <- main9 <- main.
+  Called from tests/value/split_return.i:200.
+[eva] Recording results for escaping
+[eva] Done for function escaping
+[eva] Recording results for main9
+[eva] Done for function main9
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function escaping:
+  p ∈ ESCAPINGADDR
 [eva:final-states] Values at end of function f2:
   i2 ∈ {0; 5}
   __retres ∈ {0; 5; 7}
@@ -236,12 +257,19 @@
   x ∈ {-1; 4}
   pf ∈ {{ &f8 }}
   p ∈ {{ NULL ; &x }}
+[eva:final-states] Values at end of function uninit:
+  x ∈ {0} or UNINITIALIZED
+[eva:final-states] Values at end of function main9:
+  y ∈ {0} or UNINITIALIZED
+  q ∈ ESCAPINGADDR
 [eva:final-states] Values at end of function main:
   i2 ∈ {0; 5}
   i3 ∈ {0; 5}
   i4 ∈ {0; 5}
   i5 ∈ {0; 5}
   v7 ∈ {0; 1}
+[from] Computing for function escaping
+[from] Done for function escaping
 [from] Computing for function f2
 [from] Done for function f2
 [from] Computing for function f3
@@ -274,10 +302,16 @@
 [from] Done for function main7
 [from] Computing for function main8
 [from] Done for function main8
+[from] Computing for function uninit
+[from] Done for function uninit
+[from] Computing for function main9
+[from] Done for function main9
 [from] Computing for function main
 [from] Done for function main
 [from] ====== DEPENDENCIES COMPUTED ======
   These dependencies hold at termination for the executions that terminate:
+[from] Function escaping:
+  \result FROM \nothing
 [from] Function f2:
   i2 FROM i2
   \result FROM i2
@@ -317,6 +351,10 @@
   v7 FROM v
 [from] Function main8:
   NO EFFECTS
+[from] Function uninit:
+  \result FROM rand
+[from] Function main9:
+  NO EFFECTS
 [from] Function main:
   i2 FROM i2
   i3 FROM i3
@@ -324,6 +362,10 @@
   i5 FROM i5
   v7 FROM v
 [from] ====== END OF DEPENDENCIES ======
+[inout] Out (internal) for function escaping:
+    p
+[inout] Inputs for function escaping:
+    \nothing
 [inout] Out (internal) for function f2:
     i2; __retres
 [inout] Inputs for function f2:
@@ -384,7 +426,15 @@
     x; pf; p; tmp
 [inout] Inputs for function main8:
     v
+[inout] Out (internal) for function uninit:
+    x
+[inout] Inputs for function uninit:
+    rand
+[inout] Out (internal) for function main9:
+    y; q
+[inout] Inputs for function main9:
+    rand
 [inout] Out (internal) for function main:
     i2; i3; i4; i5; v7
 [inout] Inputs for function main:
-    i2; i3; i4; i5; v; v7
+    i2; i3; i4; i5; v; v7; rand
diff --git a/tests/value/oracle/split_return.4.res.oracle b/tests/value/oracle/split_return.4.res.oracle
index 6985eb6c49e28b7cb25f2f343621a1a79b9b2a47..46c3281323efa5dbd6f217ae060050721529854c 100644
--- a/tests/value/oracle/split_return.4.res.oracle
+++ b/tests/value/oracle/split_return.4.res.oracle
@@ -14,8 +14,9 @@
   i5 ∈ [--..--]
   v ∈ [--..--]
   v7 ∈ {0}
+  rand ∈ [--..--]
 [eva] computing for function main1 <- main.
-  Called from tests/value/split_return.i:176.
+  Called from tests/value/split_return.i:204.
 [eva] computing for function init <- main1 <- main.
   Called from tests/value/split_return.i:17.
 [eva] using specification for function init
@@ -23,7 +24,7 @@
 [eva] Recording results for main1
 [eva] Done for function main1
 [eva] computing for function main2 <- main.
-  Called from tests/value/split_return.i:177.
+  Called from tests/value/split_return.i:205.
 [eva] computing for function f2 <- main2 <- main.
   Called from tests/value/split_return.i:48.
 [eva] Recording results for f2
@@ -38,7 +39,7 @@
 [eva] Recording results for main2
 [eva] Done for function main2
 [eva] computing for function main3 <- main.
-  Called from tests/value/split_return.i:178.
+  Called from tests/value/split_return.i:206.
 [eva] computing for function f3 <- main3 <- main.
   Called from tests/value/split_return.i:73.
 [eva] Recording results for f3
@@ -50,7 +51,7 @@
 [eva] Recording results for main3
 [eva] Done for function main3
 [eva] computing for function main3 <- main.
-  Called from tests/value/split_return.i:178.
+  Called from tests/value/split_return.i:206.
 [eva] computing for function f3 <- main3 <- main.
   Called from tests/value/split_return.i:73.
 [eva] Recording results for f3
@@ -60,7 +61,7 @@
 [eva] Recording results for main3
 [eva] Done for function main3
 [eva] computing for function main4 <- main.
-  Called from tests/value/split_return.i:179.
+  Called from tests/value/split_return.i:207.
 [eva] computing for function f4 <- main4 <- main.
   Called from tests/value/split_return.i:94.
 [eva] Recording results for f4
@@ -72,7 +73,7 @@
 [eva] Recording results for main4
 [eva] Done for function main4
 [eva] computing for function main4 <- main.
-  Called from tests/value/split_return.i:179.
+  Called from tests/value/split_return.i:207.
 [eva] computing for function f4 <- main4 <- main.
   Called from tests/value/split_return.i:94.
 [eva] Recording results for f4
@@ -82,7 +83,7 @@
 [eva] Recording results for main4
 [eva] Done for function main4
 [eva] computing for function main4 <- main.
-  Called from tests/value/split_return.i:179.
+  Called from tests/value/split_return.i:207.
 [eva] computing for function f4 <- main4 <- main.
   Called from tests/value/split_return.i:94.
 [eva] Recording results for f4
@@ -92,7 +93,7 @@
 [eva] Recording results for main4
 [eva] Done for function main4
 [eva] computing for function main4 <- main.
-  Called from tests/value/split_return.i:179.
+  Called from tests/value/split_return.i:207.
 [eva] computing for function f4 <- main4 <- main.
   Called from tests/value/split_return.i:94.
 [eva] Recording results for f4
@@ -102,7 +103,7 @@
 [eva] Recording results for main4
 [eva] Done for function main4
 [eva] computing for function main5 <- main.
-  Called from tests/value/split_return.i:180.
+  Called from tests/value/split_return.i:208.
 [eva] computing for function f5 <- main5 <- main.
   Called from tests/value/split_return.i:117.
 [eva] Recording results for f5
@@ -114,7 +115,7 @@
 [eva] Recording results for main5
 [eva] Done for function main5
 [eva] computing for function main6 <- main.
-  Called from tests/value/split_return.i:181.
+  Called from tests/value/split_return.i:209.
 [eva] computing for function f6 <- main6 <- main.
   Called from tests/value/split_return.i:135.
 [eva:alarm] tests/value/split_return.i:130: Warning: 
@@ -124,7 +125,7 @@
 [eva] Recording results for main6
 [eva] Done for function main6
 [eva] computing for function main6 <- main.
-  Called from tests/value/split_return.i:181.
+  Called from tests/value/split_return.i:209.
 [eva] computing for function f6 <- main6 <- main.
   Called from tests/value/split_return.i:135.
 [eva] Recording results for f6
@@ -132,7 +133,7 @@
 [eva] Recording results for main6
 [eva] Done for function main6
 [eva] computing for function main7 <- main.
-  Called from tests/value/split_return.i:182.
+  Called from tests/value/split_return.i:210.
 [eva] computing for function f7 <- main7 <- main.
   Called from tests/value/split_return.i:148.
 [eva] Recording results for f7
@@ -142,7 +143,7 @@
 [eva] Recording results for main7
 [eva] Done for function main7
 [eva] computing for function main7 <- main.
-  Called from tests/value/split_return.i:182.
+  Called from tests/value/split_return.i:210.
 [eva] computing for function f7 <- main7 <- main.
   Called from tests/value/split_return.i:148.
 [eva] Recording results for f7
@@ -152,7 +153,7 @@
 [eva] Recording results for main7
 [eva] Done for function main7
 [eva] computing for function main8 <- main.
-  Called from tests/value/split_return.i:183.
+  Called from tests/value/split_return.i:211.
 [eva] computing for function f8 <- main8 <- main.
   Called from tests/value/split_return.i:171.
 [eva] Recording results for f8
@@ -162,7 +163,7 @@
 [eva] Recording results for main8
 [eva] Done for function main8
 [eva] computing for function main8 <- main.
-  Called from tests/value/split_return.i:183.
+  Called from tests/value/split_return.i:211.
 [eva] computing for function f8 <- main8 <- main.
   Called from tests/value/split_return.i:171.
 [eva] Recording results for f8
@@ -172,7 +173,7 @@
 [eva] Recording results for main8
 [eva] Done for function main8
 [eva] computing for function main8 <- main.
-  Called from tests/value/split_return.i:183.
+  Called from tests/value/split_return.i:211.
 [eva] computing for function f8 <- main8 <- main.
   Called from tests/value/split_return.i:171.
 [eva] Recording results for f8
@@ -182,7 +183,7 @@
 [eva] Recording results for main8
 [eva] Done for function main8
 [eva] computing for function main8 <- main.
-  Called from tests/value/split_return.i:183.
+  Called from tests/value/split_return.i:211.
 [eva] computing for function f8 <- main8 <- main.
   Called from tests/value/split_return.i:171.
 [eva] Recording results for f8
@@ -191,9 +192,29 @@
 [eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0}
 [eva] Recording results for main8
 [eva] Done for function main8
+[eva] computing for function main9 <- main.
+  Called from tests/value/split_return.i:212.
+[eva] computing for function uninit <- main9 <- main.
+  Called from tests/value/split_return.i:199.
+[eva] Recording results for uninit
+[eva] Done for function uninit
+[eva] computing for function escaping <- main9 <- main.
+  Called from tests/value/split_return.i:200.
+[eva:locals-escaping] tests/value/split_return.i:192: Warning: 
+  locals {x} escaping the scope of a block of escaping through p
+[eva] Recording results for escaping
+[eva] Done for function escaping
+[eva] computing for function escaping <- main9 <- main.
+  Called from tests/value/split_return.i:200.
+[eva] Recording results for escaping
+[eva] Done for function escaping
+[eva] Recording results for main9
+[eva] Done for function main9
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function escaping:
+  p ∈ ESCAPINGADDR
 [eva:final-states] Values at end of function f2:
   i2 ∈ {0; 5}
   __retres ∈ {0; 5; 7}
@@ -239,12 +260,19 @@
   x ∈ {-1; 4}
   pf ∈ {{ &f8 }}
   p ∈ {{ NULL ; &x }}
+[eva:final-states] Values at end of function uninit:
+  x ∈ {0} or UNINITIALIZED
+[eva:final-states] Values at end of function main9:
+  y ∈ {0} or UNINITIALIZED
+  q ∈ ESCAPINGADDR
 [eva:final-states] Values at end of function main:
   i2 ∈ {0; 5}
   i3 ∈ {0; 5}
   i4 ∈ {0; 5}
   i5 ∈ {0; 5}
   v7 ∈ {0; 1}
+[from] Computing for function escaping
+[from] Done for function escaping
 [from] Computing for function f2
 [from] Done for function f2
 [from] Computing for function f3
@@ -277,10 +305,16 @@
 [from] Done for function main7
 [from] Computing for function main8
 [from] Done for function main8
+[from] Computing for function uninit
+[from] Done for function uninit
+[from] Computing for function main9
+[from] Done for function main9
 [from] Computing for function main
 [from] Done for function main
 [from] ====== DEPENDENCIES COMPUTED ======
   These dependencies hold at termination for the executions that terminate:
+[from] Function escaping:
+  \result FROM \nothing
 [from] Function f2:
   i2 FROM i2
   \result FROM i2
@@ -320,6 +354,10 @@
   v7 FROM v
 [from] Function main8:
   NO EFFECTS
+[from] Function uninit:
+  \result FROM rand
+[from] Function main9:
+  NO EFFECTS
 [from] Function main:
   i2 FROM i2
   i3 FROM i3
@@ -327,6 +365,10 @@
   i5 FROM i5
   v7 FROM v
 [from] ====== END OF DEPENDENCIES ======
+[inout] Out (internal) for function escaping:
+    p
+[inout] Inputs for function escaping:
+    \nothing
 [inout] Out (internal) for function f2:
     i2; __retres
 [inout] Inputs for function f2:
@@ -387,10 +429,18 @@
     x; pf; p; tmp
 [inout] Inputs for function main8:
     v
+[inout] Out (internal) for function uninit:
+    x
+[inout] Inputs for function uninit:
+    rand
+[inout] Out (internal) for function main9:
+    y; q
+[inout] Inputs for function main9:
+    rand
 [inout] Out (internal) for function main:
     i2; i3; i4; i5; v7
 [inout] Inputs for function main:
-    i2; i3; i4; i5; v; v7
+    i2; i3; i4; i5; v; v7; rand
 [eva] Warning: option -eva-split-return-function: 'f2' previously bound to 'full split';
   now bound to 'auto split'.
 [eva] Splitting return states on:
@@ -408,15 +458,16 @@
   i5 ∈ [--..--]
   v ∈ [--..--]
   v7 ∈ {0}
+  rand ∈ [--..--]
 [eva] computing for function main1 <- main.
-  Called from tests/value/split_return.i:176.
+  Called from tests/value/split_return.i:204.
 [eva] computing for function init <- main1 <- main.
   Called from tests/value/split_return.i:17.
 [eva] Done for function init
 [eva] Recording results for main1
 [eva] Done for function main1
 [eva] computing for function main2 <- main.
-  Called from tests/value/split_return.i:177.
+  Called from tests/value/split_return.i:205.
 [eva] computing for function f2 <- main2 <- main.
   Called from tests/value/split_return.i:48.
 [eva] Recording results for f2
@@ -427,7 +478,7 @@
 [eva] Recording results for main2
 [eva] Done for function main2
 [eva] computing for function main3 <- main.
-  Called from tests/value/split_return.i:178.
+  Called from tests/value/split_return.i:206.
 [eva] computing for function f3 <- main3 <- main.
   Called from tests/value/split_return.i:73.
 [eva] Recording results for f3
@@ -437,7 +488,7 @@
 [eva] Recording results for main3
 [eva] Done for function main3
 [eva] computing for function main3 <- main.
-  Called from tests/value/split_return.i:178.
+  Called from tests/value/split_return.i:206.
 [eva] computing for function f3 <- main3 <- main.
   Called from tests/value/split_return.i:73.
 [eva] Recording results for f3
@@ -447,7 +498,7 @@
 [eva] Recording results for main3
 [eva] Done for function main3
 [eva] computing for function main4 <- main.
-  Called from tests/value/split_return.i:179.
+  Called from tests/value/split_return.i:207.
 [eva] computing for function f4 <- main4 <- main.
   Called from tests/value/split_return.i:94.
 [eva] Recording results for f4
@@ -457,7 +508,7 @@
 [eva] Recording results for main4
 [eva] Done for function main4
 [eva] computing for function main4 <- main.
-  Called from tests/value/split_return.i:179.
+  Called from tests/value/split_return.i:207.
 [eva] computing for function f4 <- main4 <- main.
   Called from tests/value/split_return.i:94.
 [eva] Recording results for f4
@@ -467,7 +518,7 @@
 [eva] Recording results for main4
 [eva] Done for function main4
 [eva] computing for function main4 <- main.
-  Called from tests/value/split_return.i:179.
+  Called from tests/value/split_return.i:207.
 [eva] computing for function f4 <- main4 <- main.
   Called from tests/value/split_return.i:94.
 [eva] Recording results for f4
@@ -477,7 +528,7 @@
 [eva] Recording results for main4
 [eva] Done for function main4
 [eva] computing for function main4 <- main.
-  Called from tests/value/split_return.i:179.
+  Called from tests/value/split_return.i:207.
 [eva] computing for function f4 <- main4 <- main.
   Called from tests/value/split_return.i:94.
 [eva] Recording results for f4
@@ -487,7 +538,7 @@
 [eva] Recording results for main4
 [eva] Done for function main4
 [eva] computing for function main5 <- main.
-  Called from tests/value/split_return.i:180.
+  Called from tests/value/split_return.i:208.
 [eva] computing for function f5 <- main5 <- main.
   Called from tests/value/split_return.i:117.
 [eva] Recording results for f5
@@ -497,7 +548,7 @@
 [eva] Recording results for main5
 [eva] Done for function main5
 [eva] computing for function main6 <- main.
-  Called from tests/value/split_return.i:181.
+  Called from tests/value/split_return.i:209.
 [eva] computing for function f6 <- main6 <- main.
   Called from tests/value/split_return.i:135.
 [eva] Recording results for f6
@@ -505,7 +556,7 @@
 [eva] Recording results for main6
 [eva] Done for function main6
 [eva] computing for function main6 <- main.
-  Called from tests/value/split_return.i:181.
+  Called from tests/value/split_return.i:209.
 [eva] computing for function f6 <- main6 <- main.
   Called from tests/value/split_return.i:135.
 [eva] Recording results for f6
@@ -513,7 +564,7 @@
 [eva] Recording results for main6
 [eva] Done for function main6
 [eva] computing for function main7 <- main.
-  Called from tests/value/split_return.i:182.
+  Called from tests/value/split_return.i:210.
 [eva] computing for function f7 <- main7 <- main.
   Called from tests/value/split_return.i:148.
 [eva] Recording results for f7
@@ -523,7 +574,7 @@
 [eva] Recording results for main7
 [eva] Done for function main7
 [eva] computing for function main7 <- main.
-  Called from tests/value/split_return.i:182.
+  Called from tests/value/split_return.i:210.
 [eva] computing for function f7 <- main7 <- main.
   Called from tests/value/split_return.i:148.
 [eva] Recording results for f7
@@ -533,7 +584,7 @@
 [eva] Recording results for main7
 [eva] Done for function main7
 [eva] computing for function main8 <- main.
-  Called from tests/value/split_return.i:183.
+  Called from tests/value/split_return.i:211.
 [eva] computing for function f8 <- main8 <- main.
   Called from tests/value/split_return.i:171.
 [eva] Recording results for f8
@@ -543,7 +594,7 @@
 [eva] Recording results for main8
 [eva] Done for function main8
 [eva] computing for function main8 <- main.
-  Called from tests/value/split_return.i:183.
+  Called from tests/value/split_return.i:211.
 [eva] computing for function f8 <- main8 <- main.
   Called from tests/value/split_return.i:171.
 [eva] Recording results for f8
@@ -553,7 +604,7 @@
 [eva] Recording results for main8
 [eva] Done for function main8
 [eva] computing for function main8 <- main.
-  Called from tests/value/split_return.i:183.
+  Called from tests/value/split_return.i:211.
 [eva] computing for function f8 <- main8 <- main.
   Called from tests/value/split_return.i:171.
 [eva] Recording results for f8
@@ -563,7 +614,7 @@
 [eva] Recording results for main8
 [eva] Done for function main8
 [eva] computing for function main8 <- main.
-  Called from tests/value/split_return.i:183.
+  Called from tests/value/split_return.i:211.
 [eva] computing for function f8 <- main8 <- main.
   Called from tests/value/split_return.i:171.
 [eva] Recording results for f8
@@ -572,9 +623,27 @@
 [eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0}
 [eva] Recording results for main8
 [eva] Done for function main8
+[eva] computing for function main9 <- main.
+  Called from tests/value/split_return.i:212.
+[eva] computing for function uninit <- main9 <- main.
+  Called from tests/value/split_return.i:199.
+[eva] Recording results for uninit
+[eva] Done for function uninit
+[eva] computing for function escaping <- main9 <- main.
+  Called from tests/value/split_return.i:200.
+[eva] Recording results for escaping
+[eva] Done for function escaping
+[eva] computing for function escaping <- main9 <- main.
+  Called from tests/value/split_return.i:200.
+[eva] Recording results for escaping
+[eva] Done for function escaping
+[eva] Recording results for main9
+[eva] Done for function main9
 [eva] Recording results for main
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
+[eva:final-states] Values at end of function escaping:
+  p ∈ ESCAPINGADDR
 [eva:final-states] Values at end of function f2:
   i2 ∈ {0; 5}
   __retres ∈ {0; 5; 7}
@@ -620,12 +689,19 @@
   x ∈ {-1; 4}
   pf ∈ {{ &f8 }}
   p ∈ {{ NULL ; &x }}
+[eva:final-states] Values at end of function uninit:
+  x ∈ {0} or UNINITIALIZED
+[eva:final-states] Values at end of function main9:
+  y ∈ {0} or UNINITIALIZED
+  q ∈ ESCAPINGADDR
 [eva:final-states] Values at end of function main:
   i2 ∈ {0; 5}
   i3 ∈ {0; 5}
   i4 ∈ {0; 5}
   i5 ∈ {0; 5}
   v7 ∈ {0; 1}
+[from] Computing for function escaping
+[from] Done for function escaping
 [from] Computing for function f2
 [from] Done for function f2
 [from] Computing for function f3
@@ -658,10 +734,16 @@
 [from] Done for function main7
 [from] Computing for function main8
 [from] Done for function main8
+[from] Computing for function uninit
+[from] Done for function uninit
+[from] Computing for function main9
+[from] Done for function main9
 [from] Computing for function main
 [from] Done for function main
 [from] ====== DEPENDENCIES COMPUTED ======
   These dependencies hold at termination for the executions that terminate:
+[from] Function escaping:
+  \result FROM \nothing
 [from] Function f2:
   i2 FROM i2
   \result FROM i2
@@ -701,6 +783,10 @@
   v7 FROM v
 [from] Function main8:
   NO EFFECTS
+[from] Function uninit:
+  \result FROM rand
+[from] Function main9:
+  NO EFFECTS
 [from] Function main:
   i2 FROM i2
   i3 FROM i3
@@ -708,6 +794,10 @@
   i5 FROM i5
   v7 FROM v
 [from] ====== END OF DEPENDENCIES ======
+[inout] Out (internal) for function escaping:
+    p
+[inout] Inputs for function escaping:
+    \nothing
 [inout] Out (internal) for function f2:
     i2; __retres
 [inout] Inputs for function f2:
@@ -768,7 +858,15 @@
     x; pf; p; tmp
 [inout] Inputs for function main8:
     v
+[inout] Out (internal) for function uninit:
+    x
+[inout] Inputs for function uninit:
+    rand
+[inout] Out (internal) for function main9:
+    y; q
+[inout] Inputs for function main9:
+    rand
 [inout] Out (internal) for function main:
     i2; i3; i4; i5; v7
 [inout] Inputs for function main:
-    i2; i3; i4; i5; v; v7
+    i2; i3; i4; i5; v; v7; rand
diff --git a/tests/value/oracle/widen_non_constant.res.oracle b/tests/value/oracle/widen_non_constant.res.oracle
index c8d94a6191b6ff0943a57b64cdb4fb7a8476e0c6..6d5b5622a50133d23f68a4dd49a64e297d862e3c 100644
--- a/tests/value/oracle/widen_non_constant.res.oracle
+++ b/tests/value/oracle/widen_non_constant.res.oracle
@@ -25,7 +25,7 @@
   Frama_C_show_each_in: {0; 1; 2}, [1..23]
 [eva] tests/value/widen_non_constant.i:11: Frama_C_show_each_out: [0..22]
 [eva] tests/value/widen_non_constant.i:13: 
-  Frama_C_show_each_in: [0..23], [1..23]
+  Frama_C_show_each_in: [0..22], [1..23]
 [eva] Recording results for main1
 [eva] Done for function main1
 [eva] computing for function main2 <- main.
@@ -44,7 +44,7 @@
   Frama_C_show_each_in: {0; 1; 2}, [1..23]
 [eva] tests/value/widen_non_constant.i:27: Frama_C_show_each_out: [0..22]
 [eva] tests/value/widen_non_constant.i:29: 
-  Frama_C_show_each_in: [0..25], [1..23]
+  Frama_C_show_each_in: [0..22], [1..23]
 [eva] Recording results for main2
 [eva] Done for function main2
 [eva] computing for function main3 <- main.
@@ -63,11 +63,7 @@
   Frama_C_show_each_in: {0; 1; 2}, [1..23]
 [eva] tests/value/widen_non_constant.i:46: Frama_C_show_each_out: [0..22]
 [eva] tests/value/widen_non_constant.i:48: 
-  Frama_C_show_each_in: [0..2147483647], [1..23]
-[eva:alarm] tests/value/widen_non_constant.i:49: Warning: 
-  out of bounds read. assert \valid_read(p + j);
-[eva:alarm] tests/value/widen_non_constant.i:45: Warning: 
-  signed overflow. assert j + 1 ≤ 2147483647;
+  Frama_C_show_each_in: [0..22], [1..23]
 [eva] Recording results for main3
 [eva] Done for function main3
 [eva] computing for function main4 <- main.
@@ -85,10 +81,10 @@
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function main1:
   i ∈ {24} or UNINITIALIZED
-  j ∈ {23; 24}
+  j ∈ {23}
 [eva:final-states] Values at end of function main2:
   i ∈ {24; 25} or UNINITIALIZED
-  j ∈ {23; 24; 25; 26}
+  j ∈ {23; 24; 25}
 [eva:final-states] Values at end of function main3:
   i ∈ [24..2147483647] or UNINITIALIZED
   j ∈ [23..2147483647]
@@ -139,7 +135,7 @@
 [inout] Out (internal) for function main2:
     i; j
 [inout] Inputs for function main2:
-    N; B[0..25]
+    N; B[0..23]
 [inout] Out (internal) for function main3:
     i; j; p
 [inout] Inputs for function main3:
@@ -151,4 +147,4 @@
 [inout] Out (internal) for function main:
     t[0..19]; u[0..39]
 [inout] Inputs for function main:
-    N; A[0..23]; B[0..25]; C[0..23]
+    N; A[0..23]; B[0..23]; C[0..23]
diff --git a/tests/value/oracle/widen_on_non_monotonic.res.oracle b/tests/value/oracle/widen_on_non_monotonic.res.oracle
index c0a867022e7b0ac9291602e4f3920c22181e3de8..5270640d92190f496ad3e554f4b893c6676e78ba 100644
--- a/tests/value/oracle/widen_on_non_monotonic.res.oracle
+++ b/tests/value/oracle/widen_on_non_monotonic.res.oracle
@@ -20,6 +20,7 @@
   Called from tests/value/widen_on_non_monotonic.i:71.
 [eva] tests/value/widen_on_non_monotonic.i:25: starting to merge loop iterations
 [eva] tests/value/widen_on_non_monotonic.i:23: starting to merge loop iterations
+[eva] tests/value/widen_on_non_monotonic.i:26: starting to merge loop iterations
 [eva:alarm] tests/value/widen_on_non_monotonic.i:27: Warning: 
   signed overflow. assert -2147483648 ≤ b - 1;
 [eva] Recording results for main1
diff --git a/tests/value/pointer_comparison.c b/tests/value/pointer_comparison.c
index 7fd0d6828bf4e4f0a799dc0787154c1f265f400b..2dcf42073538d749686ebbd0fe38cc7fc6cb9e30 100644
--- a/tests/value/pointer_comparison.c
+++ b/tests/value/pointer_comparison.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +" -load-module report -report-print-properties -eva-warn-undefined-pointer-comparison none -eva-msg-key pointer-comparison -then -report -then -val-warn-undefined-pointer-comparison pointer -then -report -then -eva-warn-undefined-pointer-comparison all -then -report"
+   STDOPT: +" -load-module report -report-print-properties -eva-warn-undefined-pointer-comparison none -eva-msg-key pointer-comparison -then -report -then -eva-warn-undefined-pointer-comparison pointer -then -report -then -eva-warn-undefined-pointer-comparison all -then -report"
    STDOPT: +" -load-module report -report-print-properties -undefined-pointer-comparison-propagate-all -eva-warn-undefined-pointer-comparison none -eva-msg-key pointer-comparison -then -report -then -eva-warn-undefined-pointer-comparison pointer -then -report -then -eva-warn-undefined-pointer-comparison all -then -report"
 */
 int x,y,*p;
diff --git a/tests/value/postcond_leaf.c b/tests/value/postcond_leaf.c
index 1afa96fd61f72825e88db72e9b8f1a9bf1e33ef5..b7171d4133a9a6be19c5030b615d8dfacaba0600 100644
--- a/tests/value/postcond_leaf.c
+++ b/tests/value/postcond_leaf.c
@@ -1,5 +1,5 @@
 /* run.config* 
-OPT: -no-autoload-plugins @VALUECONFIG@ -load-module eva,inout,report -no-val-show-progress -val -val-use-spec g1,g2,g3 -then -report
+OPT: -no-autoload-plugins @VALUECONFIG@ -load-module eva,inout,report -eva-no-show-progress -eva -eva-use-spec g1,g2,g3 -then -report
 */
 
 /* Test what is printed when Value evaluates a post-condition:
@@ -103,35 +103,36 @@ void h4() {
 int* k(int *p);
 
 
-void main(j) {
-  if (j & 1) {
+volatile int j;
+void main() {
+  if (j) {
     f1();
   }
-  if (j & 2) {
+  if (j) {
     f2();
   }
-  if (j & 3) {
+  if (j) {
     f3();
   }
-  if (j & 4) {
+  if (j) {
     f4();
   }
-  if (j & 5) {
+  if (j) {
     g1();
   }
-  if (j & 6) {
+  if (j) {
     g2();
   }
-  if (j & 7) {
+  if (j) {
     g3();
   }
-  if (j & 8) {
+  if (j) {
     h1();
   }
-  if (j & 9) {
+  if (j) {
     h2();
   }
-  if (j & 10) {
+  if (j) {
     h3();
   }
   if (j & 11) {
@@ -143,3 +144,4 @@ void main(j) {
   }
 
 }
+
diff --git a/tests/value/precise_locations.i b/tests/value/precise_locations.i
index 3f3051f0dc6324e869083ba75cd0e769a668e19d..06340dba48ae65c8c9ed814351463b7a34cc27ab 100644
--- a/tests/value/precise_locations.i
+++ b/tests/value/precise_locations.i
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +"-then -inout -load-module report -report -then -plevel 250"
+   STDOPT: +"-eva-widening-period 3 -then -inout -load-module report -report -then -plevel 250"
 */
 
 struct s {
diff --git a/tests/value/precond.c b/tests/value/precond.c
index 12de68501f7c0e1f3f2bd3a04fa13a9c283889cf..49b21d44e0af2c74f8b6561ba9145ca40d1a111b 100644
--- a/tests/value/precond.c
+++ b/tests/value/precond.c
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module from,inout,eva,report -lib-entry -val @VALUECONFIG@ -then -report -report-print-properties -then -report-no-specialized
+   OPT: -no-autoload-plugins -load-module from,inout,eva,report -lib-entry -eva @VALUECONFIG@ -then -report -report-print-properties -then -report-no-specialized
 */
 
 
diff --git a/tests/value/precond2.c b/tests/value/precond2.c
index ead85e99a7eb0badc760a01f7b0c8f84d09049a6..9008ebd722097da73c7115cc4c3da66ed34d7fb8 100644
--- a/tests/value/precond2.c
+++ b/tests/value/precond2.c
@@ -1,6 +1,6 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module from,inout,eva,report,rtegen -rte -then -val @VALUECONFIG@ -then -report -report-print-properties
-   OPT: -no-autoload-plugins -load-module from,inout,eva,report,rtegen -val @VALUECONFIG@ -then -rte -then -report -report-print-properties
+   OPT: -no-autoload-plugins -load-module from,inout,eva,report,rtegen -rte -then -eva @VALUECONFIG@ -then -report -report-print-properties
+   OPT: -no-autoload-plugins -load-module from,inout,eva,report,rtegen -eva @VALUECONFIG@ -then -rte -then -report -report-print-properties
 */
 
 // Fuse with precond.c when bts #1208 is solved
diff --git a/tests/value/protomain.i b/tests/value/protomain.i
index 8161abf49029eb506c318a90411a6d7b4aaf3c28..7e8a769384acc1771b082da46945e5b09fffcd2d 100644
--- a/tests/value/protomain.i
+++ b/tests/value/protomain.i
@@ -1,4 +1,4 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module inout,eva -val @VALUECONFIG@
+   OPT: -no-autoload-plugins -load-module inout,eva -eva @VALUECONFIG@
 */
 int main(int c, char **);
diff --git a/tests/value/recursion.i b/tests/value/recursion.i
index b49486ff05d3f3482f3f2568aae8c241a8a0ca1d..a7943ae37f25a02401cc13ed8c93e216c8d37842 100644
--- a/tests/value/recursion.i
+++ b/tests/value/recursion.i
@@ -1,6 +1,6 @@
 /*run.config*
-  OPT: -no-autoload-plugins -load-module from,inout,eva -lib-entry -main main -val @VALUECONFIG@ -journal-disable
-  OPT: -no-autoload-plugins -load-module from,inout,eva -lib-entry -main main -val @VALUECONFIG@ -val-ignore-recursive-calls -journal-disable
+  OPT: -no-autoload-plugins -load-module from,inout,eva -lib-entry -main main -eva @VALUECONFIG@ -journal-disable
+  OPT: -no-autoload-plugins -load-module from,inout,eva -lib-entry -main main -eva @VALUECONFIG@ -eva-ignore-recursive-calls -journal-disable
  */
 int G;
 
diff --git a/tests/value/recursion2.i b/tests/value/recursion2.i
index 5a62accb1ad03d0f98193107708041480edcb4b4..7b2a209eda2cba2aa4517a3a851906013a2e7a8d 100644
--- a/tests/value/recursion2.i
+++ b/tests/value/recursion2.i
@@ -1,5 +1,5 @@
 /*run.config*
-  OPT: -no-autoload-plugins -load-module from,inout,eva -val @VALUECONFIG@ -journal-disable -then -input -out -inout
+  OPT: -no-autoload-plugins -load-module from,inout,eva -eva @VALUECONFIG@ -journal-disable -then -input -out -inout
  */
 int x, y;
 
diff --git a/tests/value/replace_by_show_each.c b/tests/value/replace_by_show_each.c
index 02b63956219cdc439b220cc8cc95c7d2a4d6e0a5..a100f63626e5ff157442876b01adf7d1aa3f78a1 100644
--- a/tests/value/replace_by_show_each.c
+++ b/tests/value/replace_by_show_each.c
@@ -1,5 +1,5 @@
 /* run.config*
- OPT: -no-autoload-plugins -load-module from,inout,eva -val @VALUECONFIG@ -inout -calldeps
+ OPT: -no-autoload-plugins -load-module from,inout,eva -eva @VALUECONFIG@ -inout -calldeps
 */
 
 #define show_each_1 Frama_C_show_each_1
diff --git a/tests/value/sign_of_bitfiled_int.c b/tests/value/sign_of_bitfiled_int.c
index 5a565d5c15d3208e9daa3b25a9cdc3ba299dadda..efe30e77e34edefd231fa99d35ab8be77de097d4 100644
--- a/tests/value/sign_of_bitfiled_int.c
+++ b/tests/value/sign_of_bitfiled_int.c
@@ -1,6 +1,6 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module eva,inout -val @VALUECONFIG@ -cpp-extra-args="-DPTEST"  -journal-disable
-   OPT: -no-autoload-plugins -load-module eva,inout -machdep ppc_32 -val @VALUECONFIG@ -cpp-extra-args="-DPTEST" -journal-disable
+   OPT: -no-autoload-plugins -load-module eva,inout -eva @VALUECONFIG@ -cpp-extra-args="-DPTEST"  -journal-disable
+   OPT: -no-autoload-plugins -load-module eva,inout -machdep ppc_32 -eva @VALUECONFIG@ -cpp-extra-args="-DPTEST" -journal-disable
 */
 
 
diff --git a/tests/value/simplify_cfg.i b/tests/value/simplify_cfg.i
index d442808d20d4dea4bea0feac25128c06a0a65b97..7b0b780c2043eb2ad142d226220985bf961bb137 100644
--- a/tests/value/simplify_cfg.i
+++ b/tests/value/simplify_cfg.i
@@ -1,6 +1,6 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module eva,inout -simplify-cfg -keep-switch -val @VALUECONFIG@ -journal-disable
-   OPT: -no-autoload-plugins -load-module eva,inout -simplify-cfg -val @VALUECONFIG@ -journal-disable
+   OPT: -no-autoload-plugins -load-module eva,inout -simplify-cfg -keep-switch -eva @VALUECONFIG@ -journal-disable
+   OPT: -no-autoload-plugins -load-module eva,inout -simplify-cfg -eva @VALUECONFIG@ -journal-disable
 */
 
 int main(int x, int y) {
diff --git a/tests/value/split_return.i b/tests/value/split_return.i
index 35b3df0bc703b749b97514f35dcde38db13bedbf..3873c1b9d225aa0b381b5f54405ac272f630d88f 100644
--- a/tests/value/split_return.i
+++ b/tests/value/split_return.i
@@ -1,10 +1,10 @@
 /* run.config*
-   STDOPT: +"-deterministic -eva-no-memexec -slevel-function init:3,main1:3,f2:4,main2:4,f4:3,main5:3 -val-split-return-function f2:0,f3:-2:-4,f4:4,f5:-2,NON_EXISTING:4 -permissive -then -load-module report -report"
-   STDOPT: +"-deterministic -eva-no-memexec -val -journal-disable -out -input -deps -slevel 6 -val-split-return auto -val-split-return-function f7:0:3 -then -load-module report -report"
+   STDOPT: +"-deterministic -eva-no-memexec -slevel-function init:3,main1:3,f2:4,main2:4,f4:3,main5:3,uninit:2,main9:2 -eva-split-return-function f2:0,f3:-2:-4,f4:4,f5:-2,NON_EXISTING:4,uninit:0,escaping:0 -eva-warn-copy-indeterminate=-uninit,-escaping,-main9 -permissive -then -load-module report -report"
+   STDOPT: +"-deterministic -eva-no-memexec -eva -journal-disable -out -input -deps -slevel 6 -eva-split-return auto -eva-split-return-function f7:0:3 -eva-warn-copy-indeterminate=-uninit,-escaping,-main9 -then -load-module report -report"
    COMMENT: below command must fail, as -permissive is not set
-   STDOPT: +"-deterministic -eva-no-memexec -val -slevel-function NON_EXISTING:4"
-   STDOPT: +"-deterministic -eva-no-memexec -val -journal-disable -out -input -deps -slevel 6 -val-split-return full"
-   STDOPT: +"-deterministic -eva-no-memexec -val -journal-disable -out -input -deps -slevel 6 -val-split-return full -val-split-return-function f7:0:3 -val-split-return-function f2:full -then -val-split-return-function f2:auto"
+   STDOPT: +"-deterministic -eva-no-memexec -eva -slevel-function NON_EXISTING:4 -eva-warn-copy-indeterminate=-uninit,-escaping,-main9"
+   STDOPT: +"-deterministic -eva-no-memexec -eva -journal-disable -out -input -deps -slevel 6 -eva-split-return full -eva-warn-copy-indeterminate=-uninit,-escaping,-main9"
+   STDOPT: +"-deterministic -eva-no-memexec -eva -journal-disable -out -input -deps -slevel 6 -eva-split-return full -eva-split-return-function f7:0:3 -eva-split-return-function f2:full -eva-warn-copy-indeterminate=-uninit,-escaping,-main9 -then -eva-split-return-function f2:auto"
  */
 
 /*@ assigns \result \from \nothing;
@@ -172,6 +172,34 @@ void main8() {
   Frama_C_show_each_then8(x, p);
 }
 
+/* [main9] checks that -split-return does not remove states in which the result
+   is an escaping pointer or an uninitialized variable (and thus evaluates to
+   bottom) when -eva-warn-copy-indeterminate is disabled. */
+
+volatile int rand;
+
+int uninit () {
+  int x;
+  if (rand)
+    x = 0;
+  return x;
+}
+
+int *escaping () {
+  int *p;
+  {
+    int x;
+    p = &x;
+  }
+  return p;
+}
+
+/* At the end, [y] may be uninitialized and [q] is a dangling pointer. */
+void main9 () {
+  int y = uninit();
+  int *q = escaping();
+}
+
 void main() {
   main1();
   main2();
@@ -181,4 +209,5 @@ void main() {
   main6();
   main7();
   main8();
+  main9();
 }
diff --git a/tests/value/strings.i b/tests/value/strings.i
index 88171af011bd82f1c7a5a3c43a3db13a5b3c27bd..f4ca9828f5bfd47f713c0fab8528a6a56cb64c6b 100644
--- a/tests/value/strings.i
+++ b/tests/value/strings.i
@@ -1,9 +1,9 @@
 /* run.config*
   GCC:
-  STDOPT: #"-main main1 -no-val-builtins-auto"
-  STDOPT: #"-main main6 -no-val-builtins-auto"
-  STDOPT: #"-main main7 -no-val-builtins-auto"
-  STDOPT: #"-main main8 -slevel-function strcmp:50 -no-val-builtins-auto"
+  STDOPT: #"-main main1 -eva-no-builtins-auto"
+  STDOPT: #"-main main6 -eva-no-builtins-auto"
+  STDOPT: #"-main main7 -eva-no-builtins-auto"
+  STDOPT: #"-main main8 -slevel-function strcmp:50 -eva-no-builtins-auto"
 */
 char s1[]="hello\000 world";
 char s2[]="hello";
diff --git a/tests/value/symbolic_locs.i b/tests/value/symbolic_locs.i
index 4c08673fa22f0300bbd44408673c1fc65eb993a2..63172f4ea02ffb574d2b42d67d78a2b02c296b30 100644
--- a/tests/value/symbolic_locs.i
+++ b/tests/value/symbolic_locs.i
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +"-value-msg-key d-symblocs"
+   STDOPT: +"-eva-msg-key d-symblocs"
 */
 
 volatile v;
diff --git a/tests/value/threat_redundant.c b/tests/value/threat_redundant.c
index 3bc247833a80b4eba4ffe7f37112aa2cdf4eaaab..9b49b4bd1c77e5991c374cf5bd350206780df4b2 100644
--- a/tests/value/threat_redundant.c
+++ b/tests/value/threat_redundant.c
@@ -1,5 +1,5 @@
 /*run.config*
-  STDOPT: +"-no-val-builtins-auto"
+  STDOPT: +"-eva-no-builtins-auto"
 */
 
 #define NULL ((void*)0)
diff --git a/tests/value/ulongvslonglong.i b/tests/value/ulongvslonglong.i
index 6d704949443734ea95439d3063d8368f80c77f63..54c7fe76c339eabafd4c4b9e6a9f5ade959cdaa2 100644
--- a/tests/value/ulongvslonglong.i
+++ b/tests/value/ulongvslonglong.i
@@ -1,6 +1,6 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module eva,inout -val @VALUECONFIG@ -journal-disable -machdep x86_64
-   OPT: -no-autoload-plugins -load-module eva,inout -val @VALUECONFIG@ -journal-disable
+   OPT: -no-autoload-plugins -load-module eva,inout -eva @VALUECONFIG@ -journal-disable -machdep x86_64
+   OPT: -no-autoload-plugins -load-module eva,inout -eva @VALUECONFIG@ -journal-disable
 */
 
 int x;
diff --git a/tests/value/uninit_callstack.i b/tests/value/uninit_callstack.i
index bebce5dd172dc4c5c998feb23fe52e52cccdc3cc..86a4a5e5e833ea581e74cea8a9f9fb3461c35500 100644
--- a/tests/value/uninit_callstack.i
+++ b/tests/value/uninit_callstack.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module eva -val @VALUECONFIG@ -no-val-show-progress -val-print-callstacks -journal-disable -no-results
+   OPT: -no-autoload-plugins -load-module eva -eva @VALUECONFIG@ -eva-no-show-progress -eva-print-callstacks -journal-disable -no-results
 */
 int *p, x;
 
diff --git a/tests/value/unknown_sizeof.i b/tests/value/unknown_sizeof.i
index d18155febf8d0082f58e7465a472f23d551c045f..0d06b705a96e26caf96d25728508b9c69e1689fd 100644
--- a/tests/value/unknown_sizeof.i
+++ b/tests/value/unknown_sizeof.i
@@ -1,6 +1,6 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module eva -val @VALUECONFIG@ -main main1
-   OPT: -no-autoload-plugins -load-module eva -val @VALUECONFIG@ -main main2
+   OPT: -no-autoload-plugins -load-module eva -eva @VALUECONFIG@ -main main1
+   OPT: -no-autoload-plugins -load-module eva -eva @VALUECONFIG@ -main main2
 */
 
 struct s;
diff --git a/tests/value/use_spec.i b/tests/value/use_spec.i
index 29c4c07067d0915e3dc9c151584ca49c6b3ac2af..a98064c85ed784f7ece55286f0d872ab7383b091 100644
--- a/tests/value/use_spec.i
+++ b/tests/value/use_spec.i
@@ -1,6 +1,6 @@
 /* run.config*
- OPT: -no-autoload-plugins -load-module from,inout,eva -val-use-spec f,h -val @VALUECONFIG@ -inout -calldeps
- OPT: -no-autoload-plugins -load-module from,inout,eva -val-use-spec f,h -val @VALUECONFIG@ -inout -calldeps -show-indirect-deps
+ OPT: -no-autoload-plugins -load-module from,inout,eva -eva-use-spec f,h -eva @VALUECONFIG@ -inout -calldeps
+ OPT: -no-autoload-plugins -load-module from,inout,eva -eva-use-spec f,h -eva @VALUECONFIG@ -inout -calldeps -show-indirect-deps
 */
 
 
diff --git a/tests/value/volatile.c b/tests/value/volatile.c
index 0fa24d0864cf49e4acaddbe3fd7cfb7648ac1fe1..39f7ee77336db634a1212db1de85245e8f9f8ea0 100644
--- a/tests/value/volatile.c
+++ b/tests/value/volatile.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +"-no-deps -no-input -no-out -val-initialization-padding-globals maybe -c11"
+   STDOPT: +"-no-deps -no-input -no-out -eva-initialization-padding-globals maybe -c11"
 */
 
 int volatile G = 1;
diff --git a/tests/value/volatile2.i b/tests/value/volatile2.i
index 0d289b02d43ec56af71edb49c3d3391d0b9aec2f..4a2231374ad7d6cc069910c8ca30067a88b57490 100644
--- a/tests/value/volatile2.i
+++ b/tests/value/volatile2.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module from,inout,eva -print -val @VALUECONFIG@ -machdep x86_16
+   OPT: -no-autoload-plugins -load-module from,inout,eva -print -eva @VALUECONFIG@ -machdep x86_16
 */
 
 
diff --git a/tests/value/volatilestruct.c b/tests/value/volatilestruct.c
index 535fe9687a50906fb55ec1afe3f9ce5300ef8e6e..bb84b75e8bb34cbc7bdba41dedb70fd52ea17eb2 100644
--- a/tests/value/volatilestruct.c
+++ b/tests/value/volatilestruct.c
@@ -1,5 +1,5 @@
 /* run.config*
-   STDOPT: +"-then -no-warn-signed-overflow -no-val-warn-pointer-subtraction"
+   STDOPT: +"-then -no-warn-signed-overflow -eva-no-warn-pointer-subtraction"
 */
 
 struct ss {
diff --git a/tests/value/widen_overflow.i b/tests/value/widen_overflow.i
index df4cdf8c79affcb9994f37c4ec800cefa3e9ae22..36960e75ecf5e764feac0ea8640e550fac081d7c 100644
--- a/tests/value/widen_overflow.i
+++ b/tests/value/widen_overflow.i
@@ -1,5 +1,5 @@
 /* run.config*
-   OPT: -no-autoload-plugins -load-module eva,inout -val @VALUECONFIG@
+   OPT: -no-autoload-plugins -load-module eva,inout -eva @VALUECONFIG@
 */
 
 int main() {