diff --git a/.gitattributes b/.gitattributes index 6a0f88f21cc3f5ddec2179e4435d38f98499eb6d..6cda6f9c55b63eaec3772a1c1f01bb441e6410a0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,284 @@ +################ +# MERGE: union # +################ + Changelog merge=union +############### +# BINARY: set # +############### +# built-in macro that also unsets the "text" and "diff" attributes + +*.eps binary +*.ps binary + *.pdf binary + +######################### +# HEADER_SPEC: CEA_LGPL # +######################### + +config* header_spec=CEA_LGPL + +makefile* header_spec=CEA_LGPL +Make* header_spec=CEA_LGPL +*.mk header_spec=CEA_LGPL + +*.c header_spec=CEA_LGPL +*.h header_spec=CEA_LGPL + +*.htm header_spec=CEA_LGPL +*.html header_spec=CEA_LGPL + +*.js header_spec=CEA_LGPL + +*.ml header_spec=CEA_LGPL +*.ml.in header_spec=CEA_LGPL +*.mli header_spec=CEA_LGPL +*.mli.in header_spec=CEA_LGPL +*.mll header_spec=CEA_LGPL +*.mly header_spec=CEA_LGPL + +*.pl header_spec=CEA_LGPL + +*.py header_spec=CEA_LGPL + +*.rc header_spec=CEA_LGPL + +*.sh header_spec=CEA_LGPL +*.zsh header_spec=CEA_LGPL + +*.css header_spec=CEA_LGPL + +*.ts header_spec=CEA_LGPL +*.tsx header_spec=CEA_LGPL + +######################## +# HEADER_SPEC: .ignore # +######################## + +.gitattributes header_spec=.ignore +.gitignore header_spec=.ignore +.gitkeep header_spec=.ignore +.git-blame-ignore-revs header_spec=.ignore + +.merlin header_spec=.ignore + +Changelog header_spec=.ignore +opam header_spec=.ignore + +README* header_spec=.ignore +*.README* header_spec=.ignore + +*.dot header_spec=.ignore +*.fig header_spec=.ignore + +*.eps header_spec=.ignore +*.ps header_spec=.ignore + +*.gif header_spec=.ignore +*.ico header_spec=.ignore +*.jpg header_spec=.ignore +*.jpeg header_spec=.ignore +*.png header_spec=.ignore +*.svg header_spec=.ignore + +*.nix header_spec=.ignore +*.md header_spec=.ignore +*.opam header_spec=.ignore + +*.pdf header_spec=.ignore + +.tex header_spec=.ignore +*.sty header_spec=.ignore +*.bib header_spec=.ignore + +*.odoc header_spec=.ignore + +/.for_devel header_spec=.ignore +/.force-reconfigure header_spec=.ignore +/.gitlab-ci.yml header_spec=.ignore +/.make-clean* header_spec=.ignore +/.mailmap header_spec=.ignore +/.ocp-indent header_spec=.ignore +/ALL_VERSIONS header_spec=.ignore +/LICENSE header_spec=.ignore +/VERSION header_spec=.ignore +/VERSION_CODENAME header_spec=.ignore + +/bin/sed_get_* header_spec=.ignore + +/devel_tools/docker/*.template header_spec=.ignore + +# TODO: header_spec=JCF_LGPL_2_only +/devel_tools/size.mli header_spec=.ignore +/devel_tools/size.ml header_spec=.ignore +/devel_tools/size_states.ml header_spec=.ignore +/devel_tools/size_states.mli header_spec=.ignore + +/doc/CC-BY-SA-4.0 header_spec=.ignore +/doc/CHANGES.obfuscator header_spec=.ignore +/doc/LICENSE header_spec=.ignore +/doc/MakeLaTeXModern header_spec=.ignore +/doc/acsl_tutorial_slides/script header_spec=.ignore +/doc/developer/METADOC.txt header_spec=.ignore +/doc/qualification/testing header_spec=.ignore +/doc/release/periodic-elements.txt header_spec=.ignore +/doc/value/watchpoints header_spec=.ignore +/doc/scope/M.v header_spec=.ignore + +/doc/aorai/example/example* header_spec=.ignore +/doc/frama-c-book.* header_spec=.ignore +/doc/*.hva header_spec=.ignore + +/doc/training/**/* header_spec=.ignore +/doc/value/examples/parametrizing/*.log header_spec=.ignore +/doc/**/make* header_spec=.ignore +/doc/**/TODO header_spec=.ignore +/doc/**/*.bnf header_spec=.ignore +/doc/**/*.c header_spec=.ignore +/doc/**/*.graphml header_spec=.ignore +/doc/**/*.h header_spec=.ignore +/doc/**/*.html header_spec=.ignore +/doc/**/*.lua header_spec=.ignore +/doc/slicing/algo.ml header_spec=.ignore +/doc/*/*/**/*.ml header_spec=.ignore +/doc/**/*.mli header_spec=.ignore +/doc/**/*.mll header_spec=.ignore +/doc/**/*.oracle header_spec=.ignore +/doc/**/*.tex header_spec=.ignore +/doc/*/*/**/*.txt header_spec=.ignore +/doc/**/*.sh header_spec=.ignore + +/headers/open-source/* header_spec=.ignore +/headers/close-source/* header_spec=.ignore + +/licenses/* header_spec=.ignore + +/man/frama-c.1 header_spec=.ignore + +/nix/empty header_spec=.ignore +/nix/frama-c-public/known_hosts header_spec=.ignore + +/share/framac.vim header_spec=.ignore +/share/META.frama-c header_spec=.ignore +/share/analysis-scripts/readme-graph.graphml header_spec=.ignore +/share/analysis-scripts/pyproject.toml header_spec=.ignore +/share/win32_installer.iss header_spec=.ignore +/share/win32_manual_installation_step.txt header_spec=.ignore +/share/compliance/*.json header_spec=.ignore + +/tests/**/* header_spec=.ignore + +####################### +# HEADER_SPEC: others # +####################### + +/configure.in header_spec=CEA_INRIA_LGPL + +/doc/aorai/Makefile header_spec=AORAI_LGPL + +/share/analysis-scripts/flamegraph.pl header_spec=CDDL +/share/emacs/acsl.el header_spec=CEA_PR_LGPL +/share/libc/argz.h header_spec=CEA_FSF_LGPL +/share/libc/argz.c header_spec=CEA_FSF_LGPL +/share/machdep.c header_spec=CIL + +/src/kernel_internals/parsing/clexer.mli header_spec=CIL +/src/kernel_internals/parsing/clexer.mll header_spec=CIL +/src/kernel_internals/parsing/cparser.mly header_spec=CIL +/src/kernel_internals/parsing/errorloc.ml header_spec=CIL +/src/kernel_internals/parsing/errorloc.mli header_spec=CIL +/src/kernel_internals/parsing/lexerhack.ml header_spec=CIL +/src/kernel_internals/parsing/lexerhack.mli header_spec=CIL +/src/kernel_internals/parsing/logic_lexer.mli header_spec=CEA_INRIA_LGPL +/src/kernel_internals/parsing/logic_lexer.mll header_spec=CEA_INRIA_LGPL +/src/kernel_internals/parsing/logic_parser.mly header_spec=CEA_INRIA_LGPL +/src/kernel_internals/parsing/logic_preprocess.mli header_spec=CEA_INRIA_LGPL +/src/kernel_internals/parsing/logic_preprocess.mll header_spec=CEA_INRIA_LGPL +/src/kernel_internals/runtime/machdeps.ml header_spec=CIL +/src/kernel_internals/runtime/machdeps.mli header_spec=CIL +/src/kernel_internals/typing/alpha.ml header_spec=CIL +/src/kernel_internals/typing/alpha.mli header_spec=CIL +/src/kernel_internals/typing/cabs2cil.ml header_spec=CIL +/src/kernel_internals/typing/cabs2cil.mli header_spec=CIL +/src/kernel_internals/typing/cfg.ml header_spec=CIL +/src/kernel_internals/typing/cfg.mli header_spec=CIL +/src/kernel_internals/typing/frontc.ml header_spec=CIL +/src/kernel_internals/typing/frontc.mli header_spec=CIL +/src/kernel_internals/typing/logic_builtin.ml header_spec=CEA_INRIA_LGPL +/src/kernel_internals/typing/logic_builtin.mli header_spec=CEA_INRIA_LGPL +/src/kernel_internals/typing/mergecil.ml header_spec=CIL +/src/kernel_internals/typing/mergecil.mli header_spec=CIL +/src/kernel_internals/typing/oneret.ml header_spec=CIL +/src/kernel_internals/typing/oneret.mli header_spec=CIL +/src/kernel_internals/typing/rmtmps.ml header_spec=CIL +/src/kernel_internals/typing/rmtmps.mli header_spec=CIL +/src/kernel_internals/typing/translate_lightweight.ml header_spec=CEA_INRIA_LGPL +/src/kernel_internals/typing/translate_lightweight.mli header_spec=CEA_INRIA_LGPL +/src/kernel_services/analysis/dataflows.ml header_spec=CIL +/src/kernel_services/analysis/dataflows.mli header_spec=CIL +/src/kernel_services/ast_data/cil_types.mli header_spec=CIL +/src/kernel_services/ast_printing/cprint.ml header_spec=CIL +/src/kernel_services/ast_printing/cprint.mli header_spec=CIL +/src/kernel_services/ast_printing/logic_print.ml header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_printing/logic_print.mli header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/cil.ml header_spec=CIL +/src/kernel_services/ast_queries/cil.mli header_spec=CIL +/src/kernel_services/ast_queries/cil_builtins.ml header_spec=CIL +/src/kernel_services/ast_queries/cil_builtins.mli header_spec=CIL +/src/kernel_services/ast_queries/cil_const.ml header_spec=CIL +/src/kernel_services/ast_queries/cil_const.mli header_spec=CIL +/src/kernel_services/ast_queries/logic_const.ml header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/logic_const.mli header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/logic_env.ml header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/logic_env.mli header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/logic_typing.ml header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/logic_typing.mli header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/logic_utils.ml header_spec=CEA_INRIA_LGPL +/src/kernel_services/ast_queries/logic_utils.mli header_spec=CEA_INRIA_LGPL +/src/kernel_services/parsetree/cabs.mli header_spec=CIL +/src/kernel_services/parsetree/cabshelper.ml header_spec=CIL +/src/kernel_services/parsetree/cabshelper.mli header_spec=CIL +/src/kernel_services/parsetree/logic_ptree.mli header_spec=CEA_INRIA_LGPL +/src/kernel_services/visitors/cabsvisit.ml header_spec=CIL +/src/kernel_services/visitors/cabsvisit.mli header_spec=CIL +/src/kernel_services/visitors/visitor_behavior.ml header_spec=CEA_INRIA_LGPL +/src/kernel_services/visitors/visitor_behavior.mli header_spec=CEA_INRIA_LGPL + +/src/libraries/datatype/unmarshal.ml header_spec=INRIA_BSD +/src/libraries/datatype/unmarshal.mli header_spec=INRIA_BSD +/src/libraries/datatype/unmarshal_hashtbl_test.ml header_spec=INRIA_BSD +/src/libraries/datatype/unmarshal_test.ml header_spec=INRIA_BSD +/src/libraries/project/state_topological.ml header_spec=MODIFIED_OCAMLGRAPH +/src/libraries/project/state_topological.mli header_spec=MODIFIED_OCAMLGRAPH +/src/libraries/utils/cilconfig.ml header_spec=CIL +/src/libraries/utils/cilconfig.mli header_spec=CIL +/src/libraries/utils/escape.ml header_spec=CIL +/src/libraries/utils/escape.mli header_spec=CIL +/src/libraries/utils/hptmap.ml header_spec=MODIFIED_MENHIR +/src/libraries/utils/hptmap.mli header_spec=MODIFIED_MENHIR +/src/libraries/utils/hptmap_sig.mli header_spec=MODIFIED_MENHIR +/src/libraries/utils/rangemap.ml header_spec=OCAML_STDLIB +/src/libraries/utils/rangemap.mli header_spec=OCAML_STDLIB +/src/libraries/utils/utf8_logic.ml header_spec=CEA_INRIA_LGPL +/src/libraries/utils/utf8_logic.mli header_spec=CEA_INRIA_LGPL + +######################### +# HEADER_SPEC: CEA_LGPL # +######################### + +/bin/frama-c* header_spec=CEA_LGPL + +/doc/code/*.txt header_spec=CEA_LGPL +/devel_tools/git-hooks/pre-commit header_spec=CEA_LGPL + +/headers/headache_config.txt header_spec=CEA_LGPL +/headers/*.sh header_spec=CEA_LGPL_OR_PROPRIETARY + +/share/autocomplete_frama-c header_spec=CEA_LGPL +/share/emacs/frama-c-*.el header_spec=CEA_LGPL +/share/_frama-c header_spec=CEA_LGPL + +/src/kernel_internals/runtime/fc_config.ml.in header_spec=CEA_LGPL +/src/libraries/stdlib/transitioning.ml.in header_spec=CEA_LGPL diff --git a/Changelog b/Changelog index 873dc8cf4baf5edd507c72f8c054d4288a87ffa7..8fa0ae1eca938d72e434382f575730467f3d4786 100644 --- a/Changelog +++ b/Changelog @@ -18,6 +18,8 @@ Open Source Release <next-release> ################################## +-! Kernel [2022-06-06] Remove journalisation. + #################################### Open Source Release 25.0 (Manganese) #################################### diff --git a/bin/build-src-distrib.sh b/bin/build-src-distrib.sh index eec32ca3d2727b4af96d0008f390c2a38fdecf28..bb1682475f5153d6f94ce3bc27e397080fe732ce 100755 --- a/bin/build-src-distrib.sh +++ b/bin/build-src-distrib.sh @@ -1,4 +1,25 @@ #! /usr/bin/env bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## set -u @@ -799,7 +820,7 @@ case "${STEP}" in echo >> "$OUT_DIR/opam" echo "url {" >> "$OUT_DIR/opam" echo " src: \"https://git.frama-c.com/pub/frama-c/-/wikis/downloads/$TARGZ_FILENAME\"" >> "$OUT_DIR/opam" - echo " checksum: \"md5=$(md5sum $OUT_DIR/$TARGZ_FILENAME | cut -d" " -f1)\"" >> "$OUT_DIR/opam" + echo " checksum: \"sha256=$(sha256sum $OUT_DIR/$TARGZ_FILENAME | cut -d" " -f1)\"" >> "$OUT_DIR/opam" echo "}" >> "$OUT_DIR/opam" ;& 10) diff --git a/bin/check-reference-configuration.sh b/bin/check-reference-configuration.sh index e91365642881b711352f863c119deecc00de901e..6095ffc385bf0c6f31ae5a25dd1ec3f32844e3fc 100755 --- a/bin/check-reference-configuration.sh +++ b/bin/check-reference-configuration.sh @@ -1,4 +1,25 @@ #!/bin/bash -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## # Displays the current working configuration of OCaml dependencies of Frama-C, # comparing them with the one in `reference-configuration.md`. diff --git a/bin/check_newlines.ml b/bin/check_newlines.ml index 4524bdc80d9d1e14edd919acb4de2e4db746a7eb..29e3c5a2dadb2f66097b57bb68010435ce1bf968 100644 --- a/bin/check_newlines.ml +++ b/bin/check_newlines.ml @@ -1,3 +1,25 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2022 *) +(* 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). *) +(* *) +(**************************************************************************) + module StringSet = Set.Make(String) (* returns true for empty files *) diff --git a/bin/frama-c-script b/bin/frama-c-script index 1be530010d73b76b06958070902ccaf2e607906e..06e66c5715598ada693958393c75302936577c67 100755 --- a/bin/frama-c-script +++ b/bin/frama-c-script @@ -39,6 +39,8 @@ usage() { echo " - build [--jbdb build_commands.json] [--sources file...]" echo " Produces a GNUmakefile for Frama-C analyses." echo " Uses a build_commands.json if available." + echo " NOTE: the tool used to produce such files (blug)" + echo " is not yet publicly available." echo "" echo " - configure machdep" echo " Runs an existing configure script to only consider files" diff --git a/bin/git.sh b/bin/git.sh index 18e931bd054a7e66969122c00a9def62d2048bf9..f5b81e49bcf8b17404963987b204acb9cddf47e1 100755 --- a/bin/git.sh +++ b/bin/git.sh @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + ACTION="$*" if [ "$ACTION" == "" ] diff --git a/bin/indent.sh b/bin/indent.sh index 9c402daacff0384024c5a86f412f0a8169488007..68ad76654dd84b51ad583c3d28f218d0c47513e6 100755 --- a/bin/indent.sh +++ b/bin/indent.sh @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + # Help case "$1" in diff --git a/bin/isutf8.ml b/bin/isutf8.ml index 5950a0c6b826126676304be8212ae28b53c0cfdb..0e775f13502710afea395fa9aadb2686ca72b40d 100644 --- a/bin/isutf8.ml +++ b/bin/isutf8.ml @@ -1,3 +1,25 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2022 *) +(* 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). *) +(* *) +(**************************************************************************) + module StringSet = Set.Make(String) exception False diff --git a/bin/lint.sh b/bin/lint.sh index 797b61e433cb7aa56eac155c2bb4f704e16eb866..e1cb6e6a76f901ee553413d435145dde4ca2722d 100755 --- a/bin/lint.sh +++ b/bin/lint.sh @@ -1,4 +1,26 @@ #!/bin/sh +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + set -e # -------------------------------------------------------------------------- diff --git a/bin/merge-master.sh b/bin/merge-master.sh index 5664dbaeb74bd486648594e7817332a9d3e27f15..28ae15023e585ccbe7228f98f8f563eb106403ea 100755 --- a/bin/merge-master.sh +++ b/bin/merge-master.sh @@ -1,4 +1,25 @@ #!/bin/sh +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## if test -z "$1"; then echo "Syntax: $0 <release name>"; diff --git a/bin/migration_scripts/git-replace.sh b/bin/migration_scripts/git-replace.sh index d32b5d6bb15c50f59e013b9479ba0d06837bebe8..cf96d73698372ae449f7e54b85954ab29aa3dabd 100755 --- a/bin/migration_scripts/git-replace.sh +++ b/bin/migration_scripts/git-replace.sh @@ -1,4 +1,26 @@ #!/bin/sh -u +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + git replace fbe13264f29d59b5388096281f98f05116b17f76 8e6afe71d01b1bc4f4d778a5326d0a2e1f2998b3 git replace cef5bf08946dccaf6b51e515eea76443976e6550 8bd30e2d47ffab72507d5ea291bdbd9f0fea0384 git replace 32d8c505805a060e5112c104ea0ffe06c6df308d 3fb543f7adaac4c2942c45f0244f270c86c23605 diff --git a/bin/rebuild.sh b/bin/rebuild.sh index f8d3346fab80481cfd8a6eaa73f3f1d92765a6eb..f50cecdb02c21de5dcabda7ec3df1ad1655cabe2 100755 --- a/bin/rebuild.sh +++ b/bin/rebuild.sh @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + make -k clean find src \( -name "*.cm*" -or -name "*.o" \) -delete -print rm -fr config.status autom4te.cache/ diff --git a/bin/shift_oracles.sh b/bin/shift_oracles.sh index 1a8cba4f5da6526ab0a05fd6050b8ac3afb0efc9..0b9ea6cd135d8506fcfe381021c58bd616db2051 100755 --- a/bin/shift_oracles.sh +++ b/bin/shift_oracles.sh @@ -1,4 +1,25 @@ #!/bin/bash -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## # [shift_oracles.sh [commit] source.c -- test1.oracle test2.oracle ...] # modifies the set of oracles w.r.t. [source.c], using `git diff` to diff --git a/bin/update_api_doc.sh b/bin/update_api_doc.sh index 80313ff753fa109745439f24d9dd21e856834089..9601c2544f152459bbfb8af60514b3a2bb8c489a 100755 --- a/bin/update_api_doc.sh +++ b/bin/update_api_doc.sh @@ -1,4 +1,25 @@ #!/bin/sh +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## next=$1 diff --git a/bin/wp-qualif.sh b/bin/wp-qualif.sh index ae239fbadbe2bcd440bac1a4cd149dcc391e1d13..418cabf7b371c8ac91a44196bdcf23d68fab7af3 100644 --- a/bin/wp-qualif.sh +++ b/bin/wp-qualif.sh @@ -1,2 +1,24 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + export FRAMAC_WP_CACHE=update export FRAMAC_WP_CACHEDIR=$WP_QUALIF_CACHE diff --git a/configure.in b/configure.in index 7b790dafd5039392514f396e7d3bc00e5917e975..656ec3174cf3955cfc5e72a33d16566518c67593 100644 --- a/configure.in +++ b/configure.in @@ -255,7 +255,7 @@ dnl AC_MSG_RESULT(Landmarks profiling disabled); dnl HAS_LANDMARKS="no" dnl fi -# Python 3 (for analysis-scripts) +# Python >=3.7 (for analysis-scripts and several tests: compliance, jcdb, ...) ######## AC_MSG_CHECKING(for python3) @@ -263,19 +263,19 @@ AC_MSG_CHECKING(for python3) PYTHON3_VERSION=$(python3 --version 2>/dev/null || echo "") if test -z "$PYTHON3_VERSION" ; then AC_MSG_RESULT(not found. Some non-regression tests will be disabled.) - HAS_PYTHON36="no" + HAS_PYTHON37="no" else AC_MSG_RESULT(found) - AC_MSG_CHECKING(for python3 >= 3.6) + AC_MSG_CHECKING(for python3 >= 3.7) PYTHON3_VERSION=$(echo "$PYTHON3_VERSION" | cut -d' ' -f2-) case $PYTHON3_VERSION in - 2.*|3.[[0-5]].*) + 2.*|3.[[0-6]].*) AC_MSG_RESULT(found $PYTHON3_VERSION (too old); some non-regression tests will be disabled) - HAS_PYTHON36="no" + HAS_PYTHON37="no" ;; *) AC_MSG_RESULT(ok) - HAS_PYTHON36="yes" + HAS_PYTHON37="yes" ;; esac fi @@ -539,7 +539,7 @@ AC_SUBST(DEVELOPMENT) AC_SUBST(HAS_APRON) AC_SUBST(HAS_MPFR) AC_SUBST(HAS_LANDMARKS) -AC_SUBST(HAS_PYTHON36) +AC_SUBST(HAS_PYTHON37) AC_SUBST(LABLGTK_VERSION) AC_SUBST(OCAMLBEST) AC_SUBST(OCAMLVERSION) diff --git a/devel_tools/docker/Makefile b/devel_tools/docker/Makefile index 04d1c97261bf1c50ddebd680e3f9f7458ddffaca..c6cae592a0f241287c37ea2fba3a5c897463c8ff 100644 --- a/devel_tools/docker/Makefile +++ b/devel_tools/docker/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + .PHONY: *-stripped *-gui push-* help: diff --git a/devel_tools/duplicates.pl b/devel_tools/duplicates.pl index ba91fcccfdd869819e6ed19491723f03f9af9cfa..019ac1e21d113b188e988f92d3aedecaa287521b 100755 --- a/devel_tools/duplicates.pl +++ b/devel_tools/duplicates.pl @@ -1,4 +1,25 @@ #!/usr/bin/env perl +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## # Finds duplicate adjacent words. diff --git a/devel_tools/frama-c-callgrind b/devel_tools/frama-c-callgrind deleted file mode 100755 index 3e23c01dbd87bf413615791fa3681d2bb16cab40..0000000000000000000000000000000000000000 --- a/devel_tools/frama-c-callgrind +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -# Script for profiling Frama-C with callgrind (a valgrind tool). -# Note: execution time with valgrind is about 15x-20x slower. -# -# Use this script at the root of the repository, so local_export.sh can be found -# in bin. -# For more focused results, you can activate the profiling only after entering -# a specific function. For instance, to only profile Eva, add -# -# --toggle-collect='*Eva__Analysis__force_compute*' -# -# to the command line below. -# -# Example of invocation : -# -# devel_tools/frama-c-callgrind tests/idct/*.c -eva -float-normal -no-warn-signed-overflow -# -# This creates a 'callgrind.out' file (Callgrind format), which can be viewed -# with a tool such as kcachegrind: -# -# kcachegrind callgrind.out - -BASH_ARGV0="bin/frama-c" # hackish way to tell local_export that its dir is bin - -. bin/local_export.sh - -valgrind \ - --tool=callgrind --callgrind-out-file=callgrind.out --dump-instr=yes \ - --separate-callers=2 --collect-jumps=yes --fn-skip='caml_*' \ - $BINDIR/toplevel.opt "$@" diff --git a/devel_tools/frama-c-callgrind.sh b/devel_tools/frama-c-callgrind.sh new file mode 100755 index 0000000000000000000000000000000000000000..1de367e65fed348a0bc008856f2979d3d31f5ab0 --- /dev/null +++ b/devel_tools/frama-c-callgrind.sh @@ -0,0 +1,52 @@ +#!/bin/bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + +# Script for profiling Frama-C with callgrind (a valgrind tool). +# Note: execution time with valgrind is about 15x-20x slower. +# +# Use this script at the root of the repository, so local_export.sh can be found +# in bin. +# For more focused results, you can activate the profiling only after entering +# a specific function. For instance, to only profile Eva, add +# +# --toggle-collect='*Eva__Analysis__force_compute*' +# +# to the command line below. +# +# Example of invocation : +# +# devel_tools/frama-c-callgrind tests/idct/*.c -eva -float-normal -no-warn-signed-overflow +# +# This creates a 'callgrind.out' file (Callgrind format), which can be viewed +# with a tool such as kcachegrind: +# +# kcachegrind callgrind.out + +BASH_ARGV0="bin/frama-c" # hackish way to tell local_export that its dir is bin + +. bin/local_export.sh + +valgrind \ + --tool=callgrind --callgrind-out-file=callgrind.out --dump-instr=yes \ + --separate-callers=2 --collect-jumps=yes --fn-skip='caml_*' \ + $BINDIR/toplevel.opt "$@" diff --git a/devel_tools/git-hooks/pre-commit b/devel_tools/git-hooks/pre-commit index fec935b5fc0ca5d771f4b43bbd2a137789f76287..36353a8d1a7c53153e9482ef9e40fc4510f1f3cf 100755 --- a/devel_tools/git-hooks/pre-commit +++ b/devel_tools/git-hooks/pre-commit @@ -1,6 +1,26 @@ #!/bin/bash - # -*- mode: bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## if git rev-parse --verify HEAD >/dev/null 2>&1 then diff --git a/devel_tools/ocamldep_transitive_closure.ml b/devel_tools/ocamldep_transitive_closure.ml index 9f7e383573055866bf377d20dd4fd2aaccb0fb92..363d14205bb5a6ff0829e739abfe61e7015a2429 100644 --- a/devel_tools/ocamldep_transitive_closure.ml +++ b/devel_tools/ocamldep_transitive_closure.ml @@ -1,3 +1,25 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2022 *) +(* 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 depend_files = ref [] let add_deps s = depend_files:= s :: !depend_files diff --git a/devel_tools/size.mli b/devel_tools/size.mli index 1146e6da562d9c897324a476d9d9b1f19d08b820..037d5b4a707c50988c444da0c7179ff193cc5a3a 100644 --- a/devel_tools/size.mli +++ b/devel_tools/size.mli @@ -4,13 +4,16 @@ (* *) (* This software is free software; you can redistribute it and/or *) (* modify it under the terms of the GNU Library General Public *) -(* License version 2, with the special exception on linking *) +(* License version 2.1, with the special exception on linking *) (* described in file LICENSE. *) (* *) (* This software 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. *) (* *) +(* File modified by CEA (Commissariat à l'énergie atomique et aux *) +(* énergies alternatives). *) +(* *) (**************************************************************************) (*i $Id: size.mli,v 1.1 2007-11-28 12:52:04 uid568 Exp $ i*) diff --git a/doc/Makefile b/doc/Makefile index 1c5f595a77d0cb2c3d2a7abc6334c2ea78ccaed7..2f13b8379cbd1a5f1c476fc8be36fff95627e5e5 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -89,7 +89,7 @@ clean:: $(RM) manuals/*.pdf $(RM) manuals/*.tgz $(MAKE) -C userman clean - $(MAKE) -C developer clean + $(MAKE) -C developer dist-clean $(MAKE) -C rte clean $(MAKE) -C aorai clean $(MAKE) -C value clean diff --git a/doc/aorai/Makefile b/doc/aorai/Makefile index 515b0938ec06b9de1bd34f5ad8c4e9f97b161cca..750c6c23f14ea14be2145c360c8613e03c85f89c 100644 --- a/doc/aorai/Makefile +++ b/doc/aorai/Makefile @@ -1,3 +1,28 @@ +########################################################################## +# # +# This file is part of Aorai plug-in of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat à l'énergie atomique et aux énergies # +# alternatives) # +# INRIA (Institut National de Recherche en Informatique et en # +# Automatique) # +# INSA (Institut National des Sciences Appliquees) # +# # +# 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). # +# # +########################################################################## + .PHONY: all clean DWNLDDIR=../manuals diff --git a/doc/developer/Makefile b/doc/developer/Makefile index eb5f0c6b5a53b6139548bf6d9ca0565bf0d57c2d..80c5b48ec69a2e9504a09bdda30be81a32f50d47 100644 --- a/doc/developer/Makefile +++ b/doc/developer/Makefile @@ -2,12 +2,21 @@ # # # This file is part of Frama-C. # # # -# Copyright (C) 2007-2021 # +# Copyright (C) 2007-2022 # # CEA (Commissariat à l'énergie atomique et aux énergies # # alternatives) # # # -# All rights reserved. # -# Contact CEA LIST for licensing. # +# 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). # # # ########################################################################## diff --git a/doc/developer/Makefile.config b/doc/developer/Makefile.config index 3554aba0cc6eb7bbd749f8060ca8c2c9d60a53a2..54e28963937a89d7a9fb1bc3f76bedadbd78417c 100644 --- a/doc/developer/Makefile.config +++ b/doc/developer/Makefile.config @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + MAKECONFIG_DIR=../../share include $(MAKECONFIG_DIR)/Makefile.common MAKEPDF ?= latexmk -pdf -quiet diff --git a/doc/developer/advance.tex b/doc/developer/advance.tex index b5cf358f18cb97575cf372fc2ddfb0aa0531e438..298573ebd074fc4483a473b90523fc1c30a75dd0 100644 --- a/doc/developer/advance.tex +++ b/doc/developer/advance.tex @@ -1769,7 +1769,7 @@ contains the type itself, the type value corresponding to this type, its name, functions \texttt{equal}, \texttt{compare}, \texttt{hash} and \texttt{pretty} which may respectively be used to check equality, to compare, to hash and to pretty print values of this type. It also contains some other values (for -instance required when marshaling or journalizing). Whenever possible, a +instance required when marshaling). Whenever possible, a datatype implements an extensible version of \texttt{Datatype.S}, namely \texttt{Datatype.S\_with\_collections}\scodeidx{Datatype}{S\_with\_collections}. For a type $\tau$, this extended signature additionally provides modules @@ -1830,7 +1830,6 @@ simple sum type. \sscodeidx{Structural\_descr}{t}{Structure} \sscodeidx{Structural\_descr}{structure}{Sum} \scodeidx{Structural\_descr}{p\_int} -\index{Journalisation} \index{Marshaling} \index{Project} \begin{ocamlcode} @@ -1867,31 +1866,11 @@ module AB = let pretty fmt x = Format.pp_print_string fmt (match x with A -> "a" | B n -> "b" ^ string_of_int n) - (* printer which must produce a valid OCaml value in a given - context. It is used when journalising. *) - let internal_pretty_code prec_caller fmt = function - | A -> - Type.par - prec_caller - Type.Basic - fmt - (fun fmt -> Format.pp_print_string fmt "A") - | B n -> - Type.par - prec_caller - Type.Call - fmt - (fun fmt -> Format.fprintf fmt "B %d" n) - (* A good prefix name to use for an OCaml variable of this type. *) - let varname v = "ab" ^ (match v with A -> "_a_" | B -> "_b_") end) \end{ocamlcode} \end{example} Only providing an effective implementation for the values \texttt{name} and -\texttt{reprs} is mandatory. For instance, if you know that you never journalize -a value of a type \texttt{t}, you can define the function -\texttt{internal\_pretty\_code} equal to the predefined function -\texttt{Datatype.pp\_fail}\scodeidx{Datatype}{pp\_fail}. Similarly, if you never +\texttt{reprs} is mandatory. For instance, if you know that you never use values of type \texttt{t} as keys of hashtable, you can define the function hash equal to the function \texttt{Datatype.undefined}\scodeidx{Datatype}{undefined} , and so on. To ease @@ -2224,7 +2203,7 @@ previously registered with \texttt{Dynamic.register}. The signature of \texttt{Dynamic.register}\scodeidx{Dynamic}{register} is as follows.\scodeidx{Type}{t} \begin{ocamlcode} -val register: plugin:string -> string -> 'a Type.t -> journalize:bool -> 'a -> +val register: plugin:string -> string -> 'a Type.t -> 'a -> unit \end{ocamlcode} The first argument is the name of the plug-in registering the value and the @@ -2234,11 +2213,8 @@ name, binding name) must not be used for value registration anywhere else in (see next paragraph). The third argument is the \emph{type value}% \index{Type!Value} of the registered value (see Section~\ref{type:type-value}). It is required for safety reasons when accessing -to the registered value (see the next paragraph). The labeled fourth argument -\texttt{journalize} indicates whether a total call to this function must be -written in the journal\index{Journalization} (see also -Section~\ref{adv:journalization}). The usual value for this argument is -\texttt{true}. The fifth argument is the value to register. +to the registered value (see the next paragraph). The fourth argument is the +value to register. \begin{example} Here is how the function \texttt{run} of the plug-in @@ -2252,7 +2228,6 @@ let () = ~plugin:"Hello" "run" (Datatype.func Datatype.unit Datatype.unit) - ~journalize:true run \end{ocamlcode} If the string \texttt{"Hello.run"} is already used to register a @@ -2332,10 +2307,6 @@ dynamically registered functions). \ocamlinput{./examples/generated/use_callstack.ml} \end{example} -\section{Journalization}\label{adv:journalization} - -\todo - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Project Management System}\label{adv:project} @@ -3165,9 +3136,8 @@ tightly coupled with handling the command line parameters. The parsing of the command line parameters is performed in several \emph{phases} and \emph{stages} \index{Command Line!Parsing}, -each one dedicated to specific operations. For instance, -journal replays should be performed after loading dynamic plug-ins, and so -on. Following the general rule stated at the beginning of this section, even +each one dedicated to specific operations. +Following the general rule stated at the beginning of this section, even the kernel services of \framac are internally registered as hooks routines to be executed at a specific stage of the initialization process, among plug-ins ones. @@ -3201,25 +3171,21 @@ their execution order. Plug-in developers cannot customize this stage. In particular, the module \texttt{Cmdline}\codeidx{Cmdline} (one of the first linked modules, see Figure~\ref{fig:architecture}) performs a very early configuration stage, - such as checking if journalization has to be activated - (cf.~Section~\ref{adv:journalization}\index{Journalization}), or setting the - global verbosity and debugging levels. - + such as setting the global verbosity and debugging levels. + \item \label{stage:early} \textbf{The Early Stage:} this stage initializes the kernel services. More precisely: \begin{enumerate}[(a)] - \item first, the journal name is set to its right value (according to the - option \texttt{-journal-name}) and the default project is created; - \item then, the parsing of command line options registered for the + \item first, the parsing of command line options registered for the \texttt{Cmdline.Early}\sscodeidxdef{Cmdline}{stage}{Early} stage; - \item finally, all functions registered through + \item then, all functions registered through \texttt{Cmdline.run\_after\_early\_stage}% \scodeidxdef{Cmdline}{run\_after\_early\_stage} are executed in an unspecified order. \end{enumerate} \item \label{stage:extending} \textbf{The Extending Stage:}\index{Linking} the searching and - loading of dynamically linked plug-ins, of journal, scripts and + loading of dynamically linked plug-ins, scripts and modules is performed at this stage. More precisely: \begin{enumerate}[(a)] @@ -3231,7 +3197,7 @@ their execution order. \texttt{Cmdline.run\_during\_extending\_stage} \scodeidxdef{Cmdline}{run\_during\_extending\_stage} are executed. Such hooks include kernel function calls for searching, loading and linking the - various plug-ins, journal and scripts compilation units, with respect to + various plug-ins and scripts compilation units, with respect to the command line options parsed during stages~\ref{stage:early} and~\ref{stage:extending}. \end{enumerate} @@ -3288,8 +3254,7 @@ their execution order. \item \textbf{The Loading Stage:} this is where the initial state of \framac can be replaced by another one. Typically, it would be loaded from disk - through the \texttt{-load} option\index{Loading} or computed by running a - journal (see Section~\ref{adv:journalization})\index{Journalization}. As + through the \texttt{-load} option\index{Loading}. As for the other stages: \begin{enumerate}[(a)] diff --git a/doc/developer/changes.tex b/doc/developer/changes.tex index 3f385775d1636b5f4ccba779ca8d0bde3119fbeb..28243898984e95fb7e2eddd4779693ec13c04e8f 100644 --- a/doc/developer/changes.tex +++ b/doc/developer/changes.tex @@ -5,6 +5,11 @@ This chapter summarizes the major changes in this documentation between each \framac release, from newest to oldest. +\section*{dev} +\begin{itemize} +\item \textbf{Journalisation}: Journalisation has been removed. +\end{itemize} + \section*{25.0 Manganese} \begin{itemize} \item \textbf{Testing}: Document new directives (\texttt{PLUGIN}, \texttt{SCRIPT} and \texttt{LIBS}) and new predefined macros for \texttt{ptests}. @@ -142,10 +147,10 @@ introduced loop extensions. \item \textbf{Makefile} \texttt{WARN\_ERROR\_ALL} variable. \item \textbf{Log}: Debug category (\texttt{\~{}dkey} argument). \item \textbf{Visitor}: \texttt{DoChildrenPost} action. -\item \textbf{Testing}: document the need for directories +\item \textbf{Testing}: document the need for directories to store result and oracles. \item \textbf{Project Management System}: Fine tuning of AST dependencies. -\item \textbf{Testing}: added \texttt{PTESTS\_OPTS} and +\item \textbf{Testing}: added \texttt{PTESTS\_OPTS} and \texttt{PLUGIN\_PTESTS\_OPTS} Makefile's variables. \item \textbf{Type}: document the \texttt{type} library. \item \textbf{Logical Annotations}: fully updated. @@ -154,7 +159,7 @@ introduced loop extensions. in \emph{Reference Manual}. \item \textbf{Website}: refer to CEA internal documentation. \item \textbf{Command Line Options}: explain how to modify the default behavior - of an option. + of an option. \item \textbf{Command Line Options}: fully updated. \item \textbf{Project Management System}: fully updated. \item \textbf{Plug-in Registration and Access}: \texttt{Type} replaced by @@ -168,7 +173,7 @@ introduced loop extensions. \section*{Nitrogen-20111001} \begin{itemize} -\item \textbf{Tutorial of the Future}: new chapter for preparing a future +\item \textbf{Tutorial of the Future}: new chapter for preparing a future tutorial. \item \textbf{Types as first class values}: links to articles. \item \textbf{Tutorial}: kernel-integrated plug-ins are now deprecated. diff --git a/doc/developer/check_api/Makefile b/doc/developer/check_api/Makefile index e2219705a5916e3457881ef319d1a7be13d26059..ac8885a77293456c23af39bb71fcfd03a516cbf9 100644 --- a/doc/developer/check_api/Makefile +++ b/doc/developer/check_api/Makefile @@ -2,12 +2,21 @@ # # # This file is part of Frama-C. # # # -# Copyright (C) 2007-2021 # +# Copyright (C) 2007-2022 # # CEA (Commissariat à l'énergie atomique et aux énergies # # alternatives) # # # -# All rights reserved. # -# Contact CEA LIST for licensing. # +# 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). # # # ########################################################################## diff --git a/doc/developer/check_api/check_index_grammar.mly b/doc/developer/check_api/check_index_grammar.mly index 3db1a867b460006aeba5f6b15d8e91ae5b59c960..26b5b76ac8f08841cbc98cd63664b34fd675213b 100644 --- a/doc/developer/check_api/check_index_grammar.mly +++ b/doc/developer/check_api/check_index_grammar.mly @@ -2,12 +2,21 @@ /* */ /* This file is part of Frama-C. */ /* */ -/* Copyright (C) 2007-2021 */ +/* Copyright (C) 2007-2022 */ /* CEA (Commissariat à l'énergie atomique et aux énergies */ /* alternatives) */ /* */ -/* All rights reserved. */ -/* Contact CEA LIST for licensing. */ +/* 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). */ /* */ /**************************************************************************/ diff --git a/doc/developer/examples/callstack.ml b/doc/developer/examples/callstack.ml index c08cff551558f36f7cf49ad7982fb0b8dd4f7a49..e5b5380a728743447d19e0a4a823b685b52712f8 100644 --- a/doc/developer/examples/callstack.ml +++ b/doc/developer/examples/callstack.ml @@ -11,7 +11,7 @@ (* *) (**************************************************************************) -module P = +module P = Plugin.Register (struct let name = "Callstack" @@ -28,10 +28,10 @@ type callstack = (Kernel_function.t * Cil_datatype.Stmt.t) list let empty = [] let push kf stmt stack = (kf, stmt) :: stack let pop = function [] -> [] | _ :: stack -> stack -let rec print = function - | [] -> P.feedback "" - | (kf, stmt) :: stack -> - P.feedback "function %a called at stmt %a" +let rec print = function + | [] -> P.feedback "" + | (kf, stmt) :: stack -> + P.feedback "function %a called at stmt %a" Kernel_function.pretty kf Cil_datatype.Stmt.pretty stmt; print stack @@ -51,7 +51,7 @@ module D = (* Dynamic API registration *) let register name ty = - Dynamic.register ~plugin:"Callstack" ~journalize:false name ty + Dynamic.register ~plugin:"Callstack" name ty let empty = register "empty" D.ty empty let push = register "push" (Datatype.func3 kf_ty stmt_ty D.ty D.ty) push diff --git a/doc/developer/hello_world/Makefile b/doc/developer/hello_world/Makefile index 47732363b835d3e3e579a6d5227467d31b4f2377..8da55444dd6af8bc17c26bab7a8864a18dd8e11f 100644 --- a/doc/developer/hello_world/Makefile +++ b/doc/developer/hello_world/Makefile @@ -2,12 +2,21 @@ # # # This file is part of Frama-C. # # # -# Copyright (C) 2007-2020 # +# Copyright (C) 2007-2022 # # CEA (Commissariat à l'énergie atomique et aux énergies # # alternatives) # # # -# All rights reserved. # -# Contact CEA LIST for licensing. # +# 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). # # # ########################################################################## diff --git a/doc/developer/hello_world/hello_world.ml b/doc/developer/hello_world/hello_world.ml index 0c87e8eaacc363d3cc1ac984a75269a9c91bdf69..8fb440417ed1112b2367dfb47252b70e249cbf8f 100644 --- a/doc/developer/hello_world/hello_world.ml +++ b/doc/developer/hello_world/hello_world.ml @@ -39,17 +39,15 @@ let print () = Self.result "Hello world!" (** The function [print] below is not mandatory: you can ignore it in a first reading. It provides an API for the plug-in, so that the function [run] is - callable by another plug-in and journalized: first, each plug-in can call + callable by another plug-in: each plug-in can call [Dynamic.get "Hello.run" (Datatype.func Datatype.unit Datatype.unit)] in - order to call [print] and second, each call to [print] is written in the - Frama-C journal. *) + order to call [print]. *) let print = Dynamic.register ~comment:"[Dynamic.get \"Hello.run\" (Datatype.func Datatype.unit \ Datatype.unit)] calls [run] and pretty prints \"Hello world!\"" ~plugin:"Hello" "run" - ~journalize:true (Datatype.func Datatype.unit Datatype.unit) print diff --git a/doc/developer/refman.tex b/doc/developer/refman.tex index 5194764b5854c12159d772fffd483b5cf8eca37d..e8b4e3bcad586027f605d4bca45c8695a93ff9c8 100644 --- a/doc/developer/refman.tex +++ b/doc/developer/refman.tex @@ -876,7 +876,7 @@ one for regular tests (if more than one \verb|OPT|).\\ \hline \verb|PTEST_SCRIPT| & current list of plugins defined by the \verb|SCRIPT| directive\\ \hline -\verb|PTEST_DEFAULT_OPTIONS| & the default option list: \verb|-journal-disable| \verb|-check| \verb|-no-autoload-plugins|\\ +\verb|PTEST_DEFAULT_OPTIONS| & the default option list: \verb|-check| \verb|-no-autoload-plugins|\\ \hline \verb|PTEST_LOAD_MODULE| & the \verb|-load-module| option related to the \verb|MODULE| directive\\ \hline diff --git a/doc/developer/tutorial.tex b/doc/developer/tutorial.tex index 832fee3fcc70f60857c2526e8fe0df54c365887e..2d4de400ff47375e3eac228c48c5d777aae64816 100644 --- a/doc/developer/tutorial.tex +++ b/doc/developer/tutorial.tex @@ -183,7 +183,6 @@ platform. This tutorial focuses on specific parts of this figure. \node (dynamic) {Dynamic}; \node (plugin) {Plugin}; \node (type) {Type}; - \node (journal) {Journal}; \node (project) {Project}; \end{tikz-vbox} }; @@ -202,14 +201,13 @@ platform. This tutorial focuses on specific parts of this figure. ($(options.west -| main-pt)+(-0.4\bigpadding,-\padding)$); \draw (implem-pt -| implem.west) -- (implem-pt); \draw[-Latex] (implem-pt) |- (type.east); - \draw[-Latex] (implem-pt) |- (journal.east); \draw[-Latex] ($(plugin-dir.west |- implem-pt)+(0,-\padding)$) -- ($(implem-pt)+(0.2\bigpadding,-\padding)$) |- (project.east); \end{tikzpicture} \end{center} \scodeidx{Db}{Main}\codeidx{Dynamic}\codeidx{Plugin} -\codeidx{Project}\codeidx{Type}\codeidx{Journal} +\codeidx{Project}\codeidx{Type} \codeidx{Makefile.dynamic}\codeidx{Design} \index{GUI}\index{Plug-in!GUI} \caption{Plug-in Integration Overview.}\label{fig:overview} @@ -704,7 +702,7 @@ implementation, we explain some of \framac APIs such as how to visit an AST\footnote{Abstract Syntax Tree}, to hook a plug-in, to interface a plug-in with other plug-ins, to extend the GUI\footnote{Graphical User Interface}, to make a plug-in usable by -others, to make write a plug-in into the journal, to configure a script, +others, to configure a script, and to make a plug-in usable in a multi-projects setting. This section assumes the reader is already familiar with the basics of plug-ins @@ -1104,27 +1102,6 @@ Here is the listing for the different modules: % TODO: A script that uses "dump_function" of the CFG plug-in -\subsection{Writing your Plug-in into the Journal}\label{tut2:journal} -\index{Journalization} -\todo - -% TODO: Journalize dump_function. - -% La journalisation, c'est le fait d'avoir la GUI rajouter des entrees -% dans le journal, pour pouvoir les rejouer. Ca permet, quand on -% paufine des analyses, de refaire ce qu'on a fait dans la gui -% automatiquement; apres on peut utiliser load-script pour rejouer le -% journal. - -% Pour journaliser, il faut enregister la fonction pour qu'elle soit -% accessible de l'exterieur. Apres il y a un argument journalize qui -% permet de journaliser. Si je fais ca pour ma fonction dump_function, -% je vais recuperer une fonction dump_function_journalized; et c'est -% celle ci-qu'il faudrait que j'utilise dans la GUI; comme ca a chaque -% fois que je fais un "show-cfg", ce serait enregistre. La ce n'est -% pas tres interessant parce que je ne fais pas de modification de -% l'AST, mais dans le cas general ca l'est. - \subsection{Writing a Configure Script}\label{tut2:configure} \index{Plug-in!Configure} \todo diff --git a/doc/developer/tutorial/hello/Makefile b/doc/developer/tutorial/hello/Makefile index cdeaa65fbabc6fdcbcd072b58387dd47bd62029c..97d6a65afab8dbba4c43b9e0db587fcd5d842fd8 100644 --- a/doc/developer/tutorial/hello/Makefile +++ b/doc/developer/tutorial/hello/Makefile @@ -2,12 +2,21 @@ # # # This file is part of Frama-C. # # # -# Copyright (C) 2007-2021 # +# Copyright (C) 2007-2022 # # CEA (Commissariat à l'énergie atomique et aux énergies # # alternatives) # # # -# All rights reserved. # -# Contact CEA LIST for licensing. # +# 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). # # # ########################################################################## diff --git a/doc/developer/tutorial/hello/src/Makefile.multiple-files b/doc/developer/tutorial/hello/src/Makefile.multiple-files index 4e97b5ed2dddd86b660daadfbd6a5dd9c70232b4..0a63c0353f0e895d0bd27db61c9d2599f4e53dd8 100644 --- a/doc/developer/tutorial/hello/src/Makefile.multiple-files +++ b/doc/developer/tutorial/hello/src/Makefile.multiple-files @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + FRAMAC_SHARE := $(shell frama-c-config -print-share-path) PLUGIN_NAME = Hello PLUGIN_CMO = hello_options hello_print hello_run diff --git a/doc/developer/tutorial/hello/src/Makefile.single-file b/doc/developer/tutorial/hello/src/Makefile.single-file index 9b1b558bcba37d7831e1fee860903bef0e7bef1d..b99d50a1dce2c0cd3b11a5bb15f5b87821b6b52f 100644 --- a/doc/developer/tutorial/hello/src/Makefile.single-file +++ b/doc/developer/tutorial/hello/src/Makefile.single-file @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + FRAMAC_SHARE := $(shell frama-c-config -print-share-path) PLUGIN_NAME = Hello PLUGIN_CMO = hello_world diff --git a/doc/developer/tutorial/hello/src/Makefile.test b/doc/developer/tutorial/hello/src/Makefile.test index 2ab6fb6a70cbd4d1e697ebe0d65248dddc3028ab..7ff38b3f00bd36c277dd4f889afb323b8ceeec55 100644 --- a/doc/developer/tutorial/hello/src/Makefile.test +++ b/doc/developer/tutorial/hello/src/Makefile.test @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + FRAMAC_SHARE := $(shell frama-c-config -print-share-path) PLUGIN_NAME = Hello PLUGIN_CMO = hello_options hello_print hello_run diff --git a/doc/developer/tutorial/viewcfg/Makefile b/doc/developer/tutorial/viewcfg/Makefile index a143ee77a73cdb3b65f71e5c0323664f7444f931..67918576782a6915848671cabc6c6808eebba8d5 100644 --- a/doc/developer/tutorial/viewcfg/Makefile +++ b/doc/developer/tutorial/viewcfg/Makefile @@ -2,12 +2,21 @@ # # # This file is part of Frama-C. # # # -# Copyright (C) 2007-2021 # +# Copyright (C) 2007-2022 # # CEA (Commissariat à l'énergie atomique et aux énergies # # alternatives) # # # -# All rights reserved. # -# Contact CEA LIST for licensing. # +# 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). # # # ########################################################################## diff --git a/doc/developer/tutorial/viewcfg/src/Makefile.split b/doc/developer/tutorial/viewcfg/src/Makefile.split index ee56b8cad49061542f416bac73f901bb8ce4c325..fc1aebbdf00c7a55a6339fa0514f2b87a62c8e5e 100644 --- a/doc/developer/tutorial/viewcfg/src/Makefile.split +++ b/doc/developer/tutorial/viewcfg/src/Makefile.split @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + FRAMAC_SHARE := $(shell frama-c-config -print-share-path) PLUGIN_NAME = ViewCfg PLUGIN_CMO = cfg_options cfg_core cfg_register diff --git a/doc/hevea.css b/doc/hevea.css index c549e52ced4e470e2dc4385c745aa71969e2f95b..fe81db6e64960b94032e68a422f3f16176b4a649 100644 --- a/doc/hevea.css +++ b/doc/hevea.css @@ -1,3 +1,25 @@ +/**************************************************************************/ +/* */ +/* This file is part of Frama-C. */ +/* */ +/* Copyright (C) 2007-2022 */ +/* 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). */ +/* */ +/**************************************************************************/ + html{ background: darkgrey; padding: 24px; diff --git a/doc/metrics/Makefile b/doc/metrics/Makefile index cf7cd6b60d7c1453e281bc04785fe05a439d2de6..e998a3da92f4dcf793ed28aba1ad6f50b38d49fb 100644 --- a/doc/metrics/Makefile +++ b/doc/metrics/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + .PHONY: default all clean TARGET = metrics.pdf diff --git a/doc/pandoc/style.css b/doc/pandoc/style.css index f32fd1e16621cfeb8f7367a3d83a1bf29570181b..18398ee443a0dce7d08bfcafeca107288b2b1423 100644 --- a/doc/pandoc/style.css +++ b/doc/pandoc/style.css @@ -2,7 +2,7 @@ /* */ /* This file is part of Frama-C. */ /* */ -/* Copyright (C) 2007-2021 */ +/* Copyright (C) 2007-2022 */ /* CEA (Commissariat à l'énergie atomique et aux énergies */ /* alternatives) */ /* */ diff --git a/doc/pdg/Makefile b/doc/pdg/Makefile index de8bc6307421bec04bd8fab929978e1191a8f78e..74b8af4e70b48417b982ac3781490c8ccad5418e 100644 --- a/doc/pdg/Makefile +++ b/doc/pdg/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + .PHONY: all clean all: main.pdf diff --git a/doc/release/Makefile b/doc/release/Makefile index 0c698b87a884f92a6cbfceb457a287f2f690fd7e..7797c93e029f967707f40d3cf89fe92f858326de 100644 --- a/doc/release/Makefile +++ b/doc/release/Makefile @@ -2,12 +2,21 @@ # # # This file is part of Frama-C. # # # -# Copyright (C) 2007-2021 # +# Copyright (C) 2007-2022 # # CEA (Commissariat à l'énergie atomique et aux énergies # # alternatives) # # # -# All rights reserved. # -# Contact CEA LIST for licensing. # +# 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). # # # ########################################################################## diff --git a/doc/rte/Makefile b/doc/rte/Makefile index c3d71f538c537d4c9ccc072d7786205621c94034..2c6a25c25ee9686ed17cc8c56dee151223019b2b 100644 --- a/doc/rte/Makefile +++ b/doc/rte/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + .PHONY: all clean all: main.pdf diff --git a/doc/scope/Makefile b/doc/scope/Makefile index 3e14c50237d6411697cad872bdff9a1878a9c1a5..ac55e30f1991ffdb38612fdfcb1ee248d6e01ce8 100644 --- a/doc/scope/Makefile +++ b/doc/scope/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + #vide : pour ne pas utiliser de règles implicites .SUFFIXE: .PHONY: clean all debug diff --git a/doc/slicing/Makefile b/doc/slicing/Makefile index b09932ac72db4cf6512927e70d60debfe827927c..673e0ac1c9ae83a3294e668d0c6c00c92a20a7f6 100644 --- a/doc/slicing/Makefile +++ b/doc/slicing/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + .PHONY: all clean all: main.pdf diff --git a/doc/userman/Makefile b/doc/userman/Makefile index 433971360454eaafc0c43dccfe11c4a15f044b5e..0b98372bc4d1250d4113ea4827edf80d636b4edf 100644 --- a/doc/userman/Makefile +++ b/doc/userman/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + # Require texi2pdf .DEFAULT_GOAL := all diff --git a/doc/userman/Makefile.config b/doc/userman/Makefile.config index b1c187535803f92702c052d5b49f58f212ccfeca..7008f1df9dfda02882dd2d8e8043989cb6d11b57 100644 --- a/doc/userman/Makefile.config +++ b/doc/userman/Makefile.config @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + MAKECONFIG_DIR=../../share include ../../share/Makefile.common FRAMAC_VERSION=$(shell $(SED) -e 's/\\(.*\\)/\\1/' ../../VERSION) diff --git a/doc/userman/user-changes.tex b/doc/userman/user-changes.tex index 9a37650c699bfc7fbc81aa44272d09940a92b29a..60d058461dc268df9b646252cfbd1e0525314e8e 100644 --- a/doc/userman/user-changes.tex +++ b/doc/userman/user-changes.tex @@ -3,6 +3,11 @@ This chapter summarizes the changes in this documentation between each \FramaC release. First we list changes of the last release. +\section*{Frama-C+dev} +\begin{itemize} +\item Removed Journalisation +\end{itemize} + \section*{24.0 (Chromium)} \begin{itemize} \item \textbf{Standard library (libc):} Section added @@ -132,9 +137,9 @@ in using the Frama-C OPAM package. active by default. \item \textbf{Normalizing the Source Code:} added section about macros predefined by \FramaC (Section~\ref{sec:predefined-macros}). -\item \textbf{Normalizing the Source Code:} document new option +\item \textbf{Normalizing the Source Code:} document new option \texttt{-custom-annot-char} (Section~\ref{sec:normalize}) -\item \textbf{Normalizing the Source Code:} document handling of +\item \textbf{Normalizing the Source Code:} document handling of new file suffix \texttt{.ci} (Section~\ref{sec:preprocessing}) \item \textbf{Preparing the Sources:} option \texttt{-warn-undefined-callee} changed to \\ \texttt{-implicit-function-declaration warn}. @@ -158,14 +163,14 @@ predefined by \FramaC (Section~\ref{sec:predefined-macros}). \section*{Neon-20140*01} \begin{itemize} -\item \textbf{Getting Started:} fixes list of requirements +\item \textbf{Getting Started:} fixes list of requirements for compiling \FramaC. \item \textbf{Preparing the Sources:} new option \texttt{-aggressive-merging} \item \textbf{General Kernel Services:} change the default name of the journal. -\item \textbf{Getting Started:} +\item \textbf{Getting Started:} new options \texttt{-config} and \texttt{-<plug-in shortname>-config}, as well as new environment variable \texttt{FRAMAC\_CONFIG}. -\item \textbf{Getting Started:} +\item \textbf{Getting Started:} new options \texttt{-session} and \texttt{-<plug-in shortname>-session}, as well as new environment variable \texttt{FRAMAC\_SESSION}. \item \textbf{Getting Started:} document option \texttt{-unicode}. @@ -188,7 +193,7 @@ predefined by \FramaC (Section~\ref{sec:predefined-macros}). \section*{Oxygen-20120901} \begin{itemize} -\item \textbf{Analysis Option:} better documentation of +\item \textbf{Analysis Option:} better documentation of \texttt{-unspecified-access} \item \textbf{Preparing the Sources:} better documentation of \texttt{-pp-annot} \item \textbf{Preparing the Sources:} pragma \texttt{UNROLL\_LOOP} is diff --git a/doc/userman/user-services.tex b/doc/userman/user-services.tex index 24aca42be20f94c4c5714a43cd1ca11ecbb66cc6..838b5974d334a8ad6200e619d374bbea35f2273c 100644 --- a/doc/userman/user-services.tex +++ b/doc/userman/user-services.tex @@ -5,7 +5,7 @@ This chapter presents some important services offered by the \FramaC platform. \section{Projects}\label{sec:project}\index{Project|bfit} A \FramaC project groups together one source code with the states (parameters, -results, \etc) of the \FramaC kernel and analyzers. +results, \etc) of the \FramaC kernel and analyzers. In one \FramaC session, several projects may exist at the same time, while there is always one and only one so-called \emph{current} project in which @@ -87,8 +87,8 @@ loading another project file. \paragraph{Special Cases} Options \optionuse{-}{help}, \optionuse{-}{verbose}, -\optionuse{-}{debug}\xspace(and -their corresponding plugin-specific counterpart) +\optionuse{-}{debug}\xspace(and +their corresponding plugin-specific counterpart) as well as \optionuse{-}{explain}, \optionuse{-}{quiet}\xspace and \optionuse{-}{unicode}\xspace are not saved on disk. @@ -137,53 +137,3 @@ analysis $A_2$. Whenever the results from $A_2$ change, \FramaC automatically di results from $A_1$. For instance, slicing results depend on value analysis results; thus the slicing results are discarded whenever the value analysis ones are. - -\section{Journalisation}\label{sec:journal} - -Journalisation logs each operation that modifies some parameters or results -into a file called a \emph{journal}\index{Journal|bfit}. Observational -operations like viewing the set of possibles values of a variable in the GUI -are not logged. - -By default, the name of the journal is -\texttt{SESSION\_DIR/frama\_c\_journal.ml} where \texttt{SESSION\_DIR} is the -\FramaC session directory (see Section~\ref{sec:var-session}). It can be -modified by using the option \optiondef{-}{journal-name}. - -A journal is a valid \FramaC dynamic plug-in. Thus it can be loaded by using -the option \optionuse{-}{load-script} (see Section~\ref{sec:use-plugins}). The -journal replays the very same results as the ones computed in the original -session. - -Journals are commonly used for the three different purposes described -thereafter. -\begin{itemize} -\item Easily replaying a given set of analysis operations in order to reach a - certain state. Once the final state is reached, further analyses can be - performed normally. Beware that journals may be source dependent and thus may - not necessarily be reused on different source codes to perform the same - analyses. -% -\item Acting as a macro language for plug-in developers. They can perform - actions on the GUI to generate a journal and then adapt it to perform - a more general but similar task. -% -\item Debugging. In the GUI, a journal is always generated, even when an error - occurs. The output journal usually contains information about this - error. Thus it provides an easy way to reproduce the very same - error. Consequently, it is advised to attach the journal when reporting an - error in the \FramaC BTS (see Chapter~\ref{user-errors}). -\end{itemize} - -By default, a journal is generated upon exit of the session only whenever -\FramaC crashes in graphical mode. In all other cases, no journal is -generated. This behavior may be customized by using the option -\optiondef{-}{journal-enable} (resp. \optiondef{-}{journal-disable}) that -generates (resp. does not generate) a journal upon exiting the session. - -\paragraph{Special Cases} - -Modifications of options \optionuse{-}{help}, \optionuse{-}{verbose}, -\optionuse{-}{debug}\xspace (and their corresponding counterpart) as well as -\optionuse{-}{explain}, \optionuse{-}{quiet}\xspace and -\optionuse{-}{unicode}\xspace are not written in the journal. diff --git a/doc/userman/user-start.tex b/doc/userman/user-start.tex index 96c072ccf509912b50cb84e58663248213775d2f..0810f44626e3c42cd861c0b98f0c68eaa91c6cd3 100644 --- a/doc/userman/user-start.tex +++ b/doc/userman/user-start.tex @@ -189,11 +189,8 @@ for using the Unicode character set in messages has an opposite option with a name of the form \texttt{-<plug-in name>-<option name>} have their opposite option named \texttt{-<plug-in name>-no-<option name>}. For instance, the -opposite of option \optionuse{-}{wp-print} is \optionuse{-}{wp-no-print}. When -prefixing -an option name by \texttt{-no} is meaningless, the opposite option is usually -renamed. For instance, the opposite option of \optionuse{-}{journal-enable} is -\optionuse{-}{journal-disable}. Use the options \texttt{-kernel-help} and +opposite of option \optionuse{-}{wp-print} is \optionuse{-}{wp-no-print}. +Use the options \texttt{-kernel-help} and \texttt{-<plug-in name>-help} to get the opposite option name of each parameterless option. diff --git a/headers/check-headers.sh b/headers/check-headers.sh deleted file mode 100755 index 6846de19e9ba7363bba0b0b10a0f671bd7faabcb..0000000000000000000000000000000000000000 --- a/headers/check-headers.sh +++ /dev/null @@ -1,265 +0,0 @@ -#!/bin/sh -########################################################################## -# # -# This file is part of Frama-C. # -# # -# Copyright (C) 2007-2022 # -# CEA (Commissariat à l'énergie atomique et aux énergies # -# alternatives) # -# # -# All rights reserved. # -# Contact CEA LIST for licensing. # -# # -########################################################################## - - -APPLINAME="$0" -echo $0 $@ -Usage() { - APPLI=$(basename $APPLINAME) - echo "Usage: $APPLI <options> <files>" - echo " $APPLI [--update] --spec-files <spec-files>" - echo " 1. Checks entries of <spec-files>" - echo " --update: updates <spec-files> by removing comments and multiple entries" - echo " $APPLI [--update] [--no-headers <header-file>]* <spec-file> ([--files-from] <file>]*" - echo " 1. Checks entries of <spec-file>" - echo " --update: updates <spec-file> by removing comments and multiple entries" - echo " 2. Checks that every <files> have an entry into the <spec-file>" - echo " 3. Checks that all the <files> are not attributed to <header-file> in <spec-file>" - echo " --no-headers <header-file>: cumulative option" - exit 0 -} - -Requires () { - for File in "$@" - do - where=$(which $File) - if [ "$?" != "0" ] ; then - echo "Error: executable not found: $File" - exit 1 - fi - done -} - -RegExp="" -Checking () { - - Requires sort tr grep diff sed - - if [ "$SpecFilesOpt" != "" ] && [ "$HeadersOpt" != "" ] ; then - echo "Error: given options are exclusives" - exit 1 - fi - - if [ "$1" = "" ] ; then - echo "Error: missing argument" - exit 1 - fi - - if [ ! -f "$1" ] ; then - echo "Error: file not found: $file" - exit 1 - fi - - if [ "$SpecFilesOpt" != "" ] ; then - shift - for file in $@ ; do - if [ "$file" != "--files-from" ] && [ ! -f $file ] ; then - echo "Error: file not found: $file" - exit 1 - fi - done - fi - - if [ "$HeadersOpt" != "" ] ; then - RegExp="(" - for file in $HeadersOpt ; do - SyntaxOk=$(echo "$file" | tr -d "._[:alnum:]") - if [ "$SyntaxOk" != "" ] ; then - echo "Error: invalid header filename: $file" - exit 1 - fi - if [ "$RegExp" != "(" ] ; then - RegExp="${RegExp}|" - fi - RegExp="${RegExp}$(echo $file | sed -e 's:\.:\\.:')" - done - RegExp="^${RegExp}):" - fi -} - -Result="0" -Check () { - Warn="" - cat $1 \ - | tr "[:blank:]" " " \ - | sed -e 's: *: :g' \ - | sed -e 's:^ ::g' \ - | sed -e 's: $::g' \ - | sed -e 's/ :/:/g' \ - | sed -e 's/:\([^ ]\)/: \1/g' \ - > $1.$$ - TMP1=$1.$$ - if [ "$?" != "0" ] && [ "$2" = "-step-1" ] ; then - echo " Warning: some blank characters can be cleaned:" - diff $1 $TMP1 | grep "^> " - Warn="Ok" - fi - grep -v "^#" $TMP1 > ${TMP1}.$$ - TMP2=${TMP1}.$$ - LC_ALL=C sort -k2 -k1 $TMP2 > $TMP1 - diff -q $TMP1 $TMP2 > /dev/null - if [ "$?" != "0" ] && [ "$2" = "-step-1" ] ; then - echo " Warning: some entries are unsorted:" - diff $TMP1 $TMP2 | grep "^> " - Warn="Ok" - fi - LC_ALL=C sort -u -k2 -k1 $TMP1 > $TMP2 - diff -q $TMP2 $TMP1 > /dev/null - if [ "$?" != "0" ] ; then - if [ "$2" = "-step-1" ] ; then - echo " Warning: some entries are duplicated:" - else - echo " Warning: the following given files are duplicated:" - fi - diff $TMP2 $TMP1 | sed -n -e "s/^> ~no-entry-for:/ /p" - Warn="Ok" - fi - LC_ALL=C sort -u -k2 $TMP2 > $TMP1 - if [ "$3" != "" ] ; then - diff $TMP1 $3 > /dev/null - if [ "$?" != "0" ] ; then - echo " Error: some files have no entry:" - diff $3 $TMP1 | sed -n -e "s/^> ~no-entry-for:/ /p" - Warn="OkOk" - Result="1" - fi - else - diff -q $TMP1 $TMP2 > /dev/null - if [ "$?" != "0" ] ; then - if [ "$2" = "-step-1" ] ; then - echo " Error: some entries are duplicated." - echo " removed entries:" - else - echo " Error: some checked entries have unwanted headers:" - fi - diff $TMP1 $TMP2 | grep "^> " - Warn="OkOk" - Result="1" - fi - fi -} - -CheckSpecFile () { - echo " Checking specification file $1..." - Check "$1" "-step-1" - if [ "$Warn" = "OkOk" ] ; then - if [ "$UpdateOpt" != "--update" ] ; then - rm $TMP1 $TMP2 - echo " Use --update option to update $1 file" - exit 1 - fi - fi - if [ "$UpdateOpt" = "--update" ] ; then - if [ "$Warn" = "" ] ; then - diff -q $TMP1 $1 > /dev/null - if [ "$?" != "0" ] ; then - Warn="Ok" - fi - fi - if [ "$Warn" = "" ] ; then - echo "Warning: already up to date" - else - echo " Updating file $1" - mv $TMP1 $1 - fi - fi -} - -UpdateOpt="" -HeadersOpt="" -SpecFilesOpt="" -while [ "$1" != "" ] ; do - case "$1" in - -h) Usage;; - -help) Usage;; - --help) Usage;; - --update) UpdateOpt="$1";; - --spec-files) SpecFilesOpt="$1";; - --no-headers) shift; HeadersOpt="${Headers} $1";; - --files-from) break;; - --*) echo "Unknown option $1"; exit 1;; - *) break;; - esac - shift -done - -Checking $@ - -BuildTmpFile() { - TmpFile="$1" - shift - Str="$1" - shift - while [ "$1" != "" ]; do - if [ "$1" = "--files-from" ] ; then - shift - cat $1 \ - | tr "[:blank:]" " " \ - | sed -e 's: *: :g' \ - | sed -e 's:^ ::g' \ - | sed -e 's: $::g' \ - | egrep -v '^#' \ - | sed -e "s#^#${Str}: #" >> $TMP - else - echo "${Str}: $1" >> $TMP - fi - shift - done -} - -if [ "$SpecFilesOpt" = "" ] ; then -# echo "Step 1..." - SpecFile=$1 - shift - CheckSpecFile $SpecFile -# echo " Removing temporary files" - mv $TMP2 $TMP1 - RefStep2=$TMP1 - - if [ "$1" != "" ]; then -# echo "Step 2..." - echo " Checking that all given files have an entry..." - cat $RefStep2 > $RefStep2.$$ - TMP=$RefStep2.$$ - BuildTmpFile $TMP "~no-entry-for" $@ - Check $TMP "-step-2" $RefStep2 -# echo " Removing temporary files" - rm -f $TMP $TMP1 $TMP2 - fi - rm -f $RefStep2 - - if [ "$RegExp" != "" ] && [ "$1" != "" ]; then -# echo "Step 3..." - echo " Checking for files having unwanted headers..." - egrep -e "$RegExp" $SpecFile > $SpecFile.$$ - TMP=$SpecFile.$$ - BuildTmpFile $TMP "./looking-for" $@ - Check $TMP "-step-3" -# echo " Removing temporary files" - rm -f $TMP $TMP1 $TMP2 - fi - - if test $Result -eq 0; then - echo "No issue detected. Great!" - fi - exit $Result - -else -# echo "Step 1..." - for file in $@ ; do - CheckSpecFile $file -# echo " Removing temporary files" - rm -f $TMP1 $TMP2 - done -fi \ No newline at end of file diff --git a/headers/close-source/ACSL_EL b/headers/close-source/CEA_PR_LGPL similarity index 100% rename from headers/close-source/ACSL_EL rename to headers/close-source/CEA_PR_LGPL diff --git a/headers/close-source/XL_COMPCERT b/headers/close-source/XL_COMPCERT new file mode 100644 index 0000000000000000000000000000000000000000..e8e6bf9af8871ef73e2d4bafb6aaa5a9af9f2c1f --- /dev/null +++ b/headers/close-source/XL_COMPCERT @@ -0,0 +1,10 @@ + The Compcert verified compiler + + Xavier Leroy, INRIA Paris-Rocquencourt + + Copyright Institut National de Recherche en Informatique et en + Automatique. All rights reserved. This file is distributed + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. This file is also distributed + under the terms of the INRIA Non-Commercial License Agreement. diff --git a/headers/hdrck.ml b/headers/hdrck.ml index 8822f19423583a1f319651b3b42fb2ca878c02f1..96232626de0c1bfeeeed09e770f345193fa02c73 100755 --- a/headers/hdrck.ml +++ b/headers/hdrck.ml @@ -1,6 +1,56 @@ +(**************************************************************************) +(* *) +(* This file is part of Frama-C. *) +(* *) +(* Copyright (C) 2007-2022 *) +(* 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). *) +(* *) +(**************************************************************************) + +type spec_format = Sep1Line1 (* <space>* FileName <space>* `:` <space>* HeaderId <space>* <eol> *) + | Sep2Line1 (* <space>* FileName <space>* `:` <space>* AttributeName <space>*`:` <space>*HeaderId <space>* <eol> *) + | Line3 (* FileName <eol> AttributeName <eol> HeaderId <eol> *) + | Zero3 (* FileName <null> AttributeName <null> HeaderId <null> *) +(* Sep1Line1 + > cat headers/header_spec.txt | headers/hdrck --stdin -spec-format=2-fields-by-line -header-dirs headers/open-source +*) +(* Sep2Line1 + > cat headers/header_spec.txt | tr ':' '\n' | xargs -n 2 printf " %s : header_spec : %s \n" > x-3-fields-by-line.txt + > cat x-3-fields-by-line.txt | headers/hdrck --stdin -spec-format=3-fields-by-line -header-dirs headers/open-source +*) +(* Line3 + > cat headers/header_spec.txt | tr ':' '\n' | xargs -n 2 printf "%s\nheader_spec\n%s\n" > x-3-lines.txt + > cat x-3-lines.txt | headers/hdrck --stdin -spec-format=3-lines -header-dirs headers/open-source +*) +(* Zero + > cat headers/header_spec.txt | tr ':' '\n' | xargs -n 2 printf "%s\nheader_spec\n%s\n" | tr '\n' '\0' > x-3-zeros.txt + > cat x-3-zeros.txt | headers/hdrck --stdin -z -header-dirs headers/open-source +*) + +(* From the git archive + > git ls-files -z | git check-attr --stdin -z header_spec \ + | headers/hdrck --stdin -z -header-dirs headers/open-source -header-dirs src/plugins/e-acsl/headers/open-source +*) + (* Parameters settable from command line *) let debug_flag = ref false and spec_files = ref [] +and from_stdin = ref false +and zero_stdin = ref false +and spec_format = ref Sep1Line1 and header_dirs = ref [] and forbidden_headers = ref [] and root_dir = ref (Sys.getcwd ()) @@ -8,7 +58,8 @@ and distrib_file = ref None and header_except_file = ref None and headache_config_file = ref "headers/headache_config.txt" and exit_on_warning = ref false -and exit_on_error = ref true (* only set to false for debugging purposes *) +and exit_on_error = ref true (* only settable to false for debugging purposes *) + type mode = | Check @@ -96,18 +147,27 @@ let get_tmp_dirname () = match !tmp_dirname with dirname | Some dirname -> dirname +let get_string_null (ic:in_channel) = + let rec aux acc = + let c = input_char ic in + if c <> '\000' then aux (c :: acc) else acc + in + let tab = Array.of_list (List.rev (aux [])) in + String.init (Array.length tab) (Array.get tab) + + (* Reads [nlines] lines of a file named [filename]. * * Defaults to reading the file entirely since any integer will ever be greater * or equal than [max_int]. *) -let read_lines ?nlines:(nlines=max_int) filename = +let read_lines ?nlines:(nlines=max_int) get_line filename = let lines = ref [] in - let ic = open_in filename in + let ic = if filename = "--stdin" then stdin else open_in filename in let n = ref 1 in try while !n <= nlines do - lines := input_line ic :: !lines; + lines := get_line ic :: !lines; incr n done; close_in ic; @@ -123,7 +183,10 @@ let extract_sub_dir filename = | sub_dir :: _ :: _ -> sub_dir | _ -> "" -let colon_reg_exp = Str.regexp ":" +let split_line_entry = + let colon_reg_exp = Str.regexp ":" in + fun (line:string) -> + List.map String.trim (Str.split colon_reg_exp line) module StringSet = struct include Set.Make(struct type t = string let compare = String.compare end) @@ -143,68 +206,103 @@ end @param license_name *) let add_spec_entry (ignored_files: StringSet.t ref) (spec_tab: (string, string) Hashtbl.t) - idx (file_name : string) (license_name: string) = - if license_name <> ".ignore" then begin - try - let previous_entry = Hashtbl.find spec_tab file_name in - if license_name <> previous_entry then + idx ~(file_name : string) ~(license_name: string) = + match license_name with + | ("set" | "unset" | "unspecified") -> + warn (* error ~exit_value:9 *) + "%s: invalid specification (%d) for that file (git attribute value=%s)@." + file_name idx license_name + | ".ignore" -> begin + try + let previous_entry = Hashtbl.find spec_tab file_name in error ~exit_value:6 "%s: specification duplicated (%d) with a different license name (%s and %s)@." - file_name idx license_name previous_entry - else if StringSet.mem file_name !ignored_files then - error ~exit_value:6 - "%s: specification duplicated (%d) with a different license name (%s and %s)@." - file_name idx license_name ".ignore" - else warn "%s: specification duplicated (%d)@." file_name idx - with Not_found -> Hashtbl.add spec_tab file_name license_name - end - else begin - try - let previous_entry = Hashtbl.find spec_tab file_name in - error ~exit_value:6 - "%s: specification duplicated (%d) with a different license name (%s and %s)@." - file_name idx previous_entry ".ignore" - with Not_found -> - if StringSet.mem file_name !ignored_files then - warn "%s: specification duplicated (%d)@." file_name idx - else ignored_files := StringSet.add file_name !ignored_files - end + file_name idx previous_entry ".ignore" + with Not_found -> + if StringSet.mem file_name !ignored_files then + warn "%s: specification duplicated (%d)@." file_name idx + else ignored_files := StringSet.add file_name !ignored_files + end + | _ -> begin + try + let previous_entry = Hashtbl.find spec_tab file_name in + if license_name <> previous_entry then + error ~exit_value:6 + "%s: specification duplicated (%d) with a different license name (%s and %s)@." + file_name idx license_name previous_entry + else if StringSet.mem file_name !ignored_files then + error ~exit_value:6 + "%s: specification duplicated (%d) with a different license name (%s and %s)@." + file_name idx license_name ".ignore" + else warn "%s: specification duplicated (%d)@." file_name idx + with Not_found -> + if StringSet.mem file_name !ignored_files then + error ~exit_value:6 + "%s: specification duplicated (%d) with a different license name (%s and %s)@." + file_name idx license_name ".ignore" + else Hashtbl.add spec_tab file_name license_name + end (* Reads the contents of the specification. - Each line of the file is assumed to contain one association of the form: - <filename_id>\s+:\s+<license_id> - where: - - \s matches any whitespace character - - identifiers can contain anything but whitespaces. - + Each line of the file using the [spec_format]. Lines that do not match this pattern are ignored. @param spec_tab (file -> license header name) hashtable to update @param ignored_files set of ignored files to update. *) -let read_specs (ignored_files: StringSet.t ref) (spec_tab: (string, string) Hashtbl.t) (spec_file : string) = - debug "Specification file: %s@." spec_file; - job_head "Checking format of specification file %s... @?" spec_file; - let spec_lines = read_lines spec_file in - let sub_dir = extract_sub_dir spec_file in - List.iteri - (fun i spec_line -> - match Str.split colon_reg_exp spec_line with - | filename :: [license_name] -> - let filename = String.trim filename in - let filename = - if sub_dir <> "" then path_concat sub_dir filename else filename - in - let filename = path_concat !root_dir filename in - let license_name = String.trim license_name in - add_spec_entry ignored_files spec_tab i filename license_name - | _ -> - warn "%s (%d): bad line format@." spec_file i - ) spec_lines; +let read_specs spec_format (ignored_files: StringSet.t ref) (spec_tab: (string, string) Hashtbl.t) (spec_file : string option) = + let spec_fname = match spec_file with None -> "--stdin" | Some filename -> filename in + debug "Specification file: %s@." spec_fname ; + job_head "Checking format of specification file %s... @?" spec_fname; + let sub_dir = extract_sub_dir spec_fname in + let add_spec, get_line = + let add_spec_item i ~file_name ~license_name = + let file_name = + if sub_dir <> "" then path_concat sub_dir file_name else file_name + in + let file_name = path_concat !root_dir file_name in + add_spec_entry ignored_files spec_tab i ~file_name ~license_name + in + let add_spec_Sep1Line1 spec_lines = + List.iteri + (fun i spec_line -> + match split_line_entry spec_line with + | file_name :: [license_name] -> + add_spec_item i ~file_name ~license_name + | _ -> warn "%s (%d): bad line format@." spec_fname (i+1) + ) spec_lines + and add_spec_Sep2Line1 spec_lines = + List.iteri + (fun i spec_line -> + Format.printf "%s@." spec_line; + match split_line_entry spec_line with + | file_name :: "header_spec" :: [license_name] -> + add_spec_item i ~file_name ~license_name + | _ :: attr :: [_] -> warn "%s (%d): bad attribute name: %s@." spec_fname (i+1) attr + | _ -> warn "%s (%d): bad line format@." spec_fname (i+1) + ) spec_lines + and add_spec_Sep0Line3 spec_lines = + let rec add_spec i = function + | [] -> () + | file_name :: "header_spec" :: license_name :: spec_lines -> + add_spec_item i ~file_name ~license_name ; + add_spec (i+1) spec_lines + | _ :: attr :: _ :: _ -> + warn "%s (%d): (3-upplet: %d) attribute name: %s@." spec_fname ((3*i)+1) (i+1) attr + | _ -> warn "%s (%d): (3-upplet: %d) bad format@." spec_fname ((3*i)+1) (i+1) + in add_spec 0 spec_lines + in match spec_format with + | Sep1Line1 -> add_spec_Sep1Line1,input_line + | Sep2Line1 -> add_spec_Sep2Line1,input_line + | Line3 -> add_spec_Sep0Line3,input_line + | Zero3 -> add_spec_Sep0Line3, get_string_null + in + let spec_lines = read_lines get_line spec_fname in + add_spec spec_lines; job_done () let coma_reg_exp = Str.regexp "," -let set_cumulative (name:string) (value: string list ref) (set : string) = +let set_cumulative ~(name:string) (value: string list ref) ~(set : string) = debug "Register cumulative %s option: %s" name set; value := List.fold_left (fun acc v -> let v = String.trim v in if v="" then acc else v::acc) @@ -352,7 +450,7 @@ let check_spec_discrepancies let check_forbidden_headers (forbidden_headers:StringSet.t) header_specifications (distributed_files:StringSet.t) = if not (StringSet.is_empty forbidden_headers) then begin - job_head "Checking that all distributed files have no forbidden header specification @?"; + job_head "Checking that all distributed files have no forbidden header specification... @?"; let forbidden = ref [] in let n = ref 0 in StringSet.iter @@ -488,42 +586,59 @@ let executable_name = Sys.argv.(0) let umsg = Format.sprintf "Usage: %s [options] <header spec files>@.%s" executable_name - ("The line format of each <header spec files> is:\n" ^ - " <source file> ':' <license definition>\n" ^ + ("The default format of each <header spec files> is \"2-fields-by-line\".\n" ^ + "The different formats are:\n" ^ + "- \"2-fields-by-line\" format:\n\t<space>* <source file> <space>* ':' <space>* <license definition> <space>* <eol>\n" ^ + "- \"3-fields-by-line\" format:\n\t<space>* <source file> <space>* ':' <space>* 'header_spec' <space>* ':' <space>* <license definition> <space>* <eol>\n" ^ + "- \"3-lines\" format:\n\t<source file> <eol> 'header_spec' <eol> <license definition> <eol>\n" ^ + "- \"3-zeros\" format:\n\t<source file> <zero> 'header_spec' <zero> <license definition> <zero>\n" ^ "where <license definition> is '.ignore' or a license definition file.\n" ^ "The location directory of the license definitions can be specified using the -header-dirs option.\n" ^ - "When the name of a <header spec file> has the form 'path/./header-spec-file',\n"^ - "then the <source file> names that it contains\n" ^ + "When the name of a <header spec file> has the form 'path/./header-spec-file', "^ + "then the <source file> names that it contains " ^ "are considered beeing relative to given 'path'.\n" ^ - "That is done before processing the option '-C <dir>'." ) + "That is done before processing the option '-C <dir>'.'\n" ^ + "List of the options:") let rec argspec = [ "--help", Arg.Unit print_usage , " print this option list and exits"; + "--stdin", Arg.Set from_stdin, + " extract an header spec from the standard input in addition to the given header spec files"; "-help", Arg.Unit print_usage , " print this option list and exits"; "-debug", Arg.Set debug_flag, " enable debug messages"; - "-forbidden-headers", Arg.String (set_cumulative "-forbidden-headers" forbidden_headers) , - " none of the distributed files may have one of these license name"; - "-header-dirs", Arg.String (set_cumulative "-header-dirs" header_dirs), - " add comma separated list of directories to search for license header definitions [.]"; + + "-forbidden-headers", Arg.String (fun set -> set_cumulative ~name:"-forbidden-headers" forbidden_headers ~set) , + "<license name>,... \t none of the checked files may have one of the <license name> []"; + "-header-dirs", Arg.String (fun set -> set_cumulative ~name:"-header-dirs" header_dirs ~set), + "<directory>,... \t list of <directory> to search for license header definitions []"; "-distrib-file", Arg.String (set_opt distrib_file), - " set filename with a list of files set for distribution"; + "<filename> \t considers only the files listed into the <filename>"; "-header-except-file", Arg.String (set_opt header_except_file), - " set filename with a list of files whose headers do not need checking"; + "<filename> \t does not look at the files listed into the <filename>"; "-headache-config-file", Arg.Set_string headache_config_file, - Format.sprintf " set headache configuration file [%s]" !headache_config_file; + Format.sprintf "<filename> \t set headache configuration file [%s]" !headache_config_file; "-no-exit-on-error", Arg.Unit (fun () -> exit_on_error := false), - " do not exit on errors "; + " does not exit on errors "; "-exit-on-warning", Arg.Set exit_on_warning, " considers warnings as errors (anyway, forces exit on errors too)"; "-update", Arg.Unit (fun () -> mode := Update), - " update headers w.r.t to the <header spec file>"; + " updates headers w.r.t to the <header spec file>"; "-C", Arg.Set_string root_dir, Format.sprintf - " prepend <dir> to filenames in header specification [%s] " + "<dir> \t prepends <dir> to filenames in header specification [%s] " !root_dir; + "-spec-format", Arg.String (function + | "2-fields-by-line" -> spec_format := Sep1Line1 + | "3-fields-by-line" -> spec_format := Sep2Line1 + | "3-lines" -> spec_format := Line3 + | "3-zeros" -> spec_format := Zero3 + | s -> Format.printf "invalid spec format: %s@." s ; print_usage ()), + "<format>\t \"2-fields-by-line\"|\"3-fields-by-line\"|\"3-lines\"|\"3-zeros\""; + "-z", Arg.Set zero_stdin, + " force to use the spec format \"3-zeros\" when reading from stdin"; ] and sort argspec = @@ -545,25 +660,28 @@ let _ = check_headache_config_file (); begin match !spec_files, !distrib_file, !header_except_file with - | [], _, _ -> + | [], _, _ when not !from_stdin -> Format.printf "Please set a specification file@\n@."; print_usage (); | spec_files, distrib_file_opt, header_except_opt -> let specified_files = Hashtbl.create 256 in let ignored_files = ref StringSet.empty in - List.iter (read_specs ignored_files specified_files) spec_files; + if !from_stdin then read_specs (if !zero_stdin then Zero3 else !spec_format) ignored_files specified_files None; + List.iter (fun f -> read_specs !spec_format ignored_files specified_files (Some f)) spec_files; + Format.printf "- ignored=%d@.- specified=%d@." (StringSet.cardinal !ignored_files) (Hashtbl.length specified_files); match !mode with | Check -> let stringset_from_opt_file = function | None -> StringSet.empty | Some file -> - let lines = read_lines file in + let lines = read_lines input_line file in List.fold_left (fun s l -> StringSet.add (path_concat !root_dir l) s) StringSet.empty lines in let distributed_files = stringset_from_opt_file distrib_file_opt in let header_exception_files = stringset_from_opt_file header_except_opt in + Format.printf "- excepted=%d@.- distributed=%d@." (StringSet.cardinal header_exception_files) (StringSet.cardinal distributed_files); check !ignored_files specified_files distributed_files header_exception_files | Update -> update_headers specified_files; diff --git a/headers/headache.sh b/headers/headache.sh deleted file mode 100755 index 2eb900248cf06073b1f17e19616f80ca800e393e..0000000000000000000000000000000000000000 --- a/headers/headache.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh -########################################################################## -# # -# This file is part of Frama-C. # -# # -# Copyright (C) 2007-2022 # -# CEA (Commissariat à l'énergie atomique et aux énergies # -# alternatives) # -# # -# All rights reserved. # -# Contact CEA LIST for licensing. # -# # -########################################################################## - - -APPLINAME="$0" -Usage() { - APPLI=$(basename $APPLINAME) - echo "Usage: $APPLI -c <headache-config> -h <header-file> <file>" - echo " Runs headache with the same arguments when <file> exists" - exit 1 -} - - Requires () { -# Looking for executables - for File in "$@" ; do - where=$(which $File) - if [ "$?" != "0" ] ; then - echo "Error: executable not found: $File" - exit 1 - fi - done -} - -Error() { - echo "Error: $@" - exit 1 -} - -CheckingVariables () { - ([ "$1" = "--help" ] || [ "$1" = "-help" ] || [ "$1" = "-h" ]) && Usage - [ "$6" != "" ] && Error "too much arguments" - [ "$5" = "" ] && Error "too few arguments: $@" - [ "$1" != "-c" ] && Error "missing -c as first option" - [ ! -f "$2" ] && Error "config file not found $2" - [ "$3" != "-h" ] && Error "missing -h as second option" - [ ! -f "$4" ] && Error "header file not found $5" -} - -Requires headache -CheckingVariables $@ - -if [ -f "$5" ]; then - headache $@ -fi diff --git a/headers/headache_config.txt b/headers/headache_config.txt index daa4d478a738b19143293c55b93b74724ae2e7a0..6d7fb6b7ee0fcefd6790a157081f1706737149f7 100644 --- a/headers/headache_config.txt +++ b/headers/headache_config.txt @@ -1,3 +1,32 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + +# note: the skip directive requires a filename starting by ".*" + +############# +# This file # +############# +| "headache_config.txt" -> frame open:"#" line:"#" close:"#" + ################## # Objective Caml # ################## @@ -34,14 +63,13 @@ ############ # Makefile # ############ +| ".*makefile.*" -> frame open:"#" line:"#" close:"#" | ".*Make.*" -> frame open:"#" line:"#" close:"#" | ".*\.mk" -> frame open:"#" line:"#" close:"#" ################# # Shell scripts # ################# -#note: the skip directive requires a filename starting by ".*" -# (the skip directive looks at the full path-name) | "autocomplete_frama-c" -> frame open: "#" line: "#" close: "#" | "_frama-c" -> frame open: "#" line: "#" close: "#" | ".*_frama-c" -> skip match:"#compdef.*" @@ -66,12 +94,29 @@ | "frama-c.debug" -> frame open:"#" line:"#" close:"#" | ".*frama-c.debug" -> skip match:"#!.*" +############# +# Git hooks # +############# +| "pre-commit" -> frame open:"#" line:"#" close:"#" +| ".*pre-commit" -> skip multiline_match: "#!.*" multiline_match: "# -\*-.*" + +############### +# Zsh scripts # +############### +| ".*\.zsh" -> frame open:"#" line:"#" close:"#" +| ".*\.zsh" -> skip match:"#compdef .*" +| "_frama-c" -> frame open:"#" line:"#" close:"#" +| ".*_frama-c" -> skip match:"#compdef .*" + ################ # Perl scripts # ################ | ".*\.perl" -> frame open:"#" line:"#" close:"#" +| ".*\.perl" -> skip match:"#!.*" | "flamegraph.pl" -> frame open:"#" line:"#" close:"#" | ".*flamegraph.pl" -> skip match:"#!.*" +| "duplicates.pl" -> frame open:"#" line:"#" close:"#" +| ".*duplicates.pl" -> skip match:"#!.*" ######################### # MS-Windows Resources # diff --git a/headers/header_spec.txt b/headers/header_spec.txt index e34347acdd061e025cfff74a0507b0f5dfac4d46..dc4e4537811af57290bad456a08eb235c871ad0a 100644 --- a/headers/header_spec.txt +++ b/headers/header_spec.txt @@ -15,7 +15,7 @@ README.md: .ignore VERSION: .ignore VERSION_CODENAME: .ignore bin/.gitignore: .ignore -bin/build-src-distrib.sh: .ignore +bin/build-src-distrib.sh: CEA_LGPL bin/frama-c: CEA_LGPL bin/frama-c-config: CEA_LGPL bin/frama-c-script: CEA_LGPL @@ -66,13 +66,12 @@ doc/code/intro_sparecode.txt: CEA_LGPL doc/code/style.css: CEA_LGPL doc/code/toc_head.htm: CEA_LGPL doc/code/toc_tail.htm: CEA_LGPL -headers/check-headers.sh: CEA_PROPRIETARY -headers/close-source/ACSL_EL: .ignore headers/close-source/AORAI_LGPL: .ignore headers/close-source/CEA_INRIA_LGPL: .ignore headers/close-source/CEA_LGPL: .ignore headers/close-source/CEA_LGPL_OR_PROPRIETARY: .ignore headers/close-source/CEA_PROPRIETARY: .ignore +headers/close-source/CEA_PR_LGPL: .ignore headers/close-source/CEA_WP: .ignore headers/close-source/CIL: .ignore headers/close-source/INRIA_BSD: .ignore @@ -83,15 +82,14 @@ headers/close-source/MODIFIED_OCAMLGRAPH: .ignore headers/close-source/MODIFIED_WHY3: .ignore headers/close-source/OCAML_STDLIB: .ignore headers/close-source/UNMODIFIED_WHY3: .ignore -headers/headache.sh: CEA_PROPRIETARY -headers/headache_config.txt: .ignore +headers/headache_config.txt: CEA_LGPL headers/header_spec.txt: .ignore -headers/open-source/ACSL_EL: .ignore headers/open-source/AORAI_LGPL: .ignore headers/open-source/CEA_INRIA_LGPL: .ignore headers/open-source/CEA_LGPL: .ignore headers/open-source/CEA_LGPL_OR_PROPRIETARY: .ignore headers/open-source/CEA_PROPRIETARY: .ignore +headers/open-source/CEA_PR_LGPL: .ignore headers/open-source/CEA_WP: .ignore headers/open-source/CIL: .ignore headers/open-source/INRIA_BSD: .ignore @@ -102,7 +100,6 @@ headers/open-source/MODIFIED_OCAMLGRAPH: .ignore headers/open-source/MODIFIED_WHY3: .ignore headers/open-source/OCAML_STDLIB: .ignore headers/open-source/UNMODIFIED_WHY3: .ignore -headers/updates-headers.sh: CEA_PROPRIETARY lib/plugins/PLUGINS.README: .ignore licenses/CDDL-1.0: .ignore licenses/LGPLv2: .ignore @@ -118,35 +115,35 @@ share/analysis-scripts/analysis.mk: CEA_LGPL share/analysis-scripts/benchmark_database.py: CEA_LGPL share/analysis-scripts/build.py: CEA_LGPL share/analysis-scripts/build_callgraph.py: CEA_LGPL -share/analysis-scripts/clone.sh: .ignore +share/analysis-scripts/clone.sh: CEA_LGPL share/analysis-scripts/creduce.sh: CEA_LGPL share/analysis-scripts/detect_recursion.py: CEA_LGPL share/analysis-scripts/epilogue.mk: CEA_LGPL share/analysis-scripts/estimate_difficulty.py: CEA_LGPL -share/analysis-scripts/fc_stubs.c: .ignore +share/analysis-scripts/fc_stubs.c: CEA_LGPL share/analysis-scripts/frama_c_results.py: CEA_LGPL -share/analysis-scripts/cmd-dep.sh: .ignore -share/analysis-scripts/concat-csv.sh: .ignore +share/analysis-scripts/cmd-dep.sh: CEA_LGPL +share/analysis-scripts/concat-csv.sh: CEA_LGPL share/analysis-scripts/find_fun.py: CEA_LGPL share/analysis-scripts/flamegraph.pl: CDDL -share/analysis-scripts/function_finder.py: .ignore +share/analysis-scripts/function_finder.py: CEA_LGPL share/analysis-scripts/git_utils.py: CEA_LGPL share/analysis-scripts/heuristic_list_functions.py: CEA_LGPL share/analysis-scripts/list_files.py: CEA_LGPL share/analysis-scripts/list_functions.ml: CEA_LGPL share/analysis-scripts/make_wrapper.py: CEA_LGPL share/analysis-scripts/normalize_jcdb.py: CEA_LGPL -share/analysis-scripts/parse-coverage.sh: .ignore +share/analysis-scripts/parse-coverage.sh: CEA_LGPL share/analysis-scripts/print_callgraph.py: CEA_LGPL share/analysis-scripts/prologue.mk: CEA_LGPL share/analysis-scripts/pyproject.toml: .ignore share/analysis-scripts/README.md: .ignore share/analysis-scripts/results_display.py: CEA_LGPL -share/analysis-scripts/script_for_creduce_fatal.sh: .ignore -share/analysis-scripts/script_for_creduce_non_fatal.sh: .ignore +share/analysis-scripts/script_for_creduce_fatal.sh: CEA_LGPL +share/analysis-scripts/script_for_creduce_non_fatal.sh: CEA_LGPL share/analysis-scripts/source_filter.py: CEA_LGPL share/analysis-scripts/summary.py: CEA_LGPL -share/analysis-scripts/template.mk: .ignore +share/analysis-scripts/template.mk: CEA_LGPL share/compliance/c11_functions.json: .ignore share/compliance/c11_headers.json: .ignore share/compliance/compiler_builtins.json: .ignore @@ -165,7 +162,7 @@ share/Makefile.generic: CEA_LGPL share/Makefile.plugin.template: CEA_LGPL share/META.frama-c: .ignore share/configure.ac: CEA_LGPL -share/emacs/acsl.el: ACSL_EL +share/emacs/acsl.el: CEA_PR_LGPL share/emacs/frama-c-dev.el: CEA_LGPL share/emacs/frama-c-init.el: CEA_LGPL share/emacs/frama-c-recommended.el: CEA_LGPL @@ -657,8 +654,6 @@ src/kernel_services/plugin_entry_points/dynamic.ml: CEA_LGPL src/kernel_services/plugin_entry_points/dynamic.mli: CEA_LGPL src/kernel_services/plugin_entry_points/emitter.ml: CEA_LGPL src/kernel_services/plugin_entry_points/emitter.mli: CEA_LGPL -src/kernel_services/plugin_entry_points/journal.ml: CEA_LGPL -src/kernel_services/plugin_entry_points/journal.mli: CEA_LGPL src/kernel_services/plugin_entry_points/kernel.ml: CEA_LGPL src/kernel_services/plugin_entry_points/kernel.mli: CEA_LGPL src/kernel_services/plugin_entry_points/log.ml: CEA_LGPL @@ -826,8 +821,6 @@ src/plugins/callgraph/cg.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/callgraph/cg.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/callgraph/cg_viewer.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/callgraph/cg_viewer.yes.ml: CEA_LGPL_OR_PROPRIETARY -src/plugins/callgraph/journalize.ml: CEA_LGPL_OR_PROPRIETARY -src/plugins/callgraph/journalize.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/callgraph/options.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/callgraph/options.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/callgraph/register.ml: CEA_LGPL_OR_PROPRIETARY @@ -991,24 +984,24 @@ src/plugins/loop_analysis/region_analysis_stmt.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/loop_analysis/region_analysis_stmt.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/loop_analysis/register.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/loop_analysis/register.mli: CEA_LGPL_OR_PROPRIETARY -src/plugins/markdown-report/configure.ac: CEA_LGPL -src/plugins/markdown-report/eva_info.ml: CEA_LGPL -src/plugins/markdown-report/eva_info.mli: CEA_LGPL -src/plugins/markdown-report/Makefile.in: CEA_LGPL +src/plugins/markdown-report/configure.ac: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/eva_info.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/eva_info.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/Makefile.in: CEA_LGPL_OR_PROPRIETARY src/plugins/markdown-report/META.in: .ignore -src/plugins/markdown-report/md_gen.ml: CEA_LGPL -src/plugins/markdown-report/md_gen.mli: CEA_LGPL -src/plugins/markdown-report/mdr_params.ml: CEA_LGPL -src/plugins/markdown-report/mdr_params.mli: CEA_LGPL -src/plugins/markdown-report/mdr_register.ml: CEA_LGPL -src/plugins/markdown-report/mdr_register.mli: CEA_LGPL -src/plugins/markdown-report/parse_remarks.ml: CEA_LGPL -src/plugins/markdown-report/parse_remarks.mli: CEA_LGPL -src/plugins/markdown-report/sarif_gen.ml: CEA_LGPL -src/plugins/markdown-report/sarif_gen.mli: CEA_LGPL -src/plugins/markdown-report/sarif.ml: CEA_LGPL -src/plugins/markdown-report/sarif.mli: CEA_LGPL -src/plugins/markdown-report/share/acsl.xml: CEA_LGPL +src/plugins/markdown-report/md_gen.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/md_gen.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/mdr_params.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/mdr_params.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/mdr_register.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/mdr_register.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/parse_remarks.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/parse_remarks.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/sarif_gen.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/sarif_gen.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/sarif.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/sarif.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/markdown-report/share/acsl.xml: CEA_LGPL_OR_PROPRIETARY src/plugins/metrics/Metrics.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/metrics/css_html.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/metrics/css_html.mli: CEA_LGPL_OR_PROPRIETARY @@ -1124,13 +1117,13 @@ src/plugins/postdominators/postdominators_parameters.mli: CEA_LGPL_OR_PROPRIETAR src/plugins/postdominators/print.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/postdominators/print.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/print_api/.gitignore: .ignore -src/plugins/print_api/Makefile: CEA_LGPL -src/plugins/print_api/Print_api.mli: CEA_LGPL -src/plugins/print_api/grammar.mly: CEA_LGPL -src/plugins/print_api/lexer.mll: CEA_LGPL -src/plugins/print_api/lexer.mli: CEA_LGPL -src/plugins/print_api/print_interface.ml: CEA_LGPL -src/plugins/print_api/print_interface.mli: CEA_LGPL +src/plugins/print_api/Makefile: CEA_LGPL_OR_PROPRIETARY +src/plugins/print_api/Print_api.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/print_api/grammar.mly: CEA_LGPL_OR_PROPRIETARY +src/plugins/print_api/lexer.mll: CEA_LGPL_OR_PROPRIETARY +src/plugins/print_api/lexer.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/print_api/print_interface.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/print_api/print_interface.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/qed/.gitignore: .ignore src/plugins/qed/Makefile: CEA_WP src/plugins/qed/bvars.ml: CEA_WP @@ -1339,15 +1332,15 @@ src/plugins/value/alarmset.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/alarmset.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/value/eval.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/eval.mli: CEA_LGPL_OR_PROPRIETARY -src/plugins/value/gen-api.sh: .ignore +src/plugins/value/gen-api.sh: CEA_LGPL_OR_PROPRIETARY src/plugins/value/parameters.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/parameters.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/value/register.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/register.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/value/self.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/self.mli: CEA_LGPL_OR_PROPRIETARY -src/plugins/value/test.assert.sh: .ignore -src/plugins/value/test.sh: .ignore +src/plugins/value/test.assert.sh: CEA_LGPL_OR_PROPRIETARY +src/plugins/value/test.sh: CEA_LGPL_OR_PROPRIETARY src/plugins/value/api/general_requests.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/value/api/general_requests.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/value/api/values_request.ml: CEA_LGPL_OR_PROPRIETARY @@ -1848,14 +1841,14 @@ src/plugins/wp/ctypes.ml: CEA_WP src/plugins/wp/ctypes.mli: CEA_WP src/plugins/wp/filter_axioms.ml: CEA_WP src/plugins/wp/filter_axioms.mli: CEA_WP -src/plugins/wp/doc/MakeDoc: .ignore -src/plugins/wp/doc/coqdoc/Makefile: .ignore +src/plugins/wp/doc/MakeDoc: CEA_WP +src/plugins/wp/doc/coqdoc/Makefile: CEA_WP src/plugins/wp/doc/coqdoc/coqdoc.sty: .ignore src/plugins/wp/doc/coqdoc/qed_generated.tex: .ignore src/plugins/wp/doc/coqdoc/typed_generated.tex: .ignore src/plugins/wp/doc/coqdoc/wpcoq.tex: .ignore src/plugins/wp/doc/manual/.gitignore: .ignore -src/plugins/wp/doc/manual/Makefile: .ignore +src/plugins/wp/doc/manual/Makefile: CEA_WP src/plugins/wp/doc/manual/mem.pdf: .ignore src/plugins/wp/doc/manual/size_base.pdf: .ignore src/plugins/wp/doc/manual/size_compl.pdf: .ignore diff --git a/headers/open-source/ACSL_EL b/headers/open-source/CEA_PR_LGPL similarity index 100% rename from headers/open-source/ACSL_EL rename to headers/open-source/CEA_PR_LGPL diff --git a/headers/open-source/XL_COMPCERT b/headers/open-source/XL_COMPCERT new file mode 100644 index 0000000000000000000000000000000000000000..e8e6bf9af8871ef73e2d4bafb6aaa5a9af9f2c1f --- /dev/null +++ b/headers/open-source/XL_COMPCERT @@ -0,0 +1,10 @@ + The Compcert verified compiler + + Xavier Leroy, INRIA Paris-Rocquencourt + + Copyright Institut National de Recherche en Informatique et en + Automatique. All rights reserved. This file is distributed + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. This file is also distributed + under the terms of the INRIA Non-Commercial License Agreement. diff --git a/headers/updates-headers.sh b/headers/updates-headers.sh deleted file mode 100755 index 9041bac49bea0bda16ac9177961ea4f53bf8e3df..0000000000000000000000000000000000000000 --- a/headers/updates-headers.sh +++ /dev/null @@ -1,152 +0,0 @@ -#!/bin/sh -########################################################################## -# # -# This file is part of Frama-C. # -# # -# Copyright (C) 2007-2022 # -# CEA (Commissariat à l'énergie atomique et aux énergies # -# alternatives) # -# # -# All rights reserved. # -# Contact CEA LIST for licensing. # -# # -########################################################################## - - -APPLINAME="$0" -HEADACHE=$(dirname $APPLINAME)/headache.sh - -Usage() { - APPLI=$(basename $APPLINAME) - echo "Usage: $APPLI <option>* <headers-spec> <header-dir> [<target-dir>] [<headache-config>]" - echo " <option>" - echo " --dry-run: shows the commands to perform without any file modification" - echo " --max-procs <N>: runs up to <N> jobs in parallel." - echo " --parallel: uses 'parallel' software instead of 'xargs'" - echo " <target-dir>: root pathname to the files to modify" - echo " default to ." - echo " <header-dir>: directory that should contents header files" - echo " <headache-config>: headache config file" - echo " default to ./headers" - echo " <headers-spec>: defines header files to apply on files". - echo " The format of <headers-spec> file is checked before doing anything." - echo " Syntax:" - echo " <line format>= <header-file> ':' <file-to-modify> '\n'" - echo " | '.ignore' ':' <ignored-file> '\n'" - echo " | '#' <comment-line> '\n'" - echo " | [':'] '\n'" - echo " Ignored files are not modified by the script ${APPLI}." - - exit 1 -} - -Requires () { -# Looking for executables - for File in "$@" ; do - where=$(which $File) - if [ "$?" != "0" ] ; then - echo "Error: executable not found: $File" - exit 1 - fi - done -} - -SetVariables() { - FILE=$1 - HEADER_SRC=$2 - TARGET_DIR=${3-.} - HEADACHE_CONFIG=${4-./headers/headache_config.txt} - if [ "$5" != "" ] ; then - echo "Error: too much arguments." - exit 1 - fi - if [ "${MAX_PROCS}" = "" ] && [ -f /proc/cpuinfo ] ; then - # Linux system - MAX_PROCS=$(cat /proc/cpuinfo | grep -c processor) - fi - if [ "${MAX_PROCS}" = "0" ] || [ "${MAX_PROCS}" = "" ] ; then - MAX_PROCS="" - else - MAX_PROCS="-P ${MAX_PROCS}" - fi -} - -CheckingVariables () { - if [ "${FILE}" = "" ] ; then - echo "Error: missing header specification file." - exit 1 - fi - if [ ! -f "${FILE}" ] ; then - echo "Error: header specification file not found: ${FILE}" - exit 1 - fi - if [ "${HEADER_SRC}" = "" ] ; then - echo "Error: missing header directory." - exit 1 - fi - if [ ! -d "${HEADER_SRC}" ] ; then - echo "Error: header directory not found: ${HEADER_SRC}/" - exit 1 - fi - if [ ! -d "${TARGET_DIR}" ] ; then - echo "Error: target directory not found: ${TARGET_DIR}" - exit 1 - fi - if [ ! -f "${HEADACHE_CONFIG}" ] ; then - echo "Error: headache config file not found: ${HEADACHE_CONFIG}" - exit 1 - fi -} - -PROCESS="" -MAX_PROCS="" -PARALLEL="" -REQUIREMENTS="xargs" -while [ "$1" != "" ] ; do - case "$1" in - -h) Usage;; - -help) Usage;; - --help) Usage;; - --max-procs) shift; MAX_PROCS="$1";; - --dry-run) PROCESS="echo";; - --parallel) PARALLEL="parallel"; REQUIREMENTS="${PARALLEL}";; - *) break;; - esac - shift -done - -Requires ${HEADACHE} gawk grep tr ${REQUIREMENTS} - -SetVariables $@ - -CheckingVariables - -# Checking the format of the input file and extract line number of the error. -grep -v "^#" ${FILE} | \ - gawk -F ":" '$1=="" || $1~/[^ ] [^ ]/ || $2==""|| $2~/[^ ] [^ ]/ || $3!="" { print "'${FILE}:'" NR ": " $0 ; exit 2 }' -if [ "$?" != "0" ] ; then - echo "Error: wrong line format." - echo "So, nothing is modified." - exit 1 -fi - -# Ok, go on. -if [ "${PARALLEL}" != "" ] ; then - -# 'parallel' considers the full line as one argument, so -# 'tr' is used to split the line in two and empty line have to be removed. - grep -v "^#" $1 \ - | grep -v "\.ignore$" \ - | tr -s ":[:blank:]" "\n" | grep -v '^$' \ - | ${PARALLEL} -n 2 ${MAX_PROCS} ${PROCESS} ${HEADACHE} -c ${HEADACHE_CONFIG} -h ${HEADER_SRC}/{2} ${TARGET_DIR}/{1} - -else - -# 'xargs' has no support for context replace, so 'gawk" is used to create the arguments. - grep -v "^#" $1 \ - | grep -v "\.ignore$" \ - | tr -s ":[:blank:]" " " | grep -v '^ *$' \ - | gawk '{ print "'${HEADER_SRC}'/" $2 " '${TARGET_DIR}'/" $1 }' \ - | xargs -n 2 ${MAX_PROCS} ${PROCESS} ${HEADACHE} -c ${HEADACHE_CONFIG} -h - -fi diff --git a/ivette/.gitattributes b/ivette/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..5e72525280e8222807684b346bb654b0796e14db --- /dev/null +++ b/ivette/.gitattributes @@ -0,0 +1,25 @@ +######################## +# HEADER_SPEC: .ignore # +######################## + +/configure.js header_spec=.ignore +/sandboxer.js header_spec=.ignore +/.babelrc header_spec=.ignore +/.eslint* header_spec=.ignore +/doc/**/*.js header_spec=.ignore +/dome/doc/**/*.js header_spec=.ignore +/src/dome/doc/template/static/fonts/*-webfont.* header_spec=.ignore +/src/dome/template/git-ignore header_spec=.ignore +/src/dome/doc/template/tmpl/*.tmpl header_spec=.ignore +/src/dome/doc/**/*.js header_spec=.ignore +/src/dome/doc/**/*.htm header_spec=.ignore +/src/dome/doc/**/*.txt header_spec=.ignore +/src/dome/**/*.el header_spec=.ignore +/tests/*.i header_spec=.ignore +/**/*.css header_spec=.ignore +/**/*.html header_spec=.ignore +/**/*.json header_spec=.ignore +/**/*.lua header_spec=.ignore +/*.icns header_spec=.ignore +/*.lock header_spec=.ignore + diff --git a/ivette/Makefile.distrib b/ivette/Makefile.distrib index 0f933db596ee0febd3157aa739797a507e871fee..aba92d615b478994627ab07a2b5afdf7dae9e98a 100644 --- a/ivette/Makefile.distrib +++ b/ivette/Makefile.distrib @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + HEADER_SPEC += ivette/./headers/header_spec.txt DISTRIB_FILES += ivette/.babelrc DISTRIB_FILES += ivette/.dome-pkg-app.lock diff --git a/ivette/distrib.sh b/ivette/distrib.sh index 38012edac621ff293d5ea0b1f3964f68d9adc5a4..bf3f52392ee8af21f0f2d32e441a1dec2d072b6f 100755 --- a/ivette/distrib.sh +++ b/ivette/distrib.sh @@ -1,4 +1,26 @@ #!/bin/sh -e +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- Generate Files for Ivette Distribution # -------------------------------------------------------------------------- diff --git a/ivette/headers/header_spec.txt b/ivette/headers/header_spec.txt index 361c89dfb300142bb207d7bdcf5f4010d130f83b..649ed47c9564883ad2bfdc95277c9831e3a661f3 100644 --- a/ivette/headers/header_spec.txt +++ b/ivette/headers/header_spec.txt @@ -9,13 +9,13 @@ INSTALL.md: .ignore Makefile: CEA_LGPL README.md: .ignore configure.js: .ignore -distrib.sh: .ignore +distrib.sh: CEA_LGPL doc/pandoc/href.lua: .ignore doc/pandoc/index.json: .ignore doc/pandoc/template.html: .ignore electron-builder.json: .ignore electron-webpack.json: .ignore -ivette-macos.sh: .ignore +ivette-macos.sh: CEA_LGPL package.json: .ignore sandboxer.js: .ignore src/dome/.gitignore: .ignore @@ -130,19 +130,19 @@ src/dome/renderer/themes.tsx: CEA_LGPL src/dome/template/Application.js: CEA_LGPL src/dome/template/Preferences.js: CEA_LGPL src/dome/template/babelrc.json: .ignore -src/dome/template/dome-pull.sh: .ignore -src/dome/template/dome-push.sh: .ignore +src/dome/template/dome-pull.sh: CEA_LGPL +src/dome/template/dome-push.sh: CEA_LGPL src/dome/template/electron-webpack.json: .ignore -src/dome/template/export.sh: .ignore +src/dome/template/export.sh: CEA_LGPL src/dome/template/git-ignore: .ignore src/dome/template/main.js: CEA_LGPL -src/dome/template/makefile: .ignore -src/dome/template/makefile.app.packages: .ignore -src/dome/template/makefile.packages: .ignore -src/dome/template/package.sh: .ignore +src/dome/template/makefile: CEA_LGPL +src/dome/template/makefile.app.packages: CEA_LGPL +src/dome/template/makefile.packages: CEA_LGPL +src/dome/template/package.sh: CEA_LGPL src/dome/template/renderer.js: CEA_LGPL src/dome/template/typescript.el: .ignore -src/dome/template/update.sh: .ignore +src/dome/template/update.sh: CEA_LGPL src/dome/template/webpack.main.js: CEA_LGPL src/dome/template/webpack.renderer.js: CEA_LGPL src/frama-c/api_generator.ml: CEA_LGPL @@ -209,6 +209,6 @@ tests/eva-1.i: .ignore tests/eva-2.i: .ignore tsconfig.json: .ignore tsfmt.json: .ignore -webpack.main.js: .ignore -webpack.renderer.js: .ignore +webpack.main.js: CEA_LGPL +webpack.renderer.js: CEA_LGPL yarn.lock: .ignore diff --git a/ivette/ivette-macos.sh b/ivette/ivette-macos.sh index 8e11dedfccca2c9f3e64980f0ceb19444f8d3ffd..d96a421f382fbb17dea3f88b637b15f3a199a6c6 100755 --- a/ivette/ivette-macos.sh +++ b/ivette/ivette-macos.sh @@ -1,3 +1,24 @@ #!/bin/zsh +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## -exec open -na Ivette.app --args --cwd $PWD $* +exec open -na /Applications/Ivette.app --args --working $PWD $* diff --git a/ivette/src/dome/template/dome-pull.sh b/ivette/src/dome/template/dome-pull.sh index b579cf35a1a2492f9cbe452e63abbc1a6dcf7244..7bec6736c8a5581a09075f1554fa0161efcb0efa 100755 --- a/ivette/src/dome/template/dome-pull.sh +++ b/ivette/src/dome/template/dome-pull.sh @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- Pulling Dome Updates # -------------------------------------------------------------------------- diff --git a/ivette/src/dome/template/dome-push.sh b/ivette/src/dome/template/dome-push.sh index 60816ed9ecb0103ee1206d5c28db7ecada3737e5..94fd495fbb990453016fdc2ad2737e331c6e1bbe 100755 --- a/ivette/src/dome/template/dome-push.sh +++ b/ivette/src/dome/template/dome-push.sh @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- Pulling Dome Updates # -------------------------------------------------------------------------- diff --git a/ivette/src/dome/template/export.sh b/ivette/src/dome/template/export.sh index ea5dc39d5fee0fabce5501431253fce3e19bf788..6cdae2a4802e0931935cf2ef7d504c4844b733ae 100755 --- a/ivette/src/dome/template/export.sh +++ b/ivette/src/dome/template/export.sh @@ -1,4 +1,25 @@ #!/bin/bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## # -------------------------------------------------------------------------- # --- Export Dome API diff --git a/ivette/src/dome/template/makefile b/ivette/src/dome/template/makefile index 376d32c4fadf74c1c5bd08d3f8761a1821cb570d..29df4121517ee94ea96a1a9e90a0ea3e559bd768 100644 --- a/ivette/src/dome/template/makefile +++ b/ivette/src/dome/template/makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- Main Makefile for building Dome applications # -------------------------------------------------------------------------- diff --git a/ivette/src/dome/template/makefile.app.packages b/ivette/src/dome/template/makefile.app.packages index 58aa6a3ad516168d48315864bfcf57376187f2b0..04b26ffe0ed0ff0757a23a0fc4b805fa32249742 100644 --- a/ivette/src/dome/template/makefile.app.packages +++ b/ivette/src/dome/template/makefile.app.packages @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- Package Template Definitions # -------------------------------------------------------------------------- diff --git a/ivette/src/dome/template/makefile.packages b/ivette/src/dome/template/makefile.packages index 72e46b988425f140e03588c687b63acca23b4b39..4b5bbafac90e47fcfbee33487b0339ff7de43452 100644 --- a/ivette/src/dome/template/makefile.packages +++ b/ivette/src/dome/template/makefile.packages @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- Packages Definitions for Dome environment --- # -------------------------------------------------------------------------- diff --git a/ivette/src/dome/template/package.sh b/ivette/src/dome/template/package.sh index 58e4428ffb8b421a8c3c99266057dbb0962bc1fe..5cadbb7444030b1dfb0cec0a82f6591554fe1bdd 100755 --- a/ivette/src/dome/template/package.sh +++ b/ivette/src/dome/template/package.sh @@ -1,4 +1,25 @@ #!/bin/sh +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## # -------------------------------------------------------------------------- # --- Compute mode diff --git a/ivette/src/dome/template/update.sh b/ivette/src/dome/template/update.sh index 56d22295ef24fa4f37c19a100797c6005561921d..d48e589170acc09d3e9bbb52e76d377912e51574 100755 --- a/ivette/src/dome/template/update.sh +++ b/ivette/src/dome/template/update.sh @@ -1,4 +1,25 @@ #!/bin/sh +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## # -------------------------------------------------------------------------- # --- Update Templated File (merge with user modifications) diff --git a/man/frama-c.1 b/man/frama-c.1 index 969afd9eac24f67f59b967eef0e51b17082bed4c..80b334ce8ed9c6a4e9899772ed0d8b77906b37bb 100644 --- a/man/frama-c.1 +++ b/man/frama-c.1 @@ -6,7 +6,7 @@ .\" .\" This file is part of Frama-C documentation .\" -.\" Copyright (C) 2007-2021 +.\" Copyright (C) 2007-2022 .\" CEA (Commissariat à l'énergie atomique et aux énergies .\" alternatives) .\" @@ -293,21 +293,6 @@ Use \f[B]\[at]inline\f[R] to select all functions with attribute Recursive functions are inlined only at the first level. Calls via function pointers are not inlined. .TP --journal-disable -do not output a journal of the current session. -See \f[B]-journal-enable\f[R]. -.TP --journal-enable -on by default, dumps a journal of all the actions performed during the -current Frama-C session in the form of an OCaml script that can be -replayed with \f[B]-load-script\f[R]. -The name of the script can be set with the \f[B]-journal-name\f[R] -option. -.TP --journal-name \f[I]name\f[R] -sets the name of the journal file (without the \f[I].ml\f[R] extension). -Defaults to \f[B]frama_c_journal\f[R]. -.TP -json-compilation-database \f[I]path\f[R] use \f[I]path\f[R] as a JSON compilation database (see <https://clang.llvm.org/docs/JSONCompilationDatabase.html> for more diff --git a/man/frama-c.1.md b/man/frama-c.1.md index 8a98df0474d75f4adb1e45426c87bd122db500b0..30fa54a0ea410812b67aff5471f605b6c2ee2ee9 100644 --- a/man/frama-c.1.md +++ b/man/frama-c.1.md @@ -7,7 +7,7 @@ header-includes: .\" .\" This file is part of Frama-C documentation .\" - .\" Copyright (C) 2007-2021 + .\" Copyright (C) 2007-2022 .\" CEA (Commissariat à l'énergie atomique et aux énergies .\" alternatives) .\" @@ -244,19 +244,6 @@ Use **@inline** to select all functions with attribute *inline*. Recursive functions are inlined only at the first level. Calls via function pointers are not inlined. --journal-disable -: do not output a journal of the current session. See **-journal-enable**. - --journal-enable -: on by default, dumps a journal of all the actions performed during the -current Frama-C session in the form of an OCaml script that can be replayed -with **-load-script**. The name of the script can be set with the -**-journal-name** option. - --journal-name *name* -: sets the name of the journal file (without the *.ml* extension). -Defaults to **frama_c_journal**. - -json-compilation-database *path* : use *path* as a JSON compilation database (see <https://clang.llvm.org/docs/JSONCompilationDatabase.html> diff --git a/nix/default.nix b/nix/default.nix index 91dbcf3bf79f2229230dc5b7a2e147fb55604ac3..aa9ca848c6721f81e58e15e9cb0d647c36048867 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -280,7 +280,7 @@ pkgs.lib.makeExtensible make clean_share_link make create_share_link export CONFIGS="equality bitwise symblocs gauges octagon" - src/plugins/value/vtests -j 4 -error-code + src/plugins/value/vtests.sh -j 4 -error-code ''; installPhase = '' true @@ -329,6 +329,7 @@ pkgs.lib.makeExtensible security_src = plugins.security.src; context_from_precondition_src = plugins.context-from-precondition.src; metacsl_src = plugins.meta.src; + linea_cabs_src = plugins.linea-cabs.src; postPatch = '' patchShebangs . ''; @@ -350,6 +351,8 @@ pkgs.lib.makeExtensible 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 "$linea_cabs_src" "$sourceRoot/src/plugins/linea-cabs" + chmod -R u+w -- "$sourceRoot/src/plugins/linea-cabs" cp -r --preserve=mode "$security_src" "$sourceRoot/src/plugins/security" chmod -R u+w -- "$sourceRoot/src/plugins/security" ''; diff --git a/nix/frama-c-public/ssh.sh b/nix/frama-c-public/ssh.sh index faeb299c681d47c6abdc79ffafbde0a2b1ec9ad9..55e5887a4070163f5243a49a71377267f8d14f7a 100755 --- a/nix/frama-c-public/ssh.sh +++ b/nix/frama-c-public/ssh.sh @@ -1,4 +1,25 @@ #!/bin/sh -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## PWD=$(dirname $0) diff --git a/nix/frama-ci.nix b/nix/frama-ci.nix index 8e700b2270b60cc743d8a8e06c890a88a60f7da7..eccc033949bb7b58902bedfcbf60a6d6555b59eb 100644 --- a/nix/frama-ci.nix +++ b/nix/frama-ci.nix @@ -5,7 +5,7 @@ let src = builtins.fetchGit { "url" = "https://bobot:${password}@git.frama-c.com/frama-c/Frama-CI.git"; "name" = "Frama-CI"; - "rev" = "e33541f771435c6b1014acf1b042f569deadb663"; + "rev" = "ceea8c97fc127db159bfd92919eae404e2e67f18"; "ref" = "master"; }; pkgs = import "${src}/pkgs.nix" {}; diff --git a/ptests/check_oracles.sh b/ptests/check_oracles.sh index 42c418fd2926e810ae50364162fec5f43c1daf80..1e553eff78e9feda88f9feae2efc85429dce993f 100755 --- a/ptests/check_oracles.sh +++ b/ptests/check_oracles.sh @@ -1,4 +1,25 @@ #!/bin/bash -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## echo "Obsolete script since 'ptests.opt' cannot be used for that..." exit 1 diff --git a/ptests/ptests.ml b/ptests/ptests.ml index 3efd527ef0cd0af8b6ab01219eb0103ea0e22920..8dae94e9e9f729ad7149e84f1e0eff93eb0c10a5 100644 --- a/ptests/ptests.ml +++ b/ptests/ptests.ml @@ -152,7 +152,7 @@ let config_name ~env name = let macro_post_options = ref "" (* value set to @PTEST_POST_OPTIONS@ macro *) let macro_pre_options = ref "" (* value set to @PTEST_PRE_OPTIONS@ macro *) let macro_options = ref "@PTEST_PRE_OPTIONS@ @PTEST_OPT@ @PTEST_POST_OPTIONS@" -let macro_default_options = ref "-journal-disable -check -no-autoload-plugins -add-symbolic-path=\"@PTEST_SESSION@:.\"" +let macro_default_options = ref "-check -no-autoload-plugins -add-symbolic-path=\"@PTEST_SESSION@:.\"" let macro_frama_c_exe = ref "frama-c" let macro_frama_c_cmd = ref "@frama-c-exe@ @PTEST_DEFAULT_OPTIONS@" diff --git a/share/Makefile.config.in b/share/Makefile.config.in index c6d808f04e906cb195778fae19e2a20e7a9070a1..12cd6881533fab745cae58091974daa54d1ca167 100644 --- a/share/Makefile.config.in +++ b/share/Makefile.config.in @@ -132,8 +132,8 @@ HAS_MPFR ?=@HAS_MPFR@ # landmarks HAS_LANDMARKS ?=@HAS_LANDMARKS@ -# python 3.6 -HAS_PYTHON36 ?=@HAS_PYTHON36@ +# python 3.7 +HAS_PYTHON37 ?=@HAS_PYTHON37@ ########################## # Miscellaneous commands # @@ -163,10 +163,10 @@ HAVE_BUILTIN_VA_LIST ?=@HAVE_BUILTIN_VA_LIST@ # test directories for ptests configuration # Non-plugin test directories containing some ML files to compile TEST_DIRS_AS_PLUGIN:=\ - dynamic journal saveload spec misc syntax cil \ + dynamic saveload spec misc syntax cil \ pretty_printing builtins libc value -ifeq ($(HAS_PYTHON36),yes) +ifeq ($(HAS_PYTHON37),yes) TEST_DIRS_AS_PLUGIN+= compliance fc_script jcdb endif diff --git a/share/_frama-c.zsh b/share/_frama-c.zsh index 8dda747e2e0f3e1d551c5cc0654e0aec1446eec3..8a4a6b2a743d35e495a3d06bd7f64118662e8b11 100644 --- a/share/_frama-c.zsh +++ b/share/_frama-c.zsh @@ -1,4 +1,25 @@ #compdef frama-c +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## # ----------------------------------------------------------------------------- # zsh completion for Frama-C diff --git a/share/analysis-scripts/bench-sqlite.sh b/share/analysis-scripts/bench-sqlite.sh index 954cb0e9f84226309f3a60a98b542cffd5373fff..17eaa35c3d2ba5027982782c6ac3463da3806ecb 100755 --- a/share/analysis-scripts/bench-sqlite.sh +++ b/share/analysis-scripts/bench-sqlite.sh @@ -1,4 +1,25 @@ #!/bin/bash -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## database="benchmark-results.db" stats="$1" diff --git a/share/analysis-scripts/build.py b/share/analysis-scripts/build.py index 854fb82d011f36cb5fa593fee0b5e3a5a78e64d9..d93bd3ec9fc08a9192b21dde2b48faace922ecae 100755 --- a/share/analysis-scripts/build.py +++ b/share/analysis-scripts/build.py @@ -23,7 +23,9 @@ ########################################################################## """This script uses blug and a build_commands.json file to produce an -analysis GNUmakefile, as automatically as possible.""" +analysis GNUmakefile, as automatically as possible. +NOTE: the tool used to produce such files (blug) is not yet publicly +available.""" import argparse import json diff --git a/share/analysis-scripts/clone.sh b/share/analysis-scripts/clone.sh index 0ed6b8553c2144fb94fb9cd8f3260f39b65212d9..c8ee9c96ed909f15822a2eb038d676fa067d90c2 100755 --- a/share/analysis-scripts/clone.sh +++ b/share/analysis-scripts/clone.sh @@ -1,4 +1,25 @@ #!/bin/bash -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## git_hash="master" clone_dir="frama-c-clones" diff --git a/share/analysis-scripts/cmd-dep.sh b/share/analysis-scripts/cmd-dep.sh index d045b1cf56304862be02148358550bd8c6cb7dfc..f7ed9168d22dbb0c62fcd658b6b36f341075c304 100755 --- a/share/analysis-scripts/cmd-dep.sh +++ b/share/analysis-scripts/cmd-dep.sh @@ -1,4 +1,26 @@ #!/bin/bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + set -eu if [ $# -lt 1 ] diff --git a/share/analysis-scripts/concat-csv.sh b/share/analysis-scripts/concat-csv.sh index 8079d3004553a63ca9b20b93e8330016993bc2dc..96d87aeed87b2f45bf927251e11feffa01bf2e9e 100755 --- a/share/analysis-scripts/concat-csv.sh +++ b/share/analysis-scripts/concat-csv.sh @@ -1,4 +1,25 @@ #!/bin/bash -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## set -o pipefail diff --git a/share/analysis-scripts/fc_stubs.c b/share/analysis-scripts/fc_stubs.c index fad866f2160ba5533c8658794a520c2bf0880962..2c9698c18e444f0ebe44055faa0450821faea0bb 100644 --- a/share/analysis-scripts/fc_stubs.c +++ b/share/analysis-scripts/fc_stubs.c @@ -1,3 +1,25 @@ +/**************************************************************************/ +/* */ +/* This file is part of Frama-C. */ +/* */ +/* Copyright (C) 2007-2022 */ +/* 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). */ +/* */ +/**************************************************************************/ + // Stub for a main function which reads arguments from the command line, to be // used by the Eva plug-in. // This stub emulates non-deterministic input of up to 5 arguments, each up diff --git a/share/analysis-scripts/function_finder.py b/share/analysis-scripts/function_finder.py index 22af511f79059b026127417874d7509f98a309bb..381dd64b29da58e3660d7fa99ff2d3cfb7fb9bf8 100644 --- a/share/analysis-scripts/function_finder.py +++ b/share/analysis-scripts/function_finder.py @@ -1,9 +1,10 @@ +#!/usr/bin/env python3 # -*- coding: utf-8 -*- ########################################################################## # # # This file is part of Frama-C. # # # -# Copyright (C) 2007-2021 # +# Copyright (C) 2007-2022 # # CEA (Commissariat à l'énergie atomique et aux énergies # # alternatives) # # # diff --git a/share/analysis-scripts/parse-coverage.sh b/share/analysis-scripts/parse-coverage.sh index 13ef4141765c34b099f2d8ae7409f562c788feed..ade4f113bcac226b8747bc589c539c5e612989db 100755 --- a/share/analysis-scripts/parse-coverage.sh +++ b/share/analysis-scripts/parse-coverage.sh @@ -1,4 +1,25 @@ #!/bin/bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## log_file=$1 stats_file=$2 diff --git a/share/analysis-scripts/plot.sh b/share/analysis-scripts/plot.sh index 0db4d1ba284bbdfa2e0ef26e8f6180e231cd2b1c..bc68f1fef0ede3dd8d4e95cda8d98fd810169bde 100755 --- a/share/analysis-scripts/plot.sh +++ b/share/analysis-scripts/plot.sh @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + target=$1 { diff --git a/share/analysis-scripts/script_for_creduce_fatal.sh b/share/analysis-scripts/script_for_creduce_fatal.sh index a0fc2ba7b9574f959ac738261ec7486cc5850c52..4a2e8b9ef3d1273f85e5640e7516a31c9c8fcea0 100644 --- a/share/analysis-scripts/script_for_creduce_fatal.sh +++ b/share/analysis-scripts/script_for_creduce_fatal.sh @@ -1,4 +1,25 @@ #!/bin/bash -e +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## # Script to reduce a Frama-C crashing test case. diff --git a/share/analysis-scripts/script_for_creduce_non_fatal.sh b/share/analysis-scripts/script_for_creduce_non_fatal.sh index d886aeaba29099358e77597529d56ed6ff25dbad..7ad71d593dbb729b76aea893363088a147df8609 100644 --- a/share/analysis-scripts/script_for_creduce_non_fatal.sh +++ b/share/analysis-scripts/script_for_creduce_non_fatal.sh @@ -1,4 +1,25 @@ #!/bin/bash -e +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## # Script to reduce a Frama-C non-crashing test case. diff --git a/share/analysis-scripts/template.mk b/share/analysis-scripts/template.mk index 689b9eab61ccedee46cb8637eaaa9a51e3ad3f09..54cdd1332ac9cc37c6ceaae223ad16f217af1d79 100644 --- a/share/analysis-scripts/template.mk +++ b/share/analysis-scripts/template.mk @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + # Makefile template for Frama-C/Eva case studies. # For details and usage information, see the Frama-C User Manual. diff --git a/src/kernel_internals/typing/rmtmps.ml b/src/kernel_internals/typing/rmtmps.ml index 3b3eaadd34889a78bfab20890733789dd0e0e407..160f27ea9dc56848e41658d3ba06084c20865827 100644 --- a/src/kernel_internals/typing/rmtmps.ml +++ b/src/kernel_internals/typing/rmtmps.ml @@ -861,7 +861,7 @@ let removeUnmarked isRoot ast reachable_tbl = begin try let kf = Globals.Functions.get vi in - Kernel.debug ~dkey "GFunDecl: %a@." Kernel_function.pretty_code kf + Kernel.debug ~dkey "GFunDecl: %a@." Kernel_function.pretty kf with Not_found -> Kernel.debug ~dkey "GFunDecl: %a (no associated kernel function)@." diff --git a/src/kernel_services/abstract_interp/abstract_interp.ml b/src/kernel_services/abstract_interp/abstract_interp.ml index 31de26b07b835d03c23d07fc916ecd04baf279a0..64798a80127fd5ffecae59774b474a6e3f3a4cf8 100644 --- a/src/kernel_services/abstract_interp/abstract_interp.ml +++ b/src/kernel_services/abstract_interp/abstract_interp.ml @@ -222,9 +222,7 @@ module Make_Generic_Lattice_Set let hash = hash let rehash = Datatype.identity let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty = pretty - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) : Datatype.S with type t := t) @@ -364,9 +362,7 @@ module Make_Lattice_Base (V:Lattice_Value):(Lattice_Base with type l = V.t) = st let hash = hash let rehash = Datatype.identity let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty = pretty - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) : Datatype.S with type t := t) @@ -517,8 +513,6 @@ module Bool = struct let rehash = Datatype.identity let copy = Datatype.identity let pretty = pretty - let internal_pretty_code = Datatype.undefined - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) : Datatype.S with type t := t) @@ -677,9 +671,7 @@ struct let hash = hash let rehash = Datatype.identity let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty = pretty - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) : Datatype.S with type t := t) @@ -777,9 +769,7 @@ struct let hash = hash let rehash = Datatype.identity let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty = pretty - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end): Datatype.S with type t := t) @@ -947,9 +937,7 @@ struct let hash = hash let rehash = Datatype.undefined let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty = pretty - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) let () = Type.set_ml_name ty None diff --git a/src/kernel_services/abstract_interp/base.ml b/src/kernel_services/abstract_interp/base.ml index 2ebe0f3efa129c9d60576ec84dd1b4d5d105eb40..e0b94048054efd2e308450022bdc9a7c79de202d 100644 --- a/src/kernel_services/abstract_interp/base.ml +++ b/src/kernel_services/abstract_interp/base.ml @@ -99,10 +99,8 @@ module Validity = Datatype.Make let pretty = pretty_validity let mem_project = Datatype.never_any_project - let internal_pretty_code = Datatype.pp_fail let rehash = Datatype.identity let copy (x:t) = x - let varname _ = "v" end) type cstring = CSString of string | CSWstring of Escape.wstring @@ -450,10 +448,8 @@ module Base = struct let pretty = pretty let hash = hash let mem_project = Datatype.never_any_project - let internal_pretty_code = Datatype.pp_fail let rehash = Datatype.identity let copy = Datatype.undefined - let varname = Datatype.undefined end) let id = id let pretty_debug = pretty diff --git a/src/kernel_services/abstract_interp/int_Base.ml b/src/kernel_services/abstract_interp/int_Base.ml index 2aab074ee278371a381fbfc68e825606eef557bc..be9b6f846f68956a664b31fe84728c64323092c2 100644 --- a/src/kernel_services/abstract_interp/int_Base.ml +++ b/src/kernel_services/abstract_interp/int_Base.ml @@ -55,9 +55,7 @@ include Datatype.Make let hash = hash let rehash = Datatype.identity let copy = Extlib.id - let internal_pretty_code = Datatype.undefined let pretty = pretty - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) diff --git a/src/kernel_services/abstract_interp/int_interval.ml b/src/kernel_services/abstract_interp/int_interval.ml index f1eb54dada1209a83225a2b0b5017fb34e7be71b..1b1979547e273dc830d327270dd7f025520da255 100644 --- a/src/kernel_services/abstract_interp/int_interval.ml +++ b/src/kernel_services/abstract_interp/int_interval.ml @@ -94,10 +94,8 @@ include Datatype.Make_with_collections let hash = hash let pretty = pretty let rehash = Datatype.identity - let internal_pretty_code = Datatype.pp_fail let mem_project = Datatype.never_any_project let copy = Datatype.undefined - let varname = Datatype.undefined end) (* ------------------------------ Building ---------------------------------- *) diff --git a/src/kernel_services/abstract_interp/int_set.ml b/src/kernel_services/abstract_interp/int_set.ml index 1d5a7fad690e76287ed21e296371fcd9b25df308..69bf59a6a0284764997b8876a959acdfb4f02a99 100644 --- a/src/kernel_services/abstract_interp/int_set.ml +++ b/src/kernel_services/abstract_interp/int_set.ml @@ -130,10 +130,8 @@ include Datatype.Make_with_collections let hash = hash let pretty = pretty let rehash x = x - let internal_pretty_code = Datatype.pp_fail let mem_project = Datatype.never_any_project let copy = Datatype.undefined - let varname = Datatype.undefined end) (* ---------------------------------- Utils --------------------------------- *) diff --git a/src/kernel_services/abstract_interp/int_val.ml b/src/kernel_services/abstract_interp/int_val.ml index 8fb7cf1b226f052663ef9f58979897e86792d1da..b8e450700314d6eeff3276db67085973a11765cd 100644 --- a/src/kernel_services/abstract_interp/int_val.ml +++ b/src/kernel_services/abstract_interp/int_val.ml @@ -75,10 +75,8 @@ include Datatype.Make_with_collections let hash = hash let pretty = pretty let rehash x = x - let internal_pretty_code = Datatype.pp_fail let mem_project = Datatype.never_any_project let copy = Datatype.undefined - let varname = Datatype.undefined end) (* ------------------------------- Constructors ---------------------------- *) diff --git a/src/kernel_services/abstract_interp/ival.ml b/src/kernel_services/abstract_interp/ival.ml index 2384610cb9f8af4512699f51a1cbc2421bf6f758..2ff6f24df697f122f27a031ceb72af5d645c87a0 100644 --- a/src/kernel_services/abstract_interp/ival.ml +++ b/src/kernel_services/abstract_interp/ival.ml @@ -824,10 +824,8 @@ include ( let hash = hash let pretty = pretty let rehash = rehash - let internal_pretty_code = Datatype.pp_fail let mem_project = Datatype.never_any_project let copy = Datatype.undefined - let varname = Datatype.undefined end): Datatype.S_with_collections with type t := t) diff --git a/src/kernel_services/abstract_interp/lmap.ml b/src/kernel_services/abstract_interp/lmap.ml index 58fd5940db064e06da2ad1028f698b5e526a1299..574d0645f1d31d9ffcc86a8d79db763d62764a5e 100644 --- a/src/kernel_services/abstract_interp/lmap.ml +++ b/src/kernel_services/abstract_interp/lmap.ml @@ -591,10 +591,8 @@ struct let compare = compare let hash = hash let pretty = pretty - let internal_pretty_code = Datatype.undefined let rehash = Datatype.identity let copy = Datatype.undefined - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) let () = Type.set_ml_name ty None diff --git a/src/kernel_services/abstract_interp/lmap_bitwise.ml b/src/kernel_services/abstract_interp/lmap_bitwise.ml index f4b59a15465fc23a20976b74246d47abc40a19cc..585fcc5ce375e23794c26dd07fb6838ff4de8dcf 100644 --- a/src/kernel_services/abstract_interp/lmap_bitwise.ml +++ b/src/kernel_services/abstract_interp/lmap_bitwise.ml @@ -238,10 +238,8 @@ struct let equal = equal let compare = compare let pretty = pretty - let internal_pretty_code = Datatype.undefined let rehash = Datatype.identity let copy = Datatype.undefined - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) diff --git a/src/kernel_services/abstract_interp/map_lattice.ml b/src/kernel_services/abstract_interp/map_lattice.ml index 28d864d5708fe0c885895909eb9cd45193c83429..26b609c52adad23cb0aa013707ce137321acf806 100644 --- a/src/kernel_services/abstract_interp/map_lattice.ml +++ b/src/kernel_services/abstract_interp/map_lattice.ml @@ -498,10 +498,8 @@ module Make_MapSet_Lattice let hash = hash let rehash = Datatype.identity let copy = Datatype.undefined - let internal_pretty_code = Datatype.pp_fail let pretty = pretty let mem_project = Datatype.never_any_project - let varname = Datatype.undefined end): Datatype.S_with_collections with type t := t) diff --git a/src/kernel_services/abstract_interp/offsetmap.ml b/src/kernel_services/abstract_interp/offsetmap.ml index d8c47518e9fbaaeff5e700d117b0d009ad78419c..443f613e6a5662fb920da960c2d9525f99a35841 100644 --- a/src/kernel_services/abstract_interp/offsetmap.ml +++ b/src/kernel_services/abstract_interp/offsetmap.ml @@ -229,9 +229,7 @@ module Make (V : Offsetmap_lattice_with_isotropy.S) = struct let compare = compare let rehash x = !rehash_ref x let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty = pretty - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) include D @@ -2460,8 +2458,6 @@ module Int_Intervals = struct Int.packed_descr; Int.packed_descr |] |] let mem_project = Datatype.never_any_project - let varname _ = "i" - let internal_pretty_code = Datatype.undefined let copy = Datatype.undefined end) diff --git a/src/kernel_services/abstract_interp/origin.ml b/src/kernel_services/abstract_interp/origin.ml index c31e62808d56c7b8072205110d01fd31041f417f..6622574bd63cefd2cc86ffc06a580bc478ea2370 100644 --- a/src/kernel_services/abstract_interp/origin.ml +++ b/src/kernel_services/abstract_interp/origin.ml @@ -135,9 +135,7 @@ include Datatype.Make let hash = hash let rehash = Datatype.undefined let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty = pretty - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) diff --git a/src/kernel_services/ast_data/alarms.ml b/src/kernel_services/ast_data/alarms.ml index ce0c8902d6ff10d013c553f57e394948600fe0bd..7f7451c7ae1a27ba1a73ccba3fe01ef2e5607efb 100644 --- a/src/kernel_services/ast_data/alarms.ml +++ b/src/kernel_services/ast_data/alarms.ml @@ -240,7 +240,6 @@ module D = let structural_descr = Structural_descr.t_abstract let rehash = Datatype.identity - let varname = Datatype.undefined let pretty fmt = function | Division_by_zero e -> @@ -308,7 +307,6 @@ module D = | Invalid_bool lv -> Format.fprintf fmt "Invalid_bool(@[%a@])" Lval.pretty lv - let internal_pretty_code = Datatype.undefined let copy = Datatype.undefined let mem_project = Datatype.never_any_project end) diff --git a/src/kernel_services/ast_data/globals.ml b/src/kernel_services/ast_data/globals.ml index cc79e169f7a5eec485c4d144ac0dad50bbf343c3..06f17de617ad1c311b46ac76127c933f0f423cd4 100644 --- a/src/kernel_services/ast_data/globals.ml +++ b/src/kernel_services/ast_data/globals.ml @@ -91,17 +91,6 @@ module Vars = struct let get_astinfo vi = !get_astinfo_ref vi - let pp_varinfo p fmt v = - let name, loc = get_astinfo v in - let pp fmt = - Format.fprintf fmt "@[<hv 2>Globals.Vars.find_from_astinfo@;%S@;%a@]" - name - (Cil_datatype.Localisation.internal_pretty_code Type.Call) loc - in - Type.par p Type.Call fmt pp - - let () = Varinfo.internal_pretty_code_ref := pp_varinfo - let iter_globals f l = let treat_global = function | GVar(vi,init,_) -> f vi init diff --git a/src/kernel_services/ast_data/property_status.ml b/src/kernel_services/ast_data/property_status.ml index 552171036e72d27253e46c4999b8122a5dd54f35..46c82aeca51a4f89ebbc231346f44927c49b4da1 100644 --- a/src/kernel_services/ast_data/property_status.ml +++ b/src/kernel_services/ast_data/property_status.ml @@ -80,9 +80,6 @@ module Emitter_with_properties = let copy = Datatype.undefined let pretty fmt e = Usable_emitter.pretty fmt e.emitter - let internal_pretty_code = Datatype.undefined - let varname _ = assert false (* unused while [internal_pretty_code] - unimplemented *) let mem_project = Datatype.never_any_project end) diff --git a/src/kernel_services/ast_queries/ast_diff.ml b/src/kernel_services/ast_queries/ast_diff.ml index c7551b0733be41b396abf71790e09045a5c16ef7..ffa3ca42bd6e2993e9d6151e8c80e019c8297c6d 100644 --- a/src/kernel_services/ast_queries/ast_diff.ml +++ b/src/kernel_services/ast_queries/ast_diff.ml @@ -59,17 +59,9 @@ struct let map f = function | `Same x -> `Same (f x) | `Not_present -> `Not_present - let mk_internal_pretty_code pp prec fmt = function - | `Not_present -> Format.pp_print_string fmt "`Not_present" - | `Same x -> - let pp fmt = Format.fprintf fmt "`Same %a" (pp Type.Call) x in - Type.par prec Call fmt pp let mk_pretty pp fmt = function | `Not_present -> Format.pp_print_string fmt "N/A" | `Same x -> Format.fprintf fmt " => %a" pp x - let mk_varname v = function - | `Not_present -> "x" - | `Same x -> v x ^ "_c" let mk_mem_project mem query = function | `Not_present -> false | `Same x -> mem query x @@ -111,12 +103,6 @@ let compare_pc pc1 pc2 = | _, `Callees_changed -> 1 | `Callees_spec_changed, `Callees_spec_changed -> 0 -let string_of_pc = function - | `Spec_changed -> "Spec_changed" - | `Body_changed -> "Body_changed" - | `Callees_changed -> "Callees_changed" - | `Callees_spec_changed -> "Callees_spec_changed" - let pretty_pc fmt = let open Format in function @@ -163,25 +149,11 @@ struct | `Partial(x,pc) -> `Partial(f x,pc) | (#correspondance as x) -> Correspondance_input.map f x - let mk_internal_pretty_code pp prec fmt = function - | `Partial (x,flags) -> - let pp fmt = - Format.fprintf fmt "`Partial (%a,%s)" - (pp Type.Call) x (string_of_pc flags) - in - Type.par prec Call fmt pp - | #correspondance as x -> - Correspondance_input.mk_internal_pretty_code pp prec fmt x - let mk_pretty pp fmt = function | `Partial(x,flags) -> Format.fprintf fmt "-> %a %a" pp x pretty_pc flags | #correspondance as x -> Correspondance_input.mk_pretty pp fmt x - let mk_varname f = function - | `Partial (x,_) -> f x ^ "_pc" - | #correspondance as x -> Correspondance_input.mk_varname f x - let mk_mem_project f p = function | `Partial (x,_) -> f p x | #correspondance as x -> Correspondance_input.mk_mem_project f p x diff --git a/src/kernel_services/ast_queries/cil_builtins.ml b/src/kernel_services/ast_queries/cil_builtins.ml index eaad8abaccf41ae55f20bfd0e4557d6f4b4564ab..a596fa02ee7f098980ea4cab714e14b823a564d0 100644 --- a/src/kernel_services/ast_queries/cil_builtins.ml +++ b/src/kernel_services/ast_queries/cil_builtins.ml @@ -158,7 +158,6 @@ module Builtin_template = struct let hash b = Datatype.String.hash b.name let equal b1 b2 = b1.name = b2.name let copy = Datatype.identity - let internal_pretty_code = Datatype.undefined let pretty fmt b = Format.fprintf fmt "%s %s(%a%s)" b.rettype b.name @@ -167,7 +166,6 @@ module Builtin_template = struct let rehash = Datatype.identity let structural_descr = Structural_descr.t_abstract let mem_project = Datatype.never_any_project - let varname b = "_cb_" ^ b.name end) end module Builtin_templates = diff --git a/src/kernel_services/ast_queries/cil_datatype.ml b/src/kernel_services/ast_queries/cil_datatype.ml index 31b139bdd6bd451ebf2f4fedcb10d11c8cb89481..fc0cb69ce023145ce2fe1f9c6b60ce97aaace365 100644 --- a/src/kernel_services/ast_queries/cil_datatype.ml +++ b/src/kernel_services/ast_queries/cil_datatype.ml @@ -48,9 +48,7 @@ module Make type t val name: string val reprs: t list - val internal_pretty_code: Type.precedence -> Format.formatter -> t -> unit val pretty: Format.formatter -> t -> unit - val varname: t -> string end) = Datatype.Make (struct @@ -69,9 +67,7 @@ module Make_with_collections val reprs: t list val compare: t -> t -> int val equal: t -> t -> bool - val internal_pretty_code: Type.precedence -> Format.formatter -> t -> unit val pretty: Format.formatter -> t -> unit - val varname: t -> string val hash: t -> int val copy: t -> t end) = @@ -160,8 +156,6 @@ module Cabs_file = struct let name = "Cabs_file" let reprs = [ Datatype.Filepath.dummy, []; Datatype.Filepath.dummy, [ true, Cabs.GLOBANNOT [] ] ] - let varname (s, _) = "cabs_" ^ (Filepath.Normalized.to_pretty_string s) - let internal_pretty_code = Datatype.undefined let pretty fmt cabs = !pretty_ref fmt cabs end) end @@ -199,9 +193,7 @@ module Position = struct let hash = Hashtbl.hash let copy = Datatype.identity let equal: t -> t -> bool = ( = ) - let internal_pretty_code = Datatype.undefined let pretty = Filepath.pp_pos - let varname _ = "pos" end) let pp_with_col fmt pos = Format.fprintf fmt "%a char %d" pretty pos @@ -224,9 +216,7 @@ module Location = struct let hash (b, _e) = Hashtbl.hash (b.Filepath.pos_path, b.Filepath.pos_lnum) let copy = Datatype.identity (* immutable strings *) let equal : t -> t -> bool = ( = ) - let internal_pretty_code = Datatype.undefined let pretty fmt loc = !pretty_ref fmt loc - let varname _ = "loc" end) let pretty_long fmt loc = @@ -274,9 +264,7 @@ module Instr = struct type t = instr let name = "Instr" let reprs = List.map (fun l -> Skip l) Location.reprs - let internal_pretty_code = Datatype.undefined let pretty fmt x = !pretty_ref fmt x - let varname = Datatype.undefined end) let loc = function @@ -300,7 +288,6 @@ module File = globinit = None; globinitcalled = false } ] include Datatype.Undefined - let varname _ = "ast" end) module Stmt_Id = struct @@ -321,15 +308,7 @@ module Stmt_Id = struct let hash t1 = t1.sid let equal t1 t2 = t1.sid = t2.sid let copy = Datatype.undefined - let internal_pretty_code p_caller fmt s = - let pp fmt = - Format.fprintf fmt - "@[<hv 2>fst@;@[<hv 2>(Kernel_function.find_from_sid@;%d)@]@]" - s.sid - in - Type.par p_caller Type.Call fmt pp let pretty fmt s = !pretty_ref fmt s - let varname _ = "stmt" end) let id stmt = stmt.sid end @@ -378,20 +357,10 @@ module Kinstr = struct | Kglobal -> 1 lsl 29 | Kstmt s -> s.sid let copy = Datatype.undefined - let internal_pretty_code p fmt = function - | Kglobal -> - Format.fprintf fmt "Kglobal" - | Kstmt s -> - let pp fmt = - Format.fprintf fmt "@[<hv 2>Kstmt@;%a@]" - (Stmt.internal_pretty_code Type.Call) s - in - Type.par p Type.Call fmt pp let pretty fmt = function | Kglobal -> Format.fprintf fmt "Kglobal" | Kstmt s -> Stmt.pretty fmt s - let varname _ = "ki" end) let loc = function @@ -617,9 +586,7 @@ module Attribute=struct let hash = hash_attribute config let equal = Datatype.from_compare let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt t = !pretty_ref fmt t - let varname = Datatype.undefined end) end @@ -642,9 +609,7 @@ struct let hash = hash_type M.config let equal = Datatype.from_compare let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt t = !pretty_typ_ref fmt t - let varname = Datatype.undefined end) end @@ -736,9 +701,7 @@ module Label = struct let name = "Label" let reprs = [ Label("", Location.unknown, false); Default Location.unknown ] - let internal_pretty_code = Datatype.undefined let pretty fmt l = !pretty_ref fmt l - let varname = Datatype.undefined let hash = function | Default _ -> 7 | Case (e, _) -> Exp.hash e @@ -767,7 +730,6 @@ end module Varinfo_Id = struct let pretty_ref = ref (fun _ _ -> assert false) - let internal_pretty_code_ref = ref (fun _ _ _ -> assert false) let dummy = { vname = ""; vorig_name = ""; @@ -798,9 +760,7 @@ module Varinfo_Id = struct let hash v = v.vid let equal v1 v2 = v1.vid = v2.vid let copy = Datatype.undefined - let internal_pretty_code p fmt v = !internal_pretty_code_ref p fmt v let pretty fmt v = !pretty_ref fmt v - let varname v = "vi_" ^ v.vorig_name end) let id v = v.vid end @@ -835,9 +795,7 @@ module Compinfo = struct let hash v = Hashtbl.hash v.ckey let equal v1 v2 = v1.ckey = v2.ckey let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt f = !pretty_ref fmt f - let varname = Datatype.undefined end) end @@ -878,9 +836,7 @@ module Fieldinfo = struct let hash f1 = Hashtbl.hash (fid f1) let equal f1 f2 = (fid f1) = (fid f2) let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt f = !pretty_ref fmt f - let varname = Datatype.undefined end) end @@ -1155,9 +1111,7 @@ module Block = struct let reprs = [{battrs=[]; blocals=Varinfo.reprs; bstatics = []; bstmts=Stmt.reprs; bscoping=true}] - let internal_pretty_code = Datatype.undefined let pretty fmt b = !pretty_ref fmt b - let varname = Datatype.undefined end) let equal b1 b2 = (b1 == b2) end @@ -1224,9 +1178,7 @@ module Lval = struct let equal = equal_lval let hash = hash_lval let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt x = !pretty_ref fmt x - let varname _ = "lv" end) end @@ -1240,9 +1192,7 @@ module LvalStructEq_input = struct let equal = Datatype.from_compare let hash = StructEq.hash_lval 13598 let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt x = !Lval.pretty_ref fmt x - let varname _ = "lv" end module LvalStructEq = Make_compare_non_strict(LvalStructEq_input) @@ -1260,9 +1210,7 @@ module Offset = struct let equal = equal_offset let hash = hash_offset let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt x = !pretty_ref fmt x - let varname _ = "offs" end) end @@ -1276,9 +1224,7 @@ module OffsetStructEq_input = struct let equal = Datatype.from_compare let hash = StructEq.hash_offset 75489 let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt x = !Offset.pretty_ref fmt x - let varname _ = "offs" end module OffsetStructEq = Make_compare_non_strict(OffsetStructEq_input) @@ -1311,9 +1257,7 @@ module Logic_var = struct let hash v = v.lv_id let equal v1 v2 = v1.lv_id = v2.lv_id let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt t = !pretty_ref fmt t - let varname _ = "logic_var" end) end @@ -1333,9 +1277,7 @@ module Builtin_logic_info = struct let hash i = Hashtbl.hash i.bl_name let equal i1 i2 = i1.bl_name = i2.bl_name let copy = Datatype.identity (* works only if an AST is never modified *) - let internal_pretty_code = Datatype.undefined let pretty fmt li = !pretty_ref fmt li - let varname = Datatype.undefined end) end @@ -1351,9 +1293,7 @@ module Logic_type_info = struct let equal t1 t2 = t1.lt_name = t2.lt_name let hash t = Hashtbl.hash t.lt_name let copy = Datatype.identity (* works only if an AST is never modified *) - let internal_pretty_code = Datatype.undefined let pretty fmt lt = !pretty_ref fmt lt - let varname = Datatype.undefined end) end @@ -1371,9 +1311,7 @@ module Logic_ctor_info = struct let equal t1 t2 = t1.ctor_name = t2.ctor_name let hash t = Hashtbl.hash t.ctor_name let copy = Datatype.identity (* works only if an AST is never modified *) - let internal_pretty_code = Datatype.undefined let pretty fmt c = !pretty_ref fmt c - let varname = Datatype.undefined end) end @@ -1386,9 +1324,7 @@ module Initinfo = struct let reprs = { init = None } :: List.map (fun t -> { init = Some (CompoundInit(t, [])) }) Typ.reprs - let internal_pretty_code = Datatype.undefined let pretty fmt i = !pretty_ref fmt i - let varname = Datatype.undefined end) end @@ -1412,9 +1348,7 @@ module Logic_info = struct let equal i1 i2 = Logic_var.equal i1.l_var_info i2.l_var_info let hash i = Logic_var.hash i.l_var_info let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt li = !pretty_ref fmt li - let varname _ = "logic_varinfo" end) end @@ -1497,9 +1431,7 @@ module Logic_info_structural = struct let equal = Datatype.from_compare let hash i = Logic_var.hash i.l_var_info let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt li = !Logic_info.pretty_ref fmt li - let varname _ = "logic_varinfo" end) end @@ -2084,9 +2016,8 @@ module Logic_constant = struct let equal = Datatype.from_compare let hash = hash_logic_constant let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt lc = !pretty_ref fmt lc - let varname _ = "lconst" + end) end @@ -2108,9 +2039,7 @@ module Term = struct let equal = Datatype.from_compare let copy = Datatype.undefined let hash = hash_fct hash_term - let internal_pretty_code = Datatype.undefined let pretty fmt t = !pretty_ref fmt t - let varname _ = "term" end) end @@ -2128,9 +2057,7 @@ module Identified_term = struct (* NB: Term.copy itself is undefined. *) { it_id = x.it_id; it_content = Term.copy x.it_content } let hash x = x.it_id - let internal_pretty_code = Datatype.undefined let pretty fmt t = !pretty_ref fmt t - let varname _ = "id_term" end) end @@ -2153,9 +2080,7 @@ module Term_lhost = struct let equal = Datatype.from_compare let hash = hash_fct hash_tlhost let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt h = !pretty_ref fmt h - let varname = Datatype.undefined end) end @@ -2170,9 +2095,7 @@ module Term_offset = struct let equal = Datatype.from_compare let hash = hash_fct hash_toffset let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt t_o = !pretty_ref fmt t_o - let varname = Datatype.undefined end) end @@ -2198,9 +2121,7 @@ module Logic_label = struct let equal = Datatype.from_compare let copy = Datatype.undefined let hash = hash_label - let internal_pretty_code = Datatype.undefined let pretty fmt l = !pretty_ref fmt l - let varname _ = "logic_label" end) end @@ -2219,9 +2140,7 @@ module Logic_real = struct 11 * Datatype.String.hash r.r_literal let equal r1 r2 = compare r1 r2 = 0 let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt t = !pretty_ref fmt t - let varname _ = "logic_real" end) end @@ -2232,9 +2151,7 @@ module Global_annotation = struct type t = global_annotation let name = "Global_annotation" let reprs = List.map (fun l -> Daxiomatic ("", [],[], l)) Location.reprs - let internal_pretty_code = Datatype.undefined let pretty fmt v = !pretty_ref fmt v - let varname = Datatype.undefined let rec compare g1 g2 = match g1,g2 with @@ -2323,9 +2240,7 @@ module Global = struct type t = global let name = "Global" let reprs = [ GText "" ] - let internal_pretty_code = Datatype.undefined let pretty fmt v = !pretty_ref fmt v - let varname = Datatype.undefined let compare g1 g2 = match g1, g2 with @@ -2478,15 +2393,8 @@ module Kf = struct | Declaration (_, v, Some args, _) -> !set_formal_decls v args; x - let get_name_kf kf = (vi kf).Cil_types.vname - let internal_pretty_code p_caller fmt kf = - Type.par p_caller Type.Call fmt - (fun fmt -> - Format.fprintf fmt "@[<hv 2>Globals.Functions.find_by_name@;%S@]" - (get_name_kf kf)) let pretty fmt kf = Varinfo.pretty fmt (vi kf) let mem_project = Datatype.never_any_project - let varname kf = "kf_" ^ (get_name_kf kf) end) let () = Type.set_ml_name ty (Some "Kernel_function.ty") @@ -2506,9 +2414,7 @@ module Code_annotation = struct let equal x y = x.annot_id = y.annot_id let compare x y = Datatype.Int.compare x.annot_id y.annot_id let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt ca = !pretty_ref fmt ca - let varname _ = "code_annot" end) let loc ca = match ca.annot_content with @@ -2530,9 +2436,7 @@ module Predicate = struct [ { pred_name = [ "" ]; pred_loc = Location.unknown; pred_content = Pfalse } ] - let internal_pretty_code = Datatype.undefined let pretty fmt x = !pretty_ref fmt x - let varname _ = "p" end) end @@ -2544,9 +2448,7 @@ module Toplevel_predicate = struct let name = "Toplevel_predicate" let reprs = [ { tp_statement = List.hd Predicate.reprs; tp_kind = Assert }] - let internal_pretty_code = Datatype.undefined let pretty fmt x = !pretty_ref fmt x - let varname _ = "p" end) end @@ -2562,9 +2464,7 @@ module Identified_predicate = struct let equal x y = x.ip_id = y.ip_id let copy = Datatype.undefined let hash x = x.ip_id - let internal_pretty_code = Datatype.undefined let pretty fmt x = !pretty_ref fmt x - let varname _ = "id_predyes" end) end @@ -2582,9 +2482,7 @@ module PredicateStructEq = struct let equal = Datatype.from_compare let copy = Datatype.undefined let hash = hash_fct hash_predicate - let internal_pretty_code = Datatype.undefined let pretty fmt x = !pretty_ref fmt x - let varname _ = "p" end) end @@ -2650,7 +2548,6 @@ module Fundec = struct (struct type t = fundec let name = "Fundec" - let varname v = "fd_" ^ v.svar.vorig_name let reprs = reprs let structural_descr = Structural_descr.t_abstract let compare v1 v2 = Datatype.Int.compare v1.svar.vid v2.svar.vid @@ -2659,7 +2556,6 @@ module Fundec = struct let rehash = Datatype.identity let copy = Datatype.undefined let pretty fmt f = !pretty_ref fmt f - let internal_pretty_code = Datatype.undefined let mem_project = Datatype.never_any_project end) end @@ -2676,9 +2572,7 @@ module Lexpr = Make type t = lexpr let name = "Lexpr" let reprs = [ { lexpr_node = PLvar ""; lexpr_loc = Location.unknown } ] - let internal_pretty_code = Datatype.undefined let pretty = Datatype.undefined (* TODO *) - let varname = Datatype.undefined end) (**************************************************************************) @@ -2692,19 +2586,6 @@ module Localisation = type t = localisation let name = "Localisation" let reprs = [ VGlobal ] - let internal_pretty_code p_caller fmt loc = - let pp s kf = - Type.par p_caller Type.Call fmt - (fun fmt -> - Format.fprintf fmt "@[<hv 2>%s@;%a@]" - s - (Kf.internal_pretty_code Type.Call) - kf) - in - match loc with - | VGlobal -> Format.fprintf fmt "Cil_types.VGlobal" - | VLocal kf -> pp "Cil_types.VLocal" kf - | VFormal kf -> pp "Cil_types.VFormal" kf let mem_project = Datatype.never_any_project end) diff --git a/src/kernel_services/ast_queries/cil_datatype.mli b/src/kernel_services/ast_queries/cil_datatype.mli index db708394580d03cf24cfb968f10feed718f3af96..735ce0c9880cf62f642d472ea4eefb4e89dbd363 100644 --- a/src/kernel_services/ast_queries/cil_datatype.mli +++ b/src/kernel_services/ast_queries/cil_datatype.mli @@ -268,9 +268,6 @@ module Varinfo: sig val self: State.t end val dummy: t - (**/**) - val internal_pretty_code_ref: - (Type.precedence -> Format.formatter -> t -> unit) ref end module Kf: sig diff --git a/src/kernel_services/ast_queries/file.ml b/src/kernel_services/ast_queries/file.ml index fa0bad4dd8b1587b3c67bd25ce449a8b068048ca..7f19c90190bad23e96d5828f19b7f01b1d5364b7 100644 --- a/src/kernel_services/ast_queries/file.ml +++ b/src/kernel_services/ast_queries/file.ml @@ -27,12 +27,6 @@ open Cil_datatype type cpp_opt_kind = Gnu | Not_gnu | Unknown -let pretty_cpp_opt_kind fmt = - function - | Gnu -> Format.pp_print_string fmt "Gnu" - | Not_gnu -> Format.pp_print_string fmt "Not_gnu" - | Unknown -> Format.pp_print_string fmt "Unknown" - type file = | NeedCPP of Filepath.Normalized.t (* Filename of the [.c] to preprocess. *) @@ -62,22 +56,6 @@ module D = let structural_descr = Structural_descr.t_abstract let mem_project = Datatype.never_any_project let copy = Datatype.identity (* immutable strings *) - let internal_pretty_code p_caller fmt t = - let pp fmt = match t with - | NoCPP s -> - Format.fprintf fmt "@[File.NoCPP %a@]" Filepath.Normalized.pretty s - | External (f,p) -> - Format.fprintf fmt "@[File.External (%a,%S)@]" - Filepath.Normalized.pretty f p - | NeedCPP (f,cmd,extra,kind) -> - Format.fprintf - fmt "@[File.NeedCPP (%a,%S,%S,%a)@]" - Filepath.Normalized.pretty f - cmd - (String.concat " " extra) - pretty_cpp_opt_kind kind - in - Type.par p_caller Type.Call fmt pp end) include D @@ -1894,24 +1872,6 @@ let init_from_cmdline () = Kernel.fatal "@[<v 0>Cannot initialize from C files@ \ Kernel raised Bad_Initialization %s@]" s -let init_from_cmdline = - Journal.register - "File.init_from_cmdline" - (Datatype.func Datatype.unit Datatype.unit) - init_from_cmdline - -let init_from_c_files = - Journal.register - "File.init_from_c_files" - (Datatype.func (Datatype.list ty) Datatype.unit) - init_from_c_files - -let prepare_from_c_files = - Journal.register - "File.prepare_from_c_files" - (Datatype.func Datatype.unit Datatype.unit) - prepare_from_c_files - let () = Ast.set_default_initialization (fun () -> if Files.is_computed () then prepare_from_c_files () @@ -1924,21 +1884,8 @@ let pp_file_to fmt_opt = | None -> Kernel.CodeOutput.output (fun fmt -> pp_ast fmt ast) | Some fmt -> pp_ast fmt ast) -let unjournalized_pretty prj (fmt_opt:Format.formatter option) () = - Project.on prj pp_file_to fmt_opt - -let journalized_pretty_ast = - Journal.register "File.pretty_ast" - (Datatype.func3 - ~label1:("prj",Some Project.current) Project.ty - ~label2:("fmt",Some (fun () -> None)) - (let module O = Datatype.Option(Datatype.Formatter) in - O.ty) - Datatype.unit Datatype.unit) - unjournalized_pretty - let pretty_ast ?(prj=Project.current ()) ?fmt () = - journalized_pretty_ast prj fmt () + Project.on prj pp_file_to fmt let create_rebuilt_project_from_visitor ?reorder ?last ?(preprocess=false) prj_name visitor = @@ -1952,7 +1899,7 @@ let create_rebuilt_project_from_visitor in let cout = open_out (f :> string) in let fmt = Format.formatter_of_out_channel cout in - unjournalized_pretty prj (Some fmt) (); + pretty_ast ~prj ~fmt (); let redo () = (* Kernel.feedback "redoing initialization on file %s" f;*) Files.reset (); diff --git a/src/kernel_services/cmdline_parameters/cmdline.ml b/src/kernel_services/cmdline_parameters/cmdline.ml index 48a2f42cb2d83629862709a812b73b3f0d9495d3..16882810a482eb983e10567e1d055eafcbc01eb4 100644 --- a/src/kernel_services/cmdline_parameters/cmdline.ml +++ b/src/kernel_services/cmdline_parameters/cmdline.ml @@ -71,8 +71,6 @@ module Kernel_log = let dkey = Kernel_log.register_category "cmdline" let quiet_ref = ref false -let journal_enable_ref = ref Fc_config.is_gui -let journal_isset_ref = ref false let use_obj_ref = ref true let use_type_ref = ref true let deterministic = ref false @@ -379,15 +377,9 @@ let parse known_options_list then_expected options_list = let non_initial_options_ref = ref [] let () = - let set_journal b = - journal_enable_ref := b; - journal_isset_ref := true - in let first_parsing_stage () = parse - [ "-journal-enable", Unit (fun () -> set_journal true); - "-journal-disable", Unit (fun () -> set_journal false); - "-no-obj", Unit (fun () -> use_obj_ref := false); + [ "-no-obj", Unit (fun () -> use_obj_ref := false); "-no-type", Unit (fun () -> use_type_ref := false); "-quiet", Unit (fun () -> @@ -418,16 +410,10 @@ let () = if not !use_obj_ref then use_type_ref := false; if not !use_type_ref then begin Type.no_obj (); - if !journal_enable_ref then begin - Kernel_log.warning "disabling journal in the 'no obj' mode"; - journal_enable_ref := false - end end let quiet = !quiet_ref -let journal_enable = !journal_enable_ref -let journal_isset = !journal_isset_ref let use_obj = !use_obj_ref let use_type = !use_type_ref let deterministic = !deterministic diff --git a/src/kernel_services/cmdline_parameters/cmdline.mli b/src/kernel_services/cmdline_parameters/cmdline.mli index 420e6b58ef55031157646d40a2be2e01f5c3f1f4..7092c071da5cc1a8f426646d13b92aa5a58f4443 100644 --- a/src/kernel_services/cmdline_parameters/cmdline.mli +++ b/src/kernel_services/cmdline_parameters/cmdline.mli @@ -360,13 +360,6 @@ val kernel_debug_atleast_ref: (int -> bool) ref val kernel_verbose_atleast_ref: (int -> bool) ref (** @since Boron-20100401 *) -val journal_enable: bool -(** @since Beryllium-20090601-beta1 *) - -val journal_isset: bool -(** -journal-enable/disable explicitly set on the command line. - @since Boron-20100401 *) - val use_obj: bool (** @since Beryllium-20090601-beta1 *) diff --git a/src/kernel_services/cmdline_parameters/parameter_builder.ml b/src/kernel_services/cmdline_parameters/parameter_builder.ml index 85a68644f91dc5a599f153ed68fdf8dd959c320d..440d90c04a79cfcf10513351b9fd8c873ba2f127 100644 --- a/src/kernel_services/cmdline_parameters/parameter_builder.ml +++ b/src/kernel_services/cmdline_parameters/parameter_builder.ml @@ -219,7 +219,7 @@ struct if is_dynamic then let plugin = empty_string in Dynamic.register - ~plugin X.option_name Typed_parameter.ty ~journalize:false p + ~plugin X.option_name Typed_parameter.ty p else p let add_aliases ?visible ?deprecated list = @@ -328,7 +328,7 @@ struct if is_dynamic then let plugin = empty_string in Dynamic.register - ~plugin X.option_name Typed_parameter.ty ~journalize:false p + ~plugin X.option_name Typed_parameter.ty p else p end @@ -437,7 +437,7 @@ struct if is_dynamic then let plugin = empty_string in Dynamic.register - ~plugin X.option_name Typed_parameter.ty ~journalize:false p + ~plugin X.option_name Typed_parameter.ty p else p @@ -527,7 +527,7 @@ struct if is_dynamic then let plugin = empty_string in Dynamic.register - ~plugin X.option_name Typed_parameter.ty ~journalize:false p + ~plugin X.option_name Typed_parameter.ty p else p diff --git a/src/kernel_services/cmdline_parameters/parameter_customize.ml b/src/kernel_services/cmdline_parameters/parameter_customize.ml index 26a72c9253e3a7803b76946e8c7ea78407175b02..be8b8888d95dc65708e2314b9a5fbf31953c9f88 100644 --- a/src/kernel_services/cmdline_parameters/parameter_customize.ml +++ b/src/kernel_services/cmdline_parameters/parameter_customize.ml @@ -25,9 +25,6 @@ let empty_string = "" let cmdline_stage_ref = ref Cmdline.Configuring let set_cmdline_stage s = cmdline_stage_ref := s -let journalize_ref = ref true -let do_not_journalize () = journalize_ref := false - let negative_option_name_ref = ref None let set_negative_option_name s = negative_option_name_ref := Some s @@ -107,7 +104,6 @@ let add_function_name_transformation f = let reset () = cmdline_stage_ref := Cmdline.Configuring; - journalize_ref := true; negative_option_name_ref := None; negative_option_help_ref := empty_string; unset_option_name_ref:= empty_string; diff --git a/src/kernel_services/cmdline_parameters/parameter_customize.mli b/src/kernel_services/cmdline_parameters/parameter_customize.mli index f29dad1f049c04a2aae163be15ca5c630482a6ee..0c809681c05a7039564f51db235b0a82e5487cb4 100644 --- a/src/kernel_services/cmdline_parameters/parameter_customize.mli +++ b/src/kernel_services/cmdline_parameters/parameter_customize.mli @@ -33,10 +33,6 @@ val set_cmdline_stage: Cmdline.stage -> unit recognized. Default is [Cmdline.Configuring]. @since Beryllium-20090601-beta1 *) -val do_not_journalize: unit -> unit -(** Prevent journalization of the parameter. - @since Beryllium-20090601-beta1 *) - val do_not_projectify: unit -> unit (** Prevent projectification of the parameter: its state is shared by all the existing projects. Also imply {!do_not_save} and {!do_not_reset_on_copy}. @@ -190,7 +186,6 @@ val find_kf_by_name: (string -> Cil_types.kernel_function) ref (* ************************************************************************* *) val cmdline_stage_ref: Cmdline.stage ref -val journalize_ref: bool ref val negative_option_name_ref: string option ref val negative_option_help_ref: string ref val unset_option_name_ref: string ref diff --git a/src/kernel_services/cmdline_parameters/parameter_state.ml b/src/kernel_services/cmdline_parameters/parameter_state.ml index 8eb52c61979378a7ff7e22feb97b37b92219a047..1b7b59d67f06eb6aaac438a4d54c5c1f1d4512c6 100644 --- a/src/kernel_services/cmdline_parameters/parameter_state.ml +++ b/src/kernel_services/cmdline_parameters/parameter_state.ml @@ -88,7 +88,6 @@ struct let reset_on_copy = !Parameter_customize.reset_on_copy_ref let must_save = !Parameter_customize.must_save_ref let is_visible = !Parameter_customize.is_visible_ref - let module_name = !Parameter_customize.module_name_ref let group = !Parameter_customize.group_ref let stage = !Parameter_customize.cmdline_stage_ref @@ -187,29 +186,14 @@ struct let new_ = !x in if not (X.equal old new_) then f old new_) - let gen_journalized name ty set = - let name = - if is_dynamic then - Dynamic.Parameter.get_name X.functor_name name X.option_name - else - "Kernel." ^ module_name ^ "." ^ name - in - if !Parameter_customize.journalize_ref then - Journal.register ~is_dyn:is_dynamic name (D.func ty D.unit) set - else - set - (* like set, but do not clear the dependencies *) - let unsafe_set = - let set x = - Is_set.set true; - let old = Internal_state.get () in - if not (X.equal x old) then begin - Internal_state.set x; - Set_hook.apply (old, x) - end - in - gen_journalized "unsafe_set" X.ty set + let unsafe_set x = + Is_set.set true; + let old = Internal_state.get () in + if not (X.equal x old) then begin + Internal_state.set x; + Set_hook.apply (old, x) + end let force_set x = let old = Internal_state.get () in @@ -232,20 +216,15 @@ struct Internal_state.set x; Set_hook.apply (old, x) - let journalized_force_set = gen_journalized "set" X.ty force_set - let set x = Is_set.set true; - if not (X.equal x (Internal_state.get ())) then journalized_force_set x + if not (X.equal x (Internal_state.get ())) then force_set x - let unguarded_clear = - gen_journalized "clear" D.unit - (fun () -> - force_set (X.default ()); - Is_set.set false) + let unguarded_clear () = + force_set (X.default ()); + Is_set.set false let clear () = - (* write this call in the journal if and only if there is something to do *) if Is_set.get () || not (is_default ()) then unguarded_clear () let equal = X.equal @@ -256,7 +235,6 @@ struct Dynamic.register ~plugin:"" (Dynamic.Parameter.get_name X.functor_name name X.option_name) - ~journalize:false ty f else diff --git a/src/kernel_services/cmdline_parameters/parameter_state.mli b/src/kernel_services/cmdline_parameters/parameter_state.mli index 8051e561be0c271ac7ee157306ed166f988bb734..e4be535b2ab3d648e8e8662ae7a1c054f52cccf0 100644 --- a/src/kernel_services/cmdline_parameters/parameter_state.mli +++ b/src/kernel_services/cmdline_parameters/parameter_state.mli @@ -63,7 +63,6 @@ sig val is_dynamic: bool val register_dynamic: string -> 'arg Type.t -> 'ret Type.t -> ('arg -> 'ret) -> 'arg -> 'ret - val gen_journalized: string -> 'arg Type.t -> ('arg -> unit) -> 'arg -> unit end (**/**) diff --git a/src/kernel_services/cmdline_parameters/typed_parameter.ml b/src/kernel_services/cmdline_parameters/typed_parameter.ml index b875e86a8eb7dc94a283f42cbcce934da6730568..fd25643d8bb4f583c0840baeb97f8823f31207d3 100644 --- a/src/kernel_services/cmdline_parameters/typed_parameter.ml +++ b/src/kernel_services/cmdline_parameters/typed_parameter.ml @@ -67,9 +67,6 @@ include let hash x = Datatype.String.hash x.name let copy x = x (* The representation of the parameter is immutable *) let pretty fmt x = Format.pp_print_string fmt x.name - let internal_pretty_code = Datatype.undefined - let varname _ = assert false - (* unused if internal_pretty_code undefined *) let mem_project = Datatype.never_any_project end) diff --git a/src/kernel_services/plugin_entry_points/db.ml b/src/kernel_services/plugin_entry_points/db.ml index aa88f10322091cd8ea4672057d06ec95299aa840..64e5c108ab5c3840e18f335d49f175bf582864d0 100644 --- a/src/kernel_services/plugin_entry_points/db.ml +++ b/src/kernel_services/plugin_entry_points/db.ml @@ -24,28 +24,15 @@ open Cil_types open Cil_datatype open Extlib -type 'a how_to_journalize = - | Journalize of string * 'a Type.t - | Journalization_not_required - | Journalization_must_not_happen of string - -let register how_to_journalize r f = - match how_to_journalize with - | Journalize (name, ty) -> r := Journal.register ("!Db." ^ name) ty f - | Journalization_not_required -> r := f - | Journalization_must_not_happen name -> - r := Journal.never_write ("!Db." ^ name) f +let register r f = r := f let register_compute name deps r f = let name = "!Db." ^ name in - let f = Journal.register name (Datatype.func Datatype.unit Datatype.unit) f in let compute, self = State_builder.apply_once name deps f in r := compute; self -let register_guarded_compute name is_computed r f = - let name = "!Db." ^ name in - let f = Journal.register name (Datatype.func Datatype.unit Datatype.unit) f in +let register_guarded_compute is_computed r f = let compute () = if not (is_computed ()) then f () in r := compute @@ -202,29 +189,13 @@ module Value = struct let fun_get_args () = FunArgs.get_option () - (* This function is *not* journalized *) - let fun_set_args = - let module L = Datatype.List(Cvalue.V) in - Journal.register "(failwith \"Function cannot be journalized: \ - Db.Value.fun_set_args\" : _ -> unit)" - (Datatype.func L.ty Datatype.unit) - (fun l -> - if - not - (Option.equal ListArgs.equal (Some l) (FunArgs.get_option ())) - then begin - !initial_state_changed (); - FunArgs.set l - end) - - - let fun_use_default_args = - Journal.register "Db.Value.fun_use_default_args" - (Datatype.func Datatype.unit Datatype.unit) - (fun () -> - if FunArgs.get_option () <> None then - (!initial_state_changed (); FunArgs.clear ())) + let fun_set_args l = + if not (Option.equal ListArgs.equal (Some l) (FunArgs.get_option ())) then + (!initial_state_changed (); FunArgs.set l) + let fun_use_default_args () = + if FunArgs.get_option () <> None then + (!initial_state_changed (); FunArgs.clear ()) (* Initial memory state of the value analysis *) module VGlobals = @@ -235,27 +206,19 @@ module Value = struct let dependencies = [Ast.self] end) - (* This function is *not* journalized *) - let globals_set_initial_state = - Journal.register "(failwith \"Function cannot be journalized: \ - Db.Value.globals_set_initial_state\" : _ -> unit)" - (Datatype.func Cvalue.Model.ty Datatype.unit) - (fun state -> - if not (Option.equal Cvalue.Model.equal - (Some state) - (VGlobals.get_option ())) - then begin - !initial_state_changed (); - VGlobals.set state - end) - - - let globals_use_default_initial_state = - Journal.register - "Db.Value.globals_use_default_initial_state" - (Datatype.func Datatype.unit Datatype.unit) - (fun () -> if VGlobals.get_option () <> None then - (!initial_state_changed (); VGlobals.clear ())) + let globals_set_initial_state state = + if not (Option.equal Cvalue.Model.equal + (Some state) + (VGlobals.get_option ())) + then begin + !initial_state_changed (); + VGlobals.set state + end + + + let globals_use_default_initial_state () = + if VGlobals.get_option () <> None then + (!initial_state_changed (); VGlobals.clear ()) let initial_state_only_globals = mk_fun "Value.initial_state_only_globals" @@ -319,10 +282,8 @@ module Value = struct let dependencies = [ self ] end) - let mark_as_computed = - Journal.register "Db.Value.mark_as_computed" - (Datatype.func Datatype.unit Datatype.unit) - Table_By_Callstack.mark_as_computed + let mark_as_computed () = + Table_By_Callstack.mark_as_computed () let is_computed () = Table_By_Callstack.is_computed () diff --git a/src/kernel_services/plugin_entry_points/db.mli b/src/kernel_services/plugin_entry_points/db.mli index e254132ee264d2cb89d160640ee467d6248ff938..905663fa636b56df38e8b0fbcbeda93483098aac 100644 --- a/src/kernel_services/plugin_entry_points/db.mli +++ b/src/kernel_services/plugin_entry_points/db.mli @@ -26,7 +26,6 @@ (** Modules providing general services: - {!Dynamic}: API for plug-ins linked dynamically - - {!Journal}: journalisation - {!Log}: message outputs and printers - {!Plugin}: general services for plug-ins - {!Project} and associated files: {!Kind}, {!Datatype} and {!State_builder}. @@ -53,22 +52,7 @@ open Cil_datatype (** {2 Registering} *) (* ************************************************************************* *) -(** How to journalize the given function. - @since Beryllium-20090601-beta1 *) -type 'a how_to_journalize = - | Journalize of string * 'a Type.t - (** Journalize the value with the given name and type. *) - | Journalization_not_required - (** Journalization of this value is not required - (usually because it has no effect on the Frama-C global state). *) - | Journalization_must_not_happen of string - (** Journalization of this value should not happen - (usually because it is a low-level function: this function is always - called from a journalized function). - The string is the function name which is used for displaying suitable - error message. *) - -val register: 'a how_to_journalize -> 'a ref -> 'a -> unit +val register: 'a ref -> 'a -> unit (** Plugins must register values with this function. *) val register_compute: @@ -77,9 +61,10 @@ val register_compute: (unit -> unit) ref -> (unit -> unit) -> State.t val register_guarded_compute: - string -> (unit -> bool) -> (unit -> unit) ref -> (unit -> unit) -> unit +(** @before Frama-C+dev there was a string parameter (first position) that was + only used for Journalization, that has been removed. *) (** Frama-C main interface. @since Lithium-20081201 @@ -188,8 +173,7 @@ module Value : sig [fun_use_default_args] is called, when the ast is changed, or if the options [-libentry] or [-main] are changed. *) - (** Specify the arguments to use. This function is not journalized, and - will generate an error when the journal is replayed *) + (** Specify the arguments to use. *) val fun_set_args : t list -> unit val fun_use_default_args : unit -> unit @@ -212,8 +196,7 @@ module Value : sig the option [-libentry]) is used when [globals_use_default_initial_state] is called, or when the ast changes. *) - (** Specify the initial state to use. This function is not journalized, - and will generate an error when the journal is replayed *) + (** Specify the initial state to use. *) val globals_set_initial_state : state -> unit val globals_use_default_initial_state : unit -> unit diff --git a/src/kernel_services/plugin_entry_points/dynamic.ml b/src/kernel_services/plugin_entry_points/dynamic.ml index 5891de7ed49f4e6cd29923ab81ddfe709b82ab02..4db425f44967bae4992b9483f10a54d46bb78414 100644 --- a/src/kernel_services/plugin_entry_points/dynamic.ml +++ b/src/kernel_services/plugin_entry_points/dynamic.ml @@ -163,29 +163,9 @@ let load_module m = let dynamic_values = Tbl.create 97 let comments_fordoc = Hashtbl.create 97 -let register ?(comment="") ~plugin name ty ~journalize f = +let register ?(comment="") ~plugin name ty f = if Cmdline.use_type then begin Klog.debug ~level:5 "registering dynamic function %s" name; - let f = - if journalize then - let comment fmt = - Format.fprintf fmt - "@[<hov>Applying@;dynamic@;functions@;%S@;of@;type@;%s@]" - name - (Type.name ty) - in - let jname = - Format.fprintf - Format.str_formatter - "@[<hv 2>Dynamic.get@;~plugin:%S@;%S@;%t@]" - plugin name - (Type.pp_ml_name ty Type.Call); - Format.flush_str_formatter () - in - Journal.register jname ty ~is_dyn:true ~comment f - else - f - in let key = plugin ^ "." ^ name in Tbl.add dynamic_values key ty f; if comment <> "" then Hashtbl.add comments_fordoc key comment ; diff --git a/src/kernel_services/plugin_entry_points/dynamic.mli b/src/kernel_services/plugin_entry_points/dynamic.mli index 2dcdd083b7adb2d6eab12cf876bbb47857aec3fd..d6d44246446f891d9237de0478945762d0fe7422 100644 --- a/src/kernel_services/plugin_entry_points/dynamic.mli +++ b/src/kernel_services/plugin_entry_points/dynamic.mli @@ -30,11 +30,13 @@ val register: ?comment:string -> plugin:string -> - string -> 'a Type.t -> journalize:bool -> 'a -> 'a + string -> 'a Type.t -> 'a -> 'a (** [register ~plugin name ty v] registers [v] with the name [name], the type [ty] and the plug-in [plugin]. @raise Type.AlreadyExists if [name] already exists. In other words you cannot register a value with the same name twice. + @before Frama-C+dev there was a labeled argument [journalized], that has + been removed when Journalization has been removed. @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide *) (* ************************************************************************* *) diff --git a/src/kernel_services/plugin_entry_points/emitter.ml b/src/kernel_services/plugin_entry_points/emitter.ml index 43d4b82ef8d8a26eec2b40b0bc2bb48636354b04..0349a71692e9d42ea2aefbe5fbb1453c10155f4a 100644 --- a/src/kernel_services/plugin_entry_points/emitter.ml +++ b/src/kernel_services/plugin_entry_points/emitter.ml @@ -103,9 +103,6 @@ module D = let hash x = Datatype.String.hash x.name let copy x = x (* strings are immutable here *) let pretty fmt x = Format.pp_print_string fmt x.name - let internal_pretty_code = Datatype.undefined - let varname _ = assert false (* unused while [internal_pretty_code] - unimplemented *) let mem_project = Datatype.never_any_project end) @@ -149,9 +146,6 @@ module Usable_emitter = struct Format.fprintf fmt "%s (v%d)" name x.version else Format.pp_print_string fmt name - let internal_pretty_code = Datatype.undefined - let varname _ = assert false (* unused while [internal_pretty_code] - unimplemented *) let mem_project = Datatype.never_any_project end) diff --git a/src/kernel_services/plugin_entry_points/journal.ml b/src/kernel_services/plugin_entry_points/journal.ml deleted file mode 100644 index 4c81ac38b9cd345d4a0ffa98eaff99af3c4dc2bc..0000000000000000000000000000000000000000 --- a/src/kernel_services/plugin_entry_points/journal.ml +++ /dev/null @@ -1,499 +0,0 @@ -(**************************************************************************) -(* *) -(* This file is part of Frama-C. *) -(* *) -(* Copyright (C) 2007-2022 *) -(* 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). *) -(* *) -(**************************************************************************) - -(* ****************************************************************************) -(* ****************************************************************************) -(* ****************************************************************************) - -(* Disclaimer - ---------- - This module uses very unsafe caml features (module Obj). - Modify it at your own risk. - Sometimes the caml type system does not help you here. - Introducing a bug here may introduce some "segmentation faults" in Frama-C *) - -(* ****************************************************************************) -(* ****************************************************************************) -(* ****************************************************************************) - -open Cmdline.Kernel_log - -(** Journalization of functions *) - -(* ****************************************************************************) -(** {2 Journal management} *) -(* ****************************************************************************) - -(* [started] prevents journalization of function call - inside another one. It is [true] iff a journalized function is being - applied. *) -let started = ref false - -module Sentences = struct - - type t = - { sentence: Format.formatter -> unit; - raise_exn: bool } - - let sentences : t Queue.t = Queue.create () - - let add print exn = - Queue.add { sentence = print; raise_exn = exn } sentences - - let write fmt = - let finally_raised = ref false in - (* printing the sentences *) - Queue.iter - (fun s -> s.sentence fmt; finally_raised := s.raise_exn) - sentences; - (* if any, re-raised the exception raised by the last sentence *) - Format.fprintf fmt "@[%s@]" - (if !finally_raised then "raise (Exception (Printexc.to_string exn))" - else "()"); - (* closing the box opened when catching exception *) - Queue.iter - (fun s -> if s.raise_exn then Format.fprintf fmt "@]@]@]@;end") - sentences - - let journal_copy = ref (Queue.create ()) - let save () = journal_copy := Queue.copy sentences - let restore () = - Queue.clear sentences; - Queue.transfer !journal_copy sentences - -end - -module Abstract_modules = struct - let tbl: (string, string) Hashtbl.t = Hashtbl.create 7 - let () = Type.add_abstract_types := Hashtbl.replace tbl - let write fmt = - Hashtbl.iter - (fun k v -> - Format.fprintf fmt - "@[<hv 2>let module %s=@;@[<hv 0>Type.Abstract\ - (struct let name = %S end) in@]@]@;" - k v) - tbl - let tbl_copy = ref (Hashtbl.create 7) - let save () = tbl_copy := Hashtbl.copy tbl - let restore () = - Hashtbl.clear tbl; - Hashtbl.iter (fun k v -> Hashtbl.add tbl k v) !tbl_copy -end - -let save () = - Sentences.save (); - Abstract_modules.save () - -let restore () = - Sentences.restore (); - Abstract_modules.restore () - -let now () = Unix.localtime (Unix.time ()) - -let default_filename = "frama_c_journal.ml" -let filename = ref default_filename -let get_session_file = ref (fun _ -> assert false) -let get_name () = - let f = !filename in - if f == default_filename - then !get_session_file f - else Datatype.Filepath.of_string f - -let set_name s = filename := s - -let print_header fmt = - let time = now () in - Format.pp_open_hvbox fmt 0; (* the outermost box *) - Format.fprintf fmt - "@[(* Frama-C journal generated at %02d:%02d the %02d/%02d/%d *)@]@;@;" - time.Unix.tm_hour - time.Unix.tm_min - time.Unix.tm_mday - (time.Unix.tm_mon+1) - (time.Unix.tm_year + 1900); - Format.fprintf fmt "@[exception Unreachable@]@;"; - Format.fprintf fmt "@[exception Exception of string@]@;@;"; - Format.fprintf fmt "@[[@@@@@@ warning \"-26\"]@]@;@;"; - Format.fprintf fmt (* open two boxes for start *) - "(* Run the user commands *)@;@[<hv 2>let run () =@;@[<hv 0>" - -let print_trailer fmt = - let name = Format.asprintf "%a" Datatype.Filepath.pretty (get_name ()) in - Format.fprintf fmt "@[(* Main *)@]@\n"; - Format.fprintf fmt "@[<hv 2>let main () =@;"; - Format.fprintf fmt - "@[<hv 0>@[<hv 2>Journal.keep_file@; (Datatype.Filepath.of_string@; (\"%s\"));@]@;" - name; - Format.fprintf fmt "try run ()@;"; - Format.fprintf fmt "@[<v>with@;@[<hv 2>| Unreachable ->@ "; - Format.fprintf fmt - "@[<hv 2>Kernel.fatal@;\"Journal reaches an assumed dead code\"@;@]@]@;"; - Format.fprintf fmt "@[<hv 2>| Exception s ->@ "; - Format.fprintf fmt - "@[<hv 2>Kernel.log@;\"Journal re-raised the exception %%S\"@;s@]@]@;"; - Format.fprintf fmt "@[<hv 2>| exn ->@ "; - Format.fprintf fmt - "@[<hv 2>Kernel.fatal@;\"Journal raised an unexpected exception: %%s\"@;"; - Format.fprintf fmt "(Printexc.to_string exn)@]@]@]@]@]@\n@\n"; - Format.fprintf fmt "@[(* Registering *)@]@\n"; - Format.fprintf fmt - "@[<hv 2>let main : unit -> unit =@;@[<hv 2>Dynamic.register@;~plugin:%S@;\"main\"@;" - (String.capitalize_ascii (Filename.basename name)); - Format.fprintf fmt - "@[<hv 2>(Datatype.func@;Datatype.unit@;Datatype.unit)@]@;"; - Format.fprintf fmt "~journalize:false@;main@]@]@\n@\n"; - Format.fprintf fmt "@[(* Hooking *)@]@\n"; - Format.fprintf fmt "@[<hv 2>let () =@;"; - Format.fprintf fmt - "@[<hv 2>Cmdline.run_after_loading_stage@;main;@]@;"; - Format.fprintf fmt "@[<hv 2>Cmdline.is_going_to_load@;()@]@]@."; - (* close the outermost box *) - Format.pp_close_box fmt () - -let preserved_files : Datatype.Filepath.t list ref = ref [] -let keep_file s = preserved_files := s :: !preserved_files - -let get_filename = - let cpt = ref 0 in - let rec get_filename first = - let name_fp = get_name () in - let name = (name_fp:>string) in - if (not first && Sys.file_exists name) || List.mem name_fp !preserved_files - then begin - incr cpt; - let suf = "_" ^ string_of_int !cpt in - (try - let n = - Str.search_backward - (Str.regexp "_[0-9]+") - name - (String.length name - 1) - in - filename := Str.string_before name n ^ suf - with Not_found -> - filename := name ^ suf); - get_filename false - end else - name_fp - in - fun () -> get_filename true - -let write () = - let write fmt = - print_header fmt; - Abstract_modules.write fmt; - Sentences.write fmt; - Format.fprintf fmt "@]@]@;@;"; - print_trailer fmt; - Format.pp_print_flush fmt () - in - let error msg s = error "cannot %s journal (%s)." msg s in - let filename = get_filename () in - feedback "writing journal in file `%a'." - Datatype.Filepath.pretty filename; - try - let cout = open_out (filename:>string) in - let fmt = Format.formatter_of_out_channel cout in - Format.pp_set_margin fmt 78 (* line length *); - (try write fmt with Sys_error s -> error "write into" s); - try close_out cout with Sys_error s -> error "close" s - with Sys_error s -> - error "create" s - -let () = - (* write the journal iff it is enable and - - either an error occurs; - - or the user explicitly wanted it. *) - if Cmdline.journal_enable then begin - Cmdline.at_error_exit (fun _ -> write ()); - if Cmdline.journal_isset then Cmdline.at_normal_exit write - end - -(* ****************************************************************************) -(** {2 Journalization} *) -(* ****************************************************************************) - -module Binding: sig - val add: 'a Type.t -> 'a -> string -> unit - (** [add ty v var] binds the value [v] to the variable name [var]. Thus, - [pp ty v] prints [var] and not use the standard pretty printer. Very - useful to pretty print values with no associated pretty printer. *) - - exception Name_already_exists of string - val add_once: 'a Type.t -> 'a -> string -> unit - (** Same as function [add] above but raise the exception [Already_exists] - if the binding previously exists *) - - val find: 'a Type.t -> 'a -> string - val iter: ('a Type.t -> 'a -> string -> unit) -> unit -end = struct - - let bindings : string Type.Obj_tbl.t = Type.Obj_tbl.create () - - let add ty v var = - Type.Obj_tbl.add bindings ty v var (* eta-expansion required *) - - (* add bindings for [Format.std_formatter] and [Format.err_formatter] *) - let () = - add Datatype.formatter Format.std_formatter "Format.std_formatter"; - add Datatype.formatter Format.err_formatter "Format.err_formatter" - - exception Name_already_exists of string - let check_name s = - let error () = - Format.eprintf "[Type] A value of name %s already exists@." s; - raise (Name_already_exists s) - in - Type.Obj_tbl.iter bindings (fun _ _ s' -> if s = s' then error ()) - - let add_once ty x s = - check_name s; - add ty x s - - let find ty v = Type.Obj_tbl.find bindings ty v (* eta-expansion required *) - let iter f = Type.Obj_tbl.iter bindings f (* eta-expansion required *) - - (* predefined bindings *) - let () = - add Datatype.formatter Format.std_formatter "Format.std_formatter"; - add Datatype.formatter Format.err_formatter "Format.err_formatter" - -end - -(* JS 2012/02/07: useful only for BM introspection testing ;-) *) -module Reverse_binding = struct - module Tbl = Type.String_tbl(struct type 'a t = 'a end) - exception Unbound_value = Tbl.Unbound_value - exception Incompatible_type = Tbl.Incompatible_type - - let tbl = Tbl.create 97 - let fill () = Binding.iter (fun ty v name -> Tbl.add tbl name ty v) - let find name ty = Tbl.find tbl name ty - let iter f = Tbl.iter f tbl - - let pretty fmt () = - iter - (fun name ty v -> - Format.fprintf fmt "%s --> %a@." name (Datatype.pretty ty) v) - -end - -exception Not_writable of string -let never_write name f = - if Cmdline.journal_enable && Cmdline.use_type then - if Obj.tag (Obj.repr f) = Obj.closure_tag then - Obj.magic - (fun y -> - if !started then Obj.magic f y - else - let msg = - Format.asprintf - "a call to the function %s has to be written in the journal, \ - but this function was never journalized." - name - in - raise (Not_writable msg)) - else - invalid_arg ("[Journal.never_write] " ^ name ^ " is not a closure") - else - f - -let pp (type t) (ty: t Type.t) fmt (x:t) = - assert Cmdline.use_type; - try Format.fprintf fmt "%s" (Binding.find ty x); - with Not_found -> - let pp_error msg = - Format.fprintf fmt "@[<hov 2>(failwith @[<hov 2>\"%s:@ running the journal will fail.\"@])@;@]" msg - in - let pp = Datatype.internal_pretty_code ty in - if pp == Datatype.undefined then - pp_error - (Format.asprintf - "no printer registered for value of type %s" - (Type.name ty)) - else if pp == Datatype.pp_fail then - pp_error - (Format.asprintf - "no code for pretty printer of type %s" - (Type.name ty)) - else - pp Type.Call fmt x - -let gen_binding = - let ids = Hashtbl.create 7 in - let rec gen s = - try - let n = succ (Hashtbl.find ids s) in - Hashtbl.replace ids s n; - gen (s ^ "_" ^ string_of_int n) - with Not_found -> - Hashtbl.add ids s 1; - s - in - gen - -let extend_continuation f_acc pp_arg opt_label opt_arg arg fmt = - f_acc fmt; - match opt_label, opt_arg with - | None, None (* no label *) -> Format.fprintf fmt "@;%a" pp_arg arg; - | None, Some _ -> assert false - | Some _, Some f when f () == arg -> - (* [arg] is the default value of the optional label *) - () - | Some l, _ (* other label *) -> Format.fprintf fmt "@;~%s:%a" l pp_arg arg - -(* print any comment *) -let print_comment fmt pp = match pp with - | None -> () - | Some pp -> Format.fprintf fmt "(* %t *)@;" pp - -let print_sentence f_acc is_dyn comment ?value ty fmt = - assert Cmdline.use_type; - print_comment fmt comment; - (* open a new box for the sentence *) - Format.fprintf fmt "@[<hv 2>"; - (* add a let binding whenever the return type is not unit *) - let is_unit = Type.equal ty Datatype.unit in - if not is_unit then - Format.fprintf fmt "let %t=@;" - (fun fmt -> - let binding = - let varname = Datatype.varname ty in - match varname == Datatype.undefined, value with - | true, _ | _, None -> - "__" (* no binding nor value: ignore the result *) - | false, Some value -> - (* bind to a fresh variable name *) - let b = gen_binding (varname value) in - Binding.add ty value b; - b - in - Format.fprintf fmt "%s" binding; - (* add the return type for dynamic application *) - if is_dyn then Format.fprintf fmt "@;: %s " (Type.name ty) - else Format.fprintf fmt " "); - (* pretty print the sentence itself in a box *) - Format.fprintf fmt "@[<hv 2>%t@]" f_acc; - (* close the sentence *) - if is_unit then Format.fprintf fmt ";@]@;" - else Format.fprintf fmt "@;<1 -2>in@]@;" - -let add_sentence f_acc is_dyn comment ?value ty = - Sentences.add (print_sentence f_acc is_dyn comment ?value ty) false - -let catch_exn f_acc is_dyn comment ret_ty exn = - let s_exn = Printexc.to_string exn in - (* [s_exn] is not necessarily a valid OCaml exception. - So don't use it in OCaml code. *) - let comment fmt = - Format.fprintf fmt "@[<hv 2>exception %s@;raised on: @]%t" s_exn - (fun fmt -> Option.iter (fun f -> f fmt) comment) - in - let print fmt = - (* open a new box for the sentence *) - Format.fprintf fmt - "@[<hv 2>begin try@;@[<hv>%t@[<hv 2>raise Unreachable@]@]@]@;" - (print_sentence f_acc is_dyn (Some comment) ret_ty); - (* two opened boxes closed at end *) - Format.fprintf fmt - "@[<v>with@;@[<hv 2>| Unreachable as exn -> raise exn@]@;"; - Format.fprintf fmt - "@[<hv 2>| exn (* %s *) ->@;@[<hv>@[(* continuing: *)@]@;" s_exn - in - Sentences.add print true - -let rec journalize_function: 't. - (Format.formatter -> unit) -> 't Type.t -> bool -> - (Format.formatter -> unit) option -> 't -> 't = - fun (type t) (type a) (type b) f_acc (ty: t Type.t) is_dyn comment (x:t) - -> - assert Cmdline.use_type; - if Type.Function.is_instance_of ty then begin - (* [ty] is a function type value: - there exists [a] and [b] such than [t = a -> b] *) - let ty: (a -> b) Type.t = Obj.magic (ty: t Type.t) in - let f: a -> b = Obj.magic (x: t) in - let (a: a Type.t), (b: b Type.t), opt_label = - Type.Function.get_instance ty - in - let opt_arg = Type.Function.get_optional_argument ty in - let f (y: a) : b = - if !started then - (* prevent journalisation if you're journalizing another function *) - f y - else begin - try - (* [started] prevents journalization of function call - inside another one *) - started := true; - (* apply the closure [x] to its argument [y] *) - let xy = f y in - started := false; - (* extend the continuation and continue *) - let f_acc = extend_continuation f_acc (pp a) opt_label opt_arg y in - journalize_function f_acc b is_dyn comment xy - with - | Not_writable name -> - started := false; - fatal - "a call to the function %S cannot be written in the journal" - name - | exn as e -> - let f_acc = extend_continuation f_acc (pp a) opt_label opt_arg y in - catch_exn f_acc is_dyn comment b exn; - started := false; - raise e - end in - (* cast back the closure of type [a -> b] into [t] *) - (Obj.magic (f: a -> b): t) - end else begin - if not !started then add_sentence f_acc is_dyn comment ~value:x ty; - x - end - -let register s ty ?comment ?(is_dyn=false) x = - if Cmdline.journal_enable then begin - assert Cmdline.use_type; - if s = "" then - abort "[Journal.register] the given name should not be \"\""; - Binding.add_once ty x s; - if Type.Function.is_instance_of ty then begin - let f_acc fmt = pp ty fmt x in - journalize_function f_acc ty is_dyn comment x - end else - x - end else - x - -let prevent f x = - let old = !started in - started := true; - let res = try f x with exn -> started := old; raise exn in - started := old; - res - -(* -Local Variables: -compile-command: "make -C ../../.." -End: -*) diff --git a/src/kernel_services/plugin_entry_points/journal.mli b/src/kernel_services/plugin_entry_points/journal.mli deleted file mode 100644 index 33fb39a20b84e121720de6d569cd976e21739971..0000000000000000000000000000000000000000 --- a/src/kernel_services/plugin_entry_points/journal.mli +++ /dev/null @@ -1,120 +0,0 @@ -(**************************************************************************) -(* *) -(* This file is part of Frama-C. *) -(* *) -(* Copyright (C) 2007-2022 *) -(* 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). *) -(* *) -(**************************************************************************) - -(** Journalization of functions. - @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide *) - -(* ****************************************************************************) -(** {2 Journalization} *) -(* ****************************************************************************) - -val register: - string -> - 'a Type.t -> - ?comment:(Format.formatter -> unit) -> - ?is_dyn:bool -> - 'a -> - 'a -(** [register name ty ~comment ~is_dyn v] journalizes the value [v] - of type [ty] with the name [name]. [name] must exactly match the caml - long name of the value (i.e. "List.iter" and not "iter" even though the - module List is already opened). Journalisation of anonymous value is - not possible. - - If the [comment] argument is set, the given pretty printer will be - applied in an OCaml comment when the function is journalized. - - Set [is_dyn] to [true] to journalize a dynamic function. *) - -val never_write: string -> 'a -> 'a -(** [never_write name f] returns a closure [g] observationally equal to [f] - except that trying to write a call to [g] in the journal is an error. If - [f] is not a closure, then [never_write name f] raises - [Invalid_argument]. *) - -val prevent: ('a -> 'b) -> 'a -> 'b -(** [prevent f x] applies [x] to [f] without printing anything in the - journal, even if [f] is journalized. *) - -module Binding: sig - val add: 'a Type.t -> 'a -> string -> unit - (** [add ty v var] binds the value [v] to the variable name [var]. Thus, - [pp ty v] prints [var] and not use the standard pretty printer. Very - useful to pretty print values with no associated pretty printer. *) - - exception Name_already_exists of string - val add_once: 'a Type.t -> 'a -> string -> unit - (** Same as function [add] above but raise the exception [Already_exists] - if the binding previously exists *) -end - -(* JS 2012/02/07: useful only for BM introspection testing ;-) *) -module Reverse_binding: sig - - (* Raised by [find] *) - exception Unbound_value of string - exception Incompatible_type of string - - val fill: unit -> unit - val find: string -> 'a Type.t -> 'a - val iter: (string -> 'a Type.t -> 'a -> unit) -> unit - val pretty: Format.formatter -> unit -> unit -end - -(* ****************************************************************************) -(** {2 Journal management} *) -(* ****************************************************************************) - -val get_name: unit -> Datatype.Filepath.t -(** @return the filename which the journal will be written into. *) - -val set_name: string -> unit -(** [set_name name] changes the filename into the journal is generated. *) - -val write: unit -> unit -(** [write ()] writes the content of the journal into the file set by - [set_name] (or in "frama_c_journal.ml" by default); - without clearing the journal. *) - -val save: unit -> unit -(** Save the current state of the journal for future restoration. - @since Beryllium-20090901 *) - -val restore: unit -> unit -(** Restore a previously saved journal. - @since Beryllium-20090901 *) - -(* ****************************************************************************) -(** {2 Internal use only} *) -(* ****************************************************************************) - -val keep_file: Datatype.Filepath.t -> unit -(** This function is not to be used explicitly. Only offers functions - retrieving when running a journal file. *) - -val get_session_file: (string -> Datatype.Filepath.t) ref - -(* -Local Variables: -compile-command: "make -C ../../.." -End: -*) diff --git a/src/kernel_services/plugin_entry_points/kernel.ml b/src/kernel_services/plugin_entry_points/kernel.ml index 18fde06c19965c206605b21047018bcd90071342..e74a9d56bb29f89c21dfc3fea853c2e61aa60468 100644 --- a/src/kernel_services/plugin_entry_points/kernel.ml +++ b/src/kernel_services/plugin_entry_points/kernel.ml @@ -320,7 +320,6 @@ module Kernel_function_set(X: Input_with_arg) = let () = Parameter_customize.set_group help let () = Parameter_customize.set_cmdline_stage Cmdline.Exiting -let () = Parameter_customize.do_not_journalize () let () = Parameter_customize.set_negative_option_name "" module GeneralHelp = False @@ -335,7 +334,6 @@ let () = GeneralHelp.add_aliases [ "-h"; "-help"] let () = Parameter_customize.set_group help let () = Parameter_customize.set_cmdline_stage Cmdline.Exiting -let () = Parameter_customize.do_not_journalize () let () = Parameter_customize.set_negative_option_name "" module ListPlugins = False @@ -445,7 +443,6 @@ module PrintConfigJson = let () = Parameter_customize.set_group help let () = Parameter_customize.set_cmdline_stage Cmdline.Exiting -let () = Parameter_customize.do_not_journalize () let () = Parameter_customize.set_negative_option_name "" module AutocompleteHelp = P.String_set @@ -474,7 +471,6 @@ let _ = let () = Parameter_customize.set_group help let () = Parameter_customize.set_cmdline_stage Cmdline.Extending -let () = Parameter_customize.do_not_journalize () let () = Parameter_customize.set_negative_option_name "" module Explain = False @@ -498,7 +494,6 @@ let () = let () = Parameter_customize.set_group messages let () = Parameter_customize.do_not_projectify () -let () = Parameter_customize.do_not_journalize () let () = Parameter_customize.set_cmdline_stage Cmdline.Early let () = Parameter_customize.is_reconfigurable () module GeneralVerbose = @@ -520,7 +515,6 @@ let () = let () = Parameter_customize.set_group messages let () = Parameter_customize.do_not_projectify () -let () = Parameter_customize.do_not_journalize () let () = Parameter_customize.set_cmdline_stage Cmdline.Early let () = Parameter_customize.is_reconfigurable () module GeneralDebug = @@ -548,7 +542,6 @@ let () = Parameter_customize.set_negative_option_name "" let () = Parameter_customize.set_cmdline_stage Cmdline.Early let () = Parameter_customize.is_reconfigurable () let () = Parameter_customize.do_not_projectify () -let () = Parameter_customize.do_not_journalize () module Quiet = Bool (struct @@ -563,7 +556,6 @@ let () = let () = Parameter_customize.set_group messages let () = Parameter_customize.set_cmdline_stage Cmdline.Extended -let () = Parameter_customize.do_not_journalize () let () = Parameter_customize.do_not_projectify () module Unicode = struct include True @@ -573,9 +565,7 @@ module Unicode = struct let help = "use utf8 in messages" end) (* This function behaves nicely with the Gui, that detects if command-line - arguments have been set by the user at some point. One possible improvement - would be to bypass journalization entirely, but this requires an API - change in Plugin *) + arguments have been set by the user at some point. *) let without_unicode f arg = let old, default = get (), not (is_set ()) in off (); @@ -906,45 +896,6 @@ let bootstrap_loader () = let () = Cmdline.load_all_plugins := bootstrap_loader -module Journal = struct - let () = Parameter_customize.set_negative_option_name "-journal-disable" - let () = Parameter_customize.set_cmdline_stage Cmdline.Early - let () = Parameter_customize.set_group saveload - let () = Parameter_customize.do_not_projectify () - module Enable = struct - include Bool - (struct - let module_name = "Journal.Enable" - let default = Cmdline.journal_enable - let option_name = "-journal-enable" - let help = "dump a journal while Frama-C exit" - end) - let is_set () = Cmdline.journal_isset - end - let () = Parameter_customize.set_group saveload - let () = Parameter_customize.do_not_projectify () - module Name = - String - (struct - let module_name = "Journal.Name" - let option_name = "-journal-name" - let default = - let dir = - (* duplicate code from Plugin.Session *) - if Session.is_set () - then - (Session.get () :> string) - else - try Sys.getenv "FRAMAC_SESSION" - with Not_found -> "./.frama-c" - in - dir ^ "/frama_c_journal.ml" - let arg_name = "s" - let help = "set the filename of the journal" - end) - let () = Name.add_set_hook (fun _ s -> Journal.set_name s); -end - let () = Parameter_customize.set_cmdline_stage Cmdline.Extending let () = Parameter_customize.set_group saveload let () = Parameter_customize.do_not_projectify () diff --git a/src/kernel_services/plugin_entry_points/kernel.mli b/src/kernel_services/plugin_entry_points/kernel.mli index ee8a7b424fcd4f5ed9e2592738a0d95730d8705f..15a26b10d975adf07b32a47e0a96a53bffd0f694 100644 --- a/src/kernel_services/plugin_entry_points/kernel.mli +++ b/src/kernel_services/plugin_entry_points/kernel.mli @@ -370,17 +370,6 @@ module LoadModule: Parameter_sig.String_list module AutoLoadPlugins: Parameter_sig.Bool (** Behavior of option "-autoload-plugins" *) -(** Kernel for journalization. *) -module Journal: sig - - module Enable: Parameter_sig.Bool - (** Behavior of option "-journal-enable" *) - - module Name: Parameter_sig.String - (** Behavior of option "-journal-name" *) - -end - module Session_dir: Parameter_sig.Filepath (** Directory in which session files are searched. @since Neon-20140301 diff --git a/src/kernel_services/plugin_entry_points/plugin.ml b/src/kernel_services/plugin_entry_points/plugin.ml index 3b3b5d8838ec48e326e7cabc397b53978cf912bb..a2c3b6c252cc5664bbc694788e5f360f8038eac0 100644 --- a/src/kernel_services/plugin_entry_points/plugin.ml +++ b/src/kernel_services/plugin_entry_points/plugin.ml @@ -466,11 +466,6 @@ struct ] let visible_ref = !session_visible_ref end) - let () = - if is_kernel () - then - Journal.get_session_file := - (fun s -> Session.get_file ~mode:`Create_path s) module Config = Make_specific_dir @@ -526,7 +521,6 @@ struct let output_mode modname optname = Parameter_customize.set_group messages; Parameter_customize.do_not_projectify (); - Parameter_customize.do_not_journalize (); Parameter_customize.is_reconfigurable (); if is_kernel () then begin Parameter_customize.set_cmdline_stage Cmdline.Early; diff --git a/src/libraries/datatype/datatype.ml b/src/libraries/datatype/datatype.ml index 0db6b38c6c5659189e009ccf723ca23329f88d65..73a64e236999349175c7d5a58230654659ced653 100644 --- a/src/libraries/datatype/datatype.ml +++ b/src/libraries/datatype/datatype.ml @@ -29,10 +29,7 @@ type 'a t = compare: 'a -> 'a -> int; hash: 'a -> int; copy: 'a -> 'a; - internal_pretty_code: Type.precedence -> Format.formatter -> 'a -> unit; - pretty_code: Format.formatter -> 'a -> unit; pretty: Format.formatter -> 'a -> unit; - varname: 'a -> string; mem_project: (Project_skeleton.t -> bool) -> 'a -> bool } type 'a info = 'a t @@ -51,10 +48,7 @@ module type S_no_copy = sig val equal: t -> t -> bool val compare: t -> t -> int val hash: t -> int - val pretty_code: Format.formatter -> t -> unit - val internal_pretty_code: Type.precedence -> Format.formatter -> t -> unit val pretty: Format.formatter -> t -> unit - val varname: t -> string val mem_project: (Project_skeleton.t -> bool) -> t -> bool end @@ -82,11 +76,7 @@ let equal ty = (internal_info "equal" ty).equal let compare ty = (internal_info "compare" ty).compare let hash ty = (internal_info "hash" ty).hash let copy ty = (internal_info "copy" ty).copy -let internal_pretty_code ty = - (internal_info "internal_pretty_code" ty).internal_pretty_code -let pretty_code ty = (internal_info "pretty_code" ty).pretty_code let pretty ty = (internal_info "pretty" ty).pretty -let varname ty = (internal_info "varname" ty).varname let mem_project ty = (internal_info "mem_project" ty).mem_project let info ty = internal_info "info" ty @@ -99,8 +89,6 @@ let undefined _ = assert false let identity x = x let never_any_project _ _ = false let from_compare _ _ = assert false -let from_pretty_code _ _ = assert false -let pp_fail _ _ _ = assert false module type Undefined = sig val structural_descr: Structural_descr.t @@ -109,9 +97,7 @@ module type Undefined = sig val hash: 'a -> int val rehash: 'a -> 'a val copy: 'a -> 'a - val internal_pretty_code: Type.precedence -> Format.formatter -> 'a -> unit val pretty: Format.formatter -> 'a -> unit - val varname: 'a -> string val mem_project: (Project_skeleton.t -> bool) -> 'a -> bool end @@ -120,9 +106,7 @@ module Partial_undefined = struct let compare = undefined let hash = undefined let copy = undefined - let internal_pretty_code = undefined let pretty = undefined - let varname = undefined let mem_project = undefined end @@ -143,11 +127,6 @@ end (** {2 Generic builders} *) (* ********************************************************************** *) -let valid_varname s = - let r = Str.regexp "[^A-Za-z0-9_]+" in - let s = Str.global_replace r "__" s in - String.uncapitalize_ascii s - let check f fname tname fstr = assert (if f == undefined && Type.may_use_obj () then begin @@ -168,9 +147,7 @@ module Build val hash: t -> int val rehash: t -> t val copy: t -> t - val internal_pretty_code: Type.precedence -> Format.formatter -> t -> unit val pretty: Format.formatter -> t -> unit - val varname: t -> string val mem_project: (Project_skeleton.t -> bool) -> t -> bool end) = struct @@ -186,29 +163,7 @@ struct let hash = T.hash let rehash = T.rehash let copy = T.copy - let internal_pretty_code = T.internal_pretty_code - - let pretty_code = - if T.internal_pretty_code == undefined then undefined - else if T.internal_pretty_code == pp_fail then pp_fail Type.NoPar - else fun fmt x -> - (* Format.printf "pretty code %s@." name;*) - let buf = Buffer.create 17 in - let buffmt = Format.formatter_of_buffer buf in - Format.fprintf buffmt "%a@?" (T.internal_pretty_code Type.NoPar) x; - let f = - Scanf.format_from_string (String.escaped (Buffer.contents buf)) "" - in - Format.fprintf fmt f - - let pretty = - if T.pretty == from_pretty_code then pretty_code - else T.pretty - - let varname = - if T.varname == undefined then undefined - else fun x -> valid_varname (T.varname x) - + let pretty = T.pretty let mem_project = T.mem_project let info = @@ -216,10 +171,7 @@ struct compare = compare; hash = hash; copy = copy; - internal_pretty_code = internal_pretty_code; - pretty_code = pretty_code; pretty = pretty; - varname = varname; mem_project = mem_project } let () = Infos.add info_tbl T.ty info @@ -261,9 +213,7 @@ module type Make_input = sig val compare: t -> t -> int val hash: t -> int val copy: t -> t - val internal_pretty_code: Type.precedence -> Format.formatter -> t -> unit val pretty: Format.formatter -> t -> unit - val varname: t -> string val mem_project: (Project_skeleton.t -> bool) -> t -> bool end @@ -353,14 +303,9 @@ module type Polymorphic2_input = sig ('a -> 'a -> int) -> ('b -> 'b -> int) -> ('a, 'b) t -> ('a, 'b) t -> int val mk_hash: ('a -> int) -> ('b -> int) -> ('a, 'b) t -> int val map: ('a -> 'a) -> ('b -> 'b) -> ('a, 'b) t -> ('a, 'b) t - val mk_internal_pretty_code: - (Type.precedence -> Format.formatter -> 'a -> unit) -> - (Type.precedence -> Format.formatter -> 'b -> unit) -> - Type.precedence -> Format.formatter -> ('a, 'b) t -> unit val mk_pretty: (Format.formatter -> 'a -> unit) -> (Format.formatter -> 'b -> unit) -> Format.formatter -> ('a, 'b) t -> unit - val mk_varname: ('a -> string) -> ('b -> string) -> ('a, 'b) t -> string val mk_mem_project: ((Project_skeleton.t -> bool) -> 'a -> bool) -> ((Project_skeleton.t -> bool) -> 'b -> bool) -> @@ -423,14 +368,7 @@ module Polymorphic2(P: Polymorphic2_input) = struct else*) P.map f1 f2 in build mk T1.copy T2.copy - let internal_pretty_code = - let mk f1 f2 = - if f1 == pp_fail || f2 == pp_fail then pp_fail - else fun p fmt x -> P.mk_internal_pretty_code f1 f2 p fmt x - in - build mk T1.internal_pretty_code T2.internal_pretty_code let pretty = build P.mk_pretty T1.pretty T2.pretty - let varname = build P.mk_varname T1.varname T2.varname let mem_project = let mk f1 f2 = if P.mk_mem_project == undefined then undefined @@ -475,19 +413,11 @@ module Polymorphic3 ('a -> int) -> ('b -> int) -> ('c -> int) -> ('a, 'b, 'c) t -> int val map: ('a -> 'a) -> ('b -> 'b) -> ('c -> 'c) -> ('a, 'b, 'c) t -> ('a, 'b, 'c) t - val mk_internal_pretty_code: - (Type.precedence -> Format.formatter -> 'a -> unit) -> - (Type.precedence -> Format.formatter -> 'b -> unit) -> - (Type.precedence -> Format.formatter -> 'c -> unit) -> - Type.precedence -> Format.formatter -> ('a, 'b, 'c) t -> unit val mk_pretty: (Format.formatter -> 'a -> unit) -> (Format.formatter -> 'b -> unit) -> (Format.formatter -> 'c -> unit) -> Format.formatter -> ('a, 'b, 'c) t -> unit - val mk_varname: - ('a -> string) -> ('b -> string) -> ('c -> string) -> - ('a, 'b, 'c) t -> string val mk_mem_project: ((Project_skeleton.t -> bool) -> 'a -> bool) -> ((Project_skeleton.t -> bool) -> 'b -> bool) -> @@ -554,17 +484,7 @@ struct else*) P.map f1 f2 f3 in build mk T1.copy T2.copy T3.copy - let internal_pretty_code = - let mk f1 f2 f3 = - if f1 == pp_fail || f2 == pp_fail || f3 == pp_fail then pp_fail - else fun p fmt x -> P.mk_internal_pretty_code f1 f2 f3 p fmt x - in - build mk - T1.internal_pretty_code - T2.internal_pretty_code - T3.internal_pretty_code let pretty = build P.mk_pretty T1.pretty T2.pretty T3.pretty - let varname = build P.mk_varname T1.varname T2.varname T3.varname let mem_project = let mk f1 f2 f3 = if P.mk_mem_project == undefined then undefined @@ -619,21 +539,12 @@ module Polymorphic4 val map: ('a -> 'a) -> ('b -> 'b) -> ('c -> 'c) -> ('d -> 'd) -> ('a, 'b, 'c, 'd) t -> ('a, 'b, 'c, 'd) t - val mk_internal_pretty_code: - (Type.precedence -> Format.formatter -> 'a -> unit) -> - (Type.precedence -> Format.formatter -> 'b -> unit) -> - (Type.precedence -> Format.formatter -> 'c -> unit) -> - (Type.precedence -> Format.formatter -> 'd -> unit) -> - Type.precedence -> Format.formatter -> ('a, 'b, 'c, 'd) t -> unit val mk_pretty: (Format.formatter -> 'a -> unit) -> (Format.formatter -> 'b -> unit) -> (Format.formatter -> 'c -> unit) -> (Format.formatter -> 'd -> unit) -> Format.formatter -> ('a, 'b, 'c, 'd) t -> unit - val mk_varname: - ('a -> string) -> ('b -> string) -> ('c -> string) -> ('d -> string) -> - ('a, 'b, 'c, 'd) t -> string val mk_mem_project: ((Project_skeleton.t -> bool) -> 'a -> bool) -> ((Project_skeleton.t -> bool) -> 'b -> bool) -> @@ -704,20 +615,7 @@ struct else*) P.map f1 f2 f3 f4 in build mk T1.copy T2.copy T3.copy T4.copy - let internal_pretty_code = - let mk f1 f2 f3 f4 = - if f1 == pp_fail || f2 == pp_fail || f3 == pp_fail || f4 == pp_fail - then pp_fail - else fun p fmt x -> P.mk_internal_pretty_code f1 f2 f3 f4 p fmt x - in - build mk - T1.internal_pretty_code - T2.internal_pretty_code - T3.internal_pretty_code - T4.internal_pretty_code let pretty = build P.mk_pretty T1.pretty T2.pretty T3.pretty T4.pretty - let varname = - build P.mk_varname T1.varname T2.varname T3.varname T4.varname let mem_project = let mk f1 f2 f3 f4 = if P.mk_mem_project == undefined then undefined @@ -763,16 +661,9 @@ module Pair_arg = struct if x == y then 0 else let n = f1 x1 y1 in if n = 0 then f2 x2 y2 else n let mk_hash f1 f2 (x1,x2) = f1 x1 + 1351 * f2 x2 let map f1 f2 (x1,x2) = f1 x1, f2 x2 - let mk_internal_pretty_code f1 f2 p fmt (x1, x2) = - let pp fmt = - Format.fprintf - fmt "@[<hv 2>%a,@;%a@]" (f1 Type.Tuple) x1 (f2 Type.Tuple) x2 - in - Type.par p Type.Tuple fmt pp - let mk_pretty f1 f2 fmt p = - Format.fprintf fmt "@[%a@]" (* Type.par put the parenthesis *) - (mk_internal_pretty_code (fun _ -> f1) (fun _ -> f2) Type.Basic) p - let mk_varname = undefined + let mk_pretty f1 f2 fmt (x1, x2) = + let pp fmt = Format.fprintf fmt "@[<hv 2>%a,@;%a@]" f1 x1 f2 x2 in + Type.par Type.Basic Type.Tuple fmt pp let mk_mem_project mem1 mem2 f (x1, x2) = mem1 f x1 && mem2 f x2 end @@ -819,10 +710,7 @@ let pair (type typ1) (type typ2) (ty1: typ1 Type.t) (ty2: typ2 Type.t) = let compare = compare X.ty let hash = hash X.ty let copy = copy X.ty - let internal_pretty_code = internal_pretty_code X.ty - let pretty_code = pretty_code X.ty - let pretty = from_pretty_code - let varname = varname ty + let pretty = pretty X.ty let mem_project = mem_project X.ty end in @@ -848,9 +736,7 @@ struct let hash = undefined let rehash = undefined let copy = undefined - let internal_pretty_code = undefined let pretty = undefined - let varname _ = "f" let mem_project = never_any_project let reprs = if Type.may_use_obj () then Type.reprs ty else [ fun _ -> assert false ] @@ -890,12 +776,8 @@ module type Polymorphic_input = sig val mk_compare: ('a -> 'a -> int) -> 'a t -> 'a t -> int val mk_hash: ('a -> int) -> 'a t -> int val map: ('a -> 'a) -> 'a t -> 'a t - val mk_internal_pretty_code: - (Type.precedence -> Format.formatter -> 'a -> unit) -> - Type.precedence -> Format.formatter -> 'a t -> unit val mk_pretty: (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a t -> unit - val mk_varname: ('a -> string) -> 'a t -> string val mk_mem_project: ((Project_skeleton.t -> bool) -> 'a -> bool) -> (Project_skeleton.t -> bool) -> 'a t -> bool @@ -958,15 +840,7 @@ module Polymorphic_gen(P: Polymorphic_input) = struct (*if f == identity then identity else*) fun x -> P.map X.copy x let rehash = R.rehash - - let internal_pretty_code = - let mk f = - if f == pp_fail then pp_fail - else fun p fmt x -> P.mk_internal_pretty_code f p fmt x - in - build mk X.internal_pretty_code let pretty = build P.mk_pretty X.pretty - let varname = build P.mk_varname X.varname let mem_project = let mk f = if P.mk_mem_project == undefined then undefined @@ -1014,12 +888,9 @@ module Poly_ref = let mk_compare f x y = if x == y then 0 else f !x !y let mk_hash f x = f !x let map f x = ref (f !x) - let mk_internal_pretty_code f p fmt x = - let pp fmt = Format.fprintf fmt "@[<hv 2>ref@;%a@]" (f Type.Call) !x in - Type.par p Type.Call fmt pp let mk_pretty f fmt x = - mk_internal_pretty_code (fun _ -> f) Type.Basic fmt x - let mk_varname = undefined + let pp fmt = Format.fprintf fmt "@[<hv 2>ref@;%a@]" f !x in + Type.par Type.Basic Type.Call fmt pp let mk_mem_project mem f x = mem f !x end) @@ -1038,10 +909,7 @@ let t_ref (type typ) (ty: typ Type.t) = let compare = compare ty let hash = hash ty let copy = copy ty - let internal_pretty_code = internal_pretty_code ty - let pretty_code = pretty_code ty - let pretty = from_pretty_code - let varname = varname ty + let pretty = pretty ty let mem_project = mem_project ty end) in @@ -1073,16 +941,13 @@ module Poly_option = | Some x, Some y -> f x y let mk_hash f = function None -> 0 | Some x -> f x let map f = function None -> None | Some x -> Some (f x) - let mk_internal_pretty_code f p fmt = function + let mk_pretty f fmt = function | None -> Format.fprintf fmt "None" | Some x -> let pp fmt = - Format.fprintf fmt "@[<hv 2>Some@;%a@]" (f Type.Call) x + Format.fprintf fmt "@[<hv 2>Some@;%a@]" f x in - Type.par p Type.Call fmt pp - let mk_pretty f fmt x = - mk_internal_pretty_code (fun _ -> f) Type.Basic fmt x - let mk_varname = undefined + Type.par Type.Basic Type.Call fmt pp let mk_mem_project mem f = function None -> false | Some x -> mem f x end) @@ -1102,10 +967,7 @@ let option (type typ) (ty: typ Type.t) = let compare = compare ty let hash = hash ty let copy = copy ty - let internal_pretty_code = internal_pretty_code ty - let pretty_code = pretty_code ty - let pretty = from_pretty_code - let varname = varname ty + let pretty = pretty ty let mem_project = mem_project ty end) in @@ -1146,21 +1008,18 @@ module Poly_list = (0,1) l) with Too_long n -> n let map = List.map - let mk_internal_pretty_code f p fmt l = + let mk_pretty f fmt l = let pp fmt = Format.fprintf fmt "@[<hv 2>[ %t ]@]" (fun fmt -> let rec print fmt = function | [] -> () - | [ x ] -> Format.fprintf fmt "%a" (f Type.List) x - | x :: l -> Format.fprintf fmt "%a;@;%a" (f Type.List) x print l + | [ x ] -> Format.fprintf fmt "%a" f x + | x :: l -> Format.fprintf fmt "%a;@;%a" f x print l in print fmt l) in - Type.par p Type.Basic fmt pp (* Never enclose lists in parentheses *) - let mk_pretty f fmt x = - mk_internal_pretty_code (fun _ -> f) Type.Basic fmt x - let mk_varname = undefined + Type.par Type.Basic Type.Basic fmt pp (* Never enclose lists in parentheses *) let mk_mem_project mem f = List.exists (mem f) end) @@ -1180,10 +1039,7 @@ let list (type typ) (ty: typ Type.t) = let compare = compare ty let hash = hash ty let copy = copy ty - let internal_pretty_code = internal_pretty_code ty - let pretty_code = pretty_code ty - let pretty = from_pretty_code - let varname = varname ty + let pretty = pretty ty let mem_project = mem_project ty end) in @@ -1234,22 +1090,19 @@ module Poly_array = !acc ;; let map = Array.map - let mk_internal_pretty_code f p fmt a = + let mk_pretty f fmt a = let pp fmt = Format.fprintf fmt "@[<hv 2>[| %t |]@]" (fun fmt -> let length = Array.length a in match length with | 0 -> () - | _ -> (Format.fprintf fmt "%a" (f Type.List) a.(0); + | _ -> (Format.fprintf fmt "%a" f a.(0); for i = 1 to (length - 1) do - Format.fprintf fmt ";@;%a" (f Type.List) a.(i) + Format.fprintf fmt ";@;%a" f a.(i) done)) in - Type.par p Type.Basic fmt pp (* Never enclose arrays in parentheses *) - let mk_pretty f fmt x = - mk_internal_pretty_code (fun _ -> f) Type.Basic fmt x - let mk_varname = undefined + Type.par Type.Basic Type.Basic fmt pp (* Never enclose arrays in parentheses *) let mk_mem_project mem f a = try for i = 0 to (Array.length a - 1) do @@ -1274,10 +1127,7 @@ let array (type typ) (ty: typ Type.t) = let compare = compare ty let hash = hash ty let copy = copy ty - let internal_pretty_code = internal_pretty_code ty - let pretty_code = pretty_code ty - let pretty = from_pretty_code - let varname = varname ty + let pretty = pretty ty let mem_project = mem_project ty end) in @@ -1304,9 +1154,7 @@ module Poly_queue = let mk_compare = undefined let mk_hash = undefined let map = undefined - let mk_internal_pretty_code = undefined let mk_pretty = undefined - let mk_varname = undefined let mk_mem_project mem f q = try Queue.iter (fun x -> if mem f x then raise Exit) q; false with Exit -> true @@ -1327,10 +1175,7 @@ let queue (type typ) (ty: typ Type.t) = let compare = compare ty let hash = hash ty let copy = copy ty - let internal_pretty_code = internal_pretty_code ty - let pretty_code = pretty_code ty - let pretty = from_pretty_code - let varname = varname ty + let pretty = pretty ty let mem_project = mem_project ty end) in @@ -1375,27 +1220,6 @@ struct (* if E.copy == identity then identity else*) fun s -> S.fold (fun x -> S.add (E.copy x)) s S.empty - let internal_pretty_code p_caller fmt s = - if is_empty s then - Format.fprintf fmt "%s.empty" Info.module_name - else - let pp fmt = - if S.cardinal s = 1 then - Format.fprintf fmt "@[<hv 2>%s.singleton@;%a@]" - Info.module_name - (E.internal_pretty_code Type.Call) - (Caml_list.hd (S.elements s)) - else - Format.fprintf fmt - "@[<hv 2>List.fold_left@;\ - (fun acc s -> %s.add s acc)@;%s.empty@;%a@]" - Info.module_name - Info.module_name - (let module L = List(E) in L.internal_pretty_code Type.Call) - (S.elements s) - in - Type.par p_caller Type.Call fmt pp - let pretty fmt s = let pp_elt pp fmt v = Format.fprintf fmt "@[%a@]" pp v @@ -1404,7 +1228,6 @@ struct ~pre:"@[<hov 2>{@ " ~sep:";@ " ~suf:"@ }@]" S.iter (pp_elt E.pretty) fmt s - let varname = undefined let mem_project p s = try S.iter (fun x -> if E.mem_project p x then raise Exit) s; false with Exit -> true @@ -1424,10 +1247,7 @@ struct let equal = P.equal let compare = P.compare let hash = P.hash - let internal_pretty_code = P.internal_pretty_code - let pretty_code = P.pretty_code let pretty = P.pretty - let varname = P.varname let mem_project = P.mem_project let copy = P.copy @@ -1459,28 +1279,6 @@ struct let mk_equal = M.equal let mk_hash = undefined let map = M.map - let mk_internal_pretty_code = undefined - (*f_value p_caller fmt map = - (* [JS 2011/04/01] untested code! *) - let pp_empty fmt = Format.fprintf fmt "%s.empty" Info.module_name in - if M.is_empty map then - Type.par p_caller Type.Basic fmt pp_empty - else - let pp fmt = - Format.fprintf - fmt "@[<hv 2>@[<hv 2>let map =@;%t@;<1 -2>in@]" pp_empty; - M.iter - (fun k v -> - Format.fprintf - fmt - "@[<hv 2>let map =@;%s.add@;@[<hv 2>map@;%a@;%a@]@;<1 -2>in@]" - Info.module_name - (Key.internal_pretty_code Type.Call) k - (f_value Type.Call) v) - map; - Format.fprintf fmt "@[map@]@]" - in - Type.par p_caller Type.Call fmt pp*) let mk_pretty f_value fmt map = Format.fprintf fmt "@[{{ "; M.iter @@ -1490,9 +1288,6 @@ struct f_value v) map; Format.fprintf fmt " }}@]" - let mk_varname _ = - if Key.varname == undefined then undefined - else fun _ -> Format.sprintf "%s_map" Key.name let mk_mem_project = if Key.mem_project == undefined then undefined else @@ -1570,9 +1365,7 @@ struct let h2 = H.create (H.length tbl) (* may be very memory-consuming *) in H.iter (fun k v -> H.add h2 k v) h; h2 - let mk_internal_pretty_code = undefined - let mk_pretty = from_pretty_code - let mk_varname = undefined + let mk_pretty = undefined let mk_mem_project = if Key.mem_project == undefined then undefined else @@ -1624,7 +1417,6 @@ struct let descr = Descr.of_type ty let packed_descr = Descr.pack descr let reprs = Type.reprs ty - let pretty_code = undefined end) in M.ty @@ -1729,7 +1521,6 @@ module Simple_type val reprs: t list val pretty: Format.formatter -> t -> unit val copy: t -> t - val varname: t -> string val compare: t -> t -> int val equal: t -> t -> bool end) = @@ -1748,10 +1539,7 @@ struct let hash = FCHashtbl.hash let rehash = identity let copy = X.copy - let internal_pretty_code = - if X.pretty == undefined then undefined else fun _ -> X.pretty let pretty = X.pretty - let varname = X.varname let mem_project = never_any_project end)) (struct let module_name = module_name end) @@ -1770,7 +1558,6 @@ module Unit = let compare () () = 0 let equal () () = true let pretty fmt () = Format.fprintf fmt "()" - let varname = undefined end) let unit = Unit.ty @@ -1784,7 +1571,6 @@ module Bool = let compare : bool -> bool -> int = Stdlib.compare let equal : bool -> bool -> bool = (=) let pretty fmt b = Format.fprintf fmt "%B" b - let varname _ = "b" end) let bool = Bool.ty @@ -1798,7 +1584,6 @@ module Int = struct let compare : int -> int -> int = Stdlib.compare let equal : int -> int -> bool = (=) let pretty fmt n = Format.fprintf fmt "%d" n - let varname _ = "n" end) let compare : int -> int -> int = Stdlib.compare end @@ -1814,7 +1599,6 @@ module Int32 = let compare = Int32.compare let equal : int32 -> int32 -> bool = (=) let pretty fmt n = Format.fprintf fmt "%ld" n - let varname _ = "n32" end) let int32 = Int32.ty @@ -1828,7 +1612,6 @@ module Int64 = let compare = Int64.compare let equal : int64 -> int64 -> bool = (=) let pretty fmt n = Format.fprintf fmt "%Ld" n - let varname _ = "n64" end) let int64 = Int64.ty @@ -1842,7 +1625,6 @@ module Nativeint = let compare = Nativeint.compare let equal : nativeint -> nativeint -> bool = (=) let pretty fmt n = Format.fprintf fmt "%nd" n - let varname _ = "native_n" end) let nativeint = Nativeint.ty @@ -1856,7 +1638,6 @@ module Float = let compare : float -> float -> int = Stdlib.compare let equal : float -> float -> bool = (=) let pretty fmt f = Format.fprintf fmt "%f" f - let varname _ = "f" end) let float = Float.ty @@ -1870,7 +1651,6 @@ module Char = let compare = Char.compare let equal : char -> char -> bool = (=) let pretty fmt c = Format.fprintf fmt "%c" c - let varname _ = "c" end) let char = Char.ty @@ -1884,7 +1664,6 @@ module String = let compare = String.compare let equal : string -> string -> bool = (=) let pretty fmt s = Format.fprintf fmt "%S" s - let varname _ = "s" end) let string = String.ty @@ -1900,9 +1679,7 @@ module Formatter = let hash = undefined let rehash = undefined let copy = undefined - let internal_pretty_code = undefined let pretty = undefined - let varname _ = "fmt" let mem_project = never_any_project end) let formatter = Formatter.ty @@ -1919,17 +1696,8 @@ module Integer = let hash = Integer.hash let rehash = identity let copy = identity - let internal_pretty_code par fmt n = - let pp fmt = - Format.fprintf - fmt - "Integer.of_string %S" - (Integer.to_string n) - in - Type.par par Type.Call fmt pp (* TODO: this should take into account kernel's option -big-ints-hex *) let pretty = Integer.pretty - let varname _ = "integer_n" let mem_project = never_any_project end) let integer = Integer.ty @@ -1944,7 +1712,6 @@ module Filepath = struct let compare = Filepath.Normalized.compare let equal : t -> t -> bool = (=) let pretty = Filepath.Normalized.pretty - let varname _ = "p" end) let dummy = Filepath.Normalized.empty let of_string ?existence ?base_name s = @@ -1977,21 +1744,11 @@ module Triple_arg = struct else n let mk_hash f1 f2 f3 (x1,x2,x3) = f1 x1 + 1351 * f2 x2 + 257 * f3 x3 let map f1 f2 f3 (x1,x2,x3) = f1 x1, f2 x2, f3 x3 - let mk_internal_pretty_code f1 f2 f3 p fmt (x1, x2, x3) = + let mk_pretty f1 f2 f3 fmt (x1, x2, x3) = let pp fmt = - Format.fprintf - fmt "@[<hv 2>%a,@;%a,@;%a@]" - (f1 Type.Tuple) x1 - (f2 Type.Tuple) x2 - (f3 Type.Tuple) x3 + Format.fprintf fmt "@[<hv 2>%a,@;%a,@;%a@]" f1 x1 f2 x2 f3 x3 in - Type.par p Type.Tuple fmt pp - let mk_pretty f1 f2 f3 fmt p = - Format.fprintf fmt "@[(%a)@]" - (mk_internal_pretty_code - (fun _ -> f1) (fun _ -> f2) (fun _ -> f3) Type.Basic) - p - let mk_varname = undefined + Type.par Type.Basic Type.Tuple fmt pp let mk_mem_project mem1 mem2 mem3 f (x1, x2, x3) = mem1 f x1 && mem2 f x2 && mem3 f x3 end @@ -2042,10 +1799,7 @@ let triple let compare = compare X.ty let hash = hash X.ty let copy = copy X.ty - let internal_pretty_code = internal_pretty_code X.ty - let pretty_code = pretty_code X.ty - let pretty = from_pretty_code - let varname = varname ty + let pretty = pretty X.ty let mem_project = mem_project X.ty end in @@ -2086,22 +1840,11 @@ module Quadruple_arg = struct let mk_hash f1 f2 f3 f4 (x1,x2,x3,x4) = f1 x1 + 1351 * f2 x2 + 257 * f3 x3 + 997 * f4 x4 let map f1 f2 f3 f4 (x1,x2,x3,x4) = f1 x1, f2 x2, f3 x3, f4 x4 - let mk_internal_pretty_code f1 f2 f3 f4 p fmt (x1, x2, x3, x4) = + let mk_pretty f1 f2 f3 f4 fmt (x1, x2, x3, x4) = let pp fmt = - Format.fprintf - fmt "@[<hv 2>%a,@;%a,@;%a,@;%a@]" - (f1 Type.Tuple) x1 - (f2 Type.Tuple) x2 - (f3 Type.Tuple) x3 - (f4 Type.Tuple) x4 + Format.fprintf fmt "@[<hv 2>%a,@;%a,@;%a,@;%a@]" f1 x1 f2 x2 f3 x3 f4 x4 in - Type.par p Type.Tuple fmt pp - let mk_pretty f1 f2 f3 f4 fmt p = - Format.fprintf fmt "@[(%a)@]" - (mk_internal_pretty_code - (fun _ -> f1) (fun _ -> f2) (fun _ -> f3) (fun _ -> f4) Type.Basic) - p - let mk_varname = undefined + Type.par Type.Basic Type.Tuple fmt pp let mk_mem_project mem1 mem2 mem3 mem4 f (x1, x2, x3, x4) = mem1 f x1 && mem2 f x2 && mem3 f x3 && mem4 f x4 end @@ -2157,10 +1900,7 @@ let quadruple let compare = compare X.ty let hash = hash X.ty let copy = copy X.ty - let internal_pretty_code = internal_pretty_code X.ty - let pretty_code = pretty_code X.ty - let pretty = from_pretty_code - let varname = varname ty + let pretty = pretty X.ty let mem_project = mem_project X.ty end in diff --git a/src/libraries/datatype/datatype.mli b/src/libraries/datatype/datatype.mli index e95523ff55e646e920e5a8b26e1d1402b99df894..965b8172c6381ec4e4606d8841b0b327d4a4190e 100644 --- a/src/libraries/datatype/datatype.mli +++ b/src/libraries/datatype/datatype.mli @@ -30,16 +30,16 @@ (* ********************************************************************** *) (** Values associated to each datatype. - Some others are provided directly in module {!Type}. *) + Some others are provided directly in module {!Type}. + @before Frama-C+dev there was additional fields only used for Journalization + that has been removed. +*) type 'a t = private { equal: 'a -> 'a -> bool; compare: 'a -> 'a -> int; hash: 'a -> int; copy: 'a -> 'a; - internal_pretty_code: Type.precedence -> Format.formatter -> 'a -> unit; - pretty_code: Format.formatter -> 'a -> unit; pretty: Format.formatter -> 'a -> unit; - varname: 'a -> string; mem_project: (Project_skeleton.t -> bool) -> 'a -> bool } (** A type with its type value. *) @@ -48,7 +48,10 @@ module type Ty = sig val ty: t Type.t end -(** All values associated to a datatype, excepted [copy]. *) +(** All values associated to a datatype, excepted [copy]. + @before Frama-C+dev there was several additional values only used for + Journalization that has been removed. +*) module type S_no_copy = sig include Ty @@ -74,21 +77,9 @@ module type S_no_copy = sig val hash: t -> int (** Hash function: same spec than [Hashtbl.hash]. *) - val pretty_code: Format.formatter -> t -> unit - (** Pretty print each value in an ML-like style: the result must be a valid - OCaml expression. Only useful for journalisation. *) - - val internal_pretty_code: Type.precedence -> Format.formatter -> t -> unit - (** Same spec than [pretty_code], but must take care of the precedence of the - context in order to put parenthesis if required. See {!Type.par}. *) - val pretty: Format.formatter -> t -> unit (** Pretty print each value in an user-friendly way. *) - val varname: t -> string - (** A good prefix name to use for an OCaml variable of this type. Only useful - for journalisation. *) - val mem_project: (Project_skeleton.t -> bool) -> t -> bool (** [mem_project f x] must return [true] iff there is a value [p] of type [Project.t] in [x] such that [f p] returns [true]. *) @@ -111,11 +102,7 @@ val equal: 'a Type.t -> 'a -> 'a -> bool val compare: 'a Type.t -> 'a -> 'a -> int val hash: 'a Type.t -> 'a -> int val copy: 'a Type.t -> 'a -> 'a -val internal_pretty_code: - 'a Type.t -> Type.precedence -> Format.formatter -> 'a -> unit -val pretty_code: 'a Type.t -> Format.formatter -> 'a -> unit val pretty: 'a Type.t -> Format.formatter -> 'a -> unit -val varname: 'a Type.t -> 'a -> string val mem_project: 'a Type.t -> (Project_skeleton.t -> bool) -> 'a -> bool (* ********************************************************************** *) @@ -135,22 +122,17 @@ val from_compare: 'a -> 'a -> bool (** Must be used for [equal] in order to implement it by [compare x y = 0] (with your own [compare] function). *) -val from_pretty_code: Format.formatter -> 'a -> unit -(** Must be used for [pretty] in order to implement it by [pretty_code] - provided by the datatype from your own [internal_pretty_code] function. *) - val never_any_project: (Project_skeleton.t -> bool) -> 'a -> bool (** Must be used for [mem_project] if values of your type does never contain any project. @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide *) -val pp_fail: Type.precedence -> Format.formatter -> 'a -> unit -(** Must be used for [internal_pretty_code] if this pretty-printer must - fail only when called. - @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide *) - (** Sub-signature of {!S}. - @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide *) + @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide + + @before Frama-C+dev there was several additional values only used for + Journalization that has been removed. +*) module type Undefined = sig val structural_descr: Structural_descr.t val equal: 'a -> 'a -> bool @@ -158,9 +140,7 @@ module type Undefined = sig val hash: 'a -> int val rehash: 'a -> 'a val copy: 'a -> 'a - val internal_pretty_code: Type.precedence -> Format.formatter -> 'a -> unit val pretty: Format.formatter -> 'a -> unit - val varname: 'a -> string val mem_project: (Project_skeleton.t -> bool) -> 'a -> bool end @@ -187,7 +167,11 @@ module Serializable_undefined: Undefined (** Input signature of {!Make} and {!Make_with_collections}. Values to implement in order to get a datatype. - Feel free to use easy builders (see above) for easy implementation. *) + Feel free to use easy builders (see above) for easy implementation. + + @before Frama-C+dev there was several additional values only used for + Journalization that has been removed. +*) module type Make_input = sig type t (** Type for this datatype *) @@ -215,9 +199,7 @@ module type Make_input = sig val compare: t -> t -> int val hash: t -> int val copy: t -> t - val internal_pretty_code: Type.precedence -> Format.formatter -> t -> unit val pretty: Format.formatter -> t -> unit - val varname: t -> string val mem_project: (Project_skeleton.t -> bool) -> t -> bool end @@ -366,7 +348,11 @@ module type Polymorphic = sig end (** Functor for polymorphic types with only 1 type variable. - @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide *) + @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide + + @before Frama-C+dev the functor had several additional values only used for + Journalization that has been removed. +*) module Polymorphic (P: sig include Type.Polymorphic_input @@ -374,12 +360,8 @@ module Polymorphic val mk_compare: ('a -> 'a -> int) -> 'a t -> 'a t -> int val mk_hash: ('a -> int) -> 'a t -> int val map: ('a -> 'a) -> 'a t -> 'a t - val mk_internal_pretty_code: - (Type.precedence -> Format.formatter -> 'a -> unit) -> - Type.precedence -> Format.formatter -> 'a t -> unit val mk_pretty: (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a t -> unit - val mk_varname: ('a -> string) -> 'a t -> string val mk_mem_project: ((Project_skeleton.t -> bool) -> 'a -> bool) -> (Project_skeleton.t -> bool) -> 'a t -> bool @@ -393,7 +375,11 @@ module type Polymorphic2 = sig end (** Functor for polymorphic types with 2 type variables. - @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide *) + @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide + + @before Frama-C+dev the functor had several additional values only used for + Journalization that has been removed. +*) module Polymorphic2 (P: sig include Type.Polymorphic2_input @@ -404,14 +390,9 @@ module Polymorphic2 ('a -> 'a -> int) -> ('b -> 'b -> int) -> ('a, 'b) t -> ('a, 'b) t -> int val mk_hash: ('a -> int) -> ('b -> int) -> ('a, 'b) t -> int val map: ('a -> 'a) -> ('b -> 'b) -> ('a, 'b) t -> ('a, 'b) t - val mk_internal_pretty_code: - (Type.precedence -> Format.formatter -> 'a -> unit) -> - (Type.precedence -> Format.formatter -> 'b -> unit) -> - Type.precedence -> Format.formatter -> ('a, 'b) t -> unit val mk_pretty: (Format.formatter -> 'a -> unit) -> (Format.formatter -> 'b -> unit) -> Format.formatter -> ('a, 'b) t -> unit - val mk_varname: ('a -> string) -> ('b -> string) -> ('a, 'b) t -> string val mk_mem_project: ((Project_skeleton.t -> bool) -> 'a -> bool) -> ((Project_skeleton.t -> bool) -> 'b -> bool) -> @@ -428,7 +409,10 @@ end (** Functor for polymorphic types with 3 type variables. @since Oxygen-20120901 - @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide *) + @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide + @before Frama-C+dev the functor had several additional values only used for + Journalization that has been removed. +*) module Polymorphic3 (P: sig include Type.Polymorphic3_input @@ -443,19 +427,11 @@ module Polymorphic3 ('a -> int) -> ('b -> int) -> ('c -> int) -> ('a, 'b, 'c) t -> int val map: ('a -> 'a) -> ('b -> 'b) -> ('c -> 'c) -> ('a, 'b, 'c) t -> ('a, 'b, 'c) t - val mk_internal_pretty_code: - (Type.precedence -> Format.formatter -> 'a -> unit) -> - (Type.precedence -> Format.formatter -> 'b -> unit) -> - (Type.precedence -> Format.formatter -> 'c -> unit) -> - Type.precedence -> Format.formatter -> ('a, 'b, 'c) t -> unit val mk_pretty: (Format.formatter -> 'a -> unit) -> (Format.formatter -> 'b -> unit) -> (Format.formatter -> 'c -> unit) -> Format.formatter -> ('a, 'b, 'c) t -> unit - val mk_varname: - ('a -> string) -> ('b -> string) -> ('c -> string) -> - ('a, 'b, 'c) t -> string val mk_mem_project: ((Project_skeleton.t -> bool) -> 'a -> bool) -> ((Project_skeleton.t -> bool) -> 'b -> bool) -> @@ -474,7 +450,10 @@ end (** Functor for polymorphic types with 4 type variables. @since Oxygen-20120901 - @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide *) + @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide + @before Frama-C+dev the functor had several additional values only used for + Journalization that has been removed. +*) module Polymorphic4 (P: sig include Type.Polymorphic4_input @@ -493,21 +472,12 @@ module Polymorphic4 val map: ('a -> 'a) -> ('b -> 'b) -> ('c -> 'c) -> ('d -> 'd) -> ('a, 'b, 'c, 'd) t -> ('a, 'b, 'c, 'd) t - val mk_internal_pretty_code: - (Type.precedence -> Format.formatter -> 'a -> unit) -> - (Type.precedence -> Format.formatter -> 'b -> unit) -> - (Type.precedence -> Format.formatter -> 'c -> unit) -> - (Type.precedence -> Format.formatter -> 'd -> unit) -> - Type.precedence -> Format.formatter -> ('a, 'b, 'c, 'd) t -> unit val mk_pretty: (Format.formatter -> 'a -> unit) -> (Format.formatter -> 'b -> unit) -> (Format.formatter -> 'c -> unit) -> (Format.formatter -> 'd -> unit) -> Format.formatter -> ('a, 'b, 'c, 'd) t -> unit - val mk_varname: - ('a -> string) -> ('b -> string) -> ('c -> string) -> ('d -> string) -> - ('a, 'b, 'c, 'd) t -> string val mk_mem_project: ((Project_skeleton.t -> bool) -> 'a -> bool) -> ((Project_skeleton.t -> bool) -> 'b -> bool) -> diff --git a/src/libraries/project/project.ml b/src/libraries/project/project.ml index 846407b26e1ddf5773036e0fb42a7ba7a713575c..691c2a71679150a14e37fffcab248713a8604bb0 100644 --- a/src/libraries/project/project.ml +++ b/src/libraries/project/project.ml @@ -51,14 +51,7 @@ module D = let hash p = p.pid let rehash x = !rehash_ref x let copy = Datatype.undefined - let internal_pretty_code p_caller fmt p = - let pp f = - Format.fprintf - f "@[<hv 2>Project.from_unique_name@;%S@]" p.unique_name - in - Type.par p_caller Type.Call fmt pp let pretty fmt p = Format.fprintf fmt "project %S" p.unique_name - let varname p = "p_" ^ p.name let mem_project f x = f x end) include (D: Datatype.S_no_copy with type t = Project_skeleton.t) @@ -249,8 +242,6 @@ let guarded_feedback selection level fmt_msg = else Pretty_utils.nullprintf fmt_msg -let dft_sel () = State_selection.full - module Q = Qstack.Make(struct type t = project let equal = equal end) let projects = Q.create () @@ -283,20 +274,14 @@ module Mem = struct end module Setter = Make_setter(Mem) -let unjournalized_set_name p s = +let set_name p s = feedback ~dkey ~level:2 "renaming project %S to %S" p.unique_name s; Setter.set_name p s -let set_name = - Journal.register - "Project.set_name" - (Datatype.func2 ty Datatype.string Datatype.unit) - unjournalized_set_name - module Create_Hook = Hook.Build(struct type t = project end) let register_create_hook = Create_Hook.extend -let force_create name = +let create name = feedback ~dkey ~level:2 "creating project %S" name; let p = Setter.make name in feedback ~dkey ~level:3 "its unique name is %S" p.unique_name; @@ -305,18 +290,6 @@ let force_create name = Create_Hook.apply p; p -let journalized_create = - Journal.register - "Project.create" (Datatype.func Datatype.string ty) force_create - -(* do not journalise the first call to [create] *) -let create = - let first = ref true in - fun name -> - let p = if !first then force_create name else journalized_create name in - first := false; - p - let get_name p = p.name let get_unique_name p = p.unique_name @@ -328,7 +301,7 @@ module Set_Current_Hook = Hook.Build(struct type t = project end) let register_after_set_current_hook ~user_only = if user_only then Set_Current_Hook_User.extend else Set_Current_Hook.extend -let unjournalized_set_current = +let force_set_current = let apply_hook = ref false in fun on selection p -> if not (Q.mem p projects) then @@ -350,16 +323,8 @@ let unjournalized_set_current = apply_hook := false end -let journalized_set_current = - let lbl = Datatype.optlabel_func in - Journal.register "Project.set_current" - (lbl "on" (fun () -> false) Datatype.bool - (lbl "selection" dft_sel State_selection.ty - (Datatype.func ty Datatype.unit))) - unjournalized_set_current - let set_current ?(on=false) ?(selection=State_selection.full) p = - if not (equal p (current ())) then journalized_set_current on selection p + if not (equal p (current ())) then force_set_current on selection p let set_current_as_last_created () = Option.iter (fun p -> set_current p) !last_created_by_copy_ref @@ -367,12 +332,7 @@ let set_current_as_last_created () = (** Indicates if we should keep [p] as the current project when calling {!on p}. *) let keep_current: bool ref = ref false -let unjournalized_set_keep_current b = keep_current := b - -let set_keep_current = - Journal.register "Project.set_keep_current" - (Datatype.func Datatype.bool Datatype.unit) - unjournalized_set_keep_current +let set_keep_current b = keep_current := b let on ?selection p f x = let old_current = current () in @@ -415,7 +375,7 @@ exception Cannot_remove of string module Before_remove = Hook.Build(struct type t = project end) let register_before_remove_hook = Before_remove.extend -let unjournalized_remove project = +let remove ?(project=current()) () = feedback ~dkey ~level:2 "removing project %S" project.unique_name; if Q.length projects = 1 then raise (Cannot_remove project.unique_name); Before_remove.apply project; @@ -435,15 +395,6 @@ let unjournalized_remove project = !last_created_by_copy_ref; (* clear all the states of other projects referring to the delete project *) Q.iter (States_operations.clear_some_projects (equal project)) projects -(* Gc.major ()*) - -let journalized_remove = - Journal.register "Project.remove" - (Datatype.optlabel_func - "project" current ty (Datatype.func Datatype.unit Datatype.unit)) - (fun project () -> unjournalized_remove project) - -let remove ?(project=current()) () = journalized_remove project () let remove_all () = feedback ~dkey ~level:2 "removing all existing projects"; @@ -456,19 +407,11 @@ let remove_all () = with NoProject -> () -let journalized_copy = - let lbl = Datatype.optlabel_func in - Journal.register "Project.copy" - (lbl "selection" dft_sel State_selection.ty - (lbl "src" current ty (Datatype.func ty Datatype.unit))) - (fun selection src dst -> - guarded_feedback selection 2 "copying project from %S to %S" - src.unique_name dst.unique_name; - States_operations.commit ~selection src; - States_operations.copy ~selection src dst) - let copy ?(selection=State_selection.full) ?(src=current()) dst = - journalized_copy selection src dst + guarded_feedback selection 2 "copying project from %S to %S" + src.unique_name dst.unique_name; + States_operations.commit ~selection src; + States_operations.copy ~selection src dst module Before_Clear_Hook = Hook.Build(struct type t = project end) let register_todo_before_clear = Before_Clear_Hook.extend @@ -476,31 +419,16 @@ let register_todo_before_clear = Before_Clear_Hook.extend module After_Clear_Hook = Hook.Build(struct type t = project end) let register_todo_after_clear = After_Clear_Hook.extend -let journalized_clear = - let lbl = Datatype.optlabel_func in - Journal.register "Project.clear" - (lbl "selection" dft_sel State_selection.ty - (lbl "project" current ty (Datatype.func Datatype.unit Datatype.unit))) - (fun selection project () -> - guarded_feedback selection 2 "clearing project %S" project.unique_name; - Before_Clear_Hook.apply project; - States_operations.clear ~selection project; - After_Clear_Hook.apply project; - (*Gc.major ()*)) - let clear ?(selection=State_selection.full) ?(project=current()) () = - journalized_clear selection project () + guarded_feedback selection 2 "clearing project %S" project.unique_name; + Before_Clear_Hook.apply project; + States_operations.clear ~selection project; + After_Clear_Hook.apply project -let unjournalized_clear_all () = +let clear_all () = Q.iter States_operations.clear projects; Gc.full_major () -let clear_all = - Journal.register - "Project.clear_all" - (Datatype.func Datatype.unit Datatype.unit) - unjournalized_clear_all - (* ************************************************************************** *) (* Save/load *) (* ************************************************************************** *) @@ -540,36 +468,16 @@ let save_projects selection projects filename = end else abort "saving a file is not supported in the 'no obj' mode" -let unjournalized_save selection project filename = +let save ?(selection=State_selection.full) ?(project=current()) filename = guarded_feedback selection 2 "saving project %S into file %a" project.unique_name Filepath.Normalized.pretty filename; save_projects selection (Q.singleton project) filename -let journalized_save = - let lbl = Datatype.optlabel_func in - Journal.register "Project.save" - (lbl "selection" dft_sel State_selection.ty - (lbl "project" current ty (Datatype.func Datatype.Filepath.ty Datatype.unit))) - unjournalized_save - -let save ?(selection=State_selection.full) ?(project=current()) filename = - journalized_save selection project filename - -let unjournalized_save_all selection filename = +let save_all ?(selection=State_selection.full) filename = guarded_feedback selection 2 "saving the current session into file %a" Filepath.Normalized.pretty filename; save_projects selection projects filename -let journalized_save_all = - let lbl = Datatype.optlabel_func in - Journal.register "Project.save_all" - (lbl "selection" dft_sel State_selection.ty - (Datatype.func Datatype.Filepath.ty Datatype.unit)) - unjournalized_save_all - -let save_all ?(selection=State_selection.full) filename = - journalized_save_all selection filename - module Descr = struct let project_under_copy_ref: project option ref = ref None @@ -655,7 +563,7 @@ module Descr = struct (fun () -> (* Local states must be up-to-date according to [p] when unmarshalling states of [p] *) - unjournalized_set_current true selection p; + force_set_current true selection p; Before_load.apply (); Descr.t_list tbl_on_disk) in @@ -738,56 +646,39 @@ let load_projects ~project_under_copy selection ?name filename = temporarily. *) let true_current = current () in Q.add last projects; - unjournalized_set_current true selection true_current; + force_set_current true selection true_current; Q.remove last projects; After_global_load.apply (); loaded_projects end else abort "loading a file is not supported in the 'no obj' mode" -let unjournalized_load ~project_under_copy selection name filename = +let load_with_copy + ?project_under_copy ?(selection=State_selection.full) ?name filename = guarded_feedback selection 2 "loading the project saved in file %a" Filepath.Normalized.pretty filename; match load_projects ~project_under_copy selection ?name filename with | [ p ] -> p | [] | _ :: _ :: _ -> assert false -let journalized_load = - let lbl = Datatype.optlabel_func in - Journal.register "Project.load" - (lbl "selection" dft_sel State_selection.ty - (lbl "name" (fun () -> None) - (Datatype.option Datatype.string) (Datatype.func Datatype.Filepath.ty ty))) - (unjournalized_load ~project_under_copy:None) - -let load ?(selection=State_selection.full) ?name filename = - journalized_load selection name filename +let load = load_with_copy ?project_under_copy:None -let unjournalized_load_all selection filename = +let load_all ?(selection=State_selection.full) filename = remove_all (); guarded_feedback selection 2 "loading the session saved in file %a" Filepath.Normalized.pretty filename; try ignore (load_projects ~project_under_copy:None selection filename) with IOError _ as e -> - unjournalized_set_current false selection (create "default"); + force_set_current false selection (create "default"); raise e -let journalized_load_all = - let lbl = Datatype.optlabel_func in - Journal.register "Project.load_all" - (lbl "selection" dft_sel State_selection.ty - (Datatype.func Datatype.Filepath.ty Datatype.unit)) - unjournalized_load_all - -let load_all ?(selection=State_selection.full) filename = - journalized_load_all selection filename - module Create_by_copy_hook = Hook.Build(struct type t = project * project end) let create_by_copy_hook f = Create_by_copy_hook.extend (fun (src, dst) -> f src dst) -let unjournalized_create_by_copy selection src last name = +let create_by_copy + ?(selection=State_selection.full) ?(src=current()) ~last name = guarded_feedback selection 2 "creating project %S by copying project %S" name (src.unique_name); let filename = @@ -797,10 +688,7 @@ let unjournalized_create_by_copy selection src last name = in save ~selection ~project:src filename; try - let prj = - unjournalized_load - ~project_under_copy:(Some src) selection (Some name) filename - in + let prj = load_with_copy ~project_under_copy:src ~selection ~name filename in Extlib.safe_remove (filename:>string); if last then last_created_by_copy_ref := Some prj; Create_by_copy_hook.apply (src, prj); @@ -809,19 +697,6 @@ let unjournalized_create_by_copy selection src last name = Extlib.safe_remove (filename:>string); raise e -let journalized_create_by_copy = - let lbl = Datatype.optlabel_func in - Journal.register "Project.create_by_copy" - (lbl "selection" dft_sel State_selection.ty - (lbl "src" current ty - (Datatype.func2 - ~label1:("last", None) Datatype.bool Datatype.string ty))) - unjournalized_create_by_copy - -let create_by_copy - ?(selection=State_selection.full) ?(src=current()) ~last name = - journalized_create_by_copy selection src last name - (* ************************************************************************** *) (** {2 Undoing} *) (* ************************************************************************** *) @@ -834,15 +709,11 @@ module Undo = struct let clear_breakpoint () = Extlib.safe_remove (!filename:>string) let restore () = - if Cmdline.use_obj then begin - try - Journal.prevent load_all !filename; - Journal.restore (); - clear_breakpoint () - with IOError s -> - feedback ~dkey "cannot restore the last breakpoint: %S" s; - clear_breakpoint () - end + try + clear_breakpoint () + with IOError s -> + feedback ~dkey "cannot restore the last breakpoint: %S" s; + clear_breakpoint () let breakpoint () = if Cmdline.use_obj then begin @@ -851,8 +722,6 @@ module Undo = struct (try Extlib.temp_file_cleanup_at_exit short_filename ".sav" with Extlib.Temp_file_error s -> abort "cannot create temporary file: %s" s); - Journal.prevent save_all !filename; - Journal.save () end end diff --git a/src/libraries/project/state.ml b/src/libraries/project/state.ml index c714007a60e0bc233cdcb00a4653c4661e4f3a64..011a5bfe5cdc8bada235b36ae5f1338ac7f8e193 100644 --- a/src/libraries/project/state.ml +++ b/src/libraries/project/state.ml @@ -104,13 +104,7 @@ include Datatype.Make_with_collections let hash x = Hashtbl.hash x.unique_name let copy = Datatype.undefined let rehash = Datatype.undefined - let internal_pretty_code p_caller fmt s = - let pp fmt = - Format.fprintf fmt "@[<hv 2>State.get@;%S@]" s.unique_name - in - Type.par p_caller Type.Call fmt pp let pretty fmt s = Format.fprintf fmt "state %S" s.unique_name - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) diff --git a/src/libraries/project/state_selection.ml b/src/libraries/project/state_selection.ml index 1b47451c304629169556911d8dfe05cb382a6880..b24af0f01b80dca77c9a2099ab4ba78a72e6ba22 100644 --- a/src/libraries/project/state_selection.ml +++ b/src/libraries/project/state_selection.ml @@ -84,26 +84,6 @@ include Datatype.Make type t = state_selection let name = "State_selection" let reprs = [ full; empty; singleton State.dummy ] - let internal_pretty_code p_caller fmt (s, _) = match s with - | Full -> Format.fprintf fmt "@[State_selection.full@]" - | Subset sel -> - match Selection.fold_vertex (fun s acc -> s :: acc) sel [] with - | [] -> Format.fprintf fmt "@[State_selection.empty@]" - | [ s ] -> - let pp fmt = - Format.fprintf fmt "@[<hv 2>State_selection.singleton@;%a@]" - (State.internal_pretty_code Type.Call) - s - in - Type.par p_caller Type.Call fmt pp - | l -> - let module D = Datatype.List(State) in - let pp fmt = - Format.fprintf fmt "@[<hv 2>State_selection.of_list@;%a@]" - (D.internal_pretty_code Type.Call) - l - in - Type.par p_caller Type.Call fmt pp end) let transitive_closure next_vertices s = diff --git a/src/libraries/utils/hptmap.ml b/src/libraries/utils/hptmap.ml index 2a29fcb5437f90b027183178cc4279b67ca55df2..6a722557d67e9a3fc127bc5cc0249e7da5158051 100644 --- a/src/libraries/utils/hptmap.ml +++ b/src/libraries/utils/hptmap.ml @@ -680,9 +680,7 @@ struct else fun x -> !rehash_ref x let copy = Datatype.undefined - let internal_pretty_code = Datatype.pp_fail let pretty = pretty - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) let () = Type.set_ml_name D.ty None diff --git a/src/libraries/utils/rangemap.ml b/src/libraries/utils/rangemap.ml index 867f43b8443c24d327c065a841f9373a0b700318..d59ee5c547bb5bcc7fcdf7356b342a92f22340b7 100644 --- a/src/libraries/utils/rangemap.ml +++ b/src/libraries/utils/rangemap.ml @@ -533,9 +533,7 @@ module Make(Ord: Datatype.S)(Value: Value) = struct create l x d r in aux - let internal_pretty_code = Datatype.undefined let pretty = Datatype.undefined - let varname = Datatype.undefined let mem_project = if Ord.mem_project == Datatype.never_any_project && Value.mem_project == Datatype.never_any_project then diff --git a/src/plugins/.gitattributes b/src/plugins/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..856f653c296e134de64d231bc6fe9342dbc5a1ca --- /dev/null +++ b/src/plugins/.gitattributes @@ -0,0 +1,47 @@ +######################################## +# HEADER_SPEC: CEA_LGPL_OR_PROPRIETARY # +######################################## + +config* header_spec=CEA_LGPL_OR_PROPRIETARY +makefile* header_spec=CEA_LGPL_OR_PROPRIETARY +Make* header_spec=CEA_LGPL_OR_PROPRIETARY +*.mk header_spec=CEA_LGPL_OR_PROPRIETARY + + +*.c header_spec=CEA_LGPL_OR_PROPRIETARY +*.h header_spec=CEA_LGPL_OR_PROPRIETARY + +*.htm header_spec=CEA_LGPL_OR_PROPRIETARY +*.html header_spec=CEA_LGPL_OR_PROPRIETARY + +*.js header_spec=CEA_LGPL_OR_PROPRIETARY + +*.ml header_spec=CEA_LGPL_OR_PROPRIETARY +*.ml.in header_spec=CEA_LGPL_OR_PROPRIETARY +*.mli header_spec=CEA_LGPL_OR_PROPRIETARY +*.mli.in header_spec=CEA_LGPL_OR_PROPRIETARY +*.mll header_spec=CEA_LGPL_OR_PROPRIETARY +*.mly header_spec=CEA_LGPL_OR_PROPRIETARY + +*.xml header_spec=CEA_LGPL_OR_PROPRIETARY + +*.pl header_spec=CEA_LGPL_OR_PROPRIETARY + +*.py header_spec=CEA_LGPL_OR_PROPRIETARY + +*.rc header_spec=CEA_LGPL_OR_PROPRIETARY + +*.sh header_spec=CEA_LGPL_OR_PROPRIETARY +*.zsh header_spec=CEA_LGPL_OR_PROPRIETARY + +*.css header_spec=CEA_LGPL_OR_PROPRIETARY + +*.ts header_spec=CEA_LGPL_OR_PROPRIETARY +*.tsx header_spec=CEA_LGPL_OR_PROPRIETARY + +######################## +# HEADER_SPEC: .ignore # +######################## + +/*/tests/**/* header_spec=.ignore + diff --git a/src/plugins/aorai/.gitattributes b/src/plugins/aorai/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..94782b4119b1bf3cc8abf8b3a569b2e12580b692 --- /dev/null +++ b/src/plugins/aorai/.gitattributes @@ -0,0 +1,21 @@ +########################### +# HEADER_SPEC: AORAI_LGPL # +########################### + +/configure.ac header_spec=AORAI_LGPL + +/Makefile header_spec=AORAI_LGPL +/Makefile.in header_spec=AORAI_LGPL + +*.ml header_spec=AORAI_LGPL +*.mli header_spec=AORAI_LGPL +*.mll header_spec=AORAI_LGPL +*.mly header_spec=AORAI_LGPL + +######################## +# HEADER_SPEC: .ignore # +######################## + +/INSTALL header_spec=.ignore +/VERSIONS.txt header_spec=.ignore +/tests/**/* header_spec=.ignore diff --git a/src/plugins/aorai/aorai_register.ml b/src/plugins/aorai/aorai_register.ml index e2f73a54e0f0fc7adc6380f3d43fdf63785f96dc..fc14083f9095118082fadeba09c794c68e9da12e 100644 --- a/src/plugins/aorai/aorai_register.ml +++ b/src/plugins/aorai/aorai_register.ml @@ -323,7 +323,6 @@ let run = ~plugin:"Aorai" "run" (Datatype.func Datatype.unit Datatype.unit) - ~journalize:true run let run, _ = diff --git a/src/plugins/aorai/data_for_aorai.ml b/src/plugins/aorai/data_for_aorai.ml index 2fb166151250623148259f3b087a508891f3ef4c..bf0f05f91967628ee7717176885947da9bdd75e2 100644 --- a/src/plugins/aorai/data_for_aorai.ml +++ b/src/plugins/aorai/data_for_aorai.ml @@ -45,10 +45,7 @@ module Aorai_state = let rehash = Datatype.identity let compare x y = Datatype.Int.compare x.nums y.nums let copy = Datatype.identity - let internal_pretty_code = Datatype.undefined let pretty fmt x = Format.fprintf fmt "state_%d" x.nums - let varname _ = - assert false (* unused while internal_pretty_code is undefined *) let mem_project = Datatype.never_any_project end ) @@ -67,9 +64,7 @@ module Aorai_typed_trans = let rehash = Datatype.identity let compare x y = Datatype.Int.compare x.numt y.numt let copy = Datatype.identity - let internal_pretty_code = Datatype.undefined let pretty = Promelaoutput.Typed.print_transition - let varname _ = assert false let mem_project = Datatype.never_any_project end) @@ -1815,7 +1810,6 @@ module Range = Datatype.Make_with_collections Bounded(Datatype.Int.copy c1, Cil_datatype.Term.copy c2) | Unbounded c1 -> Unbounded (Datatype.Int.copy c1) | Unknown -> Unknown - let internal_pretty_code _ = Datatype.from_pretty_code let pretty fmt = function | Fixed c1 -> Format.fprintf fmt "%d" c1 | Interval (c1,c2) -> @@ -1825,7 +1819,6 @@ module Range = Datatype.Make_with_collections Cil_datatype.Term.pretty c2 | Unbounded c1 -> Format.fprintf fmt "[%d..]" c1 | Unknown -> Format.fprintf fmt "[..]" - let varname _ = "r" let mem_project = Datatype.never_any_project end) diff --git a/src/plugins/callgraph/cg.ml b/src/plugins/callgraph/cg.ml index 5daf8249498f3ebf1ed13cff9c0a9929fd05e3cb..c1a42ab458a316647efacfecb124afe183f459f2 100644 --- a/src/plugins/callgraph/cg.ml +++ b/src/plugins/callgraph/cg.ml @@ -277,16 +277,6 @@ let dump () = let g = Subgraph.get () in Options.dump GV.output_graph g -include Journalize.Make - (struct - let name = "Cg" - let dump = dump - let compute = compute - type t = G.t - let ty = D.ty - let get = get - end) - (* Local Variables: compile-command: "make -C ../../.." diff --git a/src/plugins/callgraph/journalize.ml b/src/plugins/callgraph/journalize.ml deleted file mode 100644 index 88a8231294d3e528393897852946db9def1501ce..0000000000000000000000000000000000000000 --- a/src/plugins/callgraph/journalize.ml +++ /dev/null @@ -1,45 +0,0 @@ -(**************************************************************************) -(* *) -(* This file is part of Frama-C. *) -(* *) -(* Copyright (C) 2007-2022 *) -(* 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). *) -(* *) -(**************************************************************************) - -module Make - (C: sig - val name: string - val dump: unit -> unit - val compute: unit -> unit - type t - val ty: t Type.t - val get: unit -> t - end) = -struct - let name = "Callgraph." ^ C.name - let unit_unit = Datatype.func Datatype.unit Datatype.unit - let dump = Journal.register (name ^ ".dump") unit_unit C.dump - let compute = Journal.register (name ^ ".compute") unit_unit C.compute - let get = - Journal.register (name ^ ".get") (Datatype.func Datatype.unit C.ty) C.get -end - -(* -Local Variables: -compile-command: "make -C ../.." -End: -*) diff --git a/src/plugins/callgraph/journalize.mli b/src/plugins/callgraph/journalize.mli deleted file mode 100644 index c1c89a0ff8fdcb700a4a8f41bd3ea6c31c715f95..0000000000000000000000000000000000000000 --- a/src/plugins/callgraph/journalize.mli +++ /dev/null @@ -1,44 +0,0 @@ -(**************************************************************************) -(* *) -(* This file is part of Frama-C. *) -(* *) -(* Copyright (C) 2007-2022 *) -(* 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). *) -(* *) -(**************************************************************************) - -(** Journalize the API of a callgraph *) - -module Make - (C: sig - val name: string - val dump: unit -> unit - val compute: unit -> unit - type t - val ty: t Type.t - val get: unit -> t - end): -sig - val dump: unit -> unit - val compute: unit -> unit - val get: unit -> C.t -end - -(* -Local Variables: -compile-command: "make -C ../.." -End: -*) diff --git a/src/plugins/callgraph/services.ml b/src/plugins/callgraph/services.ml index f071605b94c6af2f19e2bb5d7bc6608d5f1cb084..26a8c186d0ceb27d450c32844e015186ba018a72 100644 --- a/src/plugins/callgraph/services.ml +++ b/src/plugins/callgraph/services.ml @@ -113,16 +113,6 @@ let dump () = Service_graph.frama_c_display false; Options.dump S.output_graph sg -include Journalize.Make - (struct - let name = "Services" - let dump = dump - let compute = compute - type t = S.Service_graph.t - let ty = S.Service_graph.Datatype.ty - let get = get - end) - (* Local Variables: compile-command: "make -C ../../.." diff --git a/src/plugins/callgraph/uses.ml b/src/plugins/callgraph/uses.ml index 98be81c862733550f75b86003253d1f1c9adc272..a4b6931b84b78193287ac24a94b80af2b5134273 100644 --- a/src/plugins/callgraph/uses.ml +++ b/src/plugins/callgraph/uses.ml @@ -79,7 +79,6 @@ let _iter_in_rev_order = ~plugin:Options.name "iter_in_rev_order" Datatype.(func (func Kernel_function.ty unit) unit) - ~journalize:false iter_in_rev_order let iter_on_aux iter_dir f kf = @@ -132,7 +131,6 @@ let _accept_base = ~plugin:Options.name "accept_base" Datatype.(func2 Kernel_function.ty Base.ty bool) - ~journalize:false (fun kf b -> accept_base ~with_formals:true ~with_locals:true kf b) let nb_calls () = diff --git a/src/plugins/constant_propagation/api.ml b/src/plugins/constant_propagation/api.ml index 58e6e1fad7e4643ee0c661f0671d35671cf417c4..b493138ca518026cddf832ade9121294518784d2 100644 --- a/src/plugins/constant_propagation/api.ml +++ b/src/plugins/constant_propagation/api.ml @@ -350,33 +350,21 @@ module Result = let selection_command_line_option = State_selection.singleton PropagationParameters.SemanticConstFolding.self -let journalized_get = - let get fnames cast_intro = - Result.memo - (fun _ -> - Eva.Analysis.compute (); - let fresh_project = - FC_file.create_project_from_visitor - (PropagationParameters.Project_name.get ()) - (fun prj -> new propagate prj fnames ~cast_intro) - in - let ctx = Parameter_state.get_selection_context () in - let ctx = State_selection.diff ctx selection_command_line_option in - Project.copy ~selection:ctx fresh_project; - fresh_project) - (fnames, cast_intro) - in - Journal.register - "Constant_Propagation.get" - (Datatype.func2 - Cil_datatype.Fundec.Set.ty - ~label2:("cast_intro",None) - Datatype.bool - Project.ty) - get - (* add labels *) -let get fnames ~cast_intro = journalized_get fnames cast_intro +let get fnames ~cast_intro = + Result.memo + (fun _ -> + Eva.Analysis.compute (); + let fresh_project = + FC_file.create_project_from_visitor + (PropagationParameters.Project_name.get ()) + (fun prj -> new propagate prj fnames ~cast_intro) + in + let ctx = Parameter_state.get_selection_context () in + let ctx = State_selection.diff ctx selection_command_line_option in + Project.copy ~selection:ctx fresh_project; + fresh_project) + (fnames, cast_intro) (** Constant Propagation *) @@ -395,15 +383,11 @@ let compute () = let compute, self = let name = "Constant_Propagation.compute" in - let journalized_compute = - Journal.register name (Datatype.func Datatype.unit Datatype.unit) - compute - in let deps = [ PropagationParameters.SemanticConstFold.self; PropagationParameters.SemanticConstFolding.self; Result.self ] in - State_builder.apply_once name deps journalized_compute + State_builder.apply_once name deps compute let main () = let force_semantic_folding = @@ -411,7 +395,6 @@ let main () = || not (Cil_datatype.Fundec.Set.is_empty (PropagationParameters.SemanticConstFold.get ())) in - (* must called the function stored in [Db] for journalisation purpose *) if force_semantic_folding then compute () let () = diff --git a/src/plugins/e-acsl/.gitattributes b/src/plugins/e-acsl/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..cca30ad415b5e0fc3ed4672497b187c825f437bf --- /dev/null +++ b/src/plugins/e-acsl/.gitattributes @@ -0,0 +1,69 @@ +############################################### +# HEADER_SPEC: CEA_LGPL_OR_PROPRIETARY.E_ACSL # +############################################### + +configure.ac header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL + +Makefile header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL +Makefile.in header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL + +*.c header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL +*.h header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL + +*.ml header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL +*.mli header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL + +*.sh header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL + +/man/e-acsl-gcc.sh.1 header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL + +/scripts/e-acsl-gcc.sh.comp header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL +/scripts/e-acsl-gcc.sh.comp header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL + +######################## +# HEADER_SPEC: .ignore # +######################## + +README header_spec=.ignore + +/.clang-format header_spec=.ignore +/doc/Makefile.common header_spec=.ignore +/doc/support/MakeLaTeXModern header_spec=.ignore +/doc/Changelog header_spec=.ignore +/doc/doxygen/doxygen.cfg.in header_spec=.ignore +/doc/refman/*.tex header_spec=.ignore +/doc/userman/*.tex header_spec=.ignore + +/examples/demo/TODO header_spec=.ignore +/examples/ensuresec/push-alerts/.env-example header_spec=.ignore + +/headers/close-source/* header_spec=.ignore +/headers/open-source/* header_spec=.ignore + +/license/* header_spec=.ignore + +# Becarefull at the order with the previous lines +/contrib/**/*.c header_spec=.ignore + +/doc/**/Makefile header_spec=.ignore +/doc/**/*.ml header_spec=.ignore +/doc/**/*.mll header_spec=.ignore +/doc/**/*.c header_spec=.ignore +/doc/**/*.i header_spec=.ignore + +/examples/**/Makefile header_spec=.ignore +/examples/**/*.c header_spec=.ignore +/examples/**/*.i header_spec=.ignore +/examples/**/*.ml header_spec=.ignore +/examples/**/*.sh header_spec=.ignore +/examples/**/*.py header_spec=.ignore + +/tests/test_config header_spec=.ignore +/tests/test_config_dev header_spec=.ignore +/tests/**/* header_spec + +/tests/wrapper.sh header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL +/tests/E_ACSL_test.ml header_spec=CEA_LGPL_OR_PROPRIETARY.E_ACSL +/contrib/libdlmalloc/dlmalloc.* header_spec=MODIFIED_DLMALLOC +/share/e-acsl/internals/e_acsl_rtl_io.* header_spec=MODIFIED_SPARETIMELABS + diff --git a/src/plugins/e-acsl/doc/Changelog b/src/plugins/e-acsl/doc/Changelog index e21476509adf2b0b67d858cf0bf5604457f93481..7b213fa5830e2d23285b1355104a7945e19c1ce3 100644 --- a/src/plugins/e-acsl/doc/Changelog +++ b/src/plugins/e-acsl/doc/Changelog @@ -30,6 +30,7 @@ Plugin E-ACSL <next-release> Plugin E-ACSL 25.0 (Manganese) ############################## +-* E-ACSL [2022-23-05] Fix crash for quantifications over enum types (frama-c/e-acsl#199) - E-ACSL [2022-03-04] Improve translation of `\at()` terms and predicates (frama-c/e-acsl#108). -* E-ACSL [2022-03-01] Fix normalization of global annotations that diff --git a/src/plugins/e-acsl/src/analyses/analyses_datatype.ml b/src/plugins/e-acsl/src/analyses/analyses_datatype.ml index 99645c1fefece09541eeab47ee7f74a0e3412235..7d518f77beeadbf5e13922fef48ee097164f6ec1 100644 --- a/src/plugins/e-acsl/src/analyses/analyses_datatype.ml +++ b/src/plugins/e-acsl/src/analyses/analyses_datatype.ml @@ -82,7 +82,7 @@ module Pred_or_term = | PoT_pred p -> Printer.pp_predicate fmt p | PoT_term t -> Printer.pp_term fmt t - let varname _ = "pred_or_term" + end) (** [Ext_logic_label] associates a statement to a label when necessary. For diff --git a/src/plugins/e-acsl/src/analyses/typing.ml b/src/plugins/e-acsl/src/analyses/typing.ml index b83df3af03d5057e99008e835e66ffca5ab850f3..b3cb3df086f64f59ce1cbbb51239726f9069ac88 100644 --- a/src/plugins/e-acsl/src/analyses/typing.ml +++ b/src/plugins/e-acsl/src/analyses/typing.ml @@ -751,7 +751,8 @@ and type_bound_variables ~loc ~lenv (t1, lv, t2) = | Linteger -> mk_ctx ~use_gmp_opt:true (ty_of_interv ~ctx:Gmpz i) | Ctype ty -> (match Cil.unrollType ty with - | TInt(ik, _) -> mk_ctx ~use_gmp_opt:true (C_integer ik) + | TInt(ik, _) | TEnum({ ekind = ik }, _) -> + mk_ctx ~use_gmp_opt:true (C_integer ik) | ty -> Options.fatal "unexpected C type %a for quantified variable %a" Printer.pp_typ ty diff --git a/src/plugins/e-acsl/src/code_generator/assert.ml b/src/plugins/e-acsl/src/code_generator/assert.ml index 3dfc72367d67cff7e1b7824e603179dd5a836568..d44043c3078d95f556e94a86bb303b69fca6fe6a 100644 --- a/src/plugins/e-acsl/src/code_generator/assert.ml +++ b/src/plugins/e-acsl/src/code_generator/assert.ml @@ -42,6 +42,11 @@ type data = { want to register some data in the context of [None] if we do not want to. *) type t = data option +let pending_register_data : stmt Queue.t Stack.t = Stack.create() + +let push_pending_register_data () = + Stack.push (Queue.create()) pending_register_data + let no_data = None (** C type for the [assert_data_t] structure. *) @@ -131,7 +136,7 @@ let ikind_to_string = function | ILongLong -> "longlong" | IULongLong -> "ulonglong" -let do_register_data ~loc env { data_ptr } name e = +let add_pending_register_data ~loc { data_ptr } name e = let ty = Cil.typeOf e in let fct, args = if Gmp_types.Z.is_t ty then @@ -161,9 +166,23 @@ let do_register_data ~loc env { data_ptr } name e = let name = Cil.mkString ~loc name in let args = data_ptr :: name :: args in let stmt = Smart_stmt.rtl_call ~loc fct args in - Env.add_stmt env stmt + match Stack.top_opt pending_register_data with + | None -> Stack.push (Queue.create()) pending_register_data + | Some queue -> Queue.add stmt queue + +let do_pending_register_data env = + if Stack.is_empty pending_register_data then env + else + let queue = Stack.pop pending_register_data in + let rec do_queue env= + if Queue.is_empty queue then env + else + let stmt = Queue.pop queue in + do_queue (Env.add_stmt env stmt) + in + do_queue env -let register ~loc env ?(force=false) name e adata = +let register ~loc ?(force=false) name e adata = if Options.Assert_print_data.get () then match adata, e.enode with | Some adata, Const _ when not force -> @@ -174,30 +193,31 @@ let register ~loc env ?(force=false) name e adata = name "3" and value [3]. The registration can be forced for expressions like [sizeof(int)] for instance that are [Const] values but not directly known. *) - Some adata, env + Some adata | Some adata, _ -> let adata = { adata with data_registered = true } in - Some adata, do_register_data ~loc env adata name e - | None, _ -> None, env + add_pending_register_data ~loc adata name e; + Some adata + | None, _ -> None else - adata, env + adata -let register_term ~loc env ?force t e adata = +let register_term ~loc ?force t e adata = let name = Format.asprintf "@[%a@]" Printer.pp_term t in - register ~loc env name ?force e adata + register ~loc name ?force e adata let register_pred ~loc env ?force p e adata = if Env.annotation_kind env == RTE then (* When translating RTE, we do not want to print the result of the predicate because they should be the only predicate in an assertion clause. *) - adata, env + adata else let name = Format.asprintf "@[%a@]" Printer.pp_predicate p in - register ~loc env name ?force e adata + register ~loc name ?force e adata let register_pred_or_term ~loc env ?force pot e adata = match pot with - | PoT_term t -> register_term ~loc env ?force t e adata + | PoT_term t -> register_term ~loc ?force t e adata | PoT_pred p -> register_pred ~loc env ?force p e adata let kind_to_string loc k = diff --git a/src/plugins/e-acsl/src/code_generator/assert.mli b/src/plugins/e-acsl/src/code_generator/assert.mli index d52e907cb1e4cd33bc5fab84823232b49a6799b6..e0eeda7767ad08ffdbe7dd5b8a9f0ba0843295c5 100644 --- a/src/plugins/e-acsl/src/code_generator/assert.mli +++ b/src/plugins/e-acsl/src/code_generator/assert.mli @@ -57,14 +57,21 @@ val clean: loc:location -> Env.t -> t -> Env.t not given to [runtime_check] or [runtime_check_with_msg], otherwise the memory allocated in the C structure will not be freed. *) +val push_pending_register_data: unit -> unit +(** [push_pending_register_data] adds a data registration to a stack of pending + data registration to be generated later *) + +val do_pending_register_data: + Env.t -> Env.t +(** [do_pending_register_data] performs all the pending restrations*) + val register: loc:location -> - Env.t -> ?force:bool -> string -> exp -> t -> - t * Env.t + t (** [register ~loc env ?force name e adata] registers the data [e] corresponding to the name [name] to the assertion context [adata]. If [force] is false (default), the data is not registered if the expression @@ -73,12 +80,11 @@ val register: val register_term: loc:location -> - Env.t -> ?force:bool -> term -> exp -> t -> - t * Env.t + t (** [register_term ~loc env ?force t e adata] registers the data [e] corresponding to the term [t] to the assertion context [adata]. The parameter [force] has the same signification than for the function @@ -91,7 +97,7 @@ val register_pred: predicate -> exp -> t -> - t * Env.t + t (** [register_pred ~loc env ?force p e adata] registers the data [e] corresponding to the predicate [p] to the assertion context [adata]. The parameter [force] has the same signification than for the function @@ -104,7 +110,7 @@ val register_pred_or_term: pred_or_term -> exp -> t -> - t * Env.t + t (** [register_pred_or_term ~loc kf env ?force pot e adata] registers the data [e] corresponding to the predicate or term [pot] to the assertion context [adata]. The parameter [force] has the same signification than for the diff --git a/src/plugins/e-acsl/src/code_generator/contract.ml b/src/plugins/e-acsl/src/code_generator/contract.ml index 879ee0ceadfc5a822ca7515f0b529720b7ff8d18..7df4b992fbd0d404bcf3aba98403c9195a797062 100644 --- a/src/plugins/e-acsl/src/code_generator/contract.ml +++ b/src/plugins/e-acsl/src/code_generator/contract.ml @@ -507,10 +507,9 @@ let check_active_behaviors ~ppt_to_translate ~get_or_create_var kf env contract (* Create assertions for complete and disjoint behaviors checks *) let create_assert_stmt env bop msg = let adata, env = Assert.empty ~loc kf env in - let adata, env = + let adata = Assert.register ~loc - env "number of active behaviors" active_bhvrs_e adata diff --git a/src/plugins/e-acsl/src/code_generator/libc.ml b/src/plugins/e-acsl/src/code_generator/libc.ml index 2121d7141963e9c668069251db79a57dbd062707..ac785dbf7b4583be1d39e24356b88c682da9f68c 100644 --- a/src/plugins/e-acsl/src/code_generator/libc.ml +++ b/src/plugins/e-acsl/src/code_generator/libc.ml @@ -224,7 +224,7 @@ let term_to_sizet_exp ~loc ~name ?(check_lower_bound=true) kf env t = Logic_const.prel ~loc (Rge, t, Cil.lzero ~loc ()) in let adata, env = Assert.empty ~loc kf env in - let adata, env = Assert.register_term ~loc env t e adata in + let adata = Assert.register_term ~loc t e adata in let assertion, env = Assert.runtime_check ~adata @@ -248,9 +248,9 @@ let term_to_sizet_exp ~loc ~name ?(check_lower_bound=true) kf env t = let upper_guard_pp = Logic_const.prel ~loc (Rle, t, sizet_max_t) in let upper_guard = Cil.mkBinOp ~loc Le e sizet_max_e in let adata, env = Assert.empty ~loc kf env in - let adata, env = Assert.register_term ~loc env t e adata in - let adata, env = - Assert.register ~loc env "SIZE_MAX" sizet_max_e adata + let adata = Assert.register_term ~loc t e adata in + let adata = + Assert.register ~loc "SIZE_MAX" sizet_max_e adata in let assertion, env = Assert.runtime_check diff --git a/src/plugins/e-acsl/src/code_generator/logic_array.ml b/src/plugins/e-acsl/src/code_generator/logic_array.ml index a156e946340427dfc179e1dc8d4b500aef6f8805..571e94bb1d1b19d7f0c360304b5877ef1f47b6a1 100644 --- a/src/plugins/e-acsl/src/code_generator/logic_array.ml +++ b/src/plugins/e-acsl/src/code_generator/logic_array.ml @@ -242,12 +242,8 @@ let comparison_to_exp ~loc kf env ~name bop array1 array2 = let p = { p with pred_name = "array_coercion" :: p.pred_name } in Typing.preprocess_predicate (Env.Local_vars.get env) p; let adata, env = Assert.empty ~loc kf env in - let adata, env = - Assert.register ~loc env "destination length" len adata - in - let adata, env = - Assert.register ~loc env "current length" len_orig adata - in + let adata = Assert.register ~loc "destination length" len adata in + let adata = Assert.register ~loc "current length" len_orig adata in let stmt, env = Assert.runtime_check ~adata ~pred_kind:Assert RTE kf env e p in diff --git a/src/plugins/e-acsl/src/code_generator/loops.ml b/src/plugins/e-acsl/src/code_generator/loops.ml index 11e6b986d0181c534b48c3d2678bf083342b967b..e37356f2704e5dd37228f8b7b6a87308ce28612f 100644 --- a/src/plugins/e-acsl/src/code_generator/loops.ml +++ b/src/plugins/e-acsl/src/code_generator/loops.ml @@ -131,18 +131,16 @@ let handle_annotations env kf stmt = Printer.pp_term t in let adata, env = Assert.empty ~loc kf env in - let adata, env = + let adata = Assert.register ~loc - env (Format.asprintf "old %a" Printer.pp_term t_old) e_old adata in - let adata, env = + let adata = Assert.register ~loc - env (Format.asprintf "current %a" Printer.pp_term t) e adata @@ -180,10 +178,9 @@ let handle_annotations env kf stmt = Printer.pp_relation Rge in let adata1, env = Assert.empty ~loc kf env in - let adata1, env = + let adata1 = Assert.register ~loc - env (Format.asprintf "old %a" Printer.pp_term t) e_old adata1 @@ -223,10 +220,10 @@ let handle_annotations env kf stmt = in Assert.register ~loc - env (Format.asprintf "current %a" Printer.pp_term t) e - adata2 + adata2, + env else adata2, env in diff --git a/src/plugins/e-acsl/src/code_generator/memory_translate.ml b/src/plugins/e-acsl/src/code_generator/memory_translate.ml index 5e7c6b27d43866895b1a93aad79263d56a319013..f78ee9b1fa4cb672a7c27bee234ac21a374b4b68 100644 --- a/src/plugins/e-acsl/src/code_generator/memory_translate.ml +++ b/src/plugins/e-acsl/src/code_generator/memory_translate.ml @@ -309,10 +309,9 @@ let term_to_ptr_and_size ~adata ~loc kf env t = in let ty = Misc.cty t.term_type in let sizeof = Smart_exp.ptr_sizeof ~loc ty in - let adata, env = + let adata = Assert.register ~loc:t.term_loc - env (Format.asprintf "%a" Printer.pp_exp sizeof) sizeof adata diff --git a/src/plugins/e-acsl/src/code_generator/translate_ats.ml b/src/plugins/e-acsl/src/code_generator/translate_ats.ml index db66a9ec78bcd2655af75017c84f7dfdafd4f432..0d12bfa2e8589df298e7b0abae3449b9c3cc639b 100644 --- a/src/plugins/e-acsl/src/code_generator/translate_ats.ml +++ b/src/plugins/e-acsl/src/code_generator/translate_ats.ml @@ -526,7 +526,7 @@ let to_exp ~loc ~adata kf env pot label = else Smart_exp.lval ~loc (Cil.var vi), env in - let adata, env= + let adata = Assert.register_pred_or_term ~loc env pot e adata in e, adata, env diff --git a/src/plugins/e-acsl/src/code_generator/translate_predicates.ml b/src/plugins/e-acsl/src/code_generator/translate_predicates.ml index 571e1a983880730b8473a7b59070d02760975a82..55ae1ad1f49b751042c5a1d45948f06414d6461f 100644 --- a/src/plugins/e-acsl/src/code_generator/translate_predicates.ml +++ b/src/plugins/e-acsl/src/code_generator/translate_predicates.ml @@ -81,7 +81,7 @@ let rec predicate_content_to_exp ~adata ?(inplace=false) ?name kf env p = | Papp (li, [], args) -> let e, adata, env = Logic_functions.app_to_exp ~adata ~loc kf env li args in - let adata, env = Assert.register_pred ~loc env p e adata in + let adata = Assert.register_pred ~loc env p e adata in e, adata, env | Pdangling _ -> Env.not_yet env "\\dangling" | Pobject_pointer _ -> Env.not_yet env "\\object_pointer" @@ -203,7 +203,7 @@ let rec predicate_content_to_exp ~adata ?(inplace=false) ?name kf env p = e, adata, env | Pforall _ | Pexists _ -> let e, env = Quantif.quantif_to_exp kf env p in - let adata, env = Assert.register_pred ~loc env p e adata in + let adata = Assert.register_pred ~loc env p e adata in e, adata, env | Pat(p', label) -> if inplace then @@ -221,7 +221,7 @@ let rec predicate_content_to_exp ~adata ?(inplace=false) ?name kf env p = let e, adata, env = Memory_translate.call_valid ~adata ~loc kf name Cil.intType env t p in - let adata, env = Assert.register_pred ~loc env p e adata in + let adata = Assert.register_pred ~loc env p e adata in e, adata, env in (* we already transformed \valid(t) into \initialized(&t) && \valid(t): @@ -260,7 +260,7 @@ let rec predicate_content_to_exp ~adata ?(inplace=false) ?name kf env p = tlist p in - let adata, env = Assert.register_pred ~loc env p e adata in + let adata = Assert.register_pred ~loc env p e adata in e, adata, env | Pinitialized(BuiltinLabel Here, t) -> let e, adata, env = @@ -283,7 +283,7 @@ let rec predicate_content_to_exp ~adata ?(inplace=false) ?name kf env p = [ t ] p in - let adata, env = Assert.register_pred ~loc env p e adata in + let adata = Assert.register_pred ~loc env p e adata in e, adata, env) in e, adata, env @@ -293,7 +293,7 @@ let rec predicate_content_to_exp ~adata ?(inplace=false) ?name kf env p = let e, adata, env = Memory_translate.call ~adata ~loc kf "freeable" Cil.intType env t in - let adata, env = Assert.register_pred ~loc env p e adata in + let adata = Assert.register_pred ~loc env p e adata in e, adata, env | Pfreeable _ -> Env.not_yet env "labeled \\freeable" | Pfresh _ -> Env.not_yet env "\\fresh" @@ -311,6 +311,7 @@ let rec predicate_content_to_exp ~adata ?(inplace=false) ?name kf env p = - [env]: the current environment. - [p]: the predicate to translate. *) and to_exp ~adata ?inplace ?name kf ?rte env p = + Assert.push_pending_register_data(); let p = Logic_normalizer.get_pred p in let rte = match rte with None -> Env.generate_rte env | Some b -> b in Extlib.flatten @@ -326,6 +327,7 @@ and to_exp ~adata ?inplace ?name kf ?rte env p = ~lenv:(Env.Local_vars.get env) p in + let env = Assert.do_pending_register_data env in Extlib.nest adata (Typed_number.add_cast diff --git a/src/plugins/e-acsl/src/code_generator/translate_rtes.ml b/src/plugins/e-acsl/src/code_generator/translate_rtes.ml index 8e76febe0cc5a5403e3088fff370b91a1504f631..6c54a45e3fb6517c50be6da3a2d2c1131719e7b0 100644 --- a/src/plugins/e-acsl/src/code_generator/translate_rtes.ml +++ b/src/plugins/e-acsl/src/code_generator/translate_rtes.ml @@ -59,6 +59,7 @@ let () = Translate_predicates.translate_rte_annots_ref := rte_annots let exp ?filter kf env e = + Assert.push_pending_register_data(); let stmt = Cil.mkStmtOneInstr ~valid_sid:true (Skip e.eloc) in let l = Rte.exp kf stmt e in let l = @@ -67,7 +68,8 @@ let exp ?filter kf env e = | None -> l in List.iter (Typing.preprocess_rte ~lenv:(Env.Local_vars.get env)) l; - rte_annots Printer.pp_exp e kf env l + let env = rte_annots Printer.pp_exp e kf env l in + Assert.do_pending_register_data env let () = Translate_terms.translate_rte_exp_ref := exp; diff --git a/src/plugins/e-acsl/src/code_generator/translate_terms.ml b/src/plugins/e-acsl/src/code_generator/translate_terms.ml index c5530b377bcb98a94b65380f4b4fd4d31e3c8b48..c9672f2a0f153648679bcb15bb14bff01ce8ca59 100644 --- a/src/plugins/e-acsl/src/code_generator/translate_terms.ml +++ b/src/plugins/e-acsl/src/code_generator/translate_terms.ml @@ -256,7 +256,7 @@ and extended_quantifier_to_exp ~adata ~loc kf env t t_min t_max lambda name = let final_stmt = (Cil.mkBlock [ init_k_stmt; for_stmt ]) in Env.Logic_binding.remove env k; let env = Env.add_stmt env (Smart_stmt.block_stmt final_stmt) in - let adata, env = Assert.register_term ~loc env t acc_as_exp adata in + let adata = Assert.register_term ~loc t acc_as_exp adata in acc_as_exp, adata, env, Typed_number.C_number, "" | _ -> assert false @@ -271,29 +271,29 @@ and context_insensitive_term_to_exp ~adata ?(inplace=false) kf env t = | TLval lv -> let lv, env, name = tlval_to_lval kf env lv in let e = Smart_exp.lval ~loc lv in - let adata, env = Assert.register_term ~loc env t e adata in + let adata = Assert.register_term ~loc t e adata in e, adata, env, Typed_number.C_number, name | TSizeOf ty -> let e = Cil.sizeOf ~loc ty in - let adata, env = Assert.register_term ~loc env ~force:true t e adata in + let adata = Assert.register_term ~loc ~force:true t e adata in e, adata, env, Typed_number.C_number, "sizeof" | TSizeOfE t' -> let e', _, env = to_exp ~adata:Assert.no_data kf env t' in let e = Cil.sizeOf ~loc (Cil.typeOf e') in - let adata, env = Assert.register_term ~loc env ~force:true t e adata in + let adata = Assert.register_term ~loc ~force:true t e adata in e, adata, env, Typed_number.C_number, "sizeof" | TSizeOfStr s -> let e = Cil.new_exp ~loc (SizeOfStr s) in - let adata, env = Assert.register_term ~loc env t e adata in + let adata = Assert.register_term ~loc t e adata in e, adata, env, Typed_number.C_number, "sizeofstr" | TAlignOf ty -> let e = Cil.new_exp ~loc (AlignOf ty) in - let adata, env = Assert.register_term ~loc env t e adata in + let adata = Assert.register_term ~loc t e adata in e, adata, env, Typed_number.C_number, "alignof" | TAlignOfE t' -> let e', _, env = to_exp ~adata:Assert.no_data kf env t' in let e = Cil.new_exp ~loc (AlignOfE e') in - let adata, env = Assert.register_term ~loc env t e adata in + let adata = Assert.register_term ~loc t e adata in e, adata, env, Typed_number.C_number, "alignof" | TUnOp(Neg | BNot as op, t') -> let ty = Typing.get_typ ~lenv t in @@ -746,12 +746,12 @@ and context_insensitive_term_to_exp ~adata ?(inplace=false) kf env t = | TAddrOf lv -> let lv, env, _ = tlval_to_lval kf env lv in let e = Cil.mkAddrOf ~loc lv in - let adata, env = Assert.register_term ~loc env t e adata in + let adata = Assert.register_term ~loc t e adata in e, adata, env, Typed_number.C_number, "addrof" | TStartOf lv -> let lv, env, _ = tlval_to_lval kf env lv in let e = Cil.mkAddrOrStartOf ~loc lv in - let adata, env = Assert.register_term ~loc env t e adata in + let adata = Assert.register_term ~loc t e adata in e, adata, env, Typed_number.C_number, "startof" | Tapp(li, _, [ t1; t2; {term_node = Tlambda([ _ ], _)} as lambda ]) when li.l_body = LBnone && (li.l_var_info.lv_name = "\\sum" || @@ -763,7 +763,7 @@ and context_insensitive_term_to_exp ~adata ?(inplace=false) kf env t = | Tapp(li, [], args) -> let e, adata, env = Logic_functions.app_to_exp ~adata ~loc ~tapp:t kf env li args in - let adata, env = Assert.register_term ~loc env t e adata in + let adata = Assert.register_term ~loc t e adata in e, adata, env, Typed_number.C_number, "app" | Tapp(_, _ :: _, _) -> Env.not_yet env "logic functions with labels" @@ -819,7 +819,7 @@ and context_insensitive_term_to_exp ~adata ?(inplace=false) kf env t = env t' in - let adata, env = Assert.register_term ~loc env t e adata in + let adata = Assert.register_term ~loc t e adata in e, adata, env, Typed_number.C_number, name | Tbase_addr _ -> Env.not_yet env "labeled \\base_addr" | Toffset(BuiltinLabel Here, t') -> @@ -828,7 +828,7 @@ and context_insensitive_term_to_exp ~adata ?(inplace=false) kf env t = let e, adata, env = Memory_translate.call ~adata ~loc kf name size_t env t' in - let adata, env = Assert.register_term ~loc env t e adata in + let adata = Assert.register_term ~loc t e adata in e, adata, env, Typed_number.C_number, name | Toffset _ -> Env.not_yet env "labeled \\offset" | Tblock_length(BuiltinLabel Here, t') -> @@ -837,7 +837,7 @@ and context_insensitive_term_to_exp ~adata ?(inplace=false) kf env t = let e, adata, env = Memory_translate.call ~adata ~loc kf name size_t env t' in - let adata, env = Assert.register_term ~loc env t e adata in + let adata = Assert.register_term ~loc t e adata in e, adata, env, Typed_number.C_number, name | Tblock_length _ -> Env.not_yet env "labeled \\block_length" | Tnull -> diff --git a/src/plugins/e-acsl/src/main.ml b/src/plugins/e-acsl/src/main.ml index a050b44b6e0bfb6549cfe4063923a9ce4179c293..949b0a3a927bc9b4404c3514cc904b8d672426c1 100644 --- a/src/plugins/e-acsl/src/main.ml +++ b/src/plugins/e-acsl/src/main.ml @@ -92,7 +92,6 @@ let generate_code = let generate_code = Dynamic.register ~plugin:"E_ACSL" - ~journalize:true "generate_code" (Datatype.func Datatype.string Project.ty) generate_code diff --git a/src/plugins/e-acsl/tests/arith/oracle/arith.res.oracle b/src/plugins/e-acsl/tests/arith/oracle/arith.res.oracle index 7d30242186db5e077c212100870b923ec632ad13..34b3687f33d95237956e72a72cf7f3d942479494 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/arith.res.oracle +++ b/src/plugins/e-acsl/tests/arith/oracle/arith.res.oracle @@ -11,14 +11,11 @@ [eva:alarm] arith.i:23: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] arith.i:34: Warning: - function __e_acsl_assert_copy_values: precondition dest->values == \null || - \valid(dest->values) got status unknown. -[eva:alarm] arith.i:34: Warning: - function __e_acsl_assert_copy_values: precondition src->values == \null || - \valid(src->values) got status unknown. [eva:alarm] arith.i:34: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. +[eva:alarm] arith.i:34: Warning: + function __e_acsl_assert_register_long: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] arith.i:34: Warning: signed overflow. assert -2147483648 <= 1 + __gen_e_acsl__7; [eva:alarm] arith.i:34: Warning: diff --git a/src/plugins/e-acsl/tests/arith/oracle/array.res.oracle b/src/plugins/e-acsl/tests/arith/oracle/array.res.oracle index 9cb60f3ce2043abb33ca90d59fd8e3343ff71ef4..5e6732b40e9a8e43bbe52ce0db8b7c22af0fd5e8 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/array.res.oracle +++ b/src/plugins/e-acsl/tests/arith/oracle/array.res.oracle @@ -34,37 +34,37 @@ function __e_acsl_assert_register_ptr: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:40: Warning: - function __e_acsl_assert_register_array: precondition data->values == \null || + function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:40: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || + function __e_acsl_assert_register_array: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:40: Warning: assertion got status unknown. [eva:alarm] array.i:41: Warning: - function __e_acsl_assert_register_array: precondition data->values == \null || + function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:41: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:41: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || + function __e_acsl_assert_register_array: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:41: Warning: assertion got status unknown. [eva:alarm] array.i:42: Warning: - function __e_acsl_assert_register_array: precondition data->values == \null || + function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:42: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || + function __e_acsl_assert_register_array: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:42: Warning: assertion got status unknown. [eva:alarm] array.i:43: Warning: - function __e_acsl_assert_register_array: precondition data->values == \null || + function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:43: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:43: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || + function __e_acsl_assert_register_array: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:43: Warning: assertion got status unknown. [eva:alarm] array.i:49: Warning: @@ -80,17 +80,17 @@ \valid(data->values) got status unknown. [eva:alarm] array.i:51: Warning: assertion got status unknown. [eva:alarm] array.i:55: Warning: - function __e_acsl_assert_register_array: precondition data->values == \null || + function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:55: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || + function __e_acsl_assert_register_array: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:55: Warning: assertion got status unknown. [eva:alarm] array.i:56: Warning: - function __e_acsl_assert_register_array: precondition data->values == \null || + function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:56: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || + function __e_acsl_assert_register_array: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:56: Warning: assertion got status unknown. [eva:alarm] array.i:59: Warning: @@ -102,16 +102,16 @@ \valid(data->values) got status unknown. [eva:alarm] array.i:60: Warning: assertion got status unknown. [eva:alarm] array.i:61: Warning: - function __e_acsl_assert_register_array: precondition data->values == \null || + function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:61: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || + function __e_acsl_assert_register_array: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:61: Warning: assertion got status unknown. [eva:alarm] array.i:62: Warning: - function __e_acsl_assert_register_array: precondition data->values == \null || + function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:62: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || + function __e_acsl_assert_register_array: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] array.i:62: Warning: assertion got status unknown. diff --git a/src/plugins/e-acsl/tests/arith/oracle/at_on-purely-logic-variables.res.oracle b/src/plugins/e-acsl/tests/arith/oracle/at_on-purely-logic-variables.res.oracle index 483ee2e7ba01554a0dd943dfc1aaa0df551c7306..5ce2b09c6a5151a2f4f4784de94a3f912ba7603b 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/at_on-purely-logic-variables.res.oracle +++ b/src/plugins/e-acsl/tests/arith/oracle/at_on-purely-logic-variables.res.oracle @@ -49,8 +49,6 @@ [eva:alarm] at_on-purely-logic-variables.c:46: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] at_on-purely-logic-variables.c:46: Warning: - function __e_acsl_assert, behavior blocking: precondition got status invalid. [eva:alarm] at_on-purely-logic-variables.c:46: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] at_on-purely-logic-variables.c:45: Warning: @@ -100,12 +98,12 @@ [eva:alarm] at_on-purely-logic-variables.c:8: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] at_on-purely-logic-variables.c:8: Warning: - function __e_acsl_assert_register_int: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] at_on-purely-logic-variables.c:8: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] at_on-purely-logic-variables.c:8: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] at_on-purely-logic-variables.c:8: Warning: function __gen_e_acsl_f: postcondition got status unknown. [eva:alarm] at_on-purely-logic-variables.c:16: Warning: diff --git a/src/plugins/e-acsl/tests/arith/oracle/bitwise.res.oracle b/src/plugins/e-acsl/tests/arith/oracle/bitwise.res.oracle index 6a682f9c6b6501019038ab54123f810c299d44e9..60ec184c1bae0501ded2b1058998f44737037ea5 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/bitwise.res.oracle +++ b/src/plugins/e-acsl/tests/arith/oracle/bitwise.res.oracle @@ -51,21 +51,21 @@ [eva:alarm] bitwise.c:42: Warning: function __e_acsl_assert_copy_values: precondition dest->values == \null || \valid(dest->values) got status unknown. -[eva:alarm] bitwise.c:42: Warning: - function __e_acsl_assert_copy_values: precondition src->values == \null || - \valid(src->values) got status unknown. [eva:alarm] bitwise.c:42: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. +[eva:alarm] bitwise.c:42: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] bitwise.c:42: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] bitwise.c:44: Warning: function __e_acsl_assert_copy_values: precondition dest->values == \null || \valid(dest->values) got status unknown. -[eva:alarm] bitwise.c:44: Warning: - function __e_acsl_assert_copy_values: precondition src->values == \null || - \valid(src->values) got status unknown. [eva:alarm] bitwise.c:44: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. +[eva:alarm] bitwise.c:44: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] bitwise.c:44: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] bitwise.c:46: Warning: @@ -81,21 +81,21 @@ [eva:alarm] bitwise.c:57: Warning: function __e_acsl_assert_copy_values: precondition dest->values == \null || \valid(dest->values) got status unknown. -[eva:alarm] bitwise.c:57: Warning: - function __e_acsl_assert_copy_values: precondition src->values == \null || - \valid(src->values) got status unknown. [eva:alarm] bitwise.c:57: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. +[eva:alarm] bitwise.c:57: Warning: + function __e_acsl_assert_register_uint: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] bitwise.c:57: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] bitwise.c:59: Warning: function __e_acsl_assert_copy_values: precondition dest->values == \null || \valid(dest->values) got status unknown. -[eva:alarm] bitwise.c:59: Warning: - function __e_acsl_assert_copy_values: precondition src->values == \null || - \valid(src->values) got status unknown. [eva:alarm] bitwise.c:59: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. +[eva:alarm] bitwise.c:59: Warning: + function __e_acsl_assert_register_uint: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] bitwise.c:59: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] bitwise.c:61: Warning: diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_arith.c b/src/plugins/e-acsl/tests/arith/oracle/gen_arith.c index a9569cdb54c0fa8669b87d25dd2a4e320d2017b8..d47a5d51168b7288bd07d3381af82a7f8d758676 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_arith.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_arith.c @@ -271,7 +271,6 @@ int main(void) { __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19,"y",0,y); __e_acsl_assert_data_t __gen_e_acsl_assert_data_20 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20,"y",0,y); @@ -284,6 +283,7 @@ int main(void) __gen_e_acsl_assert_data_20.name = "division_by_zero"; __e_acsl_assert(y != 0,& __gen_e_acsl_assert_data_20); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_20); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19,"y",0,y); __gen_e_acsl_assert_data_19.blocking = 1; __gen_e_acsl_assert_data_19.kind = "Assertion"; __gen_e_acsl_assert_data_19.pred_txt = "4 / y == 2"; @@ -305,7 +305,6 @@ int main(void) long __gen_e_acsl__7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_21 = {.values = (void *)0}; - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_21,"z",0,z); __gmpz_init_set_si(__gen_e_acsl_z,z); __gmpz_init_set_si(__gen_e_acsl__4,1L); __gmpz_init(__gen_e_acsl_add); @@ -314,7 +313,6 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_22 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22,"y",0,y); __gmpz_init_set_si(__gen_e_acsl__5,y - 123456789123456789L); __e_acsl_assert_copy_values(& __gen_e_acsl_assert_data_21, & __gen_e_acsl_assert_data_22); @@ -338,6 +336,8 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl_add), (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); __gen_e_acsl__7 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl_div_2)); + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_21,"z",0,z); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22,"y",0,y); __gen_e_acsl_assert_data_21.blocking = 1; __gen_e_acsl_assert_data_21.kind = "Assertion"; __gen_e_acsl_assert_data_21.pred_txt = "1 + (z + 1) / (y - 123456789123456789) == 1"; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_array.c b/src/plugins/e-acsl/tests/arith/oracle/gen_array.c index f6d5820bc95c3fae909ece295da321122f387977..ac5684637219f69e8f636efe464babc5005d0913 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_array.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_array.c @@ -23,10 +23,6 @@ void arrays(void) { int __gen_e_acsl_ne; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data,"a", - (void *)(a)); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data,"b", - (void *)(b)); __gen_e_acsl_ne = 0; if (1) { unsigned long __gen_e_acsl_iter; @@ -40,6 +36,10 @@ void arrays(void) } } else __gen_e_acsl_ne = 1; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data,"a", + (void *)(a)); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data,"b", + (void *)(b)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "a != b"; @@ -54,10 +54,6 @@ void arrays(void) int __gen_e_acsl_eq; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_2,"a", - (void *)(a)); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_2,"c", - (void *)(c)); __gen_e_acsl_eq = 1; if (1) { unsigned long __gen_e_acsl_iter_2; @@ -71,6 +67,10 @@ void arrays(void) } } else __gen_e_acsl_eq = 0; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_2,"a", + (void *)(a)); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_2,"c", + (void *)(c)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "Assertion"; __gen_e_acsl_assert_data_2.pred_txt = "a == c"; @@ -85,10 +85,6 @@ void arrays(void) int __gen_e_acsl_ne_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_3,"a", - (void *)(a)); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_3,"d", - (void *)(d)); __gen_e_acsl_ne_2 = 0; if (0) { unsigned long __gen_e_acsl_iter_3; @@ -102,6 +98,10 @@ void arrays(void) } } else __gen_e_acsl_ne_2 = 1; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_3,"a", + (void *)(a)); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_3,"d", + (void *)(d)); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "Assertion"; __gen_e_acsl_assert_data_3.pred_txt = "a != d"; @@ -201,11 +201,6 @@ void arrays(void) int __gen_e_acsl_eq_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_9,"a", - (void *)(a)); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_9, - "*((int (*)[3])g)", - (void *)(*((int (*)[3])g))); __gen_e_acsl_eq_2 = 1; if (1) { unsigned long __gen_e_acsl_iter_4; @@ -215,15 +210,15 @@ void arrays(void) int __gen_e_acsl_valid_read; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(& (*((int (*)[3])g))[__gen_e_acsl_iter_4]), + sizeof(int), + (void *)(*((int (*)[3])g)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10, "&(*((int (*)[3])g))[__gen_e_acsl_iter_4]", (void *)(& (*((int (*)[3])g))[__gen_e_acsl_iter_4])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(& (*((int (*)[3])g))[__gen_e_acsl_iter_4]), - sizeof(int), - (void *)(*((int (*)[3])g)), - (void *)0); __gen_e_acsl_assert_data_10.blocking = 1; __gen_e_acsl_assert_data_10.kind = "RTE"; __gen_e_acsl_assert_data_10.pred_txt = "\\valid_read(&(*((int (*)[3])g))[__gen_e_acsl_iter_4])"; @@ -243,6 +238,11 @@ void arrays(void) } } else __gen_e_acsl_eq_2 = 0; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_9,"a", + (void *)(a)); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_9, + "*((int (*)[3])g)", + (void *)(*((int (*)[3])g))); __gen_e_acsl_assert_data_9.blocking = 1; __gen_e_acsl_assert_data_9.kind = "Assertion"; __gen_e_acsl_assert_data_9.pred_txt = "a == *((int (*)[3])g)"; @@ -261,23 +261,18 @@ void arrays(void) unsigned long __gen_e_acsl_length2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_11,"a", - (void *)(a)); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_11, - "*((int (*)[])g)", - (void *)(*((int (*)[])g))); __gen_e_acsl_eq_3 = 1; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(*((int (*)[])g)), + sizeof(int), + (void *)(*((int (*)[])g)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12, "(int *)*((int (*)[])g)", (void *)(*((int (*)[])g))); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(*((int (*)[])g)), - sizeof(int), - (void *)(*((int (*)[])g)), - (void *)0); __gen_e_acsl_assert_data_12.blocking = 1; __gen_e_acsl_assert_data_12.kind = "RTE"; __gen_e_acsl_assert_data_12.pred_txt = "\\valid_read((int *)*((int (*)[])g))"; @@ -298,15 +293,15 @@ void arrays(void) int __gen_e_acsl_valid_read_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 = {.values = (void *)0}; + __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(& (*((int (*)[])g))[__gen_e_acsl_iter_5]), + sizeof(int), + (void *)(*((int (*)[])g)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13, "&(*((int (*)[])g))[__gen_e_acsl_iter_5]", (void *)(& (*((int (*)[])g))[__gen_e_acsl_iter_5])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_13, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(& (*((int (*)[])g))[__gen_e_acsl_iter_5]), - sizeof(int), - (void *)(*((int (*)[])g)), - (void *)0); __gen_e_acsl_assert_data_13.blocking = 1; __gen_e_acsl_assert_data_13.kind = "RTE"; __gen_e_acsl_assert_data_13.pred_txt = "\\valid_read(&(*((int (*)[])g))[__gen_e_acsl_iter_5])"; @@ -326,6 +321,11 @@ void arrays(void) } } else __gen_e_acsl_eq_3 = 0; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_11,"a", + (void *)(a)); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_11, + "*((int (*)[])g)", + (void *)(*((int (*)[])g))); __gen_e_acsl_assert_data_11.blocking = 1; __gen_e_acsl_assert_data_11.kind = "Assertion"; __gen_e_acsl_assert_data_11.pred_txt = "a == *((int (*)[])g)"; @@ -340,11 +340,6 @@ void arrays(void) int __gen_e_acsl_ne_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_14,"a", - (void *)(a)); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_14, - "*((int (*)[3])f)", - (void *)(*((int (*)[3])f))); __gen_e_acsl_ne_3 = 0; if (1) { unsigned long __gen_e_acsl_iter_6; @@ -354,15 +349,15 @@ void arrays(void) int __gen_e_acsl_valid_read_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 = {.values = (void *)0}; + __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(& (*((int (*)[3])f))[__gen_e_acsl_iter_6]), + sizeof(int), + (void *)(*((int (*)[3])f)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15, "&(*((int (*)[3])f))[__gen_e_acsl_iter_6]", (void *)(& (*((int (*)[3])f))[__gen_e_acsl_iter_6])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_15, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(& (*((int (*)[3])f))[__gen_e_acsl_iter_6]), - sizeof(int), - (void *)(*((int (*)[3])f)), - (void *)0); __gen_e_acsl_assert_data_15.blocking = 1; __gen_e_acsl_assert_data_15.kind = "RTE"; __gen_e_acsl_assert_data_15.pred_txt = "\\valid_read(&(*((int (*)[3])f))[__gen_e_acsl_iter_6])"; @@ -382,6 +377,11 @@ void arrays(void) } } else __gen_e_acsl_ne_3 = 1; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_14,"a", + (void *)(a)); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_14, + "*((int (*)[3])f)", + (void *)(*((int (*)[3])f))); __gen_e_acsl_assert_data_14.blocking = 1; __gen_e_acsl_assert_data_14.kind = "Assertion"; __gen_e_acsl_assert_data_14.pred_txt = "a != *((int (*)[3])f)"; @@ -400,23 +400,18 @@ void arrays(void) unsigned long __gen_e_acsl_length2_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_16 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_16,"a", - (void *)(a)); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_16, - "*((int (*)[])f)", - (void *)(*((int (*)[])f))); __gen_e_acsl_ne_4 = 0; __e_acsl_assert_data_t __gen_e_acsl_assert_data_17 = {.values = (void *)0}; + __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(*((int (*)[])f)), + sizeof(int), + (void *)(*((int (*)[])f)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17, "(int *)*((int (*)[])f)", (void *)(*((int (*)[])f))); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_17, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(*((int (*)[])f)), - sizeof(int), - (void *)(*((int (*)[])f)), - (void *)0); __gen_e_acsl_assert_data_17.blocking = 1; __gen_e_acsl_assert_data_17.kind = "RTE"; __gen_e_acsl_assert_data_17.pred_txt = "\\valid_read((int *)*((int (*)[])f))"; @@ -437,15 +432,15 @@ void arrays(void) int __gen_e_acsl_valid_read_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 = {.values = (void *)0}; + __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)(& (*((int (*)[])f))[__gen_e_acsl_iter_7]), + sizeof(int), + (void *)(*((int (*)[])f)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18, "&(*((int (*)[])f))[__gen_e_acsl_iter_7]", (void *)(& (*((int (*)[])f))[__gen_e_acsl_iter_7])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_18, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)(& (*((int (*)[])f))[__gen_e_acsl_iter_7]), - sizeof(int), - (void *)(*((int (*)[])f)), - (void *)0); __gen_e_acsl_assert_data_18.blocking = 1; __gen_e_acsl_assert_data_18.kind = "RTE"; __gen_e_acsl_assert_data_18.pred_txt = "\\valid_read(&(*((int (*)[])f))[__gen_e_acsl_iter_7])"; @@ -465,6 +460,11 @@ void arrays(void) } } else __gen_e_acsl_ne_4 = 1; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_16,"a", + (void *)(a)); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_16, + "*((int (*)[])f)", + (void *)(*((int (*)[])f))); __gen_e_acsl_assert_data_16.blocking = 1; __gen_e_acsl_assert_data_16.kind = "Assertion"; __gen_e_acsl_assert_data_16.pred_txt = "a != *((int (*)[])f)"; @@ -488,10 +488,6 @@ void arrays(void) int __gen_e_acsl_ne_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_19,"i", - (void *)(i)); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_19,"j", - (void *)(j)); __gen_e_acsl_ne_5 = 0; if (1) { unsigned long __gen_e_acsl_iter_8; @@ -505,6 +501,10 @@ void arrays(void) } } else __gen_e_acsl_ne_5 = 1; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_19,"i", + (void *)(i)); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_19,"j", + (void *)(j)); __gen_e_acsl_assert_data_19.blocking = 1; __gen_e_acsl_assert_data_19.kind = "Assertion"; __gen_e_acsl_assert_data_19.pred_txt = "i != j"; @@ -519,10 +519,6 @@ void arrays(void) int __gen_e_acsl_ne_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_20 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_20,"i", - (void *)(i)); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_20,"k", - (void *)(k)); __gen_e_acsl_ne_6 = 0; if (1) { unsigned long __gen_e_acsl_iter_9; @@ -536,6 +532,10 @@ void arrays(void) } } else __gen_e_acsl_ne_6 = 1; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_20,"i", + (void *)(i)); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_20,"k", + (void *)(k)); __gen_e_acsl_assert_data_20.blocking = 1; __gen_e_acsl_assert_data_20.kind = "Assertion"; __gen_e_acsl_assert_data_20.pred_txt = "i != k"; @@ -550,10 +550,6 @@ void arrays(void) int __gen_e_acsl_ne_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_21 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_21,"j", - (void *)(j)); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_21,"k", - (void *)(k)); __gen_e_acsl_ne_7 = 0; if (1) { unsigned long __gen_e_acsl_iter_10; @@ -567,6 +563,10 @@ void arrays(void) } } else __gen_e_acsl_ne_7 = 1; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_21,"j", + (void *)(j)); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_21,"k", + (void *)(k)); __gen_e_acsl_assert_data_21.blocking = 1; __gen_e_acsl_assert_data_21.kind = "Assertion"; __gen_e_acsl_assert_data_21.pred_txt = "j != k"; @@ -590,12 +590,6 @@ void arrays(void) int __gen_e_acsl_ne_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_22 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_22, - "*((int (*)[3])l)", - (void *)(*((int (*)[3])l))); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_22, - "*((int (*)[3])m)", - (void *)(*((int (*)[3])m))); __gen_e_acsl_ne_8 = 0; if (1) { unsigned long __gen_e_acsl_iter_11; @@ -606,15 +600,15 @@ void arrays(void) int __gen_e_acsl_valid_read_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_23 = {.values = (void *)0}; + __gen_e_acsl_valid_read_7 = __e_acsl_valid_read((void *)(& (*((int (*)[3])l))[__gen_e_acsl_iter_11]), + sizeof(int), + (void *)(*((int (*)[3])l)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_23, "&(*((int (*)[3])l))[__gen_e_acsl_iter_11]", (void *)(& (*((int (*)[3])l))[__gen_e_acsl_iter_11])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_23, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_7 = __e_acsl_valid_read((void *)(& (*((int (*)[3])l))[__gen_e_acsl_iter_11]), - sizeof(int), - (void *)(*((int (*)[3])l)), - (void *)0); __gen_e_acsl_assert_data_23.blocking = 1; __gen_e_acsl_assert_data_23.kind = "RTE"; __gen_e_acsl_assert_data_23.pred_txt = "\\valid_read(&(*((int (*)[3])l))[__gen_e_acsl_iter_11])"; @@ -627,15 +621,15 @@ void arrays(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_23); __e_acsl_assert_data_t __gen_e_acsl_assert_data_24 = {.values = (void *)0}; + __gen_e_acsl_valid_read_8 = __e_acsl_valid_read((void *)(& (*((int (*)[3])m))[__gen_e_acsl_iter_11]), + sizeof(int), + (void *)(*((int (*)[3])m)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_24, "&(*((int (*)[3])m))[__gen_e_acsl_iter_11]", (void *)(& (*((int (*)[3])m))[__gen_e_acsl_iter_11])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_24, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_8 = __e_acsl_valid_read((void *)(& (*((int (*)[3])m))[__gen_e_acsl_iter_11]), - sizeof(int), - (void *)(*((int (*)[3])m)), - (void *)0); __gen_e_acsl_assert_data_24.blocking = 1; __gen_e_acsl_assert_data_24.kind = "RTE"; __gen_e_acsl_assert_data_24.pred_txt = "\\valid_read(&(*((int (*)[3])m))[__gen_e_acsl_iter_11])"; @@ -655,6 +649,12 @@ void arrays(void) } } else __gen_e_acsl_ne_8 = 1; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_22, + "*((int (*)[3])l)", + (void *)(*((int (*)[3])l))); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_22, + "*((int (*)[3])m)", + (void *)(*((int (*)[3])m))); __gen_e_acsl_assert_data_22.blocking = 1; __gen_e_acsl_assert_data_22.kind = "Assertion"; __gen_e_acsl_assert_data_22.pred_txt = "*((int (*)[3])l) != *((int (*)[3])m)"; @@ -669,12 +669,6 @@ void arrays(void) int __gen_e_acsl_eq_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_25 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_25, - "*((int (*)[3])l)", - (void *)(*((int (*)[3])l))); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_25, - "*((int (*)[3])n)", - (void *)(*((int (*)[3])n))); __gen_e_acsl_eq_4 = 1; if (1) { unsigned long __gen_e_acsl_iter_12; @@ -685,15 +679,15 @@ void arrays(void) int __gen_e_acsl_valid_read_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_26 = {.values = (void *)0}; + __gen_e_acsl_valid_read_9 = __e_acsl_valid_read((void *)(& (*((int (*)[3])l))[__gen_e_acsl_iter_12]), + sizeof(int), + (void *)(*((int (*)[3])l)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_26, "&(*((int (*)[3])l))[__gen_e_acsl_iter_12]", (void *)(& (*((int (*)[3])l))[__gen_e_acsl_iter_12])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_26, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_9 = __e_acsl_valid_read((void *)(& (*((int (*)[3])l))[__gen_e_acsl_iter_12]), - sizeof(int), - (void *)(*((int (*)[3])l)), - (void *)0); __gen_e_acsl_assert_data_26.blocking = 1; __gen_e_acsl_assert_data_26.kind = "RTE"; __gen_e_acsl_assert_data_26.pred_txt = "\\valid_read(&(*((int (*)[3])l))[__gen_e_acsl_iter_12])"; @@ -706,15 +700,15 @@ void arrays(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_26); __e_acsl_assert_data_t __gen_e_acsl_assert_data_27 = {.values = (void *)0}; + __gen_e_acsl_valid_read_10 = __e_acsl_valid_read((void *)(& (*((int (*)[3])n))[__gen_e_acsl_iter_12]), + sizeof(int), + (void *)(*((int (*)[3])n)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_27, "&(*((int (*)[3])n))[__gen_e_acsl_iter_12]", (void *)(& (*((int (*)[3])n))[__gen_e_acsl_iter_12])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_27, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_10 = __e_acsl_valid_read((void *)(& (*((int (*)[3])n))[__gen_e_acsl_iter_12]), - sizeof(int), - (void *)(*((int (*)[3])n)), - (void *)0); __gen_e_acsl_assert_data_27.blocking = 1; __gen_e_acsl_assert_data_27.kind = "RTE"; __gen_e_acsl_assert_data_27.pred_txt = "\\valid_read(&(*((int (*)[3])n))[__gen_e_acsl_iter_12])"; @@ -734,6 +728,12 @@ void arrays(void) } } else __gen_e_acsl_eq_4 = 0; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_25, + "*((int (*)[3])l)", + (void *)(*((int (*)[3])l))); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_25, + "*((int (*)[3])n)", + (void *)(*((int (*)[3])n))); __gen_e_acsl_assert_data_25.blocking = 1; __gen_e_acsl_assert_data_25.kind = "Assertion"; __gen_e_acsl_assert_data_25.pred_txt = "*((int (*)[3])l) == *((int (*)[3])n)"; @@ -748,10 +748,6 @@ void arrays(void) int __gen_e_acsl_ne_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_28 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_28,"i", - (void *)(i)); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_28,"k", - (void *)(k)); __gen_e_acsl_ne_9 = 0; if (1) { unsigned long __gen_e_acsl_iter_13; @@ -785,6 +781,10 @@ void arrays(void) } } else __gen_e_acsl_ne_9 = 1; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_28,"i", + (void *)(i)); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_28,"k", + (void *)(k)); __gen_e_acsl_assert_data_28.blocking = 1; __gen_e_acsl_assert_data_28.kind = "Assertion"; __gen_e_acsl_assert_data_28.pred_txt = "(int [3])i != (int [3])k"; @@ -799,10 +799,6 @@ void arrays(void) int __gen_e_acsl_eq_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_31 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_31,"j", - (void *)(j)); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_31,"k", - (void *)(k)); __gen_e_acsl_eq_5 = 1; if (1) { unsigned long __gen_e_acsl_iter_14; @@ -836,6 +832,10 @@ void arrays(void) } } else __gen_e_acsl_eq_5 = 0; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_31,"j", + (void *)(j)); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_31,"k", + (void *)(k)); __gen_e_acsl_assert_data_31.blocking = 1; __gen_e_acsl_assert_data_31.kind = "Assertion"; __gen_e_acsl_assert_data_31.pred_txt = "(int [3])j == (int [3])k"; @@ -850,12 +850,6 @@ void arrays(void) int __gen_e_acsl_ne_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_34 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_34, - "*((int (*)[2])l)", - (void *)(*((int (*)[2])l))); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_34, - "*((int (*)[2])m)", - (void *)(*((int (*)[2])m))); __gen_e_acsl_ne_10 = 0; if (1) { unsigned long __gen_e_acsl_iter_15; @@ -866,15 +860,15 @@ void arrays(void) int __gen_e_acsl_valid_read_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_35 = {.values = (void *)0}; + __gen_e_acsl_valid_read_11 = __e_acsl_valid_read((void *)(& (*((int (*)[2])l))[__gen_e_acsl_iter_15]), + sizeof(int), + (void *)(*((int (*)[2])l)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_35, "&(*((int (*)[2])l))[__gen_e_acsl_iter_15]", (void *)(& (*((int (*)[2])l))[__gen_e_acsl_iter_15])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_35, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_11 = __e_acsl_valid_read((void *)(& (*((int (*)[2])l))[__gen_e_acsl_iter_15]), - sizeof(int), - (void *)(*((int (*)[2])l)), - (void *)0); __gen_e_acsl_assert_data_35.blocking = 1; __gen_e_acsl_assert_data_35.kind = "RTE"; __gen_e_acsl_assert_data_35.pred_txt = "\\valid_read(&(*((int (*)[2])l))[__gen_e_acsl_iter_15])"; @@ -887,15 +881,15 @@ void arrays(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_35); __e_acsl_assert_data_t __gen_e_acsl_assert_data_36 = {.values = (void *)0}; + __gen_e_acsl_valid_read_12 = __e_acsl_valid_read((void *)(& (*((int (*)[2])m))[__gen_e_acsl_iter_15]), + sizeof(int), + (void *)(*((int (*)[2])m)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_36, "&(*((int (*)[2])m))[__gen_e_acsl_iter_15]", (void *)(& (*((int (*)[2])m))[__gen_e_acsl_iter_15])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_36, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_12 = __e_acsl_valid_read((void *)(& (*((int (*)[2])m))[__gen_e_acsl_iter_15]), - sizeof(int), - (void *)(*((int (*)[2])m)), - (void *)0); __gen_e_acsl_assert_data_36.blocking = 1; __gen_e_acsl_assert_data_36.kind = "RTE"; __gen_e_acsl_assert_data_36.pred_txt = "\\valid_read(&(*((int (*)[2])m))[__gen_e_acsl_iter_15])"; @@ -915,6 +909,12 @@ void arrays(void) } } else __gen_e_acsl_ne_10 = 1; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_34, + "*((int (*)[2])l)", + (void *)(*((int (*)[2])l))); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_34, + "*((int (*)[2])m)", + (void *)(*((int (*)[2])m))); __gen_e_acsl_assert_data_34.blocking = 1; __gen_e_acsl_assert_data_34.kind = "Assertion"; __gen_e_acsl_assert_data_34.pred_txt = "*((int (*)[2])l) != *((int (*)[2])m)"; @@ -929,12 +929,6 @@ void arrays(void) int __gen_e_acsl_eq_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_37 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_37, - "*((int (*)[2])l)", - (void *)(*((int (*)[2])l))); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_37, - "*((int (*)[2])n)", - (void *)(*((int (*)[2])n))); __gen_e_acsl_eq_6 = 1; if (1) { unsigned long __gen_e_acsl_iter_16; @@ -945,15 +939,15 @@ void arrays(void) int __gen_e_acsl_valid_read_14; __e_acsl_assert_data_t __gen_e_acsl_assert_data_38 = {.values = (void *)0}; + __gen_e_acsl_valid_read_13 = __e_acsl_valid_read((void *)(& (*((int (*)[2])l))[__gen_e_acsl_iter_16]), + sizeof(int), + (void *)(*((int (*)[2])l)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_38, "&(*((int (*)[2])l))[__gen_e_acsl_iter_16]", (void *)(& (*((int (*)[2])l))[__gen_e_acsl_iter_16])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_38, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_13 = __e_acsl_valid_read((void *)(& (*((int (*)[2])l))[__gen_e_acsl_iter_16]), - sizeof(int), - (void *)(*((int (*)[2])l)), - (void *)0); __gen_e_acsl_assert_data_38.blocking = 1; __gen_e_acsl_assert_data_38.kind = "RTE"; __gen_e_acsl_assert_data_38.pred_txt = "\\valid_read(&(*((int (*)[2])l))[__gen_e_acsl_iter_16])"; @@ -966,15 +960,15 @@ void arrays(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_38); __e_acsl_assert_data_t __gen_e_acsl_assert_data_39 = {.values = (void *)0}; + __gen_e_acsl_valid_read_14 = __e_acsl_valid_read((void *)(& (*((int (*)[2])n))[__gen_e_acsl_iter_16]), + sizeof(int), + (void *)(*((int (*)[2])n)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_39, "&(*((int (*)[2])n))[__gen_e_acsl_iter_16]", (void *)(& (*((int (*)[2])n))[__gen_e_acsl_iter_16])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_39, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_14 = __e_acsl_valid_read((void *)(& (*((int (*)[2])n))[__gen_e_acsl_iter_16]), - sizeof(int), - (void *)(*((int (*)[2])n)), - (void *)0); __gen_e_acsl_assert_data_39.blocking = 1; __gen_e_acsl_assert_data_39.kind = "RTE"; __gen_e_acsl_assert_data_39.pred_txt = "\\valid_read(&(*((int (*)[2])n))[__gen_e_acsl_iter_16])"; @@ -994,6 +988,12 @@ void arrays(void) } } else __gen_e_acsl_eq_6 = 0; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_37, + "*((int (*)[2])l)", + (void *)(*((int (*)[2])l))); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_37, + "*((int (*)[2])n)", + (void *)(*((int (*)[2])n))); __gen_e_acsl_assert_data_37.blocking = 1; __gen_e_acsl_assert_data_37.kind = "Assertion"; __gen_e_acsl_assert_data_37.pred_txt = "*((int (*)[2])l) == *((int (*)[2])n)"; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_at.c b/src/plugins/e-acsl/tests/arith/oracle/gen_at.c index 0831d63b160cca4cacb1fae80395032016c0f975..6c066086426c41ccfe9d811bfc6b45a1cc1c64ec 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_at.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_at.c @@ -163,11 +163,11 @@ void g(int *p, int *q) { int __gen_e_acsl_valid_read; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)q,sizeof(int), + (void *)q,(void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)q,sizeof(int), - (void *)q,(void *)(& q)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "RTE"; __gen_e_acsl_assert_data.pred_txt = "\\valid_read(q)"; @@ -190,14 +190,14 @@ void g(int *p, int *q) int __gen_e_acsl_valid_read_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(p + __gen_e_acsl_at), + sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p",(void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "__gen_e_acsl_at",0,__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(p + __gen_e_acsl_at), - sizeof(int),(void *)p, - (void *)(& p)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(p + __gen_e_acsl_at)"; @@ -232,14 +232,14 @@ void g(int *p, int *q) int __gen_e_acsl_valid_read_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(p + __gen_e_acsl_at), + sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p",(void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "__gen_e_acsl_at",0,__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(p + __gen_e_acsl_at), - sizeof(int),(void *)p, - (void *)(& p)); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(p + __gen_e_acsl_at)"; @@ -252,19 +252,16 @@ void g(int *p, int *q) __gen_e_acsl_at_3 = *(p + __gen_e_acsl_at); __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, - "*(p + \\at(*q,L1))",0, - *(p + __gen_e_acsl_at)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(p + __gen_e_acsl_at), + sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"p",(void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "__gen_e_acsl_at",0,__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(p + __gen_e_acsl_at), - sizeof(int),(void *)p, - (void *)(& p)); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "RTE"; __gen_e_acsl_assert_data_6.pred_txt = "\\valid_read(p + __gen_e_acsl_at)"; @@ -274,6 +271,9 @@ void g(int *p, int *q) __gen_e_acsl_assert_data_6.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read_4,& __gen_e_acsl_assert_data_6); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, + "*(p + \\at(*q,L1))",0, + *(p + __gen_e_acsl_at)); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "Assertion"; __gen_e_acsl_assert_data_5.pred_txt = "\\at(*(p + \\at(*q,L1)),Here) == 2"; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c b/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c index 684d4c7951352107943ba0eddcdc3905bf0c5614..3c3a420f8486821f434161ac28104f028b301c80 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_at_on-purely-logic-variables.c @@ -52,6 +52,11 @@ void g(void) int __gen_e_acsl_valid_read; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(__gen_e_acsl_at + (int)( + __gen_e_acsl_w_2 - 3L)), + sizeof(int), + (void *)__gen_e_acsl_at, + (void *)(& __gen_e_acsl_at)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, "__gen_e_acsl_at", (void *)__gen_e_acsl_at); @@ -59,11 +64,6 @@ void g(void) "__gen_e_acsl_w_2",0,__gen_e_acsl_w_2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(__gen_e_acsl_at + (int)( - __gen_e_acsl_w_2 - 3L)), - sizeof(int), - (void *)__gen_e_acsl_at, - (void *)(& __gen_e_acsl_at)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(__gen_e_acsl_at + (int)(__gen_e_acsl_w_2 - 3))"; @@ -234,14 +234,14 @@ int main(void) *(__gen_e_acsl_at + 0)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, - "__gen_e_acsl_at",(void *)__gen_e_acsl_at); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(__gen_e_acsl_at + 0), sizeof(int), (void *)__gen_e_acsl_at, (void *)(& __gen_e_acsl_at)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, + "__gen_e_acsl_at",(void *)__gen_e_acsl_at); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(__gen_e_acsl_at + 0)"; @@ -274,6 +274,11 @@ int main(void) int __gen_e_acsl_valid_read_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_3 + (int)( + __gen_e_acsl_j_2 - 2L)), + sizeof(int), + (void *)__gen_e_acsl_at_3, + (void *)(& __gen_e_acsl_at_3)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "__gen_e_acsl_at_3", (void *)__gen_e_acsl_at_3); @@ -281,11 +286,6 @@ int main(void) "__gen_e_acsl_j_2",0,__gen_e_acsl_j_2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_3 + (int)( - __gen_e_acsl_j_2 - 2L)), - sizeof(int), - (void *)__gen_e_acsl_at_3, - (void *)(& __gen_e_acsl_at_3)); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(__gen_e_acsl_at_3 + (int)(__gen_e_acsl_j_2 - 2))"; @@ -340,6 +340,15 @@ int main(void) int __gen_e_acsl_valid_read_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)( + __gen_e_acsl_at_5 + (int)( + (long)((int)( + (long)((int)( + __gen_e_acsl_u_6 - 9L)) * 11L)) + (int)( + __gen_e_acsl_v_4 - -4L))), + sizeof(int), + (void *)__gen_e_acsl_at_5, + (void *)(& __gen_e_acsl_at_5)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, "__gen_e_acsl_at_5", (void *)__gen_e_acsl_at_5); @@ -351,15 +360,6 @@ int main(void) __gen_e_acsl_v_4); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)( - __gen_e_acsl_at_5 + (int)( - (long)((int)( - (long)((int)( - __gen_e_acsl_u_6 - 9L)) * 11L)) + (int)( - __gen_e_acsl_v_4 - -4L))), - sizeof(int), - (void *)__gen_e_acsl_at_5, - (void *)(& __gen_e_acsl_at_5)); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "RTE"; __gen_e_acsl_assert_data_6.pred_txt = "\\valid_read(__gen_e_acsl_at_5 +\n (int)((int)((int)(__gen_e_acsl_u_6 - 9) * 11) +\n (int)(__gen_e_acsl_v_4 - -4)))"; @@ -418,15 +418,15 @@ int main(void) "\\at(n + i,L)",0,*(__gen_e_acsl_at_2 + 0)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_2 + 0), + sizeof(long), + (void *)__gen_e_acsl_at_2, + (void *)(& __gen_e_acsl_at_2)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8, "__gen_e_acsl_at_2", (void *)__gen_e_acsl_at_2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_2 + 0), - sizeof(long), - (void *)__gen_e_acsl_at_2, - (void *)(& __gen_e_acsl_at_2)); __gen_e_acsl_assert_data_8.blocking = 1; __gen_e_acsl_assert_data_8.kind = "RTE"; __gen_e_acsl_assert_data_8.pred_txt = "\\valid_read(__gen_e_acsl_at_2 + 0)"; @@ -473,6 +473,11 @@ int main(void) int __gen_e_acsl_valid_read_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_8 + (int)( + __gen_e_acsl_k_4 - -8L)), + sizeof(long), + (void *)__gen_e_acsl_at_8, + (void *)(& __gen_e_acsl_at_8)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10, "__gen_e_acsl_at_8", (void *)__gen_e_acsl_at_8); @@ -480,11 +485,6 @@ int main(void) "__gen_e_acsl_k_4",0,__gen_e_acsl_k_4); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_8 + (int)( - __gen_e_acsl_k_4 - -8L)), - sizeof(long), - (void *)__gen_e_acsl_at_8, - (void *)(& __gen_e_acsl_at_8)); __gen_e_acsl_assert_data_10.blocking = 1; __gen_e_acsl_assert_data_10.kind = "RTE"; __gen_e_acsl_assert_data_10.pred_txt = "\\valid_read(__gen_e_acsl_at_8 + (int)(__gen_e_acsl_k_4 - -8))"; @@ -543,6 +543,15 @@ int main(void) int __gen_e_acsl_valid_read_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)( + __gen_e_acsl_at_6 + (int)( + (long)((int)( + (long)((int)( + __gen_e_acsl_u_7 - 9L)) * 32L)) + (int)( + __gen_e_acsl_v_5 - -4L))), + sizeof(long), + (void *)__gen_e_acsl_at_6, + (void *)(& __gen_e_acsl_at_6)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12, "__gen_e_acsl_at_6", (void *)__gen_e_acsl_at_6); @@ -554,15 +563,6 @@ int main(void) __gen_e_acsl_v_5); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)( - __gen_e_acsl_at_6 + (int)( - (long)((int)( - (long)((int)( - __gen_e_acsl_u_7 - 9L)) * 32L)) + (int)( - __gen_e_acsl_v_5 - -4L))), - sizeof(long), - (void *)__gen_e_acsl_at_6, - (void *)(& __gen_e_acsl_at_6)); __gen_e_acsl_assert_data_12.blocking = 1; __gen_e_acsl_assert_data_12.kind = "RTE"; __gen_e_acsl_assert_data_12.pred_txt = "\\valid_read(__gen_e_acsl_at_6 +\n (int)((int)((int)(__gen_e_acsl_u_7 - 9) * 32) +\n (int)(__gen_e_acsl_v_5 - -4)))"; @@ -655,6 +655,18 @@ int main(void) int __gen_e_acsl_valid_read_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 = {.values = (void *)0}; + __gen_e_acsl_valid_read_7 = __e_acsl_valid_read((void *)( + __gen_e_acsl_at_7 + (int)( + (long)((int)( + (long)((int)( + __gen_e_acsl_u_8 - 10L)) * 300L)) + (int)( + (long)((int)( + (long)((int)( + __gen_e_acsl_v_6 - -9L)) * 100L)) + (int)( + __gen_e_acsl_w_2 - 101L)))), + sizeof(int), + (void *)__gen_e_acsl_at_7, + (void *)(& __gen_e_acsl_at_7)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14, "__gen_e_acsl_at_7", (void *)__gen_e_acsl_at_7); @@ -669,18 +681,6 @@ int main(void) __gen_e_acsl_w_2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_14, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_7 = __e_acsl_valid_read((void *)( - __gen_e_acsl_at_7 + (int)( - (long)((int)( - (long)((int)( - __gen_e_acsl_u_8 - 10L)) * 300L)) + (int)( - (long)((int)( - (long)((int)( - __gen_e_acsl_v_6 - -9L)) * 100L)) + (int)( - __gen_e_acsl_w_2 - 101L)))), - sizeof(int), - (void *)__gen_e_acsl_at_7, - (void *)(& __gen_e_acsl_at_7)); __gen_e_acsl_assert_data_14.blocking = 1; __gen_e_acsl_assert_data_14.kind = "RTE"; __gen_e_acsl_assert_data_14.pred_txt = "\\valid_read(__gen_e_acsl_at_7 +\n (int)((int)((int)(__gen_e_acsl_u_8 - 10) * 300) +\n (int)((int)((int)(__gen_e_acsl_v_6 - -9) * 100) +\n (int)(__gen_e_acsl_w_2 - 101))))"; @@ -785,14 +785,14 @@ void __gen_e_acsl_f(int *t) int __gen_e_acsl_valid_read; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(t + __gen_e_acsl_m), + sizeof(int),(void *)t, + (void *)(& t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"t",(void *)t); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "__gen_e_acsl_m",0,__gen_e_acsl_m); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(t + __gen_e_acsl_m), - sizeof(int),(void *)t, - (void *)(& t)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "RTE"; __gen_e_acsl_assert_data.pred_txt = "\\valid_read(t + __gen_e_acsl_m)"; @@ -812,16 +812,16 @@ void __gen_e_acsl_f(int *t) int __gen_e_acsl_valid_read_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(t + (int)( + __gen_e_acsl_m_2 - 4L)), + sizeof(int),(void *)t, + (void *)(& t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"t", (void *)t); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "__gen_e_acsl_m_2",0,__gen_e_acsl_m_2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(t + (int)( - __gen_e_acsl_m_2 - 4L)), - sizeof(int),(void *)t, - (void *)(& t)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(t + (int)(__gen_e_acsl_m_2 - 4))"; @@ -843,17 +843,17 @@ void __gen_e_acsl_f(int *t) int __gen_e_acsl_valid_read_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(t + (int)( + __gen_e_acsl_n - 1L)), + sizeof(int), + (void *)t, + (void *)(& t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"t", (void *)t); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "__gen_e_acsl_n",0,__gen_e_acsl_n); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(t + (int)( - __gen_e_acsl_n - 1L)), - sizeof(int), - (void *)t, - (void *)(& t)); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "RTE"; __gen_e_acsl_assert_data_3.pred_txt = "\\valid_read(t + (int)(__gen_e_acsl_n - 1))"; @@ -878,16 +878,16 @@ void __gen_e_acsl_f(int *t) int __gen_e_acsl_valid_read_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(t + __gen_e_acsl_n_2), + sizeof(int), + (void *)t, + (void *)(& t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"t", (void *)t); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "__gen_e_acsl_n_2",0,__gen_e_acsl_n_2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(t + __gen_e_acsl_n_2), - sizeof(int), - (void *)t, - (void *)(& t)); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(t + __gen_e_acsl_n_2)"; @@ -921,6 +921,11 @@ void __gen_e_acsl_f(int *t) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_4 + (int)( + __gen_e_acsl_n_3 - 2L)), + sizeof(int), + (void *)__gen_e_acsl_at_4, + (void *)(& __gen_e_acsl_at_4)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, "__gen_e_acsl_at_4", (void *)__gen_e_acsl_at_4); @@ -928,11 +933,6 @@ void __gen_e_acsl_f(int *t) "__gen_e_acsl_n_3",0,__gen_e_acsl_n_3); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_4 + (int)( - __gen_e_acsl_n_3 - 2L)), - sizeof(int), - (void *)__gen_e_acsl_at_4, - (void *)(& __gen_e_acsl_at_4)); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "RTE"; __gen_e_acsl_assert_data_6.pred_txt = "\\valid_read(__gen_e_acsl_at_4 + (int)(__gen_e_acsl_n_3 - 2))"; @@ -947,6 +947,11 @@ void __gen_e_acsl_f(int *t) int __gen_e_acsl_valid_read_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_3 + (int)( + __gen_e_acsl_n_3 - 2L)), + sizeof(int), + (void *)__gen_e_acsl_at_3, + (void *)(& __gen_e_acsl_at_3)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, "__gen_e_acsl_at_3", (void *)__gen_e_acsl_at_3); @@ -954,11 +959,6 @@ void __gen_e_acsl_f(int *t) "__gen_e_acsl_n_3",0,__gen_e_acsl_n_3); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_3 + (int)( - __gen_e_acsl_n_3 - 2L)), - sizeof(int), - (void *)__gen_e_acsl_at_3, - (void *)(& __gen_e_acsl_at_3)); __gen_e_acsl_assert_data_7.blocking = 1; __gen_e_acsl_assert_data_7.kind = "RTE"; __gen_e_acsl_assert_data_7.pred_txt = "\\valid_read(__gen_e_acsl_at_3 + (int)(__gen_e_acsl_n_3 - 2))"; @@ -995,19 +995,16 @@ void __gen_e_acsl_f(int *t) __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; __gen_e_acsl_m_3 = 4; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, - "\\old(*(t + m) == -4)",0, - *(__gen_e_acsl_at + 0)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, - "__gen_e_acsl_at",(void *)__gen_e_acsl_at); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_7 = __e_acsl_valid_read((void *)(__gen_e_acsl_at + 0), sizeof(int), (void *)__gen_e_acsl_at, (void *)(& __gen_e_acsl_at)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, + "__gen_e_acsl_at",(void *)__gen_e_acsl_at); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_assert_data_9.blocking = 1; __gen_e_acsl_assert_data_9.kind = "RTE"; __gen_e_acsl_assert_data_9.pred_txt = "\\valid_read(__gen_e_acsl_at + 0)"; @@ -1017,22 +1014,22 @@ void __gen_e_acsl_f(int *t) __gen_e_acsl_assert_data_9.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read_7,& __gen_e_acsl_assert_data_9); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, + "\\old(*(t + m) == -4)",0, + *(__gen_e_acsl_at + 0)); if (*(__gen_e_acsl_at + 0)) { int __gen_e_acsl_valid_read_8; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, - "\\old(*(t + (m - 4)))",0, - *(__gen_e_acsl_at_2 + 0)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_valid_read_8 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_2 + 0), + sizeof(int), + (void *)__gen_e_acsl_at_2, + (void *)(& __gen_e_acsl_at_2)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10, "__gen_e_acsl_at_2", (void *)__gen_e_acsl_at_2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_8 = __e_acsl_valid_read((void *)(__gen_e_acsl_at_2 + 0), - sizeof(int), - (void *)__gen_e_acsl_at_2, - (void *)(& __gen_e_acsl_at_2)); __gen_e_acsl_assert_data_10.blocking = 1; __gen_e_acsl_assert_data_10.kind = "RTE"; __gen_e_acsl_assert_data_10.pred_txt = "\\valid_read(__gen_e_acsl_at_2 + 0)"; @@ -1043,6 +1040,9 @@ void __gen_e_acsl_f(int *t) __e_acsl_assert(__gen_e_acsl_valid_read_8, & __gen_e_acsl_assert_data_10); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, + "\\old(*(t + (m - 4)))",0, + *(__gen_e_acsl_at_2 + 0)); __gen_e_acsl_and_2 = *(__gen_e_acsl_at_2 + 0) == 9; } else __gen_e_acsl_and_2 = 0; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_bitwise.c b/src/plugins/e-acsl/tests/arith/oracle/gen_bitwise.c index 80633be36765727a39a7efcbb2e7b2eac9f6bedf..6cd81114318f1dfb6f3a775f33fdb6c9b0ae6c4b 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_bitwise.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_bitwise.c @@ -13,8 +13,6 @@ void f_signed(int a, int b) int c = a << 2; { __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"c",0,c); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"a",0,a); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"a",0,a); @@ -27,6 +25,8 @@ void f_signed(int a, int b) __gen_e_acsl_assert_data_2.name = "shift"; __e_acsl_assert(0 <= a,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"c",0,c); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"a",0,a); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "c == a << 2"; @@ -41,8 +41,6 @@ void f_signed(int a, int b) { __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"d",0,d); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"b",0,b); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"b",0,b); @@ -55,6 +53,8 @@ void f_signed(int a, int b) __gen_e_acsl_assert_data_4.name = "shift"; __e_acsl_assert(0 <= b,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"d",0,d); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"b",0,b); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "Assertion"; __gen_e_acsl_assert_data_3.pred_txt = "d == b >> 2"; @@ -220,15 +220,12 @@ void g_signed(int a, int b) __e_acsl_mpz_t __gen_e_acsl_shiftl; int __gen_e_acsl_eq; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"c",0,c); __gmpz_init_set_si(__gen_e_acsl_c,(long)c); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"a",0,a); __gmpz_init_set_si(__gen_e_acsl_a,(long)a); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"b",0,b); __gmpz_init_set_si(__gen_e_acsl_b,(long)b); __e_acsl_assert_copy_values(& __gen_e_acsl_assert_data, & __gen_e_acsl_assert_data_2); @@ -273,6 +270,9 @@ void g_signed(int a, int b) __gen_e_acsl_b_shiftl_coerced); __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_c), (__e_acsl_mpz_struct const *)(__gen_e_acsl_shiftl)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"c",0,c); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"a",0,a); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"b",0,b); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "c == a << b"; @@ -301,15 +301,12 @@ void g_signed(int a, int b) int __gen_e_acsl_eq_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"d",0,d); __gmpz_init_set_si(__gen_e_acsl_d,(long)d); __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"a",0,a); __gmpz_init_set_si(__gen_e_acsl_a_2,(long)a); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"b",0,b); __gmpz_init_set_si(__gen_e_acsl_b_2,(long)b); __e_acsl_assert_copy_values(& __gen_e_acsl_assert_data_4, & __gen_e_acsl_assert_data_5); @@ -354,6 +351,9 @@ void g_signed(int a, int b) __gen_e_acsl_b_shiftr_coerced); __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_d), (__e_acsl_mpz_struct const *)(__gen_e_acsl_shiftr)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"d",0,d); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"a",0,a); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"b",0,b); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "Assertion"; __gen_e_acsl_assert_data_4.pred_txt = "d == a >> b"; @@ -699,15 +699,12 @@ void g_unsigned(unsigned int a, unsigned int b) __e_acsl_mpz_t __gen_e_acsl_shiftl; int __gen_e_acsl_eq; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data,"c",0,c); __gmpz_init_set_ui(__gen_e_acsl_c,(unsigned long)c); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_2,"a",0,a); __gmpz_init_set_ui(__gen_e_acsl_a,(unsigned long)a); - __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_3,"b",0,b); __gmpz_init_set_ui(__gen_e_acsl_b,(unsigned long)b); __e_acsl_assert_copy_values(& __gen_e_acsl_assert_data, & __gen_e_acsl_assert_data_2); @@ -752,6 +749,9 @@ void g_unsigned(unsigned int a, unsigned int b) __gen_e_acsl_b_shiftl_coerced); __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_c), (__e_acsl_mpz_struct const *)(__gen_e_acsl_shiftl)); + __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data,"c",0,c); + __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_2,"a",0,a); + __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_3,"b",0,b); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "c == a << b"; @@ -780,15 +780,12 @@ void g_unsigned(unsigned int a, unsigned int b) int __gen_e_acsl_eq_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_4,"d",0,d); __gmpz_init_set_ui(__gen_e_acsl_d,(unsigned long)d); __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_5,"a",0,a); __gmpz_init_set_ui(__gen_e_acsl_a_2,(unsigned long)a); - __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_6,"b",0,b); __gmpz_init_set_ui(__gen_e_acsl_b_2,(unsigned long)b); __e_acsl_assert_copy_values(& __gen_e_acsl_assert_data_4, & __gen_e_acsl_assert_data_5); @@ -833,6 +830,9 @@ void g_unsigned(unsigned int a, unsigned int b) __gen_e_acsl_b_shiftr_coerced); __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_d), (__e_acsl_mpz_struct const *)(__gen_e_acsl_shiftr)); + __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_4,"d",0,d); + __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_5,"a",0,a); + __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_6,"b",0,b); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "Assertion"; __gen_e_acsl_assert_data_4.pred_txt = "d == a >> b"; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_extended_quantifiers.c b/src/plugins/e-acsl/tests/arith/oracle/gen_extended_quantifiers.c index 33868c6acdda2183ef129a30a837ed56c863e262..d50114664a1ca05ec58bf00723475d14bbf31219 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_extended_quantifiers.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_extended_quantifiers.c @@ -94,13 +94,13 @@ int main(void) __gen_e_acsl_k_2 += __gen_e_acsl_one_2; } } + __gmpz_init_set_si(__gen_e_acsl__2,0L); + __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_2), + (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_2, "\\sum(2, 35, \\lambda integer k; 18446744073709551615ULL)", 0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_2)); - __gmpz_init_set_si(__gen_e_acsl__2,0L); - __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "Assertion"; __gen_e_acsl_assert_data_2.pred_txt = "\\sum(2, 35, \\lambda integer k; 18446744073709551615ULL) != 0"; @@ -164,9 +164,7 @@ int main(void) int __gen_e_acsl_eq; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"x",0,x); __gmpz_init_set_ui(__gen_e_acsl_x,x); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"x",0,x); __gmpz_init(__gen_e_acsl_mul); __gmpz_mul(__gen_e_acsl_mul, (__e_acsl_mpz_struct const *)(__gen_e_acsl_x), @@ -193,12 +191,14 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl_one_4)); } } - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_4, - "\\sum(x * x, 2, \\lambda integer k; k)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_4)); __gmpz_init_set_si(__gen_e_acsl__4,0L); __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_4), (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"x",0,x); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"x",0,x); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_4, + "\\sum(x * x, 2, \\lambda integer k; k)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_4)); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "Assertion"; __gen_e_acsl_assert_data_4.pred_txt = "\\sum(x * x, 2, \\lambda integer k; k) == 0"; @@ -324,8 +324,6 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; __gen_e_acsl_x_2 = 1; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"x",0, - __gen_e_acsl_x_2); __gen_e_acsl_one_7 = 1; __gen_e_acsl_cond_7 = 0; __gen_e_acsl_lambda_7 = 0; @@ -349,6 +347,8 @@ int main(void) __gen_e_acsl_k_7 += __gen_e_acsl_one_7; } } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"x",0, + __gen_e_acsl_x_2); __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_7, "\\sum(x, 10, \\lambda integer k; -2147483647 - 1)", 0,__gen_e_acsl_accumulator_7); @@ -497,13 +497,13 @@ int main(void) __gen_e_acsl_k_10 += __gen_e_acsl_one_10; } } + __gmpz_init_set_ui(__gen_e_acsl__7,3628800UL); + __gen_e_acsl_ge = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_10), + (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_10, "\\product(1, 100, \\lambda integer k; k)", 0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_10)); - __gmpz_init_set_ui(__gen_e_acsl__7,3628800UL); - __gen_e_acsl_ge = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_10), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); __gen_e_acsl_assert_data_10.blocking = 1; __gen_e_acsl_assert_data_10.kind = "Assertion"; __gen_e_acsl_assert_data_10.pred_txt = "\\product(1, 100, \\lambda integer k; k) >= 3628800"; @@ -587,13 +587,13 @@ int main(void) __gen_e_acsl_k_12 += __gen_e_acsl_one_12; } } + __gmpz_init_set_si(__gen_e_acsl__8,0L); + __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_12), + (__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_12, "\\product(-10, 10, \\lambda integer k; k)", 0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_12)); - __gmpz_init_set_si(__gen_e_acsl__8,0L); - __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_12), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); __gen_e_acsl_assert_data_12.blocking = 1; __gen_e_acsl_assert_data_12.kind = "Assertion"; __gen_e_acsl_assert_data_12.pred_txt = "\\product(-10, 10, \\lambda integer k; k) == 0"; @@ -650,10 +650,6 @@ int main(void) __gen_e_acsl_k_13 += __gen_e_acsl_one_13; } } - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_13, - "\\product(-20, -1, \\lambda integer k; 2 * k)", - 0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_13)); __gen_e_acsl_one_14 = 1; __gen_e_acsl_cond_14 = 0; __gmpz_init_set_si(__gen_e_acsl_lambda_14,0L); @@ -683,12 +679,16 @@ int main(void) __gen_e_acsl_k_14 += __gen_e_acsl_one_14; } } + __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_13), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_14)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_13, + "\\product(-20, -1, \\lambda integer k; 2 * k)", + 0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_13)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_13, "\\product(1, 20, \\lambda integer k; 2 * k)", 0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_14)); - __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_13), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_14)); __gen_e_acsl_assert_data_13.blocking = 1; __gen_e_acsl_assert_data_13.kind = "Assertion"; __gen_e_acsl_assert_data_13.pred_txt = "\\product(-20, -1, \\lambda integer k; 2 * k) ==\n\\product(1, 20, \\lambda integer k; 2 * k)"; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_functions.c b/src/plugins/e-acsl/tests/arith/oracle/gen_functions.c index 30a4bf2cb6874440a8b4963f5bfb00ee60b97c3c..35d9f436ac7691d26e8b80ccad01a9bea10e72f6 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_functions.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_functions.c @@ -100,9 +100,9 @@ int main(void) { int __gen_e_acsl_p1_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_p1_2 = __gen_e_acsl_p1(x,y); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"y",0,y); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"x",0,x); - __gen_e_acsl_p1_2 = __gen_e_acsl_p1(x,y); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"p1(x, y)",0, __gen_e_acsl_p1_2); __gen_e_acsl_assert_data.blocking = 1; @@ -158,9 +158,9 @@ int main(void) long __gen_e_acsl_f1_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_f1_2 = __gen_e_acsl_f1(x,y); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"y",0,y); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"x",0,x); - __gen_e_acsl_f1_2 = __gen_e_acsl_f1(x,y); __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_4,"f1(x, y)",0, __gen_e_acsl_f1_2); __gen_e_acsl_assert_data_4.blocking = 1; @@ -179,10 +179,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; __gen_e_acsl_f1_4 = __gen_e_acsl_f1(3,4); + __gen_e_acsl_p2_6 = __gen_e_acsl_p2_5(x,__gen_e_acsl_f1_4); __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_5,"f1(3, 4)",0, __gen_e_acsl_f1_4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"x",0,x); - __gen_e_acsl_p2_6 = __gen_e_acsl_p2_5(x,__gen_e_acsl_f1_4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "p2(x, f1(3, 4))",0,__gen_e_acsl_p2_6); __gen_e_acsl_assert_data_5.blocking = 1; @@ -205,12 +205,12 @@ int main(void) __gmpz_init_set_str(__gen_e_acsl__4,"99999999999999999999999999999",10); __gen_e_acsl_f1_5(& __gen_e_acsl_f1_6,9, (__e_acsl_mpz_struct *)__gen_e_acsl__4); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6, - "f1(9, 99999999999999999999999999999)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_6)); __gmpz_init_set_si(__gen_e_acsl__5,0L); __gen_e_acsl_gt_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_6), (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6, + "f1(9, 99999999999999999999999999999)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_6)); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "Assertion"; __gen_e_acsl_assert_data_6.pred_txt = "f1(9, 99999999999999999999999999999) > 0"; @@ -235,13 +235,13 @@ int main(void) __gen_e_acsl_f1_7(& __gen_e_acsl_f1_8, (__e_acsl_mpz_struct *)__gen_e_acsl__6, (__e_acsl_mpz_struct *)__gen_e_acsl__6); + __gmpz_init_set_str(__gen_e_acsl__7,"199999999999999999999999999998",10); + __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_8), + (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_7, "f1(99999999999999999999999999999, 99999999999999999999999999999)", 0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_8)); - __gmpz_init_set_str(__gen_e_acsl__7,"199999999999999999999999999998",10); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_8), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); __gen_e_acsl_assert_data_7.blocking = 1; __gen_e_acsl_assert_data_7.kind = "Assertion"; __gen_e_acsl_assert_data_7.pred_txt = "f1(99999999999999999999999999999, 99999999999999999999999999999) ==\n199999999999999999999999999998"; @@ -263,8 +263,8 @@ int main(void) int __gen_e_acsl_g_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"x",0,x); __gen_e_acsl_g_2 = __gen_e_acsl_g(x); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"x",0,x); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"g(x)",0, __gen_e_acsl_g_2); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"x",0,x); @@ -283,8 +283,8 @@ int main(void) int __gen_e_acsl_h_char_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; - __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_9,"c",0,c); __gen_e_acsl_h_char_2 = __gen_e_acsl_h_char((int)c); + __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_9,"c",0,c); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"h_char(c)",0, __gen_e_acsl_h_char_2); __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_9,"c",0,c); @@ -304,8 +304,8 @@ int main(void) int __gen_e_acsl_h_short_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; - __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_10,"s",0,s); __gen_e_acsl_h_short_2 = __gen_e_acsl_h_short((int)s); + __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_10,"s",0,s); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"h_short(s)", 0,__gen_e_acsl_h_short_2); __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_10,"s",0,s); @@ -327,10 +327,10 @@ int main(void) long __gen_e_acsl_t2_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; - __e_acsl_assert_register_struct(& __gen_e_acsl_assert_data_11,"m"); __gen_e_acsl_t1_2 = __gen_e_acsl_t1(m); - __e_acsl_assert_register_struct(& __gen_e_acsl_assert_data_11,"t1(m)"); __gen_e_acsl_t2_2 = __gen_e_acsl_t2(__gen_e_acsl_t1_2); + __e_acsl_assert_register_struct(& __gen_e_acsl_assert_data_11,"m"); + __e_acsl_assert_register_struct(& __gen_e_acsl_assert_data_11,"t1(m)"); __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_11,"t2(t1(m))", 0,__gen_e_acsl_t2_2); __gen_e_acsl_assert_data_11.blocking = 1; @@ -349,8 +349,8 @@ int main(void) double __gen_e_acsl_f2_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; - __e_acsl_assert_register_double(& __gen_e_acsl_assert_data_12,"d",d); __gen_e_acsl_f2_2 = __gen_e_acsl_f2(d); + __e_acsl_assert_register_double(& __gen_e_acsl_assert_data_12,"d",d); __e_acsl_assert_register_double(& __gen_e_acsl_assert_data_12,"f2(d)", __gen_e_acsl_f2_2); __gen_e_acsl_assert_data_12.blocking = 1; @@ -392,8 +392,8 @@ void __gen_e_acsl_k(int x) { int __gen_e_acsl_k_pred_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"x",0,x); __gen_e_acsl_k_pred_2 = __gen_e_acsl_k_pred(x); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"x",0,x); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"k_pred(x)",0, __gen_e_acsl_k_pred_2); __gen_e_acsl_assert_data.blocking = 1; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_functions_rec.c b/src/plugins/e-acsl/tests/arith/oracle/gen_functions_rec.c index e193388060a9fb5701a170975887e316130d7f92..b38e3178766ffb17f3fb1c472b78e599e36e0dbb 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_functions_rec.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_functions_rec.c @@ -75,11 +75,11 @@ int main(void) int __gen_e_acsl_eq; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __gen_e_acsl_f1(& __gen_e_acsl_f1_8,0); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"f1(0)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_8)); __gmpz_init_set_si(__gen_e_acsl__7,0L); __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_8), (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"f1(0)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_8)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "f1(0) == 0"; @@ -99,11 +99,11 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __gen_e_acsl_f1(& __gen_e_acsl_f1_10,1); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_2,"f1(1)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_10)); __gmpz_init_set_si(__gen_e_acsl__8,1L); __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_10), (__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_2,"f1(1)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_10)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "Assertion"; __gen_e_acsl_assert_data_2.pred_txt = "f1(1) == 1"; @@ -123,11 +123,11 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; __gen_e_acsl_f1(& __gen_e_acsl_f1_12,100); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3,"f1(100)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_12)); __gmpz_init_set_si(__gen_e_acsl__9,5050L); __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_12), (__e_acsl_mpz_struct const *)(__gen_e_acsl__9)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3,"f1(100)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_12)); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "Assertion"; __gen_e_acsl_assert_data_3.pred_txt = "f1(100) == 5050"; @@ -198,11 +198,11 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; __gen_e_acsl_f5(& __gen_e_acsl_f5_8,0); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_10,"f5(0)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f5_8)); __gmpz_init_set_si(__gen_e_acsl__32,0L); __gen_e_acsl_eq_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f5_8), (__e_acsl_mpz_struct const *)(__gen_e_acsl__32)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_10,"f5(0)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_f5_8)); __gen_e_acsl_assert_data_10.blocking = 1; __gen_e_acsl_assert_data_10.kind = "Assertion"; __gen_e_acsl_assert_data_10.pred_txt = "f5(0) == 0"; @@ -223,14 +223,14 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; __gen_e_acsl_n_9 = 9223372036854775807L; - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_11,"n",0, - __gen_e_acsl_n_9); __gen_e_acsl_f5_2(& __gen_e_acsl_f5_10,__gen_e_acsl_n_9); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_11,"f5(n)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f5_10)); __gmpz_init_set_si(__gen_e_acsl__33,0L); __gen_e_acsl_eq_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f5_10), (__e_acsl_mpz_struct const *)(__gen_e_acsl__33)); + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_11,"n",0, + __gen_e_acsl_n_9); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_11,"f5(n)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_f5_10)); __gen_e_acsl_assert_data_11.blocking = 1; __gen_e_acsl_assert_data_11.kind = "Assertion"; __gen_e_acsl_assert_data_11.pred_txt = "\\let n = 0 == 0? 0x7fffffffffffffffL: -1; f5(n) == 0"; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_let.c b/src/plugins/e-acsl/tests/arith/oracle/gen_let.c index dcc0f5794a4fe375c7b282a85f5703b717d3089e..6c66e98c732d8cafc956befff2c51f4e5ac9a75a 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_let.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_let.c @@ -25,11 +25,11 @@ int main(void) { long __gen_e_acsl_u; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"n",0,n); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"n",0,n); __gen_e_acsl_u = n * (long)n; __e_acsl_assert_register_long(& __gen_e_acsl_assert_data,"u",0, __gen_e_acsl_u); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"n",0,n); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"n",0,n); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "\\let u = n * n; u >= 0"; @@ -45,14 +45,14 @@ int main(void) long __gen_e_acsl_v; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"n",0,n); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"n",0,n); __gen_e_acsl_u_2 = n * (long)n; + __gen_e_acsl_v = __gen_e_acsl_u_2 + 1L; __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_2,"u",0, __gen_e_acsl_u_2); - __gen_e_acsl_v = __gen_e_acsl_u_2 + 1L; __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_2,"u",0, __gen_e_acsl_u_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"n",0,n); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"n",0,n); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "Assertion"; __gen_e_acsl_assert_data_2.pred_txt = "\\let u = n * n;\n\\let v = u + 1; u > 0"; @@ -86,9 +86,9 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __gen_e_acsl_u_4 = 1; + __gen_e_acsl_v_2 = __gen_e_acsl_u_4 + 1; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"u",0, __gen_e_acsl_u_4); - __gen_e_acsl_v_2 = __gen_e_acsl_u_4 + 1; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"v",0, __gen_e_acsl_v_2); __gen_e_acsl_assert_data_4.blocking = 1; @@ -107,9 +107,9 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; __gen_e_acsl_u_5 = 1; + __gen_e_acsl_u_6 = __gen_e_acsl_u_5 + 1; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"u",0, __gen_e_acsl_u_5); - __gen_e_acsl_u_6 = __gen_e_acsl_u_5 + 1; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"u",0, __gen_e_acsl_u_6); __gen_e_acsl_assert_data_5.blocking = 1; @@ -131,21 +131,21 @@ int main(void) int __gen_e_acsl_gt; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_6,"m",0,m); __gen_e_acsl_u_7 = m; - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_6,"u",0, - __gen_e_acsl_u_7); __gmpz_init_set_si(__gen_e_acsl_u_8,__gen_e_acsl_u_7); - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_6,"u",0, - __gen_e_acsl_u_7); __gmpz_init(__gen_e_acsl_mul); __gmpz_mul(__gen_e_acsl_mul, (__e_acsl_mpz_struct const *)(__gen_e_acsl_u_8), (__e_acsl_mpz_struct const *)(__gen_e_acsl_u_8)); - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_6,"m",0,m); __gmpz_init_set_si(__gen_e_acsl_m,m); __gen_e_acsl_gt = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul), (__e_acsl_mpz_struct const *)(__gen_e_acsl_m)); + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_6,"m",0,m); + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_6,"u",0, + __gen_e_acsl_u_7); + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_6,"u",0, + __gen_e_acsl_u_7); + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_6,"m",0,m); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "Assertion"; __gen_e_acsl_assert_data_6.pred_txt = "(\\let u = m; u * u) > m"; @@ -185,11 +185,11 @@ int main(void) float __gen_e_acsl_u_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; - __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_8,"f",f); __gen_e_acsl_u_10 = f; __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_8,"u", __gen_e_acsl_u_10); __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_8,"f",f); + __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_8,"f",f); __gen_e_acsl_assert_data_8.blocking = 1; __gen_e_acsl_assert_data_8.kind = "Assertion"; __gen_e_acsl_assert_data_8.pred_txt = "\\let u = f; u == f"; @@ -205,9 +205,9 @@ int main(void) int * /*[4]*/ __gen_e_acsl_u_11; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_u_11 = & t[1]; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"&t[1]", (void *)(& t[1])); - __gen_e_acsl_u_11 = & t[1]; __gen_e_acsl_assert_data_9.blocking = 1; __gen_e_acsl_assert_data_9.kind = "Assertion"; __gen_e_acsl_assert_data_9.pred_txt = "\\let u = &t[1]; 1 == 1"; @@ -222,9 +222,9 @@ int main(void) int * /*[4]*/ __gen_e_acsl_u_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_u_12 = & t[1]; __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"&t[1]", (void *)(& t[1])); - __gen_e_acsl_u_12 = & t[1]; __gen_e_acsl_assert_data_10.blocking = 1; __gen_e_acsl_assert_data_10.kind = "Assertion"; __gen_e_acsl_assert_data_10.pred_txt = "(\\let u = &t[1]; 1) == 1"; @@ -242,12 +242,12 @@ int main(void) struct __anonstruct_r_1 __gen_e_acsl_u_13; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; - __e_acsl_assert_register_struct(& __gen_e_acsl_assert_data_11,"r"); __gen_e_acsl_u_13 = r; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"u.x",0, __gen_e_acsl_u_13.x); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"u.y",0, __gen_e_acsl_u_13.y); + __e_acsl_assert_register_struct(& __gen_e_acsl_assert_data_11,"r"); __gen_e_acsl_assert_data_11.blocking = 1; __gen_e_acsl_assert_data_11.kind = "Assertion"; __gen_e_acsl_assert_data_11.pred_txt = "\\let u = r; u.x + u.y == 3"; @@ -264,8 +264,8 @@ int main(void) union __anonunion_s_2 __gen_e_acsl_u_14; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; - __e_acsl_assert_register_union(& __gen_e_acsl_assert_data_12,"s"); __gen_e_acsl_u_14 = s; + __e_acsl_assert_register_union(& __gen_e_acsl_assert_data_12,"s"); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"u.x",0, __gen_e_acsl_u_14.x); __gen_e_acsl_assert_data_12.blocking = 1; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_longlong.c b/src/plugins/e-acsl/tests/arith/oracle/gen_longlong.c index 2e45f5d0a6ba91ce2b93f36ad6ff7debdb0f48d5..1e29378dcac5cfa600214688531aa3a6175aeb72 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_longlong.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_longlong.c @@ -45,7 +45,6 @@ int main(void) long __gen_e_acsl__4; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __gmpz_init_set_si(__gen_e_acsl_,2L); - __e_acsl_assert_register_ulonglong(& __gen_e_acsl_assert_data,"x",0,x); __gmpz_init(__gen_e_acsl_x); __gmpz_import(__gen_e_acsl_x,1UL,1,8UL,0,0UL,(void const *)(& x)); __gmpz_init(__gen_e_acsl_mul); @@ -77,6 +76,7 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl_add), (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); __gen_e_acsl__4 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl_mod)); + __e_acsl_assert_register_ulonglong(& __gen_e_acsl_assert_data,"x",0,x); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "(2 * x + 1) % 2 == 1"; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_quantif.c b/src/plugins/e-acsl/tests/arith/oracle/gen_quantif.c index 6a2abd1e2af9cf2c28175751293e73467c29c429..9ac7afd8b8ecfa88cd0ccb3c3d80452fa14c7fc8 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_quantif.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_quantif.c @@ -8,6 +8,10 @@ #include "time.h" extern __attribute__((__FC_BUILTIN__)) int __e_acsl_sound_verdict; +enum RIGHT { + CREATE = 0, + DELETE = 1 +}; /*@ predicate p1(integer i, integer j, integer k) = 0 <= i < 10 && 1 < j <= 11 && 2 <= k <= 12; @@ -64,7 +68,7 @@ int main(void) __gen_e_acsl_assert_data.pred_txt = "\\forall integer x; 0 <= x <= 1 ==> x == 0 || x == 1"; __gen_e_acsl_assert_data.file = "quantif.i"; __gen_e_acsl_assert_data.fct = "main"; - __gen_e_acsl_assert_data.line = 16; + __gen_e_acsl_assert_data.line = 17; __e_acsl_assert(__gen_e_acsl_forall,& __gen_e_acsl_assert_data); __e_acsl_assert_clean(& __gen_e_acsl_assert_data); } @@ -94,7 +98,7 @@ int main(void) __gen_e_acsl_assert_data_2.pred_txt = "\\forall integer x; 0 < x <= 1 ==> x == 1"; __gen_e_acsl_assert_data_2.file = "quantif.i"; __gen_e_acsl_assert_data_2.fct = "main"; - __gen_e_acsl_assert_data_2.line = 17; + __gen_e_acsl_assert_data_2.line = 18; __e_acsl_assert(__gen_e_acsl_forall_2,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); } @@ -124,7 +128,7 @@ int main(void) __gen_e_acsl_assert_data_3.pred_txt = "\\forall integer x; 0 <= x < 1 ==> x == 0"; __gen_e_acsl_assert_data_3.file = "quantif.i"; __gen_e_acsl_assert_data_3.fct = "main"; - __gen_e_acsl_assert_data_3.line = 18; + __gen_e_acsl_assert_data_3.line = 19; __e_acsl_assert(__gen_e_acsl_forall_3,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); } @@ -167,7 +171,7 @@ int main(void) __gen_e_acsl_assert_data_4.pred_txt = "\\forall integer x, integer y, integer z;\n 0 <= x < 2 && 0 <= y < 5 && 0 <= z <= y ==> x + z <= y + 1"; __gen_e_acsl_assert_data_4.file = "quantif.i"; __gen_e_acsl_assert_data_4.fct = "main"; - __gen_e_acsl_assert_data_4.line = 22; + __gen_e_acsl_assert_data_4.line = 23; __e_acsl_assert(__gen_e_acsl_forall_4,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); } @@ -202,7 +206,7 @@ int main(void) __gen_e_acsl_assert_data_5.pred_txt = "\\exists int x; 0 <= x < 10 && x == 5"; __gen_e_acsl_assert_data_5.file = "quantif.i"; __gen_e_acsl_assert_data_5.fct = "main"; - __gen_e_acsl_assert_data_5.line = 27; + __gen_e_acsl_assert_data_5.line = 28; __e_acsl_assert(__gen_e_acsl_exists,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); } @@ -253,7 +257,7 @@ int main(void) __gen_e_acsl_assert_data_6.pred_txt = "\\forall int x;\n 0 <= x < 10 ==>\n x % 2 == 0 ==> (\\exists integer y; 0 <= y <= x / 2 && x == 2 * y)"; __gen_e_acsl_assert_data_6.file = "quantif.i"; __gen_e_acsl_assert_data_6.fct = "main"; - __gen_e_acsl_assert_data_6.line = 31; + __gen_e_acsl_assert_data_6.line = 32; __e_acsl_assert(__gen_e_acsl_forall_5,& __gen_e_acsl_assert_data_6); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); } @@ -324,7 +328,7 @@ int main(void) __gen_e_acsl_assert_data_7.pred_txt = "\\forall int x;\n 0 <= x < 10 ==>\n (\\forall int y; 10 <= y < 20 ==> x <= y) &&\n (\\forall int y; -10 <= y < 0 ==> y <= x)"; __gen_e_acsl_assert_data_7.file = "quantif.i"; __gen_e_acsl_assert_data_7.fct = "main"; - __gen_e_acsl_assert_data_7.line = 36; + __gen_e_acsl_assert_data_7.line = 37; __e_acsl_assert(__gen_e_acsl_forall_6,& __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); } @@ -371,7 +375,7 @@ int main(void) __gen_e_acsl_assert_data_8.pred_txt = "\\forall integer i; 0 <= i < 10 ==> \\valid(&buf[i])"; __gen_e_acsl_assert_data_8.file = "quantif.i"; __gen_e_acsl_assert_data_8.fct = "main"; - __gen_e_acsl_assert_data_8.line = 43; + __gen_e_acsl_assert_data_8.line = 44; __e_acsl_assert(__gen_e_acsl_forall_9,& __gen_e_acsl_assert_data_8); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); } @@ -407,7 +411,7 @@ int main(void) __gen_e_acsl_assert_data_9.pred_txt = "\\forall char i; 0 <= i < 10 ==> \\valid(&buf[i])"; __gen_e_acsl_assert_data_9.file = "quantif.i"; __gen_e_acsl_assert_data_9.fct = "main"; - __gen_e_acsl_assert_data_9.line = 44; + __gen_e_acsl_assert_data_9.line = 45; __e_acsl_assert(__gen_e_acsl_forall_10,& __gen_e_acsl_assert_data_9); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9); } @@ -443,7 +447,7 @@ int main(void) __gen_e_acsl_assert_data_10.pred_txt = "\\forall integer i; 0 <= i < len ==> \\valid(&buf[i])"; __gen_e_acsl_assert_data_10.file = "quantif.i"; __gen_e_acsl_assert_data_10.fct = "main"; - __gen_e_acsl_assert_data_10.line = 45; + __gen_e_acsl_assert_data_10.line = 46; __e_acsl_assert(__gen_e_acsl_forall_11,& __gen_e_acsl_assert_data_10); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10); } @@ -508,7 +512,7 @@ int main(void) __gen_e_acsl_assert_data_11.pred_txt = "\\forall integer i; 0 <= i <= len ==> \\valid(&buf[i])"; __gen_e_acsl_assert_data_11.file = "quantif.i"; __gen_e_acsl_assert_data_11.fct = "main"; - __gen_e_acsl_assert_data_11.line = 46; + __gen_e_acsl_assert_data_11.line = 47; __e_acsl_assert(__gen_e_acsl_forall_12,& __gen_e_acsl_assert_data_11); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11); __gmpz_clear(__gen_e_acsl_i_4); @@ -524,7 +528,7 @@ int main(void) __gen_e_acsl_assert_data_12.pred_txt = "\\forall integer x; 0 < x < 1 ==> \\false"; __gen_e_acsl_assert_data_12.file = "quantif.i"; __gen_e_acsl_assert_data_12.fct = "main"; - __gen_e_acsl_assert_data_12.line = 50; + __gen_e_acsl_assert_data_12.line = 51; __e_acsl_assert(1,& __gen_e_acsl_assert_data_12); } /*@ assert \forall integer x; 0 < x < 1 ==> \false; */ ; @@ -536,7 +540,7 @@ int main(void) __gen_e_acsl_assert_data_13.pred_txt = "!(\\exists char c; 10 <= c < 10 && c == 10)"; __gen_e_acsl_assert_data_13.file = "quantif.i"; __gen_e_acsl_assert_data_13.fct = "main"; - __gen_e_acsl_assert_data_13.line = 51; + __gen_e_acsl_assert_data_13.line = 52; __e_acsl_assert(1,& __gen_e_acsl_assert_data_13); } /*@ assert !(\exists char c; 10 <= c < 10 && c == 10); */ ; @@ -550,7 +554,7 @@ int main(void) __gen_e_acsl_assert_data_14.pred_txt = "\\let u = 5;\n\\forall integer x, integer y; 0 <= x < 2 && 4 < y < u ==> \\false"; __gen_e_acsl_assert_data_14.file = "quantif.i"; __gen_e_acsl_assert_data_14.fct = "main"; - __gen_e_acsl_assert_data_14.line = 53; + __gen_e_acsl_assert_data_14.line = 54; __e_acsl_assert(1,& __gen_e_acsl_assert_data_14); } /*@ @@ -600,7 +604,7 @@ int main(void) __gen_e_acsl_assert_data_15.pred_txt = "\\forall integer i, integer j, integer k;\n 0 <= i < 10 && 1 < j <= 11 && 2 <= k <= 12 ==> p1(i, j, k)"; __gen_e_acsl_assert_data_15.file = "quantif.i"; __gen_e_acsl_assert_data_15.fct = "main"; - __gen_e_acsl_assert_data_15.line = 59; + __gen_e_acsl_assert_data_15.line = 60; __gen_e_acsl_assert_data_15.name = "forall_multiple_binders_1"; __e_acsl_assert(__gen_e_acsl_forall_13,& __gen_e_acsl_assert_data_15); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_15); @@ -655,7 +659,7 @@ int main(void) __gen_e_acsl_assert_data_16.pred_txt = "\\forall integer i, integer j, integer k;\n 0 <= i <= j < k <= 10 ==> p2(i, j, k)"; __gen_e_acsl_assert_data_16.file = "quantif.i"; __gen_e_acsl_assert_data_16.fct = "main"; - __gen_e_acsl_assert_data_16.line = 62; + __gen_e_acsl_assert_data_16.line = 63; __gen_e_acsl_assert_data_16.name = "forall_multiple_binders_2"; __e_acsl_assert(__gen_e_acsl_forall_14,& __gen_e_acsl_assert_data_16); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_16); @@ -710,7 +714,7 @@ int main(void) __gen_e_acsl_assert_data_17.pred_txt = "\\forall integer i, integer j, integer k;\n 0 <= i < j <= 10 && 1 < k < 11 ==> p3(i, j, k)"; __gen_e_acsl_assert_data_17.file = "quantif.i"; __gen_e_acsl_assert_data_17.fct = "main"; - __gen_e_acsl_assert_data_17.line = 65; + __gen_e_acsl_assert_data_17.line = 66; __gen_e_acsl_assert_data_17.name = "forall_multiple_binders_3"; __e_acsl_assert(__gen_e_acsl_forall_15,& __gen_e_acsl_assert_data_17); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_17); @@ -765,7 +769,7 @@ int main(void) __gen_e_acsl_assert_data_18.pred_txt = "\\forall integer i, integer j, integer k;\n 0 <= i < 10 ==> 1 < j <= 11 ==> 2 <= k <= 12 ==> p1(i, j, k)"; __gen_e_acsl_assert_data_18.file = "quantif.i"; __gen_e_acsl_assert_data_18.fct = "main"; - __gen_e_acsl_assert_data_18.line = 68; + __gen_e_acsl_assert_data_18.line = 69; __gen_e_acsl_assert_data_18.name = "forall_multiple_binders_4"; __e_acsl_assert(__gen_e_acsl_forall_16,& __gen_e_acsl_assert_data_18); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_18); @@ -820,7 +824,7 @@ int main(void) __gen_e_acsl_assert_data_19.pred_txt = "\\forall integer i, integer j, integer k;\n 0 <= i <= k <= 10 && 1 <= j < k ==> p4(i, j, k)"; __gen_e_acsl_assert_data_19.file = "quantif.i"; __gen_e_acsl_assert_data_19.fct = "main"; - __gen_e_acsl_assert_data_19.line = 71; + __gen_e_acsl_assert_data_19.line = 72; __gen_e_acsl_assert_data_19.name = "forall_unordered_binders"; __e_acsl_assert(__gen_e_acsl_forall_17,& __gen_e_acsl_assert_data_19); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_19); @@ -875,7 +879,7 @@ int main(void) __gen_e_acsl_assert_data_20.pred_txt = "\\exists integer i, integer j, integer k;\n 0 <= i < 10 && 1 < j <= 11 && 2 <= k <= 12 && p1(i, j, k)"; __gen_e_acsl_assert_data_20.file = "quantif.i"; __gen_e_acsl_assert_data_20.fct = "main"; - __gen_e_acsl_assert_data_20.line = 74; + __gen_e_acsl_assert_data_20.line = 75; __gen_e_acsl_assert_data_20.name = "exists_multiple_binders_1"; __e_acsl_assert(__gen_e_acsl_exists_3,& __gen_e_acsl_assert_data_20); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_20); @@ -930,7 +934,7 @@ int main(void) __gen_e_acsl_assert_data_21.pred_txt = "\\exists integer i, integer j, integer k; 0 <= i <= j < k <= 10 && p2(i, j, k)"; __gen_e_acsl_assert_data_21.file = "quantif.i"; __gen_e_acsl_assert_data_21.fct = "main"; - __gen_e_acsl_assert_data_21.line = 77; + __gen_e_acsl_assert_data_21.line = 78; __gen_e_acsl_assert_data_21.name = "exists_multiple_binders_2"; __e_acsl_assert(__gen_e_acsl_exists_4,& __gen_e_acsl_assert_data_21); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_21); @@ -985,7 +989,7 @@ int main(void) __gen_e_acsl_assert_data_22.pred_txt = "\\exists integer i, integer j, integer k;\n 0 <= i < j <= 10 && 1 < k < 11 && p3(i, j, k)"; __gen_e_acsl_assert_data_22.file = "quantif.i"; __gen_e_acsl_assert_data_22.fct = "main"; - __gen_e_acsl_assert_data_22.line = 80; + __gen_e_acsl_assert_data_22.line = 81; __gen_e_acsl_assert_data_22.name = "exists_multiple_binders_3"; __e_acsl_assert(__gen_e_acsl_exists_5,& __gen_e_acsl_assert_data_22); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_22); @@ -1040,7 +1044,7 @@ int main(void) __gen_e_acsl_assert_data_23.pred_txt = "\\exists integer i, integer j, integer k;\n 0 <= i <= k <= 10 && 1 <= j < k && p4(i, j, k)"; __gen_e_acsl_assert_data_23.file = "quantif.i"; __gen_e_acsl_assert_data_23.fct = "main"; - __gen_e_acsl_assert_data_23.line = 83; + __gen_e_acsl_assert_data_23.line = 84; __gen_e_acsl_assert_data_23.name = "exists_unordered_binders"; __e_acsl_assert(__gen_e_acsl_exists_6,& __gen_e_acsl_assert_data_23); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_23); @@ -1115,6 +1119,41 @@ int main(void) 0 <= i < 10 && 2 <= i < 8 && 4 <= j < 6 ==> p1(i, j, 2); */ ; + { + int __gen_e_acsl_forall_18; + int __gen_e_acsl_r; + __e_acsl_assert_data_t __gen_e_acsl_assert_data_35 = + {.values = (void *)0}; + __gen_e_acsl_forall_18 = 1; + __gen_e_acsl_r = 0U; + while (1) { + if (__gen_e_acsl_r < 1) ; else break; + { + int __gen_e_acsl_and_18; + if (1 <= __gen_e_acsl_r + 1) __gen_e_acsl_and_18 = __gen_e_acsl_r + 1 < 2; + else __gen_e_acsl_and_18 = 0; + if (__gen_e_acsl_and_18) ; + else { + __gen_e_acsl_forall_18 = 0; + goto e_acsl_end_loop24; + } + } + __gen_e_acsl_r ++; + } + e_acsl_end_loop24: ; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35, + "\\forall enum RIGHT r; 0 <= r < 1 ==> 1 <= r + 1 < 2", + 0,__gen_e_acsl_forall_18); + __gen_e_acsl_assert_data_35.blocking = 1; + __gen_e_acsl_assert_data_35.kind = "Assertion"; + __gen_e_acsl_assert_data_35.pred_txt = "\\forall enum RIGHT r; 0 <= r < 1 ==> 1 <= r + 1 < 2"; + __gen_e_acsl_assert_data_35.file = "quantif.i"; + __gen_e_acsl_assert_data_35.fct = "main"; + __gen_e_acsl_assert_data_35.line = 112; + __e_acsl_assert(__gen_e_acsl_forall_18,& __gen_e_acsl_assert_data_35); + __e_acsl_assert_clean(& __gen_e_acsl_assert_data_35); + } + /*@ assert \forall enum RIGHT r; 0 <= r < 1 ==> 1 <= r + 1 < 2; */ ; __retres = 0; __e_acsl_memory_clean(); return __retres; diff --git a/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c b/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c index a00d280f7593272f92e87151f5380ca0c5b7f63f..4aec865756f271f2c483208bca459f1e441394fa 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c +++ b/src/plugins/e-acsl/tests/arith/oracle/gen_rationals.c @@ -233,9 +233,6 @@ int main(void) int __gen_e_acsl_ne_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; - __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_9,"sum",sum); - __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_9,"x",x); - __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_9,"y",y); __gmpq_init(__gen_e_acsl_y); __gmpq_set_d(__gen_e_acsl_y,(double)y); __gmpq_init(__gen_e_acsl__20); @@ -248,6 +245,9 @@ int main(void) __gmpq_set_d(__gen_e_acsl__21,(double)sum); __gen_e_acsl_ne_3 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__21), (__e_acsl_mpq_struct const *)(__gen_e_acsl_mul)); + __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_9,"sum",sum); + __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_9,"x",x); + __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_9,"y",y); __gen_e_acsl_assert_data_9.blocking = 1; __gen_e_acsl_assert_data_9.kind = "Assertion"; __gen_e_acsl_assert_data_9.pred_txt = "sum != x * y"; @@ -309,8 +309,6 @@ int main(void) int __gen_e_acsl_gt; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; - __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_11,"a",0,a); - __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_11,"b",0,b); __gmpq_init(__gen_e_acsl__25); __gmpq_set_si(__gen_e_acsl__25,(long)a,1UL); __gmpq_init(__gen_e_acsl__26); @@ -329,6 +327,8 @@ int main(void) (__e_acsl_mpq_struct const *)(__gen_e_acsl__28)); __gen_e_acsl_gt = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl_add_5), (__e_acsl_mpq_struct const *)(__gen_e_acsl_sub_2)); + __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_11,"a",0,a); + __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_11,"b",0,b); __gen_e_acsl_assert_data_11.blocking = 1; __gen_e_acsl_assert_data_11.kind = "Assertion"; __gen_e_acsl_assert_data_11.pred_txt = "a + b > 2. - 1."; @@ -383,10 +383,6 @@ double __gen_e_acsl_avg(double a, double b) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __gen_e_acsl_delta = 1; - __e_acsl_assert_register_mpq(& __gen_e_acsl_assert_data,"\\old(a)", - (__e_acsl_mpq_struct const *)(__gen_e_acsl_at)); - __e_acsl_assert_register_double(& __gen_e_acsl_assert_data,"\\old(b)", - __gen_e_acsl_at_2); __gmpq_init(__gen_e_acsl_); __gmpq_set_d(__gen_e_acsl_,__gen_e_acsl_at_2); __gmpq_init(__gen_e_acsl_add); @@ -402,33 +398,27 @@ double __gen_e_acsl_avg(double a, double b) __gmpq_init(__gen_e_acsl_avg_real); __gmpq_set(__gen_e_acsl_avg_real, (__e_acsl_mpq_struct const *)(__gen_e_acsl_div)); - __e_acsl_assert_register_mpq(& __gen_e_acsl_assert_data,"avg_real", - (__e_acsl_mpq_struct const *)(__gen_e_acsl_avg_real)); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"delta",0, - __gen_e_acsl_delta); __gmpq_init(__gen_e_acsl_delta_2); __gmpq_set_si(__gen_e_acsl_delta_2,(long)__gen_e_acsl_delta,1UL); __gmpq_init(__gen_e_acsl_sub); __gmpq_sub(__gen_e_acsl_sub, (__e_acsl_mpq_struct const *)(__gen_e_acsl_avg_real), (__e_acsl_mpq_struct const *)(__gen_e_acsl_delta_2)); - __e_acsl_assert_register_double(& __gen_e_acsl_assert_data,"\\result", - __retres); __gmpq_init(__gen_e_acsl__3); __gmpq_set_d(__gen_e_acsl__3,__retres); __gen_e_acsl_lt = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl_sub), (__e_acsl_mpq_struct const *)(__gen_e_acsl__3)); + __e_acsl_assert_register_mpq(& __gen_e_acsl_assert_data,"avg_real", + (__e_acsl_mpq_struct const *)(__gen_e_acsl_avg_real)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"delta",0, + __gen_e_acsl_delta); + __e_acsl_assert_register_double(& __gen_e_acsl_assert_data,"\\result", + __retres); if (__gen_e_acsl_lt < 0) { __e_acsl_mpq_t __gen_e_acsl_delta_3; __e_acsl_mpq_t __gen_e_acsl_add_2; __e_acsl_mpq_t __gen_e_acsl__4; int __gen_e_acsl_lt_2; - __e_acsl_assert_register_double(& __gen_e_acsl_assert_data,"\\result", - __retres); - __e_acsl_assert_register_mpq(& __gen_e_acsl_assert_data,"avg_real", - (__e_acsl_mpq_struct const *)(__gen_e_acsl_avg_real)); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"delta",0, - __gen_e_acsl_delta); __gmpq_init(__gen_e_acsl_delta_3); __gmpq_set_si(__gen_e_acsl_delta_3,(long)__gen_e_acsl_delta,1UL); __gmpq_init(__gen_e_acsl_add_2); @@ -439,12 +429,22 @@ double __gen_e_acsl_avg(double a, double b) __gmpq_set_d(__gen_e_acsl__4,__retres); __gen_e_acsl_lt_2 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__4), (__e_acsl_mpq_struct const *)(__gen_e_acsl_add_2)); + __e_acsl_assert_register_double(& __gen_e_acsl_assert_data,"\\result", + __retres); + __e_acsl_assert_register_mpq(& __gen_e_acsl_assert_data,"avg_real", + (__e_acsl_mpq_struct const *)(__gen_e_acsl_avg_real)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"delta",0, + __gen_e_acsl_delta); __gen_e_acsl_and = __gen_e_acsl_lt_2 < 0; __gmpq_clear(__gen_e_acsl_delta_3); __gmpq_clear(__gen_e_acsl_add_2); __gmpq_clear(__gen_e_acsl__4); } else __gen_e_acsl_and = 0; + __e_acsl_assert_register_mpq(& __gen_e_acsl_assert_data,"\\old(a)", + (__e_acsl_mpq_struct const *)(__gen_e_acsl_at)); + __e_acsl_assert_register_double(& __gen_e_acsl_assert_data,"\\old(b)", + __gen_e_acsl_at_2); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Postcondition"; __gen_e_acsl_assert_data.pred_txt = "\\let delta = 1;\n\\let avg_real = (\\old(a) + \\old(b)) / 2;\n avg_real - delta < \\result < avg_real + delta"; diff --git a/src/plugins/e-acsl/tests/arith/oracle/let.res.oracle b/src/plugins/e-acsl/tests/arith/oracle/let.res.oracle index 7da2a499c1c26492b90ac2318eab187bd495bff1..85052dd4ea7316d44413049ff6732f212331098e 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/let.res.oracle +++ b/src/plugins/e-acsl/tests/arith/oracle/let.res.oracle @@ -7,18 +7,18 @@ function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] let.c:7: Warning: - function __e_acsl_assert_register_long: precondition data->values == \null || - \valid(data->values) got status unknown. -[eva:alarm] let.c:7: Warning: assertion got status unknown. -[eva:alarm] let.c:9: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] let.c:7: Warning: assertion got status unknown. [eva:alarm] let.c:10: Warning: function __e_acsl_assert_register_long: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] let.c:10: Warning: - function __e_acsl_assert_register_long: precondition data->values == \null || - \valid(data->values) got status unknown. +[eva:alarm] let.c:9: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. +[eva:alarm] let.c:9: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] let.c:9: Warning: assertion got status unknown. [eva:alarm] let.c:13: Warning: assertion got status unknown. [eva:alarm] let.c:16: Warning: @@ -58,8 +58,8 @@ function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] let.c:41: Warning: - function __e_acsl_assert_register_int: precondition data->values == \null || - \valid(data->values) got status unknown. + function __e_acsl_assert_register_struct: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] let.c:41: Warning: assertion got status unknown. [eva:alarm] let.c:48: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || diff --git a/src/plugins/e-acsl/tests/arith/oracle/quantif.res.oracle b/src/plugins/e-acsl/tests/arith/oracle/quantif.res.oracle index 5266a21d44afbdf18ba94621adc8170e250aaa02..975e9069daf2c99a92e3c70e6d3ae88b300b9d87 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/quantif.res.oracle +++ b/src/plugins/e-acsl/tests/arith/oracle/quantif.res.oracle @@ -1,11 +1,11 @@ [e-acsl] beginning translation. -[e-acsl] quantif.i:88: Warning: +[e-acsl] quantif.i:89: Warning: invalid E-ACSL construct `invalid guard 10 > i in quantification failed_invalid_guards: \forall integer i; 10 > i >= 0 ==> p1(i, 2, 2). Missing guard for i. Only < and <= are allowed to guard quantifier variables'. Ignoring annotation. -[e-acsl] quantif.i:90: Warning: +[e-acsl] quantif.i:91: Warning: invalid E-ACSL construct `invalid guard p1(i, j, k) in quantification failed_unguarded_k: @@ -13,58 +13,58 @@ 0 <= i < 10 && 1 < j <= 11 ==> p1(i, j, k). Missing guard for k. '. Ignoring annotation. -[e-acsl] quantif.i:92: Warning: +[e-acsl] quantif.i:93: Warning: E-ACSL construct `non integer variable i in quantification failed_non_integer: \forall real i; 0 <= i < 10 ==> p1(\truncate(i), 2, 2)' is not yet supported. Ignoring annotation. -[e-acsl] quantif.i:94: Warning: +[e-acsl] quantif.i:95: Warning: invalid E-ACSL construct `missing lower bound for i in quantification failed_missing_lower_bound: \forall integer i; i < 10 ==> p1(i, 2, 2)'. Ignoring annotation. -[e-acsl] quantif.i:96: Warning: +[e-acsl] quantif.i:97: Warning: invalid E-ACSL construct `invalid guard p1(i, 2, 2) in quantification failded_missing_upper_bound: \forall integer i; 0 <= i ==> p1(i, 2, 2). Missing upper bound for i. '. Ignoring annotation. -[e-acsl] quantif.i:98: Warning: +[e-acsl] quantif.i:99: Warning: invalid E-ACSL construct `invalid guard p1(i, j, 2) in quantification failed_invalid_upper_bound_1: \forall integer i, integer j; 0 <= i < j ==> p1(i, j, 2). Missing upper bound for j. '. Ignoring annotation. -[e-acsl] quantif.i:100: Warning: +[e-acsl] quantif.i:101: Warning: invalid E-ACSL construct `missing lower bound for i when processing the linked upper bound i < j in quantification failed_invalid_upper_bound_2: \forall integer i, integer j; i < j && 0 <= i ==> p1(i, 2, 2)'. Ignoring annotation. -[e-acsl] quantif.i:102: Warning: +[e-acsl] quantif.i:103: Warning: invalid E-ACSL construct `found existing lower bound i < j when processing 3 <= j in quantification failed_extra_constraint: \forall integer i, integer j; 0 <= i < j && i < 10 && 3 <= j < 5 ==> p1(i, j, 2)'. Ignoring annotation. -[e-acsl] quantif.i:104: Warning: +[e-acsl] quantif.i:105: Warning: invalid E-ACSL construct `found existing lower bound 0 <= i when processing j < i in quantification failed_multiple_upper_bounds: \forall integer i, integer j; 0 <= i < j < i && j <= 10 ==> p1(i, j, 2)'. Ignoring annotation. -[e-acsl] quantif.i:106: Warning: +[e-acsl] quantif.i:107: Warning: invalid E-ACSL construct `found existing lower bound i < k when processing j < k in quantification multiple_linked_upper: \forall integer i, integer j, integer k; 0 <= i < k && 1 <= j < k && 2 <= k < 10 ==> p1(i, j, k)'. Ignoring annotation. -[e-acsl] quantif.i:108: Warning: +[e-acsl] quantif.i:109: Warning: invalid E-ACSL construct `invalid constraint 2 <= i, both operands are constants or already bounded in quantification multiple_guard: @@ -72,36 +72,36 @@ 0 <= i < 10 && 2 <= i < 8 && 4 <= j < 6 ==> p1(i, j, 2)'. Ignoring annotation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] quantif.i:22: Warning: assertion got status unknown. -[eva:alarm] quantif.i:31: Warning: assertion got status unknown. -[eva:alarm] quantif.i:46: Warning: +[eva:alarm] quantif.i:23: Warning: assertion got status unknown. +[eva:alarm] quantif.i:32: Warning: assertion got status unknown. +[eva:alarm] quantif.i:47: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. -[eva:alarm] quantif.i:53: Warning: assertion got status unknown. -[eva:alarm] quantif.i:62: Warning: +[eva:alarm] quantif.i:54: Warning: assertion got status unknown. +[eva:alarm] quantif.i:63: Warning: assertion 'forall_multiple_binders_2' got status unknown. -[eva:alarm] quantif.i:65: Warning: +[eva:alarm] quantif.i:66: Warning: assertion 'forall_multiple_binders_3' got status unknown. -[eva:alarm] quantif.i:71: Warning: +[eva:alarm] quantif.i:72: Warning: assertion 'forall_unordered_binders' got status unknown. -[eva:alarm] quantif.i:77: Warning: +[eva:alarm] quantif.i:78: Warning: assertion 'exists_multiple_binders_2' got status unknown. -[eva:alarm] quantif.i:80: Warning: +[eva:alarm] quantif.i:81: Warning: assertion 'exists_multiple_binders_3' got status unknown. -[eva:alarm] quantif.i:83: Warning: +[eva:alarm] quantif.i:84: Warning: assertion 'exists_unordered_binders' got status unknown. -[eva:alarm] quantif.i:90: Warning: +[eva:alarm] quantif.i:91: Warning: assertion 'failed_unguarded_k' got status unknown. -[eva:alarm] quantif.i:92: Warning: +[eva:alarm] quantif.i:93: Warning: assertion 'failed_non_integer' got status unknown. -[eva:alarm] quantif.i:94: Warning: +[eva:alarm] quantif.i:95: Warning: assertion 'failed_missing_lower_bound' got status unknown. -[eva:alarm] quantif.i:96: Warning: +[eva:alarm] quantif.i:97: Warning: assertion 'failded_missing_upper_bound' got status unknown. -[eva:alarm] quantif.i:98: Warning: +[eva:alarm] quantif.i:99: Warning: assertion 'failed_invalid_upper_bound_1' got status unknown. -[eva:alarm] quantif.i:100: Warning: +[eva:alarm] quantif.i:101: Warning: assertion 'failed_invalid_upper_bound_2' got status unknown. -[eva:alarm] quantif.i:104: Warning: +[eva:alarm] quantif.i:105: Warning: assertion 'failed_multiple_upper_bounds' got status unknown. -[eva:alarm] quantif.i:106: Warning: +[eva:alarm] quantif.i:107: Warning: assertion 'multiple_linked_upper' got status unknown. diff --git a/src/plugins/e-acsl/tests/arith/oracle/rationals.res.oracle b/src/plugins/e-acsl/tests/arith/oracle/rationals.res.oracle index 6e3aa8a205b3e228fbcd0cc5b658b3e0a727beb9..79515ceb89e4f1d287571bcb177158e5d3f23ae8 100644 --- a/src/plugins/e-acsl/tests/arith/oracle/rationals.res.oracle +++ b/src/plugins/e-acsl/tests/arith/oracle/rationals.res.oracle @@ -43,12 +43,6 @@ \valid(data->values) got status unknown. [eva:alarm] rationals.c:20: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. -[eva:alarm] rationals.c:5: Warning: - function __e_acsl_assert_register_double: precondition data->values == \null || - \valid(data->values) got status unknown. -[eva:alarm] rationals.c:6: Warning: - function __e_acsl_assert_register_mpq: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] rationals.c:6: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. @@ -61,6 +55,12 @@ [eva:alarm] rationals.c:6: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] rationals.c:5: Warning: + function __e_acsl_assert_register_mpq: precondition data->values == \null || + \valid(data->values) got status unknown. +[eva:alarm] rationals.c:5: Warning: + function __e_acsl_assert_register_double: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] rationals.c:4: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] rationals.c:4: Warning: diff --git a/src/plugins/e-acsl/tests/arith/quantif.i b/src/plugins/e-acsl/tests/arith/quantif.i index 01e7d23222887f27f5359a7bbdb93ce6f7ad0fbb..47edbd62c8f67356cde1b9f707f1c0434c1b1db4 100644 --- a/src/plugins/e-acsl/tests/arith/quantif.i +++ b/src/plugins/e-acsl/tests/arith/quantif.i @@ -2,6 +2,7 @@ COMMENT: quantifiers STDOPT: +"-eva-min-loop-unroll=15" */ +typedef enum RIGHT { CREATE, DELETE } right; // Support predicates for some tests //@ predicate p1(integer i, integer j, integer k) = 0 <= i < 10 && 1 < j <= 11 && 2 <= k <= 12; @@ -107,5 +108,8 @@ int main(void) { /*@ assert multiple_guard: \forall integer i,j; 0 <= i < 10 && 2 <= i < 8 && 4 <= j < 6 ==> p1(i,j,2); */ + // Gitlab issue e-acsl#199 + /*@ assert \forall right r; 0 <= r < 1 ==> 1 <= r+1 < 2; */ + return 0; } diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1326.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts1326.res.oracle index a543c032c6949039fe14b58bc4bee8bc2f83d561..240c303c88bd265c7add2b653602b7adf26c4086 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/bts1326.res.oracle +++ b/src/plugins/e-acsl/tests/bts/oracle/bts1326.res.oracle @@ -1,5 +1,11 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". +[eva:alarm] bts1326.i:8: Warning: + function __e_acsl_assert_register_ulong: precondition data->values == \null || + \valid(data->values) got status unknown. +[eva:alarm] bts1326.i:8: Warning: + function __e_acsl_assert_register_ulong: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] bts1326.i:9: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. @@ -15,9 +21,3 @@ [eva:alarm] bts1326.i:9: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] bts1326.i:8: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || - \valid(data->values) got status unknown. -[eva:alarm] bts1326.i:8: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || - \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts2231.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts2231.res.oracle index dd53093c5e7bf456f38f06dcd3026d30697b490a..af7d612702b08ce319ca9184c96fae386e615fcf 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/bts2231.res.oracle +++ b/src/plugins/e-acsl/tests/bts/oracle/bts2231.res.oracle @@ -1,9 +1,9 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". +[eva:alarm] bts2231.i:8: Warning: + signed overflow. assert -9223372036854775808 <= __gen_e_acsl__2 - 1; [eva:alarm] bts2231.i:8: Warning: function __e_acsl_assert_register_long: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] bts2231.i:8: Warning: - signed overflow. assert -9223372036854775808 <= __gen_e_acsl__2 - 1; [eva:alarm] bts2231.i:8: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1304.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1304.c index dbfe1f01298a4f9c3e08e919de7f126d8a85141f..098addc063262fda4f293fd813c3d5237737638d 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1304.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1304.c @@ -48,12 +48,12 @@ int main(void) { int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(buf), + sizeof(union msg)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data, "(unsigned char *)buf",(void *)(buf)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(union msg)",0,sizeof(union msg)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(buf), - sizeof(union msg)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized((union msg *)((unsigned char *)buf))", 0,__gen_e_acsl_initialized); diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c index d2617cab17cef3746770664edc7780746a2c551a..e81fd973eef7e34636388977fba067356332b4a3 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c @@ -111,13 +111,13 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) __gen_e_acsl_at_3 = Mtmin_out; __gen_e_acsl_contract = __e_acsl_contract_init(1UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)Mtmin_in,sizeof(float), + (void *)Mtmin_in, + (void *)(& Mtmin_in)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"Mtmin_in", (void *)Mtmin_in); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(float)",0,sizeof(float)); - __gen_e_acsl_valid = __e_acsl_valid((void *)Mtmin_in,sizeof(float), - (void *)Mtmin_in, - (void *)(& Mtmin_in)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(Mtmin_in)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -130,12 +130,12 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)Mwmin,sizeof(float), + (void *)Mwmin,(void *)(& Mwmin)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"Mwmin", (void *)Mwmin); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(float)",0,sizeof(float)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)Mwmin,sizeof(float), - (void *)Mwmin,(void *)(& Mwmin)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(Mwmin)",0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_2.blocking = 1; @@ -148,13 +148,13 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)Mtmin_out,sizeof(float), + (void *)Mtmin_out, + (void *)(& Mtmin_out)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"Mtmin_out", (void *)Mtmin_out); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(float)",0,sizeof(float)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)Mtmin_out,sizeof(float), - (void *)Mtmin_out, - (void *)(& Mtmin_out)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(Mtmin_out)",0,__gen_e_acsl_valid_3); __gen_e_acsl_assert_data_3.blocking = 1; @@ -179,20 +179,16 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) int __gen_e_acsl_if; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mtmin_out)",*__gen_e_acsl_at_3); - __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mtmin_in)",*__gen_e_acsl_at); __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, - "__gen_e_acsl_at",(void *)__gen_e_acsl_at); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, - "sizeof(float)",0,sizeof(float)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)__gen_e_acsl_at, sizeof(float), (void *)__gen_e_acsl_at, (void *)(& __gen_e_acsl_at)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, + "__gen_e_acsl_at",(void *)__gen_e_acsl_at); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, + "sizeof(float)",0,sizeof(float)); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "RTE"; __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(__gen_e_acsl_at)"; @@ -204,15 +200,15 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)__gen_e_acsl_at_3, + sizeof(float), + (void *)__gen_e_acsl_at_3, + (void *)(& __gen_e_acsl_at_3)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, "__gen_e_acsl_at_3", (void *)__gen_e_acsl_at_3); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(float)",0,sizeof(float)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)__gen_e_acsl_at_3, - sizeof(float), - (void *)__gen_e_acsl_at_3, - (void *)(& __gen_e_acsl_at_3)); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "RTE"; __gen_e_acsl_assert_data_6.pred_txt = "\\valid_read(__gen_e_acsl_at_3)"; @@ -228,12 +224,8 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) __e_acsl_mpq_t __gen_e_acsl_mul; __e_acsl_mpq_t __gen_e_acsl__3; int __gen_e_acsl_lt; - __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mtmin_in)",*__gen_e_acsl_at); __gmpq_init(__gen_e_acsl_); __gmpq_set_str(__gen_e_acsl_,"085/100",10); - __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mwmin)",*__gen_e_acsl_at_2); __gmpq_init(__gen_e_acsl__2); __gmpq_set_d(__gen_e_acsl__2,(double)*__gen_e_acsl_at_2); __gmpq_init(__gen_e_acsl_mul); @@ -253,19 +245,17 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) else __gen_e_acsl_and = 0; if (__gen_e_acsl_and) { int __gen_e_acsl_valid_read_3; - __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mtmin_in)",*__gen_e_acsl_at); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)__gen_e_acsl_at, + sizeof(float), + (void *)__gen_e_acsl_at, + (void *)(& __gen_e_acsl_at)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, "__gen_e_acsl_at", (void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(float)",0,sizeof(float)); - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)__gen_e_acsl_at, - sizeof(float), - (void *)__gen_e_acsl_at, - (void *)(& __gen_e_acsl_at)); __gen_e_acsl_assert_data_7.blocking = 1; __gen_e_acsl_assert_data_7.kind = "RTE"; __gen_e_acsl_assert_data_7.pred_txt = "\\valid_read(__gen_e_acsl_at)"; @@ -276,6 +266,8 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) __e_acsl_assert(__gen_e_acsl_valid_read_3, & __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); + __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, + "*\\old(Mtmin_in)",*__gen_e_acsl_at); __gen_e_acsl_if = (double)*__gen_e_acsl_at != 0.; } else { @@ -286,8 +278,6 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) int __gen_e_acsl_ne; __gmpq_init(__gen_e_acsl__4); __gmpq_set_str(__gen_e_acsl__4,"085/100",10); - __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mwmin)",*__gen_e_acsl_at_2); __gmpq_init(__gen_e_acsl__5); __gmpq_set_d(__gen_e_acsl__5,(double)*__gen_e_acsl_at_2); __gmpq_init(__gen_e_acsl_mul_2); @@ -298,12 +288,22 @@ void __gen_e_acsl_bar(float *Mtmin_in, float *Mwmin, float *Mtmin_out) __gmpq_set_d(__gen_e_acsl__6,0.); __gen_e_acsl_ne = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl_mul_2), (__e_acsl_mpq_struct const *)(__gen_e_acsl__6)); + __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, + "*\\old(Mwmin)",*__gen_e_acsl_at_2); __gen_e_acsl_if = __gen_e_acsl_ne != 0; __gmpq_clear(__gen_e_acsl__4); __gmpq_clear(__gen_e_acsl__5); __gmpq_clear(__gen_e_acsl_mul_2); __gmpq_clear(__gen_e_acsl__6); } + __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, + "*\\old(Mtmin_out)",*__gen_e_acsl_at_3); + __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, + "*\\old(Mtmin_in)",*__gen_e_acsl_at); + __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, + "*\\old(Mtmin_in)",*__gen_e_acsl_at); + __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, + "*\\old(Mwmin)",*__gen_e_acsl_at_2); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "Postcondition"; __gen_e_acsl_assert_data_4.pred_txt = "*\\old(Mtmin_out) == *\\old(Mtmin_in) < 0.85 * *\\old(Mwmin)?\n *\\old(Mtmin_in) != 0.:\n 0.85 * *\\old(Mwmin) != 0."; @@ -350,13 +350,13 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out) __gen_e_acsl_at_3 = Mtmax_out; __gen_e_acsl_contract = __e_acsl_contract_init(1UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)Mtmax_in,sizeof(float), + (void *)Mtmax_in, + (void *)(& Mtmax_in)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"Mtmax_in", (void *)Mtmax_in); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(float)",0,sizeof(float)); - __gen_e_acsl_valid = __e_acsl_valid((void *)Mtmax_in,sizeof(float), - (void *)Mtmax_in, - (void *)(& Mtmax_in)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(Mtmax_in)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -369,12 +369,12 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out) __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)Mwmax,sizeof(float), + (void *)Mwmax,(void *)(& Mwmax)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"Mwmax", (void *)Mwmax); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(float)",0,sizeof(float)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)Mwmax,sizeof(float), - (void *)Mwmax,(void *)(& Mwmax)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(Mwmax)",0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_2.blocking = 1; @@ -387,13 +387,13 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)Mtmax_out,sizeof(float), + (void *)Mtmax_out, + (void *)(& Mtmax_out)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"Mtmax_out", (void *)Mtmax_out); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(float)",0,sizeof(float)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)Mtmax_out,sizeof(float), - (void *)Mtmax_out, - (void *)(& Mtmax_out)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(Mtmax_out)",0,__gen_e_acsl_valid_3); __gen_e_acsl_assert_data_3.blocking = 1; @@ -427,10 +427,6 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out) int __gen_e_acsl_ne; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mtmax_out)",*__gen_e_acsl_at_3); - __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mtmax_in)",*__gen_e_acsl_at); __gmpq_init(__gen_e_acsl_); __gmpq_set_str(__gen_e_acsl_,"5",10); __gmpq_init(__gen_e_acsl__2); @@ -441,8 +437,6 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out) __gmpq_div(__gen_e_acsl_div, (__e_acsl_mpq_struct const *)(__gen_e_acsl__2), (__e_acsl_mpq_struct const *)(__gen_e_acsl__3)); - __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, - "*\\old(Mwmax)",*__gen_e_acsl_at_2); __gmpq_init(__gen_e_acsl__4); __gmpq_set_d(__gen_e_acsl__4,(double)*__gen_e_acsl_at_2); __gmpq_init(__gen_e_acsl_mul); @@ -469,6 +463,12 @@ void __gen_e_acsl_foo(float *Mtmax_in, float *Mwmax, float *Mtmax_out) __gmpq_set_d(__gen_e_acsl__7,(double)*__gen_e_acsl_at_3); __gen_e_acsl_ne = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__7), (__e_acsl_mpq_struct const *)(__gen_e_acsl_add)); + __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, + "*\\old(Mtmax_out)",*__gen_e_acsl_at_3); + __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, + "*\\old(Mtmax_in)",*__gen_e_acsl_at); + __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_4, + "*\\old(Mwmax)",*__gen_e_acsl_at_2); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "Postcondition"; __gen_e_acsl_assert_data_4.pred_txt = "*\\old(Mtmax_out) != *\\old(Mtmax_in) + (5 - ((5 / 80) * *\\old(Mwmax)) * 0.4)"; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1324.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1324.c index f954d6658c5f085f61d7fdcba02670659d515178..da91f9265127b03c2ec075990ada02eb8492c17e 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1324.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1324.c @@ -83,15 +83,15 @@ int __gen_e_acsl_sorted(int *t, int n) int __gen_e_acsl_valid_read_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(t + __gen_e_acsl_i), + sizeof(int),(void *)t, + (void *)(& t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"t", (void *)t); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "__gen_e_acsl_i",0,__gen_e_acsl_i); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(t + __gen_e_acsl_i), - sizeof(int),(void *)t, - (void *)(& t)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "RTE"; __gen_e_acsl_assert_data.pred_txt = "\\valid_read(t + __gen_e_acsl_i)"; @@ -103,17 +103,17 @@ int __gen_e_acsl_sorted(int *t, int n) __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(t + ( + __gen_e_acsl_i - 1L)), + sizeof(int), + (void *)t, + (void *)(& t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"t", (void *)t); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "__gen_e_acsl_i",0,__gen_e_acsl_i); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(t + ( - __gen_e_acsl_i - 1L)), - sizeof(int), - (void *)t, - (void *)(& t)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(t + (long)(__gen_e_acsl_i - 1))"; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c index 565954f254d5cd6691312b21837639324c550e58..8e484ee47ec4cd7a3330c0f58ebd3b89f29d5d1e 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c @@ -72,34 +72,17 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, int __gen_e_acsl_valid_read_5; int __gen_e_acsl_valid_read_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, - "*\\old(AverageAccel)",0,*__gen_e_acsl_at_2); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, - "(*\\old(Accel))[4]",0, - (*__gen_e_acsl_at)[4]); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, - "(*\\old(Accel))[3]",0, - (*__gen_e_acsl_at)[3]); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, - "(*\\old(Accel))[2]",0, - (*__gen_e_acsl_at)[2]); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, - "(*\\old(Accel))[1]",0, - (*__gen_e_acsl_at)[1]); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, - "(*\\old(Accel))[0]",0, - (*__gen_e_acsl_at)[0]); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(*__gen_e_acsl_at), + sizeof(int), + (void *)(*__gen_e_acsl_at), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, "(int *)*__gen_e_acsl_at", (void *)(*__gen_e_acsl_at)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(*__gen_e_acsl_at), - sizeof(int), - (void *)(*__gen_e_acsl_at), - (void *)0); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read((int *)*__gen_e_acsl_at)"; @@ -111,15 +94,15 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at)[1]), + sizeof(int), + (void *)(*__gen_e_acsl_at), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "&(*__gen_e_acsl_at)[1]", (void *)(& (*__gen_e_acsl_at)[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at)[1]), - sizeof(int), - (void *)(*__gen_e_acsl_at), - (void *)0); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "RTE"; __gen_e_acsl_assert_data_3.pred_txt = "\\valid_read(&(*__gen_e_acsl_at)[1])"; @@ -131,15 +114,15 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at)[2]), + sizeof(int), + (void *)(*__gen_e_acsl_at), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "&(*__gen_e_acsl_at)[2]", (void *)(& (*__gen_e_acsl_at)[2])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at)[2]), - sizeof(int), - (void *)(*__gen_e_acsl_at), - (void *)0); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(&(*__gen_e_acsl_at)[2])"; @@ -151,15 +134,15 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at)[3]), + sizeof(int), + (void *)(*__gen_e_acsl_at), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, "&(*__gen_e_acsl_at)[3]", (void *)(& (*__gen_e_acsl_at)[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at)[3]), - sizeof(int), - (void *)(*__gen_e_acsl_at), - (void *)0); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "RTE"; __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(&(*__gen_e_acsl_at)[3])"; @@ -171,15 +154,15 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at)[4]), + sizeof(int), + (void *)(*__gen_e_acsl_at), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, "&(*__gen_e_acsl_at)[4]", (void *)(& (*__gen_e_acsl_at)[4])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(& (*__gen_e_acsl_at)[4]), - sizeof(int), - (void *)(*__gen_e_acsl_at), - (void *)0); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "RTE"; __gen_e_acsl_assert_data_6.pred_txt = "\\valid_read(&(*__gen_e_acsl_at)[4])"; @@ -191,15 +174,15 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)__gen_e_acsl_at_2, + sizeof(int), + (void *)__gen_e_acsl_at_2, + (void *)(& __gen_e_acsl_at_2)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, "__gen_e_acsl_at_2", (void *)__gen_e_acsl_at_2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)__gen_e_acsl_at_2, - sizeof(int), - (void *)__gen_e_acsl_at_2, - (void *)(& __gen_e_acsl_at_2)); __gen_e_acsl_assert_data_7.blocking = 1; __gen_e_acsl_assert_data_7.kind = "RTE"; __gen_e_acsl_assert_data_7.pred_txt = "\\valid_read(__gen_e_acsl_at_2)"; @@ -209,6 +192,23 @@ void __gen_e_acsl_atp_NORMAL_computeAverageAccel(ArrayInt *Accel, __gen_e_acsl_assert_data_7.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read_6,& __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, + "*\\old(AverageAccel)",0,*__gen_e_acsl_at_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, + "(*\\old(Accel))[4]",0, + (*__gen_e_acsl_at)[4]); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, + "(*\\old(Accel))[3]",0, + (*__gen_e_acsl_at)[3]); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, + "(*\\old(Accel))[2]",0, + (*__gen_e_acsl_at)[2]); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, + "(*\\old(Accel))[1]",0, + (*__gen_e_acsl_at)[1]); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, + "(*\\old(Accel))[0]",0, + (*__gen_e_acsl_at)[0]); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Postcondition"; __gen_e_acsl_assert_data.pred_txt = "*\\old(AverageAccel) ==\n(((((*\\old(Accel))[4] + (*\\old(Accel))[3]) + (*\\old(Accel))[2]) +\n (*\\old(Accel))[1])\n + (*\\old(Accel))[0])\n/ 5"; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c index 04abe828aae0174d474092683d0601c331ea5e09..3973feccd6cfb68535d6238401f85481ba91983c 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c @@ -93,16 +93,16 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n) int __gen_e_acsl_valid_read; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)((char *)buf + __gen_e_acsl_i), + sizeof(char), + (void *)buf, + (void *)(& buf)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"buf", (void *)buf); __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data, "__gen_e_acsl_i",0,__gen_e_acsl_i); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)((char *)buf + __gen_e_acsl_i), - sizeof(char), - (void *)buf, - (void *)(& buf)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "RTE"; __gen_e_acsl_assert_data.pred_txt = "\\valid_read((char *)buf + __gen_e_acsl_i)"; @@ -132,16 +132,16 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n) int __gen_e_acsl_valid_read_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)((char *)buf + __gen_e_acsl_k), + sizeof(char), + (void *)buf, + (void *)(& buf)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"buf", (void *)buf); __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_2, "__gen_e_acsl_k",0,__gen_e_acsl_k); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)((char *)buf + __gen_e_acsl_k), - sizeof(char), - (void *)buf, - (void *)(& buf)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read((char *)buf + __gen_e_acsl_k)"; @@ -188,6 +188,10 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n) int __gen_e_acsl_valid_read_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)((char *)__gen_e_acsl_at + __gen_e_acsl_j), + sizeof(char), + (void *)__gen_e_acsl_at, + (void *)(& __gen_e_acsl_at)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "__gen_e_acsl_at", (void *)__gen_e_acsl_at); @@ -195,10 +199,6 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n) "__gen_e_acsl_j",0,__gen_e_acsl_j); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)((char *)__gen_e_acsl_at + __gen_e_acsl_j), - sizeof(char), - (void *)__gen_e_acsl_at, - (void *)(& __gen_e_acsl_at)); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read((char *)__gen_e_acsl_at + __gen_e_acsl_j)"; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c index 3bd5ee23842ad19d5f7c2afb650fe770a13abcdc..0dea6fcab91f80bcf0b58316de2f7ea9d85f46b3 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c @@ -28,21 +28,18 @@ int main(void) int __gen_e_acsl_valid_read; int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data, - "&state->dataQueue[state->bitsInQueue / 8]", - (void *)(& state->dataQueue[state->bitsInQueue / 8U])); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(& state->bitsInQueue), + sizeof(unsigned int), + (void *)(& state->bitsInQueue), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, "&state->bitsInQueue", (void *)(& state->bitsInQueue)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(unsigned int)",0, sizeof(unsigned int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(& state->bitsInQueue), - sizeof(unsigned int), - (void *)(& state->bitsInQueue), - (void *)0); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(&state->bitsInQueue)"; @@ -52,15 +49,18 @@ int main(void) __gen_e_acsl_assert_data_2.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& state->dataQueue[ + state->bitsInQueue / 8U]), + sizeof(unsigned char __attribute__(( + __aligned__(32))))); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data, + "&state->dataQueue[state->bitsInQueue / 8]", + (void *)(& state->dataQueue[state->bitsInQueue / 8U])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(unsigned char __attribute__((__aligned__(32))))", 0, sizeof(unsigned char __attribute__(( __aligned__(32))))); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& state->dataQueue[ - state->bitsInQueue / 8U]), - sizeof(unsigned char __attribute__(( - __aligned__(32))))); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&state->dataQueue[state->bitsInQueue / 8])", 0,__gen_e_acsl_initialized); diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1478.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1478.c index a6a260e7b23803c56f7f80d3d2595227798aa44b..752351bb56cc984b17e64d74255e3be40700469e 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1478.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1478.c @@ -44,13 +44,13 @@ void __gen_e_acsl_loop(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)global_i_ptr,sizeof(int), + (void *)global_i_ptr, + (void *)(& global_i_ptr)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"global_i_ptr", (void *)global_i_ptr); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)global_i_ptr,sizeof(int), - (void *)global_i_ptr, - (void *)(& global_i_ptr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(global_i_ptr)",0, __gen_e_acsl_valid); diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1700.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1700.c index 12b064f615d03123a31385a1af057dd9abb60060..1e8df719a6c7c2382d0acfc52b1e04d5fbe37bee 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1700.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1700.c @@ -22,13 +22,13 @@ int main(void) { int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(& s),sizeof(struct toto), + (void *)(& s),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&s", (void *)(& s)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(struct toto)",0, sizeof(struct toto)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(& s),sizeof(struct toto), - (void *)(& s),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(&s)",0, __gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -48,25 +48,25 @@ int main(void) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(struct toto *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(struct toto *)",0, sizeof(struct toto *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(struct toto *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)p,sizeof(struct toto), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(struct toto)",0, sizeof(struct toto)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)p,sizeof(struct toto), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\valid(p)", 0,__gen_e_acsl_valid_2); __gen_e_acsl_and = __gen_e_acsl_valid_2; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1717.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1717.c index 5a4b4587b973626a095062ecfd75b5e65d5e2548..b56c86a03edcf1610d764634e9e41ac7336b1267 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1717.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1717.c @@ -23,22 +23,22 @@ int main(void) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1718.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1718.c index 15de627e69bd851f75b537e2fd0f1a08fabd2ca1..051154e609fc811e9489e0781b86f7bd464218b9 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1718.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1718.c @@ -23,22 +23,22 @@ int main(void) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1740.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1740.c index 05a086336244c6aaaa407a19a96f6a04509fc684..6f380cd355b5a4878b7f0c693489218521c57b45 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1740.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1740.c @@ -25,23 +25,23 @@ int main(void) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)", 0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -67,24 +67,24 @@ int main(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&p)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; /*@ assert Eva: dangling_pointer: !\dangling(&p); */ + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\valid(p)", 0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1837.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1837.c index e12f60d7fd00f5e79b3dd281b87968cd12c7f392..ead4d87f6d48064b1ea9dbc7d8ac9da10f8b1d37 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1837.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts1837.c @@ -24,11 +24,11 @@ int f(void) { int __gen_e_acsl_valid_read; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)S,sizeof(char), + (void *)S,(void *)(& S)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"S",(void *)S); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(char)", 0,sizeof(char)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)S,sizeof(char), - (void *)S,(void *)(& S)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid_read(S)",0,__gen_e_acsl_valid_read); __gen_e_acsl_assert_data.blocking = 1; @@ -46,25 +46,25 @@ int f(void) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& s1), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&s1", (void *)(& s1)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& s1), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&s1)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read_2; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"s1", - (void *)s1); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)s1, sizeof(char), (void *)s1, (void *)(& s1)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"s1", + (void *)s1); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid_read(s1)",0, __gen_e_acsl_valid_read_2); @@ -86,25 +86,25 @@ int f(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& s2), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&s2", (void *)(& s2)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& s2), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&s2)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_read_3; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"s2", - (void *)s2); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)s2, sizeof(char), (void *)s2, (void *)(& s2)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"s2", + (void *)s2); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid_read(s2)",0, __gen_e_acsl_valid_read_3); @@ -178,25 +178,25 @@ int main(void) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& s), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&s", (void *)(& s)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& s), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&s)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"s", - (void *)s); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)s, sizeof(char), (void *)s, (void *)(& s)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"s", + (void *)s); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid_read(s)",0, __gen_e_acsl_valid_read); @@ -218,23 +218,23 @@ int main(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& s), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&s", (void *)(& s)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& s), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&s)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)s,sizeof(char), + (void *)s,(void *)(& s)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"s", (void *)s); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid = __e_acsl_valid((void *)s,sizeof(char), - (void *)s,(void *)(& s)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(s)",0,__gen_e_acsl_valid); __gen_e_acsl_and_2 = __gen_e_acsl_valid; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2191.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2191.c index d8622c2f450245217b6d48622a2985a5b8fe0a58..5a630a73cdb425a0f0e561aab413189eef4d2aa7 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2191.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2191.c @@ -53,25 +53,25 @@ int main(int argc, char **argv) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& _G[0].str), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&_G[0].str", (void *)(& _G[0].str)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& _G[0].str), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&_G[0].str)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"_G[0].str", - (void *)_G[0].str); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)_G[0].str, sizeof(char), (void *)_G[0].str, (void *)(& _G[0].str)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"_G[0].str", + (void *)_G[0].str); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid_read(_G[0].str)",0, __gen_e_acsl_valid_read); diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2192.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2192.c index c90d9bd61ae5e6f7e9c740a6b9108a1fff437fc0..88da2376fc768869d3c05aa66d4b7b7feb0ed3ee 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2192.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2192.c @@ -29,14 +29,14 @@ int __gen_e_acsl_atoi(char const *nptr) int __gen_e_acsl_valid_read; __e_acsl_store_block((void *)(& nptr),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"nptr", - (void *)nptr); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(char const)",0,sizeof(char const)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)nptr, sizeof(char const), (void *)nptr, (void *)(& nptr)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"nptr", + (void *)nptr); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(char const)",0,sizeof(char const)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid_read(nptr)",0, __gen_e_acsl_valid_read); diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2231.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2231.c index 0f76bca49c176391cdf5ea812ade8777bc2a492e..cd1e6ef72424f669963cfe10708eb0c75ec661e2 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2231.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2231.c @@ -23,10 +23,8 @@ int main(void) __e_acsl_mpz_t __gen_e_acsl__4; int __gen_e_acsl_eq; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data,"A",0,A); __gmpz_init_set_si(__gen_e_acsl_A,A); __gmpz_init_set_si(__gen_e_acsl_,3L); - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data,"A",0,A); __gmpz_init(__gen_e_acsl_mul); __gmpz_mul(__gen_e_acsl_mul,(__e_acsl_mpz_struct const *)(__gen_e_acsl_), (__e_acsl_mpz_struct const *)(__gen_e_acsl_A)); @@ -42,6 +40,8 @@ int main(void) __gmpz_init_set_si(__gen_e_acsl__4,(long)(-1)); __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add), (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data,"A",0,A); + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data,"A",0,A); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "A + (long)((long)(3 * A) - 1) == -1"; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c index 0cec43b9bcb4a4d5febfd5c8b091c6b4614183ac..b7f66a5f4e92a111c9cce23e2a5931a58bbd29fd 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c @@ -93,13 +93,6 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_contract = __e_acsl_contract_init(2UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"dest", - (void *)dest); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"sizeof(char)", - 0,1); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"sizeof(char)", - 0,1); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,"n",0,n); __gmpz_init_set_ui(__gen_e_acsl_n_2,n); __gmpz_init_set_si(__gen_e_acsl_,1L); __gmpz_init(__gen_e_acsl_sub); @@ -117,17 +110,22 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); __gen_e_acsl__3 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); __gen_e_acsl_size = 1UL * __gen_e_acsl__3; - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,"size",0, - __gen_e_acsl_size); if (__gen_e_acsl_size <= 0UL) __gen_e_acsl_if = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } + else __gen_e_acsl_if = __gen_e_acsl_size; __gen_e_acsl_valid = __e_acsl_valid((void *)(dest + 1 * 0), __gen_e_acsl_if,(void *)dest, (void *)(& dest)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"dest", + (void *)dest); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"sizeof(char)", + 0,1); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"sizeof(char)", + 0,1); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,"n",0,n); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,"size",0, + __gen_e_acsl_size); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,"size",0, + __gen_e_acsl_size); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "room_nstring: \\valid(dest + (0 .. n - 1))", 0,__gen_e_acsl_valid); @@ -144,6 +142,14 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl__4 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gen_e_acsl_size_2 = 1UL * __gen_e_acsl__4; + if (__gen_e_acsl_size_2 <= 0UL) __gen_e_acsl_if_2 = 0UL; + else __gen_e_acsl_if_2 = __gen_e_acsl_size_2; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(dest + 1 * 0), + __gen_e_acsl_if_2, + (void *)dest, + (void *)(& dest)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"dest", (void *)dest); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"sizeof(char)", @@ -151,20 +157,10 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"sizeof(char)", 0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"n",0,n); - __gen_e_acsl__4 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gen_e_acsl_size_2 = 1UL * __gen_e_acsl__4; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, __gen_e_acsl_size_2); - if (__gen_e_acsl_size_2 <= 0UL) __gen_e_acsl_if_2 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, - __gen_e_acsl_size_2); - __gen_e_acsl_if_2 = __gen_e_acsl_size_2; - } - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(dest + 1 * 0), - __gen_e_acsl_if_2, - (void *)dest, - (void *)(& dest)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, + __gen_e_acsl_size_2); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(dest + (0 .. n - 1))"; @@ -176,6 +172,14 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl__5 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gen_e_acsl_size_3 = 1UL * __gen_e_acsl__5; + if (__gen_e_acsl_size_3 <= 0UL) __gen_e_acsl_if_3 = 0UL; + else __gen_e_acsl_if_3 = __gen_e_acsl_size_3; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(src + 1 * 0), + __gen_e_acsl_if_3, + (void *)src, + (void *)(& src)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"src", (void *)src); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, @@ -183,20 +187,10 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "sizeof(char const)",0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"n",0,n); - __gen_e_acsl__5 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gen_e_acsl_size_3 = 1UL * __gen_e_acsl__5; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"size",0, __gen_e_acsl_size_3); - if (__gen_e_acsl_size_3 <= 0UL) __gen_e_acsl_if_3 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"size",0, - __gen_e_acsl_size_3); - __gen_e_acsl_if_3 = __gen_e_acsl_size_3; - } - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(src + 1 * 0), - __gen_e_acsl_if_3, - (void *)src, - (void *)(& src)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"size",0, + __gen_e_acsl_size_3); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "RTE"; __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(src + (0 .. n - 1))"; @@ -206,6 +200,18 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_assert_data_5.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); + __gen_e_acsl__6 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gen_e_acsl_size_4 = 1UL * __gen_e_acsl__6; + if (__gen_e_acsl_size_4 <= 0UL) __gen_e_acsl_if_4 = 0UL; + else __gen_e_acsl_if_4 = __gen_e_acsl_size_4; + __gen_e_acsl__7 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gen_e_acsl_size_5 = 1UL * __gen_e_acsl__7; + if (__gen_e_acsl_size_5 <= 0UL) __gen_e_acsl_if_5 = 0UL; + else __gen_e_acsl_if_5 = __gen_e_acsl_size_5; + __gen_e_acsl_separated = __e_acsl_separated(2UL,dest + 1 * 0, + __gen_e_acsl_if_4, + src + 1 * 0, + __gen_e_acsl_if_5); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"dest", (void *)dest); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(char)", @@ -213,16 +219,10 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(char)", 0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"n",0,n); - __gen_e_acsl__6 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gen_e_acsl_size_4 = 1UL * __gen_e_acsl__6; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, __gen_e_acsl_size_4); - if (__gen_e_acsl_size_4 <= 0UL) __gen_e_acsl_if_4 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, - __gen_e_acsl_size_4); - __gen_e_acsl_if_4 = __gen_e_acsl_size_4; - } + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, + __gen_e_acsl_size_4); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"src", (void *)src); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, @@ -230,20 +230,10 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "sizeof(char const)",0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"n",0,n); - __gen_e_acsl__7 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gen_e_acsl_size_5 = 1UL * __gen_e_acsl__7; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, __gen_e_acsl_size_5); - if (__gen_e_acsl_size_5 <= 0UL) __gen_e_acsl_if_5 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, - __gen_e_acsl_size_5); - __gen_e_acsl_if_5 = __gen_e_acsl_size_5; - } - __gen_e_acsl_separated = __e_acsl_separated(2UL,dest + 1 * 0, - __gen_e_acsl_if_4, - src + 1 * 0, - __gen_e_acsl_if_5); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, + __gen_e_acsl_size_5); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "separation: \\separated(dest + (0 .. n - 1), src + (0 .. n - 1))", 0,__gen_e_acsl_separated); @@ -293,14 +283,6 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"\\old(dest)", - (void *)__gen_e_acsl_at); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)", - 0,1); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)", - 0,1); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_7,"\\old(n)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); __gmpz_init_set_si(__gen_e_acsl__8,1L); __gmpz_init(__gen_e_acsl_sub_3); __gmpz_sub(__gen_e_acsl_sub_3, @@ -317,17 +299,23 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, (__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); __gen_e_acsl__10 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2)); __gen_e_acsl_size_6 = 1UL * __gen_e_acsl__10; - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,"size",0, - __gen_e_acsl_size_6); if (__gen_e_acsl_size_6 <= 0UL) __gen_e_acsl_if_6 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,"size",0, - __gen_e_acsl_size_6); - __gen_e_acsl_if_6 = __gen_e_acsl_size_6; - } + else __gen_e_acsl_if_6 = __gen_e_acsl_size_6; __gen_e_acsl_initialized = __e_acsl_initialized((void *)(__gen_e_acsl_at + 1 * 0), __gen_e_acsl_if_6); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"\\old(dest)", + (void *)__gen_e_acsl_at); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)", + 0,1); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)", + 0,1); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_7,"\\old(n)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,"size",0, + __gen_e_acsl_size_6); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,"size",0, + __gen_e_acsl_size_6); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "initialization: \\initialized(\\old(dest) + (0 .. \\old(n) - 1))", 0,__gen_e_acsl_initialized); @@ -388,15 +376,15 @@ int main(void) int __gen_e_acsl_valid_read; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(srcbuf + i), + sizeof(char), + (void *)srcbuf, + (void *)(& srcbuf)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"srcbuf", (void *)srcbuf); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"i",0,i); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(srcbuf + i), - sizeof(char), - (void *)srcbuf, - (void *)(& srcbuf)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid_read(srcbuf + i)",0, __gen_e_acsl_valid_read); diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386.c index c95d2dd5ca11786f8332dbdf27d90a1e3c374aa9..d299b21d8fd166b9e5413e09a819696e813ac4d7 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386.c @@ -21,18 +21,18 @@ void f(void const *s, int c, unsigned long n) __e_acsl_mpz_t __gen_e_acsl_sub; int __gen_e_acsl_eq; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"s",(void *)s); __gmpz_init_set_ui(__gen_e_acsl_,p - (unsigned char const *)s); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"n",0,n); __gmpz_init_set_ui(__gen_e_acsl_n,n); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"n",0,n); __gmpz_init(__gen_e_acsl_sub); __gmpz_sub(__gen_e_acsl_sub, (__e_acsl_mpz_struct const *)(__gen_e_acsl_n), (__e_acsl_mpz_struct const *)(__gen_e_acsl_n)); __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_), (__e_acsl_mpz_struct const *)(__gen_e_acsl_sub)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"s",(void *)s); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"n",0,n); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"n",0,n); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "p - (unsigned char const *)s == n - n"; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2406.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2406.c index 909d44e55b8a19d3dc6e47d4576ca919ce2f7bd9..3f0698f900d6cf3a7eeda6298e87cbc906896665 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2406.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2406.c @@ -40,23 +40,21 @@ int main(void) int __gen_e_acsl_if; int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_size = 1 * ((9 - 0) + 1); + if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; + else __gen_e_acsl_if = __gen_e_acsl_size; + __gen_e_acsl_valid = __e_acsl_valid((void *)(p + 1 * 0), + (size_t)__gen_e_acsl_if,(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, 1); - __gen_e_acsl_size = 1 * ((9 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, __gen_e_acsl_size); - if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } - __gen_e_acsl_valid = __e_acsl_valid((void *)(p + 1 * 0), - (size_t)__gen_e_acsl_if,(void *)p, - (void *)(& p)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, + __gen_e_acsl_size); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(p + (0 .. 9))",0, __gen_e_acsl_valid); @@ -76,24 +74,22 @@ int main(void) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_size_2 = 1 * ((9 - 0) + 1); + if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; + else __gen_e_acsl_if_2 = __gen_e_acsl_size_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(t + 1 * 0), + (size_t)__gen_e_acsl_if_2, + (void *)(t),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"(char *)t", (void *)(t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"sizeof(char)", 0,1); - __gen_e_acsl_size_2 = 1 * ((9 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, __gen_e_acsl_size_2); - if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, - __gen_e_acsl_size_2); - __gen_e_acsl_if_2 = __gen_e_acsl_size_2; - } - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(t + 1 * 0), - (size_t)__gen_e_acsl_if_2, - (void *)(t),(void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, + __gen_e_acsl_size_2); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(&t[0 .. 9])",0, __gen_e_acsl_valid_2); diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-105.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-105.c index bb6b00bfc417aa22965d45deda373f204bb20cdb..39b28ff6273d40b9adbe30eec959a84b4580b7d6 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-105.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-105.c @@ -19,12 +19,12 @@ int f(void) { int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(& a),sizeof(int), + (void *)(& a),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(& a),sizeof(int), - (void *)(& a),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(&a)",0, __gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c index c3b5d7a622373e1173003c0c30e669e672a20b1c..7c44d029d13b4a608006582414c005f68a03fe45 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-139.c @@ -45,14 +45,14 @@ void __gen_e_acsl_f(struct X *item) __e_acsl_store_block((void *)(& item),8UL); __gen_e_acsl_at = item; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"item", - (void *)item); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(struct X)",0,sizeof(struct X)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)item, sizeof(struct X), (void *)item, (void *)(& item)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"item", + (void *)item); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(struct X)",0,sizeof(struct X)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "RTE"; __gen_e_acsl_assert_data.pred_txt = "\\valid_read(item)"; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-145.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-145.c index fca8df4be702c8b7748b91c67e38b174a067f268..4b0dc2e9fe4d57a90f31437b429c2297df7e0033 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-145.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-145.c @@ -34,12 +34,12 @@ int main(void) { int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(& G),sizeof(int), + (void *)(& G),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&G", (void *)(& G)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(& G),sizeof(int), - (void *)(& G),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(&G)",0, __gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-172.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-172.c index 3ba8b805f28e5094845437f30192241938c66bdf..880753c23687457ed418925884690f1806a90bb3 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-172.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-172.c @@ -15,7 +15,6 @@ int main(void) __e_acsl_memory_init((int *)0,(char ***)0,8UL); { __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_double(& __gen_e_acsl_assert_data,"d2",d2); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __e_acsl_assert_register_double(& __gen_e_acsl_assert_data_2,"d2",d2); @@ -40,6 +39,7 @@ int main(void) __gen_e_acsl_assert_data_3.name = "float_to_int"; __e_acsl_assert(d2 < 2147483648.,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); + __e_acsl_assert_register_double(& __gen_e_acsl_assert_data,"d2",d2); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "(int)d2 > 10"; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-177.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-177.c index 9b3b82f7bad1b360453f5b6111bdb782e0d283be..ecb9e3f1e8c4f820254c7696b1173cb4bf5d0988 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-177.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-177.c @@ -29,11 +29,11 @@ int main(void) int __gen_e_acsl_eq; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __gen_e_acsl_f(& __gen_e_acsl_f_8,0); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"f(0)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f_8)); __gmpz_init_set_si(__gen_e_acsl__10,0L); __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f_8), (__e_acsl_mpz_struct const *)(__gen_e_acsl__10)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"f(0)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_f_8)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "f(0) == 0"; @@ -54,14 +54,14 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __gen_e_acsl_n_5 = 9223372036854775807L; - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_2,"n",0, - __gen_e_acsl_n_5); __gen_e_acsl_f_2(& __gen_e_acsl_f_10,__gen_e_acsl_n_5); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_2,"f(n)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f_10)); __gmpz_init_set_si(__gen_e_acsl__11,0L); __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f_10), (__e_acsl_mpz_struct const *)(__gen_e_acsl__11)); + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_2,"n",0, + __gen_e_acsl_n_5); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_2,"f(n)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_f_10)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "Assertion"; __gen_e_acsl_assert_data_2.pred_txt = "\\let n = 0 == 0? 9223372036854775807L: -1; f(n) != 0"; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c index 0521d11ed31a8b3a2f56bff672ab4fd8f5081862..a77ca62bfe58ef77a90b7508ad4f018234be657f 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue-eacsl-40.c @@ -87,16 +87,8 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); __gen_e_acsl_at_3 = nmemb; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"ptr",ptr); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, - 1); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, - 1); __gmpz_init_set_si(__gen_e_acsl_sizeof,1L); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"nmemb",0, - nmemb); __gmpz_init_set_ui(__gen_e_acsl_nmemb,nmemb); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"size",0,size); __gmpz_init_set_ui(__gen_e_acsl_size_3,size); __gmpz_init(__gen_e_acsl_mul); __gmpz_mul(__gen_e_acsl_mul, @@ -122,8 +114,6 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, (__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); __gmpz_init_set(__gen_e_acsl_size_2, (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_2)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); if (__gen_e_acsl_le <= 0) { @@ -133,21 +123,14 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, (__e_acsl_mpz_struct const *)(__gen_e_acsl__3)); __gmpz_clear(__gen_e_acsl__3); } - else { - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); - __gmpz_init_set(__gen_e_acsl_if, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); - } + else __gmpz_init_set(__gen_e_acsl_if, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_2, - "__gen_e_acsl_if",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __gmpz_init_set_ui(__gen_e_acsl__4,18446744073709551615UL); __gen_e_acsl_le_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_if), (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data, + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_2, "__gen_e_acsl_if",0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __gen_e_acsl_assert_data_2.blocking = 1; @@ -163,6 +146,21 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gen_e_acsl_valid = __e_acsl_valid((void *)((char *)ptr + 1 * 0), __gen_e_acsl_size_4,ptr, (void *)(& ptr)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"ptr",ptr); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, + 1); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, + 1); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"nmemb",0, + nmemb); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"size",0,size); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data, + "__gen_e_acsl_if",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "valid_ptr_block: \\valid((char *)ptr + (0 .. nmemb * size - 1))", 0,__gen_e_acsl_valid); @@ -177,12 +175,12 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)stream,sizeof(FILE), + (void *)stream,(void *)(& stream)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"stream", (void *)stream); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(FILE)",0,sizeof(FILE)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)stream,sizeof(FILE), - (void *)stream,(void *)(& stream)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(stream)",0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_3.blocking = 1; @@ -219,11 +217,7 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, unsigned long __gen_e_acsl_size_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"__retres",0, - __retres); __gmpz_init_set_ui(__gen_e_acsl___retres,__retres); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, - size); __gmpz_init_set_ui(__gen_e_acsl_size_5,size); __gmpz_init(__gen_e_acsl_mul_3); __gmpz_mul(__gen_e_acsl_mul_3, @@ -232,6 +226,10 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gmpz_init_set_ui(__gen_e_acsl__5,18446744073709551615UL); __gen_e_acsl_le_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_3), (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"__retres",0, + __retres); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, + size); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "__retres * size <= 18446744073709551615"; @@ -283,19 +281,8 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\old(ptr)", - __gen_e_acsl_at); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)", - 0,1); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)", - 0,1); __gmpz_init_set_si(__gen_e_acsl_sizeof_2,1L); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6,"\\result",0, - __retres); __gmpz_init_set_ui(__gen_e_acsl_result,__retres); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"\\old(size)", - 0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); __gmpz_init(__gen_e_acsl_mul_4); __gmpz_mul(__gen_e_acsl_mul_4, (__e_acsl_mpz_struct const *)(__gen_e_acsl_result), @@ -320,8 +307,6 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2)); __gmpz_init_set(__gen_e_acsl_size_7, (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_5)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); __gen_e_acsl_le_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7), (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); if (__gen_e_acsl_le_4 <= 0) { @@ -331,21 +316,14 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, (__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); __gmpz_clear(__gen_e_acsl__8); } - else { - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); - __gmpz_init_set(__gen_e_acsl_if_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); - } + else __gmpz_init_set(__gen_e_acsl_if_2, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_7, - "__gen_e_acsl_if_2",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2)); __gmpz_init_set_ui(__gen_e_acsl__9,18446744073709551615UL); __gen_e_acsl_le_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__9)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6, + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_7, "__gen_e_acsl_if_2",0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2)); __gen_e_acsl_assert_data_7.blocking = 1; @@ -361,6 +339,24 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gen_e_acsl_initialized = __e_acsl_initialized((void *)((char *)__gen_e_acsl_at + 1 * 0), __gen_e_acsl_size_8); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\old(ptr)", + __gen_e_acsl_at); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)", + 0,1); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)", + 0,1); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6,"\\result",0, + __retres); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"\\old(size)", + 0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6, + "__gen_e_acsl_if_2",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "initialization:\n \\initialized((char *)\\old(ptr) + (0 .. \\result * \\old(size) - 1))", 0,__gen_e_acsl_initialized); @@ -452,12 +448,12 @@ int main(void) int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& buf_0[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&buf_0[3]", (void *)(& buf_0[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& buf_0[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&buf_0[3])",0, __gen_e_acsl_initialized); diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue69.c b/src/plugins/e-acsl/tests/bts/oracle/gen_issue69.c index 6b9b1af1779c444785410d5419057466c6d7643b..00ad900d9e595db233712cad254e9308f4ad2bef 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_issue69.c +++ b/src/plugins/e-acsl/tests/bts/oracle/gen_issue69.c @@ -54,7 +54,6 @@ int main(void) int __gen_e_acsl_u; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"n",0,n); if (n > 0) __gen_e_acsl_if = 4; else __gen_e_acsl_if = 341; __gen_e_acsl_m = __gen_e_acsl_if; __gen_e_acsl_forall_2 = 1; @@ -93,6 +92,7 @@ int main(void) __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\forall char u; 1 < u < m ==> u > 0",0, __gen_e_acsl_forall_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"n",0,n); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "Assertion"; __gen_e_acsl_assert_data_2.pred_txt = "\\let m = n > 0? 4: 341;\n\\forall char u; 1 < u < m ==> u > 0"; diff --git a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-145.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-145.res.oracle index fe2aee011efd8831876e7b2b9afea9328bed509b..8b229a6ee607198d6ee0e4189c27e25c992e0aeb 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-145.res.oracle +++ b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-145.res.oracle @@ -18,12 +18,12 @@ [eva] using specification for function __e_acsl_memory_init [eva] using specification for function __e_acsl_store_block [eva] using specification for function __e_acsl_full_init +[eva] using specification for function __e_acsl_valid [eva] using specification for function __e_acsl_assert_register_ptr [eva] using specification for function __e_acsl_assert_register_ulong [eva:alarm] issue-eacsl-145.c:9: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva] using specification for function __e_acsl_valid [eva] using specification for function __e_acsl_assert_register_int [eva:alarm] issue-eacsl-145.c:9: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || diff --git a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle index 6cd735e79b114d2808f5d2bc2859d843a6e04000..5d7b7b396b9286b8ed229b797471acf27af2d80b 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle +++ b/src/plugins/e-acsl/tests/bts/oracle/issue-eacsl-40.res.oracle @@ -20,6 +20,8 @@ is not yet supported. Ignoring annotation. [e-acsl] translation done in project "e-acsl". +[eva:alarm] FRAMAC_SHARE/libc/stdio.h:351: Warning: + function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] FRAMAC_SHARE/libc/stdio.h:351: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. @@ -32,8 +34,6 @@ [eva:alarm] FRAMAC_SHARE/libc/stdio.h:351: Warning: function __e_acsl_assert_register_mpz: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/stdio.h:351: Warning: - function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] FRAMAC_SHARE/libc/stdio.h:352: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -50,6 +50,8 @@ [eva:alarm] FRAMAC_SHARE/libc/stdio.h:356: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] FRAMAC_SHARE/libc/stdio.h:357: Warning: + function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] FRAMAC_SHARE/libc/stdio.h:357: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. @@ -62,8 +64,6 @@ [eva:alarm] FRAMAC_SHARE/libc/stdio.h:357: Warning: function __e_acsl_assert_register_mpz: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/stdio.h:357: Warning: - function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] FRAMAC_SHARE/libc/stdio.h:357: Warning: function __gen_e_acsl_fread: postcondition 'initialization' got status unknown. [eva:alarm] issue-eacsl-40.c:15: Warning: diff --git a/src/plugins/e-acsl/tests/bts/oracle/issue69.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/issue69.res.oracle index 73666cc48d1dd458981c9d1d4bcbdfd13ff77b48..b4ebb69309d93985fd1365457c92e3c9389af275 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/issue69.res.oracle +++ b/src/plugins/e-acsl/tests/bts/oracle/issue69.res.oracle @@ -3,4 +3,7 @@ [eva:alarm] issue69.c:11: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] issue69.c:10: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] issue69.c:10: Warning: assertion got status unknown. diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c index e450a9ed80b036c3ae34073196f4fec84259b728..75bafb53733678a481528b1b45fc83a1dbf9a974 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c +++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c @@ -94,23 +94,21 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_size = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; + else __gen_e_acsl_if = __gen_e_acsl_size; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(dest + 1 * 0), + (size_t)__gen_e_acsl_if); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"(char *)dest", (void *)(dest)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)", 0,1); - __gen_e_acsl_size = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, __gen_e_acsl_size); - if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(dest + 1 * 0), - (size_t)__gen_e_acsl_if); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, + __gen_e_acsl_size); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&dest[0 .. 1])",0, __gen_e_acsl_initialized); @@ -130,23 +128,21 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_size_2 = 1 * ((3 - 2) + 1); + if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; + else __gen_e_acsl_if_2 = __gen_e_acsl_size_2; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(dest + 1 * 2), + (size_t)__gen_e_acsl_if_2); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, "(char *)dest",(void *)(dest)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,1); - __gen_e_acsl_size_2 = 1 * ((3 - 2) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, __gen_e_acsl_size_2); - if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, - __gen_e_acsl_size_2); - __gen_e_acsl_if_2 = __gen_e_acsl_size_2; - } - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(dest + 1 * 2), - (size_t)__gen_e_acsl_if_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, + __gen_e_acsl_size_2); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&dest[2 .. 3])",0, __gen_e_acsl_initialized_2); @@ -167,23 +163,21 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_size_3 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; + else __gen_e_acsl_if_3 = __gen_e_acsl_size_3; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(src + 1 * 0), + (size_t)__gen_e_acsl_if_3); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "(char *)src",(void *)(src)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,1); - __gen_e_acsl_size_3 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"size",0, __gen_e_acsl_size_3); - if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"size",0, - __gen_e_acsl_size_3); - __gen_e_acsl_if_3 = __gen_e_acsl_size_3; - } - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(src + 1 * 0), - (size_t)__gen_e_acsl_if_3); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"size",0, + __gen_e_acsl_size_3); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&src[0 .. 1])",0, __gen_e_acsl_initialized_3); @@ -205,23 +199,21 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_size_4 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; + else __gen_e_acsl_if_4 = __gen_e_acsl_size_4; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(dest + 1 * 0), + (size_t)__gen_e_acsl_if_4); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "(char *)dest",(void *)(dest)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,1); - __gen_e_acsl_size_4 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, __gen_e_acsl_size_4); - if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, - __gen_e_acsl_size_4); - __gen_e_acsl_if_4 = __gen_e_acsl_size_4; - } - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(dest + 1 * 0), - (size_t)__gen_e_acsl_if_4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, + __gen_e_acsl_size_4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&dest[0 .. 2])",0, __gen_e_acsl_initialized_4); @@ -240,12 +232,12 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& dest[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&dest[3]", (void *)(& dest[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& dest[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&dest[3])",0, __gen_e_acsl_initialized_5); @@ -276,24 +268,22 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_size_5 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; + else __gen_e_acsl_if_5 = __gen_e_acsl_size_5; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(dest_0 + + 1 * 0), + (size_t)__gen_e_acsl_if_5); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, "(char *)dest_0",(void *)(dest_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "sizeof(char)",0,1); - __gen_e_acsl_size_5 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, __gen_e_acsl_size_5); - if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, - __gen_e_acsl_size_5); - __gen_e_acsl_if_5 = __gen_e_acsl_size_5; - } - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(dest_0 + - 1 * 0), - (size_t)__gen_e_acsl_if_5); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, + __gen_e_acsl_size_5); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&dest_0[0 .. 1])",0, __gen_e_acsl_initialized_6); @@ -314,24 +304,22 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_size_6 = 1 * ((3 - 2) + 1); + if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; + else __gen_e_acsl_if_6 = __gen_e_acsl_size_6; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(dest_0 + + 1 * 2), + (size_t)__gen_e_acsl_if_6); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, "(char *)dest_0",(void *)(dest_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "sizeof(char)",0,1); - __gen_e_acsl_size_6 = 1 * ((3 - 2) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"size",0, __gen_e_acsl_size_6); - if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"size",0, - __gen_e_acsl_size_6); - __gen_e_acsl_if_6 = __gen_e_acsl_size_6; - } - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(dest_0 + - 1 * 2), - (size_t)__gen_e_acsl_if_6); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"size",0, + __gen_e_acsl_size_6); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized(&dest_0[2 .. 3])",0, __gen_e_acsl_initialized_7); @@ -352,24 +340,22 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_size_7 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_7 <= 0) __gen_e_acsl_if_7 = 0; + else __gen_e_acsl_if_7 = __gen_e_acsl_size_7; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(src_0 + + 1 * 0), + (size_t)__gen_e_acsl_if_7); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8, "(char *)src_0",(void *)(src_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "sizeof(char)",0,1); - __gen_e_acsl_size_7 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, __gen_e_acsl_size_7); - if (__gen_e_acsl_size_7 <= 0) __gen_e_acsl_if_7 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, - __gen_e_acsl_size_7); - __gen_e_acsl_if_7 = __gen_e_acsl_size_7; - } - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(src_0 + - 1 * 0), - (size_t)__gen_e_acsl_if_7); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, + __gen_e_acsl_size_7); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized(&src_0[0 .. 2])",0, __gen_e_acsl_initialized_8); @@ -391,24 +377,22 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_size_8 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_8 <= 0) __gen_e_acsl_if_8 = 0; + else __gen_e_acsl_if_8 = __gen_e_acsl_size_8; + __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(dest_0 + + 1 * 0), + (size_t)__gen_e_acsl_if_8); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, "(char *)dest_0",(void *)(dest_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "sizeof(char)",0,1); - __gen_e_acsl_size_8 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, __gen_e_acsl_size_8); - if (__gen_e_acsl_size_8 <= 0) __gen_e_acsl_if_8 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, - __gen_e_acsl_size_8); - __gen_e_acsl_if_8 = __gen_e_acsl_size_8; - } - __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(dest_0 + - 1 * 0), - (size_t)__gen_e_acsl_if_8); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, + __gen_e_acsl_size_8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(&dest_0[0 .. 2])",0, __gen_e_acsl_initialized_9); @@ -427,12 +411,12 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& dest_0[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10, "&dest_0[3]",(void *)(& dest_0[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& dest_0[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\initialized(&dest_0[3])",0, __gen_e_acsl_initialized_10); @@ -463,24 +447,22 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_11; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; + __gen_e_acsl_size_9 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_9 <= 0) __gen_e_acsl_if_9 = 0; + else __gen_e_acsl_if_9 = __gen_e_acsl_size_9; + __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(dest_1 + + 1 * 0), + (size_t)__gen_e_acsl_if_9); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11, "(char *)dest_1",(void *)(dest_1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "sizeof(char)",0,1); - __gen_e_acsl_size_9 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, __gen_e_acsl_size_9); - if (__gen_e_acsl_size_9 <= 0) __gen_e_acsl_if_9 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, - __gen_e_acsl_size_9); - __gen_e_acsl_if_9 = __gen_e_acsl_size_9; - } - __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(dest_1 + - 1 * 0), - (size_t)__gen_e_acsl_if_9); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, + __gen_e_acsl_size_9); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "\\initialized(&dest_1[0 .. 1])",0, __gen_e_acsl_initialized_11); @@ -501,24 +483,22 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_size_10 = 1 * ((3 - 2) + 1); + if (__gen_e_acsl_size_10 <= 0) __gen_e_acsl_if_10 = 0; + else __gen_e_acsl_if_10 = __gen_e_acsl_size_10; + __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(dest_1 + + 1 * 2), + (size_t)__gen_e_acsl_if_10); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12, "(char *)dest_1",(void *)(dest_1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "sizeof(char)",0,1); - __gen_e_acsl_size_10 = 1 * ((3 - 2) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"size",0, __gen_e_acsl_size_10); - if (__gen_e_acsl_size_10 <= 0) __gen_e_acsl_if_10 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"size",0, - __gen_e_acsl_size_10); - __gen_e_acsl_if_10 = __gen_e_acsl_size_10; - } - __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(dest_1 + - 1 * 2), - (size_t)__gen_e_acsl_if_10); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"size",0, + __gen_e_acsl_size_10); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "\\initialized(&dest_1[2 .. 3])",0, __gen_e_acsl_initialized_12); @@ -539,24 +519,22 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_13; __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 = {.values = (void *)0}; + __gen_e_acsl_size_11 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_11 <= 0) __gen_e_acsl_if_11 = 0; + else __gen_e_acsl_if_11 = __gen_e_acsl_size_11; + __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)(src_1 + + 1 * 0), + (size_t)__gen_e_acsl_if_11); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13, "(char *)src_1",(void *)(src_1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "sizeof(char)",0,1); - __gen_e_acsl_size_11 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"size",0, __gen_e_acsl_size_11); - if (__gen_e_acsl_size_11 <= 0) __gen_e_acsl_if_11 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"size",0, - __gen_e_acsl_size_11); - __gen_e_acsl_if_11 = __gen_e_acsl_size_11; - } - __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)(src_1 + - 1 * 0), - (size_t)__gen_e_acsl_if_11); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"size",0, + __gen_e_acsl_size_11); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "\\initialized(&src_1[0 .. 1])",0, __gen_e_acsl_initialized_13); @@ -578,24 +556,22 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_14; __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 = {.values = (void *)0}; + __gen_e_acsl_size_12 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_12 <= 0) __gen_e_acsl_if_12 = 0; + else __gen_e_acsl_if_12 = __gen_e_acsl_size_12; + __gen_e_acsl_initialized_14 = __e_acsl_initialized((void *)(dest_1 + + 1 * 0), + (size_t)__gen_e_acsl_if_12); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14, "(char *)dest_1",(void *)(dest_1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14, "sizeof(char)",0,1); - __gen_e_acsl_size_12 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"size",0, __gen_e_acsl_size_12); - if (__gen_e_acsl_size_12 <= 0) __gen_e_acsl_if_12 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"size",0, - __gen_e_acsl_size_12); - __gen_e_acsl_if_12 = __gen_e_acsl_size_12; - } - __gen_e_acsl_initialized_14 = __e_acsl_initialized((void *)(dest_1 + - 1 * 0), - (size_t)__gen_e_acsl_if_12); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"size",0, + __gen_e_acsl_size_12); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14, "\\initialized(&dest_1[0 .. 2])",0, __gen_e_acsl_initialized_14); @@ -614,12 +590,12 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_15; __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 = {.values = (void *)0}; + __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)(& dest_1[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15, "&dest_1[3]",(void *)(& dest_1[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_15, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)(& dest_1[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15, "\\initialized(&dest_1[3])",0, __gen_e_acsl_initialized_15); @@ -718,13 +694,13 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)stat_loc,sizeof(int), + (void *)stat_loc, + (void *)(& stat_loc)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"stat_loc", (void *)stat_loc); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)stat_loc,sizeof(int), - (void *)stat_loc, - (void *)(& stat_loc)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(stat_loc)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -775,12 +751,12 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) if (! __gen_e_acsl_and) __gen_e_acsl_implies = 1; else { int __gen_e_acsl_initialized; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "\\old(stat_loc)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(\\old(stat_loc))",0, __gen_e_acsl_initialized); diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c index 7a71fae35bc987b44b79bd14da2deef8cacce96c..fa8adbe47e652c0494feefb8b30464727abafc11 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c +++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c @@ -259,13 +259,13 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)stat_loc,sizeof(int), + (void *)stat_loc, + (void *)(& stat_loc)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"stat_loc", (void *)stat_loc); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)stat_loc,sizeof(int), - (void *)stat_loc, - (void *)(& stat_loc)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(stat_loc)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -316,12 +316,12 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) if (! __gen_e_acsl_and) __gen_e_acsl_implies = 1; else { int __gen_e_acsl_initialized; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "\\old(stat_loc)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(\\old(stat_loc))",0, __gen_e_acsl_initialized); diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c index fbb489b4f7394002f139c0ef4dbc26e908949c09..4269e70a49c9e9183678c6bea3bfc8c98ce6cd4d 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c +++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c @@ -115,23 +115,21 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_size = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; + else __gen_e_acsl_if = __gen_e_acsl_size; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(dest + 1 * 0), + (size_t)__gen_e_acsl_if); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"(char *)dest", (void *)(dest)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)", 0,1); - __gen_e_acsl_size = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, __gen_e_acsl_size); - if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(dest + 1 * 0), - (size_t)__gen_e_acsl_if); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, + __gen_e_acsl_size); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&dest[0 .. 3])",0, __gen_e_acsl_initialized); @@ -151,23 +149,21 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_size_2 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; + else __gen_e_acsl_if_2 = __gen_e_acsl_size_2; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(src + 1 * 0), + (size_t)__gen_e_acsl_if_2); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, "(char *)src",(void *)(src)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,1); - __gen_e_acsl_size_2 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, __gen_e_acsl_size_2); - if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, - __gen_e_acsl_size_2); - __gen_e_acsl_if_2 = __gen_e_acsl_size_2; - } - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(src + 1 * 0), - (size_t)__gen_e_acsl_if_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, + __gen_e_acsl_size_2); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&src[0 .. 1])",0, __gen_e_acsl_initialized_2); @@ -189,23 +185,21 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_size_3 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; + else __gen_e_acsl_if_3 = __gen_e_acsl_size_3; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(dest + 1 * 0), + (size_t)__gen_e_acsl_if_3); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "(char *)dest",(void *)(dest)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,1); - __gen_e_acsl_size_3 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"size",0, __gen_e_acsl_size_3); - if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"size",0, - __gen_e_acsl_size_3); - __gen_e_acsl_if_3 = __gen_e_acsl_size_3; - } - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(dest + 1 * 0), - (size_t)__gen_e_acsl_if_3); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"size",0, + __gen_e_acsl_size_3); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&dest[0 .. 1])",0, __gen_e_acsl_initialized_3); @@ -226,23 +220,21 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_size_4 = 1 * ((3 - 2) + 1); + if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; + else __gen_e_acsl_if_4 = __gen_e_acsl_size_4; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(dest + 1 * 2), + (size_t)__gen_e_acsl_if_4); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "(char *)dest",(void *)(dest)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,1); - __gen_e_acsl_size_4 = 1 * ((3 - 2) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, __gen_e_acsl_size_4); - if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, - __gen_e_acsl_size_4); - __gen_e_acsl_if_4 = __gen_e_acsl_size_4; - } - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(dest + 1 * 2), - (size_t)__gen_e_acsl_if_4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, + __gen_e_acsl_size_4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&dest[2 .. 3])",0, __gen_e_acsl_initialized_4); @@ -272,24 +264,22 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_size_5 = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; + else __gen_e_acsl_if_5 = __gen_e_acsl_size_5; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(dest_0 + + 1 * 0), + (size_t)__gen_e_acsl_if_5); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, "(char *)dest_0",(void *)(dest_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "sizeof(char)",0,1); - __gen_e_acsl_size_5 = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, __gen_e_acsl_size_5); - if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, - __gen_e_acsl_size_5); - __gen_e_acsl_if_5 = __gen_e_acsl_size_5; - } - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(dest_0 + - 1 * 0), - (size_t)__gen_e_acsl_if_5); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, + __gen_e_acsl_size_5); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&dest_0[0 .. 3])",0, __gen_e_acsl_initialized_5); @@ -310,24 +300,22 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_size_6 = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; + else __gen_e_acsl_if_6 = __gen_e_acsl_size_6; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(src_0 + + 1 * 0), + (size_t)__gen_e_acsl_if_6); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, "(char *)src_0",(void *)(src_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "sizeof(char)",0,1); - __gen_e_acsl_size_6 = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, __gen_e_acsl_size_6); - if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, - __gen_e_acsl_size_6); - __gen_e_acsl_if_6 = __gen_e_acsl_size_6; - } - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(src_0 + - 1 * 0), - (size_t)__gen_e_acsl_if_6); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, + __gen_e_acsl_size_6); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&src_0[0 .. 3])",0, __gen_e_acsl_initialized_6); @@ -347,12 +335,12 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(dest_0), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, "(char *)dest_0",(void *)(dest_0)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(dest_0), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized((char *)dest_0)",0, __gen_e_acsl_initialized_7); @@ -373,24 +361,22 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_size_7 = 1 * ((3 - 1) + 1); + if (__gen_e_acsl_size_7 <= 0) __gen_e_acsl_if_7 = 0; + else __gen_e_acsl_if_7 = __gen_e_acsl_size_7; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(dest_0 + + 1 * 1), + (size_t)__gen_e_acsl_if_7); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8, "(char *)dest_0",(void *)(dest_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "sizeof(char)",0,1); - __gen_e_acsl_size_7 = 1 * ((3 - 1) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, __gen_e_acsl_size_7); - if (__gen_e_acsl_size_7 <= 0) __gen_e_acsl_if_7 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, - __gen_e_acsl_size_7); - __gen_e_acsl_if_7 = __gen_e_acsl_size_7; - } - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(dest_0 + - 1 * 1), - (size_t)__gen_e_acsl_if_7); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, + __gen_e_acsl_size_7); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized(&dest_0[1 .. 3])",0, __gen_e_acsl_initialized_8); @@ -420,24 +406,22 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_size_8 = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size_8 <= 0) __gen_e_acsl_if_8 = 0; + else __gen_e_acsl_if_8 = __gen_e_acsl_size_8; + __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(dest_1 + + 1 * 0), + (size_t)__gen_e_acsl_if_8); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, "(char *)dest_1",(void *)(dest_1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "sizeof(char)",0,1); - __gen_e_acsl_size_8 = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, __gen_e_acsl_size_8); - if (__gen_e_acsl_size_8 <= 0) __gen_e_acsl_if_8 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, - __gen_e_acsl_size_8); - __gen_e_acsl_if_8 = __gen_e_acsl_size_8; - } - __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(dest_1 + - 1 * 0), - (size_t)__gen_e_acsl_if_8); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, + __gen_e_acsl_size_8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(&dest_1[0 .. 3])",0, __gen_e_acsl_initialized_9); @@ -458,24 +442,22 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_size_9 = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size_9 <= 0) __gen_e_acsl_if_9 = 0; + else __gen_e_acsl_if_9 = __gen_e_acsl_size_9; + __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(src_1 + + 1 * 0), + (size_t)__gen_e_acsl_if_9); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10, "(char *)src_1",(void *)(src_1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "sizeof(char)",0,1); - __gen_e_acsl_size_9 = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, __gen_e_acsl_size_9); - if (__gen_e_acsl_size_9 <= 0) __gen_e_acsl_if_9 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, - __gen_e_acsl_size_9); - __gen_e_acsl_if_9 = __gen_e_acsl_size_9; - } - __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(src_1 + - 1 * 0), - (size_t)__gen_e_acsl_if_9); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, + __gen_e_acsl_size_9); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\initialized(&src_1[0 .. 3])",0, __gen_e_acsl_initialized_10); @@ -497,24 +479,22 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_11; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; + __gen_e_acsl_size_10 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_10 <= 0) __gen_e_acsl_if_10 = 0; + else __gen_e_acsl_if_10 = __gen_e_acsl_size_10; + __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(dest_1 + + 1 * 0), + (size_t)__gen_e_acsl_if_10); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11, "(char *)dest_1",(void *)(dest_1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "sizeof(char)",0,1); - __gen_e_acsl_size_10 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, __gen_e_acsl_size_10); - if (__gen_e_acsl_size_10 <= 0) __gen_e_acsl_if_10 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, - __gen_e_acsl_size_10); - __gen_e_acsl_if_10 = __gen_e_acsl_size_10; - } - __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(dest_1 + - 1 * 0), - (size_t)__gen_e_acsl_if_10); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, + __gen_e_acsl_size_10); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "\\initialized(&dest_1[0 .. 2])",0, __gen_e_acsl_initialized_11); @@ -533,12 +513,12 @@ void test_memory_tracking(void) int __gen_e_acsl_initialized_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& dest_1[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12, "&dest_1[3]",(void *)(& dest_1[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& dest_1[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "\\initialized(&dest_1[3])",0, __gen_e_acsl_initialized_12); @@ -693,13 +673,13 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)stat_loc,sizeof(int), + (void *)stat_loc, + (void *)(& stat_loc)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"stat_loc", (void *)stat_loc); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)stat_loc,sizeof(int), - (void *)stat_loc, - (void *)(& stat_loc)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(stat_loc)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -750,12 +730,12 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) if (! __gen_e_acsl_and) __gen_e_acsl_implies = 1; else { int __gen_e_acsl_initialized; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "\\old(stat_loc)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(\\old(stat_loc))",0, __gen_e_acsl_initialized); diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c b/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c index 76ab282dbc748999d8c630347c99fcd3a09c43d0..b78f217fe8da244eedb82d0922e1e356a3d8086a 100644 --- a/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c +++ b/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c @@ -233,13 +233,13 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)stat_loc,sizeof(int), + (void *)stat_loc, + (void *)(& stat_loc)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"stat_loc", (void *)stat_loc); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)stat_loc,sizeof(int), - (void *)stat_loc, - (void *)(& stat_loc)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(stat_loc)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -290,12 +290,12 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) if (! __gen_e_acsl_and) __gen_e_acsl_implies = 1; else { int __gen_e_acsl_initialized; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "\\old(stat_loc)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(\\old(stat_loc))",0, __gen_e_acsl_initialized); diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c b/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c index 40f13a6bb2b9b8efb37e49b2c6b0a42f3f1fcb91..ab5af04d3e66f2fa394eb2e386923b28d33192b0 100644 --- a/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c +++ b/src/plugins/e-acsl/tests/concurrency/oracle/gen_parallel_threads.c @@ -246,22 +246,18 @@ void *read_value(void *arg) int __gen_e_acsl_and; int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"*((int *)arg)", - 0,*((int *)arg)); __gen_e_acsl_idx = *((int *)arg); + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& values[__gen_e_acsl_idx]), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&values[idx]", (void *)(& values[__gen_e_acsl_idx])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& values[__gen_e_acsl_idx]), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&values[idx])",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", - (void *)values[__gen_e_acsl_idx]); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, @@ -288,12 +284,14 @@ void *read_value(void *arg) __gen_e_acsl_assert_data_3.name = "index_bound"; __e_acsl_assert(0 <= __gen_e_acsl_idx,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)values[__gen_e_acsl_idx], sizeof(int), (void *)values[__gen_e_acsl_idx], (void *)(& values[__gen_e_acsl_idx])); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", + (void *)values[__gen_e_acsl_idx]); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid_read(values[idx])",0, __gen_e_acsl_valid_read); @@ -302,8 +300,6 @@ void *read_value(void *arg) else __gen_e_acsl_and = 0; if (__gen_e_acsl_and) { int __gen_e_acsl_initialized_2; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", - (void *)values[__gen_e_acsl_idx]); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, @@ -330,16 +326,20 @@ void *read_value(void *arg) __gen_e_acsl_assert_data_5.name = "index_bound"; __e_acsl_assert(0 <= __gen_e_acsl_idx,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)values[__gen_e_acsl_idx], sizeof(int)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", + (void *)values[__gen_e_acsl_idx]); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(values[idx])",0, __gen_e_acsl_initialized_2); __gen_e_acsl_and_2 = __gen_e_acsl_initialized_2; } else __gen_e_acsl_and_2 = 0; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"*((int *)arg)", + 0,*((int *)arg)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Precondition"; __gen_e_acsl_assert_data.pred_txt = "\\let idx = *((int *)arg);\n \\valid_read(values[idx]) && \\initialized(values[idx])"; @@ -362,21 +362,16 @@ void *read_value(void *arg) int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, - "*(values[idx])",0,*(values[idx])); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"idx",0,idx); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& values[idx]), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, "&values[idx]",(void *)(& values[idx])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& values[idx]), - sizeof(int *)); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_read_2; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, - "values[idx]",(void *)values[idx]); __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"idx",0, @@ -403,12 +398,14 @@ void *read_value(void *arg) __gen_e_acsl_assert_data_9.name = "index_bound"; __e_acsl_assert(0 <= idx,& __gen_e_acsl_assert_data_9); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)values[idx], sizeof(int), (void *)values[idx], (void *)(& values[idx])); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, + "values[idx]",(void *)values[idx]); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_and_3 = __gen_e_acsl_valid_read_2; } else __gen_e_acsl_and_3 = 0; @@ -445,6 +442,9 @@ void *read_value(void *arg) __gen_e_acsl_assert_data_11.name = "index_bound"; __e_acsl_assert(0 <= idx,& __gen_e_acsl_assert_data_11); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, + "*(values[idx])",0,*(values[idx])); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"idx",0,idx); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "Assertion"; __gen_e_acsl_assert_data_6.pred_txt = "*(values[idx]) == idx"; @@ -486,22 +486,18 @@ void *__gen_e_acsl_read_value(void *arg) int __gen_e_acsl_and_2; __e_acsl_store_block((void *)(& arg),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"*((int *)arg)", - 0,*((int *)arg)); __gen_e_acsl_idx = *((int *)arg); + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& values[__gen_e_acsl_idx]), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&values[idx]", (void *)(& values[__gen_e_acsl_idx])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& values[__gen_e_acsl_idx]), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&values[idx])",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", - (void *)values[__gen_e_acsl_idx]); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, @@ -528,12 +524,14 @@ void *__gen_e_acsl_read_value(void *arg) __gen_e_acsl_assert_data_3.name = "index_bound"; __e_acsl_assert(0 <= __gen_e_acsl_idx,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)values[__gen_e_acsl_idx], sizeof(int), (void *)values[__gen_e_acsl_idx], (void *)(& values[__gen_e_acsl_idx])); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", + (void *)values[__gen_e_acsl_idx]); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid_read(values[idx])",0, __gen_e_acsl_valid_read); @@ -542,8 +540,6 @@ void *__gen_e_acsl_read_value(void *arg) else __gen_e_acsl_and = 0; if (__gen_e_acsl_and) { int __gen_e_acsl_initialized_2; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", - (void *)values[__gen_e_acsl_idx]); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, @@ -570,16 +566,20 @@ void *__gen_e_acsl_read_value(void *arg) __gen_e_acsl_assert_data_5.name = "index_bound"; __e_acsl_assert(0 <= __gen_e_acsl_idx,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)values[__gen_e_acsl_idx], sizeof(int)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", + (void *)values[__gen_e_acsl_idx]); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(values[idx])",0, __gen_e_acsl_initialized_2); __gen_e_acsl_and_2 = __gen_e_acsl_initialized_2; } else __gen_e_acsl_and_2 = 0; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"*((int *)arg)", + 0,*((int *)arg)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Precondition"; __gen_e_acsl_assert_data.pred_txt = "!(\\let idx = *((int *)arg);\n \\valid_read(values[idx]) && \\initialized(values[idx]))"; @@ -613,23 +613,18 @@ void *__gen_e_acsl_write_value(void *arg) int __gen_e_acsl_and; int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, - "*((int *)\\old(arg))",0, - *((int *)__gen_e_acsl_at)); __gen_e_acsl_idx = *((int *)__gen_e_acsl_at); + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& values[__gen_e_acsl_idx]), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&values[idx]", (void *)(& values[__gen_e_acsl_idx])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& values[__gen_e_acsl_idx]), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&values[idx])",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", - (void *)values[__gen_e_acsl_idx]); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, @@ -656,12 +651,14 @@ void *__gen_e_acsl_write_value(void *arg) __gen_e_acsl_assert_data_3.name = "index_bound"; __e_acsl_assert(0 <= __gen_e_acsl_idx,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid = __e_acsl_valid((void *)values[__gen_e_acsl_idx], sizeof(int), (void *)values[__gen_e_acsl_idx], (void *)(& values[__gen_e_acsl_idx])); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", + (void *)values[__gen_e_acsl_idx]); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(values[idx])",0, __gen_e_acsl_valid); @@ -670,8 +667,6 @@ void *__gen_e_acsl_write_value(void *arg) else __gen_e_acsl_and = 0; if (__gen_e_acsl_and) { int __gen_e_acsl_initialized_2; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", - (void *)values[__gen_e_acsl_idx]); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, @@ -698,16 +693,21 @@ void *__gen_e_acsl_write_value(void *arg) __gen_e_acsl_assert_data_5.name = "index_bound"; __e_acsl_assert(0 <= __gen_e_acsl_idx,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)values[__gen_e_acsl_idx], sizeof(int)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", + (void *)values[__gen_e_acsl_idx]); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(values[idx])",0, __gen_e_acsl_initialized_2); __gen_e_acsl_and_2 = __gen_e_acsl_initialized_2; } else __gen_e_acsl_and_2 = 0; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, + "*((int *)\\old(arg))",0, + *((int *)__gen_e_acsl_at)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Postcondition"; __gen_e_acsl_assert_data.pred_txt = "\\let idx = *((int *)\\old(arg));\n \\valid(values[idx]) && \\initialized(values[idx])"; @@ -810,14 +810,14 @@ int __gen_e_acsl_pthread_mutex_unlock(pthread_mutex_t *mutex) int __gen_e_acsl_valid; __e_acsl_store_block((void *)(& mutex),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)mutex, + sizeof(pthread_mutex_t), + (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"mutex", (void *)mutex); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_mutex_t)",0, sizeof(pthread_mutex_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)mutex, - sizeof(pthread_mutex_t), - (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(mutex)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -874,14 +874,14 @@ int __gen_e_acsl_pthread_mutex_lock(pthread_mutex_t *mutex) int __gen_e_acsl_valid; __e_acsl_store_block((void *)(& mutex),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)mutex, + sizeof(pthread_mutex_t), + (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"mutex", (void *)mutex); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_mutex_t)",0, sizeof(pthread_mutex_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)mutex, - sizeof(pthread_mutex_t), - (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(mutex)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -959,14 +959,14 @@ int __gen_e_acsl_pthread_mutex_init(pthread_mutex_t * restrict mutex, __e_acsl_store_block((void *)(& mutex),8UL); __gen_e_acsl_at = mutex; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)mutex, + sizeof(pthread_mutex_t), + (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"mutex", (void *)mutex); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_mutex_t)",0, sizeof(pthread_mutex_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)mutex, - sizeof(pthread_mutex_t), - (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(mutex)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -985,15 +985,15 @@ int __gen_e_acsl_pthread_mutex_init(pthread_mutex_t * restrict mutex, if (attrs == (pthread_mutexattr_t const *)0) __gen_e_acsl_or = 1; else { int __gen_e_acsl_valid_read; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attrs, + sizeof(pthread_mutexattr_t const), + (void *)attrs, + (void *)(& attrs)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"attrs", (void *)attrs); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(pthread_mutexattr_t const)",0, sizeof(pthread_mutexattr_t const)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attrs, - sizeof(pthread_mutexattr_t const), - (void *)attrs, - (void *)(& attrs)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid_read(attrs)",0, __gen_e_acsl_valid_read); @@ -1022,13 +1022,13 @@ int __gen_e_acsl_pthread_mutex_init(pthread_mutex_t * restrict mutex, __retres); if (__retres == 0) { int __gen_e_acsl_initialized; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, + sizeof(pthread_mutex_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "\\old(mutex)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(pthread_mutex_t)",0, sizeof(pthread_mutex_t)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, - sizeof(pthread_mutex_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(\\old(mutex))",0, __gen_e_acsl_initialized); @@ -1111,12 +1111,12 @@ int __gen_e_acsl_pthread_join(pthread_t thread, void **retval) if (retval == (void **)0) __gen_e_acsl_or = 1; else { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)retval,sizeof(void *), + (void *)retval,(void *)(& retval)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"retval", (void *)retval); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(void *)",0,sizeof(void *)); - __gen_e_acsl_valid = __e_acsl_valid((void *)retval,sizeof(void *), - (void *)retval,(void *)(& retval)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(retval)",0,__gen_e_acsl_valid); __gen_e_acsl_or = __gen_e_acsl_valid; @@ -1208,12 +1208,12 @@ int __gen_e_acsl_pthread_create(pthread_t * restrict thread, __e_acsl_store_block((void *)(& attr),8UL); __e_acsl_store_block((void *)(& thread),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)thread,sizeof(pthread_t), + (void *)thread,(void *)(& thread)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"thread", (void *)thread); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_t)",0,sizeof(pthread_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)thread,sizeof(pthread_t), - (void *)thread,(void *)(& thread)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(thread)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -1232,15 +1232,15 @@ int __gen_e_acsl_pthread_create(pthread_t * restrict thread, if (attr == (pthread_attr_t const *)0) __gen_e_acsl_or = 1; else { int __gen_e_acsl_valid_read; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attr, + sizeof(pthread_attr_t const), + (void *)attr, + (void *)(& attr)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"attr", (void *)attr); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(pthread_attr_t const)",0, sizeof(pthread_attr_t const)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attr, - sizeof(pthread_attr_t const), - (void *)attr, - (void *)(& attr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid_read(attr)",0, __gen_e_acsl_valid_read); @@ -1261,11 +1261,11 @@ int __gen_e_acsl_pthread_create(pthread_t * restrict thread, if (arg == (void *)0) __gen_e_acsl_or_2 = 1; else { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid(arg,sizeof(char),arg, + (void *)(& arg)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"arg",arg); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_2 = __e_acsl_valid(arg,sizeof(char),arg, - (void *)(& arg)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid((char *)arg)",0, __gen_e_acsl_valid_2); @@ -1343,13 +1343,13 @@ int __gen_e_acsl_pthread_cond_wait(pthread_cond_t * restrict cond, __e_acsl_store_block((void *)(& mutex),8UL); __e_acsl_store_block((void *)(& cond),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)cond,sizeof(pthread_cond_t), + (void *)cond,(void *)(& cond)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"cond", (void *)cond); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_cond_t)",0, sizeof(pthread_cond_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)cond,sizeof(pthread_cond_t), - (void *)cond,(void *)(& cond)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(cond)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -1363,14 +1363,14 @@ int __gen_e_acsl_pthread_cond_wait(pthread_cond_t * restrict cond, __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)mutex, + sizeof(pthread_mutex_t), + (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"mutex", (void *)mutex); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(pthread_mutex_t)",0, sizeof(pthread_mutex_t)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)mutex, - sizeof(pthread_mutex_t), - (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(mutex)",0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_2.blocking = 1; @@ -1426,13 +1426,13 @@ int __gen_e_acsl_pthread_cond_init(pthread_cond_t * restrict cond, __e_acsl_store_block((void *)(& cond),8UL); __gen_e_acsl_at = cond; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)cond,sizeof(pthread_cond_t), + (void *)cond,(void *)(& cond)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"cond", (void *)cond); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_cond_t)",0, sizeof(pthread_cond_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)cond,sizeof(pthread_cond_t), - (void *)cond,(void *)(& cond)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(cond)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -1451,15 +1451,15 @@ int __gen_e_acsl_pthread_cond_init(pthread_cond_t * restrict cond, if (attr == (pthread_condattr_t const *)0) __gen_e_acsl_or = 1; else { int __gen_e_acsl_valid_read; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attr, + sizeof(pthread_condattr_t const), + (void *)attr, + (void *)(& attr)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"attr", (void *)attr); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(pthread_condattr_t const)",0, sizeof(pthread_condattr_t const)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attr, - sizeof(pthread_condattr_t const), - (void *)attr, - (void *)(& attr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid_read(attr)",0, __gen_e_acsl_valid_read); @@ -1480,13 +1480,13 @@ int __gen_e_acsl_pthread_cond_init(pthread_cond_t * restrict cond, int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, + sizeof(pthread_cond_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"\\old(cond)", (void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(pthread_cond_t)",0, sizeof(pthread_cond_t)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, - sizeof(pthread_cond_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "initialization: cond: \\initialized(\\old(cond))", 0,__gen_e_acsl_initialized); @@ -1532,13 +1532,13 @@ int __gen_e_acsl_pthread_cond_broadcast(pthread_cond_t *cond) int __gen_e_acsl_valid; __e_acsl_store_block((void *)(& cond),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)cond,sizeof(pthread_cond_t), + (void *)cond,(void *)(& cond)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"cond", (void *)cond); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_cond_t)",0, sizeof(pthread_cond_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)cond,sizeof(pthread_cond_t), - (void *)cond,(void *)(& cond)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(cond)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/gen_sequential_threads.c b/src/plugins/e-acsl/tests/concurrency/oracle/gen_sequential_threads.c index d6bbeca06f8ff845966b080a3e1ec359a3856754..ba28a676db6b9fb7449708c4eafb135d1741f684 100644 --- a/src/plugins/e-acsl/tests/concurrency/oracle/gen_sequential_threads.c +++ b/src/plugins/e-acsl/tests/concurrency/oracle/gen_sequential_threads.c @@ -79,21 +79,16 @@ void *read_value(void *arg) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"*(values[idx])", - 0,*(values[idx])); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"idx",0,idx); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& values[idx]), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&values[idx]", (void *)(& values[idx])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& values[idx]), - sizeof(int *)); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, - "values[idx]",(void *)values[idx]); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"idx",0,idx); @@ -118,12 +113,14 @@ void *read_value(void *arg) __gen_e_acsl_assert_data_4.name = "index_bound"; __e_acsl_assert(0 <= idx,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)values[idx], sizeof(int), (void *)values[idx], (void *)(& values[idx])); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, + "values[idx]",(void *)values[idx]); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_and = __gen_e_acsl_valid_read; } else __gen_e_acsl_and = 0; @@ -160,6 +157,9 @@ void *read_value(void *arg) __gen_e_acsl_assert_data_6.name = "index_bound"; __e_acsl_assert(0 <= idx,& __gen_e_acsl_assert_data_6); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"*(values[idx])", + 0,*(values[idx])); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"idx",0,idx); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "*(values[idx]) == idx"; @@ -215,12 +215,12 @@ int __gen_e_acsl_pthread_join(pthread_t thread, void **retval) if (retval == (void **)0) __gen_e_acsl_or = 1; else { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)retval,sizeof(void *), + (void *)retval,(void *)(& retval)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"retval", (void *)retval); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(void *)",0,sizeof(void *)); - __gen_e_acsl_valid = __e_acsl_valid((void *)retval,sizeof(void *), - (void *)retval,(void *)(& retval)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(retval)",0,__gen_e_acsl_valid); __gen_e_acsl_or = __gen_e_acsl_valid; @@ -312,12 +312,12 @@ int __gen_e_acsl_pthread_create(pthread_t * restrict thread, __e_acsl_store_block((void *)(& attr),8UL); __e_acsl_store_block((void *)(& thread),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)thread,sizeof(pthread_t), + (void *)thread,(void *)(& thread)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"thread", (void *)thread); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_t)",0,sizeof(pthread_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)thread,sizeof(pthread_t), - (void *)thread,(void *)(& thread)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(thread)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -336,15 +336,15 @@ int __gen_e_acsl_pthread_create(pthread_t * restrict thread, if (attr == (pthread_attr_t const *)0) __gen_e_acsl_or = 1; else { int __gen_e_acsl_valid_read; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attr, + sizeof(pthread_attr_t const), + (void *)attr, + (void *)(& attr)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"attr", (void *)attr); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(pthread_attr_t const)",0, sizeof(pthread_attr_t const)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attr, - sizeof(pthread_attr_t const), - (void *)attr, - (void *)(& attr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid_read(attr)",0, __gen_e_acsl_valid_read); @@ -365,11 +365,11 @@ int __gen_e_acsl_pthread_create(pthread_t * restrict thread, if (arg == (void *)0) __gen_e_acsl_or_2 = 1; else { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid(arg,sizeof(char),arg, + (void *)(& arg)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"arg",arg); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_2 = __e_acsl_valid(arg,sizeof(char),arg, - (void *)(& arg)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid((char *)arg)",0, __gen_e_acsl_valid_2); diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c b/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c index 4f732c743cec300b6b732d4bc173a952ba3ed750..77907fea3c8271b68ac82049c7141bb1bdc41627 100644 --- a/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c +++ b/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_debug.c @@ -168,22 +168,18 @@ void *__gen_e_acsl_read_value(void *arg) int __gen_e_acsl_and_2; __e_acsl_store_block((void *)(& arg),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"*((int *)arg)", - 0,*((int *)arg)); __gen_e_acsl_idx = *((int *)arg); + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& values[__gen_e_acsl_idx]), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&values[idx]", (void *)(& values[__gen_e_acsl_idx])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& values[__gen_e_acsl_idx]), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&values[idx])",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", - (void *)values[__gen_e_acsl_idx]); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, @@ -210,12 +206,14 @@ void *__gen_e_acsl_read_value(void *arg) __gen_e_acsl_assert_data_3.name = "index_bound"; __e_acsl_assert(0 <= __gen_e_acsl_idx,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)values[__gen_e_acsl_idx], sizeof(int), (void *)values[__gen_e_acsl_idx], (void *)(& values[__gen_e_acsl_idx])); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", + (void *)values[__gen_e_acsl_idx]); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid_read(values[idx])",0, __gen_e_acsl_valid_read); @@ -224,8 +222,6 @@ void *__gen_e_acsl_read_value(void *arg) else __gen_e_acsl_and = 0; if (__gen_e_acsl_and) { int __gen_e_acsl_initialized_2; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", - (void *)values[__gen_e_acsl_idx]); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, @@ -252,16 +248,20 @@ void *__gen_e_acsl_read_value(void *arg) __gen_e_acsl_assert_data_5.name = "index_bound"; __e_acsl_assert(0 <= __gen_e_acsl_idx,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)values[__gen_e_acsl_idx], sizeof(int)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", + (void *)values[__gen_e_acsl_idx]); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(values[idx])",0, __gen_e_acsl_initialized_2); __gen_e_acsl_and_2 = __gen_e_acsl_initialized_2; } else __gen_e_acsl_and_2 = 0; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"*((int *)arg)", + 0,*((int *)arg)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Precondition"; __gen_e_acsl_assert_data.pred_txt = "!(\\let idx = *((int *)arg);\n \\valid_read(values[idx]) && \\initialized(values[idx]))"; @@ -295,23 +295,18 @@ void *__gen_e_acsl_write_value(void *arg) int __gen_e_acsl_and; int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, - "*((int *)\\old(arg))",0, - *((int *)__gen_e_acsl_at)); __gen_e_acsl_idx = *((int *)__gen_e_acsl_at); + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& values[__gen_e_acsl_idx]), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&values[idx]", (void *)(& values[__gen_e_acsl_idx])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& values[__gen_e_acsl_idx]), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&values[idx])",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", - (void *)values[__gen_e_acsl_idx]); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, @@ -338,12 +333,14 @@ void *__gen_e_acsl_write_value(void *arg) __gen_e_acsl_assert_data_3.name = "index_bound"; __e_acsl_assert(0 <= __gen_e_acsl_idx,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid = __e_acsl_valid((void *)values[__gen_e_acsl_idx], sizeof(int), (void *)values[__gen_e_acsl_idx], (void *)(& values[__gen_e_acsl_idx])); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", + (void *)values[__gen_e_acsl_idx]); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(values[idx])",0, __gen_e_acsl_valid); @@ -352,8 +349,6 @@ void *__gen_e_acsl_write_value(void *arg) else __gen_e_acsl_and = 0; if (__gen_e_acsl_and) { int __gen_e_acsl_initialized_2; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", - (void *)values[__gen_e_acsl_idx]); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, @@ -380,16 +375,21 @@ void *__gen_e_acsl_write_value(void *arg) __gen_e_acsl_assert_data_5.name = "index_bound"; __e_acsl_assert(0 <= __gen_e_acsl_idx,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)values[__gen_e_acsl_idx], sizeof(int)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"values[idx]", + (void *)values[__gen_e_acsl_idx]); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(values[idx])",0, __gen_e_acsl_initialized_2); __gen_e_acsl_and_2 = __gen_e_acsl_initialized_2; } else __gen_e_acsl_and_2 = 0; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, + "*((int *)\\old(arg))",0, + *((int *)__gen_e_acsl_at)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Postcondition"; __gen_e_acsl_assert_data.pred_txt = "\\let idx = *((int *)\\old(arg));\n \\valid(values[idx]) && \\initialized(values[idx])"; @@ -492,14 +492,14 @@ int __gen_e_acsl_pthread_mutex_unlock(pthread_mutex_t *mutex) int __gen_e_acsl_valid; __e_acsl_store_block((void *)(& mutex),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)mutex, + sizeof(pthread_mutex_t), + (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"mutex", (void *)mutex); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_mutex_t)",0, sizeof(pthread_mutex_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)mutex, - sizeof(pthread_mutex_t), - (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(mutex)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -556,14 +556,14 @@ int __gen_e_acsl_pthread_mutex_lock(pthread_mutex_t *mutex) int __gen_e_acsl_valid; __e_acsl_store_block((void *)(& mutex),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)mutex, + sizeof(pthread_mutex_t), + (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"mutex", (void *)mutex); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_mutex_t)",0, sizeof(pthread_mutex_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)mutex, - sizeof(pthread_mutex_t), - (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(mutex)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -641,14 +641,14 @@ int __gen_e_acsl_pthread_mutex_init(pthread_mutex_t * restrict mutex, __e_acsl_store_block((void *)(& mutex),8UL); __gen_e_acsl_at = mutex; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)mutex, + sizeof(pthread_mutex_t), + (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"mutex", (void *)mutex); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_mutex_t)",0, sizeof(pthread_mutex_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)mutex, - sizeof(pthread_mutex_t), - (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(mutex)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -667,15 +667,15 @@ int __gen_e_acsl_pthread_mutex_init(pthread_mutex_t * restrict mutex, if (attrs == (pthread_mutexattr_t const *)0) __gen_e_acsl_or = 1; else { int __gen_e_acsl_valid_read; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attrs, + sizeof(pthread_mutexattr_t const), + (void *)attrs, + (void *)(& attrs)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"attrs", (void *)attrs); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(pthread_mutexattr_t const)",0, sizeof(pthread_mutexattr_t const)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attrs, - sizeof(pthread_mutexattr_t const), - (void *)attrs, - (void *)(& attrs)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid_read(attrs)",0, __gen_e_acsl_valid_read); @@ -704,13 +704,13 @@ int __gen_e_acsl_pthread_mutex_init(pthread_mutex_t * restrict mutex, __retres); if (__retres == 0) { int __gen_e_acsl_initialized; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, + sizeof(pthread_mutex_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "\\old(mutex)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(pthread_mutex_t)",0, sizeof(pthread_mutex_t)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, - sizeof(pthread_mutex_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(\\old(mutex))",0, __gen_e_acsl_initialized); @@ -793,12 +793,12 @@ int __gen_e_acsl_pthread_join(pthread_t thread, void **retval) if (retval == (void **)0) __gen_e_acsl_or = 1; else { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)retval,sizeof(void *), + (void *)retval,(void *)(& retval)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"retval", (void *)retval); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(void *)",0,sizeof(void *)); - __gen_e_acsl_valid = __e_acsl_valid((void *)retval,sizeof(void *), - (void *)retval,(void *)(& retval)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(retval)",0,__gen_e_acsl_valid); __gen_e_acsl_or = __gen_e_acsl_valid; @@ -890,12 +890,12 @@ int __gen_e_acsl_pthread_create(pthread_t * restrict thread, __e_acsl_store_block((void *)(& attr),8UL); __e_acsl_store_block((void *)(& thread),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)thread,sizeof(pthread_t), + (void *)thread,(void *)(& thread)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"thread", (void *)thread); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_t)",0,sizeof(pthread_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)thread,sizeof(pthread_t), - (void *)thread,(void *)(& thread)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(thread)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -914,15 +914,15 @@ int __gen_e_acsl_pthread_create(pthread_t * restrict thread, if (attr == (pthread_attr_t const *)0) __gen_e_acsl_or = 1; else { int __gen_e_acsl_valid_read; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attr, + sizeof(pthread_attr_t const), + (void *)attr, + (void *)(& attr)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"attr", (void *)attr); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(pthread_attr_t const)",0, sizeof(pthread_attr_t const)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attr, - sizeof(pthread_attr_t const), - (void *)attr, - (void *)(& attr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid_read(attr)",0, __gen_e_acsl_valid_read); @@ -943,11 +943,11 @@ int __gen_e_acsl_pthread_create(pthread_t * restrict thread, if (arg == (void *)0) __gen_e_acsl_or_2 = 1; else { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid(arg,sizeof(char),arg, + (void *)(& arg)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"arg",arg); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_2 = __e_acsl_valid(arg,sizeof(char),arg, - (void *)(& arg)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid((char *)arg)",0, __gen_e_acsl_valid_2); @@ -1025,13 +1025,13 @@ int __gen_e_acsl_pthread_cond_wait(pthread_cond_t * restrict cond, __e_acsl_store_block((void *)(& mutex),8UL); __e_acsl_store_block((void *)(& cond),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)cond,sizeof(pthread_cond_t), + (void *)cond,(void *)(& cond)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"cond", (void *)cond); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_cond_t)",0, sizeof(pthread_cond_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)cond,sizeof(pthread_cond_t), - (void *)cond,(void *)(& cond)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(cond)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -1045,14 +1045,14 @@ int __gen_e_acsl_pthread_cond_wait(pthread_cond_t * restrict cond, __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)mutex, + sizeof(pthread_mutex_t), + (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"mutex", (void *)mutex); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(pthread_mutex_t)",0, sizeof(pthread_mutex_t)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)mutex, - sizeof(pthread_mutex_t), - (void *)mutex,(void *)(& mutex)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(mutex)",0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_2.blocking = 1; @@ -1108,13 +1108,13 @@ int __gen_e_acsl_pthread_cond_init(pthread_cond_t * restrict cond, __e_acsl_store_block((void *)(& cond),8UL); __gen_e_acsl_at = cond; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)cond,sizeof(pthread_cond_t), + (void *)cond,(void *)(& cond)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"cond", (void *)cond); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_cond_t)",0, sizeof(pthread_cond_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)cond,sizeof(pthread_cond_t), - (void *)cond,(void *)(& cond)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(cond)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -1133,15 +1133,15 @@ int __gen_e_acsl_pthread_cond_init(pthread_cond_t * restrict cond, if (attr == (pthread_condattr_t const *)0) __gen_e_acsl_or = 1; else { int __gen_e_acsl_valid_read; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attr, + sizeof(pthread_condattr_t const), + (void *)attr, + (void *)(& attr)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"attr", (void *)attr); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(pthread_condattr_t const)",0, sizeof(pthread_condattr_t const)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attr, - sizeof(pthread_condattr_t const), - (void *)attr, - (void *)(& attr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid_read(attr)",0, __gen_e_acsl_valid_read); @@ -1162,13 +1162,13 @@ int __gen_e_acsl_pthread_cond_init(pthread_cond_t * restrict cond, int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, + sizeof(pthread_cond_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"\\old(cond)", (void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(pthread_cond_t)",0, sizeof(pthread_cond_t)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, - sizeof(pthread_cond_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "initialization: cond: \\initialized(\\old(cond))", 0,__gen_e_acsl_initialized); @@ -1214,13 +1214,13 @@ int __gen_e_acsl_pthread_cond_broadcast(pthread_cond_t *cond) int __gen_e_acsl_valid; __e_acsl_store_block((void *)(& cond),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)cond,sizeof(pthread_cond_t), + (void *)cond,(void *)(& cond)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"cond", (void *)cond); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_cond_t)",0, sizeof(pthread_cond_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)cond,sizeof(pthread_cond_t), - (void *)cond,(void *)(& cond)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(cond)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; diff --git a/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_safe_locations.c b/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_safe_locations.c index 9de07836f81ad5f6886d1e8f3ef63cb1cd1888b6..5228bebf9ee603886848d3b89dbabe3cd84cc4f5 100644 --- a/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_safe_locations.c +++ b/src/plugins/e-acsl/tests/concurrency/oracle/gen_threads_safe_locations.c @@ -55,22 +55,22 @@ void *thread_start(void *arg) int __gen_e_acsl_and; __e_acsl_store_block((void *)(& arg),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)stdout,sizeof(FILE), + (void *)stdout,(void *)(& stdout)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"__fc_stdout", (void *)stdout); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(FILE)", 0,sizeof(FILE)); - __gen_e_acsl_valid = __e_acsl_valid((void *)stdout,sizeof(FILE), - (void *)stdout,(void *)(& stdout)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(__fc_stdout)",0,__gen_e_acsl_valid); if (__gen_e_acsl_valid) { int __gen_e_acsl_initialized; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)stdout, + sizeof(FILE)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"__fc_stdout", (void *)stdout); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(FILE)",0,sizeof(FILE)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)stdout, - sizeof(FILE)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(__fc_stdout)",0, __gen_e_acsl_initialized); @@ -92,23 +92,23 @@ void *thread_start(void *arg) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)stderr,sizeof(FILE), + (void *)stderr,(void *)(& stderr)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"__fc_stderr", (void *)stderr); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(FILE)",0,sizeof(FILE)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)stderr,sizeof(FILE), - (void *)stderr,(void *)(& stderr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(__fc_stderr)",0, __gen_e_acsl_valid_2); if (__gen_e_acsl_valid_2) { int __gen_e_acsl_initialized_2; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)stderr, + sizeof(FILE)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, "__fc_stderr",(void *)stderr); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(FILE)",0,sizeof(FILE)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)stderr, - sizeof(FILE)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(__fc_stderr)",0, __gen_e_acsl_initialized_2); @@ -130,23 +130,23 @@ void *thread_start(void *arg) int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)stdin,sizeof(FILE), + (void *)stdin,(void *)(& stdin)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"__fc_stdin", (void *)stdin); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(FILE)",0,sizeof(FILE)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)stdin,sizeof(FILE), - (void *)stdin,(void *)(& stdin)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(__fc_stdin)",0, __gen_e_acsl_valid_3); if (__gen_e_acsl_valid_3) { int __gen_e_acsl_initialized_3; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)stdin, + sizeof(FILE)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"__fc_stdin", (void *)stdin); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(FILE)",0,sizeof(FILE)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)stdin, - sizeof(FILE)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(__fc_stdin)",0, __gen_e_acsl_initialized_3); @@ -172,24 +172,24 @@ void *thread_start(void *arg) int __gen_e_acsl_and_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& addrof_errno), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "&addrof_errno",(void *)(& addrof_errno)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& addrof_errno), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&addrof_errno)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)addrof_errno,sizeof(int), + (void *)addrof_errno, + (void *)(& addrof_errno)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "addrof_errno",(void *)addrof_errno); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)addrof_errno,sizeof(int), - (void *)addrof_errno, - (void *)(& addrof_errno)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(addrof_errno)",0, __gen_e_acsl_valid_4); @@ -198,12 +198,12 @@ void *thread_start(void *arg) else __gen_e_acsl_and_4 = 0; if (__gen_e_acsl_and_4) { int __gen_e_acsl_initialized_5; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)addrof_errno, + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "addrof_errno",(void *)addrof_errno); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)addrof_errno, - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(addrof_errno)",0, __gen_e_acsl_initialized_5); @@ -264,12 +264,12 @@ int __gen_e_acsl_pthread_join(pthread_t thread, void **retval) if (retval == (void **)0) __gen_e_acsl_or = 1; else { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)retval,sizeof(void *), + (void *)retval,(void *)(& retval)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"retval", (void *)retval); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(void *)",0,sizeof(void *)); - __gen_e_acsl_valid = __e_acsl_valid((void *)retval,sizeof(void *), - (void *)retval,(void *)(& retval)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(retval)",0,__gen_e_acsl_valid); __gen_e_acsl_or = __gen_e_acsl_valid; @@ -361,12 +361,12 @@ int __gen_e_acsl_pthread_create(pthread_t * restrict thread, __e_acsl_store_block((void *)(& attr),8UL); __e_acsl_store_block((void *)(& thread),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)thread,sizeof(pthread_t), + (void *)thread,(void *)(& thread)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"thread", (void *)thread); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(pthread_t)",0,sizeof(pthread_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)thread,sizeof(pthread_t), - (void *)thread,(void *)(& thread)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(thread)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -385,15 +385,15 @@ int __gen_e_acsl_pthread_create(pthread_t * restrict thread, if (attr == (pthread_attr_t const *)0) __gen_e_acsl_or = 1; else { int __gen_e_acsl_valid_read; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attr, + sizeof(pthread_attr_t const), + (void *)attr, + (void *)(& attr)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"attr", (void *)attr); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(pthread_attr_t const)",0, sizeof(pthread_attr_t const)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)attr, - sizeof(pthread_attr_t const), - (void *)attr, - (void *)(& attr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid_read(attr)",0, __gen_e_acsl_valid_read); @@ -414,11 +414,11 @@ int __gen_e_acsl_pthread_create(pthread_t * restrict thread, if (arg == (void *)0) __gen_e_acsl_or_2 = 1; else { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid(arg,sizeof(char),arg, + (void *)(& arg)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"arg",arg); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_2 = __e_acsl_valid(arg,sizeof(char),arg, - (void *)(& arg)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid((char *)arg)",0, __gen_e_acsl_valid_2); diff --git a/src/plugins/e-acsl/tests/constructs/oracle/acsl_check.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle/acsl_check.res.oracle index d6b9f9e46326d76a7b6bd24cc9325e9bddefa6e7..b963d0934223139a88c73e3a8792c54a85b669cc 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/acsl_check.res.oracle +++ b/src/plugins/e-acsl/tests/constructs/oracle/acsl_check.res.oracle @@ -11,9 +11,9 @@ function __e_acsl_assert, behavior non_blocking: precondition got status invalid. [eva:alarm] acsl_check.c:8: Warning: function __gen_e_acsl_f: postcondition got status invalid. -[eva:alarm] acsl_check.c:15: Warning: - function __e_acsl_assert_register_int: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] acsl_check.c:15: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] acsl_check.c:15: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/constructs/oracle/decrease.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle/decrease.res.oracle index d07eed374ce19f459b675917713003c272d7dbc7..b9741b0cae0009071ac2553c0f8efa0df1ac5a69 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/decrease.res.oracle +++ b/src/plugins/e-acsl/tests/constructs/oracle/decrease.res.oracle @@ -12,21 +12,6 @@ E-ACSL construct `decreases clause' is not yet supported. Ignoring annotation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] decrease.c:10: Warning: - function __e_acsl_assert_copy_values: precondition src->values == \null || - \valid(src->values) got status unknown. -[eva:alarm] decrease.c:10: Warning: - function __e_acsl_assert_register_int: precondition data->values == \null || - \valid(data->values) got status unknown. -[eva:alarm] decrease.c:21: Warning: - function __e_acsl_assert_register_int: precondition data->values == \null || - \valid(data->values) got status unknown. -[eva:alarm] decrease.c:33: Warning: - function __e_acsl_assert_copy_values: precondition src->values == \null || - \valid(src->values) got status unknown. -[eva:alarm] decrease.c:33: Warning: - function __e_acsl_assert_register_int: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] decrease.c:44: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_acsl_check.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_acsl_check.c index d47109de36cc480a9349766977bf1c963867cf8a..1d715083f032c78aaa7761000aa6d2b640fd554f 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_acsl_check.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_acsl_check.c @@ -24,9 +24,6 @@ void g(int a, int *b) int __gen_e_acsl_valid_read; __e_acsl_store_block((void *)(& b),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"a",0,a); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"*(b + 1)",0, - *(b + 1)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"*(b + 1)",0, @@ -42,12 +39,12 @@ void g(int a, int *b) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"b",(void *)b); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(b + 1), sizeof(int),(void *)b, (void *)(& b)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"b",(void *)b); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "RTE"; __gen_e_acsl_assert_data_3.pred_txt = "\\valid_read(b + 1)"; @@ -57,6 +54,9 @@ void g(int a, int *b) __gen_e_acsl_assert_data_3.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"a",0,a); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"*(b + 1)",0, + *(b + 1)); __gen_e_acsl_assert_data.blocking = 0; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "a / *(b + 1) == 0"; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_decrease.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_decrease.c index 0eab76f22a050c2ac71fb532dedb183f8c3af891..db599a9923e3f3c904e17e24d4a8bfdee1e94d5b 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_decrease.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_decrease.c @@ -19,14 +19,10 @@ int f(int x) { __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"old x",0, - __gen_e_acsl_old_variant); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __e_acsl_assert_copy_values(& __gen_e_acsl_assert_data_2, & __gen_e_acsl_assert_data); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"current x", - 0,x); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Variant"; __gen_e_acsl_assert_data.pred_txt = "(old x) >= 0"; @@ -68,10 +64,6 @@ int g(int x) __gen_e_acsl_lexico_2 = __gen_e_acsl_lexico(__gen_e_acsl_old_variant,x); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"old x",0, - __gen_e_acsl_old_variant); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"current x",0, - x); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Variant"; __gen_e_acsl_assert_data.pred_txt = "lexico(old x, x)"; @@ -127,14 +119,10 @@ int fact(int n) { __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"old n",0, - __gen_e_acsl_old_variant); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __e_acsl_assert_copy_values(& __gen_e_acsl_assert_data_4, & __gen_e_acsl_assert_data_3); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"current n", - 0,n); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "Variant"; __gen_e_acsl_assert_data_3.pred_txt = "(old n) >= 0"; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_function_contract.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_function_contract.c index 38edcc63e05ed91d0f319cd77fc3a5ff825d864d..3b8e64f41acc0ee9952ffd244849dc326049ee49 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_function_contract.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_function_contract.c @@ -319,14 +319,8 @@ void __gen_e_acsl_o(void) ((__e_acsl_contract_t const *)__gen_e_acsl_contract,2UL,1,0); __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); if (__gen_e_acsl_active_bhvrs != 1) { __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "Precondition"; @@ -351,14 +345,8 @@ void __gen_e_acsl_o(void) ((__e_acsl_contract_t const *)__gen_e_acsl_contract,2UL,2,3); __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); if (__gen_e_acsl_active_bhvrs != 1) { __gen_e_acsl_assert_data_8.blocking = 1; __gen_e_acsl_assert_data_8.kind = "Precondition"; @@ -383,14 +371,8 @@ void __gen_e_acsl_o(void) ((__e_acsl_contract_t const *)__gen_e_acsl_contract); __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); __gen_e_acsl_assert_data_10.blocking = 1; __gen_e_acsl_assert_data_10.kind = "Precondition"; __gen_e_acsl_assert_data_10.pred_txt = "all behaviors complete"; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_ghost.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_ghost.c index 6d224fa3a4b8b7e2b13bb17e08cc13295a23c252..f4f01f8cd85f5c5d633cccd63848a90ef65b7fa8 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_ghost.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_ghost.c @@ -44,11 +44,11 @@ int main(void) int __gen_e_acsl_valid; __e_acsl_initialize((void *)P,sizeof(int)); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)P,sizeof(int), + (void *)P,(void *)(& P)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"P",(void *)P); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)P,sizeof(int), - (void *)P,(void *)(& P)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "RTE"; __gen_e_acsl_assert_data.pred_txt = "\\valid_read(P)"; @@ -60,11 +60,11 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)P,sizeof(int),(void *)P, + (void *)(& P)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"P",(void *)P); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)P,sizeof(int),(void *)P, - (void *)(& P)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; __gen_e_acsl_assert_data_2.pred_txt = "\\valid(P)"; @@ -81,25 +81,23 @@ int main(void) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"*q",0,*q); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"G",0,G); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& q), - sizeof(int *)); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read_2; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)q,sizeof(int), + (void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)q,sizeof(int), - (void *)q, - (void *)(& q)); __gen_e_acsl_and = __gen_e_acsl_valid_read_2; } else __gen_e_acsl_and = 0; @@ -112,6 +110,8 @@ int main(void) __gen_e_acsl_assert_data_4.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"*q",0,*q); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"G",0,G); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "Assertion"; __gen_e_acsl_assert_data_3.pred_txt = "*q == G"; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_lazy.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_lazy.c index d405c61064bca78dee4270cc5f8bf20049e45caf..ad4a3d6960a6502cff18490aedcd659fc42f8a8a 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_lazy.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_lazy.c @@ -39,7 +39,6 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"x",0,x); if (x != 0) { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"y",0,y); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; __gen_e_acsl_assert_data_3.blocking = 1; @@ -50,6 +49,7 @@ int main(void) __gen_e_acsl_assert_data_3.line = 10; __gen_e_acsl_assert_data_3.name = "division_by_zero"; __e_acsl_assert(0,& __gen_e_acsl_assert_data_3); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"y",0,y); __gen_e_acsl_and_2 = y == 1 / 0; } else __gen_e_acsl_and_2 = 0; @@ -90,7 +90,6 @@ int main(void) __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"x",0,x); if (x == 0) __gen_e_acsl_or_2 = 1; else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"y",0,y); __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; __gen_e_acsl_assert_data_6.blocking = 1; @@ -101,6 +100,7 @@ int main(void) __gen_e_acsl_assert_data_6.line = 12; __gen_e_acsl_assert_data_6.name = "division_by_zero"; __e_acsl_assert(0,& __gen_e_acsl_assert_data_6); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"y",0,y); __gen_e_acsl_or_2 = y == 1 / 0; } __gen_e_acsl_assert_data_5.blocking = 1; @@ -140,7 +140,6 @@ int main(void) __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"x",0,x); if (! (x == 1)) __gen_e_acsl_implies_2 = 1; else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"y",0,y); __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; __gen_e_acsl_assert_data_9.blocking = 1; @@ -151,6 +150,7 @@ int main(void) __gen_e_acsl_assert_data_9.line = 14; __gen_e_acsl_assert_data_9.name = "division_by_zero"; __e_acsl_assert(0,& __gen_e_acsl_assert_data_9); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"y",0,y); __gen_e_acsl_implies_2 = y == 1 / 0; } __gen_e_acsl_assert_data_8.blocking = 1; @@ -167,7 +167,6 @@ int main(void) int __gen_e_acsl_if; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"x",0,x); if (x != 0) { __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"x",0,x); __gen_e_acsl_if = x != 0; @@ -176,6 +175,7 @@ int main(void) __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"y",0,y); __gen_e_acsl_if = y != 0; } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"x",0,x); __gen_e_acsl_assert_data_10.blocking = 1; __gen_e_acsl_assert_data_10.kind = "Assertion"; __gen_e_acsl_assert_data_10.pred_txt = "x != 0? x != 0: y != 0"; @@ -190,7 +190,6 @@ int main(void) int __gen_e_acsl_if_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"y",0,y); if (y != 0) { __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"y",0,y); __gen_e_acsl_if_2 = y != 0; @@ -199,6 +198,7 @@ int main(void) __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"x",0,x); __gen_e_acsl_if_2 = x != 0; } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"y",0,y); __gen_e_acsl_assert_data_11.blocking = 1; __gen_e_acsl_assert_data_11.kind = "Assertion"; __gen_e_acsl_assert_data_11.pred_txt = "y != 0? y != 0: x != 0"; @@ -213,7 +213,6 @@ int main(void) int __gen_e_acsl_if_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"x",0,x); if (x == 1) { __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"x",0,x); __gen_e_acsl_if_3 = x == 18; @@ -222,6 +221,7 @@ int main(void) __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"x",0,x); __gen_e_acsl_if_3 = x == 0; } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"x",0,x); __gen_e_acsl_assert_data_12.blocking = 1; __gen_e_acsl_assert_data_12.kind = "Assertion"; __gen_e_acsl_assert_data_12.pred_txt = "x == 1? x == 18: x == 0"; @@ -300,15 +300,10 @@ int main(void) int __gen_e_acsl_if_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 = {.values = (void *)0}; + if (x != 0) __gen_e_acsl_if_4 = x; else __gen_e_acsl_if_4 = y; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"x",0,x); - if (x != 0) { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"x",0,x); - __gen_e_acsl_if_4 = x; - } - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"y",0,y); - __gen_e_acsl_if_4 = y; - } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"x",0,x); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"y",0,y); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"x",0,x); __gen_e_acsl_assert_data_15.blocking = 1; __gen_e_acsl_assert_data_15.kind = "Assertion"; @@ -377,12 +372,9 @@ int main(void) int __gen_e_acsl_or_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 = {.values = (void *)0}; + if (x != 0) __gen_e_acsl_or_5 = 1; else __gen_e_acsl_or_5 = y != 0; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18,"x",0,x); - if (x != 0) __gen_e_acsl_or_5 = 1; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18,"y",0,y); - __gen_e_acsl_or_5 = y != 0; - } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18,"y",0,y); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18,"y",0,y); __gen_e_acsl_assert_data_18.blocking = 1; __gen_e_acsl_assert_data_18.kind = "Assertion"; @@ -399,12 +391,9 @@ int main(void) int __gen_e_acsl_and_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 = {.values = (void *)0}; + if (x != 0) __gen_e_acsl_and_5 = y != 0; else __gen_e_acsl_and_5 = 0; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19,"x",0,x); - if (x != 0) { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19,"y",0,y); - __gen_e_acsl_and_5 = y != 0; - } - else __gen_e_acsl_and_5 = 0; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19,"y",0,y); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19,"x",0,x); __gen_e_acsl_assert_data_19.blocking = 1; __gen_e_acsl_assert_data_19.kind = "Assertion"; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_printed_data.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_printed_data.c index d0a76ef10ec6870d106e0e11c0b3cfec13882149..be87f4316d4767a77bc52abcaccebb591f960b44 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_printed_data.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_printed_data.c @@ -111,9 +111,9 @@ int main(void) { int __gen_e_acsl_x; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_x = int_bool; __e_acsl_assert_register_bool(& __gen_e_acsl_assert_data,"int_bool",0, int_bool); - __gen_e_acsl_x = int_bool; __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "\\let x = int_bool; \\true"; @@ -131,9 +131,9 @@ int main(void) int __gen_e_acsl_x_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_x_2 = int_char; __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_2,"int_char",0, int_char); - __gen_e_acsl_x_2 = int_char; __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "Assertion"; __gen_e_acsl_assert_data_2.pred_txt = "\\let x = int_char; \\true"; @@ -151,9 +151,9 @@ int main(void) int __gen_e_acsl_x_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_x_3 = int_schar; __e_acsl_assert_register_schar(& __gen_e_acsl_assert_data_3,"int_schar", 0,int_schar); - __gen_e_acsl_x_3 = int_schar; __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "Assertion"; __gen_e_acsl_assert_data_3.pred_txt = "\\let x = int_schar; \\true"; @@ -171,9 +171,9 @@ int main(void) int __gen_e_acsl_x_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_x_4 = int_uchar; __e_acsl_assert_register_uchar(& __gen_e_acsl_assert_data_4,"int_uchar", 0,int_uchar); - __gen_e_acsl_x_4 = int_uchar; __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "Assertion"; __gen_e_acsl_assert_data_4.pred_txt = "\\let x = int_uchar; \\true"; @@ -191,9 +191,9 @@ int main(void) int __gen_e_acsl_x_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_x_5 = int_int; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"int_int",0, int_int); - __gen_e_acsl_x_5 = int_int; __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "Assertion"; __gen_e_acsl_assert_data_5.pred_txt = "\\let x = int_int; \\true"; @@ -211,9 +211,9 @@ int main(void) unsigned int __gen_e_acsl_x_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_x_6 = int_uint; __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_6,"int_uint",0, int_uint); - __gen_e_acsl_x_6 = int_uint; __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "Assertion"; __gen_e_acsl_assert_data_6.pred_txt = "\\let x = int_uint; \\true"; @@ -231,9 +231,9 @@ int main(void) int __gen_e_acsl_x_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_x_7 = int_short; __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_7,"int_short", 0,int_short); - __gen_e_acsl_x_7 = int_short; __gen_e_acsl_assert_data_7.blocking = 1; __gen_e_acsl_assert_data_7.kind = "Assertion"; __gen_e_acsl_assert_data_7.pred_txt = "\\let x = int_short; \\true"; @@ -251,9 +251,9 @@ int main(void) int __gen_e_acsl_x_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_x_8 = int_ushort; __e_acsl_assert_register_ushort(& __gen_e_acsl_assert_data_8, "int_ushort",0,int_ushort); - __gen_e_acsl_x_8 = int_ushort; __gen_e_acsl_assert_data_8.blocking = 1; __gen_e_acsl_assert_data_8.kind = "Assertion"; __gen_e_acsl_assert_data_8.pred_txt = "\\let x = int_ushort; \\true"; @@ -271,9 +271,9 @@ int main(void) long __gen_e_acsl_x_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_x_9 = int_long; __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_9,"int_long",0, int_long); - __gen_e_acsl_x_9 = int_long; __gen_e_acsl_assert_data_9.blocking = 1; __gen_e_acsl_assert_data_9.kind = "Assertion"; __gen_e_acsl_assert_data_9.pred_txt = "\\let x = int_long; \\true"; @@ -291,9 +291,9 @@ int main(void) unsigned long __gen_e_acsl_x_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_x_10 = int_ulong; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10,"int_ulong", 0,int_ulong); - __gen_e_acsl_x_10 = int_ulong; __gen_e_acsl_assert_data_10.blocking = 1; __gen_e_acsl_assert_data_10.kind = "Assertion"; __gen_e_acsl_assert_data_10.pred_txt = "\\let x = int_ulong; \\true"; @@ -311,9 +311,9 @@ int main(void) long __gen_e_acsl_x_11; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; + __gen_e_acsl_x_11 = int_llong; __e_acsl_assert_register_longlong(& __gen_e_acsl_assert_data_11, "int_llong",0,int_llong); - __gen_e_acsl_x_11 = int_llong; __gen_e_acsl_assert_data_11.blocking = 1; __gen_e_acsl_assert_data_11.kind = "Assertion"; __gen_e_acsl_assert_data_11.pred_txt = "\\let x = int_llong; \\true"; @@ -331,9 +331,9 @@ int main(void) unsigned long __gen_e_acsl_x_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_x_12 = int_ullong; __e_acsl_assert_register_ulonglong(& __gen_e_acsl_assert_data_12, "int_ullong",0,int_ullong); - __gen_e_acsl_x_12 = int_ullong; __gen_e_acsl_assert_data_12.blocking = 1; __gen_e_acsl_assert_data_12.kind = "Assertion"; __gen_e_acsl_assert_data_12.pred_txt = "\\let x = int_ullong; \\true"; @@ -359,10 +359,10 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); __gmpz_init_set(__gen_e_acsl_int_mpz, (__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_13,"int_mpz",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_int_mpz)); __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_int_mpz), (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_13,"int_mpz",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_int_mpz)); __gen_e_acsl_assert_data_13.blocking = 1; __gen_e_acsl_assert_data_13.kind = "Assertion"; __gen_e_acsl_assert_data_13.pred_txt = "\\let int_mpz = 18446744073709551615ULL + 1;\n int_mpz != 18446744073709551615ULL"; @@ -389,9 +389,9 @@ int main(void) float __gen_e_acsl_x_13; __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 = {.values = (void *)0}; + __gen_e_acsl_x_13 = real_float; __e_acsl_assert_register_float(& __gen_e_acsl_assert_data_14, "real_float",real_float); - __gen_e_acsl_x_13 = real_float; __gen_e_acsl_assert_data_14.blocking = 1; __gen_e_acsl_assert_data_14.kind = "Assertion"; __gen_e_acsl_assert_data_14.pred_txt = "\\let x = real_float; \\true"; @@ -409,9 +409,9 @@ int main(void) double __gen_e_acsl_x_14; __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 = {.values = (void *)0}; + __gen_e_acsl_x_14 = real_double; __e_acsl_assert_register_double(& __gen_e_acsl_assert_data_15, "real_double",real_double); - __gen_e_acsl_x_14 = real_double; __gen_e_acsl_assert_data_15.blocking = 1; __gen_e_acsl_assert_data_15.kind = "Assertion"; __gen_e_acsl_assert_data_15.pred_txt = "\\let x = real_double; \\true"; @@ -434,10 +434,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_16 = {.values = (void *)0}; /*@ assert Eva: is_nan_or_infinite: \is_finite(real_ldouble); */ + __gen_e_acsl_x_15 = real_ldouble; + /*@ assert Eva: is_nan_or_infinite: \is_finite(real_ldouble); */ __e_acsl_assert_register_longdouble(& __gen_e_acsl_assert_data_16, "real_ldouble",real_ldouble); - /*@ assert Eva: is_nan_or_infinite: \is_finite(real_ldouble); */ - __gen_e_acsl_x_15 = real_ldouble; __gen_e_acsl_assert_data_16.blocking = 1; __gen_e_acsl_assert_data_16.kind = "Assertion"; __gen_e_acsl_assert_data_16.pred_txt = "\\let x = real_ldouble; \\true"; @@ -460,12 +460,12 @@ int main(void) __gmpq_init(__gen_e_acsl_real_mpq); __gmpq_set(__gen_e_acsl_real_mpq, (__e_acsl_mpq_struct const *)(__gen_e_acsl__3)); - __e_acsl_assert_register_mpq(& __gen_e_acsl_assert_data_17,"real_mpq", - (__e_acsl_mpq_struct const *)(__gen_e_acsl_real_mpq)); __gmpq_init(__gen_e_acsl__4); __gmpq_set_str(__gen_e_acsl__4,"1",10); __gen_e_acsl_ne_2 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl_real_mpq), (__e_acsl_mpq_struct const *)(__gen_e_acsl__4)); + __e_acsl_assert_register_mpq(& __gen_e_acsl_assert_data_17,"real_mpq", + (__e_acsl_mpq_struct const *)(__gen_e_acsl_real_mpq)); __gen_e_acsl_assert_data_17.blocking = 1; __gen_e_acsl_assert_data_17.kind = "Assertion"; __gen_e_acsl_assert_data_17.pred_txt = "\\let real_mpq = 0.1; real_mpq != 1"; @@ -500,10 +500,6 @@ int main(void) int __gen_e_acsl_ne_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 = {.values = (void *)0}; - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_19,"array1", - (void *)(array1)); - __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_19,"array2", - (void *)(array2)); __gen_e_acsl_ne_3 = 0; if (0) { unsigned long __gen_e_acsl_iter; @@ -517,6 +513,10 @@ int main(void) } } else __gen_e_acsl_ne_3 = 1; + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_19,"array1", + (void *)(array1)); + __e_acsl_assert_register_array(& __gen_e_acsl_assert_data_19,"array2", + (void *)(array2)); __gen_e_acsl_assert_data_19.blocking = 1; __gen_e_acsl_assert_data_19.kind = "Assertion"; __gen_e_acsl_assert_data_19.pred_txt = "array1 != array2"; @@ -551,8 +551,8 @@ int main(void) struct A __gen_e_acsl_x_16; __e_acsl_assert_data_t __gen_e_acsl_assert_data_21 = {.values = (void *)0}; - __e_acsl_assert_register_struct(& __gen_e_acsl_assert_data_21,"struct1"); __gen_e_acsl_x_16 = struct1; + __e_acsl_assert_register_struct(& __gen_e_acsl_assert_data_21,"struct1"); __gen_e_acsl_assert_data_21.blocking = 1; __gen_e_acsl_assert_data_21.kind = "Assertion"; __gen_e_acsl_assert_data_21.pred_txt = "\\let x = struct1; \\true"; @@ -570,8 +570,8 @@ int main(void) union U __gen_e_acsl_x_17; __e_acsl_assert_data_t __gen_e_acsl_assert_data_22 = {.values = (void *)0}; - __e_acsl_assert_register_union(& __gen_e_acsl_assert_data_22,"union1"); __gen_e_acsl_x_17 = union1; + __e_acsl_assert_register_union(& __gen_e_acsl_assert_data_22,"union1"); __gen_e_acsl_assert_data_22.blocking = 1; __gen_e_acsl_assert_data_22.kind = "Assertion"; __gen_e_acsl_assert_data_22.pred_txt = "\\let x = union1; \\true"; @@ -589,9 +589,9 @@ int main(void) unsigned int __gen_e_acsl_x_18; __e_acsl_assert_data_t __gen_e_acsl_assert_data_23 = {.values = (void *)0}; + __gen_e_acsl_x_18 = enum_bool; __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_23,"enum_bool", 1,enum_bool); - __gen_e_acsl_x_18 = enum_bool; __gen_e_acsl_assert_data_23.blocking = 1; __gen_e_acsl_assert_data_23.kind = "Assertion"; __gen_e_acsl_assert_data_23.pred_txt = "\\let x = enum_bool; \\true"; @@ -609,9 +609,9 @@ int main(void) int __gen_e_acsl_x_19; __e_acsl_assert_data_t __gen_e_acsl_assert_data_24 = {.values = (void *)0}; + __gen_e_acsl_x_19 = enum_char; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24,"enum_char",1, enum_char); - __gen_e_acsl_x_19 = enum_char; __gen_e_acsl_assert_data_24.blocking = 1; __gen_e_acsl_assert_data_24.kind = "Assertion"; __gen_e_acsl_assert_data_24.pred_txt = "\\let x = enum_char; \\true"; @@ -629,9 +629,9 @@ int main(void) int __gen_e_acsl_x_20; __e_acsl_assert_data_t __gen_e_acsl_assert_data_25 = {.values = (void *)0}; + __gen_e_acsl_x_20 = enum_schar; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25,"enum_schar", 1,enum_schar); - __gen_e_acsl_x_20 = enum_schar; __gen_e_acsl_assert_data_25.blocking = 1; __gen_e_acsl_assert_data_25.kind = "Assertion"; __gen_e_acsl_assert_data_25.pred_txt = "\\let x = enum_schar; \\true"; @@ -649,9 +649,9 @@ int main(void) unsigned int __gen_e_acsl_x_21; __e_acsl_assert_data_t __gen_e_acsl_assert_data_26 = {.values = (void *)0}; + __gen_e_acsl_x_21 = enum_uchar; __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_26,"enum_uchar", 1,enum_uchar); - __gen_e_acsl_x_21 = enum_uchar; __gen_e_acsl_assert_data_26.blocking = 1; __gen_e_acsl_assert_data_26.kind = "Assertion"; __gen_e_acsl_assert_data_26.pred_txt = "\\let x = enum_uchar; \\true"; @@ -669,9 +669,9 @@ int main(void) int __gen_e_acsl_x_22; __e_acsl_assert_data_t __gen_e_acsl_assert_data_27 = {.values = (void *)0}; + __gen_e_acsl_x_22 = enum_int; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27,"enum_int",1, enum_int); - __gen_e_acsl_x_22 = enum_int; __gen_e_acsl_assert_data_27.blocking = 1; __gen_e_acsl_assert_data_27.kind = "Assertion"; __gen_e_acsl_assert_data_27.pred_txt = "\\let x = enum_int; \\true"; @@ -689,9 +689,9 @@ int main(void) unsigned int __gen_e_acsl_x_23; __e_acsl_assert_data_t __gen_e_acsl_assert_data_28 = {.values = (void *)0}; + __gen_e_acsl_x_23 = enum_uint; __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_28,"enum_uint", 1,enum_uint); - __gen_e_acsl_x_23 = enum_uint; __gen_e_acsl_assert_data_28.blocking = 1; __gen_e_acsl_assert_data_28.kind = "Assertion"; __gen_e_acsl_assert_data_28.pred_txt = "\\let x = enum_uint; \\true"; @@ -709,9 +709,9 @@ int main(void) int __gen_e_acsl_x_24; __e_acsl_assert_data_t __gen_e_acsl_assert_data_29 = {.values = (void *)0}; + __gen_e_acsl_x_24 = enum_short; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_29,"enum_short", 1,enum_short); - __gen_e_acsl_x_24 = enum_short; __gen_e_acsl_assert_data_29.blocking = 1; __gen_e_acsl_assert_data_29.kind = "Assertion"; __gen_e_acsl_assert_data_29.pred_txt = "\\let x = enum_short; \\true"; @@ -729,9 +729,9 @@ int main(void) unsigned int __gen_e_acsl_x_25; __e_acsl_assert_data_t __gen_e_acsl_assert_data_30 = {.values = (void *)0}; + __gen_e_acsl_x_25 = enum_ushort; __e_acsl_assert_register_uint(& __gen_e_acsl_assert_data_30, "enum_ushort",1,enum_ushort); - __gen_e_acsl_x_25 = enum_ushort; __gen_e_acsl_assert_data_30.blocking = 1; __gen_e_acsl_assert_data_30.kind = "Assertion"; __gen_e_acsl_assert_data_30.pred_txt = "\\let x = enum_ushort; \\true"; @@ -749,9 +749,9 @@ int main(void) long __gen_e_acsl_x_26; __e_acsl_assert_data_t __gen_e_acsl_assert_data_31 = {.values = (void *)0}; + __gen_e_acsl_x_26 = enum_long; __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_31,"enum_long", 1,enum_long); - __gen_e_acsl_x_26 = enum_long; __gen_e_acsl_assert_data_31.blocking = 1; __gen_e_acsl_assert_data_31.kind = "Assertion"; __gen_e_acsl_assert_data_31.pred_txt = "\\let x = enum_long; \\true"; @@ -769,9 +769,9 @@ int main(void) unsigned long __gen_e_acsl_x_27; __e_acsl_assert_data_t __gen_e_acsl_assert_data_32 = {.values = (void *)0}; + __gen_e_acsl_x_27 = enum_ulong; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_32, "enum_ulong",1,enum_ulong); - __gen_e_acsl_x_27 = enum_ulong; __gen_e_acsl_assert_data_32.blocking = 1; __gen_e_acsl_assert_data_32.kind = "Assertion"; __gen_e_acsl_assert_data_32.pred_txt = "\\let x = enum_ulong; \\true"; @@ -789,9 +789,9 @@ int main(void) long __gen_e_acsl_x_28; __e_acsl_assert_data_t __gen_e_acsl_assert_data_33 = {.values = (void *)0}; + __gen_e_acsl_x_28 = enum_llong; __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_33,"enum_llong", 1,enum_llong); - __gen_e_acsl_x_28 = enum_llong; __gen_e_acsl_assert_data_33.blocking = 1; __gen_e_acsl_assert_data_33.kind = "Assertion"; __gen_e_acsl_assert_data_33.pred_txt = "\\let x = enum_llong; \\true"; @@ -809,9 +809,9 @@ int main(void) unsigned long __gen_e_acsl_x_29; __e_acsl_assert_data_t __gen_e_acsl_assert_data_34 = {.values = (void *)0}; + __gen_e_acsl_x_29 = enum_ullong; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_34, "enum_ullong",1,enum_ullong); - __gen_e_acsl_x_29 = enum_ullong; __gen_e_acsl_assert_data_34.blocking = 1; __gen_e_acsl_assert_data_34.kind = "Assertion"; __gen_e_acsl_assert_data_34.pred_txt = "\\let x = enum_ullong; \\true"; @@ -829,8 +829,6 @@ int main(void) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data_35 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"a",0,a); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"b",0,b); __gen_e_acsl_c = a + (long)b; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"a",0,a); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"b",0,b); @@ -842,6 +840,8 @@ int main(void) __gen_e_acsl_and = __gen_e_acsl_c == a + (long)b; } else __gen_e_acsl_and = 0; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"a",0,a); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"b",0,b); __gen_e_acsl_assert_data_35.blocking = 1; __gen_e_acsl_assert_data_35.kind = "Assertion"; __gen_e_acsl_assert_data_35.pred_txt = "\\let c = a + b; a != b && c == a + b"; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c index a8875fd82f683195938bb91718eef9d652c8bc92..a89b03788ba4bdb0ffcb6a3e64e5b4e6825ffd5a 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_rte.c @@ -65,7 +65,6 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g, __gen_e_acsl_at_2 = e; __gen_e_acsl_contract = __e_acsl_contract_init(1UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"a",0,a); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"a",0,a); @@ -78,6 +77,7 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g, __gen_e_acsl_assert_data_2.name = "division_by_zero"; __e_acsl_assert(a != 0,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"a",0,a); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Precondition"; __gen_e_acsl_assert_data.pred_txt = "1 % a == 1"; @@ -112,7 +112,6 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g, int __gen_e_acsl_var_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"d",0,d); __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"d",0,d); @@ -125,9 +124,9 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g, __gen_e_acsl_assert_data_5.name = "division_by_zero"; __e_acsl_assert(d != 0,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"d",0,d); __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"f",0,f); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"f",0,f); @@ -140,9 +139,9 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g, __gen_e_acsl_assert_data_7.name = "division_by_zero"; __e_acsl_assert(f != 0,& __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"f",0,f); if (1 % f == 1) __gen_e_acsl_or = 1; else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"g",0,g); __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"g",0,g); @@ -155,11 +154,11 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g, __gen_e_acsl_assert_data_8.name = "division_by_zero"; __e_acsl_assert(g != 0,& __gen_e_acsl_assert_data_8); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"g",0,g); __gen_e_acsl_or = 1 % g == 1; } __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"h",0,h); __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"h",0,h); @@ -172,8 +171,8 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g, __gen_e_acsl_assert_data_10.name = "division_by_zero"; __e_acsl_assert(h != 0,& __gen_e_acsl_assert_data_10); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"h",0,h); if (1 % h == 1) { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"i",0,i); __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"i",0,i); @@ -186,6 +185,7 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g, __gen_e_acsl_assert_data_11.name = "division_by_zero"; __e_acsl_assert(i != 0,& __gen_e_acsl_assert_data_11); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"i",0,i); __gen_e_acsl_and = 1 % i == 1; } else __gen_e_acsl_and = 0; @@ -331,8 +331,6 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g, int __gen_e_acsl_assumes_value_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18,"\\old(b)",0, - __gen_e_acsl_at); __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19, @@ -346,6 +344,8 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g, __gen_e_acsl_assert_data_19.name = "division_by_zero"; __e_acsl_assert(__gen_e_acsl_at != 0,& __gen_e_acsl_assert_data_19); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_19); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18,"\\old(b)",0, + __gen_e_acsl_at); __gen_e_acsl_assert_data_18.blocking = 1; __gen_e_acsl_assert_data_18.kind = "Postcondition"; __gen_e_acsl_assert_data_18.pred_txt = "1 % \\old(b) == 1"; @@ -359,8 +359,6 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g, if (__gen_e_acsl_assumes_value_2) { __e_acsl_assert_data_t __gen_e_acsl_assert_data_20 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20,"\\old(e)", - 0,__gen_e_acsl_at_2); __e_acsl_assert_data_t __gen_e_acsl_assert_data_21 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_21, @@ -374,6 +372,8 @@ void __gen_e_acsl_test(int a, int b, int c, int d, int e, int f, int g, __gen_e_acsl_assert_data_21.name = "division_by_zero"; __e_acsl_assert(__gen_e_acsl_at_2 != 0,& __gen_e_acsl_assert_data_21); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_21); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20,"\\old(e)", + 0,__gen_e_acsl_at_2); __gen_e_acsl_assert_data_20.blocking = 1; __gen_e_acsl_assert_data_20.kind = "Postcondition"; __gen_e_acsl_assert_data_20.pred_txt = "1 % \\old(e) == 1"; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/gen_stmt_contract.c b/src/plugins/e-acsl/tests/constructs/oracle/gen_stmt_contract.c index 7cf7c8c8b0b3dc582a7e62c4cdf5edd393f0ed8f..53a639ccd9c8af27ea0149952736e129fa6f52da 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/gen_stmt_contract.c +++ b/src/plugins/e-acsl/tests/constructs/oracle/gen_stmt_contract.c @@ -339,14 +339,8 @@ int main(void) ((__e_acsl_contract_t const *)__gen_e_acsl_contract_3); __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); __e_acsl_assert_data_t __gen_e_acsl_assert_data_20 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); if (__gen_e_acsl_active_bhvrs != 1) { __gen_e_acsl_assert_data_19.blocking = 1; __gen_e_acsl_assert_data_19.kind = "Precondition"; diff --git a/src/plugins/e-acsl/tests/constructs/oracle/ghost.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle/ghost.res.oracle index 0c73327d9fb08d1f010ef5db3b9c97f9d4f3a546..8b99e1f4855e01ad11b818ea742693f156f24ba4 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/ghost.res.oracle +++ b/src/plugins/e-acsl/tests/constructs/oracle/ghost.res.oracle @@ -3,9 +3,6 @@ [eva:alarm] ghost.i:13: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] ghost.i:14: Warning: - function __e_acsl_assert_register_int: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] ghost.i:14: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -15,3 +12,6 @@ [eva:alarm] ghost.i:14: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] ghost.i:14: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/constructs/oracle/lazy.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle/lazy.res.oracle index 6d547f0261dd72ce4940bec362cf11104407bf6e..f1a158357c4cf6256048a68ac0219a36fe01938a 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/lazy.res.oracle +++ b/src/plugins/e-acsl/tests/constructs/oracle/lazy.res.oracle @@ -30,6 +30,9 @@ [eva:alarm] lazy.i:24: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] lazy.i:24: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] lazy.i:25: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. @@ -48,3 +51,6 @@ [eva:alarm] lazy.i:28: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] lazy.i:28: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/constructs/oracle/printed_data.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle/printed_data.res.oracle index 4d8d2f702773b6e3dd5dcee7861157425247f647..2bc5c16105b06b1f77eafeb26a46b63d4e260432 100644 --- a/src/plugins/e-acsl/tests/constructs/oracle/printed_data.res.oracle +++ b/src/plugins/e-acsl/tests/constructs/oracle/printed_data.res.oracle @@ -54,15 +54,15 @@ [eva:alarm] printed_data.c:161: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] printed_data.c:161: Warning: + function __e_acsl_assert_register_long: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] printed_data.c:161: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] printed_data.c:161: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] printed_data.c:161: Warning: - function __e_acsl_assert_register_long: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] printed_data.c:161: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c b/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c index 05b5a31863fe96479a2678e995c6a2ac2a1a0fef..437ed75a82541931cfc0f3a34996233d94d3bdf3 100644 --- a/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c +++ b/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c @@ -172,13 +172,13 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)stat_loc,sizeof(int), + (void *)stat_loc, + (void *)(& stat_loc)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"stat_loc", (void *)stat_loc); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)stat_loc,sizeof(int), - (void *)stat_loc, - (void *)(& stat_loc)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(stat_loc)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -229,12 +229,12 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) if (! __gen_e_acsl_and) __gen_e_acsl_implies = 1; else { int __gen_e_acsl_initialized; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "\\old(stat_loc)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(\\old(stat_loc))",0, __gen_e_acsl_initialized); @@ -289,12 +289,12 @@ int __gen_e_acsl_fclose(FILE *stream) int __gen_e_acsl_valid; __e_acsl_store_block((void *)(& stream),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)stream,sizeof(FILE), + (void *)stream,(void *)(& stream)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"stream", (void *)stream); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(FILE)", 0,sizeof(FILE)); - __gen_e_acsl_valid = __e_acsl_valid((void *)stream,sizeof(FILE), - (void *)stream,(void *)(& stream)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(stream)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_printf.c b/src/plugins/e-acsl/tests/format/oracle/gen_printf.c index 31fd82319a2aae9f6f60e19041ecdf5c3fe783a0..7526a0f39b5452827752d424283bb425a0e4179c 100644 --- a/src/plugins/e-acsl/tests/format/oracle/gen_printf.c +++ b/src/plugins/e-acsl/tests/format/oracle/gen_printf.c @@ -626,13 +626,13 @@ void test_specifier_application(char const *allowed, char const *fmt, __e_acsl_mpz_t __gen_e_acsl_; __e_acsl_mpz_t __gen_e_acsl__2; int __gen_e_acsl_le; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)", - 0,1); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"len",0,len); __gmpz_init_set_si(__gen_e_acsl_,(long)(1 * (int)(len + 1L))); __gmpz_init_set_ui(__gen_e_acsl__2,18446744073709551615UL); __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_), (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)", + 0,1); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"len",0,len); __gen_e_acsl_and = __gen_e_acsl_le <= 0; __gmpz_clear(__gen_e_acsl_); __gmpz_clear(__gen_e_acsl__2); @@ -752,9 +752,6 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src) unsigned long __gen_e_acsl_size; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, - "__gen_e_acsl_strcpy_src_size",0, - __gen_e_acsl_strcpy_src_size); __gmpz_init_set_ui(__gen_e_acsl___gen_e_acsl_strcpy_src_size, __gen_e_acsl_strcpy_src_size); __gmpz_init_set_si(__gen_e_acsl_,1L); @@ -765,6 +762,9 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src) __gmpz_init_set_ui(__gen_e_acsl__2,18446744073709551615UL); __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add), (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, + "__gen_e_acsl_strcpy_src_size",0, + __gen_e_acsl_strcpy_src_size); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "RTE"; __gen_e_acsl_assert_data_6.pred_txt = "__gen_e_acsl_strcpy_src_size + 1 <= 18446744073709551615"; @@ -852,28 +852,24 @@ char *__gen_e_acsl_strchr(char const *s, int c) void *__gen_e_acsl_base_addr_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_2,"*\\result", - 0,*__retres); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\old(c)",0, - __gen_e_acsl_at_2); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& __retres), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&__retres", (void *)(& __retres)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& __retres), - sizeof(char *)); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"__retres", - (void *)__retres); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)__retres, sizeof(char), (void *)__retres, (void *)(& __retres)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"__retres", + (void *)__retres); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, + "sizeof(char)",0,sizeof(char)); __gen_e_acsl_and = __gen_e_acsl_valid_read; } else __gen_e_acsl_and = 0; @@ -886,13 +882,17 @@ char *__gen_e_acsl_strchr(char const *s, int c) __gen_e_acsl_assert_data_3.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); + __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_2,"*\\result", + 0,*__retres); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\old(c)",0, + __gen_e_acsl_at_2); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __gen_e_acsl_base_addr = __e_acsl_base_addr((void *)__retres); + __gen_e_acsl_base_addr_2 = __e_acsl_base_addr((void *)__gen_e_acsl_at); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "\\base_addr(\\result)", __gen_e_acsl_base_addr); - __gen_e_acsl_base_addr_2 = __e_acsl_base_addr((void *)__gen_e_acsl_at); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "\\base_addr(\\old(s))", __gen_e_acsl_base_addr_2); @@ -947,10 +947,10 @@ char *__gen_e_acsl_strchr(char const *s, int c) void *__gen_e_acsl_base_addr_3; void *__gen_e_acsl_base_addr_4; __gen_e_acsl_base_addr_3 = __e_acsl_base_addr((void *)__retres); + __gen_e_acsl_base_addr_4 = __e_acsl_base_addr((void *)__gen_e_acsl_at); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, "\\base_addr(\\result)", __gen_e_acsl_base_addr_3); - __gen_e_acsl_base_addr_4 = __e_acsl_base_addr((void *)__gen_e_acsl_at); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, "\\base_addr(\\old(s))", __gen_e_acsl_base_addr_4); @@ -1065,13 +1065,13 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)stat_loc,sizeof(int), + (void *)stat_loc, + (void *)(& stat_loc)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"stat_loc", (void *)stat_loc); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)stat_loc,sizeof(int), - (void *)stat_loc, - (void *)(& stat_loc)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(stat_loc)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -1122,12 +1122,12 @@ pid_t __gen_e_acsl_waitpid(pid_t pid, int *stat_loc, int options) if (! __gen_e_acsl_and) __gen_e_acsl_implies = 1; else { int __gen_e_acsl_initialized; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "\\old(stat_loc)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(\\old(stat_loc))",0, __gen_e_acsl_initialized); diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_sprintf.c b/src/plugins/e-acsl/tests/format/oracle/gen_sprintf.c index 755f61a5d9da423d7eda00006ec570ea6de0531a..231f19de986aaa6a3fa6e94a2556ac3a6e4d6d59 100644 --- a/src/plugins/e-acsl/tests/format/oracle/gen_sprintf.c +++ b/src/plugins/e-acsl/tests/format/oracle/gen_sprintf.c @@ -36,23 +36,21 @@ int main(void) int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_size = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; + else __gen_e_acsl_if = __gen_e_acsl_size; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(buf + 1 * 0), + (size_t)__gen_e_acsl_if); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"(char *)buf", (void *)(buf)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)", 0,1); - __gen_e_acsl_size = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, __gen_e_acsl_size); - if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(buf + 1 * 0), - (size_t)__gen_e_acsl_if); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, + __gen_e_acsl_size); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&buf[0 .. 3])",0, __gen_e_acsl_initialized); @@ -73,23 +71,21 @@ int main(void) int __gen_e_acsl_initialized_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_size_2 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; + else __gen_e_acsl_if_2 = __gen_e_acsl_size_2; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(buf + 1 * 0), + (size_t)__gen_e_acsl_if_2); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, "(char *)buf",(void *)(buf)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,1); - __gen_e_acsl_size_2 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, __gen_e_acsl_size_2); - if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, - __gen_e_acsl_size_2); - __gen_e_acsl_if_2 = __gen_e_acsl_size_2; - } - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(buf + 1 * 0), - (size_t)__gen_e_acsl_if_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, + __gen_e_acsl_size_2); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&buf[0 .. 2])",0, __gen_e_acsl_initialized_2); @@ -108,12 +104,12 @@ int main(void) int __gen_e_acsl_initialized_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& buf[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&buf[3]", (void *)(& buf[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& buf[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&buf[3])",0, __gen_e_acsl_initialized_3); @@ -139,24 +135,22 @@ int main(void) int __gen_e_acsl_initialized_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_size_3 = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; + else __gen_e_acsl_if_3 = __gen_e_acsl_size_3; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(buf_0 + + 1 * 0), + (size_t)__gen_e_acsl_if_3); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "(char *)buf_0",(void *)(buf_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,1); - __gen_e_acsl_size_3 = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, __gen_e_acsl_size_3); - if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, - __gen_e_acsl_size_3); - __gen_e_acsl_if_3 = __gen_e_acsl_size_3; - } - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(buf_0 + - 1 * 0), - (size_t)__gen_e_acsl_if_3); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, + __gen_e_acsl_size_3); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&buf_0[0 .. 3])",0, __gen_e_acsl_initialized_4); @@ -179,24 +173,22 @@ int main(void) int __gen_e_acsl_initialized_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_size_4 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; + else __gen_e_acsl_if_4 = __gen_e_acsl_size_4; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(buf_0 + + 1 * 0), + (size_t)__gen_e_acsl_if_4); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, "(char *)buf_0",(void *)(buf_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "sizeof(char)",0,1); - __gen_e_acsl_size_4 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, __gen_e_acsl_size_4); - if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, - __gen_e_acsl_size_4); - __gen_e_acsl_if_4 = __gen_e_acsl_size_4; - } - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(buf_0 + - 1 * 0), - (size_t)__gen_e_acsl_if_4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, + __gen_e_acsl_size_4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&buf_0[0 .. 1])",0, __gen_e_acsl_initialized_5); @@ -215,12 +207,12 @@ int main(void) int __gen_e_acsl_initialized_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& buf_0[2]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&buf_0[2]", (void *)(& buf_0[2])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& buf_0[2]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&buf_0[2])",0, __gen_e_acsl_initialized_6); @@ -239,12 +231,12 @@ int main(void) int __gen_e_acsl_initialized_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& buf_0[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&buf_0[3]", (void *)(& buf_0[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& buf_0[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized(&buf_0[3])",0, __gen_e_acsl_initialized_7); @@ -270,24 +262,22 @@ int main(void) int __gen_e_acsl_initialized_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_size_5 = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; + else __gen_e_acsl_if_5 = __gen_e_acsl_size_5; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(buf_1 + + 1 * 0), + (size_t)__gen_e_acsl_if_5); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8, "(char *)buf_1",(void *)(buf_1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "sizeof(char)",0,1); - __gen_e_acsl_size_5 = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, __gen_e_acsl_size_5); - if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, - __gen_e_acsl_size_5); - __gen_e_acsl_if_5 = __gen_e_acsl_size_5; - } - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(buf_1 + - 1 * 0), - (size_t)__gen_e_acsl_if_5); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, + __gen_e_acsl_size_5); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized(&buf_1[0 .. 3])",0, __gen_e_acsl_initialized_8); @@ -310,24 +300,22 @@ int main(void) int __gen_e_acsl_initialized_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_size_6 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; + else __gen_e_acsl_if_6 = __gen_e_acsl_size_6; + __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(buf_1 + + 1 * 0), + (size_t)__gen_e_acsl_if_6); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, "(char *)buf_1",(void *)(buf_1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "sizeof(char)",0,1); - __gen_e_acsl_size_6 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, __gen_e_acsl_size_6); - if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, - __gen_e_acsl_size_6); - __gen_e_acsl_if_6 = __gen_e_acsl_size_6; - } - __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(buf_1 + - 1 * 0), - (size_t)__gen_e_acsl_if_6); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, + __gen_e_acsl_size_6); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(&buf_1[0 .. 2])",0, __gen_e_acsl_initialized_9); @@ -346,12 +334,12 @@ int main(void) int __gen_e_acsl_initialized_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& buf_1[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"&buf_1[3]", (void *)(& buf_1[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& buf_1[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\initialized(&buf_1[3])",0, __gen_e_acsl_initialized_10); diff --git a/src/plugins/e-acsl/tests/full-mtracking/oracle/gen_addrOf.c b/src/plugins/e-acsl/tests/full-mtracking/oracle/gen_addrOf.c index f1d2267d9164fcf91f8a53e43ec363925b734ae1..5d2a9b181cc27c188d1e5eb03df37e4607e258ca 100644 --- a/src/plugins/e-acsl/tests/full-mtracking/oracle/gen_addrOf.c +++ b/src/plugins/e-acsl/tests/full-mtracking/oracle/gen_addrOf.c @@ -25,10 +25,10 @@ void f(void) { int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(p)",0, __gen_e_acsl_initialized); diff --git a/src/plugins/e-acsl/tests/gmp-only/oracle/arith.res.oracle b/src/plugins/e-acsl/tests/gmp-only/oracle/arith.res.oracle index e7984b90d7cec3589b90955f54cf200ad968b848..bfbb3c7e32ac4c2e4d14252a777c1780c67b49ed 100644 --- a/src/plugins/e-acsl/tests/gmp-only/oracle/arith.res.oracle +++ b/src/plugins/e-acsl/tests/gmp-only/oracle/arith.res.oracle @@ -43,19 +43,13 @@ function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] arith.i:30: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. -[eva:alarm] arith.i:31: Warning: - function __e_acsl_assert_copy_values: precondition src->values == \null || - \valid(src->values) got status unknown. [eva:alarm] arith.i:31: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. -[eva:alarm] arith.i:34: Warning: - function __e_acsl_assert_copy_values: precondition dest->values == \null || - \valid(dest->values) got status unknown. -[eva:alarm] arith.i:34: Warning: - function __e_acsl_assert_copy_values: precondition src->values == \null || - \valid(src->values) got status unknown. [eva:alarm] arith.i:34: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. +[eva:alarm] arith.i:34: Warning: + function __e_acsl_assert_register_long: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] arith.i:34: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] arith.i:36: Warning: diff --git a/src/plugins/e-acsl/tests/gmp-only/oracle/functions.res.oracle b/src/plugins/e-acsl/tests/gmp-only/oracle/functions.res.oracle index 8885a78c2160dcbfce345b756215f269eb4ed206..50ab698f34137e2d3fc68063d9b09415c60c8953 100644 --- a/src/plugins/e-acsl/tests/gmp-only/oracle/functions.res.oracle +++ b/src/plugins/e-acsl/tests/gmp-only/oracle/functions.res.oracle @@ -20,15 +20,15 @@ \valid(data->values) got status unknown. [eva:alarm] functions.c:48: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. -[eva:alarm] functions.c:49: Warning: - function __e_acsl_assert_register_int: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] functions.c:49: Warning: accessing uninitialized left-value. assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_f1_4); [eva:alarm] functions.c:49: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] functions.c:49: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] functions.c:49: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] functions.c:50: Warning: diff --git a/src/plugins/e-acsl/tests/gmp-only/oracle/gen_arith.c b/src/plugins/e-acsl/tests/gmp-only/oracle/gen_arith.c index 6bc0e28ab20ceb013e10d4e7c9dec4f4fb9939e8..775c1ed523abca60667f7294a8a56a9c451d3f39 100644 --- a/src/plugins/e-acsl/tests/gmp-only/oracle/gen_arith.c +++ b/src/plugins/e-acsl/tests/gmp-only/oracle/gen_arith.c @@ -24,10 +24,10 @@ int main(void) __gmpz_init_set_si(__gen_e_acsl_,3L); __gmpz_init(__gen_e_acsl_neg); __gmpz_neg(__gen_e_acsl_neg,(__e_acsl_mpz_struct const *)(__gen_e_acsl_)); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"x",0,x); __gmpz_init_set_si(__gen_e_acsl_x,(long)x); __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_neg), (__e_acsl_mpz_struct const *)(__gen_e_acsl_x)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"x",0,x); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "-3 == x"; @@ -48,7 +48,6 @@ int main(void) int __gen_e_acsl_eq_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"x",0,x); __gmpz_init_set_si(__gen_e_acsl_x_2,(long)x); __gmpz_init_set_si(__gen_e_acsl__2,3L); __gmpz_init(__gen_e_acsl_neg_2); @@ -56,6 +55,7 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_2)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"x",0,x); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "Assertion"; __gen_e_acsl_assert_data_2.pred_txt = "x == -3"; @@ -101,7 +101,6 @@ int main(void) int __gen_e_acsl_eq_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"x",0,x); __gmpz_init_set_si(__gen_e_acsl_x_3,(long)x); __gmpz_init_set_si(__gen_e_acsl__4,1L); __gmpz_init(__gen_e_acsl_add); @@ -114,6 +113,7 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add), (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_3)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"x",0,x); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "Assertion"; __gen_e_acsl_assert_data_4.pred_txt = "x + 1 == -2"; @@ -138,7 +138,6 @@ int main(void) int __gen_e_acsl_eq_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"x",0,x); __gmpz_init_set_si(__gen_e_acsl_x_4,(long)x); __gmpz_init_set_si(__gen_e_acsl__6,1L); __gmpz_init(__gen_e_acsl_sub); @@ -151,6 +150,7 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); __gen_e_acsl_eq_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_sub), (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_4)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"x",0,x); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "Assertion"; __gen_e_acsl_assert_data_5.pred_txt = "x - 1 == -4"; @@ -175,7 +175,6 @@ int main(void) int __gen_e_acsl_eq_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"x",0,x); __gmpz_init_set_si(__gen_e_acsl_x_5,(long)x); __gmpz_init_set_si(__gen_e_acsl__8,3L); __gmpz_init(__gen_e_acsl_mul); @@ -188,6 +187,7 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl__9)); __gen_e_acsl_eq_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul), (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_5)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"x",0,x); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "Assertion"; __gen_e_acsl_assert_data_6.pred_txt = "x * 3 == -9"; @@ -214,7 +214,6 @@ int main(void) int __gen_e_acsl_eq_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"x",0,x); __gmpz_init_set_si(__gen_e_acsl_x_6,(long)x); __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; @@ -243,6 +242,7 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl__12)); __gen_e_acsl_eq_6 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_div), (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_6)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"x",0,x); __gen_e_acsl_assert_data_7.blocking = 1; __gen_e_acsl_assert_data_7.kind = "Assertion"; __gen_e_acsl_assert_data_7.pred_txt = "x / 3 == -1"; @@ -316,7 +316,6 @@ int main(void) int __gen_e_acsl_eq_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"x",0,x); __gmpz_init_set_si(__gen_e_acsl_x_7,(long)x); __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; @@ -345,6 +344,7 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl__18)); __gen_e_acsl_eq_8 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mod), (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_7)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"x",0,x); __gen_e_acsl_assert_data_11.blocking = 1; __gen_e_acsl_assert_data_11.kind = "Assertion"; __gen_e_acsl_assert_data_11.pred_txt = "x % 2 == -1"; @@ -496,7 +496,6 @@ int main(void) int __gen_e_acsl_eq_11; __e_acsl_assert_data_t __gen_e_acsl_assert_data_17 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"x",0,x); __gmpz_init_set_si(__gen_e_acsl_x_8,(long)x); __gmpz_init_set_si(__gen_e_acsl__27,2L); __gmpz_init(__gen_e_acsl_mul_2); @@ -504,7 +503,6 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_8), (__e_acsl_mpz_struct const *)(__gen_e_acsl__27)); __gmpz_init_set_si(__gen_e_acsl__28,3L); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"y",0,y); __gmpz_init_set_si(__gen_e_acsl_y,(long)y); __gmpz_init(__gen_e_acsl_add_2); __gmpz_add(__gen_e_acsl_add_2, @@ -519,8 +517,6 @@ int main(void) __gmpz_sub(__gen_e_acsl_sub_2, (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_3), (__e_acsl_mpz_struct const *)(__gen_e_acsl__29)); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"x",0,x); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"y",0,y); __gmpz_init(__gen_e_acsl_sub_3); __gmpz_sub(__gen_e_acsl_sub_3, (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_8), @@ -535,6 +531,10 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl__30)); __gen_e_acsl_eq_11 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_4), (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_12)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"x",0,x); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"y",0,y); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"x",0,x); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"y",0,y); __gen_e_acsl_assert_data_17.blocking = 1; __gen_e_acsl_assert_data_17.kind = "Assertion"; __gen_e_acsl_assert_data_17.pred_txt = "((x * 2 + (3 + y)) - 4) + (x - y) == -10"; @@ -764,7 +764,6 @@ int main(void) __gmpz_init_set_si(__gen_e_acsl__54,4L); __e_acsl_assert_data_t __gen_e_acsl_assert_data_24 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24,"y",0,y); __gmpz_init_set_si(__gen_e_acsl_y_2,(long)y); __e_acsl_assert_copy_values(& __gen_e_acsl_assert_data_23, & __gen_e_acsl_assert_data_24); @@ -790,6 +789,7 @@ int main(void) __gmpz_init_set_si(__gen_e_acsl__56,2L); __gen_e_acsl_eq_19 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_div_3), (__e_acsl_mpz_struct const *)(__gen_e_acsl__56)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24,"y",0,y); __gen_e_acsl_assert_data_23.blocking = 1; __gen_e_acsl_assert_data_23.kind = "Assertion"; __gen_e_acsl_assert_data_23.pred_txt = "4 / y == 2"; @@ -820,7 +820,6 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_25 = {.values = (void *)0}; __gmpz_init_set_si(__gen_e_acsl__57,1L); - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_25,"z",0,z); __gmpz_init_set_si(__gen_e_acsl_z,z); __gmpz_init(__gen_e_acsl_add_5); __gmpz_add(__gen_e_acsl_add_5, @@ -828,7 +827,6 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl__57)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_26 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26,"y",0,y); __gmpz_init_set_si(__gen_e_acsl_y_3,(long)y); __gmpz_init_set_ui(__gen_e_acsl__58,123456789123456789UL); __gmpz_init(__gen_e_acsl_sub_4); @@ -862,6 +860,8 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl_div_4)); __gen_e_acsl_eq_20 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_6), (__e_acsl_mpz_struct const *)(__gen_e_acsl__57)); + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_25,"z",0,z); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26,"y",0,y); __gen_e_acsl_assert_data_25.blocking = 1; __gen_e_acsl_assert_data_25.kind = "Assertion"; __gen_e_acsl_assert_data_25.pred_txt = "1 + (z + 1) / (y - 123456789123456789) == 1"; @@ -891,13 +891,11 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_27 = {.values = (void *)0}; __gmpz_init_set_si(__gen_e_acsl__60,1L); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27,"x",0,x); __gmpz_init_set_si(__gen_e_acsl_x_9,(long)x); __gmpz_init(__gen_e_acsl_sub_5); __gmpz_sub(__gen_e_acsl_sub_5, (__e_acsl_mpz_struct const *)(__gen_e_acsl__60), (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_9)); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27,"x",0,x); __gmpz_init(__gen_e_acsl_neg_15); __gmpz_neg(__gen_e_acsl_neg_15, (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_9)); @@ -907,6 +905,8 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl__60)); __gen_e_acsl_eq_21 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_sub_5), (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_7)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27,"x",0,x); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27,"x",0,x); __gen_e_acsl_assert_data_27.blocking = 1; __gen_e_acsl_assert_data_27.kind = "Assertion"; __gen_e_acsl_assert_data_27.pred_txt = "1 - x == -x + 1"; @@ -936,9 +936,7 @@ int main(void) int __gen_e_acsl_gt_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_28 = {.values = (void *)0}; - __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_28,"a",0,a); __gmpz_init_set_si(__gen_e_acsl_a,(long)a); - __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_28,"b",0,b); __gmpz_init_set_si(__gen_e_acsl_b,(long)b); __gmpq_init(__gen_e_acsl__61); __gmpq_set_z(__gen_e_acsl__61, @@ -960,6 +958,8 @@ int main(void) (__e_acsl_mpq_struct const *)(__gen_e_acsl__64)); __gen_e_acsl_gt_2 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl_add_8), (__e_acsl_mpq_struct const *)(__gen_e_acsl_sub_6)); + __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_28,"a",0,a); + __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_28,"b",0,b); __gen_e_acsl_assert_data_28.blocking = 1; __gen_e_acsl_assert_data_28.kind = "Assertion"; __gen_e_acsl_assert_data_28.pred_txt = "a + b > 2. - 1."; diff --git a/src/plugins/e-acsl/tests/gmp-only/oracle/gen_extended_quantifiers.c b/src/plugins/e-acsl/tests/gmp-only/oracle/gen_extended_quantifiers.c index ec76834879dab03a1c576a90297e278f190229cb..80cf5b33238e1d610af6e7b8f916359b104e040f 100644 --- a/src/plugins/e-acsl/tests/gmp-only/oracle/gen_extended_quantifiers.c +++ b/src/plugins/e-acsl/tests/gmp-only/oracle/gen_extended_quantifiers.c @@ -57,12 +57,12 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl_one)); } } - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data, - "\\sum(2, 10, \\lambda integer k; 2 * k)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator)); __gmpz_init_set_si(__gen_e_acsl__4,108L); __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator), (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data, + "\\sum(2, 10, \\lambda integer k; 2 * k)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "\\sum(2, 10, \\lambda integer k; 2 * k) == 108"; @@ -119,11 +119,11 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl_one_2)); } } + __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_2), + (__e_acsl_mpz_struct const *)(__gen_e_acsl__6)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_2, "\\sum(1, 10, \\lambda integer k; 1)",0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_2)); - __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__6)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "Assertion"; __gen_e_acsl_assert_data_2.pred_txt = "\\sum(1, 10, \\lambda integer k; 1) == 10"; @@ -208,13 +208,13 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl_one_3)); } } + __gmpz_init_set_si(__gen_e_acsl__14,9L); + __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_3), + (__e_acsl_mpz_struct const *)(__gen_e_acsl__14)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3, "\\sum(2, 10, \\lambda integer k; k - 2 >= 0? 1: 0)", 0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_3)); - __gmpz_init_set_si(__gen_e_acsl__14,9L); - __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__14)); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "Assertion"; __gen_e_acsl_assert_data_3.pred_txt = "\\numof(2, 10, \\lambda integer k; k - 2 >= 0) == 9"; @@ -267,12 +267,12 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl_one_4)); } } - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_4, - "\\product(1, 10, \\lambda integer k; k)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_4)); __gmpz_init_set_ui(__gen_e_acsl__17,3628800UL); __gen_e_acsl_eq_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_4), (__e_acsl_mpz_struct const *)(__gen_e_acsl__17)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_4, + "\\product(1, 10, \\lambda integer k; k)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_4)); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "Assertion"; __gen_e_acsl_assert_data_4.pred_txt = "\\product(1, 10, \\lambda integer k; k) == 3628800"; @@ -327,13 +327,13 @@ int main(void) (__e_acsl_mpz_struct const *)(__gen_e_acsl_one_5)); } } + __gmpz_init_set_si(__gen_e_acsl__19,0L); + __gen_e_acsl_eq_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_5), + (__e_acsl_mpz_struct const *)(__gen_e_acsl__19)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_5, "\\product(-10, 10, \\lambda integer k; k)", 0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_5)); - __gmpz_init_set_si(__gen_e_acsl__19,0L); - __gen_e_acsl_eq_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_accumulator_5), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__19)); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "Assertion"; __gen_e_acsl_assert_data_5.pred_txt = "\\product(-10, 10, \\lambda integer k; k) == 0"; diff --git a/src/plugins/e-acsl/tests/gmp-only/oracle/gen_functions.c b/src/plugins/e-acsl/tests/gmp-only/oracle/gen_functions.c index b646036d142e3d94257bebc414cf530aa3699338..8f452ad172b58a7fb0f229306e351c8a10287f59 100644 --- a/src/plugins/e-acsl/tests/gmp-only/oracle/gen_functions.c +++ b/src/plugins/e-acsl/tests/gmp-only/oracle/gen_functions.c @@ -94,9 +94,9 @@ int main(void) { int __gen_e_acsl_p1_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_p1_2 = __gen_e_acsl_p1(x,y); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"y",0,y); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"x",0,x); - __gen_e_acsl_p1_2 = __gen_e_acsl_p1(x,y); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"p1(x, y)",0, __gen_e_acsl_p1_2); __gen_e_acsl_assert_data.blocking = 1; @@ -154,14 +154,14 @@ int main(void) int __gen_e_acsl_eq; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"y",0,y); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"x",0,x); __gen_e_acsl_f1(& __gen_e_acsl_f1_2,x,y); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_4,"f1(x, y)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_2)); __gmpz_init_set_si(__gen_e_acsl__5,3L); __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"y",0,y); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"x",0,x); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_4,"f1(x, y)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_2)); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "Assertion"; __gen_e_acsl_assert_data_4.pred_txt = "f1(x, y) == 3"; @@ -180,15 +180,15 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; __gen_e_acsl_f1(& __gen_e_acsl_f1_4,3,4); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_5,"f1(3, 4)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_4)); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"x",0,x); /*@ assert Eva: initialization: \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_f1_4); */ __gen_e_acsl_p2_6 = __gen_e_acsl_p2_3(x, (__e_acsl_mpz_struct *)__gen_e_acsl_f1_4); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_5,"f1(3, 4)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_4)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"x",0,x); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "p2(x, f1(3, 4))",0,__gen_e_acsl_p2_6); __gen_e_acsl_assert_data_5.blocking = 1; @@ -212,12 +212,12 @@ int main(void) __gmpz_init_set_str(__gen_e_acsl__6,"99999999999999999999999999999",10); __gen_e_acsl_f1_5(& __gen_e_acsl_f1_6,9, (__e_acsl_mpz_struct *)__gen_e_acsl__6); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6, - "f1(9, 99999999999999999999999999999)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_6)); __gmpz_init_set_si(__gen_e_acsl__7,0L); __gen_e_acsl_gt_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_6), (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6, + "f1(9, 99999999999999999999999999999)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_6)); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "Assertion"; __gen_e_acsl_assert_data_6.pred_txt = "f1(9, 99999999999999999999999999999) > 0"; @@ -242,13 +242,13 @@ int main(void) __gen_e_acsl_f1_7(& __gen_e_acsl_f1_8, (__e_acsl_mpz_struct *)__gen_e_acsl__8, (__e_acsl_mpz_struct *)__gen_e_acsl__8); + __gmpz_init_set_str(__gen_e_acsl__9,"199999999999999999999999999998",10); + __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_8), + (__e_acsl_mpz_struct const *)(__gen_e_acsl__9)); __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_7, "f1(99999999999999999999999999999, 99999999999999999999999999999)", 0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_8)); - __gmpz_init_set_str(__gen_e_acsl__9,"199999999999999999999999999998",10); - __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_8), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__9)); __gen_e_acsl_assert_data_7.blocking = 1; __gen_e_acsl_assert_data_7.kind = "Assertion"; __gen_e_acsl_assert_data_7.pred_txt = "f1(99999999999999999999999999999, 99999999999999999999999999999) ==\n199999999999999999999999999998"; @@ -273,15 +273,15 @@ int main(void) int __gen_e_acsl_eq_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"x",0,x); __gen_e_acsl_g_2 = __gen_e_acsl_g(x); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"g(x)",0, - __gen_e_acsl_g_2); __gmpz_init_set_si(__gen_e_acsl_app,(long)__gen_e_acsl_g_2); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"x",0,x); __gmpz_init_set_si(__gen_e_acsl_x_6,(long)x); __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_app), (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_6)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"x",0,x); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"g(x)",0, + __gen_e_acsl_g_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"x",0,x); __gen_e_acsl_assert_data_8.blocking = 1; __gen_e_acsl_assert_data_8.kind = "Assertion"; __gen_e_acsl_assert_data_8.pred_txt = "g(x) == x"; @@ -302,15 +302,15 @@ int main(void) int __gen_e_acsl_eq_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; - __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_9,"c",0,c); __gen_e_acsl_h_char_2 = __gen_e_acsl_h_char((int)c); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"h_char(c)",0, - __gen_e_acsl_h_char_2); __gmpz_init_set_si(__gen_e_acsl_app_2,(long)__gen_e_acsl_h_char_2); - __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_9,"c",0,c); __gmpz_init_set_si(__gen_e_acsl_c,(long)c); __gen_e_acsl_eq_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_app_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl_c)); + __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_9,"c",0,c); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"h_char(c)",0, + __gen_e_acsl_h_char_2); + __e_acsl_assert_register_char(& __gen_e_acsl_assert_data_9,"c",0,c); __gen_e_acsl_assert_data_9.blocking = 1; __gen_e_acsl_assert_data_9.kind = "Assertion"; __gen_e_acsl_assert_data_9.pred_txt = "h_char(c) == c"; @@ -331,15 +331,15 @@ int main(void) int __gen_e_acsl_eq_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; - __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_10,"s",0,s); __gen_e_acsl_h_short_2 = __gen_e_acsl_h_short((int)s); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"h_short(s)", - 0,__gen_e_acsl_h_short_2); __gmpz_init_set_si(__gen_e_acsl_app_3,(long)__gen_e_acsl_h_short_2); - __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_10,"s",0,s); __gmpz_init_set_si(__gen_e_acsl_s,(long)s); __gen_e_acsl_eq_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_app_3), (__e_acsl_mpz_struct const *)(__gen_e_acsl_s)); + __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_10,"s",0,s); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"h_short(s)", + 0,__gen_e_acsl_h_short_2); + __e_acsl_assert_register_short(& __gen_e_acsl_assert_data_10,"s",0,s); __gen_e_acsl_assert_data_10.blocking = 1; __gen_e_acsl_assert_data_10.kind = "Assertion"; __gen_e_acsl_assert_data_10.pred_txt = "h_short(s) == s"; @@ -361,15 +361,15 @@ int main(void) int __gen_e_acsl_eq_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; - __e_acsl_assert_register_struct(& __gen_e_acsl_assert_data_11,"m"); __gen_e_acsl_t1_2 = __gen_e_acsl_t1(m); - __e_acsl_assert_register_struct(& __gen_e_acsl_assert_data_11,"t1(m)"); __gen_e_acsl_t2(& __gen_e_acsl_t2_2,__gen_e_acsl_t1_2); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_11,"t2(t1(m))",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_t2_2)); __gmpz_init_set_si(__gen_e_acsl__12,17L); __gen_e_acsl_eq_6 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_t2_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__12)); + __e_acsl_assert_register_struct(& __gen_e_acsl_assert_data_11,"m"); + __e_acsl_assert_register_struct(& __gen_e_acsl_assert_data_11,"t1(m)"); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_11,"t2(t1(m))",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_t2_2)); __gen_e_acsl_assert_data_11.blocking = 1; __gen_e_acsl_assert_data_11.kind = "Assertion"; __gen_e_acsl_assert_data_11.pred_txt = "t2(t1(m)) == 17"; @@ -391,16 +391,16 @@ int main(void) int __gen_e_acsl_gt_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; - __e_acsl_assert_register_double(& __gen_e_acsl_assert_data_12,"d",d); __gen_e_acsl_f2_2 = __gen_e_acsl_f2(d); - __e_acsl_assert_register_double(& __gen_e_acsl_assert_data_12,"f2(d)", - __gen_e_acsl_f2_2); __gmpq_init(__gen_e_acsl__15); __gmpq_set_str(__gen_e_acsl__15,"0",10); __gmpq_init(__gen_e_acsl__16); __gmpq_set_d(__gen_e_acsl__16,__gen_e_acsl_f2_2); __gen_e_acsl_gt_5 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__16), (__e_acsl_mpq_struct const *)(__gen_e_acsl__15)); + __e_acsl_assert_register_double(& __gen_e_acsl_assert_data_12,"d",d); + __e_acsl_assert_register_double(& __gen_e_acsl_assert_data_12,"f2(d)", + __gen_e_acsl_f2_2); __gen_e_acsl_assert_data_12.blocking = 1; __gen_e_acsl_assert_data_12.kind = "Assertion"; __gen_e_acsl_assert_data_12.pred_txt = "f2(d) > 0"; @@ -424,8 +424,8 @@ void __gen_e_acsl_k(int x) { int __gen_e_acsl_k_pred_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"x",0,x); __gen_e_acsl_k_pred_2 = __gen_e_acsl_k_pred(x); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"x",0,x); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"k_pred(x)",0, __gen_e_acsl_k_pred_2); __gen_e_acsl_assert_data.blocking = 1; diff --git a/src/plugins/e-acsl/tests/libc/oracle/file.res.oracle b/src/plugins/e-acsl/tests/libc/oracle/file.res.oracle index bc1fe3214785cbd7905db2d44612085eecb00e38..dcd42b67a10845b242b3d33bc79d63462e68f10f 100644 --- a/src/plugins/e-acsl/tests/libc/oracle/file.res.oracle +++ b/src/plugins/e-acsl/tests/libc/oracle/file.res.oracle @@ -22,6 +22,8 @@ [e-acsl] translation done in project "e-acsl". [eva:alarm] file.c:12: Warning: function __gen_e_acsl_fread: precondition 'valid_stream' got status unknown. +[eva:alarm] FRAMAC_SHARE/libc/stdio.h:351: Warning: + function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] FRAMAC_SHARE/libc/stdio.h:351: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. @@ -34,8 +36,6 @@ [eva:alarm] FRAMAC_SHARE/libc/stdio.h:351: Warning: function __e_acsl_assert_register_mpz: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/stdio.h:351: Warning: - function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] FRAMAC_SHARE/libc/stdio.h:352: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -52,6 +52,8 @@ [eva:alarm] FRAMAC_SHARE/libc/stdio.h:356: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] FRAMAC_SHARE/libc/stdio.h:357: Warning: + function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] FRAMAC_SHARE/libc/stdio.h:357: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. @@ -64,8 +66,6 @@ [eva:alarm] FRAMAC_SHARE/libc/stdio.h:357: Warning: function __e_acsl_assert_register_mpz: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] FRAMAC_SHARE/libc/stdio.h:357: Warning: - function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] FRAMAC_SHARE/libc/stdio.h:357: Warning: function __gen_e_acsl_fread: postcondition 'initialization' got status unknown. [eva:alarm] file.c:13: Warning: diff --git a/src/plugins/e-acsl/tests/libc/oracle/gen_file.c b/src/plugins/e-acsl/tests/libc/oracle/gen_file.c index 8cbed47e6d6eca93a65082a59423d309ade3ac47..aaa3f35613589b8db7363d21ca537aaa5d25ad0f 100644 --- a/src/plugins/e-acsl/tests/libc/oracle/gen_file.c +++ b/src/plugins/e-acsl/tests/libc/oracle/gen_file.c @@ -87,16 +87,8 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); __gen_e_acsl_at_3 = nmemb; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"ptr",ptr); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, - 1); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, - 1); __gmpz_init_set_si(__gen_e_acsl_sizeof,1L); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"nmemb",0, - nmemb); __gmpz_init_set_ui(__gen_e_acsl_nmemb,nmemb); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"size",0,size); __gmpz_init_set_ui(__gen_e_acsl_size_3,size); __gmpz_init(__gen_e_acsl_mul); __gmpz_mul(__gen_e_acsl_mul, @@ -122,8 +114,6 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, (__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); __gmpz_init_set(__gen_e_acsl_size_2, (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_2)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); if (__gen_e_acsl_le <= 0) { @@ -133,21 +123,14 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, (__e_acsl_mpz_struct const *)(__gen_e_acsl__3)); __gmpz_clear(__gen_e_acsl__3); } - else { - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); - __gmpz_init_set(__gen_e_acsl_if, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); - } + else __gmpz_init_set(__gen_e_acsl_if, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_2, - "__gen_e_acsl_if",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __gmpz_init_set_ui(__gen_e_acsl__4,18446744073709551615UL); __gen_e_acsl_le_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_if), (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data, + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_2, "__gen_e_acsl_if",0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __gen_e_acsl_assert_data_2.blocking = 1; @@ -163,6 +146,21 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gen_e_acsl_valid = __e_acsl_valid((void *)((char *)ptr + 1 * 0), __gen_e_acsl_size_4,ptr, (void *)(& ptr)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"ptr",ptr); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, + 1); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, + 1); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"nmemb",0, + nmemb); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"size",0,size); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data, + "__gen_e_acsl_if",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "valid_ptr_block: \\valid((char *)ptr + (0 .. nmemb * size - 1))", 0,__gen_e_acsl_valid); @@ -177,12 +175,12 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)stream,sizeof(FILE), + (void *)stream,(void *)(& stream)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"stream", (void *)stream); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(FILE)",0,sizeof(FILE)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)stream,sizeof(FILE), - (void *)stream,(void *)(& stream)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(stream)",0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_3.blocking = 1; @@ -219,11 +217,7 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, unsigned long __gen_e_acsl_size_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"__retres",0, - __retres); __gmpz_init_set_ui(__gen_e_acsl___retres,__retres); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, - size); __gmpz_init_set_ui(__gen_e_acsl_size_5,size); __gmpz_init(__gen_e_acsl_mul_3); __gmpz_mul(__gen_e_acsl_mul_3, @@ -232,6 +226,10 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gmpz_init_set_ui(__gen_e_acsl__5,18446744073709551615UL); __gen_e_acsl_le_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_3), (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"__retres",0, + __retres); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, + size); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "__retres * size <= 18446744073709551615"; @@ -283,19 +281,8 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\old(ptr)", - __gen_e_acsl_at); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)", - 0,1); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)", - 0,1); __gmpz_init_set_si(__gen_e_acsl_sizeof_2,1L); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6,"\\result",0, - __retres); __gmpz_init_set_ui(__gen_e_acsl_result,__retres); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"\\old(size)", - 0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); __gmpz_init(__gen_e_acsl_mul_4); __gmpz_mul(__gen_e_acsl_mul_4, (__e_acsl_mpz_struct const *)(__gen_e_acsl_result), @@ -320,8 +307,6 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2)); __gmpz_init_set(__gen_e_acsl_size_7, (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_5)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); __gen_e_acsl_le_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7), (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); if (__gen_e_acsl_le_4 <= 0) { @@ -331,21 +316,14 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, (__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); __gmpz_clear(__gen_e_acsl__8); } - else { - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); - __gmpz_init_set(__gen_e_acsl_if_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); - } + else __gmpz_init_set(__gen_e_acsl_if_2, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_7, - "__gen_e_acsl_if_2",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2)); __gmpz_init_set_ui(__gen_e_acsl__9,18446744073709551615UL); __gen_e_acsl_le_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__9)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6, + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_7, "__gen_e_acsl_if_2",0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2)); __gen_e_acsl_assert_data_7.blocking = 1; @@ -361,6 +339,24 @@ size_t __gen_e_acsl_fread(void * restrict ptr, size_t size, size_t nmemb, __gen_e_acsl_initialized = __e_acsl_initialized((void *)((char *)__gen_e_acsl_at + 1 * 0), __gen_e_acsl_size_8); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"\\old(ptr)", + __gen_e_acsl_at); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)", + 0,1); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(char)", + 0,1); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6,"\\result",0, + __retres); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"\\old(size)", + 0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6,"size",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_7)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_6, + "__gen_e_acsl_if_2",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "initialization:\n \\initialized((char *)\\old(ptr) + (0 .. \\result * \\old(size) - 1))", 0,__gen_e_acsl_initialized); @@ -450,12 +446,12 @@ int main(void) { int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(buf), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"(int *)buf", (void *)(buf)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(buf), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized((int *)buf)",0, __gen_e_acsl_initialized); @@ -474,12 +470,12 @@ int main(void) int __gen_e_acsl_initialized_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& buf[1]), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&buf[1]", (void *)(& buf[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& buf[1]), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&buf[1])",0, __gen_e_acsl_initialized_2); @@ -500,12 +496,12 @@ int main(void) int __gen_e_acsl_initialized_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& buf[1]), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&buf[1]", (void *)(& buf[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& buf[1]), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&buf[1])",0, __gen_e_acsl_initialized_3); @@ -526,12 +522,12 @@ int main(void) int __gen_e_acsl_initialized_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& buf[2]), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&buf[2]", (void *)(& buf[2])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& buf[2]), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&buf[2])",0, __gen_e_acsl_initialized_4); @@ -552,12 +548,12 @@ int main(void) int __gen_e_acsl_initialized_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& buf[3]), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&buf[3]", (void *)(& buf[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& buf[3]), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&buf[3])",0, __gen_e_acsl_initialized_5); @@ -578,12 +574,12 @@ int main(void) int __gen_e_acsl_initialized_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& buf[4]), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&buf[4]", (void *)(& buf[4])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& buf[4]), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&buf[4])",0, __gen_e_acsl_initialized_6); @@ -603,12 +599,12 @@ int main(void) int __gen_e_acsl_initialized_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& buf[5]), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&buf[5]", (void *)(& buf[5])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& buf[5]), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized(&buf[5])",0, __gen_e_acsl_initialized_7); @@ -628,12 +624,12 @@ int main(void) int __gen_e_acsl_initialized_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(buf2), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"(int *)buf2", (void *)(buf2)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(buf2), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized((int *)buf2)",0, __gen_e_acsl_initialized_8); @@ -654,24 +650,22 @@ int main(void) int __gen_e_acsl_initialized_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_size = 4 * ((4 - 1) + 1); + if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; + else __gen_e_acsl_if = __gen_e_acsl_size; + __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)((char *)(buf2) + + 4 * 1), + (size_t)__gen_e_acsl_if); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"(int *)buf2", (void *)(buf2)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"sizeof(int)", 0,4); - __gen_e_acsl_size = 4 * ((4 - 1) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, __gen_e_acsl_size); - if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } - __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)((char *)(buf2) + - 4 * 1), - (size_t)__gen_e_acsl_if); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, + __gen_e_acsl_size); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(&buf2[1 .. 4])",0, __gen_e_acsl_initialized_9); @@ -689,12 +683,12 @@ int main(void) int __gen_e_acsl_initialized_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& buf2[5]), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"&buf2[5]", (void *)(& buf2[5])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& buf2[5]), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\initialized(&buf2[5])",0, __gen_e_acsl_initialized_10); diff --git a/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c b/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c index f78bba294659ffb2db1e47567a96b450b71a65e1..9dcfda774c490f2b6e89ec4769a2c9f5fa6b67f1 100644 --- a/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c +++ b/src/plugins/e-acsl/tests/libc/oracle/gen_mem.c @@ -64,11 +64,11 @@ int main(void) { int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(a),sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"(char *)a", (void *)(a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(char)", 0,sizeof(char)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(a),sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized((char *)a)",0, __gen_e_acsl_initialized); @@ -86,12 +86,12 @@ int main(void) int __gen_e_acsl_initialized_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& a[1]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&a[1]", (void *)(& a[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& a[1]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&a[1])",0, __gen_e_acsl_initialized_2); @@ -111,12 +111,12 @@ int main(void) int __gen_e_acsl_initialized_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& a[1]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&a[1]", (void *)(& a[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& a[1]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&a[1])",0, __gen_e_acsl_initialized_3); @@ -135,12 +135,12 @@ int main(void) int __gen_e_acsl_initialized_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(b), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"(int *)b", (void *)(b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(b), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized((int *)b)",0, __gen_e_acsl_initialized_4); @@ -159,12 +159,12 @@ int main(void) int __gen_e_acsl_initialized_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& b[1]), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&b[1]", (void *)(& b[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& b[1]), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&b[1])",0, __gen_e_acsl_initialized_5); @@ -185,24 +185,22 @@ int main(void) int __gen_e_acsl_initialized_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_size = 4 * ((3 - 2) + 1); + if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; + else __gen_e_acsl_if = __gen_e_acsl_size; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)((char *)(b) + + 4 * 2), + (size_t)__gen_e_acsl_if); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"(int *)b", (void *)(b)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(int)", 0,4); - __gen_e_acsl_size = 4 * ((3 - 2) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, __gen_e_acsl_size); - if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)((char *)(b) + - 4 * 2), - (size_t)__gen_e_acsl_if); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, + __gen_e_acsl_size); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&b[2 .. 3])",0, __gen_e_acsl_initialized_6); @@ -220,12 +218,12 @@ int main(void) int __gen_e_acsl_initialized_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& b[4]), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&b[4]", (void *)(& b[4])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& b[4]), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized(&b[4])",0, __gen_e_acsl_initialized_7); @@ -245,12 +243,12 @@ int main(void) int __gen_e_acsl_initialized_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(c), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"(char *)c", (void *)(c)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(c), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized((char *)c)",0, __gen_e_acsl_initialized_8); @@ -271,23 +269,21 @@ int main(void) int __gen_e_acsl_initialized_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_size_2 = 1 * ((2 - 1) + 1); + if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; + else __gen_e_acsl_if_2 = __gen_e_acsl_size_2; + __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(c + 1 * 1), + (size_t)__gen_e_acsl_if_2); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"(char *)c", (void *)(c)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"sizeof(char)", 0,1); - __gen_e_acsl_size_2 = 1 * ((2 - 1) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, __gen_e_acsl_size_2); - if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, - __gen_e_acsl_size_2); - __gen_e_acsl_if_2 = __gen_e_acsl_size_2; - } - __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(c + 1 * 1), - (size_t)__gen_e_acsl_if_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, + __gen_e_acsl_size_2); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(&c[1 .. 2])",0, __gen_e_acsl_initialized_9); @@ -305,12 +301,12 @@ int main(void) int __gen_e_acsl_initialized_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& c[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"&c[3]", (void *)(& c[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& c[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\initialized(&c[3])",0, __gen_e_acsl_initialized_10); @@ -332,23 +328,21 @@ int main(void) int __gen_e_acsl_initialized_11; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; + __gen_e_acsl_size_3 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; + else __gen_e_acsl_if_3 = __gen_e_acsl_size_3; + __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(c + 1 * 0), + (size_t)__gen_e_acsl_if_3); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"(char *)c", (void *)(c)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "sizeof(char)",0,1); - __gen_e_acsl_size_3 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, __gen_e_acsl_size_3); - if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, - __gen_e_acsl_size_3); - __gen_e_acsl_if_3 = __gen_e_acsl_size_3; - } - __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(c + 1 * 0), - (size_t)__gen_e_acsl_if_3); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, + __gen_e_acsl_size_3); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "\\initialized(&c[0 .. 2])",0, __gen_e_acsl_initialized_11); @@ -367,12 +361,12 @@ int main(void) int __gen_e_acsl_initialized_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& c[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"&c[3]", (void *)(& c[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& c[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "\\initialized(&c[3])",0, __gen_e_acsl_initialized_12); @@ -523,12 +517,6 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"dest",dest); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"sizeof(char)", - 0,1); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"sizeof(char)", - 0,1); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"n",0,n); __gmpz_init_set_ui(__gen_e_acsl_n,n); __gmpz_init_set_si(__gen_e_acsl_,1L); __gmpz_init(__gen_e_acsl_sub); @@ -546,18 +534,22 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); __gen_e_acsl__3 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); __gen_e_acsl_size = 1UL * __gen_e_acsl__3; - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, - __gen_e_acsl_size); if (__gen_e_acsl_size <= 0UL) __gen_e_acsl_if = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } + else __gen_e_acsl_if = __gen_e_acsl_size; __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)((char *)dest + 1 * 0), __gen_e_acsl_if,dest, (void *)(& dest)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"dest",dest); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"sizeof(char)", + 0,1); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"sizeof(char)", + 0,1); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"n",0,n); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, + __gen_e_acsl_size); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, + __gen_e_acsl_size); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read((char *)dest + (0 .. n - 1))"; @@ -569,6 +561,15 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl__4 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gen_e_acsl_size_2 = 1UL * __gen_e_acsl__4; + if (__gen_e_acsl_size_2 <= 0UL) __gen_e_acsl_if_2 = 0UL; + else __gen_e_acsl_if_2 = __gen_e_acsl_size_2; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)((char *)src + + 1 * 0), + __gen_e_acsl_if_2, + (void *)src, + (void *)(& src)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"src", (void *)src); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"sizeof(char)", @@ -576,21 +577,10 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"sizeof(char)", 0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"n",0,n); - __gen_e_acsl__4 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gen_e_acsl_size_2 = 1UL * __gen_e_acsl__4; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"size",0, __gen_e_acsl_size_2); - if (__gen_e_acsl_size_2 <= 0UL) __gen_e_acsl_if_2 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"size",0, - __gen_e_acsl_size_2); - __gen_e_acsl_if_2 = __gen_e_acsl_size_2; - } - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)((char *)src + - 1 * 0), - __gen_e_acsl_if_2, - (void *)src, - (void *)(& src)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"size",0, + __gen_e_acsl_size_2); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "RTE"; __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read((char *)src + (0 .. n - 1))"; @@ -600,22 +590,28 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __gen_e_acsl_assert_data_5.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); + __gen_e_acsl__5 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gen_e_acsl_size_3 = 1UL * __gen_e_acsl__5; + if (__gen_e_acsl_size_3 <= 0UL) __gen_e_acsl_if_3 = 0UL; + else __gen_e_acsl_if_3 = __gen_e_acsl_size_3; + __gen_e_acsl__6 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gen_e_acsl_size_4 = 1UL * __gen_e_acsl__6; + if (__gen_e_acsl_size_4 <= 0UL) __gen_e_acsl_if_4 = 0UL; + else __gen_e_acsl_if_4 = __gen_e_acsl_size_4; + __gen_e_acsl_separated = __e_acsl_separated(2UL,(char *)dest + 1 * 0, + __gen_e_acsl_if_3, + (char *)src + 1 * 0, + __gen_e_acsl_if_4); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"dest",dest); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(char)", 0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"n",0,n); - __gen_e_acsl__5 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gen_e_acsl_size_3 = 1UL * __gen_e_acsl__5; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, __gen_e_acsl_size_3); - if (__gen_e_acsl_size_3 <= 0UL) __gen_e_acsl_if_3 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, - __gen_e_acsl_size_3); - __gen_e_acsl_if_3 = __gen_e_acsl_size_3; - } + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, + __gen_e_acsl_size_3); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"src", (void *)src); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(char)", @@ -623,20 +619,10 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(char)", 0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"n",0,n); - __gen_e_acsl__6 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gen_e_acsl_size_4 = 1UL * __gen_e_acsl__6; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, __gen_e_acsl_size_4); - if (__gen_e_acsl_size_4 <= 0UL) __gen_e_acsl_if_4 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, - __gen_e_acsl_size_4); - __gen_e_acsl_if_4 = __gen_e_acsl_size_4; - } - __gen_e_acsl_separated = __e_acsl_separated(2UL,(char *)dest + 1 * 0, - __gen_e_acsl_if_3, - (char *)src + 1 * 0, - __gen_e_acsl_if_4); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, + __gen_e_acsl_size_4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "separation:\n \\separated((char *)dest + (0 .. n - 1), (char *)src + (0 .. n - 1))", 0,__gen_e_acsl_separated); diff --git a/src/plugins/e-acsl/tests/libc/oracle/gen_sprintf.c b/src/plugins/e-acsl/tests/libc/oracle/gen_sprintf.c index 90bc6d701d2386251fbd84799ee19877e6e3f16b..e3d34b84027bbffb3683358e03d62ddbffa1f9cc 100644 --- a/src/plugins/e-acsl/tests/libc/oracle/gen_sprintf.c +++ b/src/plugins/e-acsl/tests/libc/oracle/gen_sprintf.c @@ -39,23 +39,21 @@ int main(void) int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_size = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; + else __gen_e_acsl_if = __gen_e_acsl_size; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(buf + 1 * 0), + (size_t)__gen_e_acsl_if); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"(char *)buf", (void *)(buf)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)", 0,1); - __gen_e_acsl_size = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, __gen_e_acsl_size); - if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(buf + 1 * 0), - (size_t)__gen_e_acsl_if); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, + __gen_e_acsl_size); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&buf[0 .. 3])",0, __gen_e_acsl_initialized); @@ -78,23 +76,21 @@ int main(void) int __gen_e_acsl_initialized_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_size_2 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; + else __gen_e_acsl_if_2 = __gen_e_acsl_size_2; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(buf + 1 * 0), + (size_t)__gen_e_acsl_if_2); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, "(char *)buf",(void *)(buf)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,1); - __gen_e_acsl_size_2 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, __gen_e_acsl_size_2); - if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, - __gen_e_acsl_size_2); - __gen_e_acsl_if_2 = __gen_e_acsl_size_2; - } - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(buf + 1 * 0), - (size_t)__gen_e_acsl_if_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, + __gen_e_acsl_size_2); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&buf[0 .. 2])",0, __gen_e_acsl_initialized_2); @@ -113,12 +109,12 @@ int main(void) int __gen_e_acsl_initialized_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& buf[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&buf[3]", (void *)(& buf[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& buf[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&buf[3])",0, __gen_e_acsl_initialized_3); @@ -144,24 +140,22 @@ int main(void) int __gen_e_acsl_initialized_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_size_3 = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; + else __gen_e_acsl_if_3 = __gen_e_acsl_size_3; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(buf_0 + + 1 * 0), + (size_t)__gen_e_acsl_if_3); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "(char *)buf_0",(void *)(buf_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,1); - __gen_e_acsl_size_3 = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, __gen_e_acsl_size_3); - if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, - __gen_e_acsl_size_3); - __gen_e_acsl_if_3 = __gen_e_acsl_size_3; - } - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(buf_0 + - 1 * 0), - (size_t)__gen_e_acsl_if_3); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, + __gen_e_acsl_size_3); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&buf_0[0 .. 3])",0, __gen_e_acsl_initialized_4); @@ -190,24 +184,22 @@ int main(void) int __gen_e_acsl_initialized_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_size_4 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; + else __gen_e_acsl_if_4 = __gen_e_acsl_size_4; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(buf_0 + + 1 * 0), + (size_t)__gen_e_acsl_if_4); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, "(char *)buf_0",(void *)(buf_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "sizeof(char)",0,1); - __gen_e_acsl_size_4 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, __gen_e_acsl_size_4); - if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, - __gen_e_acsl_size_4); - __gen_e_acsl_if_4 = __gen_e_acsl_size_4; - } - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(buf_0 + - 1 * 0), - (size_t)__gen_e_acsl_if_4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, + __gen_e_acsl_size_4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&buf_0[0 .. 1])",0, __gen_e_acsl_initialized_5); @@ -228,24 +220,22 @@ int main(void) int __gen_e_acsl_initialized_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_size_5 = 1 * ((3 - 2) + 1); + if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; + else __gen_e_acsl_if_5 = __gen_e_acsl_size_5; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(buf_0 + + 1 * 2), + (size_t)__gen_e_acsl_if_5); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, "(char *)buf_0",(void *)(buf_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "sizeof(char)",0,1); - __gen_e_acsl_size_5 = 1 * ((3 - 2) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, __gen_e_acsl_size_5); - if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, - __gen_e_acsl_size_5); - __gen_e_acsl_if_5 = __gen_e_acsl_size_5; - } - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(buf_0 + - 1 * 2), - (size_t)__gen_e_acsl_if_5); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, + __gen_e_acsl_size_5); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&buf_0[2 .. 3])",0, __gen_e_acsl_initialized_6); @@ -271,24 +261,22 @@ int main(void) int __gen_e_acsl_initialized_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_size_6 = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; + else __gen_e_acsl_if_6 = __gen_e_acsl_size_6; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(buf_1 + + 1 * 0), + (size_t)__gen_e_acsl_if_6); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, "(char *)buf_1",(void *)(buf_1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "sizeof(char)",0,1); - __gen_e_acsl_size_6 = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"size",0, __gen_e_acsl_size_6); - if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"size",0, - __gen_e_acsl_size_6); - __gen_e_acsl_if_6 = __gen_e_acsl_size_6; - } - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(buf_1 + - 1 * 0), - (size_t)__gen_e_acsl_if_6); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"size",0, + __gen_e_acsl_size_6); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized(&buf_1[0 .. 3])",0, __gen_e_acsl_initialized_7); @@ -317,24 +305,22 @@ int main(void) int __gen_e_acsl_initialized_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_size_7 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_7 <= 0) __gen_e_acsl_if_7 = 0; + else __gen_e_acsl_if_7 = __gen_e_acsl_size_7; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(buf_1 + + 1 * 0), + (size_t)__gen_e_acsl_if_7); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8, "(char *)buf_1",(void *)(buf_1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "sizeof(char)",0,1); - __gen_e_acsl_size_7 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, __gen_e_acsl_size_7); - if (__gen_e_acsl_size_7 <= 0) __gen_e_acsl_if_7 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, - __gen_e_acsl_size_7); - __gen_e_acsl_if_7 = __gen_e_acsl_size_7; - } - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(buf_1 + - 1 * 0), - (size_t)__gen_e_acsl_if_7); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, + __gen_e_acsl_size_7); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized(&buf_1[0 .. 2])",0, __gen_e_acsl_initialized_8); @@ -353,12 +339,12 @@ int main(void) int __gen_e_acsl_initialized_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(& buf_1[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"&buf_1[3]", (void *)(& buf_1[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(& buf_1[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(&buf_1[3])",0, __gen_e_acsl_initialized_9); diff --git a/src/plugins/e-acsl/tests/libc/oracle/gen_str.c b/src/plugins/e-acsl/tests/libc/oracle/gen_str.c index 4099d75571071fa1f029b4126b1d90dce33cc243..a5d1886ef79481511e4c18743d1fde8748523264 100644 --- a/src/plugins/e-acsl/tests/libc/oracle/gen_str.c +++ b/src/plugins/e-acsl/tests/libc/oracle/gen_str.c @@ -172,14 +172,8 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src, unsigned long __gen_e_acsl_size; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, - "__gen_e_acsl_strcat_src_size",0, - __gen_e_acsl_strcat_src_size); __gmpz_init_set_ui(__gen_e_acsl___gen_e_acsl_strcat_src_size, __gen_e_acsl_strcat_src_size); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, - "__gen_e_acsl_strcat_dest_size",0, - __gen_e_acsl_strcat_dest_size); __gmpz_init_set_ui(__gen_e_acsl___gen_e_acsl_strcat_dest_size, __gen_e_acsl_strcat_dest_size); __gmpz_init(__gen_e_acsl_add); @@ -194,6 +188,12 @@ char *__gen_e_acsl_strncat(char * restrict dest, char const * restrict src, __gmpz_init_set_ui(__gen_e_acsl__2,18446744073709551615UL); __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, + "__gen_e_acsl_strcat_src_size",0, + __gen_e_acsl_strcat_src_size); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, + "__gen_e_acsl_strcat_dest_size",0, + __gen_e_acsl_strcat_dest_size); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "RTE"; __gen_e_acsl_assert_data_5.pred_txt = "(__gen_e_acsl_strcat_src_size + __gen_e_acsl_strcat_dest_size) + 1 <=\n18446744073709551615"; @@ -276,14 +276,8 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src) unsigned long __gen_e_acsl_size; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, - "__gen_e_acsl_strcat_src_size",0, - __gen_e_acsl_strcat_src_size); __gmpz_init_set_ui(__gen_e_acsl___gen_e_acsl_strcat_src_size, __gen_e_acsl_strcat_src_size); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, - "__gen_e_acsl_strcat_dest_size",0, - __gen_e_acsl_strcat_dest_size); __gmpz_init_set_ui(__gen_e_acsl___gen_e_acsl_strcat_dest_size, __gen_e_acsl_strcat_dest_size); __gmpz_init(__gen_e_acsl_add); @@ -298,6 +292,12 @@ char *__gen_e_acsl_strcat(char * restrict dest, char const * restrict src) __gmpz_init_set_ui(__gen_e_acsl__2,18446744073709551615UL); __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, + "__gen_e_acsl_strcat_src_size",0, + __gen_e_acsl_strcat_src_size); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, + "__gen_e_acsl_strcat_dest_size",0, + __gen_e_acsl_strcat_dest_size); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "(__gen_e_acsl_strcat_src_size + __gen_e_acsl_strcat_dest_size) + 1 <=\n18446744073709551615"; @@ -398,13 +398,6 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_contract = __e_acsl_contract_init(2UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"dest", - (void *)dest); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"sizeof(char)", - 0,1); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"sizeof(char)", - 0,1); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,"n",0,n); __gmpz_init_set_ui(__gen_e_acsl_n_2,n); __gmpz_init_set_si(__gen_e_acsl_,1L); __gmpz_init(__gen_e_acsl_sub); @@ -422,17 +415,22 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); __gen_e_acsl__3 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); __gen_e_acsl_size = 1UL * __gen_e_acsl__3; - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,"size",0, - __gen_e_acsl_size); if (__gen_e_acsl_size <= 0UL) __gen_e_acsl_if = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } + else __gen_e_acsl_if = __gen_e_acsl_size; __gen_e_acsl_valid = __e_acsl_valid((void *)(dest + 1 * 0), __gen_e_acsl_if,(void *)dest, (void *)(& dest)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"dest", + (void *)dest); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"sizeof(char)", + 0,1); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"sizeof(char)", + 0,1); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,"n",0,n); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,"size",0, + __gen_e_acsl_size); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2,"size",0, + __gen_e_acsl_size); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "room_nstring: \\valid(dest + (0 .. n - 1))", 0,__gen_e_acsl_valid); @@ -449,6 +447,14 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl__4 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gen_e_acsl_size_2 = 1UL * __gen_e_acsl__4; + if (__gen_e_acsl_size_2 <= 0UL) __gen_e_acsl_if_2 = 0UL; + else __gen_e_acsl_if_2 = __gen_e_acsl_size_2; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(dest + 1 * 0), + __gen_e_acsl_if_2, + (void *)dest, + (void *)(& dest)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"dest", (void *)dest); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"sizeof(char)", @@ -456,20 +462,10 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"sizeof(char)", 0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"n",0,n); - __gen_e_acsl__4 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gen_e_acsl_size_2 = 1UL * __gen_e_acsl__4; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, __gen_e_acsl_size_2); - if (__gen_e_acsl_size_2 <= 0UL) __gen_e_acsl_if_2 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, - __gen_e_acsl_size_2); - __gen_e_acsl_if_2 = __gen_e_acsl_size_2; - } - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(dest + 1 * 0), - __gen_e_acsl_if_2, - (void *)dest, - (void *)(& dest)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, + __gen_e_acsl_size_2); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(dest + (0 .. n - 1))"; @@ -481,6 +477,14 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl__5 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gen_e_acsl_size_3 = 1UL * __gen_e_acsl__5; + if (__gen_e_acsl_size_3 <= 0UL) __gen_e_acsl_if_3 = 0UL; + else __gen_e_acsl_if_3 = __gen_e_acsl_size_3; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(src + 1 * 0), + __gen_e_acsl_if_3, + (void *)src, + (void *)(& src)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"src", (void *)src); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, @@ -488,20 +492,10 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "sizeof(char const)",0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"n",0,n); - __gen_e_acsl__5 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gen_e_acsl_size_3 = 1UL * __gen_e_acsl__5; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"size",0, __gen_e_acsl_size_3); - if (__gen_e_acsl_size_3 <= 0UL) __gen_e_acsl_if_3 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"size",0, - __gen_e_acsl_size_3); - __gen_e_acsl_if_3 = __gen_e_acsl_size_3; - } - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(src + 1 * 0), - __gen_e_acsl_if_3, - (void *)src, - (void *)(& src)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"size",0, + __gen_e_acsl_size_3); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "RTE"; __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(src + (0 .. n - 1))"; @@ -511,6 +505,18 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __gen_e_acsl_assert_data_5.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); + __gen_e_acsl__6 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gen_e_acsl_size_4 = 1UL * __gen_e_acsl__6; + if (__gen_e_acsl_size_4 <= 0UL) __gen_e_acsl_if_4 = 0UL; + else __gen_e_acsl_if_4 = __gen_e_acsl_size_4; + __gen_e_acsl__7 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gen_e_acsl_size_5 = 1UL * __gen_e_acsl__7; + if (__gen_e_acsl_size_5 <= 0UL) __gen_e_acsl_if_5 = 0UL; + else __gen_e_acsl_if_5 = __gen_e_acsl_size_5; + __gen_e_acsl_separated = __e_acsl_separated(2UL,dest + 1 * 0, + __gen_e_acsl_if_4, + src + 1 * 0, + __gen_e_acsl_if_5); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"dest", (void *)dest); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(char)", @@ -518,16 +524,10 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(char)", 0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"n",0,n); - __gen_e_acsl__6 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gen_e_acsl_size_4 = 1UL * __gen_e_acsl__6; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, __gen_e_acsl_size_4); - if (__gen_e_acsl_size_4 <= 0UL) __gen_e_acsl_if_4 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, - __gen_e_acsl_size_4); - __gen_e_acsl_if_4 = __gen_e_acsl_size_4; - } + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, + __gen_e_acsl_size_4); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"src", (void *)src); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, @@ -535,20 +535,10 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "sizeof(char const)",0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"n",0,n); - __gen_e_acsl__7 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gen_e_acsl_size_5 = 1UL * __gen_e_acsl__7; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, __gen_e_acsl_size_5); - if (__gen_e_acsl_size_5 <= 0UL) __gen_e_acsl_if_5 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, - __gen_e_acsl_size_5); - __gen_e_acsl_if_5 = __gen_e_acsl_size_5; - } - __gen_e_acsl_separated = __e_acsl_separated(2UL,dest + 1 * 0, - __gen_e_acsl_if_4, - src + 1 * 0, - __gen_e_acsl_if_5); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, + __gen_e_acsl_size_5); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "separation: \\separated(dest + (0 .. n - 1), src + (0 .. n - 1))", 0,__gen_e_acsl_separated); @@ -598,14 +588,6 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"\\old(dest)", - (void *)__gen_e_acsl_at); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)", - 0,1); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)", - 0,1); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_7,"\\old(n)",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); __gmpz_init_set_si(__gen_e_acsl__8,1L); __gmpz_init(__gen_e_acsl_sub_3); __gmpz_sub(__gen_e_acsl_sub_3, @@ -622,17 +604,23 @@ char *__gen_e_acsl_strncpy(char * restrict dest, char const * restrict src, (__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); __gen_e_acsl__10 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2)); __gen_e_acsl_size_6 = 1UL * __gen_e_acsl__10; - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,"size",0, - __gen_e_acsl_size_6); if (__gen_e_acsl_size_6 <= 0UL) __gen_e_acsl_if_6 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,"size",0, - __gen_e_acsl_size_6); - __gen_e_acsl_if_6 = __gen_e_acsl_size_6; - } + else __gen_e_acsl_if_6 = __gen_e_acsl_size_6; __gen_e_acsl_initialized = __e_acsl_initialized((void *)(__gen_e_acsl_at + 1 * 0), __gen_e_acsl_if_6); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"\\old(dest)", + (void *)__gen_e_acsl_at); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)", + 0,1); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(char)", + 0,1); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_7,"\\old(n)",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,"size",0, + __gen_e_acsl_size_6); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7,"size",0, + __gen_e_acsl_size_6); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "initialization: \\initialized(\\old(dest) + (0 .. \\old(n) - 1))", 0,__gen_e_acsl_initialized); @@ -689,9 +677,6 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src) unsigned long __gen_e_acsl_size; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, - "__gen_e_acsl_strcpy_src_size",0, - __gen_e_acsl_strcpy_src_size); __gmpz_init_set_ui(__gen_e_acsl___gen_e_acsl_strcpy_src_size, __gen_e_acsl_strcpy_src_size); __gmpz_init_set_si(__gen_e_acsl_,1L); @@ -702,6 +687,9 @@ char *__gen_e_acsl_strcpy(char * restrict dest, char const * restrict src) __gmpz_init_set_ui(__gen_e_acsl__2,18446744073709551615UL); __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add), (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, + "__gen_e_acsl_strcpy_src_size",0, + __gen_e_acsl_strcpy_src_size); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "RTE"; __gen_e_acsl_assert_data_6.pred_txt = "__gen_e_acsl_strcpy_src_size + 1 <= 18446744073709551615"; @@ -770,23 +758,21 @@ int main(void) int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_size = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; + else __gen_e_acsl_if = __gen_e_acsl_size; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(dest + 1 * 0), + (size_t)__gen_e_acsl_if); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"(char *)dest", (void *)(dest)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)", 0,1); - __gen_e_acsl_size = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, __gen_e_acsl_size); - if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(dest + 1 * 0), - (size_t)__gen_e_acsl_if); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, + __gen_e_acsl_size); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&dest[0 .. 3])",0, __gen_e_acsl_initialized); @@ -806,23 +792,21 @@ int main(void) int __gen_e_acsl_initialized_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_size_2 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; + else __gen_e_acsl_if_2 = __gen_e_acsl_size_2; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(src + 1 * 0), + (size_t)__gen_e_acsl_if_2); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, "(char *)src",(void *)(src)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,1); - __gen_e_acsl_size_2 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, __gen_e_acsl_size_2); - if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, - __gen_e_acsl_size_2); - __gen_e_acsl_if_2 = __gen_e_acsl_size_2; - } - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(src + 1 * 0), - (size_t)__gen_e_acsl_if_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"size",0, + __gen_e_acsl_size_2); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&src[0 .. 1])",0, __gen_e_acsl_initialized_2); @@ -844,23 +828,21 @@ int main(void) int __gen_e_acsl_initialized_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_size_3 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; + else __gen_e_acsl_if_3 = __gen_e_acsl_size_3; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(dest + 1 * 0), + (size_t)__gen_e_acsl_if_3); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "(char *)dest",(void *)(dest)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,1); - __gen_e_acsl_size_3 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"size",0, __gen_e_acsl_size_3); - if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"size",0, - __gen_e_acsl_size_3); - __gen_e_acsl_if_3 = __gen_e_acsl_size_3; - } - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(dest + 1 * 0), - (size_t)__gen_e_acsl_if_3); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"size",0, + __gen_e_acsl_size_3); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&dest[0 .. 1])",0, __gen_e_acsl_initialized_3); @@ -881,23 +863,21 @@ int main(void) int __gen_e_acsl_initialized_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_size_4 = 1 * ((3 - 2) + 1); + if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; + else __gen_e_acsl_if_4 = __gen_e_acsl_size_4; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(dest + 1 * 2), + (size_t)__gen_e_acsl_if_4); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "(char *)dest",(void *)(dest)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,1); - __gen_e_acsl_size_4 = 1 * ((3 - 2) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, __gen_e_acsl_size_4); - if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, - __gen_e_acsl_size_4); - __gen_e_acsl_if_4 = __gen_e_acsl_size_4; - } - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(dest + 1 * 2), - (size_t)__gen_e_acsl_if_4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, + __gen_e_acsl_size_4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&dest[2 .. 3])",0, __gen_e_acsl_initialized_4); @@ -927,24 +907,22 @@ int main(void) int __gen_e_acsl_initialized_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_size_5 = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; + else __gen_e_acsl_if_5 = __gen_e_acsl_size_5; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(dest_0 + + 1 * 0), + (size_t)__gen_e_acsl_if_5); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, "(char *)dest_0",(void *)(dest_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "sizeof(char)",0,1); - __gen_e_acsl_size_5 = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, __gen_e_acsl_size_5); - if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, - __gen_e_acsl_size_5); - __gen_e_acsl_if_5 = __gen_e_acsl_size_5; - } - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(dest_0 + - 1 * 0), - (size_t)__gen_e_acsl_if_5); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, + __gen_e_acsl_size_5); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&dest_0[0 .. 3])",0, __gen_e_acsl_initialized_5); @@ -965,24 +943,22 @@ int main(void) int __gen_e_acsl_initialized_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_size_6 = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; + else __gen_e_acsl_if_6 = __gen_e_acsl_size_6; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(src_0 + + 1 * 0), + (size_t)__gen_e_acsl_if_6); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, "(char *)src_0",(void *)(src_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "sizeof(char)",0,1); - __gen_e_acsl_size_6 = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, __gen_e_acsl_size_6); - if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, - __gen_e_acsl_size_6); - __gen_e_acsl_if_6 = __gen_e_acsl_size_6; - } - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(src_0 + - 1 * 0), - (size_t)__gen_e_acsl_if_6); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, + __gen_e_acsl_size_6); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&src_0[0 .. 3])",0, __gen_e_acsl_initialized_6); @@ -1002,12 +978,12 @@ int main(void) int __gen_e_acsl_initialized_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(dest_0), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, "(char *)dest_0",(void *)(dest_0)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(dest_0), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized((char *)dest_0)",0, __gen_e_acsl_initialized_7); @@ -1028,24 +1004,22 @@ int main(void) int __gen_e_acsl_initialized_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_size_7 = 1 * ((3 - 1) + 1); + if (__gen_e_acsl_size_7 <= 0) __gen_e_acsl_if_7 = 0; + else __gen_e_acsl_if_7 = __gen_e_acsl_size_7; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(dest_0 + + 1 * 1), + (size_t)__gen_e_acsl_if_7); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8, "(char *)dest_0",(void *)(dest_0)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "sizeof(char)",0,1); - __gen_e_acsl_size_7 = 1 * ((3 - 1) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, __gen_e_acsl_size_7); - if (__gen_e_acsl_size_7 <= 0) __gen_e_acsl_if_7 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, - __gen_e_acsl_size_7); - __gen_e_acsl_if_7 = __gen_e_acsl_size_7; - } - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(dest_0 + - 1 * 1), - (size_t)__gen_e_acsl_if_7); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, + __gen_e_acsl_size_7); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized(&dest_0[1 .. 3])",0, __gen_e_acsl_initialized_8); @@ -1075,24 +1049,22 @@ int main(void) int __gen_e_acsl_initialized_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_size_8 = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size_8 <= 0) __gen_e_acsl_if_8 = 0; + else __gen_e_acsl_if_8 = __gen_e_acsl_size_8; + __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(dest_1 + + 1 * 0), + (size_t)__gen_e_acsl_if_8); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, "(char *)dest_1",(void *)(dest_1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "sizeof(char)",0,1); - __gen_e_acsl_size_8 = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, __gen_e_acsl_size_8); - if (__gen_e_acsl_size_8 <= 0) __gen_e_acsl_if_8 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, - __gen_e_acsl_size_8); - __gen_e_acsl_if_8 = __gen_e_acsl_size_8; - } - __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(dest_1 + - 1 * 0), - (size_t)__gen_e_acsl_if_8); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, + __gen_e_acsl_size_8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(&dest_1[0 .. 3])",0, __gen_e_acsl_initialized_9); @@ -1113,24 +1085,22 @@ int main(void) int __gen_e_acsl_initialized_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_size_9 = 1 * ((3 - 0) + 1); + if (__gen_e_acsl_size_9 <= 0) __gen_e_acsl_if_9 = 0; + else __gen_e_acsl_if_9 = __gen_e_acsl_size_9; + __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(src_1 + + 1 * 0), + (size_t)__gen_e_acsl_if_9); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10, "(char *)src_1",(void *)(src_1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "sizeof(char)",0,1); - __gen_e_acsl_size_9 = 1 * ((3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, __gen_e_acsl_size_9); - if (__gen_e_acsl_size_9 <= 0) __gen_e_acsl_if_9 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, - __gen_e_acsl_size_9); - __gen_e_acsl_if_9 = __gen_e_acsl_size_9; - } - __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(src_1 + - 1 * 0), - (size_t)__gen_e_acsl_if_9); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, + __gen_e_acsl_size_9); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\initialized(&src_1[0 .. 3])",0, __gen_e_acsl_initialized_10); @@ -1152,24 +1122,22 @@ int main(void) int __gen_e_acsl_initialized_11; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; + __gen_e_acsl_size_10 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_10 <= 0) __gen_e_acsl_if_10 = 0; + else __gen_e_acsl_if_10 = __gen_e_acsl_size_10; + __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(dest_1 + + 1 * 0), + (size_t)__gen_e_acsl_if_10); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11, "(char *)dest_1",(void *)(dest_1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "sizeof(char)",0,1); - __gen_e_acsl_size_10 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, __gen_e_acsl_size_10); - if (__gen_e_acsl_size_10 <= 0) __gen_e_acsl_if_10 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, - __gen_e_acsl_size_10); - __gen_e_acsl_if_10 = __gen_e_acsl_size_10; - } - __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(dest_1 + - 1 * 0), - (size_t)__gen_e_acsl_if_10); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, + __gen_e_acsl_size_10); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "\\initialized(&dest_1[0 .. 2])",0, __gen_e_acsl_initialized_11); @@ -1188,12 +1156,12 @@ int main(void) int __gen_e_acsl_initialized_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& dest_1[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12, "&dest_1[3]",(void *)(& dest_1[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& dest_1[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "\\initialized(&dest_1[3])",0, __gen_e_acsl_initialized_12); @@ -1224,24 +1192,22 @@ int main(void) int __gen_e_acsl_initialized_13; __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 = {.values = (void *)0}; + __gen_e_acsl_size_11 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_11 <= 0) __gen_e_acsl_if_11 = 0; + else __gen_e_acsl_if_11 = __gen_e_acsl_size_11; + __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)(dest_2 + + 1 * 0), + (size_t)__gen_e_acsl_if_11); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13, "(char *)dest_2",(void *)(dest_2)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "sizeof(char)",0,1); - __gen_e_acsl_size_11 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"size",0, __gen_e_acsl_size_11); - if (__gen_e_acsl_size_11 <= 0) __gen_e_acsl_if_11 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"size",0, - __gen_e_acsl_size_11); - __gen_e_acsl_if_11 = __gen_e_acsl_size_11; - } - __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)(dest_2 + - 1 * 0), - (size_t)__gen_e_acsl_if_11); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"size",0, + __gen_e_acsl_size_11); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "\\initialized(&dest_2[0 .. 1])",0, __gen_e_acsl_initialized_13); @@ -1262,24 +1228,22 @@ int main(void) int __gen_e_acsl_initialized_14; __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 = {.values = (void *)0}; + __gen_e_acsl_size_12 = 1 * ((3 - 2) + 1); + if (__gen_e_acsl_size_12 <= 0) __gen_e_acsl_if_12 = 0; + else __gen_e_acsl_if_12 = __gen_e_acsl_size_12; + __gen_e_acsl_initialized_14 = __e_acsl_initialized((void *)(dest_2 + + 1 * 2), + (size_t)__gen_e_acsl_if_12); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14, "(char *)dest_2",(void *)(dest_2)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14, "sizeof(char)",0,1); - __gen_e_acsl_size_12 = 1 * ((3 - 2) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"size",0, __gen_e_acsl_size_12); - if (__gen_e_acsl_size_12 <= 0) __gen_e_acsl_if_12 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"size",0, - __gen_e_acsl_size_12); - __gen_e_acsl_if_12 = __gen_e_acsl_size_12; - } - __gen_e_acsl_initialized_14 = __e_acsl_initialized((void *)(dest_2 + - 1 * 2), - (size_t)__gen_e_acsl_if_12); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"size",0, + __gen_e_acsl_size_12); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14, "\\initialized(&dest_2[2 .. 3])",0, __gen_e_acsl_initialized_14); @@ -1300,24 +1264,22 @@ int main(void) int __gen_e_acsl_initialized_15; __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 = {.values = (void *)0}; + __gen_e_acsl_size_13 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_13 <= 0) __gen_e_acsl_if_13 = 0; + else __gen_e_acsl_if_13 = __gen_e_acsl_size_13; + __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)(src_2 + + 1 * 0), + (size_t)__gen_e_acsl_if_13); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15, "(char *)src_2",(void *)(src_2)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15, "sizeof(char)",0,1); - __gen_e_acsl_size_13 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"size",0, __gen_e_acsl_size_13); - if (__gen_e_acsl_size_13 <= 0) __gen_e_acsl_if_13 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"size",0, - __gen_e_acsl_size_13); - __gen_e_acsl_if_13 = __gen_e_acsl_size_13; - } - __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)(src_2 + - 1 * 0), - (size_t)__gen_e_acsl_if_13); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"size",0, + __gen_e_acsl_size_13); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15, "\\initialized(&src_2[0 .. 1])",0, __gen_e_acsl_initialized_15); @@ -1339,24 +1301,22 @@ int main(void) int __gen_e_acsl_initialized_16; __e_acsl_assert_data_t __gen_e_acsl_assert_data_16 = {.values = (void *)0}; + __gen_e_acsl_size_14 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_14 <= 0) __gen_e_acsl_if_14 = 0; + else __gen_e_acsl_if_14 = __gen_e_acsl_size_14; + __gen_e_acsl_initialized_16 = __e_acsl_initialized((void *)(dest_2 + + 1 * 0), + (size_t)__gen_e_acsl_if_14); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16, "(char *)dest_2",(void *)(dest_2)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16, "sizeof(char)",0,1); - __gen_e_acsl_size_14 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"size",0, __gen_e_acsl_size_14); - if (__gen_e_acsl_size_14 <= 0) __gen_e_acsl_if_14 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"size",0, - __gen_e_acsl_size_14); - __gen_e_acsl_if_14 = __gen_e_acsl_size_14; - } - __gen_e_acsl_initialized_16 = __e_acsl_initialized((void *)(dest_2 + - 1 * 0), - (size_t)__gen_e_acsl_if_14); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"size",0, + __gen_e_acsl_size_14); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16, "\\initialized(&dest_2[0 .. 2])",0, __gen_e_acsl_initialized_16); @@ -1375,12 +1335,12 @@ int main(void) int __gen_e_acsl_initialized_17; __e_acsl_assert_data_t __gen_e_acsl_assert_data_17 = {.values = (void *)0}; + __gen_e_acsl_initialized_17 = __e_acsl_initialized((void *)(& dest_2[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17, "&dest_2[3]",(void *)(& dest_2[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_17, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_17 = __e_acsl_initialized((void *)(& dest_2[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17, "\\initialized(&dest_2[3])",0, __gen_e_acsl_initialized_17); @@ -1411,24 +1371,22 @@ int main(void) int __gen_e_acsl_initialized_18; __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 = {.values = (void *)0}; + __gen_e_acsl_size_15 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_15 <= 0) __gen_e_acsl_if_15 = 0; + else __gen_e_acsl_if_15 = __gen_e_acsl_size_15; + __gen_e_acsl_initialized_18 = __e_acsl_initialized((void *)(dest_3 + + 1 * 0), + (size_t)__gen_e_acsl_if_15); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18, "(char *)dest_3",(void *)(dest_3)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18, "sizeof(char)",0,1); - __gen_e_acsl_size_15 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18,"size",0, __gen_e_acsl_size_15); - if (__gen_e_acsl_size_15 <= 0) __gen_e_acsl_if_15 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18,"size",0, - __gen_e_acsl_size_15); - __gen_e_acsl_if_15 = __gen_e_acsl_size_15; - } - __gen_e_acsl_initialized_18 = __e_acsl_initialized((void *)(dest_3 + - 1 * 0), - (size_t)__gen_e_acsl_if_15); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18,"size",0, + __gen_e_acsl_size_15); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18, "\\initialized(&dest_3[0 .. 1])",0, __gen_e_acsl_initialized_18); @@ -1449,24 +1407,22 @@ int main(void) int __gen_e_acsl_initialized_19; __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 = {.values = (void *)0}; + __gen_e_acsl_size_16 = 1 * ((3 - 2) + 1); + if (__gen_e_acsl_size_16 <= 0) __gen_e_acsl_if_16 = 0; + else __gen_e_acsl_if_16 = __gen_e_acsl_size_16; + __gen_e_acsl_initialized_19 = __e_acsl_initialized((void *)(dest_3 + + 1 * 2), + (size_t)__gen_e_acsl_if_16); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_19, "(char *)dest_3",(void *)(dest_3)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19, "sizeof(char)",0,1); - __gen_e_acsl_size_16 = 1 * ((3 - 2) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19,"size",0, __gen_e_acsl_size_16); - if (__gen_e_acsl_size_16 <= 0) __gen_e_acsl_if_16 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19,"size",0, - __gen_e_acsl_size_16); - __gen_e_acsl_if_16 = __gen_e_acsl_size_16; - } - __gen_e_acsl_initialized_19 = __e_acsl_initialized((void *)(dest_3 + - 1 * 2), - (size_t)__gen_e_acsl_if_16); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19,"size",0, + __gen_e_acsl_size_16); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19, "\\initialized(&dest_3[2 .. 3])",0, __gen_e_acsl_initialized_19); @@ -1487,24 +1443,22 @@ int main(void) int __gen_e_acsl_initialized_20; __e_acsl_assert_data_t __gen_e_acsl_assert_data_20 = {.values = (void *)0}; + __gen_e_acsl_size_17 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_17 <= 0) __gen_e_acsl_if_17 = 0; + else __gen_e_acsl_if_17 = __gen_e_acsl_size_17; + __gen_e_acsl_initialized_20 = __e_acsl_initialized((void *)(src_3 + + 1 * 0), + (size_t)__gen_e_acsl_if_17); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_20, "(char *)src_3",(void *)(src_3)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20, "sizeof(char)",0,1); - __gen_e_acsl_size_17 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20,"size",0, __gen_e_acsl_size_17); - if (__gen_e_acsl_size_17 <= 0) __gen_e_acsl_if_17 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20,"size",0, - __gen_e_acsl_size_17); - __gen_e_acsl_if_17 = __gen_e_acsl_size_17; - } - __gen_e_acsl_initialized_20 = __e_acsl_initialized((void *)(src_3 + - 1 * 0), - (size_t)__gen_e_acsl_if_17); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20,"size",0, + __gen_e_acsl_size_17); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20, "\\initialized(&src_3[0 .. 2])",0, __gen_e_acsl_initialized_20); @@ -1526,24 +1480,22 @@ int main(void) int __gen_e_acsl_initialized_21; __e_acsl_assert_data_t __gen_e_acsl_assert_data_21 = {.values = (void *)0}; + __gen_e_acsl_size_18 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_18 <= 0) __gen_e_acsl_if_18 = 0; + else __gen_e_acsl_if_18 = __gen_e_acsl_size_18; + __gen_e_acsl_initialized_21 = __e_acsl_initialized((void *)(dest_3 + + 1 * 0), + (size_t)__gen_e_acsl_if_18); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_21, "(char *)dest_3",(void *)(dest_3)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_21, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_21, "sizeof(char)",0,1); - __gen_e_acsl_size_18 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_21,"size",0, __gen_e_acsl_size_18); - if (__gen_e_acsl_size_18 <= 0) __gen_e_acsl_if_18 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_21,"size",0, - __gen_e_acsl_size_18); - __gen_e_acsl_if_18 = __gen_e_acsl_size_18; - } - __gen_e_acsl_initialized_21 = __e_acsl_initialized((void *)(dest_3 + - 1 * 0), - (size_t)__gen_e_acsl_if_18); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_21,"size",0, + __gen_e_acsl_size_18); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_21, "\\initialized(&dest_3[0 .. 2])",0, __gen_e_acsl_initialized_21); @@ -1562,12 +1514,12 @@ int main(void) int __gen_e_acsl_initialized_22; __e_acsl_assert_data_t __gen_e_acsl_assert_data_22 = {.values = (void *)0}; + __gen_e_acsl_initialized_22 = __e_acsl_initialized((void *)(& dest_3[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_22, "&dest_3[3]",(void *)(& dest_3[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_22, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_22 = __e_acsl_initialized((void *)(& dest_3[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22, "\\initialized(&dest_3[3])",0, __gen_e_acsl_initialized_22); @@ -1598,24 +1550,22 @@ int main(void) int __gen_e_acsl_initialized_23; __e_acsl_assert_data_t __gen_e_acsl_assert_data_23 = {.values = (void *)0}; + __gen_e_acsl_size_19 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_19 <= 0) __gen_e_acsl_if_19 = 0; + else __gen_e_acsl_if_19 = __gen_e_acsl_size_19; + __gen_e_acsl_initialized_23 = __e_acsl_initialized((void *)(dest_4 + + 1 * 0), + (size_t)__gen_e_acsl_if_19); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_23, "(char *)dest_4",(void *)(dest_4)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_23, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_23, "sizeof(char)",0,1); - __gen_e_acsl_size_19 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_23,"size",0, __gen_e_acsl_size_19); - if (__gen_e_acsl_size_19 <= 0) __gen_e_acsl_if_19 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_23,"size",0, - __gen_e_acsl_size_19); - __gen_e_acsl_if_19 = __gen_e_acsl_size_19; - } - __gen_e_acsl_initialized_23 = __e_acsl_initialized((void *)(dest_4 + - 1 * 0), - (size_t)__gen_e_acsl_if_19); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_23,"size",0, + __gen_e_acsl_size_19); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_23, "\\initialized(&dest_4[0 .. 1])",0, __gen_e_acsl_initialized_23); @@ -1636,24 +1586,22 @@ int main(void) int __gen_e_acsl_initialized_24; __e_acsl_assert_data_t __gen_e_acsl_assert_data_24 = {.values = (void *)0}; + __gen_e_acsl_size_20 = 1 * ((3 - 2) + 1); + if (__gen_e_acsl_size_20 <= 0) __gen_e_acsl_if_20 = 0; + else __gen_e_acsl_if_20 = __gen_e_acsl_size_20; + __gen_e_acsl_initialized_24 = __e_acsl_initialized((void *)(dest_4 + + 1 * 2), + (size_t)__gen_e_acsl_if_20); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_24, "(char *)dest_4",(void *)(dest_4)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24, "sizeof(char)",0,1); - __gen_e_acsl_size_20 = 1 * ((3 - 2) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24,"size",0, __gen_e_acsl_size_20); - if (__gen_e_acsl_size_20 <= 0) __gen_e_acsl_if_20 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24,"size",0, - __gen_e_acsl_size_20); - __gen_e_acsl_if_20 = __gen_e_acsl_size_20; - } - __gen_e_acsl_initialized_24 = __e_acsl_initialized((void *)(dest_4 + - 1 * 2), - (size_t)__gen_e_acsl_if_20); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24,"size",0, + __gen_e_acsl_size_20); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24, "\\initialized(&dest_4[2 .. 3])",0, __gen_e_acsl_initialized_24); @@ -1674,24 +1622,22 @@ int main(void) int __gen_e_acsl_initialized_25; __e_acsl_assert_data_t __gen_e_acsl_assert_data_25 = {.values = (void *)0}; + __gen_e_acsl_size_21 = 1 * ((1 - 0) + 1); + if (__gen_e_acsl_size_21 <= 0) __gen_e_acsl_if_21 = 0; + else __gen_e_acsl_if_21 = __gen_e_acsl_size_21; + __gen_e_acsl_initialized_25 = __e_acsl_initialized((void *)(src_4 + + 1 * 0), + (size_t)__gen_e_acsl_if_21); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_25, "(char *)src_4",(void *)(src_4)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25, "sizeof(char)",0,1); - __gen_e_acsl_size_21 = 1 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25,"size",0, __gen_e_acsl_size_21); - if (__gen_e_acsl_size_21 <= 0) __gen_e_acsl_if_21 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25,"size",0, - __gen_e_acsl_size_21); - __gen_e_acsl_if_21 = __gen_e_acsl_size_21; - } - __gen_e_acsl_initialized_25 = __e_acsl_initialized((void *)(src_4 + - 1 * 0), - (size_t)__gen_e_acsl_if_21); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25,"size",0, + __gen_e_acsl_size_21); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25, "\\initialized(&src_4[0 .. 1])",0, __gen_e_acsl_initialized_25); @@ -1713,24 +1659,22 @@ int main(void) int __gen_e_acsl_initialized_26; __e_acsl_assert_data_t __gen_e_acsl_assert_data_26 = {.values = (void *)0}; + __gen_e_acsl_size_22 = 1 * ((2 - 0) + 1); + if (__gen_e_acsl_size_22 <= 0) __gen_e_acsl_if_22 = 0; + else __gen_e_acsl_if_22 = __gen_e_acsl_size_22; + __gen_e_acsl_initialized_26 = __e_acsl_initialized((void *)(dest_4 + + 1 * 0), + (size_t)__gen_e_acsl_if_22); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_26, "(char *)dest_4",(void *)(dest_4)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26, "sizeof(char)",0,1); - __gen_e_acsl_size_22 = 1 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26,"size",0, __gen_e_acsl_size_22); - if (__gen_e_acsl_size_22 <= 0) __gen_e_acsl_if_22 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26,"size",0, - __gen_e_acsl_size_22); - __gen_e_acsl_if_22 = __gen_e_acsl_size_22; - } - __gen_e_acsl_initialized_26 = __e_acsl_initialized((void *)(dest_4 + - 1 * 0), - (size_t)__gen_e_acsl_if_22); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26,"size",0, + __gen_e_acsl_size_22); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26, "\\initialized(&dest_4[0 .. 2])",0, __gen_e_acsl_initialized_26); @@ -1749,12 +1693,12 @@ int main(void) int __gen_e_acsl_initialized_27; __e_acsl_assert_data_t __gen_e_acsl_assert_data_27 = {.values = (void *)0}; + __gen_e_acsl_initialized_27 = __e_acsl_initialized((void *)(& dest_4[3]), + sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_27, "&dest_4[3]",(void *)(& dest_4[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_27, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized_27 = __e_acsl_initialized((void *)(& dest_4[3]), - sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27, "\\initialized(&dest_4[3])",0, __gen_e_acsl_initialized_27); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_addrOf.c b/src/plugins/e-acsl/tests/memory/oracle/gen_addrOf.c index 355e8753d49eedf6596f852854d2d581941a3ac7..dbc6723dee45dc67402169b7c80a454e390b03dd 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_addrOf.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_addrOf.c @@ -25,10 +25,10 @@ void f(void) { int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(p)",0, __gen_e_acsl_initialized); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_alias.c b/src/plugins/e-acsl/tests/memory/oracle/gen_alias.c index 2581ae7200fe864d0d81e98bc3940267389330d4..22f967c20107d4570635f67aa1bc14c7b033319c 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_alias.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_alias.c @@ -31,12 +31,12 @@ int main(void) { int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& i), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&i", (void *)(& i)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& i), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&i)",0, __gen_e_acsl_initialized); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_array_overflow.c b/src/plugins/e-acsl/tests/memory/oracle/gen_array_overflow.c index 75cb5f6b3252ca0299b5061d6a5f0a80bb000208..d1dd6fa8e5eebd113a4043356a9eaaab78f71278 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_array_overflow.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_array_overflow.c @@ -36,12 +36,12 @@ int main(void) { int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(& a[4]),sizeof(int), + (void *)(a),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&a[4]", (void *)(& a[4])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(& a[4]),sizeof(int), - (void *)(a),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(&a[4])", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -62,15 +62,15 @@ int main(void) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& (*((int (*)[])ap))[4]), + sizeof(int), + (void *)(*((int (*)[])ap)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, "&(*((int (*)[])ap))[4]", (void *)(& (*((int (*)[])ap))[4])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& (*((int (*)[])ap))[4]), - sizeof(int), - (void *)(*((int (*)[])ap)), - (void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(&(*((int (*)[])ap))[4])",0, __gen_e_acsl_valid_2); @@ -97,12 +97,12 @@ int main(void) int __gen_e_acsl_valid_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)(& d.arr[4]),sizeof(int), + (void *)(& d.arr[0]),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&d.arr[4]", (void *)(& d.arr[4])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)(& d.arr[4]),sizeof(int), - (void *)(& d.arr[0]),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(&d.arr[4])",0,__gen_e_acsl_valid_3); __gen_e_acsl_assert_data_3.blocking = 1; @@ -119,15 +119,15 @@ int main(void) int __gen_e_acsl_valid_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(& (d2.p[1])->arr[2]), + sizeof(int), + (void *)(& (d2.p[1])->arr[0]), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "&(d2.p[1])->arr[2]", (void *)(& (d2.p[1])->arr[2])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(& (d2.p[1])->arr[2]), - sizeof(int), - (void *)(& (d2.p[1])->arr[0]), - (void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(&(d2.p[1])->arr[2])",0, __gen_e_acsl_valid_4); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_base_addr.c b/src/plugins/e-acsl/tests/memory/oracle/gen_base_addr.c index c5fc859be534c74efe40f000927549b587545c4c..fec26fec44f57bdbc7cbda8406b675f41ac8127b 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_base_addr.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_base_addr.c @@ -44,10 +44,10 @@ int main(void) void *__gen_e_acsl_base_addr_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; __gen_e_acsl_base_addr = __e_acsl_base_addr((void *)(A)); + __gen_e_acsl_base_addr_2 = __e_acsl_base_addr((void *)(& A)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data, "\\base_addr((int *)A)", __gen_e_acsl_base_addr); - __gen_e_acsl_base_addr_2 = __e_acsl_base_addr((void *)(& A)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data, "\\base_addr(&A)",__gen_e_acsl_base_addr_2); __gen_e_acsl_assert_data.blocking = 1; @@ -67,10 +67,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; __gen_e_acsl_base_addr_3 = __e_acsl_base_addr((void *)(A)); + __gen_e_acsl_base_addr_4 = __e_acsl_base_addr((void *)PA); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, "\\base_addr((int *)A)", __gen_e_acsl_base_addr_3); - __gen_e_acsl_base_addr_4 = __e_acsl_base_addr((void *)PA); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, "\\base_addr(PA)",__gen_e_acsl_base_addr_4); __gen_e_acsl_assert_data_2.blocking = 1; @@ -90,10 +90,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; __gen_e_acsl_base_addr_5 = __e_acsl_base_addr((void *)(& A[3])); + __gen_e_acsl_base_addr_6 = __e_acsl_base_addr((void *)PA); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "\\base_addr(&A[3])", __gen_e_acsl_base_addr_5); - __gen_e_acsl_base_addr_6 = __e_acsl_base_addr((void *)PA); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "\\base_addr(PA)",__gen_e_acsl_base_addr_6); __gen_e_acsl_assert_data_3.blocking = 1; @@ -114,9 +114,9 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; __gen_e_acsl_base_addr_7 = __e_acsl_base_addr((void *)PA); + __gen_e_acsl_base_addr_8 = __e_acsl_base_addr((void *)(A)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "\\base_addr(PA)",__gen_e_acsl_base_addr_7); - __gen_e_acsl_base_addr_8 = __e_acsl_base_addr((void *)(A)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "\\base_addr((int *)A)", __gen_e_acsl_base_addr_8); @@ -137,10 +137,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; __gen_e_acsl_base_addr_9 = __e_acsl_base_addr((void *)(PA + 2)); + __gen_e_acsl_base_addr_10 = __e_acsl_base_addr((void *)(& A[3])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, "\\base_addr(PA + 2)", __gen_e_acsl_base_addr_9); - __gen_e_acsl_base_addr_10 = __e_acsl_base_addr((void *)(& A[3])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, "\\base_addr(&A[3])", __gen_e_acsl_base_addr_10); @@ -166,10 +166,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; __gen_e_acsl_base_addr_11 = __e_acsl_base_addr((void *)(a)); + __gen_e_acsl_base_addr_12 = __e_acsl_base_addr((void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, "\\base_addr((int *)a)", __gen_e_acsl_base_addr_11); - __gen_e_acsl_base_addr_12 = __e_acsl_base_addr((void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, "\\base_addr(&a)",__gen_e_acsl_base_addr_12); __gen_e_acsl_assert_data_6.blocking = 1; @@ -189,10 +189,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; __gen_e_acsl_base_addr_13 = __e_acsl_base_addr((void *)(a)); + __gen_e_acsl_base_addr_14 = __e_acsl_base_addr((void *)pa); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, "\\base_addr((int *)a)", __gen_e_acsl_base_addr_13); - __gen_e_acsl_base_addr_14 = __e_acsl_base_addr((void *)pa); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, "\\base_addr(pa)",__gen_e_acsl_base_addr_14); __gen_e_acsl_assert_data_7.blocking = 1; @@ -212,10 +212,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; __gen_e_acsl_base_addr_15 = __e_acsl_base_addr((void *)(& a[3])); + __gen_e_acsl_base_addr_16 = __e_acsl_base_addr((void *)pa); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8, "\\base_addr(&a[3])", __gen_e_acsl_base_addr_15); - __gen_e_acsl_base_addr_16 = __e_acsl_base_addr((void *)pa); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8, "\\base_addr(pa)",__gen_e_acsl_base_addr_16); __gen_e_acsl_assert_data_8.blocking = 1; @@ -237,9 +237,9 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; __gen_e_acsl_base_addr_17 = __e_acsl_base_addr((void *)pa); + __gen_e_acsl_base_addr_18 = __e_acsl_base_addr((void *)(a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, "\\base_addr(pa)",__gen_e_acsl_base_addr_17); - __gen_e_acsl_base_addr_18 = __e_acsl_base_addr((void *)(a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, "\\base_addr((int *)a)", __gen_e_acsl_base_addr_18); @@ -260,10 +260,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; __gen_e_acsl_base_addr_19 = __e_acsl_base_addr((void *)(pa + 2)); + __gen_e_acsl_base_addr_20 = __e_acsl_base_addr((void *)(a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10, "\\base_addr(pa + 2)", __gen_e_acsl_base_addr_19); - __gen_e_acsl_base_addr_20 = __e_acsl_base_addr((void *)(a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10, "\\base_addr((int *)a)", __gen_e_acsl_base_addr_20); @@ -290,9 +290,9 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; __gen_e_acsl_base_addr_21 = __e_acsl_base_addr((void *)(& l)); + __gen_e_acsl_base_addr_22 = __e_acsl_base_addr((void *)pl); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11, "\\base_addr(&l)",__gen_e_acsl_base_addr_21); - __gen_e_acsl_base_addr_22 = __e_acsl_base_addr((void *)pl); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11, "\\base_addr(pl)",__gen_e_acsl_base_addr_22); __gen_e_acsl_assert_data_11.blocking = 1; @@ -312,10 +312,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; __gen_e_acsl_base_addr_23 = __e_acsl_base_addr((void *)(pl + 2)); + __gen_e_acsl_base_addr_24 = __e_acsl_base_addr((void *)(& l)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12, "\\base_addr(pl + 2)", __gen_e_acsl_base_addr_23); - __gen_e_acsl_base_addr_24 = __e_acsl_base_addr((void *)(& l)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12, "\\base_addr(&l)",__gen_e_acsl_base_addr_24); __gen_e_acsl_assert_data_12.blocking = 1; @@ -342,9 +342,9 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 = {.values = (void *)0}; __gen_e_acsl_base_addr_25 = __e_acsl_base_addr((void *)pi); + __gen_e_acsl_base_addr_26 = __e_acsl_base_addr((void *)pl); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13, "\\base_addr(pi)",__gen_e_acsl_base_addr_25); - __gen_e_acsl_base_addr_26 = __e_acsl_base_addr((void *)pl); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13, "\\base_addr(pl)",__gen_e_acsl_base_addr_26); __gen_e_acsl_assert_data_13.blocking = 1; @@ -364,9 +364,9 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 = {.values = (void *)0}; __gen_e_acsl_base_addr_27 = __e_acsl_base_addr((void *)pl); + __gen_e_acsl_base_addr_28 = __e_acsl_base_addr((void *)(& l)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14, "\\base_addr(pl)",__gen_e_acsl_base_addr_27); - __gen_e_acsl_base_addr_28 = __e_acsl_base_addr((void *)(& l)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14, "\\base_addr(&l)",__gen_e_acsl_base_addr_28); __gen_e_acsl_assert_data_14.blocking = 1; @@ -392,9 +392,9 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 = {.values = (void *)0}; __gen_e_acsl_base_addr_29 = __e_acsl_base_addr((void *)p); + __gen_e_acsl_base_addr_30 = __e_acsl_base_addr((void *)pd); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15, "\\base_addr(p)",__gen_e_acsl_base_addr_29); - __gen_e_acsl_base_addr_30 = __e_acsl_base_addr((void *)pd); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15, "\\base_addr(pd)",__gen_e_acsl_base_addr_30); __gen_e_acsl_assert_data_15.blocking = 1; @@ -414,10 +414,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_16 = {.values = (void *)0}; __gen_e_acsl_base_addr_31 = __e_acsl_base_addr((void *)(p + 1)); + __gen_e_acsl_base_addr_32 = __e_acsl_base_addr((void *)(pd + 5)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16, "\\base_addr(p + 1)", __gen_e_acsl_base_addr_31); - __gen_e_acsl_base_addr_32 = __e_acsl_base_addr((void *)(pd + 5)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16, "\\base_addr(pd + 5)", __gen_e_acsl_base_addr_32); @@ -438,10 +438,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_17 = {.values = (void *)0}; __gen_e_acsl_base_addr_33 = __e_acsl_base_addr((void *)(p + 11)); + __gen_e_acsl_base_addr_34 = __e_acsl_base_addr((void *)(pd + 1)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17, "\\base_addr(p + 11)", __gen_e_acsl_base_addr_33); - __gen_e_acsl_base_addr_34 = __e_acsl_base_addr((void *)(pd + 1)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17, "\\base_addr(pd + 1)", __gen_e_acsl_base_addr_34); @@ -464,10 +464,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 = {.values = (void *)0}; __gen_e_acsl_base_addr_35 = __e_acsl_base_addr((void *)(p + 5)); + __gen_e_acsl_base_addr_36 = __e_acsl_base_addr((void *)pd); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18, "\\base_addr(p + 5)", __gen_e_acsl_base_addr_35); - __gen_e_acsl_base_addr_36 = __e_acsl_base_addr((void *)pd); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18, "\\base_addr(pd)",__gen_e_acsl_base_addr_36); __gen_e_acsl_assert_data_18.blocking = 1; @@ -487,10 +487,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 = {.values = (void *)0}; __gen_e_acsl_base_addr_37 = __e_acsl_base_addr((void *)(p - 5)); + __gen_e_acsl_base_addr_38 = __e_acsl_base_addr((void *)pd); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_19, "\\base_addr(p - 5)", __gen_e_acsl_base_addr_37); - __gen_e_acsl_base_addr_38 = __e_acsl_base_addr((void *)pd); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_19, "\\base_addr(pd)",__gen_e_acsl_base_addr_38); __gen_e_acsl_assert_data_19.blocking = 1; @@ -516,9 +516,9 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_20 = {.values = (void *)0}; __gen_e_acsl_base_addr_39 = __e_acsl_base_addr((void *)q); + __gen_e_acsl_base_addr_40 = __e_acsl_base_addr((void *)qd); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_20, "\\base_addr(q)",__gen_e_acsl_base_addr_39); - __gen_e_acsl_base_addr_40 = __e_acsl_base_addr((void *)qd); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_20, "\\base_addr(qd)",__gen_e_acsl_base_addr_40); __gen_e_acsl_assert_data_20.blocking = 1; @@ -540,9 +540,9 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_21 = {.values = (void *)0}; __gen_e_acsl_base_addr_41 = __e_acsl_base_addr((void *)q); + __gen_e_acsl_base_addr_42 = __e_acsl_base_addr((void *)qd); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_21, "\\base_addr(q)",__gen_e_acsl_base_addr_41); - __gen_e_acsl_base_addr_42 = __e_acsl_base_addr((void *)qd); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_21, "\\base_addr(qd)",__gen_e_acsl_base_addr_42); __gen_e_acsl_assert_data_21.blocking = 1; @@ -564,9 +564,9 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_22 = {.values = (void *)0}; __gen_e_acsl_base_addr_43 = __e_acsl_base_addr((void *)q); + __gen_e_acsl_base_addr_44 = __e_acsl_base_addr((void *)qd); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_22, "\\base_addr(q)",__gen_e_acsl_base_addr_43); - __gen_e_acsl_base_addr_44 = __e_acsl_base_addr((void *)qd); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_22, "\\base_addr(qd)",__gen_e_acsl_base_addr_44); __gen_e_acsl_assert_data_22.blocking = 1; @@ -588,9 +588,9 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_23 = {.values = (void *)0}; __gen_e_acsl_base_addr_45 = __e_acsl_base_addr((void *)q); + __gen_e_acsl_base_addr_46 = __e_acsl_base_addr((void *)qd); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_23, "\\base_addr(q)",__gen_e_acsl_base_addr_45); - __gen_e_acsl_base_addr_46 = __e_acsl_base_addr((void *)qd); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_23, "\\base_addr(qd)",__gen_e_acsl_base_addr_46); __gen_e_acsl_assert_data_23.blocking = 1; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_block_length.c b/src/plugins/e-acsl/tests/memory/oracle/gen_block_length.c index b688dcae7268b18755aa056952e57567e484682d..14c361912add5f2fd5986d8c8eea946585faf1cf 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_block_length.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_block_length.c @@ -40,9 +40,9 @@ int main(void) { unsigned long __gen_e_acsl_block_length; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_block_length = __e_acsl_block_length((void *)(A)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"(int *)A", (void *)(A)); - __gen_e_acsl_block_length = __e_acsl_block_length((void *)(A)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "\\block_length((int *)A)",0, __gen_e_acsl_block_length); @@ -62,9 +62,9 @@ int main(void) unsigned long __gen_e_acsl_block_length_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_block_length_2 = __e_acsl_block_length((void *)(& A[3])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&A[3]", (void *)(& A[3])); - __gen_e_acsl_block_length_2 = __e_acsl_block_length((void *)(& A[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "\\block_length(&A[3])",0, __gen_e_acsl_block_length_2); @@ -85,9 +85,9 @@ int main(void) unsigned long __gen_e_acsl_block_length_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_block_length_3 = __e_acsl_block_length((void *)PA); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"PA", (void *)PA); - __gen_e_acsl_block_length_3 = __e_acsl_block_length((void *)PA); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "\\block_length(PA)",0, __gen_e_acsl_block_length_3); @@ -110,15 +110,15 @@ int main(void) unsigned long __gen_e_acsl_block_length_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_block_length_4 = __e_acsl_block_length((void *)(PA + 1)); + __gen_e_acsl_block_length_5 = __e_acsl_block_length((void *)(& A[1])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"PA", (void *)PA); - __gen_e_acsl_block_length_4 = __e_acsl_block_length((void *)(PA + 1)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "\\block_length(PA + 1)",0, __gen_e_acsl_block_length_4); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&A[1]", (void *)(& A[1])); - __gen_e_acsl_block_length_5 = __e_acsl_block_length((void *)(& A[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "\\block_length(&A[1])",0, __gen_e_acsl_block_length_5); @@ -143,9 +143,9 @@ int main(void) unsigned long __gen_e_acsl_block_length_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_block_length_6 = __e_acsl_block_length((void *)(a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"(int *)a", (void *)(a)); - __gen_e_acsl_block_length_6 = __e_acsl_block_length((void *)(a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "\\block_length((int *)a)",0, __gen_e_acsl_block_length_6); @@ -166,9 +166,9 @@ int main(void) unsigned long __gen_e_acsl_block_length_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_block_length_7 = __e_acsl_block_length((void *)(& a[3])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&a[3]", (void *)(& a[3])); - __gen_e_acsl_block_length_7 = __e_acsl_block_length((void *)(& a[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "\\block_length(&a[3])",0, __gen_e_acsl_block_length_7); @@ -189,9 +189,9 @@ int main(void) unsigned long __gen_e_acsl_block_length_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_block_length_8 = __e_acsl_block_length((void *)pa); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"pa", (void *)pa); - __gen_e_acsl_block_length_8 = __e_acsl_block_length((void *)pa); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "\\block_length(pa)",0, __gen_e_acsl_block_length_8); @@ -215,15 +215,15 @@ int main(void) unsigned long __gen_e_acsl_block_length_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_block_length_9 = __e_acsl_block_length((void *)(pa + 1)); + __gen_e_acsl_block_length_10 = __e_acsl_block_length((void *)(& a[1])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"pa", (void *)pa); - __gen_e_acsl_block_length_9 = __e_acsl_block_length((void *)(pa + 1)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "\\block_length(pa + 1)",0, __gen_e_acsl_block_length_9); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"&a[1]", (void *)(& a[1])); - __gen_e_acsl_block_length_10 = __e_acsl_block_length((void *)(& a[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "\\block_length(&a[1])",0, __gen_e_acsl_block_length_10); @@ -248,9 +248,9 @@ int main(void) unsigned long __gen_e_acsl_block_length_11; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_block_length_11 = __e_acsl_block_length((void *)(& l)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"&l", (void *)(& l)); - __gen_e_acsl_block_length_11 = __e_acsl_block_length((void *)(& l)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "\\block_length(&l)",0, __gen_e_acsl_block_length_11); @@ -271,9 +271,9 @@ int main(void) unsigned long __gen_e_acsl_block_length_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_block_length_12 = __e_acsl_block_length((void *)pl); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"pl", (void *)pl); - __gen_e_acsl_block_length_12 = __e_acsl_block_length((void *)pl); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "\\block_length(pl)",0, __gen_e_acsl_block_length_12); @@ -294,9 +294,9 @@ int main(void) unsigned long __gen_e_acsl_block_length_13; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; + __gen_e_acsl_block_length_13 = __e_acsl_block_length((void *)(pl + 7)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"pl", (void *)pl); - __gen_e_acsl_block_length_13 = __e_acsl_block_length((void *)(pl + 7)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_11, "\\block_length(pl + 7)",0, __gen_e_acsl_block_length_13); @@ -321,15 +321,15 @@ int main(void) unsigned long __gen_e_acsl_block_length_15; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_block_length_14 = __e_acsl_block_length((void *)pi); + __gen_e_acsl_block_length_15 = __e_acsl_block_length((void *)(& l)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"pi", (void *)pi); - __gen_e_acsl_block_length_14 = __e_acsl_block_length((void *)pi); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "\\block_length(pi)",0, __gen_e_acsl_block_length_14); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"&l", (void *)(& l)); - __gen_e_acsl_block_length_15 = __e_acsl_block_length((void *)(& l)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "\\block_length(&l)",0, __gen_e_acsl_block_length_15); @@ -351,15 +351,15 @@ int main(void) unsigned long __gen_e_acsl_block_length_17; __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 = {.values = (void *)0}; + __gen_e_acsl_block_length_16 = __e_acsl_block_length((void *)pi); + __gen_e_acsl_block_length_17 = __e_acsl_block_length((void *)(& l)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,"pi", (void *)pi); - __gen_e_acsl_block_length_16 = __e_acsl_block_length((void *)pi); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_13, "\\block_length(pi)",0, __gen_e_acsl_block_length_16); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,"&l", (void *)(& l)); - __gen_e_acsl_block_length_17 = __e_acsl_block_length((void *)(& l)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_13, "\\block_length(&l)",0, __gen_e_acsl_block_length_17); @@ -382,8 +382,8 @@ int main(void) unsigned long __gen_e_acsl_block_length_18; __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14,"p",(void *)p); __gen_e_acsl_block_length_18 = __e_acsl_block_length((void *)p); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_14, "\\block_length(p)",0, __gen_e_acsl_block_length_18); @@ -404,8 +404,8 @@ int main(void) unsigned long __gen_e_acsl_block_length_19; __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15,"p",(void *)p); __gen_e_acsl_block_length_19 = __e_acsl_block_length((void *)(p + 11)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_15, "\\block_length(p + 11)",0, __gen_e_acsl_block_length_19); @@ -429,13 +429,13 @@ int main(void) unsigned long __gen_e_acsl_block_length_21; __e_acsl_assert_data_t __gen_e_acsl_assert_data_16 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16,"p",(void *)p); __gen_e_acsl_block_length_20 = __e_acsl_block_length((void *)(p + 5)); + __gen_e_acsl_block_length_21 = __e_acsl_block_length((void *)(p - 5)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_16, "\\block_length(p + 5)",0, __gen_e_acsl_block_length_20); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16,"p",(void *)p); - __gen_e_acsl_block_length_21 = __e_acsl_block_length((void *)(p - 5)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_16, "\\block_length(p - 5)",0, __gen_e_acsl_block_length_21); @@ -458,8 +458,8 @@ int main(void) unsigned long __gen_e_acsl_block_length_22; __e_acsl_assert_data_t __gen_e_acsl_assert_data_17 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17,"q",(void *)q); __gen_e_acsl_block_length_22 = __e_acsl_block_length((void *)q); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_17, "\\block_length(q)",0, __gen_e_acsl_block_length_22); @@ -482,8 +482,8 @@ int main(void) unsigned long __gen_e_acsl_block_length_23; __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18,"q",(void *)q); __gen_e_acsl_block_length_23 = __e_acsl_block_length((void *)q); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_18, "\\block_length(q)",0, __gen_e_acsl_block_length_23); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_block_valid.c b/src/plugins/e-acsl/tests/memory/oracle/gen_block_valid.c index 2b48b0a102f1cb453f3c74489dfb7b6bb3b0c580..5670cede9cb62aacd647e7ebbe5847c9d4f26ca4 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_block_valid.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_block_valid.c @@ -49,22 +49,22 @@ int main(int argc, char **argv) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -84,11 +84,11 @@ int main(int argc, char **argv) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(p + 1),sizeof(int), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(p + 1),sizeof(int), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(p + 1)",0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_2.blocking = 1; @@ -108,23 +108,23 @@ int main(int argc, char **argv) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&p)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"\\valid(p)", 0,__gen_e_acsl_valid_3); __gen_e_acsl_and_2 = __gen_e_acsl_valid_3; @@ -144,11 +144,11 @@ int main(int argc, char **argv) int __gen_e_acsl_valid_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(p + 1),sizeof(int), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(p + 1),sizeof(int), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(p + 1)",0,__gen_e_acsl_valid_4); __gen_e_acsl_assert_data_4.blocking = 1; @@ -187,23 +187,23 @@ int main(int argc, char **argv) int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& pmin), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&pmin", (void *)(& pmin)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& pmin), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&pmin)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_5; + __gen_e_acsl_valid_5 = __e_acsl_valid((void *)pmin,sizeof(char), + (void *)pmin,(void *)(& pmin)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"pmin", (void *)pmin); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_5 = __e_acsl_valid((void *)pmin,sizeof(char), - (void *)pmin,(void *)(& pmin)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\valid(pmin)",0,__gen_e_acsl_valid_5); __gen_e_acsl_and_3 = __gen_e_acsl_valid_5; @@ -224,23 +224,23 @@ int main(int argc, char **argv) int __gen_e_acsl_and_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& pmax), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&pmax", (void *)(& pmax)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& pmax), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&pmax)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_6; + __gen_e_acsl_valid_6 = __e_acsl_valid((void *)pmax,sizeof(char), + (void *)pmax,(void *)(& pmax)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"pmax", (void *)pmax); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_6 = __e_acsl_valid((void *)pmax,sizeof(char), - (void *)pmax,(void *)(& pmax)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\valid(pmax)",0,__gen_e_acsl_valid_6); __gen_e_acsl_and_4 = __gen_e_acsl_valid_6; @@ -260,13 +260,13 @@ int main(int argc, char **argv) int __gen_e_acsl_valid_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_valid_7 = __e_acsl_valid((void *)(pmin + diff),sizeof(char), + (void *)pmin,(void *)(& pmin)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"pmin", (void *)pmin); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"diff",0,diff); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_7 = __e_acsl_valid((void *)(pmin + diff),sizeof(char), - (void *)pmin,(void *)(& pmin)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\valid(pmin + diff)",0, __gen_e_acsl_valid_7); @@ -284,13 +284,13 @@ int main(int argc, char **argv) int __gen_e_acsl_valid_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_valid_8 = __e_acsl_valid((void *)(pmax - diff),sizeof(char), + (void *)pmax,(void *)(& pmax)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"pmax", (void *)pmax); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"diff",0,diff); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_8 = __e_acsl_valid((void *)(pmax - diff),sizeof(char), - (void *)pmax,(void *)(& pmax)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\valid(pmax - diff)",0, __gen_e_acsl_valid_8); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_bypassed_var.c b/src/plugins/e-acsl/tests/memory/oracle/gen_bypassed_var.c index 44313cb895bdd45701dd9ba3b3284d8ba0a65c6a..b911509235a04301f099c20db1d8a95ae5d23c06 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_bypassed_var.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_bypassed_var.c @@ -24,12 +24,12 @@ int main(int argc, char const **argv) int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(& p),sizeof(int *), + (void *)(& p),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(& p),sizeof(int *), - (void *)(& p),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(&p)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_call.c b/src/plugins/e-acsl/tests/memory/oracle/gen_call.c index a7c2ef1d63be476acf9aeeba06013961b6dc7989..a49ff477ab32cdb88dbc33a24a3a0b59718ba6ce 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_call.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_call.c @@ -59,13 +59,13 @@ int *__gen_e_acsl_f(int *x, int *y) { int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)__retres,sizeof(int), + (void *)__retres, + (void *)(& __retres)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"\\result", (void *)__retres); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)__retres,sizeof(int), - (void *)__retres, - (void *)(& __retres)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(\\result)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_compound_initializers.c b/src/plugins/e-acsl/tests/memory/oracle/gen_compound_initializers.c index 0514c398308e1122c66b6f29fdb1b30e8ee1a26e..0228018b17a8d084cb0820661bf042b496d0f51b 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_compound_initializers.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_compound_initializers.c @@ -92,12 +92,12 @@ int main(int argc, char **argv) { int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(_A),sizeof(char *), + (void *)(_A),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"(char **)_A", (void *)(_A)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(_A),sizeof(char *), - (void *)(_A),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid((char **)_A)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -115,25 +115,25 @@ int main(int argc, char **argv) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(_A), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"(char **)_A", (void *)(_A)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(_A), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized((char **)_A)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"_A[0]", - (void *)_A[0]); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)_A[0], sizeof(char), (void *)_A[0], (void *)(_A)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"_A[0]", + (void *)_A[0]); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid_read(_A[0])",0, __gen_e_acsl_valid_read); @@ -155,25 +155,25 @@ int main(int argc, char **argv) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& _A[1]), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&_A[1]", (void *)(& _A[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& _A[1]), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&_A[1])",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_read_2; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"_A[1]", - (void *)_A[1]); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)_A[1], sizeof(char), (void *)_A[1], (void *)(& _A[1])); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"_A[1]", + (void *)_A[1]); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid_read(_A[1])",0, __gen_e_acsl_valid_read_2); @@ -194,13 +194,13 @@ int main(int argc, char **argv) int __gen_e_acsl_valid_read_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)_B,sizeof(char), + (void *)_B, + (void *)(& _B)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"_B", (void *)_B); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)_B,sizeof(char), - (void *)_B, - (void *)(& _B)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid_read(_B)",0, __gen_e_acsl_valid_read_3); @@ -218,12 +218,12 @@ int main(int argc, char **argv) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& _C),sizeof(char *), + (void *)(& _C),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&_C", (void *)(& _C)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& _C),sizeof(char *), - (void *)(& _C),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"\\valid(&_C)", 0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_5.blocking = 1; @@ -240,12 +240,12 @@ int main(int argc, char **argv) int __gen_e_acsl_valid_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)(_D),sizeof(int), + (void *)(_D),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"(int *)_D", (void *)(_D)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)(_D),sizeof(int), - (void *)(_D),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\valid((int *)_D)",0,__gen_e_acsl_valid_3); __gen_e_acsl_assert_data_6.blocking = 1; @@ -262,12 +262,12 @@ int main(int argc, char **argv) int __gen_e_acsl_valid_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(& _E),sizeof(int), + (void *)(& _E),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&_E", (void *)(& _E)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(& _E),sizeof(int), - (void *)(& _E),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"\\valid(&_E)", 0,__gen_e_acsl_valid_4); __gen_e_acsl_assert_data_7.blocking = 1; @@ -284,12 +284,12 @@ int main(int argc, char **argv) int __gen_e_acsl_valid_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_valid_5 = __e_acsl_valid((void *)(& _F),sizeof(int), + (void *)(& _F),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"&_F", (void *)(& _F)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_5 = __e_acsl_valid((void *)(& _F),sizeof(int), - (void *)(& _F),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"\\valid(&_F)", 0,__gen_e_acsl_valid_5); __gen_e_acsl_assert_data_8.blocking = 1; @@ -320,14 +320,14 @@ int main(int argc, char **argv) int __gen_e_acsl_valid_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_valid_6 = __e_acsl_valid((void *)(& _G), + sizeof(struct ST [2]), + (void *)(& _G),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"&_G", (void *)(& _G)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(struct ST [2])",0, sizeof(struct ST [2])); - __gen_e_acsl_valid_6 = __e_acsl_valid((void *)(& _G), - sizeof(struct ST [2]), - (void *)(& _G),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\valid(&_G)",0,__gen_e_acsl_valid_6); __gen_e_acsl_assert_data_10.blocking = 1; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_ctype_macros.c b/src/plugins/e-acsl/tests/memory/oracle/gen_ctype_macros.c index c1242436a5bfed1e428fb6f943247b4554a15c0d..a0c196778e2c1305a65778ca564cf52970158eac 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_ctype_macros.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_ctype_macros.c @@ -41,22 +41,22 @@ int main(int argc, char const **argv) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& d), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&d", (void *)(& d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& d), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&d)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)d,sizeof(char),(void *)d, + (void *)(& d)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"d",(void *)d); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid = __e_acsl_valid((void *)d,sizeof(char),(void *)d, - (void *)(& d)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(d)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -147,14 +147,8 @@ int __gen_e_acsl_isupper(int c) ((__e_acsl_contract_t const *)__gen_e_acsl_contract); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "Precondition"; __gen_e_acsl_assert_data_3.pred_txt = "all behaviors disjoint"; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_decl_in_switch.c b/src/plugins/e-acsl/tests/memory/oracle/gen_decl_in_switch.c index 1674016043dc8f083310e8e84e0bfe67000835a3..56eef00e11708d36ebdc2e25df832039a466a74d 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_decl_in_switch.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_decl_in_switch.c @@ -34,12 +34,12 @@ void compound_decl_and_init(int value) { int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(& a),sizeof(int), + (void *)(& a),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(& a),sizeof(int), - (void *)(& a),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(&a)",0, __gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -58,12 +58,12 @@ void compound_decl_and_init(int value) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& b),sizeof(int), + (void *)(& b),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& b),sizeof(int), - (void *)(& b),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(&b)",0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_2.blocking = 1; @@ -84,12 +84,12 @@ void compound_decl_and_init(int value) int __gen_e_acsl_valid_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)(& c),sizeof(int), + (void *)(& c),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&c", (void *)(& c)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)(& c),sizeof(int), - (void *)(& c),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(&c)",0,__gen_e_acsl_valid_3); __gen_e_acsl_assert_data_3.blocking = 1; @@ -113,12 +113,12 @@ void compound_decl_and_init(int value) int __gen_e_acsl_valid_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(& d),sizeof(int), + (void *)(& d),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&d", (void *)(& d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(& d),sizeof(int), - (void *)(& d),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(&d)",0,__gen_e_acsl_valid_4); __gen_e_acsl_assert_data_4.blocking = 1; @@ -150,12 +150,12 @@ void separate_decl_and_init(int value) { int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(& a),sizeof(int), + (void *)(& a),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(& a),sizeof(int), - (void *)(& a),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(&a)",0, __gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -179,12 +179,12 @@ void separate_decl_and_init(int value) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& b),sizeof(int), + (void *)(& b),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& b),sizeof(int), - (void *)(& b),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(&b)",0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_2.blocking = 1; @@ -207,12 +207,12 @@ void separate_decl_and_init(int value) int __gen_e_acsl_valid_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)(& c),sizeof(int), + (void *)(& c),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&c", (void *)(& c)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)(& c),sizeof(int), - (void *)(& c),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(&c)",0,__gen_e_acsl_valid_3); __gen_e_acsl_assert_data_3.blocking = 1; @@ -238,12 +238,12 @@ void separate_decl_and_init(int value) int __gen_e_acsl_valid_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(& d),sizeof(int), + (void *)(& d),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&d", (void *)(& d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(& d),sizeof(int), - (void *)(& d),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(&d)",0,__gen_e_acsl_valid_4); __gen_e_acsl_assert_data_4.blocking = 1; @@ -278,12 +278,12 @@ void label_in_switch(int value) int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(& d),sizeof(int), + (void *)(& d),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&d", (void *)(& d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(& d),sizeof(int), - (void *)(& d),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(&d)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -305,12 +305,12 @@ void label_in_switch(int value) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& e),sizeof(int), + (void *)(& e),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&e", (void *)(& e)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& e),sizeof(int), - (void *)(& e),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(&e)",0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_2.blocking = 1; @@ -337,12 +337,12 @@ void label_in_switch(int value) int __gen_e_acsl_valid_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)(& ff),sizeof(int), + (void *)(& ff),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&ff", (void *)(& ff)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)(& ff),sizeof(int), - (void *)(& ff),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(&ff)",0,__gen_e_acsl_valid_3); __gen_e_acsl_assert_data_3.blocking = 1; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_early_exit.c b/src/plugins/e-acsl/tests/memory/oracle/gen_early_exit.c index c059f62f435cd0d17cf4e2750779dfaa94c40902..ddb5df0a7c01e6963041f9c9077620cc6b83bc7d 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_early_exit.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_early_exit.c @@ -24,23 +24,23 @@ int goto_bts(void) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)", 0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -66,24 +66,24 @@ int goto_bts(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&p)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; /*@ assert Eva: dangling_pointer: !\dangling(&p); */ + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\valid(p)", 0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; @@ -151,23 +151,23 @@ int goto_valid(void) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)", 0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -188,23 +188,23 @@ int goto_valid(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&q)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int), + (void *)q,(void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int), - (void *)q,(void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(q)",0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; @@ -225,23 +225,23 @@ int goto_valid(void) int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& r), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&r", (void *)(& r)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& r), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&r)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)r,sizeof(int), + (void *)r,(void *)(& r)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"r", (void *)r); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)r,sizeof(int), - (void *)r,(void *)(& r)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(r)",0,__gen_e_acsl_valid_3); __gen_e_acsl_and_3 = __gen_e_acsl_valid_3; @@ -273,23 +273,23 @@ int goto_valid(void) int __gen_e_acsl_and_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&p)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"\\valid(p)", 0,__gen_e_acsl_valid_4); __gen_e_acsl_and_4 = __gen_e_acsl_valid_4; @@ -310,23 +310,23 @@ int goto_valid(void) int __gen_e_acsl_and_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&q)",0, __gen_e_acsl_initialized_5); if (__gen_e_acsl_initialized_5) { int __gen_e_acsl_valid_5; + __gen_e_acsl_valid_5 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_5 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"\\valid(q)", 0,__gen_e_acsl_valid_5); __gen_e_acsl_and_5 = __gen_e_acsl_valid_5; @@ -347,23 +347,23 @@ int goto_valid(void) int __gen_e_acsl_and_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& r), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&r", (void *)(& r)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& r), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&r)",0, __gen_e_acsl_initialized_6); if (__gen_e_acsl_initialized_6) { int __gen_e_acsl_valid_6; + __gen_e_acsl_valid_6 = __e_acsl_valid((void *)r,sizeof(int),(void *)r, + (void *)(& r)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"r", (void *)r); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_6 = __e_acsl_valid((void *)r,sizeof(int),(void *)r, - (void *)(& r)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"\\valid(r)", 0,__gen_e_acsl_valid_6); __gen_e_acsl_and_6 = __gen_e_acsl_valid_6; @@ -419,23 +419,23 @@ int switch_valid(void) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(p)",0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -456,23 +456,23 @@ int switch_valid(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&q)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int), + (void *)q,(void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int), - (void *)q,(void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(q)",0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; @@ -493,23 +493,23 @@ int switch_valid(void) int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& s), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&s", (void *)(& s)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& s), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&s)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)s,sizeof(int), + (void *)s,(void *)(& s)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"s", (void *)s); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)s,sizeof(int), - (void *)s,(void *)(& s)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(s)",0,__gen_e_acsl_valid_3); __gen_e_acsl_and_3 = __gen_e_acsl_valid_3; @@ -544,23 +544,23 @@ int switch_valid(void) int __gen_e_acsl_and_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&q)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"\\valid(q)", 0,__gen_e_acsl_valid_4); __gen_e_acsl_and_4 = __gen_e_acsl_valid_4; @@ -581,23 +581,23 @@ int switch_valid(void) int __gen_e_acsl_and_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&p)",0, __gen_e_acsl_initialized_5); if (__gen_e_acsl_initialized_5) { int __gen_e_acsl_valid_5; + __gen_e_acsl_valid_5 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_5 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"\\valid(p)", 0,__gen_e_acsl_valid_5); __gen_e_acsl_and_5 = __gen_e_acsl_valid_5; @@ -618,23 +618,23 @@ int switch_valid(void) int __gen_e_acsl_and_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& s), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&s", (void *)(& s)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& s), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&s)",0, __gen_e_acsl_initialized_6); if (__gen_e_acsl_initialized_6) { int __gen_e_acsl_valid_6; + __gen_e_acsl_valid_6 = __e_acsl_valid((void *)s,sizeof(int),(void *)s, + (void *)(& s)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"s", (void *)s); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_6 = __e_acsl_valid((void *)s,sizeof(int),(void *)s, - (void *)(& s)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"\\valid(s)", 0,__gen_e_acsl_valid_6); __gen_e_acsl_and_6 = __gen_e_acsl_valid_6; @@ -694,23 +694,23 @@ int while_valid(void) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(p)",0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -731,23 +731,23 @@ int while_valid(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&q)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int), + (void *)q,(void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int), - (void *)q,(void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(q)",0, __gen_e_acsl_valid_2); @@ -769,23 +769,23 @@ int while_valid(void) int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& r), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&r", (void *)(& r)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& r), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&r)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)r,sizeof(int), + (void *)r,(void *)(& r)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"r", (void *)r); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)r,sizeof(int), - (void *)r,(void *)(& r)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(r)",0, __gen_e_acsl_valid_3); @@ -817,23 +817,23 @@ int while_valid(void) int __gen_e_acsl_and_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&p)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)p,sizeof(int), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)p,sizeof(int), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(p)",0,__gen_e_acsl_valid_4); __gen_e_acsl_and_4 = __gen_e_acsl_valid_4; @@ -854,23 +854,23 @@ int while_valid(void) int __gen_e_acsl_and_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&q)",0, __gen_e_acsl_initialized_5); if (__gen_e_acsl_initialized_5) { int __gen_e_acsl_valid_5; + __gen_e_acsl_valid_5 = __e_acsl_valid((void *)q,sizeof(int), + (void *)q,(void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_5 = __e_acsl_valid((void *)q,sizeof(int), - (void *)q,(void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\valid(q)",0,__gen_e_acsl_valid_5); __gen_e_acsl_and_5 = __gen_e_acsl_valid_5; @@ -891,23 +891,23 @@ int while_valid(void) int __gen_e_acsl_and_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& r), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&r", (void *)(& r)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& r), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&r)",0, __gen_e_acsl_initialized_6); if (__gen_e_acsl_initialized_6) { int __gen_e_acsl_valid_6; + __gen_e_acsl_valid_6 = __e_acsl_valid((void *)r,sizeof(int), + (void *)r,(void *)(& r)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"r", (void *)r); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_6 = __e_acsl_valid((void *)r,sizeof(int), - (void *)r,(void *)(& r)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\valid(r)",0,__gen_e_acsl_valid_6); __gen_e_acsl_and_6 = __gen_e_acsl_valid_6; @@ -951,23 +951,23 @@ void continue_valid(void) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(p)",0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -988,23 +988,23 @@ void continue_valid(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&q)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int), + (void *)q,(void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int), - (void *)q,(void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(q)",0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; @@ -1030,23 +1030,23 @@ void continue_valid(void) int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&p)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)p,sizeof(int), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)p,sizeof(int), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(p)",0,__gen_e_acsl_valid_3); __gen_e_acsl_and_3 = __gen_e_acsl_valid_3; @@ -1067,23 +1067,23 @@ void continue_valid(void) int __gen_e_acsl_and_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&q)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)q,sizeof(int), + (void *)q,(void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)q,sizeof(int), - (void *)q,(void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(q)",0,__gen_e_acsl_valid_4); __gen_e_acsl_and_4 = __gen_e_acsl_valid_4; @@ -1110,23 +1110,23 @@ void continue_valid(void) int __gen_e_acsl_and_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&p)",0, __gen_e_acsl_initialized_5); if (__gen_e_acsl_initialized_5) { int __gen_e_acsl_valid_5; + __gen_e_acsl_valid_5 = __e_acsl_valid((void *)p,sizeof(int), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_5 = __e_acsl_valid((void *)p,sizeof(int), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\valid(p)",0,__gen_e_acsl_valid_5); __gen_e_acsl_and_5 = __gen_e_acsl_valid_5; @@ -1147,23 +1147,23 @@ void continue_valid(void) int __gen_e_acsl_and_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&q)",0, __gen_e_acsl_initialized_6); if (__gen_e_acsl_initialized_6) { int __gen_e_acsl_valid_6; + __gen_e_acsl_valid_6 = __e_acsl_valid((void *)q,sizeof(int), + (void *)q,(void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_6 = __e_acsl_valid((void *)q,sizeof(int), - (void *)q,(void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\valid(q)",0,__gen_e_acsl_valid_6); __gen_e_acsl_and_6 = __gen_e_acsl_valid_6; @@ -1196,23 +1196,23 @@ void continue_valid(void) int __gen_e_acsl_and_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized(&p)",0, __gen_e_acsl_initialized_7); if (__gen_e_acsl_initialized_7) { int __gen_e_acsl_valid_7; + __gen_e_acsl_valid_7 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_7 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"\\valid(p)", 0,__gen_e_acsl_valid_7); __gen_e_acsl_and_7 = __gen_e_acsl_valid_7; @@ -1233,23 +1233,23 @@ void continue_valid(void) int __gen_e_acsl_and_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized(&q)",0, __gen_e_acsl_initialized_8); if (__gen_e_acsl_initialized_8) { int __gen_e_acsl_valid_8; + __gen_e_acsl_valid_8 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_8 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"\\valid(q)", 0,__gen_e_acsl_valid_8); __gen_e_acsl_and_8 = __gen_e_acsl_valid_8; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_errno.c b/src/plugins/e-acsl/tests/memory/oracle/gen_errno.c index 0e4e83cd028c36ecfc552a84b778241736f0ac9a..7541386aef45bf1ad4008d0a5323371adb062bba 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_errno.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_errno.c @@ -39,22 +39,22 @@ int main(int argc, char const **argv) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_freeable.c b/src/plugins/e-acsl/tests/memory/oracle/gen_freeable.c index 589a213ac035fa26f16bfecb254383f063a7cc1d..e6a64457224bbb58067c8510b24e79f482aa3394 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_freeable.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_freeable.c @@ -38,8 +38,8 @@ int main(void) int __gen_e_acsl_freeable; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; /*@ assert Eva: initialization: \initialized(&p); */ - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __gen_e_acsl_freeable = __e_acsl_freeable((void *)p); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\freeable(p)", 0,__gen_e_acsl_freeable); __gen_e_acsl_assert_data.blocking = 1; @@ -76,8 +76,8 @@ int main(void) int __gen_e_acsl_freeable_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p",(void *)p); __gen_e_acsl_freeable_3 = __e_acsl_freeable((void *)(p + 1)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p",(void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\freeable(p + 1)",0, __gen_e_acsl_freeable_3); @@ -95,8 +95,8 @@ int main(void) int __gen_e_acsl_freeable_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p",(void *)p); __gen_e_acsl_freeable_4 = __e_acsl_freeable((void *)p); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p",(void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\freeable(p)",0,__gen_e_acsl_freeable_4); __gen_e_acsl_assert_data_4.blocking = 1; @@ -114,8 +114,8 @@ int main(void) int __gen_e_acsl_freeable_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"p",(void *)p); __gen_e_acsl_freeable_5 = __e_acsl_freeable((void *)p); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"p",(void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\freeable(p)",0,__gen_e_acsl_freeable_5); __gen_e_acsl_assert_data_5.blocking = 1; @@ -132,9 +132,9 @@ int main(void) int __gen_e_acsl_freeable_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_freeable_6 = __e_acsl_freeable((void *)(array)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, "(char *)array",(void *)(array)); - __gen_e_acsl_freeable_6 = __e_acsl_freeable((void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\freeable((char *)array)",0, __gen_e_acsl_freeable_6); @@ -152,9 +152,9 @@ int main(void) int __gen_e_acsl_freeable_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_freeable_7 = __e_acsl_freeable((void *)(& array[5])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&array[5]", (void *)(& array[5])); - __gen_e_acsl_freeable_7 = __e_acsl_freeable((void *)(& array[5])); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\freeable(&array[5])",0, __gen_e_acsl_freeable_7); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_goto.c b/src/plugins/e-acsl/tests/memory/oracle/gen_goto.c index 1d3d5fc7491411544d824267470b6b70a7c8f78c..ec8181b83aaddf433c863b5bc8b8501f5e65bf14 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_goto.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_goto.c @@ -40,10 +40,10 @@ int main(void) { int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)b,sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"b",(void *)b); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(char)", 0,sizeof(char)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)b,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(b)",0, __gen_e_acsl_initialized); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_init.c b/src/plugins/e-acsl/tests/memory/oracle/gen_init.c index 9423eedcc88977c9737956839456b1d2b8e16f8b..47320cd1f5f5322f6f13a08488086c74c4b856f5 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_init.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_init.c @@ -56,10 +56,10 @@ int main(void) int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(q)",0, __gen_e_acsl_initialized); @@ -77,10 +77,10 @@ int main(void) int __gen_e_acsl_initialized_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(p)",0, __gen_e_acsl_initialized_2); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_initialized.c b/src/plugins/e-acsl/tests/memory/oracle/gen_initialized.c index a370575bf58a098489017ad1e8952355600b8955..09a4020a3e02b680f772a4b4a6e5ef207fc24e7e 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_initialized.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_initialized.c @@ -76,10 +76,10 @@ int main(void) int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(p)",0, __gen_e_acsl_initialized); @@ -97,10 +97,10 @@ int main(void) int __gen_e_acsl_initialized_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(q)",0, __gen_e_acsl_initialized_2); @@ -128,12 +128,12 @@ int main(void) int __gen_e_acsl_initialized_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& a), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& a), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&a)",0, __gen_e_acsl_initialized_3); @@ -151,12 +151,12 @@ int main(void) int __gen_e_acsl_initialized_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& b), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& b), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&b)",0, __gen_e_acsl_initialized_4); @@ -175,10 +175,10 @@ int main(void) int __gen_e_acsl_initialized_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized(p)",0, __gen_e_acsl_initialized_5); @@ -196,10 +196,10 @@ int main(void) int __gen_e_acsl_initialized_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized(q)",0, __gen_e_acsl_initialized_6); @@ -218,12 +218,12 @@ int main(void) int __gen_e_acsl_initialized_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& c), + sizeof(long [2])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"&c", (void *)(& c)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "sizeof(long [2])",0,sizeof(long [2])); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& c), - sizeof(long [2])); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(&c)",0, __gen_e_acsl_initialized_7); @@ -241,12 +241,12 @@ int main(void) int __gen_e_acsl_initialized_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& d), + sizeof(long [2])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"&d", (void *)(& d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(long [2])",0,sizeof(long [2])); - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& d), - sizeof(long [2])); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\initialized(&d)",0, __gen_e_acsl_initialized_8); @@ -267,10 +267,10 @@ int main(void) int __gen_e_acsl_initialized_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; + __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_11, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "\\initialized(q)",0, __gen_e_acsl_initialized_9); @@ -288,12 +288,12 @@ int main(void) int __gen_e_acsl_initialized_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& b), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& b), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "\\initialized(&b)",0, __gen_e_acsl_initialized_10); @@ -314,12 +314,12 @@ int main(void) int __gen_e_acsl_initialized_11; __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 = {.values = (void *)0}; + __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(d), + sizeof(long)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,"(long *)d", (void *)(d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_13, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(d), - sizeof(long)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "\\initialized((long *)d)",0, __gen_e_acsl_initialized_11); @@ -338,12 +338,12 @@ int main(void) int __gen_e_acsl_initialized_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 = {.values = (void *)0}; + __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& d[1]), + sizeof(long)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14,"&d[1]", (void *)(& d[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_14, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& d[1]), - sizeof(long)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14, "\\initialized(&d[1])",0, __gen_e_acsl_initialized_12); @@ -362,12 +362,12 @@ int main(void) int __gen_e_acsl_initialized_13; __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 = {.values = (void *)0}; + __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)(& d), + sizeof(long [2])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15,"&d", (void *)(& d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_15, "sizeof(long [2])",0,sizeof(long [2])); - __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)(& d), - sizeof(long [2])); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15, "\\initialized(&d)",0, __gen_e_acsl_initialized_13); @@ -386,11 +386,11 @@ int main(void) int __gen_e_acsl_initialized_14; __e_acsl_assert_data_t __gen_e_acsl_assert_data_16 = {.values = (void *)0}; + __gen_e_acsl_initialized_14 = __e_acsl_initialized((void *)r, + sizeof(long)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16,"r",(void *)r); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_16, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_initialized_14 = __e_acsl_initialized((void *)r, - sizeof(long)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16, "\\initialized(r)",0, __gen_e_acsl_initialized_14); @@ -409,11 +409,11 @@ int main(void) int __gen_e_acsl_initialized_15; __e_acsl_assert_data_t __gen_e_acsl_assert_data_17 = {.values = (void *)0}; + __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)(r + 1), + sizeof(long)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17,"r",(void *)r); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_17, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)(r + 1), - sizeof(long)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17, "\\initialized(r + 1)",0, __gen_e_acsl_initialized_15); @@ -434,12 +434,12 @@ int main(void) int __gen_e_acsl_initialized_16; __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 = {.values = (void *)0}; + __gen_e_acsl_initialized_16 = __e_acsl_initialized((void *)(d), + sizeof(long)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18,"(long *)d", (void *)(d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_18, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_initialized_16 = __e_acsl_initialized((void *)(d), - sizeof(long)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18, "\\initialized((long *)d)",0, __gen_e_acsl_initialized_16); @@ -458,12 +458,12 @@ int main(void) int __gen_e_acsl_initialized_17; __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 = {.values = (void *)0}; + __gen_e_acsl_initialized_17 = __e_acsl_initialized((void *)(& d[1]), + sizeof(long)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_19,"&d[1]", (void *)(& d[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_19, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_initialized_17 = __e_acsl_initialized((void *)(& d[1]), - sizeof(long)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19, "\\initialized(&d[1])",0, __gen_e_acsl_initialized_17); @@ -482,12 +482,12 @@ int main(void) int __gen_e_acsl_initialized_18; __e_acsl_assert_data_t __gen_e_acsl_assert_data_20 = {.values = (void *)0}; + __gen_e_acsl_initialized_18 = __e_acsl_initialized((void *)(& d), + sizeof(long [2])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_20,"&d", (void *)(& d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_20, "sizeof(long [2])",0,sizeof(long [2])); - __gen_e_acsl_initialized_18 = __e_acsl_initialized((void *)(& d), - sizeof(long [2])); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20, "\\initialized(&d)",0, __gen_e_acsl_initialized_18); @@ -506,11 +506,11 @@ int main(void) int __gen_e_acsl_initialized_19; __e_acsl_assert_data_t __gen_e_acsl_assert_data_21 = {.values = (void *)0}; + __gen_e_acsl_initialized_19 = __e_acsl_initialized((void *)r, + sizeof(long)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_21,"r",(void *)r); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_21, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_initialized_19 = __e_acsl_initialized((void *)r, - sizeof(long)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_21, "\\initialized(r)",0, __gen_e_acsl_initialized_19); @@ -529,11 +529,11 @@ int main(void) int __gen_e_acsl_initialized_20; __e_acsl_assert_data_t __gen_e_acsl_assert_data_22 = {.values = (void *)0}; + __gen_e_acsl_initialized_20 = __e_acsl_initialized((void *)(r + 1), + sizeof(long)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_22,"r",(void *)r); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_22, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_initialized_20 = __e_acsl_initialized((void *)(r + 1), - sizeof(long)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22, "\\initialized(r + 1)",0, __gen_e_acsl_initialized_20); @@ -554,12 +554,12 @@ int main(void) int __gen_e_acsl_initialized_21; __e_acsl_assert_data_t __gen_e_acsl_assert_data_23 = {.values = (void *)0}; + __gen_e_acsl_initialized_21 = __e_acsl_initialized((void *)(d), + sizeof(long)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_23,"(long *)d", (void *)(d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_23, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_initialized_21 = __e_acsl_initialized((void *)(d), - sizeof(long)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_23, "\\initialized((long *)d)",0, __gen_e_acsl_initialized_21); @@ -578,12 +578,12 @@ int main(void) int __gen_e_acsl_initialized_22; __e_acsl_assert_data_t __gen_e_acsl_assert_data_24 = {.values = (void *)0}; + __gen_e_acsl_initialized_22 = __e_acsl_initialized((void *)(& d[1]), + sizeof(long)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_24,"&d[1]", (void *)(& d[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_24, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_initialized_22 = __e_acsl_initialized((void *)(& d[1]), - sizeof(long)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24, "\\initialized(&d[1])",0, __gen_e_acsl_initialized_22); @@ -602,12 +602,12 @@ int main(void) int __gen_e_acsl_initialized_23; __e_acsl_assert_data_t __gen_e_acsl_assert_data_25 = {.values = (void *)0}; + __gen_e_acsl_initialized_23 = __e_acsl_initialized((void *)(& d), + sizeof(long [2])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_25,"&d", (void *)(& d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_25, "sizeof(long [2])",0,sizeof(long [2])); - __gen_e_acsl_initialized_23 = __e_acsl_initialized((void *)(& d), - sizeof(long [2])); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25, "\\initialized(&d)",0, __gen_e_acsl_initialized_23); @@ -626,11 +626,11 @@ int main(void) int __gen_e_acsl_initialized_24; __e_acsl_assert_data_t __gen_e_acsl_assert_data_26 = {.values = (void *)0}; + __gen_e_acsl_initialized_24 = __e_acsl_initialized((void *)r, + sizeof(long)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_26,"r",(void *)r); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_26, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_initialized_24 = __e_acsl_initialized((void *)r, - sizeof(long)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26, "\\initialized(r)",0, __gen_e_acsl_initialized_24); @@ -649,11 +649,11 @@ int main(void) int __gen_e_acsl_initialized_25; __e_acsl_assert_data_t __gen_e_acsl_assert_data_27 = {.values = (void *)0}; + __gen_e_acsl_initialized_25 = __e_acsl_initialized((void *)(r + 1), + sizeof(long)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_27,"r",(void *)r); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_27, "sizeof(long)",0,sizeof(long)); - __gen_e_acsl_initialized_25 = __e_acsl_initialized((void *)(r + 1), - sizeof(long)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27, "\\initialized(r + 1)",0, __gen_e_acsl_initialized_25); @@ -674,10 +674,10 @@ int main(void) int __gen_e_acsl_initialized_26; __e_acsl_assert_data_t __gen_e_acsl_assert_data_28 = {.values = (void *)0}; + __gen_e_acsl_initialized_26 = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_28,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_28, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_26 = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_28, "\\initialized(p)",0, __gen_e_acsl_initialized_26); @@ -698,10 +698,10 @@ int main(void) int __gen_e_acsl_initialized_27; __e_acsl_assert_data_t __gen_e_acsl_assert_data_29 = {.values = (void *)0}; + __gen_e_acsl_initialized_27 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_29,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_29, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_27 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_29, "\\initialized(q)",0, __gen_e_acsl_initialized_27); @@ -722,10 +722,10 @@ int main(void) int __gen_e_acsl_initialized_28; __e_acsl_assert_data_t __gen_e_acsl_assert_data_30 = {.values = (void *)0}; + __gen_e_acsl_initialized_28 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_30,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_30, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_28 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_30, "\\initialized(q)",0, __gen_e_acsl_initialized_28); @@ -746,10 +746,10 @@ int main(void) int __gen_e_acsl_initialized_29; __e_acsl_assert_data_t __gen_e_acsl_assert_data_31 = {.values = (void *)0}; + __gen_e_acsl_initialized_29 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_31,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_31, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_29 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_31, "\\initialized(q)",0, __gen_e_acsl_initialized_29); @@ -773,10 +773,10 @@ int main(void) __e_acsl_assert_data_t __gen_e_acsl_assert_data_32 = {.values = (void *)0}; /*@ assert Eva: dangling_pointer: !\dangling(&p); */ + __gen_e_acsl_initialized_30 = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_32,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_32, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_30 = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_32, "\\initialized(p)",0, __gen_e_acsl_initialized_30); @@ -795,10 +795,10 @@ int main(void) int __gen_e_acsl_initialized_31; __e_acsl_assert_data_t __gen_e_acsl_assert_data_33 = {.values = (void *)0}; + __gen_e_acsl_initialized_31 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_33,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_33, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_31 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_33, "\\initialized(q)",0, __gen_e_acsl_initialized_31); @@ -821,23 +821,21 @@ int main(void) int __gen_e_acsl_initialized_32; __e_acsl_assert_data_t __gen_e_acsl_assert_data_34 = {.values = (void *)0}; + __gen_e_acsl_size = 4 * ((2 - 0) + 1); + if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; + else __gen_e_acsl_if = __gen_e_acsl_size; + __gen_e_acsl_initialized_32 = __e_acsl_initialized((void *)((char *)q + + 4 * 0), + (size_t)__gen_e_acsl_if); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_34,"q",(void *)q); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_34,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_34,"sizeof(int)", 0,4); - __gen_e_acsl_size = 4 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_34,"size",0, __gen_e_acsl_size); - if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_34,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } - __gen_e_acsl_initialized_32 = __e_acsl_initialized((void *)((char *)q + - 4 * 0), - (size_t)__gen_e_acsl_if); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_34,"size",0, + __gen_e_acsl_size); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_34, "\\initialized(q + (0 .. 2))",0, __gen_e_acsl_initialized_32); @@ -860,23 +858,21 @@ int main(void) int __gen_e_acsl_initialized_33; __e_acsl_assert_data_t __gen_e_acsl_assert_data_35 = {.values = (void *)0}; + __gen_e_acsl_size_2 = 4 * ((2 - 0) + 1); + if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; + else __gen_e_acsl_if_2 = __gen_e_acsl_size_2; + __gen_e_acsl_initialized_33 = __e_acsl_initialized((void *)((char *)q + + 4 * 0), + (size_t)__gen_e_acsl_if_2); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_35,"q",(void *)q); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"sizeof(int)", 0,4); - __gen_e_acsl_size_2 = 4 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"size",0, __gen_e_acsl_size_2); - if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"size",0, - __gen_e_acsl_size_2); - __gen_e_acsl_if_2 = __gen_e_acsl_size_2; - } - __gen_e_acsl_initialized_33 = __e_acsl_initialized((void *)((char *)q + - 4 * 0), - (size_t)__gen_e_acsl_if_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35,"size",0, + __gen_e_acsl_size_2); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_35, "\\initialized(q + (0 .. 2))",0, __gen_e_acsl_initialized_33); @@ -895,11 +891,11 @@ int main(void) int __gen_e_acsl_initialized_34; __e_acsl_assert_data_t __gen_e_acsl_assert_data_36 = {.values = (void *)0}; + __gen_e_acsl_initialized_34 = __e_acsl_initialized((void *)(q + 3), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_36,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_36, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_34 = __e_acsl_initialized((void *)(q + 3), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_36, "\\initialized(q + 3)",0, __gen_e_acsl_initialized_34); @@ -918,11 +914,11 @@ int main(void) int __gen_e_acsl_initialized_35; __e_acsl_assert_data_t __gen_e_acsl_assert_data_37 = {.values = (void *)0}; + __gen_e_acsl_initialized_35 = __e_acsl_initialized((void *)(q + 4), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_37,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_37, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_35 = __e_acsl_initialized((void *)(q + 4), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_37, "\\initialized(q + 4)",0, __gen_e_acsl_initialized_35); @@ -941,11 +937,11 @@ int main(void) int __gen_e_acsl_initialized_36; __e_acsl_assert_data_t __gen_e_acsl_assert_data_38 = {.values = (void *)0}; + __gen_e_acsl_initialized_36 = __e_acsl_initialized((void *)(q + 5), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_38,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_38, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_36 = __e_acsl_initialized((void *)(q + 5), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_38, "\\initialized(q + 5)",0, __gen_e_acsl_initialized_36); @@ -969,23 +965,21 @@ int main(void) int __gen_e_acsl_initialized_37; __e_acsl_assert_data_t __gen_e_acsl_assert_data_39 = {.values = (void *)0}; + __gen_e_acsl_size_3 = 4 * ((6 - 0) + 1); + if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; + else __gen_e_acsl_if_3 = __gen_e_acsl_size_3; + __gen_e_acsl_initialized_37 = __e_acsl_initialized((void *)((char *)q + + 4 * 0), + (size_t)__gen_e_acsl_if_3); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_39,"q",(void *)q); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_39,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_39,"sizeof(int)", 0,4); - __gen_e_acsl_size_3 = 4 * ((6 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_39,"size",0, __gen_e_acsl_size_3); - if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_39,"size",0, - __gen_e_acsl_size_3); - __gen_e_acsl_if_3 = __gen_e_acsl_size_3; - } - __gen_e_acsl_initialized_37 = __e_acsl_initialized((void *)((char *)q + - 4 * 0), - (size_t)__gen_e_acsl_if_3); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_39,"size",0, + __gen_e_acsl_size_3); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_39, "\\initialized(q + (0 .. 6))",0, __gen_e_acsl_initialized_37); @@ -1008,23 +1002,21 @@ int main(void) int __gen_e_acsl_initialized_38; __e_acsl_assert_data_t __gen_e_acsl_assert_data_40 = {.values = (void *)0}; + __gen_e_acsl_size_4 = 4 * ((6 - 0) + 1); + if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; + else __gen_e_acsl_if_4 = __gen_e_acsl_size_4; + __gen_e_acsl_initialized_38 = __e_acsl_initialized((void *)((char *)q + + 4 * 0), + (size_t)__gen_e_acsl_if_4); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_40,"q",(void *)q); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_40,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_40,"sizeof(int)", 0,4); - __gen_e_acsl_size_4 = 4 * ((6 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_40,"size",0, __gen_e_acsl_size_4); - if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_40,"size",0, - __gen_e_acsl_size_4); - __gen_e_acsl_if_4 = __gen_e_acsl_size_4; - } - __gen_e_acsl_initialized_38 = __e_acsl_initialized((void *)((char *)q + - 4 * 0), - (size_t)__gen_e_acsl_if_4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_40,"size",0, + __gen_e_acsl_size_4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_40, "\\initialized(q + (0 .. 6))",0, __gen_e_acsl_initialized_38); @@ -1043,11 +1035,11 @@ int main(void) int __gen_e_acsl_initialized_39; __e_acsl_assert_data_t __gen_e_acsl_assert_data_41 = {.values = (void *)0}; + __gen_e_acsl_initialized_39 = __e_acsl_initialized((void *)(q + 7), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_41,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_41, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_39 = __e_acsl_initialized((void *)(q + 7), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_41, "\\initialized(q + 7)",0, __gen_e_acsl_initialized_39); @@ -1070,23 +1062,21 @@ int main(void) int __gen_e_acsl_initialized_40; __e_acsl_assert_data_t __gen_e_acsl_assert_data_42 = {.values = (void *)0}; + __gen_e_acsl_size_5 = 4 * ((6 - 0) + 1); + if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; + else __gen_e_acsl_if_5 = __gen_e_acsl_size_5; + __gen_e_acsl_initialized_40 = __e_acsl_initialized((void *)((char *)q + + 4 * 0), + (size_t)__gen_e_acsl_if_5); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_42,"q",(void *)q); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_42,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_42,"sizeof(int)", 0,4); - __gen_e_acsl_size_5 = 4 * ((6 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_42,"size",0, __gen_e_acsl_size_5); - if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_42,"size",0, - __gen_e_acsl_size_5); - __gen_e_acsl_if_5 = __gen_e_acsl_size_5; - } - __gen_e_acsl_initialized_40 = __e_acsl_initialized((void *)((char *)q + - 4 * 0), - (size_t)__gen_e_acsl_if_5); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_42,"size",0, + __gen_e_acsl_size_5); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_42, "\\initialized(q + (0 .. 6))",0, __gen_e_acsl_initialized_40); @@ -1105,11 +1095,11 @@ int main(void) int __gen_e_acsl_initialized_41; __e_acsl_assert_data_t __gen_e_acsl_assert_data_43 = {.values = (void *)0}; + __gen_e_acsl_initialized_41 = __e_acsl_initialized((void *)(q + 7), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_43,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_43, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_41 = __e_acsl_initialized((void *)(q + 7), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_43, "\\initialized(q + 7)",0, __gen_e_acsl_initialized_41); @@ -1128,11 +1118,11 @@ int main(void) int __gen_e_acsl_initialized_42; __e_acsl_assert_data_t __gen_e_acsl_assert_data_44 = {.values = (void *)0}; + __gen_e_acsl_initialized_42 = __e_acsl_initialized((void *)(q + 8), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_44,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_44, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_42 = __e_acsl_initialized((void *)(q + 8), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_44, "\\initialized(q + 8)",0, __gen_e_acsl_initialized_42); @@ -1151,11 +1141,11 @@ int main(void) int __gen_e_acsl_initialized_43; __e_acsl_assert_data_t __gen_e_acsl_assert_data_45 = {.values = (void *)0}; + __gen_e_acsl_initialized_43 = __e_acsl_initialized((void *)(q + 9), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_45,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_45, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_43 = __e_acsl_initialized((void *)(q + 9), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_45, "\\initialized(q + 9)",0, __gen_e_acsl_initialized_43); @@ -1179,23 +1169,21 @@ int main(void) int __gen_e_acsl_initialized_44; __e_acsl_assert_data_t __gen_e_acsl_assert_data_46 = {.values = (void *)0}; + __gen_e_acsl_size_6 = 4 * ((1 - 0) + 1); + if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; + else __gen_e_acsl_if_6 = __gen_e_acsl_size_6; + __gen_e_acsl_initialized_44 = __e_acsl_initialized((void *)((char *)q + + 4 * 0), + (size_t)__gen_e_acsl_if_6); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_46,"q",(void *)q); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_46,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_46,"sizeof(int)", 0,4); - __gen_e_acsl_size_6 = 4 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_46,"size",0, __gen_e_acsl_size_6); - if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_46,"size",0, - __gen_e_acsl_size_6); - __gen_e_acsl_if_6 = __gen_e_acsl_size_6; - } - __gen_e_acsl_initialized_44 = __e_acsl_initialized((void *)((char *)q + - 4 * 0), - (size_t)__gen_e_acsl_if_6); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_46,"size",0, + __gen_e_acsl_size_6); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_46, "\\initialized(q + (0 .. 1))",0, __gen_e_acsl_initialized_44); @@ -1218,23 +1206,21 @@ int main(void) int __gen_e_acsl_initialized_45; __e_acsl_assert_data_t __gen_e_acsl_assert_data_47 = {.values = (void *)0}; + __gen_e_acsl_size_7 = 4 * ((1 - 0) + 1); + if (__gen_e_acsl_size_7 <= 0) __gen_e_acsl_if_7 = 0; + else __gen_e_acsl_if_7 = __gen_e_acsl_size_7; + __gen_e_acsl_initialized_45 = __e_acsl_initialized((void *)((char *)q + + 4 * 0), + (size_t)__gen_e_acsl_if_7); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_47,"q",(void *)q); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_47,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_47,"sizeof(int)", 0,4); - __gen_e_acsl_size_7 = 4 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_47,"size",0, __gen_e_acsl_size_7); - if (__gen_e_acsl_size_7 <= 0) __gen_e_acsl_if_7 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_47,"size",0, - __gen_e_acsl_size_7); - __gen_e_acsl_if_7 = __gen_e_acsl_size_7; - } - __gen_e_acsl_initialized_45 = __e_acsl_initialized((void *)((char *)q + - 4 * 0), - (size_t)__gen_e_acsl_if_7); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_47,"size",0, + __gen_e_acsl_size_7); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_47, "\\initialized(q + (0 .. 1))",0, __gen_e_acsl_initialized_45); @@ -1253,11 +1239,11 @@ int main(void) int __gen_e_acsl_initialized_46; __e_acsl_assert_data_t __gen_e_acsl_assert_data_48 = {.values = (void *)0}; + __gen_e_acsl_initialized_46 = __e_acsl_initialized((void *)(q + 2), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_48,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_48, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_46 = __e_acsl_initialized((void *)(q + 2), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_48, "\\initialized(q + 2)",0, __gen_e_acsl_initialized_46); @@ -1276,11 +1262,11 @@ int main(void) int __gen_e_acsl_initialized_47; __e_acsl_assert_data_t __gen_e_acsl_assert_data_49 = {.values = (void *)0}; + __gen_e_acsl_initialized_47 = __e_acsl_initialized((void *)(q + 3), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_49,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_49, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_47 = __e_acsl_initialized((void *)(q + 3), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_49, "\\initialized(q + 3)",0, __gen_e_acsl_initialized_47); @@ -1304,23 +1290,21 @@ int main(void) int __gen_e_acsl_initialized_48; __e_acsl_assert_data_t __gen_e_acsl_assert_data_50 = {.values = (void *)0}; + __gen_e_acsl_size_8 = 4 * ((5 - 0) + 1); + if (__gen_e_acsl_size_8 <= 0) __gen_e_acsl_if_8 = 0; + else __gen_e_acsl_if_8 = __gen_e_acsl_size_8; + __gen_e_acsl_initialized_48 = __e_acsl_initialized((void *)((char *)q + + 4 * 0), + (size_t)__gen_e_acsl_if_8); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_50,"q",(void *)q); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50,"sizeof(int)", 0,4); - __gen_e_acsl_size_8 = 4 * ((5 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50,"size",0, __gen_e_acsl_size_8); - if (__gen_e_acsl_size_8 <= 0) __gen_e_acsl_if_8 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50,"size",0, - __gen_e_acsl_size_8); - __gen_e_acsl_if_8 = __gen_e_acsl_size_8; - } - __gen_e_acsl_initialized_48 = __e_acsl_initialized((void *)((char *)q + - 4 * 0), - (size_t)__gen_e_acsl_if_8); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50,"size",0, + __gen_e_acsl_size_8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50, "\\initialized(q + (0 .. 5))",0, __gen_e_acsl_initialized_48); @@ -1343,23 +1327,21 @@ int main(void) int __gen_e_acsl_initialized_49; __e_acsl_assert_data_t __gen_e_acsl_assert_data_51 = {.values = (void *)0}; + __gen_e_acsl_size_9 = 4 * ((2 - 0) + 1); + if (__gen_e_acsl_size_9 <= 0) __gen_e_acsl_if_9 = 0; + else __gen_e_acsl_if_9 = __gen_e_acsl_size_9; + __gen_e_acsl_initialized_49 = __e_acsl_initialized((void *)((char *)q + + 4 * 0), + (size_t)__gen_e_acsl_if_9); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_51,"q",(void *)q); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_51,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_51,"sizeof(int)", 0,4); - __gen_e_acsl_size_9 = 4 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_51,"size",0, __gen_e_acsl_size_9); - if (__gen_e_acsl_size_9 <= 0) __gen_e_acsl_if_9 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_51,"size",0, - __gen_e_acsl_size_9); - __gen_e_acsl_if_9 = __gen_e_acsl_size_9; - } - __gen_e_acsl_initialized_49 = __e_acsl_initialized((void *)((char *)q + - 4 * 0), - (size_t)__gen_e_acsl_if_9); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_51,"size",0, + __gen_e_acsl_size_9); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_51, "\\initialized(q + (0 .. 2))",0, __gen_e_acsl_initialized_49); @@ -1381,11 +1363,11 @@ int main(void) int __gen_e_acsl_initialized_50; __e_acsl_assert_data_t __gen_e_acsl_assert_data_52 = {.values = (void *)0}; + __gen_e_acsl_initialized_50 = __e_acsl_initialized((void *)(q + 0), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_52,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_52, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_50 = __e_acsl_initialized((void *)(q + 0), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_52, "\\initialized(q + 0)",0, __gen_e_acsl_initialized_50); @@ -1404,11 +1386,11 @@ int main(void) int __gen_e_acsl_initialized_51; __e_acsl_assert_data_t __gen_e_acsl_assert_data_53 = {.values = (void *)0}; + __gen_e_acsl_initialized_51 = __e_acsl_initialized((void *)(q + 1), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_53,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_53, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_51 = __e_acsl_initialized((void *)(q + 1), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_53, "\\initialized(q + 1)",0, __gen_e_acsl_initialized_51); @@ -1427,11 +1409,11 @@ int main(void) int __gen_e_acsl_initialized_52; __e_acsl_assert_data_t __gen_e_acsl_assert_data_54 = {.values = (void *)0}; + __gen_e_acsl_initialized_52 = __e_acsl_initialized((void *)(q + 2), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_54,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_54, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_52 = __e_acsl_initialized((void *)(q + 2), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_54, "\\initialized(q + 2)",0, __gen_e_acsl_initialized_52); @@ -1450,11 +1432,11 @@ int main(void) int __gen_e_acsl_initialized_53; __e_acsl_assert_data_t __gen_e_acsl_assert_data_55 = {.values = (void *)0}; + __gen_e_acsl_initialized_53 = __e_acsl_initialized((void *)(q + 3), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_55,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_55, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_53 = __e_acsl_initialized((void *)(q + 3), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_55, "\\initialized(q + 3)",0, __gen_e_acsl_initialized_53); @@ -1473,11 +1455,11 @@ int main(void) int __gen_e_acsl_initialized_54; __e_acsl_assert_data_t __gen_e_acsl_assert_data_56 = {.values = (void *)0}; + __gen_e_acsl_initialized_54 = __e_acsl_initialized((void *)(q + 4), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_56,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_56, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_54 = __e_acsl_initialized((void *)(q + 4), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_56, "\\initialized(q + 4)",0, __gen_e_acsl_initialized_54); @@ -1496,11 +1478,11 @@ int main(void) int __gen_e_acsl_initialized_55; __e_acsl_assert_data_t __gen_e_acsl_assert_data_57 = {.values = (void *)0}; + __gen_e_acsl_initialized_55 = __e_acsl_initialized((void *)(q + 5), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_57,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_57, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_55 = __e_acsl_initialized((void *)(q + 5), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_57, "\\initialized(q + 5)",0, __gen_e_acsl_initialized_55); @@ -1521,11 +1503,11 @@ int main(void) int __gen_e_acsl_initialized_56; __e_acsl_assert_data_t __gen_e_acsl_assert_data_58 = {.values = (void *)0}; + __gen_e_acsl_initialized_56 = __e_acsl_initialized((void *)(q + 0), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_58,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_58, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_56 = __e_acsl_initialized((void *)(q + 0), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_58, "\\initialized(q + 0)",0, __gen_e_acsl_initialized_56); @@ -1544,11 +1526,11 @@ int main(void) int __gen_e_acsl_initialized_57; __e_acsl_assert_data_t __gen_e_acsl_assert_data_59 = {.values = (void *)0}; + __gen_e_acsl_initialized_57 = __e_acsl_initialized((void *)(q + 1), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_59,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_59, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_57 = __e_acsl_initialized((void *)(q + 1), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_59, "\\initialized(q + 1)",0, __gen_e_acsl_initialized_57); @@ -1567,11 +1549,11 @@ int main(void) int __gen_e_acsl_initialized_58; __e_acsl_assert_data_t __gen_e_acsl_assert_data_60 = {.values = (void *)0}; + __gen_e_acsl_initialized_58 = __e_acsl_initialized((void *)(q + 2), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_60,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_60, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_58 = __e_acsl_initialized((void *)(q + 2), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_60, "\\initialized(q + 2)",0, __gen_e_acsl_initialized_58); @@ -1595,10 +1577,10 @@ int main(void) int __gen_e_acsl_initialized_59; __e_acsl_assert_data_t __gen_e_acsl_assert_data_61 = {.values = (void *)0}; + __gen_e_acsl_initialized_59 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_61,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_61, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_59 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_61, "\\initialized(q)",0, __gen_e_acsl_initialized_59); @@ -1619,10 +1601,10 @@ int main(void) int __gen_e_acsl_initialized_60; __e_acsl_assert_data_t __gen_e_acsl_assert_data_62 = {.values = (void *)0}; + __gen_e_acsl_initialized_60 = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_62,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_62, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_60 = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_62, "\\initialized(p)",0, __gen_e_acsl_initialized_60); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_literal_string.c b/src/plugins/e-acsl/tests/memory/oracle/gen_literal_string.c index b96f4d881528aaa5b602c8bd83d7d09726b549e5..9c90bfa7b42b2ac2be3b8c8c91f5002fda808446 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_literal_string.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_literal_string.c @@ -23,17 +23,15 @@ void f(void) { int __gen_e_acsl_valid_read; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_char(& __gen_e_acsl_assert_data,"*(T + G)",0, - *(T + G)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(T + G), + sizeof(char),(void *)T, + (void *)(& T)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"T",(void *)T); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"G",0,G); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(T + G), - sizeof(char),(void *)T, - (void *)(& T)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(T + G)"; @@ -43,6 +41,8 @@ void f(void) __gen_e_acsl_assert_data_2.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); + __e_acsl_assert_register_char(& __gen_e_acsl_assert_data,"*(T + G)",0, + *(T + G)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "*(T + G) == \'b\'"; @@ -131,17 +131,15 @@ int main(void) { int __gen_e_acsl_valid_read; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_char(& __gen_e_acsl_assert_data,"*(S + G2)",0, - *(S + G2)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(S + G2), + sizeof(char),(void *)S, + (void *)(& S)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"S",(void *)S); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"G2",0,G2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(S + G2), - sizeof(char),(void *)S, - (void *)(& S)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(S + G2)"; @@ -151,6 +149,8 @@ int main(void) __gen_e_acsl_assert_data_2.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); + __e_acsl_assert_register_char(& __gen_e_acsl_assert_data,"*(S + G2)",0, + *(S + G2)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "*(S + G2) == \'o\'"; @@ -165,10 +165,10 @@ int main(void) int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)S,sizeof(char)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"S",(void *)S); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)S,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(S)",0, __gen_e_acsl_initialized); @@ -186,13 +186,13 @@ int main(void) int __gen_e_acsl_valid_read_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)S2,sizeof(char), + (void *)S2, + (void *)(& S2)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"S2", (void *)S2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)S2,sizeof(char), - (void *)S2, - (void *)(& S2)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid_read(S2)",0, __gen_e_acsl_valid_read_2); @@ -211,23 +211,23 @@ int main(void) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& SS), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&SS", (void *)(& SS)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& SS), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&SS)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)SS,sizeof(char),(void *)SS, + (void *)(& SS)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"SS", (void *)SS); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid = __e_acsl_valid((void *)SS,sizeof(char),(void *)SS, - (void *)(& SS)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\valid(SS)",0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_local_goto.c b/src/plugins/e-acsl/tests/memory/oracle/gen_local_goto.c index e4d49d91da56f58bfbb3e3cd1e6ef198a71ded5a..f840cc1462c1c119ce5ff33b2b50b8afd4fa807e 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_local_goto.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_local_goto.c @@ -61,12 +61,12 @@ int main(int argc, char const **argv) int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(& a),sizeof(int), + (void *)(& a),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(& a),sizeof(int), - (void *)(& a),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(&a)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -93,12 +93,12 @@ int main(int argc, char const **argv) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& b),sizeof(int), + (void *)(& b),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& b),sizeof(int), - (void *)(& b),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(&b)",0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_2.blocking = 1; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_local_var.c b/src/plugins/e-acsl/tests/memory/oracle/gen_local_var.c index 3af7fbac0b8352922aa0d272fce3388c96790276..2c193931715ae0e5afc4ce0bf92fc5dca7ac8067 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_local_var.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_local_var.c @@ -24,25 +24,25 @@ struct list *add(struct list *l, int i) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& new), + sizeof(struct list *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&new", (void *)(& new)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(struct list *)",0, sizeof(struct list *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& new), - sizeof(struct list *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&new)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)new,sizeof(struct list), + (void *)new,(void *)(& new)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"new", (void *)new); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(struct list)",0, sizeof(struct list)); - __gen_e_acsl_valid = __e_acsl_valid((void *)new,sizeof(struct list), - (void *)new,(void *)(& new)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(new)", 0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_mainargs.c b/src/plugins/e-acsl/tests/memory/oracle/gen_mainargs.c index 001a897e2695734026b59b298cb031c28e1463a8..608476b0834378db467b2c0b70f0b858ccc7d2dd 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_mainargs.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_mainargs.c @@ -67,19 +67,19 @@ int __gen_e_acsl_main(int argc, char **argv) int __gen_e_acsl_eq; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_block_length = __e_acsl_block_length((void *)argv); + __gmpz_init_set_ui(__gen_e_acsl_block_length_2,__gen_e_acsl_block_length); + __gmpz_init_set_si(__gen_e_acsl_,(argc + 1L) * 8); + __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_block_length_2), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"argv", (void *)argv); - __gen_e_acsl_block_length = __e_acsl_block_length((void *)argv); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "\\block_length(argv)",0, __gen_e_acsl_block_length); - __gmpz_init_set_ui(__gen_e_acsl_block_length_2,__gen_e_acsl_block_length); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"argc",0,argc); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "sizeof(char *)",0,8); - __gmpz_init_set_si(__gen_e_acsl_,(argc + 1L) * 8); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_block_length_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "Assertion"; __gen_e_acsl_assert_data_2.pred_txt = "\\block_length(argv) == (argc + 1) * sizeof(char *)"; @@ -96,20 +96,17 @@ int __gen_e_acsl_main(int argc, char **argv) int __gen_e_acsl_valid_read; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - /*@ assert Eva: mem_access: \valid_read(argv + argc); */ - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, - "*(argv + argc)",(void *)*(argv + argc)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(argv + argc), + sizeof(char *), + (void *)argv, + (void *)(& argv)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"argv", (void *)argv); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"argc",0,argc); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(argv + argc), - sizeof(char *), - (void *)argv, - (void *)(& argv)); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(argv + argc)"; @@ -119,6 +116,9 @@ int __gen_e_acsl_main(int argc, char **argv) __gen_e_acsl_assert_data_4.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); + /*@ assert Eva: mem_access: \valid_read(argv + argc); */ + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, + "*(argv + argc)",(void *)*(argv + argc)); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "Assertion"; __gen_e_acsl_assert_data_3.pred_txt = "*(argv + argc) == \\null"; @@ -135,34 +135,31 @@ int __gen_e_acsl_main(int argc, char **argv) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(argv + argc), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"argv", (void *)argv); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"argc",0,argc); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(argv + argc), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(argv + argc)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read_2; int __gen_e_acsl_valid_2; - /*@ assert Eva: mem_access: \valid_read(argv + argc); */ - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, - "*(argv + argc)",(void *)*(argv + argc)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(argv + argc), + sizeof(char *), + (void *)argv, + (void *)(& argv)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"argv", (void *)argv); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"argc",0, argc); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(argv + argc), - sizeof(char *), - (void *)argv, - (void *)(& argv)); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "RTE"; __gen_e_acsl_assert_data_6.pred_txt = "\\valid_read(argv + argc)"; @@ -172,13 +169,16 @@ int __gen_e_acsl_main(int argc, char **argv) __gen_e_acsl_assert_data_6.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_6); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, - "sizeof(char)",0,sizeof(char)); /*@ assert Eva: mem_access: \valid_read(argv + argc); */ __gen_e_acsl_valid_2 = __e_acsl_valid((void *)*(argv + argc), sizeof(char), (void *)*(argv + argc), (void *)(argv + argc)); + /*@ assert Eva: mem_access: \valid_read(argv + argc); */ + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, + "*(argv + argc)",(void *)*(argv + argc)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\valid(*(argv + argc))",0, __gen_e_acsl_valid_2); @@ -206,32 +206,30 @@ int __gen_e_acsl_main(int argc, char **argv) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(argv + i), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"argv", (void *)argv); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"i",0,i); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(argv + i), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized(argv + i)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_read_3; int __gen_e_acsl_valid_3; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, - "*(argv + i)",(void *)*(argv + i)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(argv + i), + sizeof(char *), + (void *)argv, + (void *)(& argv)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"argv", (void *)argv); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"i",0,i); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(argv + i), - sizeof(char *), - (void *)argv, - (void *)(& argv)); __gen_e_acsl_assert_data_8.blocking = 1; __gen_e_acsl_assert_data_8.kind = "RTE"; __gen_e_acsl_assert_data_8.pred_txt = "\\valid_read(argv + i)"; @@ -242,12 +240,14 @@ int __gen_e_acsl_main(int argc, char **argv) __e_acsl_assert(__gen_e_acsl_valid_read_3, & __gen_e_acsl_assert_data_8); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_3 = __e_acsl_valid((void *)*(argv + i), sizeof(char), (void *)*(argv + i), (void *)(argv + i)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, + "*(argv + i)",(void *)*(argv + i)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\valid(*(argv + i))",0, __gen_e_acsl_valid_3); @@ -278,17 +278,17 @@ int __gen_e_acsl_main(int argc, char **argv) int __gen_e_acsl_valid_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)( + argv + i), + sizeof(char *), + (void *)argv, + (void *)(& argv)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10, "argv",(void *)argv); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"i",0, i); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)( - argv + i), - sizeof(char *), - (void *)argv, - (void *)(& argv)); __gen_e_acsl_assert_data_10.blocking = 1; __gen_e_acsl_assert_data_10.kind = "RTE"; __gen_e_acsl_assert_data_10.pred_txt = "\\valid_read(argv + i)"; @@ -344,12 +344,12 @@ int main(int argc, char **argv) int __gen_e_acsl_valid; int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(& argc),sizeof(int), + (void *)(& argc),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&argc", (void *)(& argc)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(& argc),sizeof(int), - (void *)(& argc),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(&argc)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -362,12 +362,12 @@ int main(int argc, char **argv) __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& argv),sizeof(char **), + (void *)(& argv),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&argv", (void *)(& argv)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char **)",0,sizeof(char **)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& argv),sizeof(char **), - (void *)(& argv),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(&argv)",0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_2.blocking = 1; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_memalign.c b/src/plugins/e-acsl/tests/memory/oracle/gen_memalign.c index fadac7c1f5d6af6e3f363e5190c5dfe4b766a52c..b470fc61da2ee59b57e101ee1e69944212557338 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_memalign.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_memalign.c @@ -71,22 +71,22 @@ int main(int argc, char const **argv) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(char),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(char),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -106,8 +106,8 @@ int main(int argc, char const **argv) unsigned long __gen_e_acsl_block_length; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p",(void *)p); __gen_e_acsl_block_length = __e_acsl_block_length((void *)p); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "\\block_length(p)",0, __gen_e_acsl_block_length); @@ -126,8 +126,8 @@ int main(int argc, char const **argv) int __gen_e_acsl_freeable; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p",(void *)p); __gen_e_acsl_freeable = __e_acsl_freeable((void *)p); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p",(void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\freeable(p)",0,__gen_e_acsl_freeable); __gen_e_acsl_assert_data_3.blocking = 1; @@ -146,23 +146,23 @@ int main(int argc, char const **argv) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&p)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)p,sizeof(char),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)p,sizeof(char),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"\\valid(p)", 0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; @@ -247,23 +247,23 @@ int main(int argc, char const **argv) int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& a), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& a), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(&a)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)a,sizeof(char),(void *)a, + (void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"a", (void *)a); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)a,sizeof(char),(void *)a, - (void *)(& a)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"\\valid(a)", 0,__gen_e_acsl_valid_3); __gen_e_acsl_and_3 = __gen_e_acsl_valid_3; @@ -283,8 +283,8 @@ int main(int argc, char const **argv) unsigned long __gen_e_acsl_block_length_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"a",(void *)a); __gen_e_acsl_block_length_2 = __e_acsl_block_length((void *)a); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"a",(void *)a); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "\\block_length(a)",0, __gen_e_acsl_block_length_2); @@ -303,8 +303,8 @@ int main(int argc, char const **argv) int __gen_e_acsl_freeable_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"a",(void *)a); __gen_e_acsl_freeable_2 = __e_acsl_freeable((void *)a); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"a",(void *)a); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "\\freeable(a)",0,__gen_e_acsl_freeable_2); __gen_e_acsl_assert_data_11.blocking = 1; @@ -323,23 +323,23 @@ int main(int argc, char const **argv) int __gen_e_acsl_and_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& a), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& a), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "\\initialized(&a)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)a,sizeof(char),(void *)a, + (void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"a", (void *)a); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)a,sizeof(char),(void *)a, - (void *)(& a)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "\\valid(a)",0,__gen_e_acsl_valid_4); __gen_e_acsl_and_4 = __gen_e_acsl_valid_4; @@ -407,12 +407,12 @@ int __gen_e_acsl_posix_memalign(void **memptr, size_t alignment, size_t size) __e_acsl_store_block((void *)(& memptr),8UL); __gen_e_acsl_contract = __e_acsl_contract_init(2UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)memptr,sizeof(void *), + (void *)memptr,(void *)(& memptr)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"memptr", (void *)memptr); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(void *)",0,sizeof(void *)); - __gen_e_acsl_valid = __e_acsl_valid((void *)memptr,sizeof(void *), - (void *)memptr,(void *)(& memptr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(memptr)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -436,11 +436,7 @@ int __gen_e_acsl_posix_memalign(void **memptr, size_t alignment, size_t size) __e_acsl_mpz_t __gen_e_acsl_sub; __e_acsl_mpz_t __gen_e_acsl_band; unsigned long __gen_e_acsl__3; - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, - "alignment",0,alignment); __gmpz_init_set_ui(__gen_e_acsl_,alignment); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, - "alignment",0,alignment); __gmpz_init_set_si(__gen_e_acsl__2,1L); __gmpz_init(__gen_e_acsl_sub); __gmpz_sub(__gen_e_acsl_sub, @@ -451,6 +447,10 @@ int __gen_e_acsl_posix_memalign(void **memptr, size_t alignment, size_t size) (__e_acsl_mpz_struct const *)(__gen_e_acsl_), (__e_acsl_mpz_struct const *)(__gen_e_acsl_sub)); __gen_e_acsl__3 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_band)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, + "alignment",0,alignment); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, + "alignment",0,alignment); __gen_e_acsl_and = __gen_e_acsl__3 == 0UL; __gmpz_clear(__gen_e_acsl_); __gmpz_clear(__gen_e_acsl__2); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_offset.c b/src/plugins/e-acsl/tests/memory/oracle/gen_offset.c index 12164ac136e64966168742cd4703240c3fcca8be..bfd775ec671682f43dba5573e375f8b85be559d6 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_offset.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_offset.c @@ -40,9 +40,9 @@ int main(void) { unsigned long __gen_e_acsl_offset; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_offset = __e_acsl_offset((void *)(A)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"(int *)A", (void *)(A)); - __gen_e_acsl_offset = __e_acsl_offset((void *)(A)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "\\offset((int *)A)",0, __gen_e_acsl_offset); @@ -60,9 +60,9 @@ int main(void) unsigned long __gen_e_acsl_offset_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_offset_2 = __e_acsl_offset((void *)(& A[3])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&A[3]", (void *)(& A[3])); - __gen_e_acsl_offset_2 = __e_acsl_offset((void *)(& A[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "\\offset(&A[3])",0,__gen_e_acsl_offset_2); __gen_e_acsl_assert_data_2.blocking = 1; @@ -80,9 +80,9 @@ int main(void) unsigned long __gen_e_acsl_offset_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_offset_3 = __e_acsl_offset((void *)PA); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"PA", (void *)PA); - __gen_e_acsl_offset_3 = __e_acsl_offset((void *)PA); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "\\offset(PA)",0,__gen_e_acsl_offset_3); __gen_e_acsl_assert_data_3.blocking = 1; @@ -101,9 +101,9 @@ int main(void) unsigned long __gen_e_acsl_offset_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_offset_4 = __e_acsl_offset((void *)(PA + 1)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"PA", (void *)PA); - __gen_e_acsl_offset_4 = __e_acsl_offset((void *)(PA + 1)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "\\offset(PA + 1)",0, __gen_e_acsl_offset_4); @@ -125,9 +125,9 @@ int main(void) unsigned long __gen_e_acsl_offset_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_offset_5 = __e_acsl_offset((void *)(a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"(int *)a", (void *)(a)); - __gen_e_acsl_offset_5 = __e_acsl_offset((void *)(a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "\\offset((int *)a)",0, __gen_e_acsl_offset_5); @@ -146,9 +146,9 @@ int main(void) unsigned long __gen_e_acsl_offset_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_offset_6 = __e_acsl_offset((void *)(& a[1])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&a[1]", (void *)(& a[1])); - __gen_e_acsl_offset_6 = __e_acsl_offset((void *)(& a[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "\\offset(&a[1])",0,__gen_e_acsl_offset_6); __gen_e_acsl_assert_data_6.blocking = 1; @@ -166,9 +166,9 @@ int main(void) unsigned long __gen_e_acsl_offset_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_offset_7 = __e_acsl_offset((void *)(& a[3])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&a[3]", (void *)(& a[3])); - __gen_e_acsl_offset_7 = __e_acsl_offset((void *)(& a[3])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "\\offset(&a[3])",0,__gen_e_acsl_offset_7); __gen_e_acsl_assert_data_7.blocking = 1; @@ -192,9 +192,9 @@ int main(void) unsigned long __gen_e_acsl_offset_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_offset_8 = __e_acsl_offset((void *)(& l)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"&l", (void *)(& l)); - __gen_e_acsl_offset_8 = __e_acsl_offset((void *)(& l)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "\\offset(&l)",0,__gen_e_acsl_offset_8); __gen_e_acsl_assert_data_8.blocking = 1; @@ -212,9 +212,9 @@ int main(void) unsigned long __gen_e_acsl_offset_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_offset_9 = __e_acsl_offset((void *)pl); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"pl", (void *)pl); - __gen_e_acsl_offset_9 = __e_acsl_offset((void *)pl); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "\\offset(pl)",0,__gen_e_acsl_offset_9); __gen_e_acsl_assert_data_9.blocking = 1; @@ -232,9 +232,9 @@ int main(void) unsigned long __gen_e_acsl_offset_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_offset_10 = __e_acsl_offset((void *)(pl + 1)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"pl", (void *)pl); - __gen_e_acsl_offset_10 = __e_acsl_offset((void *)(pl + 1)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "\\offset(pl + 1)",0, __gen_e_acsl_offset_10); @@ -253,9 +253,9 @@ int main(void) unsigned long __gen_e_acsl_offset_11; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; + __gen_e_acsl_offset_11 = __e_acsl_offset((void *)(pl + 7)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"pl", (void *)pl); - __gen_e_acsl_offset_11 = __e_acsl_offset((void *)(pl + 7)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_11, "\\offset(pl + 7)",0, __gen_e_acsl_offset_11); @@ -277,9 +277,9 @@ int main(void) unsigned long __gen_e_acsl_offset_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_offset_12 = __e_acsl_offset((void *)pi); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"pi", (void *)pi); - __gen_e_acsl_offset_12 = __e_acsl_offset((void *)pi); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "\\offset(pi)",0,__gen_e_acsl_offset_12); __gen_e_acsl_assert_data_12.blocking = 1; @@ -299,9 +299,9 @@ int main(void) unsigned long __gen_e_acsl_offset_13; __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 = {.values = (void *)0}; + __gen_e_acsl_offset_13 = __e_acsl_offset((void *)pi); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,"pi", (void *)pi); - __gen_e_acsl_offset_13 = __e_acsl_offset((void *)pi); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_13, "\\offset(pi)",0,__gen_e_acsl_offset_13); __gen_e_acsl_assert_data_13.blocking = 1; @@ -322,8 +322,8 @@ int main(void) unsigned long __gen_e_acsl_offset_14; __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14,"p",(void *)p); __gen_e_acsl_offset_14 = __e_acsl_offset((void *)p); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_14, "\\offset(p)",0,__gen_e_acsl_offset_14); __gen_e_acsl_assert_data_14.blocking = 1; @@ -341,8 +341,8 @@ int main(void) unsigned long __gen_e_acsl_offset_15; __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15,"p",(void *)p); __gen_e_acsl_offset_15 = __e_acsl_offset((void *)(p + 1)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_15, "\\offset(p + 1)",0, __gen_e_acsl_offset_15); @@ -361,8 +361,8 @@ int main(void) unsigned long __gen_e_acsl_offset_16; __e_acsl_assert_data_t __gen_e_acsl_assert_data_16 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16,"p",(void *)p); __gen_e_acsl_offset_16 = __e_acsl_offset((void *)(p + 11)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_16, "\\offset(p + 11)",0, __gen_e_acsl_offset_16); @@ -383,8 +383,8 @@ int main(void) unsigned long __gen_e_acsl_offset_17; __e_acsl_assert_data_t __gen_e_acsl_assert_data_17 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17,"p",(void *)p); __gen_e_acsl_offset_17 = __e_acsl_offset((void *)(p + 5)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_17, "\\offset(p + 5)",0, __gen_e_acsl_offset_17); @@ -403,8 +403,8 @@ int main(void) unsigned long __gen_e_acsl_offset_18; __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18,"p",(void *)p); __gen_e_acsl_offset_18 = __e_acsl_offset((void *)(p - 5)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_18, "\\offset(p - 5)",0, __gen_e_acsl_offset_18); @@ -426,8 +426,8 @@ int main(void) unsigned long __gen_e_acsl_offset_19; __e_acsl_assert_data_t __gen_e_acsl_assert_data_19 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_19,"q",(void *)q); __gen_e_acsl_offset_19 = __e_acsl_offset((void *)q); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_19,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_19, "\\offset(q)",0,__gen_e_acsl_offset_19); __gen_e_acsl_assert_data_19.blocking = 1; @@ -447,8 +447,8 @@ int main(void) unsigned long __gen_e_acsl_offset_20; __e_acsl_assert_data_t __gen_e_acsl_assert_data_20 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_20,"q",(void *)q); __gen_e_acsl_offset_20 = __e_acsl_offset((void *)q); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_20,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_20, "\\offset(q)",0,__gen_e_acsl_offset_20); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20, @@ -470,8 +470,8 @@ int main(void) unsigned long __gen_e_acsl_offset_21; __e_acsl_assert_data_t __gen_e_acsl_assert_data_21 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_21,"q",(void *)q); __gen_e_acsl_offset_21 = __e_acsl_offset((void *)q); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_21,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_21, "\\offset(q)",0,__gen_e_acsl_offset_21); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_21, @@ -493,8 +493,8 @@ int main(void) unsigned long __gen_e_acsl_offset_22; __e_acsl_assert_data_t __gen_e_acsl_assert_data_22 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_22,"q",(void *)q); __gen_e_acsl_offset_22 = __e_acsl_offset((void *)q); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_22,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_22, "\\offset(q)",0,__gen_e_acsl_offset_22); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22, diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_ptr.c b/src/plugins/e-acsl/tests/memory/oracle/gen_ptr.c index 68e0b7f75809a95f5b9246040e24078dbf05fece..1c8d569a632f0243b19e91515274045c5627f269 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_ptr.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_ptr.c @@ -25,23 +25,22 @@ int main(void) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"*p",0,*p); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)p,sizeof(int), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)p,sizeof(int), - (void *)p,(void *)(& p)); __gen_e_acsl_and = __gen_e_acsl_valid_read; } else __gen_e_acsl_and = 0; @@ -54,6 +53,7 @@ int main(void) __gen_e_acsl_assert_data_2.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"*p",0,*p); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "*p == 1"; @@ -114,9 +114,6 @@ int main(void) { __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"t[i]",0, - t[i]); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"i",0,i); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"i",0,i); @@ -141,6 +138,9 @@ int main(void) __gen_e_acsl_assert_data_8.name = "index_bound"; __e_acsl_assert(0 <= i,& __gen_e_acsl_assert_data_8); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"t[i]",0, + t[i]); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"i",0,i); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "Assertion"; __gen_e_acsl_assert_data_6.pred_txt = "t[i] == i + 2"; @@ -154,9 +154,6 @@ int main(void) { __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"t[2 - i]", - 0,t[2L - i]); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"i",0,i); __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"i",0,i); @@ -181,6 +178,9 @@ int main(void) __gen_e_acsl_assert_data_11.name = "index_bound"; __e_acsl_assert(0L <= 2L - i,& __gen_e_acsl_assert_data_11); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"t[2 - i]", + 0,t[2L - i]); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"i",0,i); __gen_e_acsl_assert_data_9.blocking = 1; __gen_e_acsl_assert_data_9.kind = "Assertion"; __gen_e_acsl_assert_data_9.pred_txt = "t[2 - i] == 4 - i"; @@ -196,20 +196,17 @@ int main(void) int __gen_e_acsl_valid_read_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, - "*(&t[2] - i)",0,*(& t[2] - i)); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"i",0,i); __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 = {.values = (void *)0}; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(& t[2] - i), + sizeof(int), + (void *)(t), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,"&t[2]", (void *)(& t[2])); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"i",0,i); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_13, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(& t[2] - i), - sizeof(int), - (void *)(t), - (void *)0); __gen_e_acsl_assert_data_13.blocking = 1; __gen_e_acsl_assert_data_13.kind = "RTE"; __gen_e_acsl_assert_data_13.pred_txt = "\\valid_read(&t[2] - i)"; @@ -220,6 +217,9 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_2, & __gen_e_acsl_assert_data_13); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_13); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, + "*(&t[2] - i)",0,*(& t[2] - i)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"i",0,i); __gen_e_acsl_assert_data_12.blocking = 1; __gen_e_acsl_assert_data_12.kind = "Assertion"; __gen_e_acsl_assert_data_12.pred_txt = "*(&t[2] - i) == 4 - i"; @@ -243,24 +243,23 @@ int main(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"*p",0,*p); __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_15, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_read_3; + __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)p,sizeof(int), + (void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_15, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)p,sizeof(int), - (void *)p, - (void *)(& p)); __gen_e_acsl_and_2 = __gen_e_acsl_valid_read_3; } else __gen_e_acsl_and_2 = 0; @@ -273,6 +272,7 @@ int main(void) __gen_e_acsl_assert_data_15.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and_2,& __gen_e_acsl_assert_data_15); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_15); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"*p",0,*p); __gen_e_acsl_assert_data_14.blocking = 1; __gen_e_acsl_assert_data_14.kind = "Assertion"; __gen_e_acsl_assert_data_14.pred_txt = "*p == 5"; @@ -288,17 +288,15 @@ int main(void) int __gen_e_acsl_valid_read_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_16 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"*(p + k)",0, - *(p + k)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_17 = {.values = (void *)0}; + __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(p + k), + sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17,"p",(void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"k",0,k); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_17, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(p + k), - sizeof(int),(void *)p, - (void *)(& p)); __gen_e_acsl_assert_data_17.blocking = 1; __gen_e_acsl_assert_data_17.kind = "RTE"; __gen_e_acsl_assert_data_17.pred_txt = "\\valid_read(p + k)"; @@ -308,6 +306,8 @@ int main(void) __gen_e_acsl_assert_data_17.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read_4,& __gen_e_acsl_assert_data_17); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_17); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"*(p + k)",0, + *(p + k)); __gen_e_acsl_assert_data_16.blocking = 1; __gen_e_acsl_assert_data_16.kind = "Assertion"; __gen_e_acsl_assert_data_16.pred_txt = "*(p + k) == 3"; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_ptr_init.c b/src/plugins/e-acsl/tests/memory/oracle/gen_ptr_init.c index a30ed671ba7f890805f5f957ab23bb86fbe11f6a..6f0a592123b6d10fe56ff34d87384d982091d6e2 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_ptr_init.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_ptr_init.c @@ -85,12 +85,12 @@ int main(void) int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& x), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&x", (void *)(& x)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& x), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&x)",0, __gen_e_acsl_initialized); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_ranges_in_builtins.c b/src/plugins/e-acsl/tests/memory/oracle/gen_ranges_in_builtins.c index b9c6e8b0ed6c1a13c88b0137cf0540f0017b1a58..6fb11fbc1086ecc71d844419e4c02596e54227d5 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_ranges_in_builtins.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_ranges_in_builtins.c @@ -60,23 +60,21 @@ int main(void) int __gen_e_acsl_if; int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_size = 4 * ((4 - 0) + 1); + if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; + else __gen_e_acsl_if = __gen_e_acsl_size; + __gen_e_acsl_valid = __e_acsl_valid((void *)((char *)a + 4 * 0), + (size_t)__gen_e_acsl_if,(void *)a, + (void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"a",(void *)a); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(int)",0, 4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(int)",0, 4); - __gen_e_acsl_size = 4 * ((4 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, __gen_e_acsl_size); - if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } - __gen_e_acsl_valid = __e_acsl_valid((void *)((char *)a + 4 * 0), - (size_t)__gen_e_acsl_if,(void *)a, - (void *)(& a)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"size",0, + __gen_e_acsl_size); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(a + (0 .. 4))",0, __gen_e_acsl_valid); @@ -97,24 +95,22 @@ int main(void) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_size_2 = 4L * (((7L + j) - 4L) + 1L); + if (__gen_e_acsl_size_2 <= 0L) __gen_e_acsl_if_2 = 0L; + else __gen_e_acsl_if_2 = __gen_e_acsl_size_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)((char *)a + 4 * 4), + (size_t)__gen_e_acsl_if_2, + (void *)a,(void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"a",(void *)a); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"j",0,j); - __gen_e_acsl_size_2 = 4L * (((7L + j) - 4L) + 1L); __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_2,"size",0, __gen_e_acsl_size_2); - if (__gen_e_acsl_size_2 <= 0L) __gen_e_acsl_if_2 = 0L; - else { - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_2,"size",0, - __gen_e_acsl_size_2); - __gen_e_acsl_if_2 = __gen_e_acsl_size_2; - } - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)((char *)a + 4 * 4), - (size_t)__gen_e_acsl_if_2, - (void *)a,(void *)(& a)); + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_2,"size",0, + __gen_e_acsl_size_2); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(a + (4 .. 7 + j))",0, __gen_e_acsl_valid_2); @@ -134,23 +130,21 @@ int main(void) int __gen_e_acsl_valid_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_size_3 = 4 * ((11 - 10) + 1); + if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; + else __gen_e_acsl_if_3 = __gen_e_acsl_size_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)((char *)a + 4 * 10), + (size_t)__gen_e_acsl_if_3, + (void *)a,(void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"a",(void *)a); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(int)", 0,4); - __gen_e_acsl_size_3 = 4 * ((11 - 10) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"size",0, __gen_e_acsl_size_3); - if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"size",0, - __gen_e_acsl_size_3); - __gen_e_acsl_if_3 = __gen_e_acsl_size_3; - } - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)((char *)a + 4 * 10), - (size_t)__gen_e_acsl_if_3, - (void *)a,(void *)(& a)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"size",0, + __gen_e_acsl_size_3); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(a + (10 .. 11))",0, __gen_e_acsl_valid_3); @@ -173,23 +167,21 @@ int main(void) int __gen_e_acsl_valid_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_size_4 = 1 * ((9 - 0) + 1); + if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; + else __gen_e_acsl_if_4 = __gen_e_acsl_size_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(b + 1 * 0), + (size_t)__gen_e_acsl_if_4, + (void *)b,(void *)(& b)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"b",(void *)b); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"sizeof(char)", 0,1); - __gen_e_acsl_size_4 = 1 * ((9 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, __gen_e_acsl_size_4); - if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, - __gen_e_acsl_size_4); - __gen_e_acsl_if_4 = __gen_e_acsl_size_4; - } - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(b + 1 * 0), - (size_t)__gen_e_acsl_if_4, - (void *)b,(void *)(& b)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"size",0, + __gen_e_acsl_size_4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(b + (0 .. 9))",0, __gen_e_acsl_valid_4); @@ -209,23 +201,21 @@ int main(void) int __gen_e_acsl_valid_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_size_5 = 1 * ((15 - 10) + 1); + if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; + else __gen_e_acsl_if_5 = __gen_e_acsl_size_5; + __gen_e_acsl_valid_5 = __e_acsl_valid((void *)(b + 1 * 10), + (size_t)__gen_e_acsl_if_5, + (void *)b,(void *)(& b)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"b",(void *)b); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"sizeof(char)", 0,1); - __gen_e_acsl_size_5 = 1 * ((15 - 10) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, __gen_e_acsl_size_5); - if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, - __gen_e_acsl_size_5); - __gen_e_acsl_if_5 = __gen_e_acsl_size_5; - } - __gen_e_acsl_valid_5 = __e_acsl_valid((void *)(b + 1 * 10), - (size_t)__gen_e_acsl_if_5, - (void *)b,(void *)(& b)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"size",0, + __gen_e_acsl_size_5); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\valid(b + (10 .. 15))",0, __gen_e_acsl_valid_5); @@ -248,24 +238,22 @@ int main(void) int __gen_e_acsl_valid_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_size_6 = 8 * ((2 - 0) + 1); + if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; + else __gen_e_acsl_if_6 = __gen_e_acsl_size_6; + __gen_e_acsl_valid_6 = __e_acsl_valid((void *)((char *)(t) + 8 * 0), + (size_t)__gen_e_acsl_if_6, + (void *)(t),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"(long *)t", (void *)(t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(long)", 0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"sizeof(long)", 0,8); - __gen_e_acsl_size_6 = 8 * ((2 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, __gen_e_acsl_size_6); - if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, - __gen_e_acsl_size_6); - __gen_e_acsl_if_6 = __gen_e_acsl_size_6; - } - __gen_e_acsl_valid_6 = __e_acsl_valid((void *)((char *)(t) + 8 * 0), - (size_t)__gen_e_acsl_if_6, - (void *)(t),(void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"size",0, + __gen_e_acsl_size_6); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\valid(&t[0 .. 2])",0, __gen_e_acsl_valid_6); @@ -285,24 +273,22 @@ int main(void) int __gen_e_acsl_valid_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_size_7 = 8 * ((5 - 3) + 1); + if (__gen_e_acsl_size_7 <= 0) __gen_e_acsl_if_7 = 0; + else __gen_e_acsl_if_7 = __gen_e_acsl_size_7; + __gen_e_acsl_valid_7 = __e_acsl_valid((void *)((char *)(t) + 8 * 3), + (size_t)__gen_e_acsl_if_7, + (void *)(t),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"(long *)t", (void *)(t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(long)", 0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"sizeof(long)", 0,8); - __gen_e_acsl_size_7 = 8 * ((5 - 3) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"size",0, __gen_e_acsl_size_7); - if (__gen_e_acsl_size_7 <= 0) __gen_e_acsl_if_7 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"size",0, - __gen_e_acsl_size_7); - __gen_e_acsl_if_7 = __gen_e_acsl_size_7; - } - __gen_e_acsl_valid_7 = __e_acsl_valid((void *)((char *)(t) + 8 * 3), - (size_t)__gen_e_acsl_if_7, - (void *)(t),(void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"size",0, + __gen_e_acsl_size_7); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\valid(&t[3 .. 5])",0, __gen_e_acsl_valid_7); @@ -327,24 +313,22 @@ int main(void) int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_size_8 = 8 * ((1 - 0) + 1); + if (__gen_e_acsl_size_8 <= 0) __gen_e_acsl_if_8 = 0; + else __gen_e_acsl_if_8 = __gen_e_acsl_size_8; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)((char *)(t2) + + 8 * 0), + (size_t)__gen_e_acsl_if_8); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"(double *)t2", (void *)(t2)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "sizeof(double)",0,8); - __gen_e_acsl_size_8 = 8 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, __gen_e_acsl_size_8); - if (__gen_e_acsl_size_8 <= 0) __gen_e_acsl_if_8 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, - __gen_e_acsl_size_8); - __gen_e_acsl_if_8 = __gen_e_acsl_size_8; - } - __gen_e_acsl_initialized = __e_acsl_initialized((void *)((char *)(t2) + - 8 * 0), - (size_t)__gen_e_acsl_if_8); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"size",0, + __gen_e_acsl_size_8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized(&t2[0 .. 1])",0, __gen_e_acsl_initialized); @@ -364,24 +348,22 @@ int main(void) int __gen_e_acsl_initialized_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_size_9 = 8 * ((3 - 2) + 1); + if (__gen_e_acsl_size_9 <= 0) __gen_e_acsl_if_9 = 0; + else __gen_e_acsl_if_9 = __gen_e_acsl_size_9; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)((char *)(t2) + + 8 * 2), + (size_t)__gen_e_acsl_if_9); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"(double *)t2", (void *)(t2)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "sizeof(double)",0,8); - __gen_e_acsl_size_9 = 8 * ((3 - 2) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, __gen_e_acsl_size_9); - if (__gen_e_acsl_size_9 <= 0) __gen_e_acsl_if_9 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, - __gen_e_acsl_size_9); - __gen_e_acsl_if_9 = __gen_e_acsl_size_9; - } - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)((char *)(t2) + - 8 * 2), - (size_t)__gen_e_acsl_if_9); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"size",0, + __gen_e_acsl_size_9); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(&t2[2 .. 3])",0, __gen_e_acsl_initialized_2); @@ -402,22 +384,20 @@ int main(void) int __gen_e_acsl_initialized_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_size_10 = 1 * ((9 - 0) + 1); + if (__gen_e_acsl_size_10 <= 0) __gen_e_acsl_if_10 = 0; + else __gen_e_acsl_if_10 = __gen_e_acsl_size_10; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(b + 1 * 0), + (size_t)__gen_e_acsl_if_10); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"b",(void *)b); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "sizeof(char)",0,1); - __gen_e_acsl_size_10 = 1 * ((9 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, __gen_e_acsl_size_10); - if (__gen_e_acsl_size_10 <= 0) __gen_e_acsl_if_10 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, - __gen_e_acsl_size_10); - __gen_e_acsl_if_10 = __gen_e_acsl_size_10; - } - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(b + 1 * 0), - (size_t)__gen_e_acsl_if_10); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, + __gen_e_acsl_size_10); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\initialized(b + (0 .. 9))",0, __gen_e_acsl_initialized_3); @@ -494,26 +474,24 @@ int main(void) int __gen_e_acsl_valid_read; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_size_11 = 4 * ((10 - 2) + 1); + if (__gen_e_acsl_size_11 <= 0) __gen_e_acsl_if_11 = 0; + else __gen_e_acsl_if_11 = __gen_e_acsl_size_11; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)((char *)(& t3[6][1][0]) + + 4 * 2), + (size_t)__gen_e_acsl_if_11, + (void *)(& t3[0][0][0]), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12, "&t3[6][1][0]",(void *)(& t3[6][1][0])); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "sizeof(float)",0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "sizeof(float)",0,4); - __gen_e_acsl_size_11 = 4 * ((10 - 2) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"size",0, __gen_e_acsl_size_11); - if (__gen_e_acsl_size_11 <= 0) __gen_e_acsl_if_11 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"size",0, - __gen_e_acsl_size_11); - __gen_e_acsl_if_11 = __gen_e_acsl_size_11; - } - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)((char *)(& t3[6][1][0]) + - 4 * 2), - (size_t)__gen_e_acsl_if_11, - (void *)(& t3[0][0][0]), - (void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"size",0, + __gen_e_acsl_size_11); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "\\valid_read(&t3[6][1][0] + (2 .. 10))",0, __gen_e_acsl_valid_read); @@ -619,24 +597,22 @@ int main(void) int __gen_e_acsl_initialized_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 = {.values = (void *)0}; + __gen_e_acsl_size_12 = 4 * ((1 - 1) + 1); + if (__gen_e_acsl_size_12 <= 0) __gen_e_acsl_if_12 = 0; + else __gen_e_acsl_if_12 = __gen_e_acsl_size_12; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)((char *)(& s.a[0]) + + 4 * 1), + (size_t)__gen_e_acsl_if_12); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15,"&s.a[0]", (void *)(& s.a[0])); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"sizeof(int)", 0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"sizeof(int)", 0,4); - __gen_e_acsl_size_12 = 4 * ((1 - 1) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"size",0, __gen_e_acsl_size_12); - if (__gen_e_acsl_size_12 <= 0) __gen_e_acsl_if_12 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"size",0, - __gen_e_acsl_size_12); - __gen_e_acsl_if_12 = __gen_e_acsl_size_12; - } - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)((char *)(& s.a[0]) + - 4 * 1), - (size_t)__gen_e_acsl_if_12); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"size",0, + __gen_e_acsl_size_12); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15, "\\initialized(&s.a[0] + (1 .. 1))",0, __gen_e_acsl_initialized_5); @@ -656,25 +632,23 @@ int main(void) int __gen_e_acsl_initialized_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_16 = {.values = (void *)0}; + __gen_e_acsl_size_13 = 4 * ((1 - 0) + 1); + if (__gen_e_acsl_size_13 <= 0) __gen_e_acsl_if_13 = 0; + else __gen_e_acsl_if_13 = __gen_e_acsl_size_13; /*@ assert Eva: initialization: \initialized(&s.b); */ + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)((char *)s.b + + 4 * 0), + (size_t)__gen_e_acsl_if_13); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16,"s.b", (void *)s.b); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16, "sizeof(float)",0,4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16, "sizeof(float)",0,4); - __gen_e_acsl_size_13 = 4 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"size",0, __gen_e_acsl_size_13); - if (__gen_e_acsl_size_13 <= 0) __gen_e_acsl_if_13 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"size",0, - __gen_e_acsl_size_13); - __gen_e_acsl_if_13 = __gen_e_acsl_size_13; - } - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)((char *)s.b + - 4 * 0), - (size_t)__gen_e_acsl_if_13); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"size",0, + __gen_e_acsl_size_13); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16, "\\initialized(s.b + (0 .. 1))",0, __gen_e_acsl_initialized_6); @@ -707,21 +681,16 @@ int main(void) int __gen_e_acsl_valid_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_17 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17, - "*(multi_dynamic + 4)", - (void *)*(multi_dynamic + 4)); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"sizeof(int)", - 0,4); __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18, - "multi_dynamic",(void *)multi_dynamic); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_18, - "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(multi_dynamic + 4), sizeof(int *), (void *)multi_dynamic, (void *)(& multi_dynamic)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18, + "multi_dynamic",(void *)multi_dynamic); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_18, + "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_assert_data_18.blocking = 1; __gen_e_acsl_assert_data_18.kind = "RTE"; __gen_e_acsl_assert_data_18.pred_txt = "\\valid_read(multi_dynamic + 4)"; @@ -731,22 +700,25 @@ int main(void) __gen_e_acsl_assert_data_18.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read_3,& __gen_e_acsl_assert_data_18); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_18); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"sizeof(int)", - 0,4); __gen_e_acsl_size_14 = 4 * ((7 - 1) + 1); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"size",0, - __gen_e_acsl_size_14); if (__gen_e_acsl_size_14 <= 0) __gen_e_acsl_if_14 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"size",0, - __gen_e_acsl_size_14); - __gen_e_acsl_if_14 = __gen_e_acsl_size_14; - } + else __gen_e_acsl_if_14 = __gen_e_acsl_size_14; __gen_e_acsl_valid_9 = __e_acsl_valid((void *)((char *)*(multi_dynamic + 4) + 4 * 1), (size_t)__gen_e_acsl_if_14, (void *)*(multi_dynamic + 4), (void *)(multi_dynamic + 4)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17, + "*(multi_dynamic + 4)", + (void *)*(multi_dynamic + 4)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"sizeof(int)", + 0,4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"sizeof(int)", + 0,4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"size",0, + __gen_e_acsl_size_14); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"size",0, + __gen_e_acsl_size_14); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17, "\\valid(*(multi_dynamic + 4) + (1 .. 7))", 0,__gen_e_acsl_valid_9); @@ -780,24 +752,22 @@ int main(void) int __gen_e_acsl_valid_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_20 = {.values = (void *)0}; + __gen_e_acsl_size_15 = 1 * ((3 - 2) + 1); + if (__gen_e_acsl_size_15 <= 0) __gen_e_acsl_if_15 = 0; + else __gen_e_acsl_if_15 = __gen_e_acsl_size_15; + __gen_e_acsl_valid_10 = __e_acsl_valid((void *)(t5 + 1 * 2), + (size_t)__gen_e_acsl_if_15, + (void *)(t5),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_20,"(char *)t5", (void *)(t5)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20, "sizeof(char)",0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20, "sizeof(char)",0,1); - __gen_e_acsl_size_15 = 1 * ((3 - 2) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20,"size",0, __gen_e_acsl_size_15); - if (__gen_e_acsl_size_15 <= 0) __gen_e_acsl_if_15 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20,"size",0, - __gen_e_acsl_size_15); - __gen_e_acsl_if_15 = __gen_e_acsl_size_15; - } - __gen_e_acsl_valid_10 = __e_acsl_valid((void *)(t5 + 1 * 2), - (size_t)__gen_e_acsl_if_15, - (void *)(t5),(void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20,"size",0, + __gen_e_acsl_size_15); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_20, "\\valid(&t5[2 .. 3])",0, __gen_e_acsl_valid_10); @@ -856,14 +826,7 @@ void __gen_e_acsl_g(long *ptr, size_t size) __gmpz_init_set(__gen_e_acsl_at_2, (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"ptr", - (void *)ptr); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(long)",0, - 8); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(long)",0, - 8); __gmpz_init_set_si(__gen_e_acsl_sizeof,8L); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"size",0,size); __gmpz_init_set_ui(__gen_e_acsl_size_3,size); __gmpz_init_set_si(__gen_e_acsl_,1L); __gmpz_init(__gen_e_acsl_sub); @@ -885,8 +848,6 @@ void __gen_e_acsl_g(long *ptr, size_t size) (__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); __gmpz_init_set(__gen_e_acsl_size_2, (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); if (__gen_e_acsl_le <= 0) { @@ -896,21 +857,14 @@ void __gen_e_acsl_g(long *ptr, size_t size) (__e_acsl_mpz_struct const *)(__gen_e_acsl__3)); __gmpz_clear(__gen_e_acsl__3); } - else { - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); - __gmpz_init_set(__gen_e_acsl_if, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); - } + else __gmpz_init_set(__gen_e_acsl_if, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_2, - "__gen_e_acsl_if",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __gmpz_init_set_ui(__gen_e_acsl__4,18446744073709551615UL); __gen_e_acsl_le_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_if), (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data, + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_2, "__gen_e_acsl_if",0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __gen_e_acsl_assert_data_2.blocking = 1; @@ -926,6 +880,20 @@ void __gen_e_acsl_g(long *ptr, size_t size) __gen_e_acsl_valid = __e_acsl_valid((void *)((char *)ptr + 8 * 0), __gen_e_acsl_size_4,(void *)ptr, (void *)(& ptr)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"ptr", + (void *)ptr); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(long)",0, + 8); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(long)",0, + 8); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"size",0,size); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_2)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data, + "__gen_e_acsl_if",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(ptr + (0 .. size - 1))",0, __gen_e_acsl_valid); @@ -968,16 +936,7 @@ void __gen_e_acsl_g(long *ptr, size_t size) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"\\old(ptr)", - (void *)__gen_e_acsl_at); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(long)", - 0,8); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(long)", - 0,8); __gmpz_init_set_si(__gen_e_acsl_sizeof_2,8L); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3,"\\old(size)", - 0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); __gmpz_init_set_si(__gen_e_acsl__5,1L); __gmpz_init(__gen_e_acsl_add_2); __gmpz_add(__gen_e_acsl_add_2, @@ -998,8 +957,6 @@ void __gen_e_acsl_g(long *ptr, size_t size) (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_3)); __gmpz_init_set(__gen_e_acsl_size_5, (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_2)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5)); __gen_e_acsl_le_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5), (__e_acsl_mpz_struct const *)(__gen_e_acsl__6)); if (__gen_e_acsl_le_3 <= 0) { @@ -1009,21 +966,14 @@ void __gen_e_acsl_g(long *ptr, size_t size) (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); __gmpz_clear(__gen_e_acsl__7); } - else { - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5)); - __gmpz_init_set(__gen_e_acsl_if_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5)); - } + else __gmpz_init_set(__gen_e_acsl_if_2, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_4, - "__gen_e_acsl_if_2",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2)); __gmpz_init_set_ui(__gen_e_acsl__8,18446744073709551615UL); __gen_e_acsl_le_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3, + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_4, "__gen_e_acsl_if_2",0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2)); __gen_e_acsl_assert_data_4.blocking = 1; @@ -1041,6 +991,22 @@ void __gen_e_acsl_g(long *ptr, size_t size) __gen_e_acsl_size_6, (void *)__gen_e_acsl_at, (void *)(& __gen_e_acsl_at)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"\\old(ptr)", + (void *)__gen_e_acsl_at); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(long)", + 0,8); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(long)", + 0,8); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3,"\\old(size)", + 0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3,"size",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3,"size",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size_5)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_3, + "__gen_e_acsl_if_2",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(\\old(ptr) + (0 .. \\old(size) + 1))", 0,__gen_e_acsl_valid_2); @@ -1091,13 +1057,7 @@ void __gen_e_acsl_f(char *s, long n) int __gen_e_acsl_valid; __e_acsl_store_block((void *)(& s),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"s",(void *)s); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, - 1); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, - 1); __gmpz_init_set_si(__gen_e_acsl_sizeof,1L); - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data,"n",0,n); __gmpz_init_set_si(__gen_e_acsl_n,n); __gmpz_init_set_si(__gen_e_acsl_,1000L); __gmpz_init(__gen_e_acsl_add); @@ -1120,8 +1080,6 @@ void __gen_e_acsl_f(char *s, long n) (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2)); __gmpz_init_set(__gen_e_acsl_size, (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); __gmpz_init_set_si(__gen_e_acsl__4,0L); __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_size), (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); @@ -1132,21 +1090,14 @@ void __gen_e_acsl_f(char *s, long n) (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); __gmpz_clear(__gen_e_acsl__5); } - else { - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); - __gmpz_init_set(__gen_e_acsl_if, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); - } + else __gmpz_init_set(__gen_e_acsl_if, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_2, - "__gen_e_acsl_if",0, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __gmpz_init_set_ui(__gen_e_acsl__6,18446744073709551615UL); __gen_e_acsl_le_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_if), (__e_acsl_mpz_struct const *)(__gen_e_acsl__6)); - __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data, + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data_2, "__gen_e_acsl_if",0, (__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __gen_e_acsl_assert_data_2.blocking = 1; @@ -1162,6 +1113,19 @@ void __gen_e_acsl_f(char *s, long n) __gen_e_acsl_valid = __e_acsl_valid((void *)(s + 1 * 3), __gen_e_acsl_size_2,(void *)s, (void *)(& s)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"s",(void *)s); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, + 1); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(char)",0, + 1); + __e_acsl_assert_register_long(& __gen_e_acsl_assert_data,"n",0,n); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data,"size",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_size)); + __e_acsl_assert_register_mpz(& __gen_e_acsl_assert_data, + "__gen_e_acsl_if",0, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(s + (3 .. n + 1000))",0, __gen_e_acsl_valid); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_separated.c b/src/plugins/e-acsl/tests/memory/oracle/gen_separated.c index 937c0045936640b20d1ce024787706fb71b44f65..715d72f0d03356900bbeff210308512cc24003e3 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_separated.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_separated.c @@ -38,13 +38,13 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(& a), + sizeof(int), + (void *)(& a),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(& a), - sizeof(int), - (void *)(& a),(void *)0); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(&a)"; @@ -56,14 +56,14 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&b", - (void *)(& b)); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(& b), sizeof(int), (void *)(& b), (void *)0); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&b", + (void *)(& b)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "RTE"; __gen_e_acsl_assert_data_3.pred_txt = "\\valid_read(&b)"; @@ -75,14 +75,14 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&c", - (void *)(& c)); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)(& c), sizeof(int), (void *)(& c), (void *)0); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&c", + (void *)(& c)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(&c)"; @@ -92,6 +92,9 @@ int main(void) __gen_e_acsl_assert_data_4.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_valid_read_3,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); + __gen_e_acsl_separated = __e_acsl_separated(3UL,& a,sizeof(int),& b, + sizeof(int),& c, + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, @@ -104,9 +107,6 @@ int main(void) (void *)(& c)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_separated = __e_acsl_separated(3UL,& a,sizeof(int),& b, - sizeof(int),& c, - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\separated(&a, &b, &c)",0, __gen_e_acsl_separated); @@ -131,14 +131,14 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&a", - (void *)(& a)); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(& a), sizeof(int), (void *)(& a), (void *)0); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&a", + (void *)(& a)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_assert_data_6.blocking = 1; __gen_e_acsl_assert_data_6.kind = "RTE"; __gen_e_acsl_assert_data_6.pred_txt = "\\valid_read(&a)"; @@ -150,14 +150,14 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&b", - (void *)(& b)); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)(& b), sizeof(int), (void *)(& b), (void *)0); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&b", + (void *)(& b)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_assert_data_7.blocking = 1; __gen_e_acsl_assert_data_7.kind = "RTE"; __gen_e_acsl_assert_data_7.pred_txt = "\\valid_read(&b)"; @@ -169,14 +169,14 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"&c", - (void *)(& c)); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)(& c), sizeof(int), (void *)(& c), (void *)0); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"&c", + (void *)(& c)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_assert_data_8.blocking = 1; __gen_e_acsl_assert_data_8.kind = "RTE"; __gen_e_acsl_assert_data_8.pred_txt = "\\valid_read(&c)"; @@ -188,22 +188,22 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& d), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"&d", (void *)(& d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& d), - sizeof(int *)); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read_7; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"d", - (void *)d); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_7 = __e_acsl_valid_read((void *)d, sizeof(int), (void *)d, (void *)(& d)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"d", + (void *)d); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_and = __gen_e_acsl_valid_read_7; } else __gen_e_acsl_and = 0; @@ -216,6 +216,10 @@ int main(void) __gen_e_acsl_assert_data_9.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data_9); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9); + __gen_e_acsl_separated_2 = __e_acsl_separated(4UL,& a,sizeof(int),& b, + sizeof(int),& c, + sizeof(int),d, + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, @@ -232,10 +236,6 @@ int main(void) (void *)d); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_separated_2 = __e_acsl_separated(4UL,& a,sizeof(int),& b, - sizeof(int),& c, - sizeof(int),d, - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\separated(&a, &b, &c, d)",0, __gen_e_acsl_separated_2); @@ -275,26 +275,24 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; + __gen_e_acsl_size = 8 * ((9 - 0) + 1); + if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; + else __gen_e_acsl_if = __gen_e_acsl_size; + __gen_e_acsl_valid_read_8 = __e_acsl_valid_read((void *)((char *)(array) + + 8 * 0), + (size_t)__gen_e_acsl_if, + (void *)(array), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "sizeof(double)",0,8); - __gen_e_acsl_size = 8 * ((9 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, __gen_e_acsl_size); - if (__gen_e_acsl_size <= 0) __gen_e_acsl_if = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } - __gen_e_acsl_valid_read_8 = __e_acsl_valid_read((void *)((char *)(array) + - 8 * 0), - (size_t)__gen_e_acsl_if, - (void *)(array), - (void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11,"size",0, + __gen_e_acsl_size); __gen_e_acsl_assert_data_11.blocking = 1; __gen_e_acsl_assert_data_11.kind = "RTE"; __gen_e_acsl_assert_data_11.pred_txt = "\\valid_read(&array[0 .. 9])"; @@ -307,26 +305,24 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11); __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_size_2 = 8 * ((19 - 10) + 1); + if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; + else __gen_e_acsl_if_2 = __gen_e_acsl_size_2; + __gen_e_acsl_valid_read_9 = __e_acsl_valid_read((void *)((char *)(array) + + 8 * 10), + (size_t)__gen_e_acsl_if_2, + (void *)(array), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "sizeof(double)",0,8); - __gen_e_acsl_size_2 = 8 * ((19 - 10) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"size",0, __gen_e_acsl_size_2); - if (__gen_e_acsl_size_2 <= 0) __gen_e_acsl_if_2 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"size",0, - __gen_e_acsl_size_2); - __gen_e_acsl_if_2 = __gen_e_acsl_size_2; - } - __gen_e_acsl_valid_read_9 = __e_acsl_valid_read((void *)((char *)(array) + - 8 * 10), - (size_t)__gen_e_acsl_if_2, - (void *)(array), - (void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12,"size",0, + __gen_e_acsl_size_2); __gen_e_acsl_assert_data_12.blocking = 1; __gen_e_acsl_assert_data_12.kind = "RTE"; __gen_e_acsl_assert_data_12.pred_txt = "\\valid_read(&array[10 .. 19])"; @@ -337,41 +333,37 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_9, & __gen_e_acsl_assert_data_12); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_12); + __gen_e_acsl_size_3 = 8 * ((9 - 0) + 1); + if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; + else __gen_e_acsl_if_3 = __gen_e_acsl_size_3; + __gen_e_acsl_size_4 = 8 * ((19 - 10) + 1); + if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; + else __gen_e_acsl_if_4 = __gen_e_acsl_size_4; + __gen_e_acsl_separated_3 = __e_acsl_separated(2UL, + (char *)(array) + 8 * 0, + __gen_e_acsl_if_3, + (char *)(array) + 8 * 10, + __gen_e_acsl_if_4); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "sizeof(double)",0,8); - __gen_e_acsl_size_3 = 8 * ((9 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, __gen_e_acsl_size_3); - if (__gen_e_acsl_size_3 <= 0) __gen_e_acsl_if_3 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, - __gen_e_acsl_size_3); - __gen_e_acsl_if_3 = __gen_e_acsl_size_3; - } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, + __gen_e_acsl_size_3); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "sizeof(double)",0,8); - __gen_e_acsl_size_4 = 8 * ((19 - 10) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, __gen_e_acsl_size_4); - if (__gen_e_acsl_size_4 <= 0) __gen_e_acsl_if_4 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, - __gen_e_acsl_size_4); - __gen_e_acsl_if_4 = __gen_e_acsl_size_4; - } - __gen_e_acsl_separated_3 = __e_acsl_separated(2UL, - (char *)(array) + 8 * 0, - __gen_e_acsl_if_3, - (char *)(array) + 8 * 10, - __gen_e_acsl_if_4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10,"size",0, + __gen_e_acsl_size_4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\separated(&array[0 .. 9], &array[10 .. 19])", 0,__gen_e_acsl_separated_3); @@ -401,26 +393,24 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 = {.values = (void *)0}; + __gen_e_acsl_size_5 = 8 * ((10 - 0) + 1); + if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; + else __gen_e_acsl_if_5 = __gen_e_acsl_size_5; + __gen_e_acsl_valid_read_10 = __e_acsl_valid_read((void *)((char *)(array) + + 8 * 0), + (size_t)__gen_e_acsl_if_5, + (void *)(array), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14, "sizeof(double)",0,8); - __gen_e_acsl_size_5 = 8 * ((10 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"size",0, __gen_e_acsl_size_5); - if (__gen_e_acsl_size_5 <= 0) __gen_e_acsl_if_5 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"size",0, - __gen_e_acsl_size_5); - __gen_e_acsl_if_5 = __gen_e_acsl_size_5; - } - __gen_e_acsl_valid_read_10 = __e_acsl_valid_read((void *)((char *)(array) + - 8 * 0), - (size_t)__gen_e_acsl_if_5, - (void *)(array), - (void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"size",0, + __gen_e_acsl_size_5); __gen_e_acsl_assert_data_14.blocking = 1; __gen_e_acsl_assert_data_14.kind = "RTE"; __gen_e_acsl_assert_data_14.pred_txt = "\\valid_read(&array[0 .. 10])"; @@ -433,26 +423,24 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_14); __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 = {.values = (void *)0}; + __gen_e_acsl_size_6 = 8 * ((15 - 5) + 1); + if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; + else __gen_e_acsl_if_6 = __gen_e_acsl_size_6; + __gen_e_acsl_valid_read_11 = __e_acsl_valid_read((void *)((char *)(array) + + 8 * 5), + (size_t)__gen_e_acsl_if_6, + (void *)(array), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15, "sizeof(double)",0,8); - __gen_e_acsl_size_6 = 8 * ((15 - 5) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"size",0, __gen_e_acsl_size_6); - if (__gen_e_acsl_size_6 <= 0) __gen_e_acsl_if_6 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"size",0, - __gen_e_acsl_size_6); - __gen_e_acsl_if_6 = __gen_e_acsl_size_6; - } - __gen_e_acsl_valid_read_11 = __e_acsl_valid_read((void *)((char *)(array) + - 8 * 5), - (size_t)__gen_e_acsl_if_6, - (void *)(array), - (void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15,"size",0, + __gen_e_acsl_size_6); __gen_e_acsl_assert_data_15.blocking = 1; __gen_e_acsl_assert_data_15.kind = "RTE"; __gen_e_acsl_assert_data_15.pred_txt = "\\valid_read(&array[5 .. 15])"; @@ -463,41 +451,37 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_11, & __gen_e_acsl_assert_data_15); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_15); + __gen_e_acsl_size_7 = 8 * ((10 - 0) + 1); + if (__gen_e_acsl_size_7 <= 0) __gen_e_acsl_if_7 = 0; + else __gen_e_acsl_if_7 = __gen_e_acsl_size_7; + __gen_e_acsl_size_8 = 8 * ((15 - 5) + 1); + if (__gen_e_acsl_size_8 <= 0) __gen_e_acsl_if_8 = 0; + else __gen_e_acsl_if_8 = __gen_e_acsl_size_8; + __gen_e_acsl_separated_4 = __e_acsl_separated(2UL, + (char *)(array) + 8 * 0, + __gen_e_acsl_if_7, + (char *)(array) + 8 * 5, + __gen_e_acsl_if_8); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "sizeof(double)",0,8); - __gen_e_acsl_size_7 = 8 * ((10 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"size",0, __gen_e_acsl_size_7); - if (__gen_e_acsl_size_7 <= 0) __gen_e_acsl_if_7 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"size",0, - __gen_e_acsl_size_7); - __gen_e_acsl_if_7 = __gen_e_acsl_size_7; - } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"size",0, + __gen_e_acsl_size_7); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "sizeof(double)",0,8); - __gen_e_acsl_size_8 = 8 * ((15 - 5) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"size",0, __gen_e_acsl_size_8); - if (__gen_e_acsl_size_8 <= 0) __gen_e_acsl_if_8 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"size",0, - __gen_e_acsl_size_8); - __gen_e_acsl_if_8 = __gen_e_acsl_size_8; - } - __gen_e_acsl_separated_4 = __e_acsl_separated(2UL, - (char *)(array) + 8 * 0, - __gen_e_acsl_if_7, - (char *)(array) + 8 * 5, - __gen_e_acsl_if_8); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13,"size",0, + __gen_e_acsl_size_8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "\\separated(&array[0 .. 10], &array[5 .. 15])", 0,__gen_e_acsl_separated_4); @@ -528,26 +512,24 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_17 = {.values = (void *)0}; + __gen_e_acsl_size_9 = 8 * ((19 - 0) + 1); + if (__gen_e_acsl_size_9 <= 0) __gen_e_acsl_if_9 = 0; + else __gen_e_acsl_if_9 = __gen_e_acsl_size_9; + __gen_e_acsl_valid_read_12 = __e_acsl_valid_read((void *)((char *)(array) + + 8 * 0), + (size_t)__gen_e_acsl_if_9, + (void *)(array), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17, "sizeof(double)",0,8); - __gen_e_acsl_size_9 = 8 * ((19 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"size",0, __gen_e_acsl_size_9); - if (__gen_e_acsl_size_9 <= 0) __gen_e_acsl_if_9 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"size",0, - __gen_e_acsl_size_9); - __gen_e_acsl_if_9 = __gen_e_acsl_size_9; - } - __gen_e_acsl_valid_read_12 = __e_acsl_valid_read((void *)((char *)(array) + - 8 * 0), - (size_t)__gen_e_acsl_if_9, - (void *)(array), - (void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17,"size",0, + __gen_e_acsl_size_9); __gen_e_acsl_assert_data_17.blocking = 1; __gen_e_acsl_assert_data_17.kind = "RTE"; __gen_e_acsl_assert_data_17.pred_txt = "\\valid_read(&array[0 .. 19])"; @@ -560,26 +542,24 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_17); __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 = {.values = (void *)0}; + __gen_e_acsl_size_10 = 8 * ((15 - 5) + 1); + if (__gen_e_acsl_size_10 <= 0) __gen_e_acsl_if_10 = 0; + else __gen_e_acsl_if_10 = __gen_e_acsl_size_10; + __gen_e_acsl_valid_read_13 = __e_acsl_valid_read((void *)((char *)(array) + + 8 * 5), + (size_t)__gen_e_acsl_if_10, + (void *)(array), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18, "sizeof(double)",0,8); - __gen_e_acsl_size_10 = 8 * ((15 - 5) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18,"size",0, __gen_e_acsl_size_10); - if (__gen_e_acsl_size_10 <= 0) __gen_e_acsl_if_10 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18,"size",0, - __gen_e_acsl_size_10); - __gen_e_acsl_if_10 = __gen_e_acsl_size_10; - } - __gen_e_acsl_valid_read_13 = __e_acsl_valid_read((void *)((char *)(array) + - 8 * 5), - (size_t)__gen_e_acsl_if_10, - (void *)(array), - (void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_18,"size",0, + __gen_e_acsl_size_10); __gen_e_acsl_assert_data_18.blocking = 1; __gen_e_acsl_assert_data_18.kind = "RTE"; __gen_e_acsl_assert_data_18.pred_txt = "\\valid_read(&array[5 .. 15])"; @@ -590,41 +570,37 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_13, & __gen_e_acsl_assert_data_18); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_18); + __gen_e_acsl_size_11 = 8 * ((19 - 0) + 1); + if (__gen_e_acsl_size_11 <= 0) __gen_e_acsl_if_11 = 0; + else __gen_e_acsl_if_11 = __gen_e_acsl_size_11; + __gen_e_acsl_size_12 = 8 * ((15 - 5) + 1); + if (__gen_e_acsl_size_12 <= 0) __gen_e_acsl_if_12 = 0; + else __gen_e_acsl_if_12 = __gen_e_acsl_size_12; + __gen_e_acsl_separated_5 = __e_acsl_separated(2UL, + (char *)(array) + 8 * 0, + __gen_e_acsl_if_11, + (char *)(array) + 8 * 5, + __gen_e_acsl_if_12); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16, "sizeof(double)",0,8); - __gen_e_acsl_size_11 = 8 * ((19 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"size",0, __gen_e_acsl_size_11); - if (__gen_e_acsl_size_11 <= 0) __gen_e_acsl_if_11 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"size",0, - __gen_e_acsl_size_11); - __gen_e_acsl_if_11 = __gen_e_acsl_size_11; - } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"size",0, + __gen_e_acsl_size_11); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16, "sizeof(double)",0,8); - __gen_e_acsl_size_12 = 8 * ((15 - 5) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"size",0, __gen_e_acsl_size_12); - if (__gen_e_acsl_size_12 <= 0) __gen_e_acsl_if_12 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"size",0, - __gen_e_acsl_size_12); - __gen_e_acsl_if_12 = __gen_e_acsl_size_12; - } - __gen_e_acsl_separated_5 = __e_acsl_separated(2UL, - (char *)(array) + 8 * 0, - __gen_e_acsl_if_11, - (char *)(array) + 8 * 5, - __gen_e_acsl_if_12); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16,"size",0, + __gen_e_acsl_size_12); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_16, "\\separated(&array[0 .. 19], &array[5 .. 15])", 0,__gen_e_acsl_separated_5); @@ -647,14 +623,14 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_20 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_20, - "(double *)array",(void *)(array)); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_20, - "sizeof(double)",0,sizeof(double)); __gen_e_acsl_valid_read_14 = __e_acsl_valid_read((void *)(array), sizeof(double), (void *)(array), (void *)0); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_20, + "(double *)array",(void *)(array)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_20, + "sizeof(double)",0,sizeof(double)); __gen_e_acsl_assert_data_20.blocking = 1; __gen_e_acsl_assert_data_20.kind = "RTE"; __gen_e_acsl_assert_data_20.pred_txt = "\\valid_read((double *)array)"; @@ -667,14 +643,14 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_20); __e_acsl_assert_data_t __gen_e_acsl_assert_data_21 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_21,"&array[1]", - (void *)(& array[1])); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_21, - "sizeof(double)",0,sizeof(double)); __gen_e_acsl_valid_read_15 = __e_acsl_valid_read((void *)(& array[1]), sizeof(double), (void *)(array), (void *)0); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_21,"&array[1]", + (void *)(& array[1])); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_21, + "sizeof(double)",0,sizeof(double)); __gen_e_acsl_assert_data_21.blocking = 1; __gen_e_acsl_assert_data_21.kind = "RTE"; __gen_e_acsl_assert_data_21.pred_txt = "\\valid_read(&array[1])"; @@ -685,6 +661,9 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_15, & __gen_e_acsl_assert_data_21); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_21); + __gen_e_acsl_separated_6 = __e_acsl_separated(2UL,array,sizeof(double), + & array[1], + sizeof(double)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_19, "(double *)array",(void *)(array)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_19, @@ -693,9 +672,6 @@ int main(void) (void *)(& array[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_19, "sizeof(double)",0,sizeof(double)); - __gen_e_acsl_separated_6 = __e_acsl_separated(2UL,array,sizeof(double), - & array[1], - sizeof(double)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_19, "\\separated((double *)array, &array[1])", 0,__gen_e_acsl_separated_6); @@ -725,26 +701,24 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_23 = {.values = (void *)0}; + __gen_e_acsl_size_13 = 8 * ((1 - 0) + 1); + if (__gen_e_acsl_size_13 <= 0) __gen_e_acsl_if_13 = 0; + else __gen_e_acsl_if_13 = __gen_e_acsl_size_13; + __gen_e_acsl_valid_read_16 = __e_acsl_valid_read((void *)((char *)(array) + + 8 * 0), + (size_t)__gen_e_acsl_if_13, + (void *)(array), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_23, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_23, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_23, "sizeof(double)",0,8); - __gen_e_acsl_size_13 = 8 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_23,"size",0, __gen_e_acsl_size_13); - if (__gen_e_acsl_size_13 <= 0) __gen_e_acsl_if_13 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_23,"size",0, - __gen_e_acsl_size_13); - __gen_e_acsl_if_13 = __gen_e_acsl_size_13; - } - __gen_e_acsl_valid_read_16 = __e_acsl_valid_read((void *)((char *)(array) + - 8 * 0), - (size_t)__gen_e_acsl_if_13, - (void *)(array), - (void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_23,"size",0, + __gen_e_acsl_size_13); __gen_e_acsl_assert_data_23.blocking = 1; __gen_e_acsl_assert_data_23.kind = "RTE"; __gen_e_acsl_assert_data_23.pred_txt = "\\valid_read(&array[0 .. 1])"; @@ -757,26 +731,24 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_23); __e_acsl_assert_data_t __gen_e_acsl_assert_data_24 = {.values = (void *)0}; + __gen_e_acsl_size_14 = 8 * ((2 - 1) + 1); + if (__gen_e_acsl_size_14 <= 0) __gen_e_acsl_if_14 = 0; + else __gen_e_acsl_if_14 = __gen_e_acsl_size_14; + __gen_e_acsl_valid_read_17 = __e_acsl_valid_read((void *)((char *)(array) + + 8 * 1), + (size_t)__gen_e_acsl_if_14, + (void *)(array), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_24, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24, "sizeof(double)",0,8); - __gen_e_acsl_size_14 = 8 * ((2 - 1) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24,"size",0, __gen_e_acsl_size_14); - if (__gen_e_acsl_size_14 <= 0) __gen_e_acsl_if_14 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24,"size",0, - __gen_e_acsl_size_14); - __gen_e_acsl_if_14 = __gen_e_acsl_size_14; - } - __gen_e_acsl_valid_read_17 = __e_acsl_valid_read((void *)((char *)(array) + - 8 * 1), - (size_t)__gen_e_acsl_if_14, - (void *)(array), - (void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_24,"size",0, + __gen_e_acsl_size_14); __gen_e_acsl_assert_data_24.blocking = 1; __gen_e_acsl_assert_data_24.kind = "RTE"; __gen_e_acsl_assert_data_24.pred_txt = "\\valid_read(&array[1 .. 2])"; @@ -787,41 +759,37 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_17, & __gen_e_acsl_assert_data_24); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_24); + __gen_e_acsl_size_15 = 8 * ((1 - 0) + 1); + if (__gen_e_acsl_size_15 <= 0) __gen_e_acsl_if_15 = 0; + else __gen_e_acsl_if_15 = __gen_e_acsl_size_15; + __gen_e_acsl_size_16 = 8 * ((2 - 1) + 1); + if (__gen_e_acsl_size_16 <= 0) __gen_e_acsl_if_16 = 0; + else __gen_e_acsl_if_16 = __gen_e_acsl_size_16; + __gen_e_acsl_separated_7 = __e_acsl_separated(2UL, + (char *)(array) + 8 * 0, + __gen_e_acsl_if_15, + (char *)(array) + 8 * 1, + __gen_e_acsl_if_16); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_22, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22, "sizeof(double)",0,8); - __gen_e_acsl_size_15 = 8 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22,"size",0, __gen_e_acsl_size_15); - if (__gen_e_acsl_size_15 <= 0) __gen_e_acsl_if_15 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22,"size",0, - __gen_e_acsl_size_15); - __gen_e_acsl_if_15 = __gen_e_acsl_size_15; - } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22,"size",0, + __gen_e_acsl_size_15); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_22, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22, "sizeof(double)",0,8); - __gen_e_acsl_size_16 = 8 * ((2 - 1) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22,"size",0, __gen_e_acsl_size_16); - if (__gen_e_acsl_size_16 <= 0) __gen_e_acsl_if_16 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22,"size",0, - __gen_e_acsl_size_16); - __gen_e_acsl_if_16 = __gen_e_acsl_size_16; - } - __gen_e_acsl_separated_7 = __e_acsl_separated(2UL, - (char *)(array) + 8 * 0, - __gen_e_acsl_if_15, - (char *)(array) + 8 * 1, - __gen_e_acsl_if_16); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22,"size",0, + __gen_e_acsl_size_16); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_22, "\\separated(&array[0 .. 1], &array[1 .. 2])", 0,__gen_e_acsl_separated_7); @@ -852,26 +820,24 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_26 = {.values = (void *)0}; + __gen_e_acsl_size_17 = 8 * ((5 - 15) + 1); + if (__gen_e_acsl_size_17 <= 0) __gen_e_acsl_if_17 = 0; + else __gen_e_acsl_if_17 = __gen_e_acsl_size_17; + __gen_e_acsl_valid_read_18 = __e_acsl_valid_read((void *)((char *)(array) + + 8 * 15), + (size_t)__gen_e_acsl_if_17, + (void *)(array), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_26, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26, "sizeof(double)",0,8); - __gen_e_acsl_size_17 = 8 * ((5 - 15) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26,"size",0, __gen_e_acsl_size_17); - if (__gen_e_acsl_size_17 <= 0) __gen_e_acsl_if_17 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26,"size",0, - __gen_e_acsl_size_17); - __gen_e_acsl_if_17 = __gen_e_acsl_size_17; - } - __gen_e_acsl_valid_read_18 = __e_acsl_valid_read((void *)((char *)(array) + - 8 * 15), - (size_t)__gen_e_acsl_if_17, - (void *)(array), - (void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_26,"size",0, + __gen_e_acsl_size_17); __gen_e_acsl_assert_data_26.blocking = 1; __gen_e_acsl_assert_data_26.kind = "RTE"; __gen_e_acsl_assert_data_26.pred_txt = "\\valid_read(&array[15 .. 5])"; @@ -884,26 +850,24 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_26); __e_acsl_assert_data_t __gen_e_acsl_assert_data_27 = {.values = (void *)0}; + __gen_e_acsl_size_18 = 8 * ((19 - 0) + 1); + if (__gen_e_acsl_size_18 <= 0) __gen_e_acsl_if_18 = 0; + else __gen_e_acsl_if_18 = __gen_e_acsl_size_18; + __gen_e_acsl_valid_read_19 = __e_acsl_valid_read((void *)((char *)(array) + + 8 * 0), + (size_t)__gen_e_acsl_if_18, + (void *)(array), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_27, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27, "sizeof(double)",0,8); - __gen_e_acsl_size_18 = 8 * ((19 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27,"size",0, __gen_e_acsl_size_18); - if (__gen_e_acsl_size_18 <= 0) __gen_e_acsl_if_18 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27,"size",0, - __gen_e_acsl_size_18); - __gen_e_acsl_if_18 = __gen_e_acsl_size_18; - } - __gen_e_acsl_valid_read_19 = __e_acsl_valid_read((void *)((char *)(array) + - 8 * 0), - (size_t)__gen_e_acsl_if_18, - (void *)(array), - (void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_27,"size",0, + __gen_e_acsl_size_18); __gen_e_acsl_assert_data_27.blocking = 1; __gen_e_acsl_assert_data_27.kind = "RTE"; __gen_e_acsl_assert_data_27.pred_txt = "\\valid_read(&array[0 .. 19])"; @@ -914,41 +878,37 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_19, & __gen_e_acsl_assert_data_27); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_27); + __gen_e_acsl_size_19 = 8 * ((5 - 15) + 1); + if (__gen_e_acsl_size_19 <= 0) __gen_e_acsl_if_19 = 0; + else __gen_e_acsl_if_19 = __gen_e_acsl_size_19; + __gen_e_acsl_size_20 = 8 * ((19 - 0) + 1); + if (__gen_e_acsl_size_20 <= 0) __gen_e_acsl_if_20 = 0; + else __gen_e_acsl_if_20 = __gen_e_acsl_size_20; + __gen_e_acsl_separated_8 = __e_acsl_separated(2UL, + (char *)(array) + 8 * 15, + __gen_e_acsl_if_19, + (char *)(array) + 8 * 0, + __gen_e_acsl_if_20); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_25, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25, "sizeof(double)",0,8); - __gen_e_acsl_size_19 = 8 * ((5 - 15) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25,"size",0, __gen_e_acsl_size_19); - if (__gen_e_acsl_size_19 <= 0) __gen_e_acsl_if_19 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25,"size",0, - __gen_e_acsl_size_19); - __gen_e_acsl_if_19 = __gen_e_acsl_size_19; - } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25,"size",0, + __gen_e_acsl_size_19); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_25, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25, "sizeof(double)",0,8); - __gen_e_acsl_size_20 = 8 * ((19 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25,"size",0, __gen_e_acsl_size_20); - if (__gen_e_acsl_size_20 <= 0) __gen_e_acsl_if_20 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25,"size",0, - __gen_e_acsl_size_20); - __gen_e_acsl_if_20 = __gen_e_acsl_size_20; - } - __gen_e_acsl_separated_8 = __e_acsl_separated(2UL, - (char *)(array) + 8 * 15, - __gen_e_acsl_if_19, - (char *)(array) + 8 * 0, - __gen_e_acsl_if_20); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25,"size",0, + __gen_e_acsl_size_20); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_25, "\\separated(&array[15 .. 5], &array[0 .. 19])", 0,__gen_e_acsl_separated_8); @@ -978,26 +938,24 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_29 = {.values = (void *)0}; + __gen_e_acsl_size_21 = 8 * ((-3 - 0) + 1); + if (__gen_e_acsl_size_21 <= 0) __gen_e_acsl_if_21 = 0; + else __gen_e_acsl_if_21 = __gen_e_acsl_size_21; + __gen_e_acsl_valid_read_20 = __e_acsl_valid_read((void *)((char *)(array) + + 8 * 0), + (size_t)__gen_e_acsl_if_21, + (void *)(array), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_29, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_29, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_29, "sizeof(double)",0,8); - __gen_e_acsl_size_21 = 8 * ((-3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_29,"size",0, __gen_e_acsl_size_21); - if (__gen_e_acsl_size_21 <= 0) __gen_e_acsl_if_21 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_29,"size",0, - __gen_e_acsl_size_21); - __gen_e_acsl_if_21 = __gen_e_acsl_size_21; - } - __gen_e_acsl_valid_read_20 = __e_acsl_valid_read((void *)((char *)(array) + - 8 * 0), - (size_t)__gen_e_acsl_if_21, - (void *)(array), - (void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_29,"size",0, + __gen_e_acsl_size_21); __gen_e_acsl_assert_data_29.blocking = 1; __gen_e_acsl_assert_data_29.kind = "RTE"; __gen_e_acsl_assert_data_29.pred_txt = "\\valid_read(&array[0 .. -3])"; @@ -1010,26 +968,24 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_29); __e_acsl_assert_data_t __gen_e_acsl_assert_data_30 = {.values = (void *)0}; + __gen_e_acsl_size_22 = 8 * ((19 - 0) + 1); + if (__gen_e_acsl_size_22 <= 0) __gen_e_acsl_if_22 = 0; + else __gen_e_acsl_if_22 = __gen_e_acsl_size_22; + __gen_e_acsl_valid_read_21 = __e_acsl_valid_read((void *)((char *)(array) + + 8 * 0), + (size_t)__gen_e_acsl_if_22, + (void *)(array), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_30, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_30, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_30, "sizeof(double)",0,8); - __gen_e_acsl_size_22 = 8 * ((19 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_30,"size",0, __gen_e_acsl_size_22); - if (__gen_e_acsl_size_22 <= 0) __gen_e_acsl_if_22 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_30,"size",0, - __gen_e_acsl_size_22); - __gen_e_acsl_if_22 = __gen_e_acsl_size_22; - } - __gen_e_acsl_valid_read_21 = __e_acsl_valid_read((void *)((char *)(array) + - 8 * 0), - (size_t)__gen_e_acsl_if_22, - (void *)(array), - (void *)0); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_30,"size",0, + __gen_e_acsl_size_22); __gen_e_acsl_assert_data_30.blocking = 1; __gen_e_acsl_assert_data_30.kind = "RTE"; __gen_e_acsl_assert_data_30.pred_txt = "\\valid_read(&array[0 .. 19])"; @@ -1040,41 +996,37 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_21, & __gen_e_acsl_assert_data_30); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_30); + __gen_e_acsl_size_23 = 8 * ((-3 - 0) + 1); + if (__gen_e_acsl_size_23 <= 0) __gen_e_acsl_if_23 = 0; + else __gen_e_acsl_if_23 = __gen_e_acsl_size_23; + __gen_e_acsl_size_24 = 8 * ((19 - 0) + 1); + if (__gen_e_acsl_size_24 <= 0) __gen_e_acsl_if_24 = 0; + else __gen_e_acsl_if_24 = __gen_e_acsl_size_24; + __gen_e_acsl_separated_9 = __e_acsl_separated(2UL, + (char *)(array) + 8 * 0, + __gen_e_acsl_if_23, + (char *)(array) + 8 * 0, + __gen_e_acsl_if_24); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_28, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_28, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_28, "sizeof(double)",0,8); - __gen_e_acsl_size_23 = 8 * ((-3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_28,"size",0, __gen_e_acsl_size_23); - if (__gen_e_acsl_size_23 <= 0) __gen_e_acsl_if_23 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_28,"size",0, - __gen_e_acsl_size_23); - __gen_e_acsl_if_23 = __gen_e_acsl_size_23; - } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_28,"size",0, + __gen_e_acsl_size_23); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_28, "(double *)array",(void *)(array)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_28, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_28, "sizeof(double)",0,8); - __gen_e_acsl_size_24 = 8 * ((19 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_28,"size",0, __gen_e_acsl_size_24); - if (__gen_e_acsl_size_24 <= 0) __gen_e_acsl_if_24 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_28,"size",0, - __gen_e_acsl_size_24); - __gen_e_acsl_if_24 = __gen_e_acsl_size_24; - } - __gen_e_acsl_separated_9 = __e_acsl_separated(2UL, - (char *)(array) + 8 * 0, - __gen_e_acsl_if_23, - (char *)(array) + 8 * 0, - __gen_e_acsl_if_24); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_28,"size",0, + __gen_e_acsl_size_24); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_28, "\\separated(&array[0 .. -3], &array[0 .. 19])", 0,__gen_e_acsl_separated_9); @@ -1110,22 +1062,22 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_32 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& a_0), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_32,"&a_0", (void *)(& a_0)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_32, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& a_0), - sizeof(int *)); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_read_22; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_32,"a_0", - (void *)a_0); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_32, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_22 = __e_acsl_valid_read((void *)a_0, sizeof(int), (void *)a_0, (void *)(& a_0)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_32,"a_0", + (void *)a_0); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_32, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_and_2 = __gen_e_acsl_valid_read_22; } else __gen_e_acsl_and_2 = 0; @@ -1140,22 +1092,22 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_32); __e_acsl_assert_data_t __gen_e_acsl_assert_data_33 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& b_0), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_33,"&b_0", (void *)(& b_0)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_33, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& b_0), - sizeof(int *)); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_read_23; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_33,"b_0", - (void *)b_0); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_33, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_23 = __e_acsl_valid_read((void *)b_0, sizeof(int), (void *)b_0, (void *)(& b_0)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_33,"b_0", + (void *)b_0); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_33, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_and_3 = __gen_e_acsl_valid_read_23; } else __gen_e_acsl_and_3 = 0; @@ -1168,6 +1120,8 @@ int main(void) __gen_e_acsl_assert_data_33.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_and_3,& __gen_e_acsl_assert_data_33); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_33); + __gen_e_acsl_separated_10 = __e_acsl_separated(2UL,a_0,sizeof(int),b_0, + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_31,"a_0", (void *)a_0); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_31, @@ -1176,8 +1130,6 @@ int main(void) (void *)b_0); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_31, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_separated_10 = __e_acsl_separated(2UL,a_0,sizeof(int),b_0, - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_31, "\\separated(a_0, b_0)",0, __gen_e_acsl_separated_10); @@ -1204,22 +1156,22 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_35 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& a_0), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_35,"&a_0", (void *)(& a_0)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_35, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& a_0), - sizeof(int *)); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_read_24; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_35,"a_0", - (void *)a_0); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_35, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_24 = __e_acsl_valid_read((void *)a_0, sizeof(int), (void *)a_0, (void *)(& a_0)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_35,"a_0", + (void *)a_0); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_35, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_and_4 = __gen_e_acsl_valid_read_24; } else __gen_e_acsl_and_4 = 0; @@ -1234,22 +1186,22 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_35); __e_acsl_assert_data_t __gen_e_acsl_assert_data_36 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& b_0), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_36,"&b_0", (void *)(& b_0)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_36, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& b_0), - sizeof(int *)); if (__gen_e_acsl_initialized_5) { int __gen_e_acsl_valid_read_25; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_36,"b_0", - (void *)b_0); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_36, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_25 = __e_acsl_valid_read((void *)b_0, sizeof(int), (void *)b_0, (void *)(& b_0)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_36,"b_0", + (void *)b_0); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_36, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_and_5 = __gen_e_acsl_valid_read_25; } else __gen_e_acsl_and_5 = 0; @@ -1264,22 +1216,22 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_36); __e_acsl_assert_data_t __gen_e_acsl_assert_data_37 = {.values = (void *)0}; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& c_0), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_37,"&c_0", (void *)(& c_0)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_37, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& c_0), - sizeof(int *)); if (__gen_e_acsl_initialized_6) { int __gen_e_acsl_valid_read_26; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_37,"c_0", - (void *)c_0); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_37, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_read_26 = __e_acsl_valid_read((void *)c_0, sizeof(int), (void *)c_0, (void *)(& c_0)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_37,"c_0", + (void *)c_0); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_37, + "sizeof(int)",0,sizeof(int)); __gen_e_acsl_and_6 = __gen_e_acsl_valid_read_26; } else __gen_e_acsl_and_6 = 0; @@ -1292,6 +1244,9 @@ int main(void) __gen_e_acsl_assert_data_37.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_and_6,& __gen_e_acsl_assert_data_37); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_37); + __gen_e_acsl_separated_11 = __e_acsl_separated(3UL,a_0,sizeof(int),b_0, + sizeof(int),c_0, + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_34,"a_0", (void *)a_0); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_34, @@ -1304,9 +1259,6 @@ int main(void) (void *)c_0); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_34, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_separated_11 = __e_acsl_separated(3UL,a_0,sizeof(int),b_0, - sizeof(int),c_0, - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_34, "\\separated(a_0, b_0, c_0)",0, __gen_e_acsl_separated_11); @@ -1347,26 +1299,24 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_39 = {.values = (void *)0}; + __gen_e_acsl_size_25 = 8 * ((9 - 0) + 1); + if (__gen_e_acsl_size_25 <= 0) __gen_e_acsl_if_25 = 0; + else __gen_e_acsl_if_25 = __gen_e_acsl_size_25; + __gen_e_acsl_valid_read_27 = __e_acsl_valid_read((void *)((char *)array_0 + + 8 * 0), + (size_t)__gen_e_acsl_if_25, + (void *)array_0, + (void *)(& array_0)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_39,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_39, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_39, "sizeof(double)",0,8); - __gen_e_acsl_size_25 = 8 * ((9 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_39,"size",0, __gen_e_acsl_size_25); - if (__gen_e_acsl_size_25 <= 0) __gen_e_acsl_if_25 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_39,"size",0, - __gen_e_acsl_size_25); - __gen_e_acsl_if_25 = __gen_e_acsl_size_25; - } - __gen_e_acsl_valid_read_27 = __e_acsl_valid_read((void *)((char *)array_0 + - 8 * 0), - (size_t)__gen_e_acsl_if_25, - (void *)array_0, - (void *)(& array_0)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_39,"size",0, + __gen_e_acsl_size_25); __gen_e_acsl_assert_data_39.blocking = 1; __gen_e_acsl_assert_data_39.kind = "RTE"; __gen_e_acsl_assert_data_39.pred_txt = "\\valid_read(array_0 + (0 .. 9))"; @@ -1379,26 +1329,24 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_39); __e_acsl_assert_data_t __gen_e_acsl_assert_data_40 = {.values = (void *)0}; + __gen_e_acsl_size_26 = 8 * ((19 - 10) + 1); + if (__gen_e_acsl_size_26 <= 0) __gen_e_acsl_if_26 = 0; + else __gen_e_acsl_if_26 = __gen_e_acsl_size_26; + __gen_e_acsl_valid_read_28 = __e_acsl_valid_read((void *)((char *)array_0 + + 8 * 10), + (size_t)__gen_e_acsl_if_26, + (void *)array_0, + (void *)(& array_0)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_40,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_40, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_40, "sizeof(double)",0,8); - __gen_e_acsl_size_26 = 8 * ((19 - 10) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_40,"size",0, __gen_e_acsl_size_26); - if (__gen_e_acsl_size_26 <= 0) __gen_e_acsl_if_26 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_40,"size",0, - __gen_e_acsl_size_26); - __gen_e_acsl_if_26 = __gen_e_acsl_size_26; - } - __gen_e_acsl_valid_read_28 = __e_acsl_valid_read((void *)((char *)array_0 + - 8 * 10), - (size_t)__gen_e_acsl_if_26, - (void *)array_0, - (void *)(& array_0)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_40,"size",0, + __gen_e_acsl_size_26); __gen_e_acsl_assert_data_40.blocking = 1; __gen_e_acsl_assert_data_40.kind = "RTE"; __gen_e_acsl_assert_data_40.pred_txt = "\\valid_read(array_0 + (10 .. 19))"; @@ -1409,41 +1357,37 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_28, & __gen_e_acsl_assert_data_40); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_40); + __gen_e_acsl_size_27 = 8 * ((9 - 0) + 1); + if (__gen_e_acsl_size_27 <= 0) __gen_e_acsl_if_27 = 0; + else __gen_e_acsl_if_27 = __gen_e_acsl_size_27; + __gen_e_acsl_size_28 = 8 * ((19 - 10) + 1); + if (__gen_e_acsl_size_28 <= 0) __gen_e_acsl_if_28 = 0; + else __gen_e_acsl_if_28 = __gen_e_acsl_size_28; + __gen_e_acsl_separated_12 = __e_acsl_separated(2UL, + (char *)array_0 + 8 * 0, + __gen_e_acsl_if_27, + (char *)array_0 + 8 * 10, + __gen_e_acsl_if_28); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_38,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_38, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_38, "sizeof(double)",0,8); - __gen_e_acsl_size_27 = 8 * ((9 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_38,"size",0, __gen_e_acsl_size_27); - if (__gen_e_acsl_size_27 <= 0) __gen_e_acsl_if_27 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_38,"size",0, - __gen_e_acsl_size_27); - __gen_e_acsl_if_27 = __gen_e_acsl_size_27; - } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_38,"size",0, + __gen_e_acsl_size_27); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_38,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_38, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_38, "sizeof(double)",0,8); - __gen_e_acsl_size_28 = 8 * ((19 - 10) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_38,"size",0, __gen_e_acsl_size_28); - if (__gen_e_acsl_size_28 <= 0) __gen_e_acsl_if_28 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_38,"size",0, - __gen_e_acsl_size_28); - __gen_e_acsl_if_28 = __gen_e_acsl_size_28; - } - __gen_e_acsl_separated_12 = __e_acsl_separated(2UL, - (char *)array_0 + 8 * 0, - __gen_e_acsl_if_27, - (char *)array_0 + 8 * 10, - __gen_e_acsl_if_28); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_38,"size",0, + __gen_e_acsl_size_28); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_38, "\\separated(array_0 + (0 .. 9), array_0 + (10 .. 19))", 0,__gen_e_acsl_separated_12); @@ -1474,26 +1418,24 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_42 = {.values = (void *)0}; + __gen_e_acsl_size_29 = 8 * ((10 - 0) + 1); + if (__gen_e_acsl_size_29 <= 0) __gen_e_acsl_if_29 = 0; + else __gen_e_acsl_if_29 = __gen_e_acsl_size_29; + __gen_e_acsl_valid_read_29 = __e_acsl_valid_read((void *)((char *)array_0 + + 8 * 0), + (size_t)__gen_e_acsl_if_29, + (void *)array_0, + (void *)(& array_0)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_42,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_42, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_42, "sizeof(double)",0,8); - __gen_e_acsl_size_29 = 8 * ((10 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_42,"size",0, __gen_e_acsl_size_29); - if (__gen_e_acsl_size_29 <= 0) __gen_e_acsl_if_29 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_42,"size",0, - __gen_e_acsl_size_29); - __gen_e_acsl_if_29 = __gen_e_acsl_size_29; - } - __gen_e_acsl_valid_read_29 = __e_acsl_valid_read((void *)((char *)array_0 + - 8 * 0), - (size_t)__gen_e_acsl_if_29, - (void *)array_0, - (void *)(& array_0)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_42,"size",0, + __gen_e_acsl_size_29); __gen_e_acsl_assert_data_42.blocking = 1; __gen_e_acsl_assert_data_42.kind = "RTE"; __gen_e_acsl_assert_data_42.pred_txt = "\\valid_read(array_0 + (0 .. 10))"; @@ -1506,26 +1448,24 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_42); __e_acsl_assert_data_t __gen_e_acsl_assert_data_43 = {.values = (void *)0}; + __gen_e_acsl_size_30 = 8 * ((15 - 5) + 1); + if (__gen_e_acsl_size_30 <= 0) __gen_e_acsl_if_30 = 0; + else __gen_e_acsl_if_30 = __gen_e_acsl_size_30; + __gen_e_acsl_valid_read_30 = __e_acsl_valid_read((void *)((char *)array_0 + + 8 * 5), + (size_t)__gen_e_acsl_if_30, + (void *)array_0, + (void *)(& array_0)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_43,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_43, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_43, "sizeof(double)",0,8); - __gen_e_acsl_size_30 = 8 * ((15 - 5) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_43,"size",0, __gen_e_acsl_size_30); - if (__gen_e_acsl_size_30 <= 0) __gen_e_acsl_if_30 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_43,"size",0, - __gen_e_acsl_size_30); - __gen_e_acsl_if_30 = __gen_e_acsl_size_30; - } - __gen_e_acsl_valid_read_30 = __e_acsl_valid_read((void *)((char *)array_0 + - 8 * 5), - (size_t)__gen_e_acsl_if_30, - (void *)array_0, - (void *)(& array_0)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_43,"size",0, + __gen_e_acsl_size_30); __gen_e_acsl_assert_data_43.blocking = 1; __gen_e_acsl_assert_data_43.kind = "RTE"; __gen_e_acsl_assert_data_43.pred_txt = "\\valid_read(array_0 + (5 .. 15))"; @@ -1536,41 +1476,37 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_30, & __gen_e_acsl_assert_data_43); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_43); + __gen_e_acsl_size_31 = 8 * ((10 - 0) + 1); + if (__gen_e_acsl_size_31 <= 0) __gen_e_acsl_if_31 = 0; + else __gen_e_acsl_if_31 = __gen_e_acsl_size_31; + __gen_e_acsl_size_32 = 8 * ((15 - 5) + 1); + if (__gen_e_acsl_size_32 <= 0) __gen_e_acsl_if_32 = 0; + else __gen_e_acsl_if_32 = __gen_e_acsl_size_32; + __gen_e_acsl_separated_13 = __e_acsl_separated(2UL, + (char *)array_0 + 8 * 0, + __gen_e_acsl_if_31, + (char *)array_0 + 8 * 5, + __gen_e_acsl_if_32); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_41,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_41, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_41, "sizeof(double)",0,8); - __gen_e_acsl_size_31 = 8 * ((10 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_41,"size",0, __gen_e_acsl_size_31); - if (__gen_e_acsl_size_31 <= 0) __gen_e_acsl_if_31 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_41,"size",0, - __gen_e_acsl_size_31); - __gen_e_acsl_if_31 = __gen_e_acsl_size_31; - } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_41,"size",0, + __gen_e_acsl_size_31); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_41,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_41, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_41, "sizeof(double)",0,8); - __gen_e_acsl_size_32 = 8 * ((15 - 5) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_41,"size",0, __gen_e_acsl_size_32); - if (__gen_e_acsl_size_32 <= 0) __gen_e_acsl_if_32 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_41,"size",0, - __gen_e_acsl_size_32); - __gen_e_acsl_if_32 = __gen_e_acsl_size_32; - } - __gen_e_acsl_separated_13 = __e_acsl_separated(2UL, - (char *)array_0 + 8 * 0, - __gen_e_acsl_if_31, - (char *)array_0 + 8 * 5, - __gen_e_acsl_if_32); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_41,"size",0, + __gen_e_acsl_size_32); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_41, "\\separated(array_0 + (0 .. 10), array_0 + (5 .. 15))", 0,__gen_e_acsl_separated_13); @@ -1601,26 +1537,24 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_45 = {.values = (void *)0}; + __gen_e_acsl_size_33 = 8 * ((19 - 0) + 1); + if (__gen_e_acsl_size_33 <= 0) __gen_e_acsl_if_33 = 0; + else __gen_e_acsl_if_33 = __gen_e_acsl_size_33; + __gen_e_acsl_valid_read_31 = __e_acsl_valid_read((void *)((char *)array_0 + + 8 * 0), + (size_t)__gen_e_acsl_if_33, + (void *)array_0, + (void *)(& array_0)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_45,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_45, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_45, "sizeof(double)",0,8); - __gen_e_acsl_size_33 = 8 * ((19 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_45,"size",0, __gen_e_acsl_size_33); - if (__gen_e_acsl_size_33 <= 0) __gen_e_acsl_if_33 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_45,"size",0, - __gen_e_acsl_size_33); - __gen_e_acsl_if_33 = __gen_e_acsl_size_33; - } - __gen_e_acsl_valid_read_31 = __e_acsl_valid_read((void *)((char *)array_0 + - 8 * 0), - (size_t)__gen_e_acsl_if_33, - (void *)array_0, - (void *)(& array_0)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_45,"size",0, + __gen_e_acsl_size_33); __gen_e_acsl_assert_data_45.blocking = 1; __gen_e_acsl_assert_data_45.kind = "RTE"; __gen_e_acsl_assert_data_45.pred_txt = "\\valid_read(array_0 + (0 .. 19))"; @@ -1633,26 +1567,24 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_45); __e_acsl_assert_data_t __gen_e_acsl_assert_data_46 = {.values = (void *)0}; + __gen_e_acsl_size_34 = 8 * ((15 - 5) + 1); + if (__gen_e_acsl_size_34 <= 0) __gen_e_acsl_if_34 = 0; + else __gen_e_acsl_if_34 = __gen_e_acsl_size_34; + __gen_e_acsl_valid_read_32 = __e_acsl_valid_read((void *)((char *)array_0 + + 8 * 5), + (size_t)__gen_e_acsl_if_34, + (void *)array_0, + (void *)(& array_0)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_46,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_46, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_46, "sizeof(double)",0,8); - __gen_e_acsl_size_34 = 8 * ((15 - 5) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_46,"size",0, __gen_e_acsl_size_34); - if (__gen_e_acsl_size_34 <= 0) __gen_e_acsl_if_34 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_46,"size",0, - __gen_e_acsl_size_34); - __gen_e_acsl_if_34 = __gen_e_acsl_size_34; - } - __gen_e_acsl_valid_read_32 = __e_acsl_valid_read((void *)((char *)array_0 + - 8 * 5), - (size_t)__gen_e_acsl_if_34, - (void *)array_0, - (void *)(& array_0)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_46,"size",0, + __gen_e_acsl_size_34); __gen_e_acsl_assert_data_46.blocking = 1; __gen_e_acsl_assert_data_46.kind = "RTE"; __gen_e_acsl_assert_data_46.pred_txt = "\\valid_read(array_0 + (5 .. 15))"; @@ -1663,41 +1595,37 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_32, & __gen_e_acsl_assert_data_46); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_46); + __gen_e_acsl_size_35 = 8 * ((19 - 0) + 1); + if (__gen_e_acsl_size_35 <= 0) __gen_e_acsl_if_35 = 0; + else __gen_e_acsl_if_35 = __gen_e_acsl_size_35; + __gen_e_acsl_size_36 = 8 * ((15 - 5) + 1); + if (__gen_e_acsl_size_36 <= 0) __gen_e_acsl_if_36 = 0; + else __gen_e_acsl_if_36 = __gen_e_acsl_size_36; + __gen_e_acsl_separated_14 = __e_acsl_separated(2UL, + (char *)array_0 + 8 * 0, + __gen_e_acsl_if_35, + (char *)array_0 + 8 * 5, + __gen_e_acsl_if_36); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_44,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_44, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_44, "sizeof(double)",0,8); - __gen_e_acsl_size_35 = 8 * ((19 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_44,"size",0, __gen_e_acsl_size_35); - if (__gen_e_acsl_size_35 <= 0) __gen_e_acsl_if_35 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_44,"size",0, - __gen_e_acsl_size_35); - __gen_e_acsl_if_35 = __gen_e_acsl_size_35; - } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_44,"size",0, + __gen_e_acsl_size_35); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_44,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_44, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_44, "sizeof(double)",0,8); - __gen_e_acsl_size_36 = 8 * ((15 - 5) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_44,"size",0, __gen_e_acsl_size_36); - if (__gen_e_acsl_size_36 <= 0) __gen_e_acsl_if_36 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_44,"size",0, - __gen_e_acsl_size_36); - __gen_e_acsl_if_36 = __gen_e_acsl_size_36; - } - __gen_e_acsl_separated_14 = __e_acsl_separated(2UL, - (char *)array_0 + 8 * 0, - __gen_e_acsl_if_35, - (char *)array_0 + 8 * 5, - __gen_e_acsl_if_36); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_44,"size",0, + __gen_e_acsl_size_36); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_44, "\\separated(array_0 + (0 .. 19), array_0 + (5 .. 15))", 0,__gen_e_acsl_separated_14); @@ -1720,14 +1648,14 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_48 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_48,"array_0", - (void *)array_0); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_48, - "sizeof(double)",0,sizeof(double)); __gen_e_acsl_valid_read_33 = __e_acsl_valid_read((void *)(array_0 + 0), sizeof(double), (void *)array_0, (void *)(& array_0)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_48,"array_0", + (void *)array_0); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_48, + "sizeof(double)",0,sizeof(double)); __gen_e_acsl_assert_data_48.blocking = 1; __gen_e_acsl_assert_data_48.kind = "RTE"; __gen_e_acsl_assert_data_48.pred_txt = "\\valid_read(array_0 + 0)"; @@ -1740,14 +1668,14 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_48); __e_acsl_assert_data_t __gen_e_acsl_assert_data_49 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_49,"array_0", - (void *)array_0); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_49, - "sizeof(double)",0,sizeof(double)); __gen_e_acsl_valid_read_34 = __e_acsl_valid_read((void *)(array_0 + 1), sizeof(double), (void *)array_0, (void *)(& array_0)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_49,"array_0", + (void *)array_0); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_49, + "sizeof(double)",0,sizeof(double)); __gen_e_acsl_assert_data_49.blocking = 1; __gen_e_acsl_assert_data_49.kind = "RTE"; __gen_e_acsl_assert_data_49.pred_txt = "\\valid_read(array_0 + 1)"; @@ -1758,6 +1686,10 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_34, & __gen_e_acsl_assert_data_49); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_49); + __gen_e_acsl_separated_15 = __e_acsl_separated(2UL,array_0 + 0, + sizeof(double), + array_0 + 1, + sizeof(double)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_47,"array_0", (void *)array_0); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_47, @@ -1766,10 +1698,6 @@ int main(void) (void *)array_0); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_47, "sizeof(double)",0,sizeof(double)); - __gen_e_acsl_separated_15 = __e_acsl_separated(2UL,array_0 + 0, - sizeof(double), - array_0 + 1, - sizeof(double)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_47, "\\separated(array_0 + 0, array_0 + 1)",0, __gen_e_acsl_separated_15); @@ -1800,26 +1728,24 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_51 = {.values = (void *)0}; + __gen_e_acsl_size_37 = 8 * ((1 - 0) + 1); + if (__gen_e_acsl_size_37 <= 0) __gen_e_acsl_if_37 = 0; + else __gen_e_acsl_if_37 = __gen_e_acsl_size_37; + __gen_e_acsl_valid_read_35 = __e_acsl_valid_read((void *)((char *)array_0 + + 8 * 0), + (size_t)__gen_e_acsl_if_37, + (void *)array_0, + (void *)(& array_0)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_51,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_51, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_51, "sizeof(double)",0,8); - __gen_e_acsl_size_37 = 8 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_51,"size",0, __gen_e_acsl_size_37); - if (__gen_e_acsl_size_37 <= 0) __gen_e_acsl_if_37 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_51,"size",0, - __gen_e_acsl_size_37); - __gen_e_acsl_if_37 = __gen_e_acsl_size_37; - } - __gen_e_acsl_valid_read_35 = __e_acsl_valid_read((void *)((char *)array_0 + - 8 * 0), - (size_t)__gen_e_acsl_if_37, - (void *)array_0, - (void *)(& array_0)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_51,"size",0, + __gen_e_acsl_size_37); __gen_e_acsl_assert_data_51.blocking = 1; __gen_e_acsl_assert_data_51.kind = "RTE"; __gen_e_acsl_assert_data_51.pred_txt = "\\valid_read(array_0 + (0 .. 1))"; @@ -1832,26 +1758,24 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_51); __e_acsl_assert_data_t __gen_e_acsl_assert_data_52 = {.values = (void *)0}; + __gen_e_acsl_size_38 = 8 * ((2 - 1) + 1); + if (__gen_e_acsl_size_38 <= 0) __gen_e_acsl_if_38 = 0; + else __gen_e_acsl_if_38 = __gen_e_acsl_size_38; + __gen_e_acsl_valid_read_36 = __e_acsl_valid_read((void *)((char *)array_0 + + 8 * 1), + (size_t)__gen_e_acsl_if_38, + (void *)array_0, + (void *)(& array_0)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_52,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_52, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_52, "sizeof(double)",0,8); - __gen_e_acsl_size_38 = 8 * ((2 - 1) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_52,"size",0, __gen_e_acsl_size_38); - if (__gen_e_acsl_size_38 <= 0) __gen_e_acsl_if_38 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_52,"size",0, - __gen_e_acsl_size_38); - __gen_e_acsl_if_38 = __gen_e_acsl_size_38; - } - __gen_e_acsl_valid_read_36 = __e_acsl_valid_read((void *)((char *)array_0 + - 8 * 1), - (size_t)__gen_e_acsl_if_38, - (void *)array_0, - (void *)(& array_0)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_52,"size",0, + __gen_e_acsl_size_38); __gen_e_acsl_assert_data_52.blocking = 1; __gen_e_acsl_assert_data_52.kind = "RTE"; __gen_e_acsl_assert_data_52.pred_txt = "\\valid_read(array_0 + (1 .. 2))"; @@ -1862,41 +1786,37 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_36, & __gen_e_acsl_assert_data_52); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_52); + __gen_e_acsl_size_39 = 8 * ((1 - 0) + 1); + if (__gen_e_acsl_size_39 <= 0) __gen_e_acsl_if_39 = 0; + else __gen_e_acsl_if_39 = __gen_e_acsl_size_39; + __gen_e_acsl_size_40 = 8 * ((2 - 1) + 1); + if (__gen_e_acsl_size_40 <= 0) __gen_e_acsl_if_40 = 0; + else __gen_e_acsl_if_40 = __gen_e_acsl_size_40; + __gen_e_acsl_separated_16 = __e_acsl_separated(2UL, + (char *)array_0 + 8 * 0, + __gen_e_acsl_if_39, + (char *)array_0 + 8 * 1, + __gen_e_acsl_if_40); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_50,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50, "sizeof(double)",0,8); - __gen_e_acsl_size_39 = 8 * ((1 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50,"size",0, __gen_e_acsl_size_39); - if (__gen_e_acsl_size_39 <= 0) __gen_e_acsl_if_39 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50,"size",0, - __gen_e_acsl_size_39); - __gen_e_acsl_if_39 = __gen_e_acsl_size_39; - } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50,"size",0, + __gen_e_acsl_size_39); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_50,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50, "sizeof(double)",0,8); - __gen_e_acsl_size_40 = 8 * ((2 - 1) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50,"size",0, __gen_e_acsl_size_40); - if (__gen_e_acsl_size_40 <= 0) __gen_e_acsl_if_40 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50,"size",0, - __gen_e_acsl_size_40); - __gen_e_acsl_if_40 = __gen_e_acsl_size_40; - } - __gen_e_acsl_separated_16 = __e_acsl_separated(2UL, - (char *)array_0 + 8 * 0, - __gen_e_acsl_if_39, - (char *)array_0 + 8 * 1, - __gen_e_acsl_if_40); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50,"size",0, + __gen_e_acsl_size_40); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_50, "\\separated(array_0 + (0 .. 1), array_0 + (1 .. 2))", 0,__gen_e_acsl_separated_16); @@ -1927,26 +1847,24 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_54 = {.values = (void *)0}; + __gen_e_acsl_size_41 = 8 * ((5 - 15) + 1); + if (__gen_e_acsl_size_41 <= 0) __gen_e_acsl_if_41 = 0; + else __gen_e_acsl_if_41 = __gen_e_acsl_size_41; + __gen_e_acsl_valid_read_37 = __e_acsl_valid_read((void *)((char *)array_0 + + 8 * 15), + (size_t)__gen_e_acsl_if_41, + (void *)array_0, + (void *)(& array_0)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_54,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_54, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_54, "sizeof(double)",0,8); - __gen_e_acsl_size_41 = 8 * ((5 - 15) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_54,"size",0, __gen_e_acsl_size_41); - if (__gen_e_acsl_size_41 <= 0) __gen_e_acsl_if_41 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_54,"size",0, - __gen_e_acsl_size_41); - __gen_e_acsl_if_41 = __gen_e_acsl_size_41; - } - __gen_e_acsl_valid_read_37 = __e_acsl_valid_read((void *)((char *)array_0 + - 8 * 15), - (size_t)__gen_e_acsl_if_41, - (void *)array_0, - (void *)(& array_0)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_54,"size",0, + __gen_e_acsl_size_41); __gen_e_acsl_assert_data_54.blocking = 1; __gen_e_acsl_assert_data_54.kind = "RTE"; __gen_e_acsl_assert_data_54.pred_txt = "\\valid_read(array_0 + (15 .. 5))"; @@ -1959,26 +1877,24 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_54); __e_acsl_assert_data_t __gen_e_acsl_assert_data_55 = {.values = (void *)0}; + __gen_e_acsl_size_42 = 8 * ((19 - 0) + 1); + if (__gen_e_acsl_size_42 <= 0) __gen_e_acsl_if_42 = 0; + else __gen_e_acsl_if_42 = __gen_e_acsl_size_42; + __gen_e_acsl_valid_read_38 = __e_acsl_valid_read((void *)((char *)array_0 + + 8 * 0), + (size_t)__gen_e_acsl_if_42, + (void *)array_0, + (void *)(& array_0)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_55,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_55, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_55, "sizeof(double)",0,8); - __gen_e_acsl_size_42 = 8 * ((19 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_55,"size",0, __gen_e_acsl_size_42); - if (__gen_e_acsl_size_42 <= 0) __gen_e_acsl_if_42 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_55,"size",0, - __gen_e_acsl_size_42); - __gen_e_acsl_if_42 = __gen_e_acsl_size_42; - } - __gen_e_acsl_valid_read_38 = __e_acsl_valid_read((void *)((char *)array_0 + - 8 * 0), - (size_t)__gen_e_acsl_if_42, - (void *)array_0, - (void *)(& array_0)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_55,"size",0, + __gen_e_acsl_size_42); __gen_e_acsl_assert_data_55.blocking = 1; __gen_e_acsl_assert_data_55.kind = "RTE"; __gen_e_acsl_assert_data_55.pred_txt = "\\valid_read(array_0 + (0 .. 19))"; @@ -1989,41 +1905,37 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_38, & __gen_e_acsl_assert_data_55); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_55); + __gen_e_acsl_size_43 = 8 * ((5 - 15) + 1); + if (__gen_e_acsl_size_43 <= 0) __gen_e_acsl_if_43 = 0; + else __gen_e_acsl_if_43 = __gen_e_acsl_size_43; + __gen_e_acsl_size_44 = 8 * ((19 - 0) + 1); + if (__gen_e_acsl_size_44 <= 0) __gen_e_acsl_if_44 = 0; + else __gen_e_acsl_if_44 = __gen_e_acsl_size_44; + __gen_e_acsl_separated_17 = __e_acsl_separated(2UL, + (char *)array_0 + 8 * 15, + __gen_e_acsl_if_43, + (char *)array_0 + 8 * 0, + __gen_e_acsl_if_44); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_53,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_53, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_53, "sizeof(double)",0,8); - __gen_e_acsl_size_43 = 8 * ((5 - 15) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_53,"size",0, __gen_e_acsl_size_43); - if (__gen_e_acsl_size_43 <= 0) __gen_e_acsl_if_43 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_53,"size",0, - __gen_e_acsl_size_43); - __gen_e_acsl_if_43 = __gen_e_acsl_size_43; - } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_53,"size",0, + __gen_e_acsl_size_43); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_53,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_53, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_53, "sizeof(double)",0,8); - __gen_e_acsl_size_44 = 8 * ((19 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_53,"size",0, __gen_e_acsl_size_44); - if (__gen_e_acsl_size_44 <= 0) __gen_e_acsl_if_44 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_53,"size",0, - __gen_e_acsl_size_44); - __gen_e_acsl_if_44 = __gen_e_acsl_size_44; - } - __gen_e_acsl_separated_17 = __e_acsl_separated(2UL, - (char *)array_0 + 8 * 15, - __gen_e_acsl_if_43, - (char *)array_0 + 8 * 0, - __gen_e_acsl_if_44); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_53,"size",0, + __gen_e_acsl_size_44); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_53, "\\separated(array_0 + (15 .. 5), array_0 + (0 .. 19))", 0,__gen_e_acsl_separated_17); @@ -2054,26 +1966,24 @@ int main(void) {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_57 = {.values = (void *)0}; + __gen_e_acsl_size_45 = 8 * ((-3 - 0) + 1); + if (__gen_e_acsl_size_45 <= 0) __gen_e_acsl_if_45 = 0; + else __gen_e_acsl_if_45 = __gen_e_acsl_size_45; + __gen_e_acsl_valid_read_39 = __e_acsl_valid_read((void *)((char *)array_0 + + 8 * 0), + (size_t)__gen_e_acsl_if_45, + (void *)array_0, + (void *)(& array_0)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_57,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_57, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_57, "sizeof(double)",0,8); - __gen_e_acsl_size_45 = 8 * ((-3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_57,"size",0, __gen_e_acsl_size_45); - if (__gen_e_acsl_size_45 <= 0) __gen_e_acsl_if_45 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_57,"size",0, - __gen_e_acsl_size_45); - __gen_e_acsl_if_45 = __gen_e_acsl_size_45; - } - __gen_e_acsl_valid_read_39 = __e_acsl_valid_read((void *)((char *)array_0 + - 8 * 0), - (size_t)__gen_e_acsl_if_45, - (void *)array_0, - (void *)(& array_0)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_57,"size",0, + __gen_e_acsl_size_45); __gen_e_acsl_assert_data_57.blocking = 1; __gen_e_acsl_assert_data_57.kind = "RTE"; __gen_e_acsl_assert_data_57.pred_txt = "\\valid_read(array_0 + (0 .. -3))"; @@ -2086,26 +1996,24 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_57); __e_acsl_assert_data_t __gen_e_acsl_assert_data_58 = {.values = (void *)0}; + __gen_e_acsl_size_46 = 8 * ((19 - 0) + 1); + if (__gen_e_acsl_size_46 <= 0) __gen_e_acsl_if_46 = 0; + else __gen_e_acsl_if_46 = __gen_e_acsl_size_46; + __gen_e_acsl_valid_read_40 = __e_acsl_valid_read((void *)((char *)array_0 + + 8 * 0), + (size_t)__gen_e_acsl_if_46, + (void *)array_0, + (void *)(& array_0)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_58,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_58, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_58, "sizeof(double)",0,8); - __gen_e_acsl_size_46 = 8 * ((19 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_58,"size",0, __gen_e_acsl_size_46); - if (__gen_e_acsl_size_46 <= 0) __gen_e_acsl_if_46 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_58,"size",0, - __gen_e_acsl_size_46); - __gen_e_acsl_if_46 = __gen_e_acsl_size_46; - } - __gen_e_acsl_valid_read_40 = __e_acsl_valid_read((void *)((char *)array_0 + - 8 * 0), - (size_t)__gen_e_acsl_if_46, - (void *)array_0, - (void *)(& array_0)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_58,"size",0, + __gen_e_acsl_size_46); __gen_e_acsl_assert_data_58.blocking = 1; __gen_e_acsl_assert_data_58.kind = "RTE"; __gen_e_acsl_assert_data_58.pred_txt = "\\valid_read(array_0 + (0 .. 19))"; @@ -2116,41 +2024,37 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_40, & __gen_e_acsl_assert_data_58); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_58); + __gen_e_acsl_size_47 = 8 * ((-3 - 0) + 1); + if (__gen_e_acsl_size_47 <= 0) __gen_e_acsl_if_47 = 0; + else __gen_e_acsl_if_47 = __gen_e_acsl_size_47; + __gen_e_acsl_size_48 = 8 * ((19 - 0) + 1); + if (__gen_e_acsl_size_48 <= 0) __gen_e_acsl_if_48 = 0; + else __gen_e_acsl_if_48 = __gen_e_acsl_size_48; + __gen_e_acsl_separated_18 = __e_acsl_separated(2UL, + (char *)array_0 + 8 * 0, + __gen_e_acsl_if_47, + (char *)array_0 + 8 * 0, + __gen_e_acsl_if_48); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_56,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_56, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_56, "sizeof(double)",0,8); - __gen_e_acsl_size_47 = 8 * ((-3 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_56,"size",0, __gen_e_acsl_size_47); - if (__gen_e_acsl_size_47 <= 0) __gen_e_acsl_if_47 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_56,"size",0, - __gen_e_acsl_size_47); - __gen_e_acsl_if_47 = __gen_e_acsl_size_47; - } + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_56,"size",0, + __gen_e_acsl_size_47); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_56,"array_0", (void *)array_0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_56, "sizeof(double)",0,8); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_56, "sizeof(double)",0,8); - __gen_e_acsl_size_48 = 8 * ((19 - 0) + 1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_56,"size",0, __gen_e_acsl_size_48); - if (__gen_e_acsl_size_48 <= 0) __gen_e_acsl_if_48 = 0; - else { - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_56,"size",0, - __gen_e_acsl_size_48); - __gen_e_acsl_if_48 = __gen_e_acsl_size_48; - } - __gen_e_acsl_separated_18 = __e_acsl_separated(2UL, - (char *)array_0 + 8 * 0, - __gen_e_acsl_if_47, - (char *)array_0 + 8 * 0, - __gen_e_acsl_if_48); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_56,"size",0, + __gen_e_acsl_size_48); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_56, "\\separated(array_0 + (0 .. -3), array_0 + (0 .. 19))", 0,__gen_e_acsl_separated_18); @@ -2295,16 +2199,16 @@ int main(void) int __gen_e_acsl_separated_19; __e_acsl_assert_data_t __gen_e_acsl_assert_data_63 = {.values = (void *)0}; + __gen_e_acsl_valid_read_44 = __e_acsl_valid_read((void *)(& array_1[0][__gen_e_acsl_range_6][0]), + sizeof(double), + (void *)(& array_1[0][0][0]), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_63, "&array_1[0][range_6][0]", (void *)(& array_1[0][__gen_e_acsl_range_6][0])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_63, "sizeof(double)",0, sizeof(double)); - __gen_e_acsl_valid_read_44 = __e_acsl_valid_read((void *)(& array_1[0][__gen_e_acsl_range_6][0]), - sizeof(double), - (void *)(& array_1[0][0][0]), - (void *)0); __gen_e_acsl_assert_data_63.blocking = 1; __gen_e_acsl_assert_data_63.kind = "RTE"; __gen_e_acsl_assert_data_63.pred_txt = "\\valid_read(&array_1[0][range_6][0])"; @@ -2317,16 +2221,16 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_63); __e_acsl_assert_data_t __gen_e_acsl_assert_data_64 = {.values = (void *)0}; + __gen_e_acsl_valid_read_45 = __e_acsl_valid_read((void *)(& array_1[0][__gen_e_acsl_range_5][0]), + sizeof(double), + (void *)(& array_1[0][0][0]), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_64, "&array_1[0][range_5][0]", (void *)(& array_1[0][__gen_e_acsl_range_5][0])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_64, "sizeof(double)",0, sizeof(double)); - __gen_e_acsl_valid_read_45 = __e_acsl_valid_read((void *)(& array_1[0][__gen_e_acsl_range_5][0]), - sizeof(double), - (void *)(& array_1[0][0][0]), - (void *)0); __gen_e_acsl_assert_data_64.blocking = 1; __gen_e_acsl_assert_data_64.kind = "RTE"; __gen_e_acsl_assert_data_64.pred_txt = "\\valid_read(&array_1[0][range_5][0])"; @@ -2339,16 +2243,16 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_64); __e_acsl_assert_data_t __gen_e_acsl_assert_data_65 = {.values = (void *)0}; + __gen_e_acsl_valid_read_46 = __e_acsl_valid_read((void *)(& array_1[0][__gen_e_acsl_range_4][0]), + sizeof(double), + (void *)(& array_1[0][0][0]), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_65, "&array_1[0][range_4][0]", (void *)(& array_1[0][__gen_e_acsl_range_4][0])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_65, "sizeof(double)",0, sizeof(double)); - __gen_e_acsl_valid_read_46 = __e_acsl_valid_read((void *)(& array_1[0][__gen_e_acsl_range_4][0]), - sizeof(double), - (void *)(& array_1[0][0][0]), - (void *)0); __gen_e_acsl_assert_data_65.blocking = 1; __gen_e_acsl_assert_data_65.kind = "RTE"; __gen_e_acsl_assert_data_65.pred_txt = "\\valid_read(&array_1[0][range_4][0])"; @@ -2538,16 +2442,16 @@ int main(void) int __gen_e_acsl_separated_20; __e_acsl_assert_data_t __gen_e_acsl_assert_data_70 = {.values = (void *)0}; + __gen_e_acsl_valid_read_50 = __e_acsl_valid_read((void *)(& array_1[0][__gen_e_acsl_range_12][0]), + sizeof(double), + (void *)(& array_1[0][0][0]), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_70, "&array_1[0][range_12][0]", (void *)(& array_1[0][__gen_e_acsl_range_12][0])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_70, "sizeof(double)",0, sizeof(double)); - __gen_e_acsl_valid_read_50 = __e_acsl_valid_read((void *)(& array_1[0][__gen_e_acsl_range_12][0]), - sizeof(double), - (void *)(& array_1[0][0][0]), - (void *)0); __gen_e_acsl_assert_data_70.blocking = 1; __gen_e_acsl_assert_data_70.kind = "RTE"; __gen_e_acsl_assert_data_70.pred_txt = "\\valid_read(&array_1[0][range_12][0])"; @@ -2560,16 +2464,16 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_70); __e_acsl_assert_data_t __gen_e_acsl_assert_data_71 = {.values = (void *)0}; + __gen_e_acsl_valid_read_51 = __e_acsl_valid_read((void *)(& array_1[1][__gen_e_acsl_range_11][0]), + sizeof(double), + (void *)(& array_1[0][0][0]), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_71, "&array_1[1][range_11][0]", (void *)(& array_1[1][__gen_e_acsl_range_11][0])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_71, "sizeof(double)",0, sizeof(double)); - __gen_e_acsl_valid_read_51 = __e_acsl_valid_read((void *)(& array_1[1][__gen_e_acsl_range_11][0]), - sizeof(double), - (void *)(& array_1[0][0][0]), - (void *)0); __gen_e_acsl_assert_data_71.blocking = 1; __gen_e_acsl_assert_data_71.kind = "RTE"; __gen_e_acsl_assert_data_71.pred_txt = "\\valid_read(&array_1[1][range_11][0])"; @@ -2582,16 +2486,16 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_71); __e_acsl_assert_data_t __gen_e_acsl_assert_data_72 = {.values = (void *)0}; + __gen_e_acsl_valid_read_52 = __e_acsl_valid_read((void *)(& array_1[2][__gen_e_acsl_range_10][0]), + sizeof(double), + (void *)(& array_1[0][0][0]), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_72, "&array_1[2][range_10][0]", (void *)(& array_1[2][__gen_e_acsl_range_10][0])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_72, "sizeof(double)",0, sizeof(double)); - __gen_e_acsl_valid_read_52 = __e_acsl_valid_read((void *)(& array_1[2][__gen_e_acsl_range_10][0]), - sizeof(double), - (void *)(& array_1[0][0][0]), - (void *)0); __gen_e_acsl_assert_data_72.blocking = 1; __gen_e_acsl_assert_data_72.kind = "RTE"; __gen_e_acsl_assert_data_72.pred_txt = "\\valid_read(&array_1[2][range_10][0])"; @@ -2788,15 +2692,15 @@ int main(void) int __gen_e_acsl_separated_21; __e_acsl_assert_data_t __gen_e_acsl_assert_data_76 = {.values = (void *)0}; + __gen_e_acsl_valid_read_55 = __e_acsl_valid_read + ((void *)(& array_1[__gen_e_acsl_range_19][__gen_e_acsl_range_20][0]), + sizeof(double),(void *)(& array_1[0][0][0]),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_76, "&array_1[range_19][range_20][0]", (void *)(& array_1[__gen_e_acsl_range_19][__gen_e_acsl_range_20][0])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_76, "sizeof(double)",0, sizeof(double)); - __gen_e_acsl_valid_read_55 = __e_acsl_valid_read - ((void *)(& array_1[__gen_e_acsl_range_19][__gen_e_acsl_range_20][0]), - sizeof(double),(void *)(& array_1[0][0][0]),(void *)0); __gen_e_acsl_assert_data_76.blocking = 1; __gen_e_acsl_assert_data_76.kind = "RTE"; __gen_e_acsl_assert_data_76.pred_txt = "\\valid_read(&array_1[range_19][range_20][0])"; @@ -2809,15 +2713,15 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_76); __e_acsl_assert_data_t __gen_e_acsl_assert_data_77 = {.values = (void *)0}; + __gen_e_acsl_valid_read_56 = __e_acsl_valid_read + ((void *)(& array_1[__gen_e_acsl_range_17][__gen_e_acsl_range_18][0]), + sizeof(double),(void *)(& array_1[0][0][0]),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_77, "&array_1[range_17][range_18][0]", (void *)(& array_1[__gen_e_acsl_range_17][__gen_e_acsl_range_18][0])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_77, "sizeof(double)",0, sizeof(double)); - __gen_e_acsl_valid_read_56 = __e_acsl_valid_read - ((void *)(& array_1[__gen_e_acsl_range_17][__gen_e_acsl_range_18][0]), - sizeof(double),(void *)(& array_1[0][0][0]),(void *)0); __gen_e_acsl_assert_data_77.blocking = 1; __gen_e_acsl_assert_data_77.kind = "RTE"; __gen_e_acsl_assert_data_77.pred_txt = "\\valid_read(&array_1[range_17][range_18][0])"; @@ -3018,15 +2922,15 @@ int main(void) int __gen_e_acsl_separated_22; __e_acsl_assert_data_t __gen_e_acsl_assert_data_81 = {.values = (void *)0}; + __gen_e_acsl_valid_read_59 = __e_acsl_valid_read + ((void *)(& array_1[__gen_e_acsl_range_27][__gen_e_acsl_range_28][0]), + sizeof(double),(void *)(& array_1[0][0][0]),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_81, "&array_1[range_27][range_28][0]", (void *)(& array_1[__gen_e_acsl_range_27][__gen_e_acsl_range_28][0])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_81, "sizeof(double)",0, sizeof(double)); - __gen_e_acsl_valid_read_59 = __e_acsl_valid_read - ((void *)(& array_1[__gen_e_acsl_range_27][__gen_e_acsl_range_28][0]), - sizeof(double),(void *)(& array_1[0][0][0]),(void *)0); __gen_e_acsl_assert_data_81.blocking = 1; __gen_e_acsl_assert_data_81.kind = "RTE"; __gen_e_acsl_assert_data_81.pred_txt = "\\valid_read(&array_1[range_27][range_28][0])"; @@ -3039,15 +2943,15 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_81); __e_acsl_assert_data_t __gen_e_acsl_assert_data_82 = {.values = (void *)0}; + __gen_e_acsl_valid_read_60 = __e_acsl_valid_read + ((void *)(& array_1[__gen_e_acsl_range_25][__gen_e_acsl_range_26][0]), + sizeof(double),(void *)(& array_1[0][0][0]),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_82, "&array_1[range_25][range_26][0]", (void *)(& array_1[__gen_e_acsl_range_25][__gen_e_acsl_range_26][0])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_82, "sizeof(double)",0, sizeof(double)); - __gen_e_acsl_valid_read_60 = __e_acsl_valid_read - ((void *)(& array_1[__gen_e_acsl_range_25][__gen_e_acsl_range_26][0]), - sizeof(double),(void *)(& array_1[0][0][0]),(void *)0); __gen_e_acsl_assert_data_82.blocking = 1; __gen_e_acsl_assert_data_82.kind = "RTE"; __gen_e_acsl_assert_data_82.pred_txt = "\\valid_read(&array_1[range_25][range_26][0])"; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_stdout.c b/src/plugins/e-acsl/tests/memory/oracle/gen_stdout.c index a99ef484c82ad64d57f97385305d239a709504fb..850c8d6d027c4ec2d45439c17d90bb796f99c57f 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_stdout.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_stdout.c @@ -39,12 +39,12 @@ int main(void) { int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)stderr,sizeof(FILE), + (void *)stderr,(void *)(& stderr)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"__fc_stderr", (void *)stderr); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(FILE)", 0,sizeof(FILE)); - __gen_e_acsl_valid = __e_acsl_valid((void *)stderr,sizeof(FILE), - (void *)stderr,(void *)(& stderr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(__fc_stderr)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -61,12 +61,12 @@ int main(void) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)stdin,sizeof(FILE), + (void *)stdin,(void *)(& stdin)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"__fc_stdin", (void *)stdin); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(FILE)",0,sizeof(FILE)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)stdin,sizeof(FILE), - (void *)stdin,(void *)(& stdin)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(__fc_stdin)",0, __gen_e_acsl_valid_2); @@ -84,12 +84,12 @@ int main(void) int __gen_e_acsl_valid_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)stdout,sizeof(FILE), + (void *)stdout,(void *)(& stdout)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"__fc_stdout", (void *)stdout); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(FILE)",0,sizeof(FILE)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)stdout,sizeof(FILE), - (void *)stdout,(void *)(& stdout)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(__fc_stdout)",0, __gen_e_acsl_valid_3); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_struct_initialized.c b/src/plugins/e-acsl/tests/memory/oracle/gen_struct_initialized.c index de0ff8f65d6ab3d1e7d6c429260090fc70e1e88d..51c9f60b355d6cac901443de54e3c615995f4224 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_struct_initialized.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_struct_initialized.c @@ -25,13 +25,13 @@ int main(void) int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& static_pair.a), + sizeof(int32_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data, "&static_pair.a", (void *)(& static_pair.a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int32_t)",0,sizeof(int32_t)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& static_pair.a), - sizeof(int32_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&static_pair.a)",0, __gen_e_acsl_initialized); @@ -49,13 +49,13 @@ int main(void) int __gen_e_acsl_initialized_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& static_pair.b), + sizeof(int32_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, "&static_pair.b", (void *)(& static_pair.b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int32_t)",0,sizeof(int32_t)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& static_pair.b), - sizeof(int32_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&static_pair.b)",0, __gen_e_acsl_initialized_2); @@ -76,13 +76,13 @@ int main(void) int __gen_e_acsl_initialized_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& static_pair.a), + sizeof(int32_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3, "&static_pair.a", (void *)(& static_pair.a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int32_t)",0,sizeof(int32_t)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& static_pair.a), - sizeof(int32_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&static_pair.a)",0, __gen_e_acsl_initialized_3); @@ -101,13 +101,13 @@ int main(void) int __gen_e_acsl_initialized_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& static_pair.b), + sizeof(int32_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "&static_pair.b", (void *)(& static_pair.b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int32_t)",0,sizeof(int32_t)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& static_pair.b), - sizeof(int32_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&static_pair.b)",0, __gen_e_acsl_initialized_4); @@ -128,13 +128,13 @@ int main(void) int __gen_e_acsl_initialized_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& static_pair.a), + sizeof(int32_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5, "&static_pair.a", (void *)(& static_pair.a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int32_t)",0,sizeof(int32_t)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& static_pair.a), - sizeof(int32_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&static_pair.a)",0, __gen_e_acsl_initialized_5); @@ -153,13 +153,13 @@ int main(void) int __gen_e_acsl_initialized_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& static_pair.b), + sizeof(int32_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6, "&static_pair.b", (void *)(& static_pair.b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int32_t)",0,sizeof(int32_t)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& static_pair.b), - sizeof(int32_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&static_pair.b)",0, __gen_e_acsl_initialized_6); @@ -184,12 +184,12 @@ int main(void) int __gen_e_acsl_initialized_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& heap_pair->a), + sizeof(int32_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7, "&heap_pair->a",(void *)(& heap_pair->a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int32_t)",0,sizeof(int32_t)); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& heap_pair->a), - sizeof(int32_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized(&heap_pair->a)",0, __gen_e_acsl_initialized_7); @@ -208,12 +208,12 @@ int main(void) int __gen_e_acsl_initialized_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& heap_pair->b), + sizeof(int32_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8, "&heap_pair->b",(void *)(& heap_pair->b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(int32_t)",0,sizeof(int32_t)); - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& heap_pair->b), - sizeof(int32_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized(&heap_pair->b)",0, __gen_e_acsl_initialized_8); @@ -234,12 +234,12 @@ int main(void) int __gen_e_acsl_initialized_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(& heap_pair->a), + sizeof(int32_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, "&heap_pair->a",(void *)(& heap_pair->a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "sizeof(int32_t)",0,sizeof(int32_t)); - __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(& heap_pair->a), - sizeof(int32_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(&heap_pair->a)",0, __gen_e_acsl_initialized_9); @@ -258,12 +258,12 @@ int main(void) int __gen_e_acsl_initialized_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& heap_pair->b), + sizeof(int32_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10, "&heap_pair->b",(void *)(& heap_pair->b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(int32_t)",0,sizeof(int32_t)); - __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& heap_pair->b), - sizeof(int32_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\initialized(&heap_pair->b)",0, __gen_e_acsl_initialized_10); @@ -284,12 +284,12 @@ int main(void) int __gen_e_acsl_initialized_11; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; + __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(& heap_pair->a), + sizeof(int32_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11, "&heap_pair->a",(void *)(& heap_pair->a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_11, "sizeof(int32_t)",0,sizeof(int32_t)); - __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(& heap_pair->a), - sizeof(int32_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "\\initialized(&heap_pair->a)",0, __gen_e_acsl_initialized_11); @@ -308,12 +308,12 @@ int main(void) int __gen_e_acsl_initialized_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& heap_pair->b), + sizeof(int32_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12, "&heap_pair->b",(void *)(& heap_pair->b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "sizeof(int32_t)",0,sizeof(int32_t)); - __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& heap_pair->b), - sizeof(int32_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_12, "\\initialized(&heap_pair->b)",0, __gen_e_acsl_initialized_12); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_valid.c b/src/plugins/e-acsl/tests/memory/oracle/gen_valid.c index 0aeeb6ad615708875603970bbb6817471c32ed28..21ee7902294f2f1c847f800347454aeff1dd2a0e 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_valid.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_valid.c @@ -24,22 +24,22 @@ int *f(int *x) int __gen_e_acsl_and; __e_acsl_store_block((void *)(& x),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& y), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&y", (void *)(& y)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& y), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&y)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)y,sizeof(int),(void *)y, + (void *)(& y)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"y",(void *)y); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)y,sizeof(int),(void *)y, - (void *)(& y)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(y)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -61,11 +61,11 @@ int *f(int *x) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)x,sizeof(int),(void *)x, + (void *)(& x)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"x",(void *)x); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)x,sizeof(int),(void *)x, - (void *)(& x)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\valid(x)",0, __gen_e_acsl_valid_2); __gen_e_acsl_assert_data_2.blocking = 1; @@ -101,10 +101,10 @@ void g(void) int __gen_e_acsl_initialized; int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(p)",0, __gen_e_acsl_initialized); @@ -112,26 +112,24 @@ void g(void) int __gen_e_acsl_initialized_2; int __gen_e_acsl_and; int __gen_e_acsl_valid; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"*p", - (void *)*p); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p), + sizeof(int **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int **)",0,sizeof(int **)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p), - sizeof(int **)); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_read; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p", - (void *)p); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, - "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)p, sizeof(int *), (void *)p, (void *)(& p)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p", + (void *)p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, + "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_and = __gen_e_acsl_valid_read; } else __gen_e_acsl_and = 0; @@ -144,10 +142,12 @@ void g(void) __gen_e_acsl_assert_data_2.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid = __e_acsl_valid((void *)*p,sizeof(int),(void *)*p, (void *)p); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"*p", + (void *)*p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(*p)", 0,__gen_e_acsl_valid); __gen_e_acsl_and_2 = __gen_e_acsl_valid; @@ -179,11 +179,11 @@ int *__gen_e_acsl_f(int *x) int __gen_e_acsl_valid; __e_acsl_store_block((void *)(& x),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)x,sizeof(int),(void *)x, + (void *)(& x)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"x",(void *)x); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)x,sizeof(int),(void *)x, - (void *)(& x)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(x)",0, __gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -200,13 +200,13 @@ int *__gen_e_acsl_f(int *x) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)__retres,sizeof(int), + (void *)__retres, + (void *)(& __retres)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"\\result", (void *)__retres); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)__retres,sizeof(int), - (void *)__retres, - (void *)(& __retres)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(\\result)",0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_2.blocking = 1; @@ -265,22 +265,22 @@ int main(void) int __gen_e_acsl_and_3; int __gen_e_acsl_and_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& a), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& a), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&a)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)a,sizeof(int),(void *)a, + (void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"a",(void *)a); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)a,sizeof(int),(void *)a, - (void *)(& a)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(a)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -289,23 +289,23 @@ int main(void) if (! __gen_e_acsl_and) { int __gen_e_acsl_initialized_2; int __gen_e_acsl_and_2; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& b), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& b), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&b)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)b,sizeof(int), + (void *)b,(void *)(& b)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"b", (void *)b); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)b,sizeof(int), - (void *)b,(void *)(& b)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(b)", 0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; @@ -316,11 +316,11 @@ int main(void) else __gen_e_acsl_and_3 = 0; if (__gen_e_acsl_and_3) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)X,sizeof(int),(void *)X, + (void *)(& X)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"X",(void *)X); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)X,sizeof(int),(void *)X, - (void *)(& X)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(X)",0, __gen_e_acsl_valid_3); __gen_e_acsl_and_4 = ! __gen_e_acsl_valid_3; @@ -345,23 +345,23 @@ int main(void) int __gen_e_acsl_and_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& a), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& a), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&a)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)a,sizeof(int),(void *)a, + (void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"a", (void *)a); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)a,sizeof(int),(void *)a, - (void *)(& a)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\valid(a)", 0,__gen_e_acsl_valid_4); __gen_e_acsl_and_5 = __gen_e_acsl_valid_4; @@ -370,23 +370,23 @@ int main(void) if (__gen_e_acsl_and_5) { int __gen_e_acsl_initialized_4; int __gen_e_acsl_and_6; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& b), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& b), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&b)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_5; + __gen_e_acsl_valid_5 = __e_acsl_valid((void *)b,sizeof(int), + (void *)b,(void *)(& b)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"b", (void *)b); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_5 = __e_acsl_valid((void *)b,sizeof(int), - (void *)b,(void *)(& b)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(b)",0,__gen_e_acsl_valid_5); __gen_e_acsl_and_6 = __gen_e_acsl_valid_5; @@ -397,12 +397,12 @@ int main(void) else __gen_e_acsl_and_7 = 0; if (__gen_e_acsl_and_7) { int __gen_e_acsl_valid_6; + __gen_e_acsl_valid_6 = __e_acsl_valid((void *)X,sizeof(int),(void *)X, + (void *)(& X)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"X", (void *)X); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_6 = __e_acsl_valid((void *)X,sizeof(int),(void *)X, - (void *)(& X)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\valid(X)", 0,__gen_e_acsl_valid_6); __gen_e_acsl_and_8 = ! __gen_e_acsl_valid_6; @@ -426,23 +426,23 @@ int main(void) int __gen_e_acsl_and_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& a), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& a), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&a)",0, __gen_e_acsl_initialized_5); if (__gen_e_acsl_initialized_5) { int __gen_e_acsl_valid_7; + __gen_e_acsl_valid_7 = __e_acsl_valid((void *)a,sizeof(int),(void *)a, + (void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"a", (void *)a); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_7 = __e_acsl_valid((void *)a,sizeof(int),(void *)a, - (void *)(& a)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"\\valid(a)", 0,__gen_e_acsl_valid_7); __gen_e_acsl_and_9 = __gen_e_acsl_valid_7; @@ -451,23 +451,23 @@ int main(void) if (__gen_e_acsl_and_9) { int __gen_e_acsl_initialized_6; int __gen_e_acsl_and_10; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& b), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& b), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&b)",0, __gen_e_acsl_initialized_6); if (__gen_e_acsl_initialized_6) { int __gen_e_acsl_valid_8; + __gen_e_acsl_valid_8 = __e_acsl_valid((void *)b,sizeof(int), + (void *)b,(void *)(& b)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"b", (void *)b); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_8 = __e_acsl_valid((void *)b,sizeof(int), - (void *)b,(void *)(& b)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(b)",0,__gen_e_acsl_valid_8); __gen_e_acsl_and_10 = __gen_e_acsl_valid_8; @@ -478,12 +478,12 @@ int main(void) else __gen_e_acsl_and_11 = 0; if (__gen_e_acsl_and_11) { int __gen_e_acsl_valid_9; + __gen_e_acsl_valid_9 = __e_acsl_valid((void *)X,sizeof(int),(void *)X, + (void *)(& X)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"X", (void *)X); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_9 = __e_acsl_valid((void *)X,sizeof(int),(void *)X, - (void *)(& X)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"\\valid(X)", 0,__gen_e_acsl_valid_9); __gen_e_acsl_and_12 = __gen_e_acsl_valid_9; @@ -508,23 +508,23 @@ int main(void) int __gen_e_acsl_and_16; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& a), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& a), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&a)",0, __gen_e_acsl_initialized_7); if (__gen_e_acsl_initialized_7) { int __gen_e_acsl_valid_10; + __gen_e_acsl_valid_10 = __e_acsl_valid((void *)a,sizeof(int),(void *)a, + (void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"a", (void *)a); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_10 = __e_acsl_valid((void *)a,sizeof(int),(void *)a, - (void *)(& a)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"\\valid(a)", 0,__gen_e_acsl_valid_10); __gen_e_acsl_and_13 = __gen_e_acsl_valid_10; @@ -533,23 +533,23 @@ int main(void) if (__gen_e_acsl_and_13) { int __gen_e_acsl_initialized_8; int __gen_e_acsl_and_14; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& b), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& b), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&b)",0, __gen_e_acsl_initialized_8); if (__gen_e_acsl_initialized_8) { int __gen_e_acsl_valid_11; + __gen_e_acsl_valid_11 = __e_acsl_valid((void *)b,sizeof(int), + (void *)b,(void *)(& b)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"b", (void *)b); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_11 = __e_acsl_valid((void *)b,sizeof(int), - (void *)b,(void *)(& b)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(b)",0,__gen_e_acsl_valid_11); __gen_e_acsl_and_14 = __gen_e_acsl_valid_11; @@ -560,12 +560,12 @@ int main(void) else __gen_e_acsl_and_15 = 0; if (__gen_e_acsl_and_15) { int __gen_e_acsl_valid_12; + __gen_e_acsl_valid_12 = __e_acsl_valid((void *)X,sizeof(int),(void *)X, + (void *)(& X)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"X", (void *)X); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_12 = __e_acsl_valid((void *)X,sizeof(int),(void *)X, - (void *)(& X)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"\\valid(X)", 0,__gen_e_acsl_valid_12); __gen_e_acsl_and_16 = __gen_e_acsl_valid_12; @@ -589,23 +589,23 @@ int main(void) int __gen_e_acsl_and_20; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(& a), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(& a), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&a)",0, __gen_e_acsl_initialized_9); if (__gen_e_acsl_initialized_9) { int __gen_e_acsl_valid_13; + __gen_e_acsl_valid_13 = __e_acsl_valid((void *)a,sizeof(int),(void *)a, + (void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"a", (void *)a); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_13 = __e_acsl_valid((void *)a,sizeof(int),(void *)a, - (void *)(& a)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"\\valid(a)", 0,__gen_e_acsl_valid_13); __gen_e_acsl_and_17 = __gen_e_acsl_valid_13; @@ -614,23 +614,23 @@ int main(void) if (__gen_e_acsl_and_17) { int __gen_e_acsl_initialized_10; int __gen_e_acsl_and_18; + __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& b), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& b), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&b)",0, __gen_e_acsl_initialized_10); if (__gen_e_acsl_initialized_10) { int __gen_e_acsl_valid_14; + __gen_e_acsl_valid_14 = __e_acsl_valid((void *)b,sizeof(int), + (void *)b,(void *)(& b)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"b", (void *)b); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_14 = __e_acsl_valid((void *)b,sizeof(int), - (void *)b,(void *)(& b)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\valid(b)",0,__gen_e_acsl_valid_14); __gen_e_acsl_and_18 = __gen_e_acsl_valid_14; @@ -641,12 +641,12 @@ int main(void) else __gen_e_acsl_and_19 = 0; if (__gen_e_acsl_and_19) { int __gen_e_acsl_valid_15; + __gen_e_acsl_valid_15 = __e_acsl_valid((void *)X,sizeof(int),(void *)X, + (void *)(& X)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"X", (void *)X); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_15 = __e_acsl_valid((void *)X,sizeof(int),(void *)X, - (void *)(& X)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"\\valid(X)", 0,__gen_e_acsl_valid_15); __gen_e_acsl_and_20 = __gen_e_acsl_valid_15; @@ -671,11 +671,11 @@ int main(void) int __gen_e_acsl_and_22; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)c, + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"c",(void *)c); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)c, - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(c)",0, __gen_e_acsl_initialized_11); @@ -683,26 +683,24 @@ int main(void) int __gen_e_acsl_initialized_12; int __gen_e_acsl_and_21; int __gen_e_acsl_valid_16; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"*c", - (void *)*c); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& c), + sizeof(int **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&c", (void *)(& c)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int **)",0,sizeof(int **)); - __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& c), - sizeof(int **)); if (__gen_e_acsl_initialized_12) { int __gen_e_acsl_valid_read; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"c", - (void *)c); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, - "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)c, sizeof(int *), (void *)c, (void *)(& c)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"c", + (void *)c); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, + "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_and_21 = __gen_e_acsl_valid_read; } else __gen_e_acsl_and_21 = 0; @@ -715,10 +713,12 @@ int main(void) __gen_e_acsl_assert_data_7.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and_21,& __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_16 = __e_acsl_valid((void *)*c,sizeof(int), (void *)*c,(void *)c); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"*c", + (void *)*c); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\valid(*c)",0,__gen_e_acsl_valid_16); __gen_e_acsl_and_22 = __gen_e_acsl_valid_16; @@ -741,26 +741,24 @@ int main(void) int __gen_e_acsl_and_27; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"*d", - (void *)*d); __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)(& d), + sizeof(int ***)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"&d", (void *)(& d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "sizeof(int ***)",0,sizeof(int ***)); - __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)(& d), - sizeof(int ***)); if (__gen_e_acsl_initialized_13) { int __gen_e_acsl_valid_read_2; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"d", - (void *)d); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, - "sizeof(int **)",0,sizeof(int **)); __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)d, sizeof(int **), (void *)d, (void *)(& d)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"d", + (void *)d); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, + "sizeof(int **)",0,sizeof(int **)); __gen_e_acsl_and_23 = __gen_e_acsl_valid_read_2; } else __gen_e_acsl_and_23 = 0; @@ -773,10 +771,12 @@ int main(void) __gen_e_acsl_assert_data_9.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and_23,& __gen_e_acsl_assert_data_9); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, - "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_initialized_14 = __e_acsl_initialized((void *)*d, sizeof(int *)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"*d", + (void *)*d); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, + "sizeof(int *)",0,sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized(*d)",0, __gen_e_acsl_initialized_14); @@ -786,40 +786,36 @@ int main(void) int __gen_e_acsl_initialized_17; int __gen_e_acsl_and_26; int __gen_e_acsl_valid_17; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"*(*d)", - (void *)*(*d)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)d, + sizeof(int **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"d", (void *)d); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(int **)",0,sizeof(int **)); - __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)d, - sizeof(int **)); if (__gen_e_acsl_initialized_15) { int __gen_e_acsl_initialized_16; int __gen_e_acsl_and_24; int __gen_e_acsl_valid_read_4; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"*d", - (void *)*d); __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; + __gen_e_acsl_initialized_16 = __e_acsl_initialized((void *)(& d), + sizeof(int ***)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"&d", (void *)(& d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_11, "sizeof(int ***)",0,sizeof(int ***)); - __gen_e_acsl_initialized_16 = __e_acsl_initialized((void *)(& d), - sizeof(int ***)); if (__gen_e_acsl_initialized_16) { int __gen_e_acsl_valid_read_3; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"d", - (void *)d); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_11, - "sizeof(int **)",0,sizeof(int **)); __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)d, sizeof(int **), (void *)d, (void *)(& d)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"d", + (void *)d); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_11, + "sizeof(int **)",0,sizeof(int **)); __gen_e_acsl_and_24 = __gen_e_acsl_valid_read_3; } else __gen_e_acsl_and_24 = 0; @@ -832,11 +828,13 @@ int main(void) __gen_e_acsl_assert_data_11.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and_24,& __gen_e_acsl_assert_data_11); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_11); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, - "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)*d, sizeof(int *), (void *)*d,(void *)d); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"*d", + (void *)*d); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, + "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_and_25 = __gen_e_acsl_valid_read_4; } else __gen_e_acsl_and_25 = 0; @@ -851,22 +849,22 @@ int main(void) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10); __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_initialized_17 = __e_acsl_initialized((void *)(& d), + sizeof(int ***)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"&d", (void *)(& d)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "sizeof(int ***)",0,sizeof(int ***)); - __gen_e_acsl_initialized_17 = __e_acsl_initialized((void *)(& d), - sizeof(int ***)); if (__gen_e_acsl_initialized_17) { int __gen_e_acsl_valid_read_5; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"d", - (void *)d); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, - "sizeof(int **)",0,sizeof(int **)); __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)d, sizeof(int **), (void *)d, (void *)(& d)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"d", + (void *)d); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, + "sizeof(int **)",0,sizeof(int **)); __gen_e_acsl_and_26 = __gen_e_acsl_valid_read_5; } else __gen_e_acsl_and_26 = 0; @@ -879,10 +877,12 @@ int main(void) __gen_e_acsl_assert_data_12.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and_26,& __gen_e_acsl_assert_data_12); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_12); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_17 = __e_acsl_valid((void *)*(*d),sizeof(int), (void *)*(*d),(void *)*d); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"*(*d)", + (void *)*(*d)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\valid(*(*d))",0,__gen_e_acsl_valid_17); __gen_e_acsl_and_27 = __gen_e_acsl_valid_17; @@ -906,24 +906,24 @@ int main(void) int __gen_e_acsl_and_31; __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 = {.values = (void *)0}; + __gen_e_acsl_initialized_18 = __e_acsl_initialized((void *)(& a), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_13, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_18 = __e_acsl_initialized((void *)(& a), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "\\initialized(&a)",0, __gen_e_acsl_initialized_18); if (__gen_e_acsl_initialized_18) { int __gen_e_acsl_valid_18; /*@ assert Eva: dangling_pointer: !\dangling(&a); */ + __gen_e_acsl_valid_18 = __e_acsl_valid((void *)a,sizeof(int),(void *)a, + (void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,"a", (void *)a); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_13, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_18 = __e_acsl_valid((void *)a,sizeof(int),(void *)a, - (void *)(& a)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "\\valid(a)",0,__gen_e_acsl_valid_18); __gen_e_acsl_and_28 = __gen_e_acsl_valid_18; @@ -932,23 +932,23 @@ int main(void) if (! __gen_e_acsl_and_28) { int __gen_e_acsl_initialized_19; int __gen_e_acsl_and_29; + __gen_e_acsl_initialized_19 = __e_acsl_initialized((void *)(& b), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_13, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_19 = __e_acsl_initialized((void *)(& b), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "\\initialized(&b)",0, __gen_e_acsl_initialized_19); if (__gen_e_acsl_initialized_19) { int __gen_e_acsl_valid_19; + __gen_e_acsl_valid_19 = __e_acsl_valid((void *)b,sizeof(int), + (void *)b,(void *)(& b)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,"b", (void *)b); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_13, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_19 = __e_acsl_valid((void *)b,sizeof(int), - (void *)b,(void *)(& b)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "\\valid(b)",0,__gen_e_acsl_valid_19); __gen_e_acsl_and_29 = __gen_e_acsl_valid_19; @@ -959,12 +959,12 @@ int main(void) else __gen_e_acsl_and_30 = 0; if (__gen_e_acsl_and_30) { int __gen_e_acsl_valid_20; + __gen_e_acsl_valid_20 = __e_acsl_valid((void *)X,sizeof(int),(void *)X, + (void *)(& X)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,"X", (void *)X); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_13, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_20 = __e_acsl_valid((void *)X,sizeof(int),(void *)X, - (void *)(& X)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "\\valid(X)",0,__gen_e_acsl_valid_20); __gen_e_acsl_and_31 = __gen_e_acsl_valid_20; @@ -984,12 +984,12 @@ int main(void) int __gen_e_acsl_valid_21; __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 = {.values = (void *)0}; + __gen_e_acsl_valid_21 = __e_acsl_valid((void *)(& Z),sizeof(int), + (void *)(& Z),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14,"&Z", (void *)(& Z)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_14, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_21 = __e_acsl_valid((void *)(& Z),sizeof(int), - (void *)(& Z),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_14,"\\valid(&Z)", 0,__gen_e_acsl_valid_21); __gen_e_acsl_assert_data_14.blocking = 1; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_valid_alias.c b/src/plugins/e-acsl/tests/memory/oracle/gen_valid_alias.c index 2fa0794d7d83e090ad4ce52e8694f21ef8392a88..13a72e62e4af0669af9fcceb74935dde93106c9f 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_valid_alias.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_valid_alias.c @@ -23,22 +23,22 @@ int main(void) int __gen_e_acsl_and; int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& a), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& a), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&a)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)a,sizeof(int),(void *)a, + (void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"a",(void *)a); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)a,sizeof(int),(void *)a, - (void *)(& a)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(a)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -47,23 +47,23 @@ int main(void) if (! __gen_e_acsl_and) { int __gen_e_acsl_initialized_2; int __gen_e_acsl_and_2; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& b), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& b), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&b)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)b,sizeof(int), + (void *)b,(void *)(& b)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"b", (void *)b); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)b,sizeof(int), - (void *)b,(void *)(& b)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(b)", 0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; @@ -94,23 +94,23 @@ int main(void) int __gen_e_acsl_and_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& a), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& a), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&a)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)a,sizeof(int),(void *)a, + (void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"a", (void *)a); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)a,sizeof(int),(void *)a, - (void *)(& a)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\valid(a)", 0,__gen_e_acsl_valid_3); __gen_e_acsl_and_4 = __gen_e_acsl_valid_3; @@ -119,23 +119,23 @@ int main(void) if (__gen_e_acsl_and_4) { int __gen_e_acsl_initialized_4; int __gen_e_acsl_and_5; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& b), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& b), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&b)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)b,sizeof(int), + (void *)b,(void *)(& b)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"b", (void *)b); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)b,sizeof(int), - (void *)b,(void *)(& b)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(b)",0,__gen_e_acsl_valid_4); __gen_e_acsl_and_5 = __gen_e_acsl_valid_4; @@ -159,24 +159,22 @@ int main(void) int __gen_e_acsl_and_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"*b",0,*b); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"n",0,n); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& b), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& b), - sizeof(int *)); if (__gen_e_acsl_initialized_5) { int __gen_e_acsl_valid_read; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)b,sizeof(int), + (void *)b,(void *)(& b)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"b", (void *)b); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)b,sizeof(int), - (void *)b,(void *)(& b)); __gen_e_acsl_and_7 = __gen_e_acsl_valid_read; } else __gen_e_acsl_and_7 = 0; @@ -189,6 +187,8 @@ int main(void) __gen_e_acsl_assert_data_4.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and_7,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"*b",0,*b); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"n",0,n); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "Assertion"; __gen_e_acsl_assert_data_3.pred_txt = "*b == n"; @@ -206,24 +206,24 @@ int main(void) int __gen_e_acsl_and_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& a), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&a", (void *)(& a)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& a), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&a)",0, __gen_e_acsl_initialized_6); if (__gen_e_acsl_initialized_6) { int __gen_e_acsl_valid_5; /*@ assert Eva: dangling_pointer: !\dangling(&a); */ + __gen_e_acsl_valid_5 = __e_acsl_valid((void *)a,sizeof(int),(void *)a, + (void *)(& a)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"a", (void *)a); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_5 = __e_acsl_valid((void *)a,sizeof(int),(void *)a, - (void *)(& a)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"\\valid(a)", 0,__gen_e_acsl_valid_5); __gen_e_acsl_and_8 = __gen_e_acsl_valid_5; @@ -232,23 +232,23 @@ int main(void) if (! __gen_e_acsl_and_8) { int __gen_e_acsl_initialized_7; int __gen_e_acsl_and_9; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& b), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&b", (void *)(& b)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& b), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&b)",0, __gen_e_acsl_initialized_7); if (__gen_e_acsl_initialized_7) { int __gen_e_acsl_valid_6; + __gen_e_acsl_valid_6 = __e_acsl_valid((void *)b,sizeof(int), + (void *)b,(void *)(& b)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"b", (void *)b); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_6 = __e_acsl_valid((void *)b,sizeof(int), - (void *)b,(void *)(& b)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\valid(b)",0,__gen_e_acsl_valid_6); __gen_e_acsl_and_9 = __gen_e_acsl_valid_6; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_valid_in_contract.c b/src/plugins/e-acsl/tests/memory/oracle/gen_valid_in_contract.c index 82270e4d2c6b0efc3fc95ecda31497c1c332885a..9144b3f24622922ec31f020dcc41bea85eccf996 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_valid_in_contract.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_valid_in_contract.c @@ -91,15 +91,15 @@ struct list *__gen_e_acsl_f(struct list *l) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(& l->next), + sizeof(struct list *), + (void *)(& l->next), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&l->next", (void *)(& l->next)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(struct list *)",0, sizeof(struct list *)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(& l->next), - sizeof(struct list *), - (void *)(& l->next), - (void *)0); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "RTE"; __gen_e_acsl_assert_data.pred_txt = "\\valid_read(&l->next)"; diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_vdso.c b/src/plugins/e-acsl/tests/memory/oracle/gen_vdso.c index 720714a89c4e7b8d7fa409ede4edb0db881be48a..665134feeaa369a851450be36f2eb1789bd16969 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_vdso.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_vdso.c @@ -72,12 +72,12 @@ time_t __gen_e_acsl_time(time_t *timer) int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)timer,sizeof(time_t), + (void *)timer,(void *)(& timer)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"timer", (void *)timer); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(time_t)",0,sizeof(time_t)); - __gen_e_acsl_valid = __e_acsl_valid((void *)timer,sizeof(time_t), - (void *)timer,(void *)(& timer)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(timer)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -94,14 +94,8 @@ time_t __gen_e_acsl_time(time_t *timer) ((__e_acsl_contract_t const *)__gen_e_acsl_contract); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); if (__gen_e_acsl_active_bhvrs != 1) { __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "Precondition"; @@ -132,12 +126,12 @@ time_t __gen_e_acsl_time(time_t *timer) int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, + sizeof(time_t)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4, "\\old(timer)",(void *)__gen_e_acsl_at); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(time_t)",0,sizeof(time_t)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)__gen_e_acsl_at, - sizeof(time_t)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "not_null: initialization: timer: \\initialized(\\old(timer))", 0,__gen_e_acsl_initialized); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_vector.c b/src/plugins/e-acsl/tests/memory/oracle/gen_vector.c index 8916d75782cca663f15fa945f2167fe5a31372ed..b64990575f38669247cd8eae4519c70d2b85d35b 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_vector.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_vector.c @@ -20,11 +20,11 @@ int *new_inversed(int len, int *v) int __gen_e_acsl_and; __e_acsl_store_block((void *)(& v),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)v,sizeof(int),(void *)v, + (void *)(& v)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"v",(void *)v); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)v,sizeof(int),(void *)v, - (void *)(& v)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(v)",0, __gen_e_acsl_valid); if (__gen_e_acsl_valid) { @@ -35,28 +35,28 @@ int *new_inversed(int len, int *v) unsigned long __gen_e_acsl_block_length; __e_acsl_mpz_t __gen_e_acsl_block_length_2; int __gen_e_acsl_le; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"v",(void *)v); __gen_e_acsl_offset = __e_acsl_offset((void *)v); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "\\offset(v)",0,__gen_e_acsl_offset); __gmpz_init_set_ui(__gen_e_acsl_offset_2,__gen_e_acsl_offset); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"len",0,len); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(int)", - 0,4); __gmpz_init_set_si(__gen_e_acsl_,len * 4L); __gmpz_init(__gen_e_acsl_add); __gmpz_add(__gen_e_acsl_add, (__e_acsl_mpz_struct const *)(__gen_e_acsl_offset_2), (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"v",(void *)v); __gen_e_acsl_block_length = __e_acsl_block_length((void *)v); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, - "\\block_length(v)",0, - __gen_e_acsl_block_length); __gmpz_init_set_ui(__gen_e_acsl_block_length_2, __gen_e_acsl_block_length); __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add), (__e_acsl_mpz_struct const *)(__gen_e_acsl_block_length_2)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"v",(void *)v); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "\\offset(v)",0,__gen_e_acsl_offset); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"len",0,len); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(int)", + 0,4); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"v",(void *)v); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, + "\\block_length(v)",0, + __gen_e_acsl_block_length); __gen_e_acsl_and = __gen_e_acsl_le <= 0; __gmpz_clear(__gen_e_acsl_offset_2); __gmpz_clear(__gen_e_acsl_); @@ -102,12 +102,12 @@ int main(void) { int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(& v1[2]),sizeof(int), + (void *)(v1),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&v1[2]", (void *)(& v1[2])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(& v1[2]),sizeof(int), - (void *)(v1),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(&v1[2])",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -125,12 +125,12 @@ int main(void) int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& v1[2]), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&v1[2]", (void *)(& v1[2])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& v1[2]), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&v1[2])",0, __gen_e_acsl_initialized); @@ -151,12 +151,12 @@ int main(void) int __gen_e_acsl_initialized_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(v2 + 2), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"v2", (void *)v2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(v2 + 2), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(v2 + 2)",0, __gen_e_acsl_initialized_2); diff --git a/src/plugins/e-acsl/tests/memory/oracle/gen_vla.c b/src/plugins/e-acsl/tests/memory/oracle/gen_vla.c index defd657b0372397c6480a1270ead29e4373ae673..951f2c78f49a68a7de32788332f11cf58ce42512 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/gen_vla.c +++ b/src/plugins/e-acsl/tests/memory/oracle/gen_vla.c @@ -25,13 +25,13 @@ int main(int argc, char **argv) __e_acsl_mpz_t __gen_e_acsl_; __e_acsl_mpz_t __gen_e_acsl__2; int __gen_e_acsl_le; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(int)", - 0,4); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"LEN",0,LEN); __gmpz_init_set_si(__gen_e_acsl_,4L * LEN); __gmpz_init_set_ui(__gen_e_acsl__2,18446744073709551615UL); __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_), (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"sizeof(int)", + 0,4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"LEN",0,LEN); __gen_e_acsl_and = __gen_e_acsl_le <= 0; __gmpz_clear(__gen_e_acsl_); __gmpz_clear(__gen_e_acsl__2); @@ -61,13 +61,13 @@ int main(int argc, char **argv) int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(arr + i),sizeof(int), + (void *)arr,(void *)(& arr)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"arr", (void *)arr); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"i",0,i); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(arr + i),sizeof(int), - (void *)arr,(void *)(& arr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(arr + i)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data_2.blocking = 1; @@ -86,13 +86,13 @@ int main(int argc, char **argv) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(arr + i),sizeof(int), + (void *)arr,(void *)(& arr)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"arr", (void *)arr); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"i",0,i); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(arr + i),sizeof(int), - (void *)arr,(void *)(& arr)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(arr + i)",0, __gen_e_acsl_valid_2); diff --git a/src/plugins/e-acsl/tests/memory/oracle/mainargs.res.oracle b/src/plugins/e-acsl/tests/memory/oracle/mainargs.res.oracle index 8cbe24f0cc5335678dc370f6812d53173fc6e5f1..3243990e03e4a383f2437a0bc3a1af4d4eecb198 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/mainargs.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle/mainargs.res.oracle @@ -40,8 +40,6 @@ [eva:alarm] mainargs.c:13: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] mainargs.c:13: Warning: assertion got status unknown. -[eva:alarm] mainargs.c:15: Warning: - out of bounds read. assert \valid_read(argv + argc); [eva:alarm] mainargs.c:15: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. @@ -52,6 +50,8 @@ function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] mainargs.c:15: Warning: out of bounds read. assert \valid_read(argv + argc); +[eva:alarm] mainargs.c:15: Warning: + out of bounds read. assert \valid_read(argv + argc); [eva:alarm] mainargs.c:15: Warning: assertion got status unknown. [eva:alarm] mainargs.c:16: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || @@ -62,11 +62,6 @@ [eva:alarm] mainargs.c:16: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] mainargs.c:16: Warning: - out of bounds read. assert \valid_read(argv + argc); -[eva:alarm] mainargs.c:16: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] mainargs.c:16: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -74,6 +69,11 @@ function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] mainargs.c:16: Warning: out of bounds read. assert \valid_read(argv + argc); +[eva:alarm] mainargs.c:16: Warning: + out of bounds read. assert \valid_read(argv + argc); +[eva:alarm] mainargs.c:16: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] mainargs.c:16: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] mainargs.c:16: Warning: assertion got status unknown. @@ -92,12 +92,12 @@ [eva:alarm] mainargs.c:19: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] mainargs.c:19: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] mainargs.c:19: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] mainargs.c:19: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] mainargs.c:19: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] mainargs.c:19: Warning: assertion got status unknown. diff --git a/src/plugins/e-acsl/tests/memory/oracle/ptr.res.oracle b/src/plugins/e-acsl/tests/memory/oracle/ptr.res.oracle index 9e49550b5b8a6c1b5f450c39f21a60826d9d9878..a1c5bbe6caa0e7fbb2a17108460efee0cc4dc18e 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/ptr.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle/ptr.res.oracle @@ -18,12 +18,12 @@ [eva:alarm] ptr.i:20: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] ptr.i:20: Warning: - function __e_acsl_assert_register_int: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] ptr.i:20: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] ptr.i:20: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] ptr.i:26: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/memory/oracle/ranges_in_builtins.res.oracle b/src/plugins/e-acsl/tests/memory/oracle/ranges_in_builtins.res.oracle index badf4b75ba7661bb77b1040b329b9b5a88cc2a66..25b29e657268924f21394d4f097ae54dc80d6846 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/ranges_in_builtins.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle/ranges_in_builtins.res.oracle @@ -31,6 +31,8 @@ [eva:alarm] ranges_in_builtins.c:37: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] ranges_in_builtins.c:8: Warning: + function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] ranges_in_builtins.c:8: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. @@ -40,7 +42,7 @@ [eva:alarm] ranges_in_builtins.c:8: Warning: function __e_acsl_assert_register_mpz: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] ranges_in_builtins.c:8: Warning: +[eva:alarm] ranges_in_builtins.c:9: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] ranges_in_builtins.c:9: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || @@ -53,8 +55,6 @@ \valid(data->values) got status unknown. [eva:alarm] ranges_in_builtins.c:9: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. -[eva:alarm] ranges_in_builtins.c:9: Warning: - function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] ranges_in_builtins.c:43: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/memory/oracle/valid.res.oracle b/src/plugins/e-acsl/tests/memory/oracle/valid.res.oracle index b4e5f0cbbcdb03157bcce5d859d22de92c8cf492..b9e1c954c4ff7a5d0bda3fed9d8babcc05871b58 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/valid.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle/valid.res.oracle @@ -186,9 +186,6 @@ [eva:alarm] valid.c:40: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] valid.c:40: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] valid.c:40: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -198,6 +195,9 @@ [eva:alarm] valid.c:40: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] valid.c:40: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] valid.c:41: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -211,8 +211,8 @@ function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] valid.c:41: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. + function __e_acsl_assert_register_ulong: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] valid.c:41: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -220,8 +220,8 @@ function __e_acsl_assert_register_ptr: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] valid.c:41: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || - \valid(data->values) got status unknown. + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] valid.c:43: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/memory/oracle/valid_alias.res.oracle b/src/plugins/e-acsl/tests/memory/oracle/valid_alias.res.oracle index f055d66110466cbc003cd4c19b248a742980210d..61ec0c2a7d6cd2acedd31f9eca2d233e2a9fc059 100644 --- a/src/plugins/e-acsl/tests/memory/oracle/valid_alias.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle/valid_alias.res.oracle @@ -42,9 +42,6 @@ [eva:alarm] valid_alias.c:13: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] valid_alias.c:14: Warning: - function __e_acsl_assert_register_int: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] valid_alias.c:14: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -54,6 +51,9 @@ [eva:alarm] valid_alias.c:14: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] valid_alias.c:14: Warning: + function __e_acsl_assert_register_int: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] valid_alias.c:16: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_builtin.c b/src/plugins/e-acsl/tests/special/oracle/gen_builtin.c index ce258a254ebd9ea155b93869227f7cca93aae2e5..8139f58c99f11b3cf93dcd47957a08bff9352d04 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_builtin.c +++ b/src/plugins/e-acsl/tests/special/oracle/gen_builtin.c @@ -46,11 +46,11 @@ int __gen_e_acsl_f(int i) { int __gen_e_acsl_incr_app; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_incr_app = incr(__gen_e_acsl_at); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\result",0, __retres); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\old(i)",0, __gen_e_acsl_at); - __gen_e_acsl_incr_app = incr(__gen_e_acsl_at); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"incr(\\old(i))", 0,__gen_e_acsl_incr_app); __gen_e_acsl_assert_data.blocking = 1; diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-external-print-value.c b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-external-print-value.c index 88ce6788cc5b916547a7340101e42b282378dcdb..deb0d7133665136c6c97272547b45d631b0d7223 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-external-print-value.c +++ b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-external-print-value.c @@ -18,8 +18,8 @@ int main(void) { int __gen_e_acsl_x; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"value",0,value); __gen_e_acsl_x = value; + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"value",0,value); __gen_e_acsl_assert_data.blocking = 0; __gen_e_acsl_assert_data.kind = "Assertion"; __gen_e_acsl_assert_data.pred_txt = "\\let x = value; \\false"; diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-functions.c b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-functions.c index 965cc1a7414f32cd93a1700ee1adb938c65dfa98..c27d3e3e264bb48dd9b9f3d88736fe13c43b5e43 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-functions.c +++ b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-functions.c @@ -109,11 +109,11 @@ int __gen_e_acsl_f(int *p) int __gen_e_acsl_valid_read_2; __e_acsl_store_block((void *)(& p),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)p,sizeof(int), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)p,sizeof(int), - (void *)p,(void *)(& p)); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "RTE"; __gen_e_acsl_assert_data.pred_txt = "\\valid_read(p)"; @@ -126,10 +126,10 @@ int __gen_e_acsl_f(int *p) __gen_e_acsl_at = *p; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(p)",0, __gen_e_acsl_initialized); @@ -143,14 +143,13 @@ int __gen_e_acsl_f(int *p) __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"*p",0,*p); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)p,sizeof(int), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)p,sizeof(int), - (void *)p,(void *)(& p)); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(p)"; @@ -160,6 +159,7 @@ int __gen_e_acsl_f(int *p) __gen_e_acsl_assert_data_4.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"*p",0,*p); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "Precondition"; __gen_e_acsl_assert_data_3.pred_txt = "*p == 0"; diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-instrument.c b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-instrument.c index d9974db9f51c3f4986eebdd88d3e17156580ad4b..b632c84b199573277aea7a734492a9585709b906 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-instrument.c +++ b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-instrument.c @@ -102,12 +102,12 @@ int main(void) { int __gen_e_acsl_initialized; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& x), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&x", (void *)(& x)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& x), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&x)",0, __gen_e_acsl_initialized); @@ -125,12 +125,12 @@ int main(void) int __gen_e_acsl_initialized_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& y), + sizeof(int)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&y", (void *)(& y)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& y), - sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&y)",0, __gen_e_acsl_initialized_2); @@ -169,11 +169,11 @@ int __gen_e_acsl_instrument2(int *p) int __gen_e_acsl_valid; __e_acsl_store_block((void *)(& p),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)",0, __gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -197,11 +197,11 @@ int __gen_e_acsl_uninstrument2(int *p) { int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)",0, __gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-valid.c b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-valid.c index 32150e3e1e323fb46ec52c24c0b3ccc1f0be03d5..65d193f2b082855da5cb004d596070d6cec3bb1b 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-valid.c +++ b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-valid.c @@ -39,15 +39,14 @@ void f(int *x, int *y) __e_acsl_store_block((void *)(& x),8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"*x",0,*x); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)x,sizeof(int), + (void *)x,(void *)(& x)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"x", (void *)x); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)x,sizeof(int), - (void *)x,(void *)(& x)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(x)"; @@ -57,6 +56,7 @@ void f(int *x, int *y) __gen_e_acsl_assert_data_2.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_2); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_2); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"*x",0,*x); __gen_e_acsl_assert_data.blocking = 1; __gen_e_acsl_assert_data.kind = "Precondition"; __gen_e_acsl_assert_data.pred_txt = "*x >= 0"; @@ -96,14 +96,10 @@ void f(int *x, int *y) { __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_4, - "old 2 - i",0,__gen_e_acsl_old_variant); __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; __e_acsl_assert_copy_values(& __gen_e_acsl_assert_data_5, & __gen_e_acsl_assert_data_4); - __e_acsl_assert_register_long(& __gen_e_acsl_assert_data_5, - "current 2 - i",0,2L - i); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "Variant"; __gen_e_acsl_assert_data_4.pred_txt = "(old 2 - i) >= 0"; @@ -178,11 +174,11 @@ void __gen_e_acsl_f(int *x, int *y) __e_acsl_store_block((void *)(& x),8UL); __gen_e_acsl_contract = __e_acsl_contract_init(2UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)y,sizeof(int),(void *)y, + (void *)(& y)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"y",(void *)y); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)y,sizeof(int),(void *)y, - (void *)(& y)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(y)",0, __gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -195,11 +191,11 @@ void __gen_e_acsl_f(int *x, int *y) __e_acsl_assert_clean(& __gen_e_acsl_assert_data); __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)x,sizeof(int), + (void *)x,(void *)(& x)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"x",(void *)x); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)x,sizeof(int), - (void *)x,(void *)(& x)); __gen_e_acsl_assert_data_2.blocking = 1; __gen_e_acsl_assert_data_2.kind = "RTE"; __gen_e_acsl_assert_data_2.pred_txt = "\\valid_read(x)"; @@ -212,11 +208,11 @@ void __gen_e_acsl_f(int *x, int *y) __e_acsl_contract_set_behavior_assumes(__gen_e_acsl_contract,0UL,*x == 1); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)x,sizeof(int), + (void *)x,(void *)(& x)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"x",(void *)x); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)x,sizeof(int), - (void *)x,(void *)(& x)); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "RTE"; __gen_e_acsl_assert_data_3.pred_txt = "\\valid_read(x)"; @@ -231,14 +227,8 @@ void __gen_e_acsl_f(int *x, int *y) ((__e_acsl_contract_t const *)__gen_e_acsl_contract); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "Precondition"; __gen_e_acsl_assert_data_4.pred_txt = "all behaviors complete"; @@ -252,14 +242,8 @@ void __gen_e_acsl_f(int *x, int *y) ((__e_acsl_contract_t const *)__gen_e_acsl_contract); __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, - "number of active behaviors",0, - __gen_e_acsl_active_bhvrs); __gen_e_acsl_assert_data_7.blocking = 1; __gen_e_acsl_assert_data_7.kind = "Precondition"; __gen_e_acsl_assert_data_7.pred_txt = "all behaviors disjoint"; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_args.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_args.c index 0109cbcde50f6202bbf9504d48c14afa852f7edb..4182679746a45943814a9a61398ea4ff966eae62 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_args.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_args.c @@ -15,12 +15,12 @@ int main(int argc, char const **argv) { int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(& argc),sizeof(int), + (void *)(& argc),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&argc", (void *)(& argc)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data,"sizeof(int)", 0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(& argc),sizeof(int), - (void *)(& argc),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(&argc)", 0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -37,13 +37,13 @@ int main(int argc, char const **argv) int __gen_e_acsl_valid_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)argv,sizeof(char const *), + (void *)argv,(void *)(& argv)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"argv", (void *)argv); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char const *)",0, sizeof(char const *)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)argv,sizeof(char const *), - (void *)argv,(void *)(& argv)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(argv)",0,__gen_e_acsl_valid_2); __gen_e_acsl_assert_data_2.blocking = 1; @@ -61,32 +61,30 @@ int main(int argc, char const **argv) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)argv, + sizeof(char const *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"argv", (void *)argv); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char const *)",0, sizeof(char const *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)argv, - sizeof(char const *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(argv)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; int __gen_e_acsl_valid_3; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"*argv", - (void *)*argv); __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)argv, + sizeof(char const *), + (void *)argv, + (void *)(& argv)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"argv", (void *)argv); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char const *)",0, sizeof(char const *)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)argv, - sizeof(char const *), - (void *)argv, - (void *)(& argv)); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read(argv)"; @@ -96,11 +94,13 @@ int main(int argc, char const **argv) __gen_e_acsl_assert_data_4.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_4); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)*argv,sizeof(char const), + (void *)*argv,(void *)argv); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"*argv", + (void *)*argv); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char const)",0, sizeof(char const)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)*argv,sizeof(char const), - (void *)*argv,(void *)argv); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(*argv)",0,__gen_e_acsl_valid_3); __gen_e_acsl_and = __gen_e_acsl_valid_3; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_array.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_array.c index 3360b8dbf463cd49b5c180477faf5acf7103d007..c31c512baf3d0c9ea837b4165e9117ceb14dafb2 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_array.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_array.c @@ -30,23 +30,23 @@ int main(void) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(src), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"(int **)src", (void *)(src)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(src), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized((int **)src)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)src[0],sizeof(int), + (void *)src[0],(void *)(src)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"src[0]", (void *)src[0]); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)src[0],sizeof(int), - (void *)src[0],(void *)(src)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(src[0])",0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -67,24 +67,24 @@ int main(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& src[1]), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&src[1]", (void *)(& src[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& src[1]), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&src[1])",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)src[1],sizeof(int), + (void *)src[1], + (void *)(& src[1])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"src[1]", (void *)src[1]); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)src[1],sizeof(int), - (void *)src[1], - (void *)(& src[1])); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(src[1])",0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; @@ -105,24 +105,24 @@ int main(void) int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& src[2]), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&src[2]", (void *)(& src[2])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& src[2]), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&src[2])",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)src[2],sizeof(int), + (void *)src[2], + (void *)(& src[2])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"src[2]", (void *)src[2]); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)src[2],sizeof(int), - (void *)src[2], - (void *)(& src[2])); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(src[2])",0,__gen_e_acsl_valid_3); __gen_e_acsl_and_3 = __gen_e_acsl_valid_3; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_char.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_char.c index b35623e18fd0696f0b2b5940097b3e07892433ca..8b3fa2c5c01545e0f820f00911d1f48513be9ec2 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_char.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_char.c @@ -33,22 +33,22 @@ int main(int argc, char const **argv) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(char),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(char),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -69,23 +69,23 @@ int main(int argc, char const **argv) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&q)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(char),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(char),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\valid(q)", 0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_darray.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_darray.c index 9f7518fecdf9e80abb7ba31044956af6b7a1022c..b9d47b41c6ce35448fed59d7224fbc5ee4721297 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_darray.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_darray.c @@ -15,15 +15,15 @@ void area_triangle(double (*vertices)[4]) __e_acsl_store_block((void *)(& vertices),8UL); __e_acsl_temporal_pull_parameter((void *)(& vertices),0U,8UL); __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(*(vertices + 0)), + sizeof(double), + (void *)(*(vertices + 0)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data, "(double *)*(vertices + 0)", (void *)(*(vertices + 0))); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(double)",0,sizeof(double)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(*(vertices + 0)), - sizeof(double), - (void *)(*(vertices + 0)), - (void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "rte: mem_access: \\valid_read((double *)*(vertices + 0))", 0,__gen_e_acsl_valid_read); @@ -42,15 +42,15 @@ void area_triangle(double (*vertices)[4]) int __gen_e_acsl_valid_read_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(*(vertices + 1)), + sizeof(double), + (void *)(*(vertices + 1)), + (void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2, "(double *)*(vertices + 1)", (void *)(*(vertices + 1))); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(double)",0,sizeof(double)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(*(vertices + 1)), - sizeof(double), - (void *)(*(vertices + 1)), - (void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "rte: mem_access: \\valid_read((double *)*(vertices + 1))", 0,__gen_e_acsl_valid_read_2); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_dpointer.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_dpointer.c index e1da6a9a2e96411db221b13f7dcb235bf94644ae..de2f35111a5ec3e3b6423482efade77b9e85c39e 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_dpointer.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_dpointer.c @@ -25,12 +25,12 @@ int main(void) int __gen_e_acsl_valid; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_valid = __e_acsl_valid((void *)(p + i),sizeof(int *), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"i",0,i); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(p + i),sizeof(int *), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(p + i)",0,__gen_e_acsl_valid); __gen_e_acsl_assert_data.blocking = 1; @@ -53,32 +53,30 @@ int main(void) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(p + i), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p", (void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"i",0,i); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(p + i), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(p + i)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; int __gen_e_acsl_valid_2; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"*(p + i)", - (void *)*(p + i)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(p + i), + sizeof(int *), + (void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p", (void *)p); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"i",0,i); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(p + i), - sizeof(int *), - (void *)p, - (void *)(& p)); __gen_e_acsl_assert_data_3.blocking = 1; __gen_e_acsl_assert_data_3.kind = "RTE"; __gen_e_acsl_assert_data_3.pred_txt = "\\valid_read(p + i)"; @@ -88,11 +86,13 @@ int main(void) __gen_e_acsl_assert_data_3.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_2 = __e_acsl_valid((void *)*(p + i),sizeof(int), (void *)*(p + i), (void *)(p + i)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"*(p + i)", + (void *)*(p + i)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(*(p + i))",0, __gen_e_acsl_valid_2); @@ -123,30 +123,27 @@ int main(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(p + 2), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(p + 2), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(p + 2)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_read_2; int __gen_e_acsl_valid_3; - /*@ assert Eva: dangling_pointer: !\dangling(p + 2); */ - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"*(p + 2)", - (void *)*(p + 2)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"p", - (void *)p); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, - "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(p + 2), sizeof(int *), (void *)p, (void *)(& p)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"p", + (void *)p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, + "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "RTE"; __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read(p + 2)"; @@ -156,11 +153,14 @@ int main(void) __gen_e_acsl_assert_data_5.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, - "sizeof(int)",0,sizeof(int)); + /*@ assert Eva: dangling_pointer: !\dangling(p + 2); */ __gen_e_acsl_valid_3 = __e_acsl_valid((void *)*(p + 2),sizeof(int), (void *)*(p + 2),(void *)( p + 2)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"*(p + 2)", + (void *)*(p + 2)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(*(p + 2))",0, __gen_e_acsl_valid_3); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fptr.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fptr.c index 178d5a879b60ec40d408011823b4e26888fff6fe..55cab83484ee941d5c1f0a8e3451563cb055264c 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fptr.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fptr.c @@ -61,23 +61,23 @@ int main(int argc, char const **argv) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&q)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)q,sizeof(int),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)q,sizeof(int),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\valid(q)", 0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_lib.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_lib.c index df63c9f75adb9f046b55a94ff020506802391a5a..8810b1add07155c58bb699ce351a65cbd6c8928c 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_lib.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_lib.c @@ -49,22 +49,22 @@ int main(void) int __gen_e_acsl_and; int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& q), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& q), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&q)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)q,sizeof(char),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid = __e_acsl_valid((void *)q,sizeof(char),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(q)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -73,23 +73,23 @@ int main(void) if (__gen_e_acsl_and) { int __gen_e_acsl_initialized_2; int __gen_e_acsl_and_2; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)p,sizeof(char), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)p,sizeof(char), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)", 0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; @@ -126,23 +126,23 @@ int main(void) int __gen_e_acsl_and_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& path), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&path", (void *)(& path)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& path), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&path)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)path,sizeof(char), + (void *)path,(void *)(& path)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"path", (void *)path); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)path,sizeof(char), - (void *)path,(void *)(& path)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(path)",0,__gen_e_acsl_valid_3); __gen_e_acsl_and_4 = __gen_e_acsl_valid_3; @@ -172,23 +172,23 @@ int main(void) int __gen_e_acsl_and_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&p)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)p,sizeof(char),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)p,sizeof(char),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"\\valid(p)", 0,__gen_e_acsl_valid_4); __gen_e_acsl_and_5 = __gen_e_acsl_valid_4; @@ -197,23 +197,23 @@ int main(void) if (! __gen_e_acsl_and_5) { int __gen_e_acsl_initialized_5; int __gen_e_acsl_and_6; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& path), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&path", (void *)(& path)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& path), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&path)",0, __gen_e_acsl_initialized_5); if (__gen_e_acsl_initialized_5) { int __gen_e_acsl_valid_5; + __gen_e_acsl_valid_5 = __e_acsl_valid((void *)path,sizeof(char), + (void *)path,(void *)(& path)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"path", (void *)path); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_5 = __e_acsl_valid((void *)path,sizeof(char), - (void *)path,(void *)(& path)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(path)",0,__gen_e_acsl_valid_5); __gen_e_acsl_and_6 = __gen_e_acsl_valid_5; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_ptr.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_ptr.c index 4a71a4e72f824ae9f2dfff94933fc6d593ed2516..bca1d5cd85cd3d3cb074d41a35d7d2f426a06f61 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_ptr.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_ptr.c @@ -46,22 +46,22 @@ int main(int argc, char const **argv) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c index fffa5c729eabd369bbb326e4930f8a7be8ad4e7d..443d067b6350173cf948f99e755e8a72f3d50244 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c @@ -41,13 +41,13 @@ char *__gen_e_acsl_getenv(char const *name) if (__retres == (char *)0) __gen_e_acsl_or = 1; else { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)__retres,sizeof(char), + (void *)__retres, + (void *)(& __retres)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"\\result", (void *)__retres); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid = __e_acsl_valid((void *)__retres,sizeof(char), - (void *)__retres, - (void *)(& __retres)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(\\result)",0,__gen_e_acsl_valid); __gen_e_acsl_or = __gen_e_acsl_valid; @@ -112,23 +112,23 @@ int main(int argc, char const **argv) else { int __gen_e_acsl_initialized; int __gen_e_acsl_and; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& g1), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&g1", (void *)(& g1)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& g1), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&g1)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)g1,sizeof(char), + (void *)g1,(void *)(& g1)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"g1", (void *)g1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid = __e_acsl_valid((void *)g1,sizeof(char), - (void *)g1,(void *)(& g1)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(g1)",0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -156,23 +156,23 @@ int main(int argc, char const **argv) else { int __gen_e_acsl_initialized_2; int __gen_e_acsl_and_2; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& g2), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&g2", (void *)(& g2)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& g2), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&g2)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)g2,sizeof(char), + (void *)g2,(void *)(& g2)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"g2", (void *)g2); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)g2,sizeof(char), - (void *)g2,(void *)(& g2)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(g2)",0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_global_init.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_global_init.c index 235d548a00e4121e1c3cc33157671cfb969568d3..6f77f3b7b08589c0101dd62a3d28b4941d3af615 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_global_init.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_global_init.c @@ -42,23 +42,23 @@ void build_tree(tree_desc *desc) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& extra), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&extra", (void *)(& extra)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& extra), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&extra)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)extra,sizeof(int), + (void *)extra,(void *)(& extra)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"extra", (void *)extra); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)extra,sizeof(int), - (void *)extra,(void *)(& extra)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(extra)",0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -185,22 +185,22 @@ int main(int argc, char const **argv) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(char **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char **)",0,sizeof(char **)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(char **)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)p,sizeof(char *), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)p,sizeof(char *), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid_read(p)",0, __gen_e_acsl_valid_read); @@ -222,11 +222,11 @@ int main(int argc, char const **argv) int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)p, + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)p, - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(p)",0, __gen_e_acsl_initialized_2); @@ -234,26 +234,24 @@ int main(int argc, char const **argv) int __gen_e_acsl_initialized_3; int __gen_e_acsl_and_2; int __gen_e_acsl_valid_read_3; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"*p", - (void *)*p); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& p), + sizeof(char **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char **)",0,sizeof(char **)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& p), - sizeof(char **)); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_read_2; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p", - (void *)p); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, - "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)p, sizeof(char *), (void *)p, (void *)(& p)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p", + (void *)p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, + "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_and_2 = __gen_e_acsl_valid_read_2; } else __gen_e_acsl_and_2 = 0; @@ -266,11 +264,13 @@ int main(int argc, char const **argv) __gen_e_acsl_assert_data_3.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and_2,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)*p, sizeof(char), (void *)*p,(void *)p); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"*p", + (void *)*p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid_read(*p)",0, __gen_e_acsl_valid_read_3); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_labels.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_labels.c index b8a61ad462a5b85185cc8c7fb4fda10525f6c87c..cbfcfb60f016c39637248144de9e76ca674c6143 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_labels.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_labels.c @@ -60,22 +60,22 @@ int main(int argc, char const **argv) int __gen_e_acsl_and; int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -84,23 +84,23 @@ int main(int argc, char const **argv) if (__gen_e_acsl_and) { int __gen_e_acsl_initialized_2; int __gen_e_acsl_and_2; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&q)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int), + (void *)q,(void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int), - (void *)q,(void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(q)", 0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; @@ -128,23 +128,23 @@ int main(int argc, char const **argv) int __gen_e_acsl_and_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&p)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\valid(p)", 0,__gen_e_acsl_valid_3); __gen_e_acsl_and_4 = __gen_e_acsl_valid_3; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_lit_string.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_lit_string.c index 75c4793a0c30133ba502a8323981ccafc43b3506..6db207cdd12dcecd24ed3bf9de934cde07d80023 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_lit_string.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_lit_string.c @@ -46,22 +46,22 @@ int main(void) int __gen_e_acsl_and; int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& f), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&f", (void *)(& f)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& f), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&f)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)f,sizeof(char), + (void *)f,(void *)(& f)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"f",(void *)f); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)f,sizeof(char), - (void *)f,(void *)(& f)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid_read(f)",0, __gen_e_acsl_valid_read); @@ -71,23 +71,23 @@ int main(void) if (__gen_e_acsl_and) { int __gen_e_acsl_initialized_2; int __gen_e_acsl_and_2; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& f), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&f", (void *)(& f)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& f), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&f)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)f,sizeof(char),(void *)f, + (void *)(& f)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"f", (void *)f); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid = __e_acsl_valid((void *)f,sizeof(char),(void *)f, - (void *)(& f)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(f)", 0,__gen_e_acsl_valid); __gen_e_acsl_and_2 = __gen_e_acsl_valid; @@ -116,24 +116,24 @@ int main(void) int __gen_e_acsl_and_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& g), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&g", (void *)(& g)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& g), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&g)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_read_2; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)g,sizeof(char), + (void *)g, + (void *)(& g)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"g", (void *)g); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)g,sizeof(char), - (void *)g, - (void *)(& g)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid_read(g)",0, __gen_e_acsl_valid_read_2); @@ -143,23 +143,23 @@ int main(void) if (__gen_e_acsl_and_4) { int __gen_e_acsl_initialized_4; int __gen_e_acsl_and_5; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& g), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&g", (void *)(& g)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& g), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&g)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)g,sizeof(char), + (void *)g,(void *)(& g)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"g", (void *)g); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)g,sizeof(char), - (void *)g,(void *)(& g)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(g)",0,__gen_e_acsl_valid_2); __gen_e_acsl_and_5 = __gen_e_acsl_valid_2; @@ -188,24 +188,24 @@ int main(void) int __gen_e_acsl_and_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&p)",0, __gen_e_acsl_initialized_5); if (__gen_e_acsl_initialized_5) { int __gen_e_acsl_valid_read_3; + __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)p,sizeof(char), + (void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)p,sizeof(char), - (void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid_read(p)",0, __gen_e_acsl_valid_read_3); @@ -215,23 +215,23 @@ int main(void) if (__gen_e_acsl_and_7) { int __gen_e_acsl_initialized_6; int __gen_e_acsl_and_8; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&p)",0, __gen_e_acsl_initialized_6); if (__gen_e_acsl_initialized_6) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)p,sizeof(char), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)p,sizeof(char), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(p)",0,__gen_e_acsl_valid_3); __gen_e_acsl_and_8 = __gen_e_acsl_valid_3; @@ -259,24 +259,24 @@ int main(void) int __gen_e_acsl_and_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& q), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& q), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&q)",0, __gen_e_acsl_initialized_7); if (__gen_e_acsl_initialized_7) { int __gen_e_acsl_valid_read_4; + __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)q,sizeof(char), + (void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)q,sizeof(char), - (void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid_read(q)",0, __gen_e_acsl_valid_read_4); @@ -286,23 +286,23 @@ int main(void) if (__gen_e_acsl_and_10) { int __gen_e_acsl_initialized_8; int __gen_e_acsl_and_11; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& q), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& q), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&q)",0, __gen_e_acsl_initialized_8); if (__gen_e_acsl_initialized_8) { int __gen_e_acsl_valid_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)q,sizeof(char), + (void *)q,(void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)q,sizeof(char), - (void *)q,(void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(q)",0,__gen_e_acsl_valid_4); __gen_e_acsl_and_11 = __gen_e_acsl_valid_4; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_local_init.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_local_init.c index db8252a59a2cf26de29233b939a00c683592c2f8..637a34a1edb4a7eba9be93e106eba5243efdf383 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_local_init.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_local_init.c @@ -37,23 +37,23 @@ void build_tree(tree_desc *desc) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& extra), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&extra", (void *)(& extra)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& extra), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&extra)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)extra,sizeof(int), + (void *)extra,(void *)(& extra)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"extra", (void *)extra); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)extra,sizeof(int), - (void *)extra,(void *)(& extra)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(extra)",0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -168,22 +168,22 @@ int main(int argc, char const **argv) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(char **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char **)",0,sizeof(char **)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(char **)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid_read; + __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)p,sizeof(char *), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)p,sizeof(char *), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid_read(p)",0, __gen_e_acsl_valid_read); @@ -205,11 +205,11 @@ int main(int argc, char const **argv) int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)p, + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)p, - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(p)",0, __gen_e_acsl_initialized_2); @@ -217,26 +217,24 @@ int main(int argc, char const **argv) int __gen_e_acsl_initialized_3; int __gen_e_acsl_and_2; int __gen_e_acsl_valid_read_3; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"*p", - (void *)*p); __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& p), + sizeof(char **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char **)",0,sizeof(char **)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& p), - sizeof(char **)); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_read_2; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p", - (void *)p); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, - "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)p, sizeof(char *), (void *)p, (void *)(& p)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p", + (void *)p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, + "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_and_2 = __gen_e_acsl_valid_read_2; } else __gen_e_acsl_and_2 = 0; @@ -249,11 +247,13 @@ int main(int argc, char const **argv) __gen_e_acsl_assert_data_3.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and_2,& __gen_e_acsl_assert_data_3); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_3); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)*p, sizeof(char), (void *)*p,(void *)p); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"*p", + (void *)*p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid_read(*p)",0, __gen_e_acsl_valid_read_3); @@ -292,25 +292,25 @@ int main(int argc, char const **argv) int __gen_e_acsl_and_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& p), + sizeof(char **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char **)",0,sizeof(char **)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& p), - sizeof(char **)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&p)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_read_4; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p", - (void *)p); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, - "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)p, sizeof(char *), (void *)p, (void *)(& p)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"p", + (void *)p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, + "sizeof(char *)",0,sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid_read(p)",0, __gen_e_acsl_valid_read_4); @@ -332,11 +332,11 @@ int main(int argc, char const **argv) int __gen_e_acsl_and_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)p, + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)p, - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(p)",0, __gen_e_acsl_initialized_5); @@ -344,26 +344,24 @@ int main(int argc, char const **argv) int __gen_e_acsl_initialized_6; int __gen_e_acsl_and_5; int __gen_e_acsl_valid_read_6; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"*p", - (void *)*p); __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& p), + sizeof(char **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(char **)",0,sizeof(char **)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& p), - sizeof(char **)); if (__gen_e_acsl_initialized_6) { int __gen_e_acsl_valid_read_5; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"p", - (void *)p); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, - "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)p, sizeof(char *), (void *)p, (void *)(& p)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"p", + (void *)p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, + "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_and_5 = __gen_e_acsl_valid_read_5; } else __gen_e_acsl_and_5 = 0; @@ -376,11 +374,13 @@ int main(int argc, char const **argv) __gen_e_acsl_assert_data_6.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and_5,& __gen_e_acsl_assert_data_6); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_6); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)*p, sizeof(char), (void *)*p,(void *)p); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"*p", + (void *)*p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\valid_read(*p)",0, __gen_e_acsl_valid_read_6); @@ -406,25 +406,25 @@ int main(int argc, char const **argv) int __gen_e_acsl_and_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& P), + sizeof(char **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&P", (void *)(& P)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(char **)",0,sizeof(char **)); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& P), - sizeof(char **)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized(&P)",0, __gen_e_acsl_initialized_7); if (__gen_e_acsl_initialized_7) { int __gen_e_acsl_valid_read_7; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"P", - (void *)P); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, - "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_valid_read_7 = __e_acsl_valid_read((void *)P, sizeof(char *), (void *)P, (void *)(& P)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"P", + (void *)P); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, + "sizeof(char *)",0,sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\valid_read(P)",0, __gen_e_acsl_valid_read_7); @@ -446,11 +446,11 @@ int main(int argc, char const **argv) int __gen_e_acsl_and_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)P, + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"P",(void *)P); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)P, - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized(P)",0, __gen_e_acsl_initialized_8); @@ -458,26 +458,24 @@ int main(int argc, char const **argv) int __gen_e_acsl_initialized_9; int __gen_e_acsl_and_8; int __gen_e_acsl_valid_read_9; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"*P", - (void *)*P); __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(& P), + sizeof(char **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"&P", (void *)(& P)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "sizeof(char **)",0,sizeof(char **)); - __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(& P), - sizeof(char **)); if (__gen_e_acsl_initialized_9) { int __gen_e_acsl_valid_read_8; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"P", - (void *)P); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, - "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_valid_read_8 = __e_acsl_valid_read((void *)P, sizeof(char *), (void *)P, (void *)(& P)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"P", + (void *)P); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, + "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_and_8 = __gen_e_acsl_valid_read_8; } else __gen_e_acsl_and_8 = 0; @@ -490,11 +488,13 @@ int main(int argc, char const **argv) __gen_e_acsl_assert_data_9.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and_8,& __gen_e_acsl_assert_data_9); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_9); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_read_9 = __e_acsl_valid_read((void *)*P, sizeof(char), (void *)*P,(void *)P); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"*P", + (void *)*P); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\valid_read(*P)",0, __gen_e_acsl_valid_read_9); @@ -519,25 +519,25 @@ int main(int argc, char const **argv) int __gen_e_acsl_and_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& P), + sizeof(char **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"&P", (void *)(& P)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(char **)",0,sizeof(char **)); - __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& P), - sizeof(char **)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\initialized(&P)",0, __gen_e_acsl_initialized_10); if (__gen_e_acsl_initialized_10) { int __gen_e_acsl_valid_read_10; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"P", - (void *)P); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, - "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_valid_read_10 = __e_acsl_valid_read((void *)P, sizeof(char *), (void *)P, (void *)(& P)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"P", + (void *)P); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, + "sizeof(char *)",0,sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\valid_read(P)",0, __gen_e_acsl_valid_read_10); @@ -559,11 +559,11 @@ int main(int argc, char const **argv) int __gen_e_acsl_and_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; + __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)P, + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"P",(void *)P); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_11, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)P, - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "\\initialized(P)",0, __gen_e_acsl_initialized_11); @@ -571,26 +571,24 @@ int main(int argc, char const **argv) int __gen_e_acsl_initialized_12; int __gen_e_acsl_and_11; int __gen_e_acsl_valid_read_12; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"*P", - (void *)*P); __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& P), + sizeof(char **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"&P", (void *)(& P)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "sizeof(char **)",0,sizeof(char **)); - __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& P), - sizeof(char **)); if (__gen_e_acsl_initialized_12) { int __gen_e_acsl_valid_read_11; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"P", - (void *)P); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, - "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_valid_read_11 = __e_acsl_valid_read((void *)P, sizeof(char *), (void *)P, (void *)(& P)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"P", + (void *)P); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, + "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_and_11 = __gen_e_acsl_valid_read_11; } else __gen_e_acsl_and_11 = 0; @@ -603,11 +601,13 @@ int main(int argc, char const **argv) __gen_e_acsl_assert_data_12.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and_11,& __gen_e_acsl_assert_data_12); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_12); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_11, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_read_12 = __e_acsl_valid_read((void *)*P, sizeof(char), (void *)*P,(void *)P); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"*P", + (void *)*P); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_11, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "\\valid_read(*P)",0, __gen_e_acsl_valid_read_12); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_malloc.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_malloc.c index a5144cc427e6a3544a9bd6c0a219dbdbd2dfbef9..a2d82999b1dff5d32e5e8f467dfa9f331f949dad 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_malloc.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_malloc.c @@ -21,22 +21,22 @@ int main(void) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -57,23 +57,23 @@ int main(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&q)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\valid(q)", 0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; @@ -102,23 +102,23 @@ int main(void) int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&p)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"\\valid(p)", 0,__gen_e_acsl_valid_3); __gen_e_acsl_and_3 = __gen_e_acsl_valid_3; @@ -139,23 +139,23 @@ int main(void) int __gen_e_acsl_and_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&q)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"\\valid(q)", 0,__gen_e_acsl_valid_4); __gen_e_acsl_and_4 = __gen_e_acsl_valid_4; @@ -180,24 +180,24 @@ int main(void) int __gen_e_acsl_and_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&p)",0, __gen_e_acsl_initialized_5); if (__gen_e_acsl_initialized_5) { int __gen_e_acsl_valid_5; /*@ assert Eva: dangling_pointer: !\dangling(&p); */ + __gen_e_acsl_valid_5 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_5 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"\\valid(p)", 0,__gen_e_acsl_valid_5); __gen_e_acsl_and_5 = __gen_e_acsl_valid_5; @@ -218,23 +218,23 @@ int main(void) int __gen_e_acsl_and_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&q)",0, __gen_e_acsl_initialized_6); if (__gen_e_acsl_initialized_6) { int __gen_e_acsl_valid_6; + __gen_e_acsl_valid_6 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_6 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6,"\\valid(q)", 0,__gen_e_acsl_valid_6); __gen_e_acsl_and_6 = __gen_e_acsl_valid_6; @@ -260,23 +260,23 @@ int main(void) int __gen_e_acsl_and_7; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized(&p)",0, __gen_e_acsl_initialized_7); if (__gen_e_acsl_initialized_7) { int __gen_e_acsl_valid_7; + __gen_e_acsl_valid_7 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_7 = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7,"\\valid(p)", 0,__gen_e_acsl_valid_7); __gen_e_acsl_and_7 = __gen_e_acsl_valid_7; @@ -297,23 +297,23 @@ int main(void) int __gen_e_acsl_and_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized(&q)",0, __gen_e_acsl_initialized_8); if (__gen_e_acsl_initialized_8) { int __gen_e_acsl_valid_8; + __gen_e_acsl_valid_8 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_8 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8,"\\valid(q)", 0,__gen_e_acsl_valid_8); __gen_e_acsl_and_8 = __gen_e_acsl_valid_8; @@ -343,23 +343,23 @@ int main(void) int __gen_e_acsl_and_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(&q)",0, __gen_e_acsl_initialized_9); if (__gen_e_acsl_initialized_9) { int __gen_e_acsl_valid_9; + __gen_e_acsl_valid_9 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_9 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9,"\\valid(q)", 0,__gen_e_acsl_valid_9); __gen_e_acsl_and_9 = __gen_e_acsl_valid_9; @@ -386,23 +386,23 @@ int main(void) int __gen_e_acsl_and_10; __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; + __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\initialized(&q)",0, __gen_e_acsl_initialized_10); if (__gen_e_acsl_initialized_10) { int __gen_e_acsl_valid_10; + __gen_e_acsl_valid_10 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_10 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_10, "\\valid(q)",0,__gen_e_acsl_valid_10); __gen_e_acsl_and_10 = __gen_e_acsl_valid_10; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c index 4819943379654d527e90c41db84795635f97dee4..c4293f684174946dd589aee2f0067051aae0afa6 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c @@ -70,23 +70,23 @@ int main(void) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(src), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"(int **)src", (void *)(src)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(src), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized((int **)src)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)src[0],sizeof(int), + (void *)src[0],(void *)(src)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"src[0]", (void *)src[0]); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)src[0],sizeof(int), - (void *)src[0],(void *)(src)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(src[0])",0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -107,24 +107,24 @@ int main(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& src[1]), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&src[1]", (void *)(& src[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& src[1]), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&src[1])",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)src[1],sizeof(int), + (void *)src[1], + (void *)(& src[1])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"src[1]", (void *)src[1]); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)src[1],sizeof(int), - (void *)src[1], - (void *)(& src[1])); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(src[1])",0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; @@ -150,23 +150,23 @@ int main(void) int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(dest), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"(int **)dest", (void *)(dest)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(dest), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized((int **)dest)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)dest[0],sizeof(int), + (void *)dest[0],(void *)(dest)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"dest[0]", (void *)dest[0]); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)dest[0],sizeof(int), - (void *)dest[0],(void *)(dest)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(dest[0])",0,__gen_e_acsl_valid_3); __gen_e_acsl_and_3 = __gen_e_acsl_valid_3; @@ -187,24 +187,24 @@ int main(void) int __gen_e_acsl_and_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& dest[1]), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&dest[1]", (void *)(& dest[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& dest[1]), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&dest[1])",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)dest[1],sizeof(int), + (void *)dest[1], + (void *)(& dest[1])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"dest[1]", (void *)dest[1]); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)dest[1],sizeof(int), - (void *)dest[1], - (void *)(& dest[1])); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(dest[1])",0,__gen_e_acsl_valid_4); __gen_e_acsl_and_4 = __gen_e_acsl_valid_4; @@ -229,23 +229,23 @@ int main(void) int __gen_e_acsl_and_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(dest), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"(int **)dest", (void *)(dest)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(dest), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized((int **)dest)",0, __gen_e_acsl_initialized_5); if (__gen_e_acsl_initialized_5) { int __gen_e_acsl_valid_5; + __gen_e_acsl_valid_5 = __e_acsl_valid((void *)dest[0],sizeof(int), + (void *)dest[0],(void *)(dest)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"dest[0]", (void *)dest[0]); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_5 = __e_acsl_valid((void *)dest[0],sizeof(int), - (void *)dest[0],(void *)(dest)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\valid(dest[0])",0,__gen_e_acsl_valid_5); __gen_e_acsl_and_5 = __gen_e_acsl_valid_5; @@ -266,24 +266,24 @@ int main(void) int __gen_e_acsl_and_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& dest[1]), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&dest[1]", (void *)(& dest[1])); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& dest[1]), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&dest[1])",0, __gen_e_acsl_initialized_6); if (__gen_e_acsl_initialized_6) { int __gen_e_acsl_valid_6; + __gen_e_acsl_valid_6 = __e_acsl_valid((void *)dest[1],sizeof(int), + (void *)dest[1], + (void *)(& dest[1])); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"dest[1]", (void *)dest[1]); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_6 = __e_acsl_valid((void *)dest[1],sizeof(int), - (void *)dest[1], - (void *)(& dest[1])); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\valid(dest[1])",0,__gen_e_acsl_valid_6); __gen_e_acsl_and_6 = __gen_e_acsl_valid_6; @@ -322,11 +322,11 @@ int main(void) int __gen_e_acsl_and_8; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)p, + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)p, - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized(p)",0, __gen_e_acsl_initialized_7); @@ -334,26 +334,24 @@ int main(void) int __gen_e_acsl_initialized_8; int __gen_e_acsl_and_7; int __gen_e_acsl_valid_7; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"*p", - (void *)*p); __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& p), + sizeof(int **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(int **)",0,sizeof(int **)); - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& p), - sizeof(int **)); if (__gen_e_acsl_initialized_8) { int __gen_e_acsl_valid_read; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"p", - (void *)p); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, - "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)p, sizeof(int *), (void *)p, (void *)(& p)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"p", + (void *)p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, + "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_and_7 = __gen_e_acsl_valid_read; } else __gen_e_acsl_and_7 = 0; @@ -366,10 +364,12 @@ int main(void) __gen_e_acsl_assert_data_8.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and_7,& __gen_e_acsl_assert_data_8); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_8); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_7 = __e_acsl_valid((void *)*p,sizeof(int), (void *)*p,(void *)p); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"*p", + (void *)*p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\valid(*p)",0,__gen_e_acsl_valid_7); __gen_e_acsl_and_8 = __gen_e_acsl_valid_7; @@ -390,29 +390,27 @@ int main(void) int __gen_e_acsl_and_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(p + 1), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(p + 1), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(p + 1)",0, __gen_e_acsl_initialized_9); if (__gen_e_acsl_initialized_9) { int __gen_e_acsl_valid_read_2; int __gen_e_acsl_valid_8; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"*(p + 1)", - (void *)*(p + 1)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_10 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"p", - (void *)p); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, - "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(p + 1), sizeof(int *), (void *)p, (void *)(& p)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_10,"p", + (void *)p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_10, + "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_assert_data_10.blocking = 1; __gen_e_acsl_assert_data_10.kind = "RTE"; __gen_e_acsl_assert_data_10.pred_txt = "\\valid_read(p + 1)"; @@ -423,11 +421,13 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_2, & __gen_e_acsl_assert_data_10); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_10); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_8 = __e_acsl_valid((void *)*(p + 1),sizeof(int), (void *)*(p + 1),(void *)( p + 1)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"*(p + 1)", + (void *)*(p + 1)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\valid(*(p + 1))",0, __gen_e_acsl_valid_8); @@ -449,11 +449,11 @@ int main(void) int __gen_e_acsl_and_11; __e_acsl_assert_data_t __gen_e_acsl_assert_data_11 = {.values = (void *)0}; + __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)q, + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_11, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)q, - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "\\initialized(q)",0, __gen_e_acsl_initialized_10); @@ -461,26 +461,24 @@ int main(void) int __gen_e_acsl_initialized_11; int __gen_e_acsl_and_10; int __gen_e_acsl_valid_9; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"*q", - (void *)*q); __e_acsl_assert_data_t __gen_e_acsl_assert_data_12 = {.values = (void *)0}; + __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(& q), + sizeof(int **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, "sizeof(int **)",0,sizeof(int **)); - __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(& q), - sizeof(int **)); if (__gen_e_acsl_initialized_11) { int __gen_e_acsl_valid_read_3; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"q", - (void *)q); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, - "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)q, sizeof(int *), (void *)q, (void *)(& q)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_12,"q", + (void *)q); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_12, + "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_and_10 = __gen_e_acsl_valid_read_3; } else __gen_e_acsl_and_10 = 0; @@ -493,10 +491,12 @@ int main(void) __gen_e_acsl_assert_data_12.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and_10,& __gen_e_acsl_assert_data_12); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_12); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_11, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_9 = __e_acsl_valid((void *)*q,sizeof(int), (void *)*q,(void *)q); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_11,"*q", + (void *)*q); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_11, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_11, "\\valid(*q)",0,__gen_e_acsl_valid_9); __gen_e_acsl_and_11 = __gen_e_acsl_valid_9; @@ -517,29 +517,27 @@ int main(void) int __gen_e_acsl_and_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_13 = {.values = (void *)0}; + __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(q + 1), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_13, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(q + 1), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "\\initialized(q + 1)",0, __gen_e_acsl_initialized_12); if (__gen_e_acsl_initialized_12) { int __gen_e_acsl_valid_read_4; int __gen_e_acsl_valid_10; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,"*(q + 1)", - (void *)*(q + 1)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_14 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14,"q", - (void *)q); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_14, - "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)(q + 1), sizeof(int *), (void *)q, (void *)(& q)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_14,"q", + (void *)q); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_14, + "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_assert_data_14.blocking = 1; __gen_e_acsl_assert_data_14.kind = "RTE"; __gen_e_acsl_assert_data_14.pred_txt = "\\valid_read(q + 1)"; @@ -550,11 +548,13 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_4, & __gen_e_acsl_assert_data_14); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_14); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_13, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_10 = __e_acsl_valid((void *)*(q + 1),sizeof(int), (void *)*(q + 1), (void *)(q + 1)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_13,"*(q + 1)", + (void *)*(q + 1)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_13, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_13, "\\valid(*(q + 1))",0, __gen_e_acsl_valid_10); @@ -590,11 +590,11 @@ int main(void) int __gen_e_acsl_and_14; __e_acsl_assert_data_t __gen_e_acsl_assert_data_15 = {.values = (void *)0}; + __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)q, + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_15, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)q, - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15, "\\initialized(q)",0, __gen_e_acsl_initialized_13); @@ -602,26 +602,24 @@ int main(void) int __gen_e_acsl_initialized_14; int __gen_e_acsl_and_13; int __gen_e_acsl_valid_11; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15,"*q", - (void *)*q); __e_acsl_assert_data_t __gen_e_acsl_assert_data_16 = {.values = (void *)0}; + __gen_e_acsl_initialized_14 = __e_acsl_initialized((void *)(& q), + sizeof(int **)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_16, "sizeof(int **)",0,sizeof(int **)); - __gen_e_acsl_initialized_14 = __e_acsl_initialized((void *)(& q), - sizeof(int **)); if (__gen_e_acsl_initialized_14) { int __gen_e_acsl_valid_read_5; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16,"q", - (void *)q); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_16, - "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_valid_read_5 = __e_acsl_valid_read((void *)q, sizeof(int *), (void *)q, (void *)(& q)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_16,"q", + (void *)q); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_16, + "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_and_13 = __gen_e_acsl_valid_read_5; } else __gen_e_acsl_and_13 = 0; @@ -634,10 +632,12 @@ int main(void) __gen_e_acsl_assert_data_16.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_and_13,& __gen_e_acsl_assert_data_16); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_16); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_15, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_11 = __e_acsl_valid((void *)*q,sizeof(int), (void *)*q,(void *)q); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_15,"*q", + (void *)*q); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_15, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_15, "\\valid(*q)",0,__gen_e_acsl_valid_11); __gen_e_acsl_and_14 = __gen_e_acsl_valid_11; @@ -658,29 +658,27 @@ int main(void) int __gen_e_acsl_and_15; __e_acsl_assert_data_t __gen_e_acsl_assert_data_17 = {.values = (void *)0}; + __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)(q + 1), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17,"q",(void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_17, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)(q + 1), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17, "\\initialized(q + 1)",0, __gen_e_acsl_initialized_15); if (__gen_e_acsl_initialized_15) { int __gen_e_acsl_valid_read_6; int __gen_e_acsl_valid_12; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17,"*(q + 1)", - (void *)*(q + 1)); __e_acsl_assert_data_t __gen_e_acsl_assert_data_18 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18,"q", - (void *)q); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_18, - "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_valid_read_6 = __e_acsl_valid_read((void *)(q + 1), sizeof(int *), (void *)q, (void *)(& q)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_18,"q", + (void *)q); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_18, + "sizeof(int *)",0,sizeof(int *)); __gen_e_acsl_assert_data_18.blocking = 1; __gen_e_acsl_assert_data_18.kind = "RTE"; __gen_e_acsl_assert_data_18.pred_txt = "\\valid_read(q + 1)"; @@ -691,11 +689,13 @@ int main(void) __e_acsl_assert(__gen_e_acsl_valid_read_6, & __gen_e_acsl_assert_data_18); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_18); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_17, - "sizeof(int)",0,sizeof(int)); __gen_e_acsl_valid_12 = __e_acsl_valid((void *)*(q + 1),sizeof(int), (void *)*(q + 1), (void *)(q + 1)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_17,"*(q + 1)", + (void *)*(q + 1)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_17, + "sizeof(int)",0,sizeof(int)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_17, "\\valid(*(q + 1))",0, __gen_e_acsl_valid_12); @@ -816,12 +816,6 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, {.values = (void *)0}; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"dest",dest); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"sizeof(char)", - 0,1); - __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"sizeof(char)", - 0,1); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"n",0,n); __gmpz_init_set_ui(__gen_e_acsl_n,n); __gmpz_init_set_si(__gen_e_acsl_,1L); __gmpz_init(__gen_e_acsl_sub); @@ -839,18 +833,22 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); __gen_e_acsl__3 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); __gen_e_acsl_size = 1UL * __gen_e_acsl__3; - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, - __gen_e_acsl_size); if (__gen_e_acsl_size <= 0UL) __gen_e_acsl_if = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, - __gen_e_acsl_size); - __gen_e_acsl_if = __gen_e_acsl_size; - } + else __gen_e_acsl_if = __gen_e_acsl_size; __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)((char *)dest + 1 * 0), __gen_e_acsl_if,dest, (void *)(& dest)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"dest",dest); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"sizeof(char)", + 0,1); + __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4,"sizeof(char)", + 0,1); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"n",0,n); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, + __gen_e_acsl_size); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4,"size",0, + __gen_e_acsl_size); __gen_e_acsl_assert_data_4.blocking = 1; __gen_e_acsl_assert_data_4.kind = "RTE"; __gen_e_acsl_assert_data_4.pred_txt = "\\valid_read((char *)dest + (0 .. n - 1))"; @@ -862,6 +860,15 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __e_acsl_assert_clean(& __gen_e_acsl_assert_data_4); __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl__4 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gen_e_acsl_size_2 = 1UL * __gen_e_acsl__4; + if (__gen_e_acsl_size_2 <= 0UL) __gen_e_acsl_if_2 = 0UL; + else __gen_e_acsl_if_2 = __gen_e_acsl_size_2; + __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)((char *)src + + 1 * 0), + __gen_e_acsl_if_2, + (void *)src, + (void *)(& src)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"src", (void *)src); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"sizeof(char)", @@ -869,21 +876,10 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5,"sizeof(char)", 0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"n",0,n); - __gen_e_acsl__4 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gen_e_acsl_size_2 = 1UL * __gen_e_acsl__4; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"size",0, __gen_e_acsl_size_2); - if (__gen_e_acsl_size_2 <= 0UL) __gen_e_acsl_if_2 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"size",0, - __gen_e_acsl_size_2); - __gen_e_acsl_if_2 = __gen_e_acsl_size_2; - } - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)((char *)src + - 1 * 0), - __gen_e_acsl_if_2, - (void *)src, - (void *)(& src)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5,"size",0, + __gen_e_acsl_size_2); __gen_e_acsl_assert_data_5.blocking = 1; __gen_e_acsl_assert_data_5.kind = "RTE"; __gen_e_acsl_assert_data_5.pred_txt = "\\valid_read((char *)src + (0 .. n - 1))"; @@ -893,22 +889,28 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __gen_e_acsl_assert_data_5.name = "separated_guard"; __e_acsl_assert(__gen_e_acsl_valid_read_2,& __gen_e_acsl_assert_data_5); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_5); + __gen_e_acsl__5 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gen_e_acsl_size_3 = 1UL * __gen_e_acsl__5; + if (__gen_e_acsl_size_3 <= 0UL) __gen_e_acsl_if_3 = 0UL; + else __gen_e_acsl_if_3 = __gen_e_acsl_size_3; + __gen_e_acsl__6 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gen_e_acsl_size_4 = 1UL * __gen_e_acsl__6; + if (__gen_e_acsl_size_4 <= 0UL) __gen_e_acsl_if_4 = 0UL; + else __gen_e_acsl_if_4 = __gen_e_acsl_size_4; + __gen_e_acsl_separated = __e_acsl_separated(2UL,(char *)dest + 1 * 0, + __gen_e_acsl_if_3, + (char *)src + 1 * 0, + __gen_e_acsl_if_4); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"dest",dest); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(char)", 0,1); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(char)", 0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"n",0,n); - __gen_e_acsl__5 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gen_e_acsl_size_3 = 1UL * __gen_e_acsl__5; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, __gen_e_acsl_size_3); - if (__gen_e_acsl_size_3 <= 0UL) __gen_e_acsl_if_3 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, - __gen_e_acsl_size_3); - __gen_e_acsl_if_3 = __gen_e_acsl_size_3; - } + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, + __gen_e_acsl_size_3); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"src", (void *)src); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(char)", @@ -916,20 +918,10 @@ void *__gen_e_acsl_memcpy(void * restrict dest, void const * restrict src, __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3,"sizeof(char)", 0,1); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"n",0,n); - __gen_e_acsl__6 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gen_e_acsl_size_4 = 1UL * __gen_e_acsl__6; __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, __gen_e_acsl_size_4); - if (__gen_e_acsl_size_4 <= 0UL) __gen_e_acsl_if_4 = 0UL; - else { - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, - __gen_e_acsl_size_4); - __gen_e_acsl_if_4 = __gen_e_acsl_size_4; - } - __gen_e_acsl_separated = __e_acsl_separated(2UL,(char *)dest + 1 * 0, - __gen_e_acsl_if_3, - (char *)src + 1 * 0, - __gen_e_acsl_if_4); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3,"size",0, + __gen_e_acsl_size_4); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "separation:\n \\separated((char *)dest + (0 .. n - 1), (char *)src + (0 .. n - 1))", 0,__gen_e_acsl_separated); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_scope.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_scope.c index e175b3e5377fb7df61c497895f2e9ed9d60a94b7..4e6a2e54633f6eb594c0dfafa9e4dc965973befd 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_scope.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_scope.c @@ -36,23 +36,23 @@ int main(void) int __gen_e_acsl_initialized; int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; /*@ assert Eva: dangling_pointer: !\dangling(&p); */ + __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, + (void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"p",(void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)p,sizeof(int),(void *)p, - (void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(p)",0, __gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -73,23 +73,23 @@ int main(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&q)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\valid(q)", 0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; @@ -117,23 +117,23 @@ int main(void) int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&p)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)p,sizeof(int), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)p,sizeof(int), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(p)",0,__gen_e_acsl_valid_3); __gen_e_acsl_and_3 = __gen_e_acsl_valid_3; @@ -156,23 +156,23 @@ int main(void) int __gen_e_acsl_and_4; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&q)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)q,sizeof(int), + (void *)q,(void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)q,sizeof(int), - (void *)q,(void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(q)",0,__gen_e_acsl_valid_4); __gen_e_acsl_and_4 = __gen_e_acsl_valid_4; @@ -192,12 +192,12 @@ int main(void) int __gen_e_acsl_valid_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_valid_5 = __e_acsl_valid((void *)(& j),sizeof(int), + (void *)(& j),(void *)0); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&j", (void *)(& j)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_5 = __e_acsl_valid((void *)(& j),sizeof(int), - (void *)(& j),(void *)0); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\valid(&j)",0,__gen_e_acsl_valid_5); __gen_e_acsl_assert_data_5.blocking = 1; @@ -227,23 +227,23 @@ int main(void) int __gen_e_acsl_and_5; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&p)",0, __gen_e_acsl_initialized_5); if (__gen_e_acsl_initialized_5) { int __gen_e_acsl_valid_6; + __gen_e_acsl_valid_6 = __e_acsl_valid((void *)p,sizeof(int), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_6 = __e_acsl_valid((void *)p,sizeof(int), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\valid(p)",0,__gen_e_acsl_valid_6); __gen_e_acsl_and_5 = __gen_e_acsl_valid_6; @@ -270,23 +270,23 @@ int main(void) int __gen_e_acsl_and_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& p), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&p", (void *)(& p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& p), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\initialized(&p)",0, __gen_e_acsl_initialized_6); if (__gen_e_acsl_initialized_6) { int __gen_e_acsl_valid_7; + __gen_e_acsl_valid_7 = __e_acsl_valid((void *)p,sizeof(int), + (void *)p,(void *)(& p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"p", (void *)p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_7 = __e_acsl_valid((void *)p,sizeof(int), - (void *)p,(void *)(& p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_7, "\\valid(p)",0,__gen_e_acsl_valid_7); __gen_e_acsl_and_6 = __gen_e_acsl_valid_7; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_struct.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_struct.c index 9ae8456936cbe3ed2ae19ede20e8038c0fdb6cce..bd941981b54fdcf62f0a259cde5c491cfa368029 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_struct.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_struct.c @@ -52,23 +52,23 @@ int main(void) int __gen_e_acsl_and; int __gen_e_acsl_and_3; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& t1.p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&t1.p", (void *)(& t1.p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& t1.p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&t1.p)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)t1.p,sizeof(char), + (void *)t1.p,(void *)(& t1.p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"t1.p", (void *)t1.p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid = __e_acsl_valid((void *)t1.p,sizeof(char), - (void *)t1.p,(void *)(& t1.p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(t1.p)",0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -77,23 +77,23 @@ int main(void) if (__gen_e_acsl_and) { int __gen_e_acsl_initialized_2; int __gen_e_acsl_and_2; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& t1.q), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&t1.q", (void *)(& t1.q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& t1.q), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&t1.q)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)t1.q,sizeof(char), + (void *)t1.q,(void *)(& t1.q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"t1.q", (void *)t1.q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)t1.q,sizeof(char), - (void *)t1.q,(void *)(& t1.q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\valid(t1.q)",0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; @@ -118,23 +118,23 @@ int main(void) int __gen_e_acsl_and_6; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& t2.p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&t2.p", (void *)(& t2.p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& t2.p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&t2.p)",0, __gen_e_acsl_initialized_3); if (__gen_e_acsl_initialized_3) { int __gen_e_acsl_valid_3; + __gen_e_acsl_valid_3 = __e_acsl_valid((void *)t2.p,sizeof(char), + (void *)t2.p,(void *)(& t2.p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"t2.p", (void *)t2.p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)t2.p,sizeof(char), - (void *)t2.p,(void *)(& t2.p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(t2.p)",0,__gen_e_acsl_valid_3); __gen_e_acsl_and_4 = __gen_e_acsl_valid_3; @@ -143,23 +143,23 @@ int main(void) if (! __gen_e_acsl_and_4) { int __gen_e_acsl_initialized_4; int __gen_e_acsl_and_5; + __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& t2.q), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&t2.q", (void *)(& t2.q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& t2.q), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&t2.q)",0, __gen_e_acsl_initialized_4); if (__gen_e_acsl_initialized_4) { int __gen_e_acsl_valid_4; + __gen_e_acsl_valid_4 = __e_acsl_valid((void *)t2.q,sizeof(char), + (void *)t2.q,(void *)(& t2.q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"t2.q", (void *)t2.q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)t2.q,sizeof(char), - (void *)t2.q,(void *)(& t2.q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\valid(t2.q)",0,__gen_e_acsl_valid_4); __gen_e_acsl_and_5 = __gen_e_acsl_valid_4; @@ -187,23 +187,23 @@ int main(void) int __gen_e_acsl_and_9; __e_acsl_assert_data_t __gen_e_acsl_assert_data_3 = {.values = (void *)0}; + __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& t2.p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&t2.p", (void *)(& t2.p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)(& t2.p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&t2.p)",0, __gen_e_acsl_initialized_5); if (__gen_e_acsl_initialized_5) { int __gen_e_acsl_valid_5; + __gen_e_acsl_valid_5 = __e_acsl_valid((void *)t2.p,sizeof(char), + (void *)t2.p,(void *)(& t2.p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"t2.p", (void *)t2.p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_5 = __e_acsl_valid((void *)t2.p,sizeof(char), - (void *)t2.p,(void *)(& t2.p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(t2.p)",0,__gen_e_acsl_valid_5); __gen_e_acsl_and_7 = __gen_e_acsl_valid_5; @@ -212,23 +212,23 @@ int main(void) if (__gen_e_acsl_and_7) { int __gen_e_acsl_initialized_6; int __gen_e_acsl_and_8; + __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& t2.q), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"&t2.q", (void *)(& t2.q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)(& t2.q), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\initialized(&t2.q)",0, __gen_e_acsl_initialized_6); if (__gen_e_acsl_initialized_6) { int __gen_e_acsl_valid_6; + __gen_e_acsl_valid_6 = __e_acsl_valid((void *)t2.q,sizeof(char), + (void *)t2.q,(void *)(& t2.q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_3,"t2.q", (void *)t2.q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_3, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_6 = __e_acsl_valid((void *)t2.q,sizeof(char), - (void *)t2.q,(void *)(& t2.q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_3, "\\valid(t2.q)",0,__gen_e_acsl_valid_6); __gen_e_acsl_and_8 = __gen_e_acsl_valid_6; @@ -261,23 +261,23 @@ int main(void) int __gen_e_acsl_and_12; __e_acsl_assert_data_t __gen_e_acsl_assert_data_4 = {.values = (void *)0}; + __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& t2.p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&t2.p", (void *)(& t2.p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& t2.p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&t2.p)",0, __gen_e_acsl_initialized_7); if (__gen_e_acsl_initialized_7) { int __gen_e_acsl_valid_7; + __gen_e_acsl_valid_7 = __e_acsl_valid((void *)t2.p,sizeof(char), + (void *)t2.p,(void *)(& t2.p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"t2.p", (void *)t2.p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_7 = __e_acsl_valid((void *)t2.p,sizeof(char), - (void *)t2.p,(void *)(& t2.p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(t2.p)",0,__gen_e_acsl_valid_7); __gen_e_acsl_and_10 = __gen_e_acsl_valid_7; @@ -286,23 +286,23 @@ int main(void) if (! __gen_e_acsl_and_10) { int __gen_e_acsl_initialized_8; int __gen_e_acsl_and_11; + __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& t2.q), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"&t2.q", (void *)(& t2.q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& t2.q), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\initialized(&t2.q)",0, __gen_e_acsl_initialized_8); if (__gen_e_acsl_initialized_8) { int __gen_e_acsl_valid_8; + __gen_e_acsl_valid_8 = __e_acsl_valid((void *)t2.q,sizeof(char), + (void *)t2.q,(void *)(& t2.q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_4,"t2.q", (void *)t2.q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_4, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_8 = __e_acsl_valid((void *)t2.q,sizeof(char), - (void *)t2.q,(void *)(& t2.q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_4, "\\valid(t2.q)",0,__gen_e_acsl_valid_8); __gen_e_acsl_and_11 = __gen_e_acsl_valid_8; @@ -330,23 +330,23 @@ int main(void) int __gen_e_acsl_and_15; __e_acsl_assert_data_t __gen_e_acsl_assert_data_5 = {.values = (void *)0}; + __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(& l.t.p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&l.t.p", (void *)(& l.t.p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)(& l.t.p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&l.t.p)",0, __gen_e_acsl_initialized_9); if (__gen_e_acsl_initialized_9) { int __gen_e_acsl_valid_9; + __gen_e_acsl_valid_9 = __e_acsl_valid((void *)l.t.p,sizeof(char), + (void *)l.t.p,(void *)(& l.t.p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"l.t.p", (void *)l.t.p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_9 = __e_acsl_valid((void *)l.t.p,sizeof(char), - (void *)l.t.p,(void *)(& l.t.p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\valid(l.t.p)",0,__gen_e_acsl_valid_9); __gen_e_acsl_and_13 = __gen_e_acsl_valid_9; @@ -355,24 +355,24 @@ int main(void) if (! __gen_e_acsl_and_13) { int __gen_e_acsl_initialized_10; int __gen_e_acsl_and_14; + __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& l.t.q), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"&l.t.q", (void *)(& l.t.q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& l.t.q), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\initialized(&l.t.q)",0, __gen_e_acsl_initialized_10); if (__gen_e_acsl_initialized_10) { int __gen_e_acsl_valid_10; + __gen_e_acsl_valid_10 = __e_acsl_valid((void *)l.t.q,sizeof(char), + (void *)l.t.q, + (void *)(& l.t.q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_5,"l.t.q", (void *)l.t.q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_5, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_10 = __e_acsl_valid((void *)l.t.q,sizeof(char), - (void *)l.t.q, - (void *)(& l.t.q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_5, "\\valid(l.t.q)",0, __gen_e_acsl_valid_10); @@ -400,30 +400,28 @@ int main(void) int __gen_e_acsl_and_16; __e_acsl_assert_data_t __gen_e_acsl_assert_data_6 = {.values = (void *)0}; + __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(& lp->t.p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"&lp->t.p", (void *)(& lp->t.p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(& lp->t.p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\initialized(&lp->t.p)",0, __gen_e_acsl_initialized_11); if (__gen_e_acsl_initialized_11) { int __gen_e_acsl_valid_read; int __gen_e_acsl_valid_11; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"lp->t.p", - (void *)lp->t.p); __e_acsl_assert_data_t __gen_e_acsl_assert_data_7 = {.values = (void *)0}; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&lp->t.p", - (void *)(& lp->t.p)); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, - "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(& lp->t.p), sizeof(char *), (void *)(& lp->t.p), (void *)0); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_7,"&lp->t.p", + (void *)(& lp->t.p)); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_7, + "sizeof(char *)",0,sizeof(char *)); __gen_e_acsl_assert_data_7.blocking = 1; __gen_e_acsl_assert_data_7.kind = "RTE"; __gen_e_acsl_assert_data_7.pred_txt = "\\valid_read(&lp->t.p)"; @@ -433,11 +431,13 @@ int main(void) __gen_e_acsl_assert_data_7.name = "mem_access"; __e_acsl_assert(__gen_e_acsl_valid_read,& __gen_e_acsl_assert_data_7); __e_acsl_assert_clean(& __gen_e_acsl_assert_data_7); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_11 = __e_acsl_valid((void *)lp->t.p,sizeof(char), (void *)lp->t.p, (void *)(& lp->t.p)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_6,"lp->t.p", + (void *)lp->t.p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_6, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_6, "\\valid(lp->t.p)",0, __gen_e_acsl_valid_11); @@ -463,24 +463,24 @@ int main(void) int __gen_e_acsl_and_19; __e_acsl_assert_data_t __gen_e_acsl_assert_data_8 = {.values = (void *)0}; + __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& tarr[0].p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"&tarr[0].p", (void *)(& tarr[0].p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& tarr[0].p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized(&tarr[0].p)",0, __gen_e_acsl_initialized_12); if (__gen_e_acsl_initialized_12) { int __gen_e_acsl_valid_12; + __gen_e_acsl_valid_12 = __e_acsl_valid((void *)tarr[0].p,sizeof(char), + (void *)tarr[0].p, + (void *)(& tarr[0].p)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"tarr[0].p", (void *)tarr[0].p); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(char)",0,sizeof(char)); - __gen_e_acsl_valid_12 = __e_acsl_valid((void *)tarr[0].p,sizeof(char), - (void *)tarr[0].p, - (void *)(& tarr[0].p)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\valid(tarr[0].p)",0, __gen_e_acsl_valid_12); @@ -490,25 +490,25 @@ int main(void) if (! __gen_e_acsl_and_17) { int __gen_e_acsl_initialized_13; int __gen_e_acsl_and_18; + __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)(& tarr[0].q), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8,"&tarr[0].q", (void *)(& tarr[0].q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)(& tarr[0].q), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\initialized(&tarr[0].q)",0, __gen_e_acsl_initialized_13); if (__gen_e_acsl_initialized_13) { int __gen_e_acsl_valid_13; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8, - "tarr[0].q",(void *)tarr[0].q); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_13 = __e_acsl_valid((void *)tarr[0].q, sizeof(char), (void *)tarr[0].q, (void *)(& tarr[0].q)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_8, + "tarr[0].q",(void *)tarr[0].q); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_8, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_8, "\\valid(tarr[0].q)",0, __gen_e_acsl_valid_13); @@ -537,25 +537,25 @@ int main(void) int __gen_e_acsl_and_22; __e_acsl_assert_data_t __gen_e_acsl_assert_data_9 = {.values = (void *)0}; + __gen_e_acsl_initialized_14 = __e_acsl_initialized((void *)(& larr[0].t.p), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9,"&larr[0].t.p", (void *)(& larr[0].t.p)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_14 = __e_acsl_initialized((void *)(& larr[0].t.p), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(&larr[0].t.p)",0, __gen_e_acsl_initialized_14); if (__gen_e_acsl_initialized_14) { int __gen_e_acsl_valid_14; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, - "larr[0].t.p",(void *)larr[0].t.p); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_14 = __e_acsl_valid((void *)larr[0].t.p, sizeof(char), (void *)larr[0].t.p, (void *)(& larr[0].t.p)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, + "larr[0].t.p",(void *)larr[0].t.p); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\valid(larr[0].t.p)",0, __gen_e_acsl_valid_14); @@ -565,25 +565,25 @@ int main(void) if (! __gen_e_acsl_and_20) { int __gen_e_acsl_initialized_15; int __gen_e_acsl_and_21; + __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)(& larr[0].t.q), + sizeof(char *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, "&larr[0].t.q",(void *)(& larr[0].t.q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, "sizeof(char *)",0,sizeof(char *)); - __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)(& larr[0].t.q), - sizeof(char *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\initialized(&larr[0].t.q)",0, __gen_e_acsl_initialized_15); if (__gen_e_acsl_initialized_15) { int __gen_e_acsl_valid_15; - __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, - "larr[0].t.q",(void *)larr[0].t.q); - __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, - "sizeof(char)",0,sizeof(char)); __gen_e_acsl_valid_15 = __e_acsl_valid((void *)larr[0].t.q, sizeof(char), (void *)larr[0].t.q, (void *)(& larr[0].t.q)); + __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_9, + "larr[0].t.q",(void *)larr[0].t.q); + __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_9, + "sizeof(char)",0,sizeof(char)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_9, "\\valid(larr[0].t.q)",0, __gen_e_acsl_valid_15); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_while.c b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_while.c index a2fe47cbf60daeb25354443d06bd0e234525565f..da101645c637c7185e5c9a0a48f9caa82eaaa9dd 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_while.c +++ b/src/plugins/e-acsl/tests/temporal/oracle/gen_t_while.c @@ -31,23 +31,23 @@ int main(void) int __gen_e_acsl_and; __e_acsl_assert_data_t __gen_e_acsl_assert_data = {.values = (void *)0}; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data, "\\initialized(&q)",0, __gen_e_acsl_initialized); if (__gen_e_acsl_initialized) { int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)q,sizeof(int),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid = __e_acsl_valid((void *)q,sizeof(int),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data,"\\valid(q)", 0,__gen_e_acsl_valid); __gen_e_acsl_and = __gen_e_acsl_valid; @@ -75,23 +75,23 @@ int main(void) int __gen_e_acsl_and_2; __e_acsl_assert_data_t __gen_e_acsl_assert_data_2 = {.values = (void *)0}; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), + sizeof(int *)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"&q", (void *)(& q)); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int *)",0,sizeof(int *)); - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(& q), - sizeof(int *)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2, "\\initialized(&q)",0, __gen_e_acsl_initialized_2); if (__gen_e_acsl_initialized_2) { int __gen_e_acsl_valid_2; + __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, + (void *)(& q)); __e_acsl_assert_register_ptr(& __gen_e_acsl_assert_data_2,"q", (void *)q); __e_acsl_assert_register_ulong(& __gen_e_acsl_assert_data_2, "sizeof(int)",0,sizeof(int)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)q,sizeof(int),(void *)q, - (void *)(& q)); __e_acsl_assert_register_int(& __gen_e_acsl_assert_data_2,"\\valid(q)", 0,__gen_e_acsl_valid_2); __gen_e_acsl_and_2 = __gen_e_acsl_valid_2; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_args.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle/t_args.res.oracle index 6bb807d1e2b4c67798fbd803fed5d3fcf182cc0c..9def75750591e66b93649f24a772fcda19d98920 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_args.res.oracle +++ b/src/plugins/e-acsl/tests/temporal/oracle/t_args.res.oracle @@ -21,12 +21,12 @@ [eva:alarm] t_args.c:10: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] t_args.c:10: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] t_args.c:10: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] t_args.c:10: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] t_args.c:10: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_dpointer.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle/t_dpointer.res.oracle index 5db733f8c9ebb7876947e8fe8758424386f4a81e..67e45948a3a9585bafe98d6ec2036709b496c8f6 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_dpointer.res.oracle +++ b/src/plugins/e-acsl/tests/temporal/oracle/t_dpointer.res.oracle @@ -18,12 +18,12 @@ [eva:alarm] t_dpointer.c:15: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] t_dpointer.c:15: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] t_dpointer.c:15: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] t_dpointer.c:15: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] t_dpointer.c:15: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -35,6 +35,9 @@ [eva:alarm] t_dpointer.c:21: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] t_dpointer.c:21: Warning: + function __e_acsl_assert_register_ulong: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] t_dpointer.c:21: Warning: accessing left-value that contains escaping addresses. assert !\dangling(p + 2); @@ -44,9 +47,6 @@ [eva:alarm] t_dpointer.c:21: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] t_dpointer.c:21: Warning: - function __e_acsl_assert_register_ulong: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] t_dpointer.c:21: Warning: function __e_acsl_assert, behavior blocking: precondition got status unknown. [eva:alarm] t_dpointer.c:21: Warning: diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_global_init.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle/t_global_init.res.oracle index 9c330632429fdeee7bed3cc27a83a21506780df1..2ea268ff2cfb2aae48d3e7c7fa9d1d8afb8135a2 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_global_init.res.oracle +++ b/src/plugins/e-acsl/tests/temporal/oracle/t_global_init.res.oracle @@ -30,9 +30,6 @@ [eva:alarm] t_global_init.c:50: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] t_global_init.c:50: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] t_global_init.c:50: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -42,3 +39,6 @@ [eva:alarm] t_global_init.c:50: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] t_global_init.c:50: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_local_init.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle/t_local_init.res.oracle index 962928e4e61dc8e4b5fd9e6c90169903fcb7e762..e71861cd4d1b92a01dd21256b499c4759776aa26 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_local_init.res.oracle +++ b/src/plugins/e-acsl/tests/temporal/oracle/t_local_init.res.oracle @@ -18,9 +18,6 @@ [eva:alarm] t_local_init.c:36: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] t_local_init.c:36: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] t_local_init.c:36: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -30,6 +27,9 @@ [eva:alarm] t_local_init.c:36: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] t_local_init.c:36: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] t_local_init.c:42: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -48,9 +48,6 @@ [eva:alarm] t_local_init.c:43: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] t_local_init.c:43: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] t_local_init.c:43: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -60,6 +57,9 @@ [eva:alarm] t_local_init.c:43: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] t_local_init.c:43: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] t_local_init.c:47: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -78,9 +78,6 @@ [eva:alarm] t_local_init.c:48: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] t_local_init.c:48: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] t_local_init.c:48: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -90,6 +87,9 @@ [eva:alarm] t_local_init.c:48: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] t_local_init.c:48: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] t_local_init.c:52: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -108,9 +108,6 @@ [eva:alarm] t_local_init.c:53: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] t_local_init.c:53: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] t_local_init.c:53: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -120,6 +117,9 @@ [eva:alarm] t_local_init.c:53: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] t_local_init.c:53: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] t_local_init.c:23: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle index 14745859f919f5b6d5242b6666de0b7846c06d9d..2dfc948020964a7bff4201173e52df3ee35c838c 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle +++ b/src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle @@ -127,9 +127,6 @@ [eva:alarm] t_memcpy.c:40: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] t_memcpy.c:40: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] t_memcpy.c:40: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -139,18 +136,21 @@ [eva:alarm] t_memcpy.c:40: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] t_memcpy.c:40: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] t_memcpy.c:41: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] t_memcpy.c:41: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] t_memcpy.c:41: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] t_memcpy.c:41: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] t_memcpy.c:41: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] t_memcpy.c:41: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -172,9 +172,6 @@ [eva:alarm] t_memcpy.c:48: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] t_memcpy.c:48: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] t_memcpy.c:48: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. @@ -184,18 +181,21 @@ [eva:alarm] t_memcpy.c:48: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] t_memcpy.c:48: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] t_memcpy.c:49: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. [eva:alarm] t_memcpy.c:49: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] t_memcpy.c:49: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] t_memcpy.c:49: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] t_memcpy.c:49: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] t_memcpy.c:49: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_struct.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle/t_struct.res.oracle index 81594383c96adb75ac9a72c609624a3a0f8c821c..1361bf8d5c4a2e3799a6bf9cb2e23c7b1a3677f5 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_struct.res.oracle +++ b/src/plugins/e-acsl/tests/temporal/oracle/t_struct.res.oracle @@ -129,12 +129,12 @@ [eva:alarm] t_struct.c:44: Warning: function __e_acsl_assert_register_int: precondition data->values == \null || \valid(data->values) got status unknown. -[eva:alarm] t_struct.c:44: Warning: - function __e_acsl_assert_register_ptr: precondition data->values == \null || - \valid(data->values) got status unknown. [eva:alarm] t_struct.c:44: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. +[eva:alarm] t_struct.c:44: Warning: + function __e_acsl_assert_register_ptr: precondition data->values == \null || + \valid(data->values) got status unknown. [eva:alarm] t_struct.c:47: Warning: function __e_acsl_assert_register_ulong: precondition data->values == \null || \valid(data->values) got status unknown. diff --git a/src/plugins/e-acsl/tests/test_config_dev b/src/plugins/e-acsl/tests/test_config_dev index 4f999011228f6439d8868c9b337ea490dc7baf9f..c0e3d883e59fd3d73ab4589fc4d7512f76e4c615 100644 --- a/src/plugins/e-acsl/tests/test_config_dev +++ b/src/plugins/e-acsl/tests/test_config_dev @@ -5,7 +5,7 @@ COMMENT: Default options for `e-acsl-gcc.sh` MACRO: ROOT_EACSL_GCC_MISC_OPTS -q -X --no-assert-print-data COMMENT: Default options for the frama-c invocation -MACRO: ROOT_EACSL_GCC_FC_EXTRA -journal-disable -verbose 0 +MACRO: ROOT_EACSL_GCC_FC_EXTRA -verbose 0 PLUGIN: e-acsl eva,scope,variadic rtegen diff --git a/src/plugins/from/callwise.ml b/src/plugins/from/callwise.ml index 0538e56b092f8ab3c20d58f1d2d0d317cc6492d5..4891f63d8760583be27bb554abdaccb5c4690a77 100644 --- a/src/plugins/from/callwise.ml +++ b/src/plugins/from/callwise.ml @@ -202,7 +202,6 @@ let force_compute_all_calldeps ()= (* Registration for call-wise from *) let () = Db.register_guarded_compute - "From.compute_all_calldeps" Tbl.is_computed Db.From.compute_all_calldeps force_compute_all_calldeps; diff --git a/src/plugins/gui/gtk_helper.ml b/src/plugins/gui/gtk_helper.ml index 2a0af55e56de346fa6d647097b0276ba53232af8..cb7620b22531c1415d426d8367e00b89bfd91a17 100644 --- a/src/plugins/gui/gtk_helper.ml +++ b/src/plugins/gui/gtk_helper.ml @@ -741,7 +741,7 @@ class error_manager ?reset (o_parent:GWindow.window_skel) : host = () in ignore (w#connect#response ~callback:(fun _ -> w#destroy ())); - ignore (w#run ()); + ignore (w#show ()); if reset then f_reset () method error ?parent ?(reset=false) fmt = diff --git a/src/plugins/impact/gui/register_gui.ml b/src/plugins/impact/gui/register_gui.ml index 7bab54731cca8a0cea1b44c18d227f15e00d86c8..5146cb4a509f753a2e4ef66c8eac70c68377cf11 100644 --- a/src/plugins/impact/gui/register_gui.ml +++ b/src/plugins/impact/gui/register_gui.ml @@ -203,7 +203,6 @@ let impact_statement = (Datatype.func Cil_datatype.Stmt.ty (Datatype.list Cil_datatype.Stmt.ty))) - ~journalize:true impact_statement diff --git a/src/plugins/impact/register.ml b/src/plugins/impact/register.ml index b78599c9a0505c0da9aea5f58d858b423ca83cd2..6dfc46429bd86b280c90ba5418fb0e552a2314bb 100644 --- a/src/plugins/impact/register.ml +++ b/src/plugins/impact/register.ml @@ -148,25 +148,9 @@ let compute_pragmas () = stmts; ;; -let compute_pragmas = - Journal.register - "Impact.compute_pragmas" - (Datatype.func Datatype.unit (Datatype.list Stmt.ty)) - compute_pragmas - -let from_stmt = - Journal.register - "Impact.from_stmt" - (Datatype.func Stmt.ty (Datatype.list Stmt.ty)) - compute_from_stmt - -let from_nodes = - Journal.register - "Impact.from_nodes" - (Datatype.func2 Kernel_function.ty - (Datatype.list PdgTypes.Node.ty) - (PdgTypes.NodeSet.ty)) - compute_from_nodes +let from_stmt = compute_from_stmt + +let from_nodes = compute_from_nodes let main () = if Options.is_on () then begin diff --git a/src/plugins/markdown-report/.gitattributes b/src/plugins/markdown-report/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..e558434280b3047d5711facb618b3e374022b52c --- /dev/null +++ b/src/plugins/markdown-report/.gitattributes @@ -0,0 +1,5 @@ +######################## +# HEADER_SPEC: .ignore # +######################## + +/META.in header_spec=.ignore diff --git a/src/plugins/markdown-report/tests/sarif/oracle/cwe125.sarif b/src/plugins/markdown-report/tests/sarif/oracle/cwe125.sarif index acc869f1702094b879063c996189554198d4a3fc..bae3ec58849f73f5b4e457c8dc4c44d4a7da501a 100644 --- a/src/plugins/markdown-report/tests/sarif/oracle/cwe125.sarif +++ b/src/plugins/markdown-report/tests/sarif/oracle/cwe125.sarif @@ -16,9 +16,9 @@ "invocations": [ { "commandLine": - "frama-c -journal-disable -check -no-autoload-plugins -add-symbolic-path=PTEST_SESSION:. -load-plugin=eva,from,scope,inout,markdown-report cwe125.c -save ./cwe125_parse.sav", + "frama-c -check -no-autoload-plugins -add-symbolic-path=PTEST_SESSION:. -load-plugin=eva,from,scope,inout,markdown-report cwe125.c -save ./cwe125_parse.sav", "arguments": [ - "-journal-disable", "-check", "-no-autoload-plugins", + "-check", "-no-autoload-plugins", "-add-symbolic-path=PTEST_SESSION:.", "-load-plugin=eva,from,scope,inout,markdown-report", "cwe125.c", "-save", "./cwe125_parse.sav" @@ -28,9 +28,9 @@ }, { "commandLine": - "frama-c -journal-disable -check -no-autoload-plugins -add-symbolic-path=PTEST_SESSION:. -load-plugin=eva,from,scope,inout,markdown-report -load ./cwe125_parse.sav -eva -save ./cwe125_eva.sav", + "frama-c -check -no-autoload-plugins -add-symbolic-path=PTEST_SESSION:. -load-plugin=eva,from,scope,inout,markdown-report -load ./cwe125_parse.sav -eva -save ./cwe125_eva.sav", "arguments": [ - "-journal-disable", "-check", "-no-autoload-plugins", + "-check", "-no-autoload-plugins", "-add-symbolic-path=PTEST_SESSION:.", "-load-plugin=eva,from,scope,inout,markdown-report", "-load", "./cwe125_parse.sav", "-eva", "-save", "./cwe125_eva.sav" @@ -40,9 +40,9 @@ }, { "commandLine": - "frama-c -journal-disable -check -no-autoload-plugins -add-symbolic-path=PTEST_SESSION:. -load-plugin=eva,from,scope,inout,markdown-report -load ./cwe125_eva.sav -then -mdr-out ./cwe125.sarif.unfiltered -mdr-gen sarif -mdr-no-print-libc -mdr-sarif-deterministic", + "frama-c -check -no-autoload-plugins -add-symbolic-path=PTEST_SESSION:. -load-plugin=eva,from,scope,inout,markdown-report -load ./cwe125_eva.sav -then -mdr-out ./cwe125.sarif.unfiltered -mdr-gen sarif -mdr-no-print-libc -mdr-sarif-deterministic", "arguments": [ - "-journal-disable", "-check", "-no-autoload-plugins", + "-check", "-no-autoload-plugins", "-add-symbolic-path=PTEST_SESSION:.", "-load-plugin=eva,from,scope,inout,markdown-report", "-load", "./cwe125_eva.sav", "-then", "-mdr-out", diff --git a/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif b/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif index 1d95d640cd6cef31fc2b3aa0cf91877a62ddd440..c29b3db8d73bf9099204e617f2593294fb004cb2 100644 --- a/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif +++ b/src/plugins/markdown-report/tests/sarif/oracle/std_string.sarif @@ -16,9 +16,9 @@ "invocations": [ { "commandLine": - "frama-c -journal-disable -check -no-autoload-plugins -add-symbolic-path=PTEST_SESSION:. -load-plugin=eva,from,scope,inout,markdown-report std_string.c -eva -then -mdr-sarif-deterministic -mdr-gen sarif -mdr-out ./std_string.sarif.unfiltered", + "frama-c -check -no-autoload-plugins -add-symbolic-path=PTEST_SESSION:. -load-plugin=eva,from,scope,inout,markdown-report std_string.c -eva -then -mdr-sarif-deterministic -mdr-gen sarif -mdr-out ./std_string.sarif.unfiltered", "arguments": [ - "-journal-disable", "-check", "-no-autoload-plugins", + "-check", "-no-autoload-plugins", "-add-symbolic-path=PTEST_SESSION:.", "-load-plugin=eva,from,scope,inout,markdown-report", "std_string.c", "-eva", "-then", "-mdr-sarif-deterministic", diff --git a/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif b/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif index 1cf990c6f9b24cb801a7bc7668b06a1a9d0d3f28..a09df2debac18b5015f52f9bddfc1ccec772ae20 100644 --- a/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif +++ b/src/plugins/markdown-report/tests/sarif/oracle/with-libc.sarif @@ -16,9 +16,9 @@ "invocations": [ { "commandLine": - "frama-c -journal-disable -check -no-autoload-plugins -add-symbolic-path=PTEST_SESSION:. -load-plugin=eva,from,scope,inout,markdown-report -eva -eva-no-results -mdr-gen sarif -mdr-sarif-deterministic libc.c -mdr-out ./with-libc.sarif.unfiltered", + "frama-c -check -no-autoload-plugins -add-symbolic-path=PTEST_SESSION:. -load-plugin=eva,from,scope,inout,markdown-report -eva -eva-no-results -mdr-gen sarif -mdr-sarif-deterministic libc.c -mdr-out ./with-libc.sarif.unfiltered", "arguments": [ - "-journal-disable", "-check", "-no-autoload-plugins", + "-check", "-no-autoload-plugins", "-add-symbolic-path=PTEST_SESSION:.", "-load-plugin=eva,from,scope,inout,markdown-report", "-eva", "-eva-no-results", "-mdr-gen", "sarif", diff --git a/src/plugins/markdown-report/tests/sarif/oracle/without-libc.sarif b/src/plugins/markdown-report/tests/sarif/oracle/without-libc.sarif index e088d8a8609618ee3856cc516f437894746a0fe0..a5dd4fbc506da45f44ac1826f94f8f72c4b3f073 100644 --- a/src/plugins/markdown-report/tests/sarif/oracle/without-libc.sarif +++ b/src/plugins/markdown-report/tests/sarif/oracle/without-libc.sarif @@ -16,9 +16,9 @@ "invocations": [ { "commandLine": - "frama-c -journal-disable -check -no-autoload-plugins -add-symbolic-path=PTEST_SESSION:. -load-plugin=eva,from,scope,inout,markdown-report -eva -eva-no-results -mdr-gen sarif -mdr-sarif-deterministic libc.c -mdr-no-print-libc -mdr-out ./without-libc.sarif.unfiltered", + "frama-c -check -no-autoload-plugins -add-symbolic-path=PTEST_SESSION:. -load-plugin=eva,from,scope,inout,markdown-report -eva -eva-no-results -mdr-gen sarif -mdr-sarif-deterministic libc.c -mdr-no-print-libc -mdr-out ./without-libc.sarif.unfiltered", "arguments": [ - "-journal-disable", "-check", "-no-autoload-plugins", + "-check", "-no-autoload-plugins", "-add-symbolic-path=PTEST_SESSION:.", "-load-plugin=eva,from,scope,inout,markdown-report", "-eva", "-eva-no-results", "-mdr-gen", "sarif", diff --git a/src/plugins/metrics/register.ml b/src/plugins/metrics/register.ml index 349543839aea2274c7a6926dd1a3d0efb93f2af9..92e2daf9f3777637f83fdd884cd6b04a5121ec6c 100644 --- a/src/plugins/metrics/register.ml +++ b/src/plugins/metrics/register.ml @@ -32,7 +32,7 @@ let syntactic ?(libc=Metrics_parameters.Libc.get ()) () = begin match AstType.get () with | "cil" -> Metrics_cilast.compute_on_cilast ~libc - (* Cabs metrics are experimental. unregistered, unjournalized *) + (* Cabs metrics are experimental. unregistered *) | "cabs" -> Metrics_cabs.compute_on_cabs () | "acsl" -> Metrics_acsl.dump() | _ -> assert false (* the possible values are checked by the kernel*) diff --git a/src/plugins/obfuscator/obfuscator_kind.ml b/src/plugins/obfuscator/obfuscator_kind.ml index 4cf3258f806d50e1e1d39be7292142a129296d32..92896d1c8af3e71feb2c632c29bc5884c63cf722 100644 --- a/src/plugins/obfuscator/obfuscator_kind.ml +++ b/src/plugins/obfuscator/obfuscator_kind.ml @@ -85,8 +85,7 @@ include Datatype.Make_with_collections let hash (k:k) = Hashtbl.hash k let equal (k1:k) k2 = k1 = k2 let compare (k1:k) k2 = Stdlib.compare k1 k2 - let varname _ = "k" - let internal_pretty_code = Datatype.undefined + let copy = Datatype.identity let structural_descr = Structural_descr.t_abstract let rehash = Datatype.identity diff --git a/src/plugins/obfuscator/obfuscator_register.ml b/src/plugins/obfuscator/obfuscator_register.ml index d51b878bd548fe63463c00e4e83a3438860d237f..0361178598aed44a764873c1ce4724a1b2b8d2cb 100644 --- a/src/plugins/obfuscator/obfuscator_register.ml +++ b/src/plugins/obfuscator/obfuscator_register.ml @@ -62,7 +62,6 @@ let force_run = ~plugin:"Obfuscator" "force_run" (Datatype.func Datatype.unit Datatype.unit) - ~journalize:true force_run let run () = diff --git a/src/plugins/occurrence/gui/register_gui.ml b/src/plugins/occurrence/gui/register_gui.ml index dca96b2801708b3d86462a2d10a3c4da18cca3a9..7373045d1acdcbf4c410eabf22cc2e818c463fb5 100644 --- a/src/plugins/occurrence/gui/register_gui.ml +++ b/src/plugins/occurrence/gui/register_gui.ml @@ -74,7 +74,6 @@ let filter_accesses l = let _ignore = Dynamic.register ~plugin:"Occurrence" - ~journalize:false "Enabled.set" (Datatype.func Datatype.bool Datatype.unit) Enabled.set @@ -82,7 +81,6 @@ let _ignore = let _ignore = Dynamic.register ~plugin:"Occurrence" - ~journalize:false "Enabled.get" (Datatype.func Datatype.unit Datatype.bool) Enabled.get diff --git a/src/plugins/occurrence/register.ml b/src/plugins/occurrence/register.ml index a1a465e163fdb4ae82dca62bf0e6246eae3b283c..bd78fc766d3b73356947fd2c133532ad0d8caee1 100644 --- a/src/plugins/occurrence/register.ml +++ b/src/plugins/occurrence/register.ml @@ -241,24 +241,8 @@ let print_all () = let self = Occurrences.self let get_last_result = Occurrences.get_last_result - -let get = - Journal.register - "Occurrence.get" - (Datatype.func - Varinfo.ty - (* [JS 2011/04/01] Datatype.list buggy in presence of journalisation. - See comment in datatype.ml *) - (*(Datatype.list (Datatype.pair Kinstr.ty Lval.ty))*) - (let module L = Datatype.List(Occurrence_datatype) in L.ty)) - get - -let print_all = - Journal.register - "Occurrence.print_all" - (Datatype.func Datatype.unit Datatype.unit) - (* pb: print_all should take a formatter as argument *) - print_all +let get = get +let print_all = print_all (* ************************************************************************** *) (* Main *) diff --git a/src/plugins/pdg_types/pdgTypes.ml b/src/plugins/pdg_types/pdgTypes.ml index afbaaced4783c835beed71eb744ce1d972674fdd..0618c1e4bcb34020ea772071d4db3b2d624e8ffa 100644 --- a/src/plugins/pdg_types/pdgTypes.ml +++ b/src/plugins/pdg_types/pdgTypes.ml @@ -80,8 +80,6 @@ end let pretty = print_id let rehash = Datatype.identity let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) : Datatype.S_with_collections with type t := t) diff --git a/src/plugins/print_api/print_interface.ml b/src/plugins/print_api/print_interface.ml index 51e2949bd621997395bbb3cb64725a1cdb4cb4eb..5e38cda7e38e1aabd56a31996018080b0260388f 100644 --- a/src/plugins/print_api/print_interface.ml +++ b/src/plugins/print_api/print_interface.ml @@ -362,7 +362,6 @@ let print = It takes the path where to create this file as an argument." ~plugin:"Print_api" "run" - ~journalize:true (Datatype.func Datatype.string Datatype.unit) print diff --git a/src/plugins/qed/.gitattributes b/src/plugins/qed/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..dae65a33b405a5d049d491de7d2383f21cf79ae1 --- /dev/null +++ b/src/plugins/qed/.gitattributes @@ -0,0 +1,8 @@ +*.ml header_spec=CEA_WP +*.mli header_spec=CEA_WP +*.mll header_spec=CEA_WP + +configure.ac header_spec=CEA_WP + +Makefile header_spec=CEA_WP +Makefile.in header_spec=CEA_WP diff --git a/src/plugins/qed/Makefile b/src/plugins/qed/Makefile index 1e228735cfdbda735e556a1f34cd89d87b909053..873a5f150ab8c404495b75ace852464303a0796c 100644 --- a/src/plugins/qed/Makefile +++ b/src/plugins/qed/Makefile @@ -25,10 +25,10 @@ # -------------------------------------------------------------------------- ifndef FRAMAC_SHARE -FRAMAC_SHARE :=$(shell frama-c -journal-disable -print-path) +FRAMAC_SHARE :=$(shell frama-c -print-path) endif ifndef FRAMAC_LIBDIR -FRAMAC_LIBDIR :=$(shell frama-c -journal-disable -print-libpath) +FRAMAC_LIBDIR :=$(shell frama-c -print-libpath) endif PLUGIN_DIR ?=. diff --git a/src/plugins/report/csv.ml b/src/plugins/report/csv.ml index 2ed83a86b0a0f81a85364ad77bcfccf153d44a4b..f38d3827e8c69d7bf1c2ff430ad7b5e8ee625e6b 100644 --- a/src/plugins/report/csv.ml +++ b/src/plugins/report/csv.ml @@ -88,7 +88,6 @@ let output file = let print_csv = Dynamic.register ~plugin:"Report" - ~journalize:true "print_csv" (Datatype.func Datatype.string Datatype.unit) output diff --git a/src/plugins/report/register.ml b/src/plugins/report/register.ml index 7c1388c121a55c9a0e105573b52e9022b71dbbc0..50da909d0040d34c73cf47824a9f4cb73bf56159 100644 --- a/src/plugins/report/register.ml +++ b/src/plugins/report/register.ml @@ -31,7 +31,6 @@ let print () = let print = Dynamic.register ~plugin:"Report" - ~journalize:true "print" (Datatype.func Datatype.unit Datatype.unit) print diff --git a/src/plugins/rte/register.ml b/src/plugins/rte/register.ml index f1bb9f659395303290045c7132f16e4d2d08d656..12af98e3b6dcb4ed74098961dd63be4c80a2e86b 100644 --- a/src/plugins/rte/register.ml +++ b/src/plugins/rte/register.ml @@ -56,49 +56,40 @@ let compute () = Globals.Functions.iter (fun kf -> if include_function kf then !Db.RteGen.annotate_kf kf) - -(* journal utilities *) - -let journal_register ?comment is_dyn name ty_arg fctref fct = - let ty = Datatype.func ty_arg Datatype.unit in - Db.register (Db.Journalize("RteGen." ^ name, ty)) fctref fct; - if is_dyn then - let _ignore = - Dynamic.register ?comment ~plugin:"RteGen" name ty ~journalize:true fct - in - () - -let nojournal_register fctref fct = - Db.register Db.Journalization_not_required fctref (fun () -> fct) - let () = - journal_register false - "annotate_kf" Kernel_function.ty Db.RteGen.annotate_kf Visit.annotate; - journal_register false "compute" Datatype.unit Db.RteGen.compute compute; - journal_register true - ~comment:"Generate all RTE annotations in the \ - given function." - "do_all_rte" Kernel_function.ty Db.RteGen.do_all_rte do_all_rte; - journal_register false - ~comment:"Generate all RTE annotations except pre-conditions \ - in the given function." - "do_rte" Kernel_function.ty Db.RteGen.do_rte do_rte; + Db.register Db.RteGen.annotate_kf Visit.annotate; + Db.register Db.RteGen.compute compute; + Db.register Db.RteGen.do_rte do_rte; + + Db.register Db.RteGen.do_all_rte do_all_rte; + let _ignore = + Dynamic.register + ~comment:"Generate all RTE annotations in the given function." + ~plugin:"RteGen" + "do_all_rte" + (Datatype.func Kernel_function.ty Datatype.unit) + do_all_rte + in + let open Generator in let open Db.RteGen in - nojournal_register get_signedOv_status Signed_overflow.accessor; - nojournal_register get_divMod_status Div_mod.accessor; - nojournal_register get_initialized_status Initialized.accessor; - nojournal_register get_signed_downCast_status Signed_downcast.accessor; - nojournal_register get_memAccess_status Mem_access.accessor; - nojournal_register get_pointerCall_status Pointer_call.accessor; - nojournal_register get_unsignedOv_status Unsigned_overflow.accessor; - nojournal_register get_unsignedDownCast_status Unsigned_downcast.accessor; - nojournal_register get_pointer_downcast_status Pointer_downcast.accessor; - nojournal_register get_float_to_int_status Float_to_int.accessor; - nojournal_register get_finite_float_status Finite_float.accessor; - nojournal_register get_pointer_value_status Pointer_value.accessor; - nojournal_register get_bool_value_status Bool_value.accessor ; - nojournal_register get_all_status all_statuses; + let register_getter fctref fct = + Db.register fctref (fun () -> fct) + in + register_getter get_signedOv_status Signed_overflow.accessor; + register_getter get_divMod_status Div_mod.accessor; + register_getter get_initialized_status Initialized.accessor; + register_getter get_signed_downCast_status Signed_downcast.accessor; + register_getter get_memAccess_status Mem_access.accessor; + register_getter get_pointerCall_status Pointer_call.accessor; + register_getter get_unsignedOv_status Unsigned_overflow.accessor; + register_getter get_unsignedDownCast_status Unsigned_downcast.accessor; + register_getter get_pointer_downcast_status Pointer_downcast.accessor; + register_getter get_float_to_int_status Float_to_int.accessor; + register_getter get_finite_float_status Finite_float.accessor; + register_getter get_pointer_value_status Pointer_value.accessor; + register_getter get_bool_value_status Bool_value.accessor ; + register_getter get_all_status all_statuses; ;; (* dynamic registration *) @@ -109,7 +100,6 @@ let _ = ~plugin:"RteGen" "emitter" Emitter.ty - ~journalize:false Generator.emitter (* retrieve list of generated rte annotations for a given stmt *) @@ -122,7 +112,6 @@ let _ignore = (Datatype.func Cil_datatype.Stmt.ty (let module L = Datatype.List(Cil_datatype.Code_annotation) in L.ty)) - ~journalize:true Generator.get_registered_annotations let _ignore = @@ -133,7 +122,6 @@ let _ignore = "stmt_annotations" (Datatype.func2 Kernel_function.ty Cil_datatype.Stmt.ty (let module L = Datatype.List(Cil_datatype.Code_annotation) in L.ty)) - ~journalize:false Visit.get_annotations_stmt let _ignore = @@ -144,7 +132,6 @@ let _ignore = "exp_annotations" (Datatype.func3 Kernel_function.ty Cil_datatype.Stmt.ty Cil_datatype.Exp.ty (let module L = Datatype.List(Cil_datatype.Code_annotation) in L.ty)) - ~journalize:false Visit.get_annotations_exp let _ignore = @@ -153,7 +140,6 @@ let _ignore = ~plugin:"RteGen" "all_statuses" Datatype.(list (triple string (func2 kf bool unit) (func kf bool))) - ~journalize:false Generator.all_statuses let main () = diff --git a/src/plugins/scope/datascope.ml b/src/plugins/scope/datascope.ml index 479ed60f40766d58b89b0f80a9f57b1c5ef50e40..571263696fd43639f7b508b5d6aef3f0785c5230 100644 --- a/src/plugins/scope/datascope.ml +++ b/src/plugins/scope/datascope.ml @@ -639,48 +639,9 @@ let rm_asserts () = CA_Map.iter aux to_be_removed end -let get_data_scope_at_stmt = - Journal.register - "Scope.Datascope.get_data_scope_at_stmt" - (Datatype.func3 - Kernel_function.ty - Cil_datatype.Stmt.ty - Cil_datatype.Lval.ty - (Datatype.pair - Cil_datatype.Stmt.Hptset.ty - (Datatype.pair Cil_datatype.Stmt.Hptset.ty - Cil_datatype.Stmt.Hptset.ty))) - get_data_scope_at_stmt - -let get_prop_scope_at_stmt = - Journal.register - "Scope.Datascope.get_prop_scope_at_stmt" - (Datatype.func3 - Kernel_function.ty - Cil_datatype.Stmt.ty - Cil_datatype.Code_annotation.ty - (Datatype.pair - (Cil_datatype.Stmt.Hptset.ty) - (Datatype.list Cil_datatype.Code_annotation.ty))) - get_prop_scope_at_stmt - -let check_asserts = - Journal.register - "Scope.Datascope.check_asserts" - (Datatype.func Datatype.unit (Datatype.list Cil_datatype.Code_annotation.ty)) - check_asserts - -let rm_asserts = - Journal.register - "Scope.Datascope.rm_asserts" - (Datatype.func Datatype.unit Datatype.unit) - rm_asserts let () = - Db.register - (Db.Journalize - ("Value.rm_asserts", Datatype.func Datatype.unit Datatype.unit)) - Db.Value.rm_asserts rm_asserts + Db.register Db.Value.rm_asserts rm_asserts let rm_asserts = Dynamic.register @@ -688,7 +649,6 @@ let rm_asserts = ~plugin:name "rm_asserts" Datatype.(func unit unit) - ~journalize:true rm_asserts (* diff --git a/src/plugins/scope/defs.ml b/src/plugins/scope/defs.ml index 5011918f24e5533ee5c2c2a578eb6ec135e7aab0..2e7fbdbdf8694c5424314143013f4681865576b5 100644 --- a/src/plugins/scope/defs.ml +++ b/src/plugins/scope/defs.ml @@ -225,22 +225,6 @@ let compute_with_def_type kf stmt lval = (*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*) -module D = Datatype.Option - (Datatype.Pair(Stmt.Hptset)(Datatype.Option(Locations.Zone))) - -module DT = Datatype.Option - (Datatype.Pair - (Stmt.Map.Make(Datatype.Pair(Datatype.Bool)(Datatype.Bool))) - (Datatype.Option(Locations.Zone))) - -let get_defs = - Journal.register - "Scope.Defs.get_defs" - (Datatype.func3 Kernel_function.ty Stmt.ty Lval.ty (D.ty)) - compute - -let get_defs_with_type = - Journal.register - "Scope.Defs.get_defs_with_type" - (Datatype.func3 Kernel_function.ty Stmt.ty Lval.ty (DT.ty)) - compute_with_def_type +let get_defs = compute + +let get_defs_with_type = compute_with_def_type diff --git a/src/plugins/security_slicing/components.ml b/src/plugins/security_slicing/components.ml index 7786adf110e9fb15a44296b8944471e838fee245..629fa05f3835588deac0848a4d24514a7f93b89f 100644 --- a/src/plugins/security_slicing/components.ml +++ b/src/plugins/security_slicing/components.ml @@ -734,7 +734,6 @@ end let register name arg = Dynamic.register - ~journalize:true ~plugin:"Security_slicing" name (Datatype.func Stmt.ty (Datatype.list Stmt.ty)) @@ -752,7 +751,6 @@ let impact_analysis = Dynamic.register ~plugin:"Security_slicing" "impact_analysis" - ~journalize:true (Datatype.func2 Kernel_function.ty Stmt.ty (Datatype.list Stmt.ty)) (Component.forward Component.Impact) @@ -841,7 +839,6 @@ let () = let get_component = Dynamic.register - ~journalize:true "Security.get_component" (Datatype.func Kernel_type.stmt (Datatype.list Kernel_type.stmt)) (fun s -> compute (); Components.find s) @@ -880,7 +877,6 @@ let slice ctrl = let slice = Dynamic.register "Security_slicing.slice" - ~journalize:true (Datatype.func Datatype.bool Project.ty) slice *) diff --git a/src/plugins/slicing/Slicing.ml.bak b/src/plugins/slicing/Slicing.ml.bak index 855c5ffd3816a7ebd091e61d9dccf2d93a11ac52..879455704b3b52de4e211adcb21e46c02ce52aa8 100644 --- a/src/plugins/slicing/Slicing.ml.bak +++ b/src/plugins/slicing/Slicing.ml.bak @@ -109,7 +109,7 @@ module Api:sig type t val dyn_t : t Type.t - (** For dynamic type checking and journalization. *) + (** For dynamic type checking. *) val make : data:bool -> addr:bool -> ctrl:bool -> t (** To construct a mark such as @@ -165,13 +165,13 @@ module Api:sig (** Internal selection. *) val dyn_t : t Type.t - (** For dynamic type checking and journalization. *) + (** For dynamic type checking. *) type set (** Set of colored selections. *) val dyn_set : set Type.t - (** For dynamic type checking and journalization. *) + (** For dynamic type checking. *) (** {3 Journalized selectors} *) @@ -264,8 +264,6 @@ module Api:sig kernel_function -> set) (** To select the annotations related to a function. *) - (** {3 Selectors that are not journalized} *) - val select_func_zone : (set -> Mark.t -> Locations.Zone.t -> kernel_function -> set) (** To select an output zone related to a function. *) @@ -306,7 +304,7 @@ module Api:sig - mark the node with a spare_mark and propagate so that the dependencies that were not selected yet will be marked spare. *) - (** {3 Not for casual users and not journalized} *) + (** {3 Not for casual users} *) val get_function : t -> kernel_function (** May be used to get the function related to an internal selection. *) @@ -410,7 +408,7 @@ module Api:sig (** Abstract data type for function slice. *) val dyn_t : t Type.t - (** For dynamic type checking and journalization. *) + (** For dynamic type checking. *) val create : kernel_function -> t (** Used to get an empty slice (nothing selected) related to a @@ -497,7 +495,7 @@ module Api:sig val add_persistent_cmdline : unit -> unit (** Add persistent selection from the command line. *) - (** {3 Not for casual users and not journalized} *) + (** {3 Not for casual users} *) val add_slice_selection_internal:Slice.t -> Select.t -> unit (** May be used to add a selection request for a function slice diff --git a/src/plugins/slicing/api.ml b/src/plugins/slicing/api.ml index 4f188601176098412d2a35e81ffbae854fbc8c2e..bdc35b91066fc7c4fca741519f497a7dfdd21702 100644 --- a/src/plugins/slicing/api.ml +++ b/src/plugins/slicing/api.ml @@ -21,7 +21,6 @@ (**************************************************************************) open Cil_types -open Cil_datatype (* ---------------------------------------------------------------------- *) (** Global data management *) @@ -45,24 +44,12 @@ let self = SlicingState.self (* ---------------------------------------------------------------------- *) -(** {2 Functions with journalized side effects } *) - let set_modes calls callers sliceUndef keepAnnotations () = SlicingParameters.Mode.Calls.set calls ; SlicingParameters.Mode.Callers.set callers ; SlicingParameters.Mode.SliceUndef.set sliceUndef; SlicingParameters.Mode.KeepAnnotations.set keepAnnotations -let set_modes = - Journal.register "Slicing.Api.set_modes" - (Datatype.func4 - ~label1:("calls", None) Datatype.int - ~label2:("callers", None) Datatype.bool - ~label3:("sliceUndef", None) Datatype.bool - ~label4:("keepAnnotations", None) Datatype.bool - (Datatype.func - Datatype.unit - Datatype.unit)) - set_modes + let set_modes ?(calls=SlicingParameters.Mode.Calls.get ()) ?(callers=SlicingParameters.Mode.Callers.get ()) ?(sliceUndef=SlicingParameters.Mode.SliceUndef.get ()) @@ -78,49 +65,16 @@ module Project = struct (** {2 Values } *) let default_slice_names = SlicingTransform.default_slice_names - let () = - Journal.Binding.add - (Datatype.func3 - Kernel_function.ty Datatype.bool Datatype.int Datatype.string) - default_slice_names - "Slicing.Api.Project.default_slice_names" - - (** {2 Functions with journalized side effects } *) - - let reset_slicing = Journal.register "Slicing.Api.Project.reset_slicing" - (Datatype.func Datatype.unit Datatype.unit) - SlicingState.reset_slicing - - let extract f_slice_names = SlicingTransform.extract ~f_slice_names - let extract = Journal.register "Slicing.Api.Project.extract" - (Datatype.func2 - ~label1:("f_slice_names", - Some (fun () -> default_slice_names)) - (Datatype.func3 - Kernel_function.ty Datatype.bool Datatype.int Datatype.string) - Datatype.string - Project.ty) - extract + + let reset_slicing = SlicingState.reset_slicing + let extract ?(f_slice_names=default_slice_names) new_proj_name = - extract f_slice_names new_proj_name - - let print_dot = PrintSlice.build_dot_project - let print_dot = Journal.register "Slicing.Api.Project.print_dot" - (Datatype.func2 - ~label1:("filename", None) Datatype.string - ~label2:("title", None) Datatype.string - Datatype.unit) - print_dot + SlicingTransform.extract ~f_slice_names new_proj_name + let print_dot ~filename ~title = - print_dot filename title + PrintSlice.build_dot_project filename title - let change_slicing_level = - Journal.register "Slicing.Api.Project.change_slicing_level" - (Datatype.func2 - Kernel_function.ty - Datatype.int - Datatype.unit) - SlicingMacros.change_slicing_level + let change_slicing_level = SlicingMacros.change_slicing_level (** {2 No needs of Journalization} *) @@ -162,195 +116,15 @@ module Select = struct type t = SlicingTypes.sl_select let dyn_t = SlicingTypes.Sl_select.ty - type set = SlicingCmds.set + module S = Cil_datatype.Varinfo.Map.Make(SlicingTypes.Fct_user_crit) let dyn_set = S.ty - (** {2 Journalized selectors } *) - - let empty_selects = Journal.register - "Slicing.Api.Select.empty_selects" - dyn_set - Cil_datatype.Varinfo.Map.empty - - let select_stmt set spare = SlicingCmds.select_stmt set ~spare - let select_stmt = Journal.register "Slicing.Api.Select.select_stmt" - (Datatype.func4 - dyn_set - ~label2:("spare", None) Datatype.bool - Stmt.ty - Kernel_function.ty - dyn_set) - select_stmt - let select_stmt set ~spare = - select_stmt set spare - - let select_stmt_ctrl set spare = SlicingCmds.select_stmt_ctrl set ~spare - let select_stmt_ctrl = Journal.register "Slicing.Api.Select.select_stmt_ctrl" - (Datatype.func4 - dyn_set - ~label2:("spare", None) Datatype.bool - Stmt.ty - Kernel_function.ty - dyn_set) - select_stmt_ctrl - let select_stmt_ctrl set ~spare = - select_stmt_ctrl set spare - - let select_stmt_lval_rw set mark rd wr stmt eval = - SlicingCmds.select_stmt_lval_rw set mark ~rd ~wr stmt ~eval - let select_stmt_lval_rw = Journal.register - "Slicing.ApiSelect.select_stmt_lval_rw" - (Datatype.func4 - dyn_set - SlicingTypes.dyn_sl_mark - ~label3:("rd", None) Datatype.String.Set.ty - ~label4:("wr", None) Datatype.String.Set.ty - (Datatype.func3 - Stmt.ty - ~label2:("eval", None) Stmt.ty - Kernel_function.ty - dyn_set)) - select_stmt_lval_rw - let select_stmt_lval_rw set mark ~rd ~wr stmt ~eval = - select_stmt_lval_rw set mark rd wr stmt eval - - let select_stmt_lval set mark lval before stmt eval = - SlicingCmds.select_stmt_lval set mark lval ~before stmt ~eval - let select_stmt_lval = Journal.register "Slicing.Api.Select.select_stmt_lval" - (Datatype.func4 - dyn_set - Mark.dyn_t - Datatype.String.Set.ty - ~label4:("before", None) Datatype.bool - (Datatype.func3 - Stmt.ty - ~label2:("eval", None) Stmt.ty - Kernel_function.ty - dyn_set)) - select_stmt_lval - let select_stmt_lval set mark lval ~before stmt ~eval = - select_stmt_lval set mark lval before stmt eval - - let select_stmt_annots set mark spare threat user_assert slicing_pragma loop_inv loop_var = - SlicingCmds.select_stmt_annots set mark ~spare ~threat ~user_assert ~slicing_pragma ~loop_inv ~loop_var - let select_stmt_annots = Journal.register - "Slicing.Api.Select.select_stmt_annots" - (Datatype.func4 - dyn_set - Mark.dyn_t - ~label3:("spare", None) Datatype.bool - ~label4:("threat", None) Datatype.bool - (Datatype.func4 - ~label1:("user_assert", None) Datatype.bool - ~label2:("slicing_pragma", None) Datatype.bool - ~label3:("loop_inv", None) Datatype.bool - ~label4:("loop_var", None) Datatype.bool - (Datatype.func2 - Stmt.ty - Kernel_function.ty - dyn_set))) - select_stmt_annots - let select_stmt_annots set mark ~spare ~threat ~user_assert ~slicing_pragma ~loop_inv ~loop_var = - select_stmt_annots set mark spare threat user_assert slicing_pragma loop_inv loop_var - - let select_func_lval = Journal.register "Slicing.Api.Select.select_func_lval" - (Datatype.func4 - dyn_set - Mark.dyn_t - Datatype.String.Set.ty - Kernel_function.ty - dyn_set) - SlicingCmds.select_func_lval - - let select_func_lval_rw set mark rd wr eval = - SlicingCmds.select_func_lval_rw set mark ~rd ~wr ~eval - let select_func_lval_rw = Journal.register - "Slicing.Api.Select.select_func_lval_rw" - (Datatype.func4 - dyn_set - Mark.dyn_t - ~label3:("rd", None) Datatype.String.Set.ty - ~label4:("wr", None) Datatype.String.Set.ty - (Datatype.func2 - ~label1:("eval", None) Stmt.ty - Kernel_function.ty - dyn_set)) - select_func_lval_rw - let select_func_lval_rw set mark ~rd ~wr ~eval = - select_func_lval_rw set mark rd wr eval - - let select_func_return set spare = - SlicingCmds.select_func_return set ~spare - let select_func_return = Journal.register - "Slicing.Api.Select.select_func_return" - (Datatype.func3 - dyn_set - ~label2:("spare", None) Datatype.bool - Kernel_function.ty - dyn_set) - select_func_return - let select_func_return set ~spare = select_func_return set spare - - let select_func_calls_to set spare = - SlicingCmds.select_func_calls_to set ~spare - let select_func_calls_to = Journal.register - "Slicing.Api.Select.select_func_calls_to" - (Datatype.func3 - dyn_set - ~label2:("spare", None) Datatype.bool - Kernel_function.ty - dyn_set) - select_func_calls_to - let select_func_calls_to set ~spare = - select_func_calls_to set spare - - let select_func_calls_into set spare = - SlicingCmds.select_func_calls_into set ~spare - let select_func_calls_into = Journal.register - "Slicing.Api.Select.select_func_calls_into" - (Datatype.func3 - dyn_set - ~label2:("spare", None) Datatype.bool - Kernel_function.ty - dyn_set) - select_func_calls_into - let select_func_calls_into set ~spare = - select_func_calls_into set spare - - let select_func_annots set mark spare threat user_assert slicing_pragma loop_inv loop_var = - SlicingCmds.select_func_annots set mark ~spare ~threat ~user_assert ~slicing_pragma ~loop_inv ~loop_var - let select_func_annots = Journal.register - "Slicing.Api.Select.select_func_annots" - (Datatype.func4 - dyn_set - Mark.dyn_t - ~label3:("spare", None) Datatype.bool - ~label4:("threat", None) Datatype.bool - (Datatype.func4 - ~label1:("user_assert", None) Datatype.bool - ~label2:("slicing_pragma", None) Datatype.bool - ~label3:("loop_inv", None) Datatype.bool - ~label4:("loop_var", None) Datatype.bool - (Datatype.func Kernel_function.ty dyn_set))) - select_func_annots - let select_func_annots set mark ~spare ~threat ~user_assert ~slicing_pragma ~loop_inv ~loop_var = - select_func_annots set mark spare threat user_assert slicing_pragma loop_inv loop_var - - (** {2 No Journalization} *) - - let select_func_zone = SlicingCmds.select_func_zone - let select_stmt_term = SlicingCmds.select_stmt_term - let select_stmt_pred = SlicingCmds.select_stmt_pred - let select_stmt_annot = SlicingCmds.select_stmt_annot - let select_stmt_zone = SlicingCmds.select_stmt_zone - - let select_pdg_nodes = SlicingCmds.select_pdg_nodes - - (** {2 No Journalization} *) - - let get_function = SlicingCmds.get_select_kf - let merge_internal = SlicingSelect.merge_db_select + let empty_selects = Cil_datatype.Varinfo.Map.empty + + include SlicingCmds + let get_function = get_select_kf + let merge_internal = SlicingSelect.merge_db_select let add_to_selects_internal = SlicingSelect.Selections.add_to_selects let iter_selects_internal = SlicingSelect.Selections.iter_selects_internal let fold_selects_internal = SlicingSelect.Selections.fold_selects_internal @@ -381,22 +155,14 @@ module Slice = struct type t = SlicingTypes.sl_fct_slice let dyn_t = SlicingTypes.dyn_sl_fct_slice - (** {2 Functions with journalized side effects } *) - let create = - Journal.register "Slicing.Api.Slice.create" - (Datatype.func Kernel_function.ty dyn_t) - SlicingProject.create_slice + SlicingProject.create_slice let remove = - Journal.register "Slicing.Api.Slice.remove" - (Datatype.func dyn_t Datatype.unit) - SlicingProject.remove_ff + SlicingProject.remove_ff let remove_uncalled = - Journal.register "Slicing.Api.Slice.remove_uncalled" - (Datatype.func Datatype.unit Datatype.unit) - SlicingProject.remove_uncalled_slices + SlicingProject.remove_uncalled_slices (** {2 No needs of Journalization} *) @@ -454,108 +220,50 @@ end (** {1 Slicing request} *) module Request = struct - (** {2 Functions with journalized side effects } *) - let apply_all propagate_to_callers = SlicingCmds.apply_all ~propagate_to_callers - let apply_all = Journal.register "Slicing.Api.Request.apply_all" - (Datatype.func - ~label:("propagate_to_callers", None) Datatype.bool - Datatype.unit) - apply_all let apply_all ~propagate_to_callers = apply_all propagate_to_callers let apply_all_internal = - Journal.register "Slicing.Api.Request.apply_all_internal" - (Datatype.func Datatype.unit Datatype.unit) - SlicingCmds.apply_all_actions + SlicingCmds.apply_all_actions let apply_next_internal = - Journal.register "Slicing.Api.Request.apply_next_internal" - (Datatype.func Datatype.unit Datatype.unit) - SlicingCmds.apply_next_action + SlicingCmds.apply_next_action let propagate_user_marks = - Journal.register "Slicing.Api.Request.propagate_user_marks" - (Datatype.func Datatype.unit Datatype.unit) - SlicingCmds.topologic_propagation - - let copy_slice = Journal.register "Slicing.Api.Request.copy_slice" - (Datatype.func - Slice.dyn_t - Slice.dyn_t) - copy_slice - - let split_slice = Journal.register "Slicing.Api.Request.split_slice" - (Datatype.func - Slice.dyn_t - (Datatype.list Slice.dyn_t)) - split_slice - - let merge_slices ff_1 ff_2 replace = - merge_slices ff_1 ff_2 ~replace - let merge_slices = Journal.register "Slicing.Api.Request.merge_slices" - (Datatype.func3 - Slice.dyn_t - Slice.dyn_t - ~label3:("replace", None) Datatype.bool - Slice.dyn_t) - merge_slices + SlicingCmds.topologic_propagation + + let copy_slice = copy_slice + + let split_slice = split_slice + let merge_slices ff_1 ff_2 ~replace = - merge_slices ff_1 ff_2 replace + merge_slices ff_1 ff_2 ~replace let add_call_slice caller to_call = SlicingSelect.call_ff_in_caller ~caller ~to_call - let add_call_slice = - Journal.register "Slicing.Api.Request.add_call_slice" - (Datatype.func2 - ~label1:("caller", None) Slice.dyn_t - ~label2:("to_call", None) Slice.dyn_t - Datatype.unit) - add_call_slice let add_call_slice ~caller ~to_call = add_call_slice caller to_call let add_call_fun caller to_call = SlicingSelect.call_fsrc_in_caller ~caller ~to_call - let add_call_fun = - Journal.register "Slicing.Api.Request.add_call_fun" - (Datatype.func2 - ~label1:("caller", None) Slice.dyn_t - ~label2:("to_call", None) Kernel_function.ty - Datatype.unit) - add_call_fun let add_call_fun ~caller ~to_call = add_call_fun caller to_call let add_call_min_fun caller to_call = SlicingSelect.call_min_f_in_caller ~caller ~to_call - let add_call_min_fun = - Journal.register "Slicing.Api.Request.add_call_min_fun" - (Datatype.func2 - ~label1:("caller", None) Slice.dyn_t - ~label2:("to_call", None) Kernel_function.ty - Datatype.unit) - add_call_min_fun let add_call_min_fun ~caller ~to_call = add_call_min_fun caller to_call - let add_selection = Journal.register "Slicing.Request.add_selection" - (Datatype.func - Select.dyn_set Datatype.unit) - SlicingCmds.add_selection + let add_selection = + SlicingCmds.add_selection let add_persistent_selection = - Journal.register "Slicing.Request.add_persistent_selection" - (Datatype.func - Select.dyn_set Datatype.unit) - SlicingCmds.add_persistent_selection + SlicingCmds.add_persistent_selection let add_persistent_cmdline = - Journal.register "Slicing.Request.add_persistent_cmdline" - (Datatype.func Datatype.unit Datatype.unit) - SlicingCmds.add_persistent_cmdline + SlicingCmds.add_persistent_cmdline (** {2 No needs of Journalization} *) diff --git a/src/plugins/slicing/api.mli b/src/plugins/slicing/api.mli index b489bb90605a8bc465dc42b3ac37f82ca83ed428..2a0af61952fbb5e2b4ef8ed5550aed059a351773 100644 --- a/src/plugins/slicing/api.mli +++ b/src/plugins/slicing/api.mli @@ -28,8 +28,6 @@ val self : State.t (* ---------------------------------------------------------------------- *) -(** {2 Functions with journalized side effects } *) - (** Set the used slicing modes. *) val set_modes : ?calls:SlicingParameters.Mode.Calls.t -> @@ -42,8 +40,6 @@ val set_modes : (** {1 Slicing project management.} *) module Project : sig - (** {2 Functions with journalized side effects } *) - (** Init/reset a slicing project. *) val reset_slicing : unit -> unit @@ -102,7 +98,7 @@ module Mark : sig (** Abstract data type for mark value. *) type t = SlicingTypes.sl_mark - (** For dynamic type checking and journalization. *) + (** For dynamic type checking. *) val dyn_t : t Type.t (** {2 No needs of Journalization} *) @@ -158,13 +154,13 @@ module Select : sig (** Internal selection. *) type t = SlicingTypes.sl_select - (** For dynamic type checking and journalization. *) + (** For dynamic type checking. *) val dyn_t : t Type.t (** Set of colored selections. *) type set = SlicingCmds.set - (** For dynamic type checking and journalization. *) + (** For dynamic type checking. *) val dyn_set : set Type.t (** {2 Selectors.} *) @@ -429,8 +425,6 @@ module Slice : sig type t = SlicingTypes.sl_fct_slice val dyn_t : t Type.t - (** {2 Functions with journalized side effects } *) - val create : Cil_types.kernel_function -> t val remove : t -> unit @@ -474,8 +468,6 @@ end (** {1 Slicing request} *) module Request : sig - (** {2 Functions with journalized side effects } *) - val apply_all : propagate_to_callers:bool -> unit val apply_all_internal : unit -> unit diff --git a/src/plugins/slicing/slicingInternals.ml b/src/plugins/slicing/slicingInternals.ml index 849167e818a6e85c001f7a2a84a342583d24898c..4169f6937d3d208c157d24e958faf9d96b4aea93 100644 --- a/src/plugins/slicing/slicingInternals.ml +++ b/src/plugins/slicing/slicingInternals.ml @@ -206,7 +206,7 @@ and criterion = (** {2 Internals values} *) -(** {3 For the journalization of these internals types} *) +(** {3 For the datatypes of these internals types} *) let dummy_pdg_mark = {m1 = Spare ; m2 = Spare } (** The whole project. *) diff --git a/src/plugins/slicing/slicingInternals.mli b/src/plugins/slicing/slicingInternals.mli index e7e9074c4f76f3f46dde2de8ee60591b0164c680..0e6dc51a49ccfd353bbe3d0e3c6729e68a48eb96 100644 --- a/src/plugins/slicing/slicingInternals.mli +++ b/src/plugins/slicing/slicingInternals.mli @@ -194,7 +194,7 @@ and criterion = (** {2 Internals values} *) -(** {3 For the journalization of these internals types} *) +(** {3 For the datatypes of these internals types} *) val dummy_pdg_mark : pdg_mark diff --git a/src/plugins/slicing/slicingTypes.ml b/src/plugins/slicing/slicingTypes.ml index f7aec3942446d5c1085b06b1c40b82f132023dbb..343d08a8f13a70053957f7cbb3de2133a0394a8c 100644 --- a/src/plugins/slicing/slicingTypes.ml +++ b/src/plugins/slicing/slicingTypes.ml @@ -65,7 +65,6 @@ module Fct_user_crit = let reprs = [ SlicingInternals.dummy_fct_user_crit ] let name = "SlicingTypes.Fct_user_crit" let mem_project = Datatype.never_any_project - let varname _ = "user_criteria" end) (** Function slice *) @@ -74,8 +73,6 @@ type sl_fct_slice = SlicingInternals.fct_slice (** Marks : used to put 'colors' in the result *) type sl_mark = SlicingInternals.pdg_mark -(** {3 For the journalization of values of these types} *) - let pp_sl_project p_caller fmt _p = let pp fmt = Format.fprintf fmt @@ -90,8 +87,6 @@ module Sl_project = type t = sl_project let reprs = [ SlicingInternals.dummy_project ] let name = "SlicingTypes.Sl_project" - let internal_pretty_code = pp_sl_project - let varname _s = "sl_project_" let mem_project = Datatype.never_any_project end) @@ -105,7 +100,6 @@ module Sl_select = (fun v -> v, SlicingInternals.dummy_fct_user_crit) Cil_datatype.Varinfo.reprs let name = "SlicingTypes.Sl_select" - let varname _s = "sl_select" let mem_project = Datatype.never_any_project end) @@ -113,7 +107,7 @@ let pp_sl_fct_slice p_caller fmt ff = let pp fmt = Format.fprintf fmt "@[<hv 2>!Db.Slicing.Slice.from_num_id@;%a@;%d@]" - (Kernel_function.internal_pretty_code Type.Call) + Kernel_function.pretty ff.SlicingInternals.ff_fct.SlicingInternals.fi_kf ff.SlicingInternals.ff_id in @@ -127,13 +121,12 @@ module Sl_fct_slice = type t = fct_slice let name = "SlicingTypes.Sl_fct_slice" let reprs = [ dummy_fct_slice ] - let internal_pretty_code = pp_sl_fct_slice let mem_project = Datatype.never_any_project end) let dyn_sl_fct_slice = Sl_fct_slice.ty -let pp_sl_mark p fmt m = +let pp_sl_mark fmt m = let pp = match m.SlicingInternals.m1, m.SlicingInternals.m2 with | SlicingInternals.Spare, _ -> None | _, SlicingInternals.Spare -> None @@ -163,7 +156,7 @@ let pp_sl_mark p fmt m = fun fmt -> Format.fprintf fmt "@[<hv 2>SlicingInternals.create_sl_mark@;~m1:%a@;~m2:%a@]" pp m.SlicingInternals.m1 pp m.SlicingInternals.m2 - in Type.par p Type.Call fmt pp + in pp fmt module Sl_mark = Datatype.Make_with_collections @@ -177,10 +170,8 @@ module Sl_mark = let hash = Hashtbl.hash let copy = Datatype.undefined let rehash = Datatype.undefined - let internal_pretty_code = pp_sl_mark - let pretty = Datatype.from_pretty_code + let pretty = pp_sl_mark let mem_project = Datatype.never_any_project - let varname = Datatype.undefined end) let dyn_sl_mark = Sl_mark.ty diff --git a/src/plugins/slicing/slicingTypes.mli b/src/plugins/slicing/slicingTypes.mli index fa1b7086ea0894379223e283aeebab93f1db5a51..9f8fd66d1779e3fd1b53de195a08b4b7eef5171f 100644 --- a/src/plugins/slicing/slicingTypes.mli +++ b/src/plugins/slicing/slicingTypes.mli @@ -65,8 +65,6 @@ type sl_fct_slice = SlicingInternals.fct_slice (** Marks : used to put 'colors' in the result *) type sl_mark = SlicingInternals.pdg_mark -(** {3 For the journalization of values of these types} *) - val pp_sl_project : Type.precedence -> Format.formatter -> 'a -> unit module Sl_project : Datatype.S with type t = sl_project @@ -80,9 +78,6 @@ module Sl_fct_slice : Datatype.S with type t = SlicingInternals.fct_slice val dyn_sl_fct_slice : Sl_fct_slice.t Type.t -val pp_sl_mark : - Type.precedence -> Format.formatter -> SlicingInternals.pdg_mark -> unit - module Sl_mark : Datatype.S_with_collections with type t = SlicingInternals.pdg_mark diff --git a/src/plugins/sparecode/register.ml b/src/plugins/sparecode/register.ml index f446712652869570f8f842ce390501f68b4e551d..b684d758b6bc1fcc216d63385568821a4f334c92 100644 --- a/src/plugins/sparecode/register.ml +++ b/src/plugins/sparecode/register.ml @@ -49,28 +49,16 @@ module P = Sparecode_params (** {2 State_builder} *) -let unjournalized_rm_unused_globals new_proj_name project = - P.feedback "remove unused global declarations from project '%s'" - (Project.get_name project); - P.result "removed unused global declarations in new project '%s'" new_proj_name; - Project.on project Globs.rm_unused_decl new_proj_name - -let journalized_rm_unused_globals = - Journal.register - "Sparecode.Register.rm_unused_globals" - (Datatype.func2 - ~label1:("new_proj_name", None) Datatype.string - ~label2:("project", Some Project.current) Project.ty - Project.ty) - unjournalized_rm_unused_globals - let rm_unused_globals ?new_proj_name ?(project=Project.current ()) () = let new_proj_name = match new_proj_name with | Some name -> name | None -> (Project.get_name project)^ " (without unused globals)" in - journalized_rm_unused_globals new_proj_name project + P.feedback "remove unused global declarations from project '%s'" + (Project.get_name project); + P.result "removed unused global declarations in new project '%s'" new_proj_name; + Project.on project Globs.rm_unused_decl new_proj_name let run select_annot select_slice_pragma = P.feedback "remove unused code..."; @@ -93,21 +81,10 @@ let run select_annot select_slice_pragma = Project.copy ~selection:ctx new_prj; new_prj -let journalized_get = - Journal.register - "Sparecode.Register.get" - (Datatype.func2 - ~label1:("select_annot", None) Datatype.bool - ~label2:("select_slice_pragma", None) Datatype.bool - Project.ty) - (fun select_annot select_slice_pragma -> - Result.memo - (fun _ -> run select_annot select_slice_pragma) - (select_annot, select_slice_pragma)) - -(* add labels *) let get ~select_annot ~select_slice_pragma = - journalized_get select_annot select_slice_pragma + Result.memo + (fun _ -> run select_annot select_slice_pragma) + (select_annot, select_slice_pragma) let main () = if Sparecode_params.Analysis.get () then begin diff --git a/src/plugins/users/users_register.ml b/src/plugins/users/users_register.ml index 7dbed34009667141240597e93f6d7b7036ef55dd..b9562e8e79d98789254c6b14f4bf6b987d0bf92e 100644 --- a/src/plugins/users/users_register.ml +++ b/src/plugins/users/users_register.ml @@ -93,12 +93,6 @@ let get kf = find kf end -let get = - Journal.register - "Users.get" - (Datatype.func Kernel_function.ty Kernel_function.Hptset.ty) - get - let print () = if ForceUsers.get () then result "@[<v>====== DISPLAYING USERS ======@ %t\ diff --git a/src/plugins/value/.gitattributes b/src/plugins/value/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..e62b79b9279d0dae86ee89c3782e8600365bb619 --- /dev/null +++ b/src/plugins/value/.gitattributes @@ -0,0 +1,6 @@ +######################## +# HEADER_SPEC: .ignore # +######################## + +/Changelog_non_free header_spec=.ignore +/legacy/TOREMOVE header_spec=.ignore diff --git a/src/plugins/value/engine/analysis.ml b/src/plugins/value/engine/analysis.ml index 11e429d42db8d613075e2221437624747db08395..2b63e58b9f02008b7c7a865bc8a44dc2e540140a 100644 --- a/src/plugins/value/engine/analysis.ml +++ b/src/plugins/value/engine/analysis.ml @@ -226,8 +226,7 @@ let compute () = let compute = let name = "Eva.Analysis.compute" in - let f = Journal.register name Datatype.(func unit unit) compute in - fst (State_builder.apply_once name [ Self.state ] f) + fst (State_builder.apply_once name [ Self.state ] compute) (* Resets the Analyzer when the current project is changed. *) let () = diff --git a/src/plugins/value/gen-api.sh b/src/plugins/value/gen-api.sh index ba77beceaeaacaee5258aa42d7aafcef744b3371..2db172e0d9f40f262399628d5a9bd17866b46ae4 100755 --- a/src/plugins/value/gen-api.sh +++ b/src/plugins/value/gen-api.sh @@ -1,4 +1,26 @@ #!/usr/bin/env bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + set -eu dir=$(dirname $0) diff --git a/src/plugins/value/gen_test_config.sh b/src/plugins/value/gen_test_config.sh index b1085f0868634319e144ef3549f4518e100638ca..7d2f84316e0bf62436771e4f0af36314a427f049 100755 --- a/src/plugins/value/gen_test_config.sh +++ b/src/plugins/value/gen_test_config.sh @@ -1,4 +1,25 @@ #!/bin/bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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 scripts creates the ptests config files for the alternative testing # configurations of Eva. You must create the tests/test_config and diff --git a/src/plugins/value/gui_files/gui_callstacks_filters.ml b/src/plugins/value/gui_files/gui_callstacks_filters.ml index 6c8486e8d674f3c033bfd079851c29d30addff7c..2da98a86a74e4e4591ccf43ac50cbd9df9ca3047 100644 --- a/src/plugins/value/gui_files/gui_callstacks_filters.ml +++ b/src/plugins/value/gui_files/gui_callstacks_filters.ml @@ -137,13 +137,13 @@ let () = ~comment:"Evaluation of a l-value on the callstacks focused in the GUI" ~plugin:"Value" "lval_to_zone_gui" (Datatype.func2 Stmt.ty Lval.ty Locations.Zone.ty) - ~journalize:false lval_to_zone_gui + lval_to_zone_gui in let _eval_tlv = Dynamic.register ~comment:"Evaluation of a term, supposed to be a location, on the callstacks focused in the GUI" ~plugin:"Value" "tlval_to_zone_gui" (Datatype.func2 Stmt.ty Term.ty Locations.Zone.ty) - ~journalize:false tlval_to_zone_gui + tlval_to_zone_gui in () diff --git a/src/plugins/value/partitioning/split_strategy.ml b/src/plugins/value/partitioning/split_strategy.ml index 33b8e743fd5d16fa920731f70e1ad17d317a23be..7c3c134055a3c6764fedab223454580c58a04802 100644 --- a/src/plugins/value/partitioning/split_strategy.ml +++ b/src/plugins/value/partitioning/split_strategy.ml @@ -57,7 +57,6 @@ include | SplitEqList l -> List.fold_left (fun acc i -> acc * 13 + 57 * Int.hash i) 1 l let copy = Datatype.identity - let internal_pretty_code = Datatype.undefined let pretty fmt = function | NoSplit -> Format.pp_print_string fmt "no split" | SplitAuto -> Format.pp_print_string fmt "auto split" @@ -65,7 +64,6 @@ include | SplitEqList l -> Format.fprintf fmt "Split on \\result == %a" (Pretty_utils.pp_list ~sep:",@ " Datatype.Integer.pretty) l - let varname _ = "v" let mem_project = Datatype.never_any_project end) diff --git a/src/plugins/value/test.assert.sh b/src/plugins/value/test.assert.sh index 38049b28c4c8d1e44620765127875b5d1773f8db..382cdce643d939134c587a687c763e82f261746c 100755 --- a/src/plugins/value/test.assert.sh +++ b/src/plugins/value/test.assert.sh @@ -1,4 +1,26 @@ #!/bin/bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + export GCC3264=-m32 export FRAMAC3264=x86_32 #export GCC3264= diff --git a/src/plugins/value/test.sh b/src/plugins/value/test.sh index 1c19540871f090abbdb78f4ee1c4eda1b8f15625..54e88f0a2fb5d1e336be131bdcfc4cd977e576f3 100755 --- a/src/plugins/value/test.sh +++ b/src/plugins/value/test.sh @@ -1,4 +1,26 @@ #!/bin/bash +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + export GCC3264=-m32 export FRAMAC3264=x86_32 #export GCC3264= diff --git a/src/plugins/value/test_config b/src/plugins/value/test_config deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/plugins/value/values/offsm_value.ml b/src/plugins/value/values/offsm_value.ml index 51399e2b4ac008502951e6f7ef380ed865846fab..556c2f74059fbd23cd95678c3ce0c285aa348d3a 100644 --- a/src/plugins/value/values/offsm_value.ml +++ b/src/plugins/value/values/offsm_value.ml @@ -372,11 +372,9 @@ module Datatype_Offsm_or_top = Datatype.Make_with_collections(struct | Top -> 7895 | O o -> V_Offsetmap.hash o let copy = Datatype.undefined - let internal_pretty_code = Datatype.undefined let pretty fmt = function | Top -> Format.pp_print_string fmt "TopO" | O o -> Format.fprintf fmt "O @[%a@]" V_Offsetmap.pretty o - let varname _ = "o" let mem_project = Datatype.never_any_project end) diff --git a/src/plugins/value/vtests b/src/plugins/value/vtests deleted file mode 100755 index 14cd7c69237386cfa4f64debc1346bb98744b315..0000000000000000000000000000000000000000 --- a/src/plugins/value/vtests +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -eu - -if [ -z ${TARGETS+x} ]; then - TARGETS="float value idct builtins" -fi -if [ -z ${CONFIGS+x} ]; then - CONFIGS="apron equality bitwise symblocs gauges octagon multidim" -fi -ARGS="${@-}" - -# has_target returns 0 if at least one of the arguments is a target -# (i.e. not an option such as "-j 8"). If so, do not run tests -# for all default targets, only for the specified target(s) -has_target=0 -# sets has_target=0 -function has_target() { - local __has_target=1 - for f in $@; do - __re="\\b$f\\b" # match argument as whole word - if [[ "$f" =~ \.[ci]$ || \ - ( "$f" =~ ^[A-Za-z] && "${TARGETS[@]}" =~ $__re ) ]]; then - __has_target=0 - fi - done - return $__has_target -} - -if has_target ${ARGS[@]}; then - TARGETS_AND_ARGS="${ARGS[@]}" -else - TARGETS_AND_ARGS="${TARGETS[@]} ${ARGS[@]}" -fi - -echo "CONFIGS: ${CONFIGS[@]}" -for config in ${CONFIGS[@]} -do - set -x - ./bin/ptests.opt -config $config ${TARGETS_AND_ARGS[@]} - { set +x; } 2>&- -done diff --git a/src/plugins/value/vtests.sh b/src/plugins/value/vtests.sh new file mode 100755 index 0000000000000000000000000000000000000000..0137eaf4c6a18eac0248af5f9d82b438bbf130ce --- /dev/null +++ b/src/plugins/value/vtests.sh @@ -0,0 +1,61 @@ +#!/bin/bash -eu +########################################################################## +# # +# This file is part of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# 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). # +# # +########################################################################## + +if [ -z ${TARGETS+x} ]; then + TARGETS="float value idct builtins" +fi +if [ -z ${CONFIGS+x} ]; then + CONFIGS="apron equality bitwise symblocs gauges octagon multidim" +fi +ARGS="${@-}" + +# has_target returns 0 if at least one of the arguments is a target +# (i.e. not an option such as "-j 8"). If so, do not run tests +# for all default targets, only for the specified target(s) +has_target=0 +# sets has_target=0 +function has_target() { + local __has_target=1 + for f in $@; do + __re="\\b$f\\b" # match argument as whole word + if [[ "$f" =~ \.[ci]$ || \ + ( "$f" =~ ^[A-Za-z] && "${TARGETS[@]}" =~ $__re ) ]]; then + __has_target=0 + fi + done + return $__has_target +} + +if has_target ${ARGS[@]}; then + TARGETS_AND_ARGS="${ARGS[@]}" +else + TARGETS_AND_ARGS="${TARGETS[@]} ${ARGS[@]}" +fi + +echo "CONFIGS: ${CONFIGS[@]}" +for config in ${CONFIGS[@]} +do + set -x + ./bin/ptests.opt -config $config ${TARGETS_AND_ARGS[@]} + { set +x; } 2>&- +done diff --git a/src/plugins/value_types/cvalue.ml b/src/plugins/value_types/cvalue.ml index 61fc238db742832bc5ad2a2a42e13f2acd0cfbb8..81499fcb019d20eff6a1d509133411602f532993 100644 --- a/src/plugins/value_types/cvalue.ml +++ b/src/plugins/value_types/cvalue.ml @@ -857,8 +857,6 @@ module V_Or_Uninitialized = struct let copy = Datatype.undefined let rehash = Datatype.identity let pretty = pretty - let internal_pretty_code = Datatype.undefined - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) : Datatype.S with type t := t) diff --git a/src/plugins/value_types/function_Froms.ml b/src/plugins/value_types/function_Froms.ml index dae6e569a3daee127b6787b0e120a77e630df317..f2399b16e49b2c03ed9cde711e01d1c173531187 100644 --- a/src/plugins/value_types/function_Froms.ml +++ b/src/plugins/value_types/function_Froms.ml @@ -57,9 +57,7 @@ struct let rehash = Datatype.identity let mem_project = Datatype.never_any_project - let varname _ = "da" - let internal_pretty_code = Datatype.undefined let copy = Datatype.undefined end) @@ -178,9 +176,7 @@ module DepsOrUnassigned = struct let rehash = Datatype.identity let mem_project = Datatype.never_any_project - let varname _ = "d" - let internal_pretty_code = Datatype.undefined let copy = Datatype.undefined end) @@ -625,10 +621,8 @@ include Datatype.Make let compare = Datatype.undefined let equal = equal let pretty = pretty - let internal_pretty_code = Datatype.undefined let rehash = Datatype.identity let copy = Datatype.undefined - let varname = Datatype.undefined let mem_project = Datatype.never_any_project end) diff --git a/src/plugins/variadic/tests/defined/oracle/simple.0.res.oracle b/src/plugins/variadic/tests/defined/oracle/simple.0.res.oracle index d682b185f8e6766bf5acd7d25d211ac7cc35ba8d..c1ce928d7fe1ea7d1d6ec46b04f9b256963902b5 100644 --- a/src/plugins/variadic/tests/defined/oracle/simple.0.res.oracle +++ b/src/plugins/variadic/tests/defined/oracle/simple.0.res.oracle @@ -1,5 +1,5 @@ -[variadic] simple.c:9: Declaration of variadic function sum. -[variadic] simple.c:24: Generic translation of call to variadic function. +[variadic] simple.c:19: Declaration of variadic function sum. +[variadic] simple.c:34: Generic translation of call to variadic function. [eva] Analyzing a complete application starting at main [eva] Computing initial state [eva] Initial state computed @@ -12,7 +12,7 @@ [eva:final-states] Values at end of function main: /* Generated by Frama-C */ -#include "stdarg.h" +typedef void * const *va_list; /*@ requires n ≥ 0; */ int sum(int n, void * const *__va_params) { diff --git a/src/plugins/variadic/tests/defined/oracle/simple.1.res.oracle b/src/plugins/variadic/tests/defined/oracle/simple.1.res.oracle index 7b5221cf83de9df7862c7d97e175b5b68ddb6eba..c1ce928d7fe1ea7d1d6ec46b04f9b256963902b5 100644 --- a/src/plugins/variadic/tests/defined/oracle/simple.1.res.oracle +++ b/src/plugins/variadic/tests/defined/oracle/simple.1.res.oracle @@ -1,5 +1,5 @@ -[variadic] simple.c:9: Declaration of variadic function sum. -[variadic] simple.c:24: Generic translation of call to variadic function. +[variadic] simple.c:19: Declaration of variadic function sum. +[variadic] simple.c:34: Generic translation of call to variadic function. [eva] Analyzing a complete application starting at main [eva] Computing initial state [eva] Initial state computed @@ -12,8 +12,7 @@ [eva:final-states] Values at end of function main: /* Generated by Frama-C */ -typedef void * const *__gnuc_va_list; -typedef __gnuc_va_list va_list; +typedef void * const *va_list; /*@ requires n ≥ 0; */ int sum(int n, void * const *__va_params) { diff --git a/src/plugins/variadic/tests/defined/simple.c b/src/plugins/variadic/tests/defined/simple.c index b2346a3f09cadb78412a84f82bd1deca74232c59..617d61e43804845cb0e6629c7808156cada69cea 100644 --- a/src/plugins/variadic/tests/defined/simple.c +++ b/src/plugins/variadic/tests/defined/simple.c @@ -1,10 +1,20 @@ /* run.config -STDOPT: -STDOPT: #"-no-frama-c-stdlib -no-pp-annot" +STDOPT: #"-c11" +STDOPT: #"-no-frama-c-stdlib -no-pp-annot -c11" */ +/* The defines and typedefs below avoid issues with Musl: without them, + pretty-printing 'va_list' results in `typedef __gnuc_va_list va_list`, but + only on GNU libc-based systems (and not on Alpine Linux, which is based on + musl). */ +#define __GNUC_VA_LIST +#define __va_list__ +typedef void *__builtin_va_list; +typedef __builtin_va_list va_list; #include <stdarg.h> + + /*@ requires n>= 0; */ int sum(int n, ...){ int ret = 0; diff --git a/src/plugins/wp/.gitattributes b/src/plugins/wp/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..e40f62d0ebbd58f376caea96817a16640f49650f --- /dev/null +++ b/src/plugins/wp/.gitattributes @@ -0,0 +1,65 @@ +####################### +# HEADER_SPEC: CEA_WP # +####################### + +*.ml header_spec=CEA_WP +*.mli header_spec=CEA_WP +*.mll header_spec=CEA_WP + +*.mlw header_spec=CEA_WP +*.driver header_spec=CEA_WP +*.v header_spec=CEA_WP +*.css header_spec=CEA_WP + +configure.ac header_spec=CEA_WP + +Makefile header_spec=CEA_WP +Makefile.in header_spec=CEA_WP +Makefile.resources header_spec=CEA_WP +MakeDoc header_spec=CEA_WP + +/intro_wp.txt header_spec=CEA_WP + +####################### +# HEADER_SPEC: others # +####################### + +/doc/coqdoc/coq2tex/*.mll header_spec=XL_COMPCERT + +/share/coqwp/BuiltIn.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/HighOrd.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/bool/Bool.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/int/Abs.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/int/ComputerDivision.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/int/EuclideanDivision.v header_spec=MODIFIED_WHY3 +/share/coqwp/int/Exponentiation.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/int/Int.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/int/MinMax.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/int/Power.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/int/ComputerOfEuclideanDivision.v header_spec=MODIFIED_WHY3 +/share/coqwp/map/Map.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/map/Const.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/Abs.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/FromInt.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/ExpLog.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/MinMax.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/PowerReal.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/Real.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/RealInfix.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/Square.v header_spec=UNMODIFIED_WHY3 +/share/coqwp/real/Trigonometry.v header_spec=UNMODIFIED_WHY3 + +######################## +# HEADER_SPEC: .ignore # +######################## + +/doc/coqdoc/coq2tex/coq2html.js header_spec=.ignore +/doc/coqdoc/coq2tex/*.css header_spec=.ignore +/doc/coqdoc/coq2tex/*.html header_spec=.ignore +/doc/coqdoc/*.tex header_spec=.ignore + +/doc/manual/nullable.c header_spec=.ignore +/doc/manual/*.tex header_spec=.ignore + + +/tests/**/* header_spec=.ignore diff --git a/src/plugins/wp/Lang.ml b/src/plugins/wp/Lang.ml index 7869f466d863f94344ca26fb4337f80d7d76551e..da36a8c6b302de96b3695ce9f8473d2c74616e21 100644 --- a/src/plugins/wp/Lang.ml +++ b/src/plugins/wp/Lang.ml @@ -682,9 +682,7 @@ struct let compare = Datatype.undefined let hash = Datatype.undefined let copy _old = QZERO.create () - let varname = Datatype.undefined let pretty = Datatype.undefined - let internal_pretty_code = Datatype.undefined let mem_project _ _ = false end) diff --git a/src/plugins/wp/ProverWhy3.ml b/src/plugins/wp/ProverWhy3.ml index 314769066fb4a6cd8edb0a31f0dd036445ba7c5f..212fe6f8babb88e611c1878c66090c3f20a314c8 100644 --- a/src/plugins/wp/ProverWhy3.ml +++ b/src/plugins/wp/ProverWhy3.ml @@ -1338,10 +1338,9 @@ let prepare ~mode wpo driver task = end else None -let interactive ~mode wpo pconf driver prover task = +let interactive ~mode wpo pconf ~conf driver prover task = let time = Wp_parameters.InteractiveTimeout.get () in let timeout = if time <= 0 then None else Some time in - let conf = get_why3_conf () in match prepare ~mode wpo driver task with | None -> Task.return VCS.unknown | Some (script, merge) -> @@ -1392,7 +1391,7 @@ let build_proof_task ?(mode=VCS.Batch) ?timeout ?steplimit ~prover wpo () = Task.return VCS.valid else if pconf.interactive then - interactive ~mode wpo pconf drv prover task + interactive ~mode wpo pconf ~conf drv prover task else Cache.get_result ~digest:(digest wpo drv) diff --git a/src/plugins/wp/ctypes.ml b/src/plugins/wp/ctypes.ml index 8a6ede3e75a66dd8af63d1a1a707833f5b853c3c..8aca9f47467408d9c852a8a268ae2b120c872d07 100644 --- a/src/plugins/wp/ctypes.ml +++ b/src/plugins/wp/ctypes.ml @@ -582,10 +582,7 @@ module C_object = Datatype.Make(struct let copy = Datatype.Undefined.copy - let internal_pretty_code = Datatype.Undefined.internal_pretty_code let mem_project = Datatype.Undefined.mem_project - - let varname _ = "co" end) let rec compare_ptr_conflated a b = diff --git a/src/plugins/wp/doc/MakeDoc b/src/plugins/wp/doc/MakeDoc index b646e4383b9812cac2fde373dbbb3679487199d8..53d34f0f625a9e62b19c64eee2b304dbf050e323 100644 --- a/src/plugins/wp/doc/MakeDoc +++ b/src/plugins/wp/doc/MakeDoc @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of WP plug-in of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat a l'energie atomique et aux energies # +# 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). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- Resources --- # -------------------------------------------------------------------------- diff --git a/src/plugins/wp/doc/coqdoc/Makefile b/src/plugins/wp/doc/coqdoc/Makefile index a0a35db3e79cc52fe79a66e45c47a29ea641128b..92c3db78d1c683bd1e9b9ed36dcacd45c99eff44 100644 --- a/src/plugins/wp/doc/coqdoc/Makefile +++ b/src/plugins/wp/doc/coqdoc/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of WP plug-in of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat a l'energie atomique et aux energies # +# 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). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- WP User & Reference Manual --- # -------------------------------------------------------------------------- @@ -31,4 +53,4 @@ wpcoq.pdf: $(FRAMAC_DOC) $(TEX) .lib coq2latex.sty rubber -d wpcoq clean:: - rm -f .lib $(addsuffix .tex,$(COQL)) \ No newline at end of file + rm -f .lib $(addsuffix .tex,$(COQL)) diff --git a/src/plugins/wp/doc/coqdoc/coq2tex/coq2html.mll b/src/plugins/wp/doc/coqdoc/coq2tex/coq2html.mll index 21d22600021af223732b9a6a500bc145f0f9790d..230de710f3bed354453441f7ffb9a8a44acbe7fb 100644 --- a/src/plugins/wp/doc/coqdoc/coq2tex/coq2html.mll +++ b/src/plugins/wp/doc/coqdoc/coq2tex/coq2html.mll @@ -1,17 +1,15 @@ -(* *********************************************************************) -(* *) -(* The Compcert verified compiler *) -(* *) -(* Xavier Leroy, INRIA Paris-Rocquencourt *) -(* *) -(* Copyright Institut National de Recherche en Informatique et en *) -(* Automatique. All rights reserved. This file is distributed *) -(* under the terms of the GNU General Public License as published by *) -(* the Free Software Foundation, either version 2 of the License, or *) -(* (at your option) any later version. This file is also distributed *) -(* under the terms of the INRIA Non-Commercial License Agreement. *) -(* *) -(* *********************************************************************) +(**************************************************************************) +(* The Compcert verified compiler *) +(* *) +(* Xavier Leroy, INRIA Paris-Rocquencourt *) +(* *) +(* Copyright Institut National de Recherche en Informatique et en *) +(* Automatique. All rights reserved. This file is distributed *) +(* under the terms of the GNU General Public License as published by *) +(* the Free Software Foundation, either version 2 of the License, or *) +(* (at your option) any later version. This file is also distributed *) +(* under the terms of the INRIA Non-Commercial License Agreement. *) +(**************************************************************************) { open Printf diff --git a/src/plugins/wp/doc/coqdoc/coq2tex/coq2latex.mll b/src/plugins/wp/doc/coqdoc/coq2tex/coq2latex.mll index 78cb86b014a44c583ba4aeeca87114d9900aa5b0..0d16708fe724eae0c57464d3cd51c392900d0779 100644 --- a/src/plugins/wp/doc/coqdoc/coq2tex/coq2latex.mll +++ b/src/plugins/wp/doc/coqdoc/coq2tex/coq2latex.mll @@ -1,17 +1,15 @@ -(* *********************************************************************) -(* *) -(* The Compcert verified compiler *) -(* *) -(* Xavier Leroy, INRIA Paris-Rocquencourt *) -(* *) -(* Copyright Institut National de Recherche en Informatique et en *) -(* Automatique. All rights reserved. This file is distributed *) -(* under the terms of the GNU General Public License as published by *) -(* the Free Software Foundation, either version 2 of the License, or *) -(* (at your option) any later version. This file is also distributed *) -(* under the terms of the INRIA Non-Commercial License Agreement. *) -(* *) -(* *********************************************************************) +(**************************************************************************) +(* The Compcert verified compiler *) +(* *) +(* Xavier Leroy, INRIA Paris-Rocquencourt *) +(* *) +(* Copyright Institut National de Recherche en Informatique et en *) +(* Automatique. All rights reserved. This file is distributed *) +(* under the terms of the GNU General Public License as published by *) +(* the Free Software Foundation, either version 2 of the License, or *) +(* (at your option) any later version. This file is also distributed *) +(* under the terms of the INRIA Non-Commercial License Agreement. *) +(**************************************************************************) { open Printf diff --git a/src/plugins/wp/doc/manual/Makefile b/src/plugins/wp/doc/manual/Makefile index 1f64775fdcf26a85f3802aeafe0434ddc1ff5220..f1e5b1b10dfcc4f310da006442df013170f40cb5 100644 --- a/src/plugins/wp/doc/manual/Makefile +++ b/src/plugins/wp/doc/manual/Makefile @@ -1,3 +1,25 @@ +########################################################################## +# # +# This file is part of WP plug-in of Frama-C. # +# # +# Copyright (C) 2007-2022 # +# CEA (Commissariat a l'energie atomique et aux energies # +# 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). # +# # +########################################################################## + # -------------------------------------------------------------------------- # --- WP User & Reference Manual --- # -------------------------------------------------------------------------- diff --git a/src/plugins/wp/doc/ocamldoc.css b/src/plugins/wp/doc/ocamldoc.css index 61e22cc801685a15b9c78b7d38d3c54b0ec99e87..2dd72db72c834a5ab192511cd0a32eb84567f01c 100644 --- a/src/plugins/wp/doc/ocamldoc.css +++ b/src/plugins/wp/doc/ocamldoc.css @@ -1,3 +1,25 @@ +/**************************************************************************/ +/* */ +/* This file is part of WP plug-in of Frama-C. */ +/* */ +/* Copyright (C) 2007-2022 */ +/* CEA (Commissariat a l'energie atomique et aux energies */ +/* 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). */ +/* */ +/**************************************************************************/ + * { margin: 0; padding: 0 } body { diff --git a/src/plugins/wp/tests/wp/wp_call_pre.c b/src/plugins/wp/tests/wp/wp_call_pre.c index 857b5f629686bc3537b9b3eb40c6692caae44d76..be7bf59d67146f3d3d65471808eca4672969106a 100644 --- a/src/plugins/wp/tests/wp/wp_call_pre.c +++ b/src/plugins/wp/tests/wp/wp_call_pre.c @@ -6,7 +6,7 @@ OPT: -wp-model Hoare -wp-no-simpl -wp-fct double_call */ /* run.config_qualif -OPT: -journal-disable -wp -wp-par 1 +OPT: -wp -wp-par 1 */ int G = 3; diff --git a/src/plugins/wp/tests/wp_acsl/struct_use_case.i b/src/plugins/wp/tests/wp_acsl/struct_use_case.i index e9839c540db66f3c0f415e8d452163fbcbbee579..2707e0e0d25fd6cfac29632876df3613e6698d11 100644 --- a/src/plugins/wp/tests/wp_acsl/struct_use_case.i +++ b/src/plugins/wp/tests/wp_acsl/struct_use_case.i @@ -3,8 +3,8 @@ */ /* run.config_qualif -OPT: -journal-disable -wp -wp-model Caveat -wp-par 1 -wp-prop="-ko" -OPT: -journal-disable -wp -wp-model Caveat -wp-par 1 -wp-prop ko -wp-steps 50 +OPT: -wp -wp-model Caveat -wp-par 1 -wp-prop="-ko" +OPT: -wp -wp-model Caveat -wp-par 1 -wp-prop ko -wp-steps 50 */ /* run.config_qed @@ -18,7 +18,7 @@ struct { /*@ ensures ko: var == { \old(var) \with .b[1] = x } ; @ ensures ok: var == { \old(var) \with .b[1] = x, .b[0] = y } ; - @*/ + @*/ void f(unsigned int x, unsigned int y){ var.b[0] = y; var.b[1] = x; @@ -26,7 +26,7 @@ void f(unsigned int x, unsigned int y){ /*@ ensures ko: var == { \old(var) \with .b[1] = x } ; @ ensures ok: var == { \old(var) \with .b[1] = x, .a = y } ; - @*/ + @*/ void g(unsigned int x, unsigned int y){ var.a = y; var.b[1] = x; diff --git a/src/plugins/wp/wpPropId.ml b/src/plugins/wp/wpPropId.ml index b11a73f320de7ae2c6d42da2e0ea491449ab13d0..605913c9317af03cb1621fb32ea8176ab259f1f0 100644 --- a/src/plugins/wp/wpPropId.ml +++ b/src/plugins/wp/wpPropId.ml @@ -260,10 +260,8 @@ module PropIdRaw = let copy = Datatype.undefined let rehash = Datatype.identity - let internal_pretty_code = Datatype.undefined let pretty = Datatype.undefined let mem_project = Datatype.never_any_project - let varname = Datatype.undefined end) (* -------------------------------------------------------------------------- *) diff --git a/src/plugins/wp/wpo.ml b/src/plugins/wp/wpo.ml index fbc6df714458fb2357f53853a004f26b9a58f82c..9d50a7ad9f4a4d2982aea40ca6a65d596b1a2b55 100644 --- a/src/plugins/wp/wpo.ml +++ b/src/plugins/wp/wpo.ml @@ -490,13 +490,13 @@ let () = Type.set_ml_name ResultType.ty (Some "Wpo.result") let get_gid = Dynamic.register - ~plugin:"Wp" "Wpo.get_gid" ~journalize:false + ~plugin:"Wp" "Wpo.get_gid" (Datatype.func WpoType.ty Datatype.string) (fun g -> g.po_gid) let get_property = Dynamic.register - ~plugin:"Wp" "Wpo.get_property" ~journalize:false + ~plugin:"Wp" "Wpo.get_property" (Datatype.func WpoType.ty Property.ty) (fun g -> WpPropId.property_of_id g.po_pid) @@ -827,12 +827,12 @@ let is_passed g = is_proved g let get_result = - Dynamic.register ~plugin:"Wp" "Wpo.get_result" ~journalize:false + Dynamic.register ~plugin:"Wp" "Wpo.get_result" (Datatype.func2 WpoType.ty ProverType.ty ResultType.ty) get_result let is_valid = - Dynamic.register ~plugin:"Wp" "Wpo.is_valid" ~journalize:false + Dynamic.register ~plugin:"Wp" "Wpo.is_valid" (Datatype.func ResultType.ty Datatype.bool) VCS.is_valid (* -------------------------------------------------------------------------- *) @@ -920,7 +920,6 @@ let iter ?ip ?index ?on_axiomatics ?on_behavior ?on_goal () = let iter_on_goals = Dynamic.register ~plugin:"Wp" "Wpo.iter_on_goals" (Datatype.func (Datatype.func WpoType.ty Datatype.unit) Datatype.unit) - ~journalize:true (fun on_goal -> iter ~on_goal ()) let goals_of_property prop = @@ -934,11 +933,10 @@ let goals_of_property prop = let goals_of_property = Dynamic.register ~plugin:"Wp" "Wpo.goals_of_property" (Datatype.func Property.ty (Datatype.list WpoType.ty)) - ~journalize:false goals_of_property let prover_of_name = - Dynamic.register ~plugin:"Wp" "Wpo.prover_of_name" ~journalize:false + Dynamic.register ~plugin:"Wp" "Wpo.prover_of_name" (Datatype.func Datatype.string (Datatype.option ProverType.ty)) VCS.parse_prover @@ -953,7 +951,7 @@ let get_logfile w prover result = DISK.cache_log ~pid:w.po_pid ~model ~prover ~result let _ignore = - Dynamic.register ~plugin:"Wp" "Wpo.file_for_log_proof" ~journalize:false + Dynamic.register ~plugin:"Wp" "Wpo.file_for_log_proof" (Datatype.func2 WpoType.ty ProverType.ty (Datatype.pair Datatype.string Datatype.string)) diff --git a/tests/dynamic/abstract.ml b/tests/dynamic/abstract.ml index 9d1b774785f80359788fd30cf123071c66ad49dd..54a14984bb33114aa4d2d04a2f500c3fc8ddb40a 100644 --- a/tests/dynamic/abstract.ml +++ b/tests/dynamic/abstract.ml @@ -8,7 +8,7 @@ module A : sig end = struct let mk () = 1.05 let _ = B false let f = function A n -> n | B false -> min_int | B true -> max_int - module T = + module T = Datatype.Make(struct type t = tt let name = "A.t" @@ -16,7 +16,7 @@ module A : sig end = struct include Datatype.Undefined end) let t = T.ty - module U = + module U = Datatype.Make(struct type t = float let name = "A.u" @@ -25,42 +25,42 @@ module A : sig end = struct end) let u = U.ty let mk = - Dynamic.register ~plugin:"A" ~journalize:false "mk" + Dynamic.register ~plugin:"A" "mk" (Datatype.func Datatype.unit u) mk let _ = - Dynamic.register ~plugin:"A" ~journalize:false "f" + Dynamic.register ~plugin:"A" "f" (Datatype.func t Datatype.int) f let _ = - Dynamic.register ~plugin:"A" ~journalize:false "g" + Dynamic.register ~plugin:"A" "g" (Datatype.func u Datatype.int) (fun x -> Format.printf "%f@." x; int_of_float x) - let v1 = Dynamic.register ~plugin:"A" ~journalize:false "v1" t (A 1) - let _ = Dynamic.register ~plugin:"A" ~journalize:false "v2" t (A 2) + let v1 = Dynamic.register ~plugin:"A" "v1" t (A 1) + let _ = Dynamic.register ~plugin:"A" "v2" t (A 2) let _ = - Dynamic.register ~plugin:"A" ~journalize:false "h" + Dynamic.register ~plugin:"A" "h" (Datatype.func t (Datatype.func u Datatype.bool)) (fun x y -> match x with A x -> Format.printf "params = %d %f@." x y; x = int_of_float y | B _ -> false) let _ = - Dynamic.register ~plugin:"A" ~journalize:false "succ" + Dynamic.register ~plugin:"A" "succ" (Datatype.func Datatype.int Datatype.int) succ let _ = - Dynamic.register ~journalize:false "ho" ~plugin:"A" + Dynamic.register "ho" ~plugin:"A" (Datatype.func (Datatype.func Datatype.int Datatype.int) (Datatype.func t u)) (fun ff x -> float (ff (f x))) let _ = - Dynamic.register ~journalize:false ~plugin:"A" "ppu" (Datatype.func u Datatype.unit) + Dynamic.register ~plugin:"A" "ppu" (Datatype.func u Datatype.unit) (fun f -> Format.printf "ppu %f@." f) let ho2 = - Dynamic.register ~plugin:"A" "ho2" ~journalize:false + Dynamic.register ~plugin:"A" "ho2" (Datatype.func (Datatype.func t Datatype.int) (Datatype.func t u)) (fun f x -> float (f x)) - let _ = + let _ = ignore (Dynamic.get ~plugin:"A" "mk" (Datatype.func Datatype.unit u) ()) module UA = Type.Abstract(struct let name = "A.u" end) @@ -68,11 +68,11 @@ module A : sig end = struct Dynamic.get ~plugin:"A" "mk" (Datatype.func Datatype.unit UA.ty) () let _ = - Dynamic.register ~journalize:false ~plugin:"A" "poly" + Dynamic.register ~plugin:"A" "poly" (Datatype.list u) [ 1.; 2.; 3. ] let _ = - Dynamic.register ~journalize:false ~plugin:"A" "poly2" (Datatype.list u) + Dynamic.register ~plugin:"A" "poly2" (Datatype.list u) [ mk (); ho2 (function A n -> n | B _ -> min_int) v1; ho2 f v1 ] end @@ -132,4 +132,3 @@ module B = struct (Dynamic.get ~plugin:"A" "ppu" (Datatype.func ty' Datatype.unit)) (Dynamic.get ~plugin:"A" "poly2" (Datatype.list ty')) end - diff --git a/tests/dynamic/abstract2.ml b/tests/dynamic/abstract2.ml index ac9898d9235f8c7bbdfb762d3c818f792c21c078..461f2dfbfc15096526e514857aafdddc475ee34a 100644 --- a/tests/dynamic/abstract2.ml +++ b/tests/dynamic/abstract2.ml @@ -4,7 +4,7 @@ module AA : sig end = struct let ty = Type.register ~name:"AA.t" ~ml_name:None Structural_descr.t_unknown [ "" ] let _mk = - Dynamic.register ~plugin:"AA" ~journalize:false "mk" + Dynamic.register ~plugin:"AA" "mk" (Datatype.func Datatype.unit ty) (fun () -> "a") end @@ -14,7 +14,7 @@ module BB : sig end = struct let ty = Type.register ~name:"BB.t" ~ml_name:None Structural_descr.t_unknown [ 1.0 ] let _print = - Dynamic.register ~plugin:"BB" ~journalize:false "print" + Dynamic.register ~plugin:"BB" "print" (Datatype.func ty Datatype.unit) print_float end @@ -25,9 +25,9 @@ let main () = let module B = Type.Abstract(struct let name = "BB.t" end) in let _b = B.ty in let _s = Dynamic.get ~plugin:"AA" "mk" (Datatype.func Datatype.unit a) () in - (* is now statically checked and no more dynamically *) + (* is now statically checked and no more dynamically *) (* Dynamic.get ~plugin:"BB" "print" (Datatype.func b Datatype.unit) s;*) () - + let () = Db.Main.extend main diff --git a/tests/journal/abstract_cpt.ml b/tests/journal/abstract_cpt.ml deleted file mode 100644 index 5fa827630f94eaf5dbe1f35e9b81d3248fa3640f..0000000000000000000000000000000000000000 --- a/tests/journal/abstract_cpt.ml +++ /dev/null @@ -1,33 +0,0 @@ -let mk () = ref 0 -let incr c = incr c; !c - -include Datatype.Make(struct - (* order of lines below does matter *) - include Datatype.Serializable_undefined - include Datatype.Ref(Datatype.Int) - let varname _ = "cpt" - let name = "Abstract_cpt.t" -end) - -let mk = - Dynamic.register - ~journalize:true - ~plugin:"Abstract_cpt" - "mk" - (Datatype.func Datatype.unit ty) mk - -let incr = - Dynamic.register - ~journalize:true - ~plugin:"Abstract_cpt" - "incr" - (Datatype.func ty Datatype.int) - incr - -let pretty = - Dynamic.register - ~journalize:true - ~plugin:"Abstract_cpt" - "pretty" - (Datatype.func ty Datatype.unit) - (fun n -> Format.printf "%d@." !n) diff --git a/tests/journal/control.i b/tests/journal/control.i deleted file mode 100644 index ec7902161dda42107bb8d9219dca2ccd293a1079..0000000000000000000000000000000000000000 --- a/tests/journal/control.i +++ /dev/null @@ -1,29 +0,0 @@ -/* run.config - COMMENT: the following CMD redefinition omits adding @PTEST_FILE@ on purpose (due to -load) - CMD: @frama-c@ @PTEST_OPTIONS@ - COMMENT: do not compare generated journals since they depend on current time - PLUGIN: @EVA_PLUGINS@ - EXECNOW: BIN control_journal.ml @frama-c@ @PTEST_FILE@ -journal-enable -eva -deps -out @EVA_OPTIONS@ -main f -journal-name @PTEST_RESULT@/control_journal.ml > @DEV_NULL@ 2> @DEV_NULL@ - SCRIPT: @PTEST_RESULT@/control_journal.ml - OPT: - MODULE: - SCRIPT: @PTEST_RESULT@/control_journal_bis.ml - EXECNOW: BIN control_journal_bis.ml cp %{dep:@PTEST_RESULT@/control_journal.ml} @PTEST_RESULT@/control_journal_bis.ml > @DEV_NULL@ 2> @DEV_NULL@ - OPT: -calldeps - MODULE: abstract_cpt use_cpt - SCRIPT: - EXECNOW: BIN abstract_cpt_journal.ml @frama-c@ -journal-enable -journal-name @PTEST_RESULT@/abstract_cpt_journal.ml > @DEV_NULL@ 2> @DEV_NULL@ - SCRIPT: @PTEST_RESULT@/abstract_cpt_journal.ml - OPT: -*/ - -int x,y,c,d; - -void f() { - int i; - for(i=0; i<4 ; i++) { - if (c) { if (d) {y++;} else {x++;}} - else {}; - x=x+1; - } -} diff --git a/tests/journal/control2.c b/tests/journal/control2.c deleted file mode 100644 index 9570c6dd3afb3e59c787a9f04594244b196b4e0c..0000000000000000000000000000000000000000 --- a/tests/journal/control2.c +++ /dev/null @@ -1,19 +0,0 @@ -/* run.config - COMMENT: the following CMD redefinition omits adding @PTEST_FILE@ on purpose (due to -load) - CMD: @frama-c@ @PTEST_OPTIONS@ - PLUGIN: @EVA_PLUGINS@ - EXECNOW: BIN control_journal2.ml @frama-c@ -journal-enable -eva -deps -out -main f -journal-name @PTEST_RESULT@/control_journal2.ml @PTEST_FILE@ > @DEV_NULL@ 2> @DEV_NULL@ - SCRIPT: @PTEST_RESULT@/control_journal2.ml - EXECNOW: LOG control2_sav.res LOG control2_sav.err BIN control_journal_next2.ml @frama-c@ -journal-enable -lib-entry -journal-name @PTEST_RESULT@/control_journal_next2.ml @PTEST_FILE@ > @PTEST_RESULT@/control2_sav.res 2> @PTEST_RESULT@/control2_sav.err - SCRIPT: @PTEST_RESULT@/control_journal_next2.ml - OPT: -*/ -int x,y,c,d; -void f() { - int i; - for(i=0; i<4 ; i++) { - if (c) { if (d) {y++;} else {x++;}} - else {}; - x=x+1; - } -} diff --git a/tests/journal/intra.i b/tests/journal/intra.i deleted file mode 100644 index 5ae163e21ff0267076ad57e04d8ddcfc17e1bc2e..0000000000000000000000000000000000000000 --- a/tests/journal/intra.i +++ /dev/null @@ -1,119 +0,0 @@ -/* run.config - COMMENT: the following CMD redefinition omits adding @PTEST_FILE@ on purpose (due to -load) - CMD: @frama-c@ @PTEST_OPTIONS@ - PLUGIN: @EVA_PLUGINS@ sparecode - MODULE: @PTEST_NAME@ - EXECNOW: BIN intra_journal.ml @frama-c@ -eva-show-progress -journal-enable -journal-name @PTEST_RESULT@/intra_journal.ml @PTEST_FILE@ > @DEV_NULL@ 2> @DEV_NULL@ - SCRIPT: @PTEST_RESULT@/intra_journal.ml - OPT: -*/ - -/* Waiting for results such as: - * spare code analysis removes statements having variables with - * prefix "spare_" - * - * slicing analysis removes statement having variables with - * prefix "spare_" and "any_" - */ -int G; - -int tmp (int a) { - int x = a; - //@ assert x == a ; - int w = 1; - //@ assert w == 1 ; // w is not spare or else - // the assertion should be removed ! - int spare_z = 1; - int spare_y = a+spare_z; - return x; -} - -int param (int a, int spare_b) { - return a; -} - -int spare_called_fct (int a) { - return a; -} - -int two_outputs (int a, int b) { - G += b; - return a; -} - -int call_two_outputs (void) { - int x, spare_y; - int any_b = 1; - int any_a = 2; - int a = 1; - int b = any_b; - x = two_outputs (a, b); - G = 1; /* don't use b = any_b; */ - b = 2; - a = any_a; - spare_y = two_outputs (a, b); - /* don't use spare_y so don't use a = any_a */ - return x; -} - -void assign (int *p, int *q) { - *p = *q ; -} - -int loop (int x, int y, int z) { - int i = 0; - //@ assert i < z ; - //@ loop invariant i < y ; - /* should keep y in sparecode analysis even if it is not used in the function */ - while (i < x) { - i ++; - } - return i; -} - -void stop(void) __attribute__ ((noreturn)) ; - -int main (int noreturn, int halt) { - int res = 0; - int spare_tmp = 3; - int spare_param = 2 + spare_tmp; - int spare_ref = 3; - int x = 1; - int y = 2; - res += param (2, spare_param); - res += tmp (4); - spare_called_fct (5); - res += call_two_outputs (); - res += loop (10, 15, 20); - assign (&x, &spare_ref) ; /* <- Here, best can be done for spare analysis */ - assign (&x, &y) ; - if (noreturn) { - if (halt) - stop () ; - else - while (1); - //@ assert \false ; // What should be done with - // assertions related to dead code? - } - - return res + G + x; -} - -/*-------------------------------------*/ -struct { struct { int x; int y; } a; int b; } X10; -int Y10; -int f10 (int x) { - //@ slice pragma expr X10; - //@ slice pragma expr X10.a; - //@ slice pragma expr X10.a.x; - //@ slice pragma expr Y10; - //@ assert X10.a.x >= 0; - return x; -} -int main2 () { - Y10 = 0; - X10.b = 0; - X10.a.y += f10 (3); - return X10.a.x + X10.a.y; -} -/*-------------------------------------*/ diff --git a/tests/journal/intra.ml b/tests/journal/intra.ml deleted file mode 100644 index 0962a71402273c161496fe0885c0c5879589ef9d..0000000000000000000000000000000000000000 --- a/tests/journal/intra.ml +++ /dev/null @@ -1,4 +0,0 @@ -let () = - Db.Main.extend (fun _ -> - ignore (Sparecode.Register.get ~select_annot:true - ~select_slice_pragma:true)) diff --git a/tests/journal/oracle/control.0.res.oracle b/tests/journal/oracle/control.0.res.oracle deleted file mode 100644 index 8191206632c5a2badf8b201659e3bc09e88640bc..0000000000000000000000000000000000000000 --- a/tests/journal/oracle/control.0.res.oracle +++ /dev/null @@ -1,38 +0,0 @@ -[kernel] Parsing control.i (no preprocessing) -[eva] Analyzing a complete application starting at f -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - x ∈ {0} - y ∈ {0} - c ∈ {0} - d ∈ {0} -[eva] control.i:24: starting to merge loop iterations -[eva:alarm] control.i:27: Warning: signed overflow. assert x + 1 ≤ 2147483647; -[eva] Recording results for f -[eva] done for function f -[eva] ====== VALUES COMPUTED ====== -[eva:final-states] Values at end of function f: - x ∈ [0..2147483647] - i ∈ {4} -[eva:summary] ====== ANALYSIS SUMMARY ====== - ---------------------------------------------------------------------------- - 1 function analyzed (out of 1): 100% coverage. - In this function, 9 statements reached (out of 12): 75% coverage. - ---------------------------------------------------------------------------- - No errors or warnings raised during the analysis. - ---------------------------------------------------------------------------- - 1 alarm generated by the analysis: - 1 integer overflow - ---------------------------------------------------------------------------- - No logical properties have been reached by the analysis. - ---------------------------------------------------------------------------- -[from] Computing for function f -[from] Done for function f -[from] ====== DEPENDENCIES COMPUTED ====== - These dependencies hold at termination for the executions that terminate: -[from] Function f: - x FROM x (and SELF) -[from] ====== END OF DEPENDENCIES ====== -[inout] Out (internal) for function f: - x; i diff --git a/tests/journal/oracle/control.1.res.oracle b/tests/journal/oracle/control.1.res.oracle deleted file mode 100644 index ae023e8b8226ac8ac7a2e86a190dc09f5e2bcd72..0000000000000000000000000000000000000000 --- a/tests/journal/oracle/control.1.res.oracle +++ /dev/null @@ -1,71 +0,0 @@ -[kernel] Parsing control.i (no preprocessing) -[eva] Analyzing a complete application starting at f -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - x ∈ {0} - y ∈ {0} - c ∈ {0} - d ∈ {0} -[eva] control.i:24: starting to merge loop iterations -[eva:alarm] control.i:27: Warning: signed overflow. assert x + 1 ≤ 2147483647; -[eva] Recording results for f -[eva] done for function f -[eva] ====== VALUES COMPUTED ====== -[eva:final-states] Values at end of function f: - x ∈ [0..2147483647] - i ∈ {4} -[eva:summary] ====== ANALYSIS SUMMARY ====== - ---------------------------------------------------------------------------- - 1 function analyzed (out of 1): 100% coverage. - In this function, 9 statements reached (out of 12): 75% coverage. - ---------------------------------------------------------------------------- - No errors or warnings raised during the analysis. - ---------------------------------------------------------------------------- - 1 alarm generated by the analysis: - 1 integer overflow - ---------------------------------------------------------------------------- - No logical properties have been reached by the analysis. - ---------------------------------------------------------------------------- -[from] Computing for function f -[from] Done for function f -[from] ====== DEPENDENCIES COMPUTED ====== - These dependencies hold at termination for the executions that terminate: -[from] Function f: - x FROM x (and SELF) -[from] ====== END OF DEPENDENCIES ====== -[eva] Analyzing a complete application starting at f -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - x ∈ {0} - y ∈ {0} - c ∈ {0} - d ∈ {0} -[eva:alarm] control.i:27: Warning: signed overflow. assert x + 1 ≤ 2147483647; -[eva] Recording results for f -[from] Computing for function f -[from] Done for function f -[eva] done for function f -[eva] ====== VALUES COMPUTED ====== -[eva:final-states] Values at end of function f: - x ∈ [0..2147483647] - i ∈ {4} -[eva:summary] ====== ANALYSIS SUMMARY ====== - ---------------------------------------------------------------------------- - 1 function analyzed (out of 1): 100% coverage. - In this function, 9 statements reached (out of 12): 75% coverage. - ---------------------------------------------------------------------------- - No errors or warnings raised during the analysis. - ---------------------------------------------------------------------------- - 1 alarm generated by the analysis: - 1 integer overflow - ---------------------------------------------------------------------------- - No logical properties have been reached by the analysis. - ---------------------------------------------------------------------------- -[from] ====== DISPLAYING CALLWISE DEPENDENCIES ====== -[from] entry point: - x FROM x (and SELF) -[from] ====== END OF CALLWISE DEPENDENCIES ====== -[inout] Out (internal) for function f: - x; i diff --git a/tests/journal/oracle/control.2.res.oracle b/tests/journal/oracle/control.2.res.oracle deleted file mode 100644 index 2c9d316b3d61cb2542d43b9dcd9eea66d30c10b0..0000000000000000000000000000000000000000 --- a/tests/journal/oracle/control.2.res.oracle +++ /dev/null @@ -1,6 +0,0 @@ -1 -2 -3 -1 -2 -3 diff --git a/tests/journal/oracle/control2.res.oracle b/tests/journal/oracle/control2.res.oracle deleted file mode 100644 index 97fb53bb8f67b370c1e94911f5b7ef2df89199fc..0000000000000000000000000000000000000000 --- a/tests/journal/oracle/control2.res.oracle +++ /dev/null @@ -1,73 +0,0 @@ -[kernel] Parsing control2.c (with preprocessing) -[eva] Analyzing a complete application starting at f -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - x ∈ {0} - y ∈ {0} - c ∈ {0} - d ∈ {0} -[eva] control2.c:14: starting to merge loop iterations -[eva:alarm] control2.c:17: Warning: - signed overflow. assert x + 1 ≤ 2147483647; -[eva] done for function f -[eva] ====== VALUES COMPUTED ====== -[eva:final-states] Values at end of function f: - x ∈ [0..2147483647] - i ∈ {4} -[eva:summary] ====== ANALYSIS SUMMARY ====== - ---------------------------------------------------------------------------- - 1 function analyzed (out of 1): 100% coverage. - In this function, 9 statements reached (out of 12): 75% coverage. - ---------------------------------------------------------------------------- - No errors or warnings raised during the analysis. - ---------------------------------------------------------------------------- - 1 alarm generated by the analysis: - 1 integer overflow - ---------------------------------------------------------------------------- - No logical properties have been reached by the analysis. - ---------------------------------------------------------------------------- -[from] Computing for function f -[from] Done for function f -[eva] Analyzing an incomplete application starting at f -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - x ∈ [--..--] - y ∈ [--..--] - c ∈ [--..--] - d ∈ [--..--] -[eva:alarm] control2.c:15: Warning: - signed overflow. assert y + 1 ≤ 2147483647; -[eva:alarm] control2.c:15: Warning: - signed overflow. assert x + 1 ≤ 2147483647; -[eva:alarm] control2.c:17: Warning: - signed overflow. assert x + 1 ≤ 2147483647; -[eva] done for function f -[eva] ====== VALUES COMPUTED ====== -[eva:final-states] Values at end of function f: - x ∈ [--..--] - y ∈ [--..--] - i ∈ {4} -[eva:summary] ====== ANALYSIS SUMMARY ====== - ---------------------------------------------------------------------------- - 1 function analyzed (out of 1): 100% coverage. - In this function, 12 statements reached (out of 12): 100% coverage. - ---------------------------------------------------------------------------- - No errors or warnings raised during the analysis. - ---------------------------------------------------------------------------- - 3 alarms generated by the analysis: - 3 integer overflows - ---------------------------------------------------------------------------- - No logical properties have been reached by the analysis. - ---------------------------------------------------------------------------- -[from] Computing for function f -[from] Done for function f -[from] ====== DEPENDENCIES COMPUTED ====== - These dependencies hold at termination for the executions that terminate: -[from] Function f: - x FROM x; c; d (and SELF) - y FROM y; c; d (and SELF) -[from] ====== END OF DEPENDENCIES ====== -[inout] Out (internal) for function f: - x; y; i diff --git a/tests/journal/oracle/control2_sav.err b/tests/journal/oracle/control2_sav.err deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/tests/journal/oracle/control2_sav.res b/tests/journal/oracle/control2_sav.res deleted file mode 100644 index 1734f9bb5372539b42ca6899a554625e521d5272..0000000000000000000000000000000000000000 --- a/tests/journal/oracle/control2_sav.res +++ /dev/null @@ -1,77 +0,0 @@ -[kernel] Parsing control2.c (with preprocessing) -[eva] Analyzing a complete application starting at f -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - x ∈ {0} - y ∈ {0} - c ∈ {0} - d ∈ {0} -[eva] control2.c:14: starting to merge loop iterations -[eva:alarm] control2.c:17: Warning: - signed overflow. assert x + 1 ≤ 2147483647; -[eva] done for function f -[eva] ====== VALUES COMPUTED ====== -[eva:final-states] Values at end of function f: - x ∈ [0..2147483647] - i ∈ {4} -[eva:summary] ====== ANALYSIS SUMMARY ====== - ---------------------------------------------------------------------------- - 1 function analyzed (out of 1): 100% coverage. - In this function, 9 statements reached (out of 12): 75% coverage. - ---------------------------------------------------------------------------- - No errors or warnings raised during the analysis. - ---------------------------------------------------------------------------- - 1 alarm generated by the analysis: - 1 integer overflow - ---------------------------------------------------------------------------- - No logical properties have been reached by the analysis. - ---------------------------------------------------------------------------- -[from] Computing for function f -[from] Done for function f -[kernel] Warning: ignoring source files specified on the command line while loading a global initial context. -[eva] Analyzing an incomplete application starting at f -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - x ∈ [--..--] - y ∈ [--..--] - c ∈ [--..--] - d ∈ [--..--] -[eva:alarm] control2.c:15: Warning: - signed overflow. assert y + 1 ≤ 2147483647; -[eva:alarm] control2.c:15: Warning: - signed overflow. assert x + 1 ≤ 2147483647; -[eva:alarm] control2.c:17: Warning: - signed overflow. assert x + 1 ≤ 2147483647; -[eva] done for function f -[eva] ====== VALUES COMPUTED ====== -[eva:final-states] Values at end of function f: - x ∈ [--..--] - y ∈ [--..--] - i ∈ {4} -[eva:summary] ====== ANALYSIS SUMMARY ====== - ---------------------------------------------------------------------------- - 1 function analyzed (out of 1): 100% coverage. - In this function, 12 statements reached (out of 12): 100% coverage. - ---------------------------------------------------------------------------- - Some errors and warnings have been raised during the analysis: - by the Eva analyzer: 0 errors 0 warnings - by the Frama-C kernel: 0 errors 1 warning - ---------------------------------------------------------------------------- - 3 alarms generated by the analysis: - 3 integer overflows - ---------------------------------------------------------------------------- - No logical properties have been reached by the analysis. - ---------------------------------------------------------------------------- -[from] Computing for function f -[from] Done for function f -[from] ====== DEPENDENCIES COMPUTED ====== - These dependencies hold at termination for the executions that terminate: -[from] Function f: - x FROM x; c; d (and SELF) - y FROM y; c; d (and SELF) -[from] ====== END OF DEPENDENCIES ====== -[inout] Out (internal) for function f: - x; y; i -[kernel] writing journal in file `control_journal_next2.ml'. diff --git a/tests/journal/oracle/intra.res.oracle b/tests/journal/oracle/intra.res.oracle deleted file mode 100644 index 052f7084beaf919d15fdb51263abd24d850c2459..0000000000000000000000000000000000000000 --- a/tests/journal/oracle/intra.res.oracle +++ /dev/null @@ -1,116 +0,0 @@ -[kernel] Parsing intra.i (no preprocessing) -[sparecode] remove unused code... -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - G ∈ {0} - X10 ∈ {0} - Y10 ∈ {0} -[eva] computing for function param <- main. - Called from intra.i:83. -[eva] Recording results for param -[eva] Done for function param -[eva] computing for function tmp <- main. - Called from intra.i:84. -[eva] intra.i:22: assertion got status valid. -[eva] intra.i:24: assertion got status valid. -[eva] Recording results for tmp -[eva] Done for function tmp -[eva] computing for function spare_called_fct <- main. - Called from intra.i:85. -[eva] Recording results for spare_called_fct -[eva] Done for function spare_called_fct -[eva] computing for function call_two_outputs <- main. - Called from intra.i:86. -[eva] computing for function two_outputs <- call_two_outputs <- main. - Called from intra.i:50. -[eva] Recording results for two_outputs -[eva] Done for function two_outputs -[eva] computing for function two_outputs <- call_two_outputs <- main. - Called from intra.i:54. -[eva] Recording results for two_outputs -[eva] Done for function two_outputs -[eva] Recording results for call_two_outputs -[eva] Done for function call_two_outputs -[eva] computing for function loop <- main. - Called from intra.i:87. -[eva] intra.i:65: assertion got status valid. -[eva] intra.i:66: loop invariant got status valid. -[eva] intra.i:68: starting to merge loop iterations -[eva] Recording results for loop -[eva] Done for function loop -[eva] computing for function assign <- main. - Called from intra.i:88. -[eva] Recording results for assign -[eva] Done for function assign -[eva] computing for function assign <- main. - Called from intra.i:89. -[eva] Recording results for assign -[eva] Done for function assign -[kernel:annot:missing-spec] intra.i:92: Warning: - Neither code nor specification for function stop, generating default assigns from the prototype -[eva] computing for function stop <- main. - Called from intra.i:92. -[eva] using specification for function stop -[eva] Done for function stop -[eva] Recording results for main -[eva] done for function main -[eva:summary] ====== ANALYSIS SUMMARY ====== - ---------------------------------------------------------------------------- - 8 functions analyzed (out of 10): 80% coverage. - In these functions, 58 statements reached (out of 59): 98% coverage. - ---------------------------------------------------------------------------- - Some errors and warnings have been raised during the analysis: - by the Eva analyzer: 0 errors 0 warnings - by the Frama-C kernel: 0 errors 1 warning - ---------------------------------------------------------------------------- - 0 alarms generated by the analysis. - ---------------------------------------------------------------------------- - Evaluation of the logical properties reached by the analysis: - Assertions 4 valid 0 unknown 0 invalid 4 total - Preconditions 0 valid 0 unknown 0 invalid 0 total - 100% of the logical properties reached have been proven. - ---------------------------------------------------------------------------- -[pdg] computing for function main -[from] Computing for function param -[from] Done for function param -[from] Computing for function tmp -[from] Done for function tmp -[from] Computing for function spare_called_fct -[from] Done for function spare_called_fct -[from] Computing for function call_two_outputs -[from] Computing for function two_outputs <-call_two_outputs -[from] Done for function two_outputs -[from] Done for function call_two_outputs -[from] Computing for function loop -[from] Done for function loop -[from] Computing for function assign -[from] Done for function assign -[from] Computing for function stop -[from] Done for function stop -[pdg] done for function main -[pdg] computing for function call_two_outputs -[pdg] done for function call_two_outputs -[pdg] computing for function assign -[pdg] done for function assign -[pdg] computing for function loop -[pdg] done for function loop -[pdg] computing for function tmp -[pdg] done for function tmp -[pdg] computing for function param -[pdg] done for function param -[pdg] computing for function two_outputs -[pdg] done for function two_outputs -[pdg] computing for function f10 -[pdg] Warning: unreachable entry point (sid:79, function f10) -[pdg] Bottom for function f10 -[pdg] computing for function main2 -[pdg] Warning: unreachable entry point (sid:87, function main2) -[pdg] Bottom for function main2 -[pdg] computing for function spare_called_fct -[pdg] done for function spare_called_fct -[pdg] computing for function stop -[pdg] done for function stop -[sparecode] remove unused global declarations... -[sparecode] result in new project 'default without sparecode'. diff --git a/tests/journal/test_config b/tests/journal/test_config deleted file mode 100644 index 5b4e9a8bdd2b7dce5f1cd2d18923ecc5f7519b56..0000000000000000000000000000000000000000 --- a/tests/journal/test_config +++ /dev/null @@ -1,2 +0,0 @@ -PLUGIN: -STDOPT: diff --git a/tests/journal/use_cpt.ml b/tests/journal/use_cpt.ml deleted file mode 100644 index f19b3e11a7f79e8c8981f2c3f73aff992e5fedd7..0000000000000000000000000000000000000000 --- a/tests/journal/use_cpt.ml +++ /dev/null @@ -1,20 +0,0 @@ - -let main () = - let module T = Type.Abstract(struct let name = "Abstract_cpt.t" end) in - let c = - Dynamic.get - ~plugin:"Abstract_cpt" "mk" (Datatype.func Datatype.unit T.ty) () - in - let incr = - Dynamic.get - ~plugin:"Abstract_cpt" "incr" (Datatype.func T.ty Datatype.int) - in - let pretty = - Dynamic.get - ~plugin:"Abstract_cpt" "pretty" (Datatype.func T.ty Datatype.unit) - in - let incr_and_pretty c = ignore (incr c); pretty c in - for _i = 1 to 3 do incr_and_pretty c done - -let () = Db.Main.extend main - diff --git a/tests/slicing/combine.ml b/tests/slicing/combine.ml index bbe23a110edfb1fe818977e138123364b920b55c..55fef497d923a4e9cba21e14e64d1b0174829bc4 100644 --- a/tests/slicing/combine.ml +++ b/tests/slicing/combine.ml @@ -6,15 +6,6 @@ let f_slice_names kf src_called fnum = if (fname = "main") || (fnum = 1 && not src_called) then fname else (fname ^ "_s_" ^ (string_of_int (fnum))) -(* To be able to build framac-journal.ml *) -let f_slice_names = - Journal.register - "Combine.f_slice_names" - (Datatype.func Kernel_function.ty - (Datatype.func Datatype.bool - (Datatype.func Datatype.int Datatype.string))) - f_slice_names - let main _ = Slicing.Api.Project.reset_slicing (); diff --git a/tests/sparecode/test_config b/tests/sparecode/test_config index 40e3a32e1141194ae21aebe0470c76bca948bc06..f891b735a90856bbb735f6c53a50fef19542b9f6 100644 --- a/tests/sparecode/test_config +++ b/tests/sparecode/test_config @@ -1,3 +1,3 @@ MACRO: SPARECODE_PLUGINS @EVA_PLUGINS@ sparecode PLUGIN: @SPARECODE_PLUGINS@ -OPT: -journal-disable @EVA_OPTIONS@ -sparecode-debug 1 +OPT: @EVA_OPTIONS@ -sparecode-debug 1 diff --git a/tests/spec/test_config b/tests/spec/test_config index 6f16db895cb99190e93d744819de7c21e7358ebe..486cfa4b0f8caaaad2e1e03e663d2df6e32f5563 100644 --- a/tests/spec/test_config +++ b/tests/spec/test_config @@ -2,4 +2,4 @@ COMMENT: for now, this directory mainly tests the annotations syntax, COMMENT: no analysis is performed. COMMENT: we continue on annotation errors, as this allows to put COMMENT: various variations of the same test in one file. -OPT: -pp-annot -print -journal-disable -kernel-warn-key=annot-error=active -check -machdep x86_32 +OPT: -pp-annot -print -kernel-warn-key=annot-error=active -check -machdep x86_32 diff --git a/tests/syntax/cpp-command.c b/tests/syntax/cpp-command.c index dc71436e8b0da41c34da48c7f39c1559f580a5dc..af14a03a707cf3bfb577e1cbdbd80ce4e5c0eecb 100644 --- a/tests/syntax/cpp-command.c +++ b/tests/syntax/cpp-command.c @@ -1,5 +1,5 @@ /* run.config* - FILTER: sed "s:/[^ ]*[/]cpp-command\.[^ ]*\.i:TMPDIR/FILE.i:g; s:$PWD/::g; s:$(realpath @FRAMAC_SHARE@)/:FRAMAC_SHARE/:g; s:@PTEST_MAKE_DIR@/result@PTEST_CONFIG@/::g; s: -m32::" + FILTER: sed "s:/[^ ]*[/]cpp-command\.[^ ]*\.i:TMPDIR/FILE.i:g; s:$PWD/::g; s:$(realpath @FRAMAC_SHARE@)/:FRAMAC_SHARE/:g; s:@PTEST_MAKE_DIR@/result@PTEST_CONFIG@/::g; s: -m32::; s: -m64::" OPT: -machdep x86_32 -cpp-frama-c-compliant -cpp-command "echo [\$(basename '%1') \$(basename '%1') \$(basename '%i') \$(basename '%input')] ['%2' '%2' '%o' '%output'] ['%args']" OPT: -machdep x86_32 -cpp-frama-c-compliant -cpp-command "echo %%1 = \$(basename '%1') %%2 = '%2' %%args = '%args'" OPT: -machdep x86_32 -cpp-frama-c-compliant -cpp-command "printf \"%s\n\" \"using \\% has no effect : \$(basename \"\%input\")\"" diff --git a/tests/syntax/oracle/cpp-command.6.res.oracle b/tests/syntax/oracle/cpp-command.6.res.oracle index cd4b804010bbc298960b786eedcdb421bf3772ee..b27c0fedfd6cd125f87b61226d70d164b66d5dbe 100644 --- a/tests/syntax/oracle/cpp-command.6.res.oracle +++ b/tests/syntax/oracle/cpp-command.6.res.oracle @@ -1,7 +1,7 @@ [kernel] Warning: your preprocessor is not known to handle option `-nostdinc'. If pre-processing fails because of it, please add -no-cpp-frama-c-compliant option to Frama-C's command-line. If you do not want to see this warning again, explicitly use option -cpp-frama-c-compliant. [kernel] Warning: your preprocessor is not known to handle option `-dD'. If pre-processing fails because of it, please add -no-cpp-frama-c-compliant option to Frama-C's command-line. If you do not want to see this warning again, explicitly use option -cpp-frama-c-compliant. [kernel] Parsing cpp-command.c (with preprocessing) -extra_args: -IFRAMAC_SHARE/libc -D__FRAMAC__ -D__FC_MACHDEP_X86_64 -dD -nostdinc -m64 file_extra global_extra +extra_args: -IFRAMAC_SHARE/libc -D__FRAMAC__ -D__FC_MACHDEP_X86_64 -dD -nostdinc file_extra global_extra [kernel] Warning: trying to preprocess annotation with an unknown preprocessor. /* Generated by Frama-C */