diff --git a/src/plugins/e-acsl/.gitignore b/src/plugins/e-acsl/.gitignore index dbaf48cb5455bc853c48cbceed4de2b3110d5752..f5ee39fdfacb148fe2e6ab6c724865925290ea92 100644 --- a/src/plugins/e-acsl/.gitignore +++ b/src/plugins/e-acsl/.gitignore @@ -54,19 +54,9 @@ /tests/*.annot /tests/*_DEP /tests/test_config -/tests/runtime/*.cm* -/tests/runtime/result/* -/tests/format/result/* -/tests/builtin/result/* -/tests/temporal/result/* -/tests/special/result/* -/tests/no-main/result/* -/tests/full-mmodel/result/* -/tests/full-mmodel-only/result/* -/tests/segment-only/result/* -/tests/bts/result/* -/tests/gmp/result/* -/tests/reject/result/* +/tests/test_config_ci +/tests/test_config_dev +/tests/*/result*/* /tests/check/obj/* .frama-c tests/ptests_config diff --git a/src/plugins/e-acsl/Makefile.in b/src/plugins/e-acsl/Makefile.in index 61491fcb533b8500099b9d1305c9d414ba69c3ab..d5dc027bf123520b62e0bde012ce6937937f89a1 100644 --- a/src/plugins/e-acsl/Makefile.in +++ b/src/plugins/e-acsl/Makefile.in @@ -170,47 +170,60 @@ ifeq (@MAY_RUN_TESTS@,yes) -include in_frama_ci -ifeq ($(IN_FRAMA_CI),yes) - -PLUGIN_TESTS_DIRS := \ - gmp \ - no-main - -else - PLUGIN_TESTS_DIRS := \ - format \ - reject \ - runtime \ + examples \ bts \ - gmp \ - no-main \ + constructs \ + arith \ + memory \ + gmp-only \ full-mmodel \ + format \ temporal \ special - # [JS 2019/02/26] deactivate tests 'builtin' as long as setjmp/longjmp is not # supported. -# builtin \ +# builtin +PLUGIN_TESTS_LIB := $(EACSL_PLUGIN_DIR)/tests/print.ml +DEV= +ifeq ("$(DEV)","yes") + EACSL_TEST_CONFIG=dev +else + EACSL_TEST_CONFIG:=ci endif +PLUGIN_PTESTS_OPTS:=-config $(EACSL_TEST_CONFIG) -PLUGIN_TESTS_LIB := $(EACSL_PLUGIN_DIR)/tests/print.ml -E_ACSL_TESTS: $(EACSL_PLUGIN_DIR)/tests/test_config - -E_ACSL_DEFAULT_TESTS: \ - $(EACSL_PLUGIN_DIR)/tests/test_config \ +E_ACSL_TESTS E_ACSL_DEFAULT_TESTS: \ + $(EACSL_PLUGIN_DIR)/tests/ptests_config \ + $(EACSL_PLUGIN_DIR)/tests/test_config_$(EACSL_TEST_CONFIG) \ $(EACSL_PLUGIN_DIR)/tests/print.cmxs \ $(EACSL_PLUGIN_DIR)/tests/print.cmo + +$(EACSL_PLUGIN_DIR)/tests/test_config_ci: \ + $(EACSL_PLUGIN_DIR)/tests/test_config_ci.in \ + $(EACSL_PLUGIN_DIR)/Makefile + $(PRINT_MAKING) $@ + $(SED) -e "s|@SEDCMD@|`which sed `|g" $< > $@ + +$(EACSL_PLUGIN_DIR)/tests/test_config_dev: \ + $(EACSL_PLUGIN_DIR)/tests/test_config_dev.in \ + $(EACSL_PLUGIN_DIR)/Makefile + $(PRINT_MAKING) $@ + $(SED) -e "s|@SEDCMD@|`which sed `|g" $< > $@ + +tests:: $(EACSL_PLUGIN_DIR)/tests/ptests_config + clean:: for d in $(E_ACSL_EXTRA_DIRS); do \ $(RM) $$d/*~; \ done $(PRINT_RM) cleaning generated test files $(RM) $(E_ACSL_DIR)/tests/*.cm* $(E_ACSL_DIR)/tests/*.o - $(RM) $(E_ACSL_DIR)/tests/test_config + $(RM) $(E_ACSL_DIR)/tests/test_config_ci \ + $(E_ACSL_DIR)/tests/test_config_dev $(RM) $(foreach dir, $(PLUGIN_TESTS_DIRS), tests/$(dir)/result/*) endif @@ -285,7 +298,19 @@ EACSL_DOC_FILES = \ man/e-acsl-gcc.sh.1 EACSL_TEST_FILES = \ - tests/test_config.in tests/print.ml + tests/test_config_dev.in \ + tests/test_config_ci.in \ + tests/gmp-only/test_config_ci \ + tests/gmp-only/test_config_dev \ + tests/full-mmodel/test_config_ci \ + tests/full-mmodel/test_config_dev \ + tests/builtin/test_config_ci \ + tests/builtin/test_config_dev \ + tests/temporal/test_config_ci \ + tests/temporal/test_config_dev \ + tests/format/test_config_ci \ + tests/format/test_config_dev \ + tests/print.ml # Test files without header management EACSL_DISTRIB_TESTS = \ @@ -298,7 +323,7 @@ EACSL_DISTRIB_TESTS = \ EACSL_RTL_FILES = $(EACSL_RTL_SRC) -EACSL_SCRIPT_FILES = scripts/e-acsl-gcc.sh scripts/testrun.sh +EACSL_SCRIPT_FILES = scripts/e-acsl-gcc.sh EACSL_LICENSE_FILES = \ license/CEA_LGPL license/SPARETIMELABS \ @@ -486,19 +511,6 @@ uninstall:: $(PRINT_RM) E-ACSL man pages $(RM) $(MANDIR)/man1/e-acsl-gcc.sh.1 -#################### -# Testing (part 2) # -#################### - -ifeq (@MAY_RUN_TESTS@,yes) - -$(E_ACSL_DIR)/tests/test_config: $(E_ACSL_DIR)/tests/test_config.in \ - $(E_ACSL_DIR)/Makefile - $(PRINT_MAKING) $@ - $(SED) -e "s|@SEDCMD@|`which sed `|g" $< > $@ - -endif - ##################################### # Regenerating the Makefile on need # ##################################### diff --git a/src/plugins/e-acsl/tests/runtime/decl_in_switch.c b/src/plugins/e-acsl/known_bugs/decl_in_switch.c similarity index 94% rename from src/plugins/e-acsl/tests/runtime/decl_in_switch.c rename to src/plugins/e-acsl/known_bugs/decl_in_switch.c index 4914dfe74a3f67fc2cf0914437a93c4ce020dbc1..16ddbbf61bb37e21594a834a8130c0b82062fb0c 100644 --- a/src/plugins/e-acsl/tests/runtime/decl_in_switch.c +++ b/src/plugins/e-acsl/known_bugs/decl_in_switch.c @@ -1,4 +1,4 @@ -/* run.config +/* run.config_ci DONTRUN: COMMENT: Variables declared in the body of switch statements so far cannot COMMENT: be tracked diff --git a/src/plugins/e-acsl/tests/full-mmodel-only/let-alias.c b/src/plugins/e-acsl/known_bugs/let-alias.c similarity index 56% rename from src/plugins/e-acsl/tests/full-mmodel-only/let-alias.c rename to src/plugins/e-acsl/known_bugs/let-alias.c index e21140b029593287b96bc31795fdb841d7b44aa5..25af1ec3080abc2de0e9850d8d478a7617aa7488 100644 --- a/src/plugins/e-acsl/tests/full-mmodel-only/let-alias.c +++ b/src/plugins/e-acsl/known_bugs/let-alias.c @@ -1,11 +1,13 @@ -/* run.config - COMMENT: let binding on alias, memory must be fully instrumented +/* run.config_dev + DONTRUN: */ +/* let binding on alias: only work with -e-acsl-full-mmodel; + should not be the case. */ + int main(void) { int t[4] = {1,2,3,4}; /*@ assert \let u = t + 1; *(u + 2) == 4; */ ; /*@ assert (\let u = t + 1; *(u + 2)) == 4; */ ; - return 0; } diff --git a/src/plugins/e-acsl/scripts/testrun.sh b/src/plugins/e-acsl/scripts/testrun.sh deleted file mode 100755 index 865545f6a0fb430b904307e4228497256ed62ed4..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/scripts/testrun.sh +++ /dev/null @@ -1,152 +0,0 @@ -#!/bin/sh -e -########################################################################## -# # -# This file is part of the Frama-C's E-ACSL plug-in. # -# # -# Copyright (C) 2012-2018 # -# CEA (Commissariat à l'énergie atomique et aux énergies # -# alternatives) # -# # -# you can redistribute it and/or modify it under the terms of the GNU # -# Lesser General Public License as published by the Free Software # -# Foundation, version 2.1. # -# # -# It is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU Lesser General Public License for more details. # -# # -# See the GNU Lesser General Public License version 2.1 # -# for more details (enclosed in the file licenses/LGPLv2.1). # -# # -########################################################################## - -# Convenience script for running tests with E-ACSL. Given a source file the -# sequence is as follows: -# 1. Instrument and compile a given source file with `e-acsl-gcc.sh` -# 2. Run executables generated from the instrumented source -# and check that it does not fail - -# Test failure is detected if: -# - `e-acsl-gcc.sh` fails (i.e., instrumentation- or compile-time failure) -# - A generated executable exists with a non-zero status -# - The run of this executable stops with a non-zero exit status - -# Arguments: -# $1 - base name of a test source file excluding its extension (e.g., addrOf) -# $2 - base name of a test suite directory the test file is located in -# (e.g., runtime). Provided that ROOT is the directory -# holding an E-ACSL repository there should be either: -# * $ROOT/test/runtime/addrOf.i or -# * $ROOT/test/runtime/addrOf.c -# $3 - if specified, re-run test sequence with -e-acsl-gmp-only flag -# $4 - extra flags for a `e-acsl-gcc.sh` run -# $5 - names of memory models to use -# $6 - if specified print extra messages and retain log files (DEBUG option) - -set -e - -TEST="$1" # Base name of the test file -PREFIX="$2" # Test suite directory (e.g., runtime) -GMP="$3" # Whether to issue an additional run with -e-acsl-gmp-only -EXTRA="$4" # Extra e-acsl-gcc.sh flags -MODELS="$5" # Specify models -DEBUG="$6" # Debug option - -EACSLGCC="$(dirname $0)/e-acsl-gcc.sh $EXTRA" # E-ACSL wrapper script -MODELS=${5-"segment bittree"} # Memory models to use (unless specified) - -ROOTDIR="`readlink -f $(dirname $0)/../`" # Root directory of the repository -TESTDIR="$ROOTDIR/tests/$PREFIX" # Test suite directory -RESDIR=$TESTDIR/result # Result directory within the test suite -TESTFILE=`ls $TESTDIR/$TEST.[ic]` # Source test file - -LOG="$RESDIR/$TEST.testrun" # Base name for log files -OUT="$RESDIR/gen_$TEST" # Base name for instrumented files -RUNS=1 # Nth run of `run_test` function - -# Print a message if the DEBUG flag is set -debug() { - if [ -n "$DEBUG" ]; then - echo " ** DEBUG: $1" 1>&2 - fi -} - -# Clean up log/output files unless DEBUG is set -clean() { - if [ -z "$DEBUG" ]; then - rm -f $LOG.* $OUT.* - fi -} - -# Error reporting -# $1 - error message -# $2 - log file. If supplied, the contents of the log file are dumped to -# STDERR with each line prefixed by ' > '. -error() { - echo "Error: $1" 1>&2 - if [ -n "$2" ]; then - cat $2 2>&1 | sed 's/^/ > /' 1>&2 - debug "See $2 for details" - fi - exit 1 -} - -debug "Test: $PREFIX/$TEST with $MODELS" - -# Do a clean-up on exit -trap "clean" EXIT HUP INT QUIT TERM - -# Run executable and report results -# $1 - path to an executable -# $2 - path to a log file -# $3 - memory model the executable has been linked against -run_executable() { - local executable="$1" - local log="$2" - local model="$3" - - debug "Run: $executable" - debug "Log: $log" - - if ! `$executable > $log 2>&1`; then - error "[$3 model] Runtime failure in test case '$TEST'" $log - fi -} - -# Instrument the given test using e-acsl-gcc.sh and check that the generated -# executable stops with a zero exit status -run_test() { - local ocode=$OUT.$RUNS.c # Generated source file - local logfile=$LOG.$RUNS.elog # Log file for e-acsl-gcc.sh output - local oexec=$OUT.$RUNS.out # Generated executable name - local oexeclog=$LOG.$RUNS.rlog # Log for executable output - local extra="$1" # Additional arguments to e-acsl-gcc.sh - - # Command for instrumenting the source file - COMMAND="$EACSLGCC $TESTFILE --ocode=$ocode --logfile=$logfile $extra" - - debug "Run $COMMAND" - $COMMAND || error "Command $COMMAND failed" "$logfile" - - # Compile instrumented source and run executable - for model in $MODELS; do - # Command for compiling the instrumented file with a given memory model. - # Make sure executables are compiled in the debug mode. - COMMAND="$EACSLGCC --compile-only --rt-debug --memory-model=$model \ - --logfile=$logfile --oexec-e-acsl=$oexec-$model $ocode" - debug "Run $COMMAND" - $COMMAND || error "Command $COMMAND failed" "$logfile" - run_executable $oexec-$model $oexeclog-$model $model - done - - RUNS=$((RUNS+1)) -} - -run_test "" -# Run GMP tests if specified -if [ -n "$GMP" ]; then - run_test "--gmp" -fi - -exit 0 diff --git a/src/plugins/e-acsl/tests/gmp/arith.i b/src/plugins/e-acsl/tests/arith/arith.i similarity index 100% rename from src/plugins/e-acsl/tests/gmp/arith.i rename to src/plugins/e-acsl/tests/arith/arith.i diff --git a/src/plugins/e-acsl/tests/gmp/array.i b/src/plugins/e-acsl/tests/arith/array.i similarity index 93% rename from src/plugins/e-acsl/tests/gmp/array.i rename to src/plugins/e-acsl/tests/arith/array.i index 8e988f14f86815cf8dbb0be0a22f8864ab29c7ba..6211cf0950134f6a9c05becab68884473392be21 100644 --- a/src/plugins/e-acsl/tests/gmp/array.i +++ b/src/plugins/e-acsl/tests/arith/array.i @@ -1,4 +1,4 @@ -/* run.config +/* run.config_ci COMMENT: arrays STDOPT: #"-slevel 5" */ diff --git a/src/plugins/e-acsl/tests/gmp/at.i b/src/plugins/e-acsl/tests/arith/at.i similarity index 100% rename from src/plugins/e-acsl/tests/gmp/at.i rename to src/plugins/e-acsl/tests/arith/at.i diff --git a/src/plugins/e-acsl/tests/gmp/at_on-purely-logic-variables.c b/src/plugins/e-acsl/tests/arith/at_on-purely-logic-variables.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/at_on-purely-logic-variables.c rename to src/plugins/e-acsl/tests/arith/at_on-purely-logic-variables.c diff --git a/src/plugins/e-acsl/tests/gmp/cast.i b/src/plugins/e-acsl/tests/arith/cast.i similarity index 90% rename from src/plugins/e-acsl/tests/gmp/cast.i rename to src/plugins/e-acsl/tests/arith/cast.i index 700d338841e3c8b337bbf333ed40279312eb8e21..910ca8b40d183e54f664850186174b06b5df7508 100644 --- a/src/plugins/e-acsl/tests/gmp/cast.i +++ b/src/plugins/e-acsl/tests/arith/cast.i @@ -1,6 +1,5 @@ /* run.config COMMENT: cast - STDOPT: #"-no-warn-signed-downcast" #"-no-warn-unsigned-downcast" */ int main(void) { diff --git a/src/plugins/e-acsl/tests/gmp/comparison.i b/src/plugins/e-acsl/tests/arith/comparison.i similarity index 100% rename from src/plugins/e-acsl/tests/gmp/comparison.i rename to src/plugins/e-acsl/tests/arith/comparison.i diff --git a/src/plugins/e-acsl/tests/gmp/functions.c b/src/plugins/e-acsl/tests/arith/functions.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/functions.c rename to src/plugins/e-acsl/tests/arith/functions.c diff --git a/src/plugins/e-acsl/tests/gmp/functions_rec.c b/src/plugins/e-acsl/tests/arith/functions_rec.c similarity index 83% rename from src/plugins/e-acsl/tests/gmp/functions_rec.c rename to src/plugins/e-acsl/tests/arith/functions_rec.c index 76c60912194b4481bc8e6f06bb94b8f522b6a2d4..8feb6f4e59dde504eb7ad2e4374c94867e39802a 100644 --- a/src/plugins/e-acsl/tests/gmp/functions_rec.c +++ b/src/plugins/e-acsl/tests/arith/functions_rec.c @@ -1,4 +1,4 @@ -/* run.config +/* run.config_ci COMMENT: recursive logic functions STDOPT: +"-eva-ignore-recursive-calls" */ @@ -19,9 +19,9 @@ 6; */ int main (void) { - // /*@ assert f1(0) == 0; */ ; - // /*@ assert f1(1) == 1; */ ; - // /*@ assert f1(100) == 5050; */ ; + /*@ assert f1(0) == 0; */ ; + /*@ assert f1(1) == 1; */ ; + /*@ assert f1(100) == 5050; */ ; /*@ assert f2(7) == 1; */ ; diff --git a/src/plugins/e-acsl/tests/gmp/integer_constant.i b/src/plugins/e-acsl/tests/arith/integer_constant.i similarity index 100% rename from src/plugins/e-acsl/tests/gmp/integer_constant.i rename to src/plugins/e-acsl/tests/arith/integer_constant.i diff --git a/src/plugins/e-acsl/tests/gmp/let.c b/src/plugins/e-acsl/tests/arith/let.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/let.c rename to src/plugins/e-acsl/tests/arith/let.c diff --git a/src/plugins/e-acsl/tests/gmp/longlong.i b/src/plugins/e-acsl/tests/arith/longlong.i similarity index 95% rename from src/plugins/e-acsl/tests/gmp/longlong.i rename to src/plugins/e-acsl/tests/arith/longlong.i index e013c42e76bbfafbd10611ddfa80ab90567ba575..9be4c44511b20d6b432aee24fd7b92f026d3cd9f 100644 --- a/src/plugins/e-acsl/tests/gmp/longlong.i +++ b/src/plugins/e-acsl/tests/arith/longlong.i @@ -1,4 +1,4 @@ -/* run.config +/* run.config_ci COMMENT: upgrading longlong to GMP STDOPT: +"-eva-ignore-recursive-calls" */ diff --git a/src/plugins/e-acsl/tests/gmp/not.i b/src/plugins/e-acsl/tests/arith/not.i similarity index 100% rename from src/plugins/e-acsl/tests/gmp/not.i rename to src/plugins/e-acsl/tests/arith/not.i diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/arith.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_ci/arith.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..38a48a7633bc1bd9ce121d8e99f5a422b09d05fa --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/arith.res.oracle @@ -0,0 +1,12 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/arith/arith.i:18: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/arith.i:34: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/arith.i:34: Warning: + signed overflow. assert -2147483648 ≤ 1 + __gen_e_acsl__7; +[eva:alarm] tests/arith/arith.i:34: Warning: + signed overflow. assert 1 + __gen_e_acsl__7 ≤ 2147483647; +[eva:alarm] tests/arith/arith.i:34: Warning: + function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/array.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_ci/array.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3e67d49ba6f489b956ea155d471c63c57a47de33 --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/array.res.oracle @@ -0,0 +1,8 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/arith/array.i:13: Warning: assertion got status unknown. +[eva:alarm] tests/arith/array.i:13: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/array.i:14: Warning: assertion got status unknown. +[eva:alarm] tests/arith/array.i:14: Warning: + function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/at.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_ci/at.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..1b2e6b52d1efc3ffa1b839a0d3fde9961a0799af --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/at.res.oracle @@ -0,0 +1,9 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/arith/at.i:12: Warning: assertion got status unknown. +[eva:alarm] tests/arith/at.i:14: Warning: assertion got status unknown. +[eva:alarm] tests/arith/at.i:48: Warning: assertion got status unknown. +[eva:alarm] tests/arith/at.i:49: Warning: assertion got status unknown. +[eva:alarm] tests/arith/at.i:50: Warning: assertion got status unknown. +[eva:alarm] tests/arith/at.i:26: Warning: assertion got status unknown. +[eva:alarm] tests/arith/at.i:28: Warning: assertion got status unknown. diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/at_on-purely-logic-variables.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_ci/at_on-purely-logic-variables.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..41e3ddedf6b9a2429d3dd3af4bf79b709853a896 --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/at_on-purely-logic-variables.res.oracle @@ -0,0 +1,87 @@ +[e-acsl] beginning translation. +[e-acsl] tests/arith/at_on-purely-logic-variables.c:64: Warning: + E-ACSL construct + `\at on purely logic variables that needs to allocate too much memory (bigger than int_max bytes)' + is not yet supported. + Ignoring annotation. +[e-acsl] tests/arith/at_on-purely-logic-variables.c:65: Warning: + E-ACSL construct `\at with logic variable linked to C variable' + is not yet supported. + Ignoring annotation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:28: Warning: + assertion got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:29: Warning: + assertion got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:29: Warning: + accessing uninitialized left-value. + assert \initialized(__gen_e_acsl_at_2 + (__gen_e_acsl_j - 2)); +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:29: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:29: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:31: Warning: + assertion got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:33: Warning: + accessing uninitialized left-value. + assert + \initialized(__gen_e_acsl_at_3 + + ((__gen_e_acsl_u - 9) * 11 + ((__gen_e_acsl_v - -5) - 1))); +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:34: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:37: Warning: + assertion got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:41: Warning: + assertion got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:41: Warning: + accessing uninitialized left-value. + assert \initialized(__gen_e_acsl_at_5 + ((__gen_e_acsl_k_3 - -9) - 1)); +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:41: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:41: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:43: Warning: + assertion got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:44: Warning: + accessing uninitialized left-value. + assert + \initialized(__gen_e_acsl_at_6 + + ((__gen_e_acsl_u_3 - 9) * 32 + ((__gen_e_acsl_v_3 - -5) - 1))); +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:45: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:7: Warning: + accessing uninitialized left-value. + assert \initialized(__gen_e_acsl_at + ((__gen_e_acsl_n - 1) - 1)); +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:7: Warning: + accessing uninitialized left-value. + assert \initialized(__gen_e_acsl_at_2 + ((__gen_e_acsl_n - 1) - 1)); +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:7: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:7: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:6: Warning: + function __gen_e_acsl_f: postcondition got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:8: Warning: + function __gen_e_acsl_f: postcondition got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:16: Warning: + assertion got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:16: Warning: + accessing uninitialized left-value. + assert \initialized(__gen_e_acsl_at + (__gen_e_acsl_w - 3)); +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:16: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:16: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:54: Warning: + assertion got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:56: Warning: + accessing uninitialized left-value. + assert + \initialized(__gen_e_acsl_at_7 + + ((__gen_e_acsl_u_5 - 10) * 300 + + (((__gen_e_acsl_v_5 - -10) - 1) * 100 + + ((__gen_e_acsl_w - 100) - 1)))); +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:63: Warning: + assertion got status unknown. +[eva:alarm] tests/arith/at_on-purely-logic-variables.c:65: Warning: + assertion got status unknown. diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/cast.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_ci/cast.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..91932086457759e419ca8dfd663c8ec59a66b00d --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/cast.res.oracle @@ -0,0 +1,4 @@ +[e-acsl] beginning translation. +[e-acsl] tests/arith/cast.i:22: Warning: + E-ACSL construct `R to Int' is not yet supported. Ignoring annotation. +[e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1326.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_ci/comparison.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts1326.res.oracle rename to src/plugins/e-acsl/tests/arith/oracle_ci/comparison.res.oracle diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/functions.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_ci/functions.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..52987f8cb85873505e7b239e37b417394cf058af --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/functions.res.oracle @@ -0,0 +1,14 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/arith/functions.c:44: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/functions.c:47: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/functions.c:48: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/functions.c:49: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/functions.c:68: Warning: + non-finite double value. assert \is_finite(__gen_e_acsl__10); +[eva:alarm] tests/arith/functions.c:68: Warning: + function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/functions_rec.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_ci/functions_rec.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..83535c9eff51d9ead77b1907e70cb8423c8cf4f6 --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/functions_rec.res.oracle @@ -0,0 +1,87 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/arith/functions_rec.c:22: Warning: + assertion got status unknown. +[eva:alarm] tests/arith/functions_rec.c:22: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/functions_rec.c:23: Warning: + assertion got status unknown. +[eva:alarm] tests/arith/functions_rec.c:23: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/functions_rec.c:24: Warning: + assertion got status unknown. +[eva] tests/arith/functions_rec.c:7: Warning: + recursive call during value analysis + of __gen_e_acsl_f1_2 (__gen_e_acsl_f1_2 <- __gen_e_acsl_f1_2 :: tests/arith/functions_rec.c:7 <- + __gen_e_acsl_f1 :: tests/arith/functions_rec.c:24 <- + main). + Assuming the call has no effect. The analysis will be unsound. +[eva:alarm] tests/arith/functions_rec.c:24: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/functions_rec.c:26: Warning: + assertion got status unknown. +[eva] tests/arith/functions_rec.c:10: Warning: + recursive call during value analysis + of __gen_e_acsl_f2_2 (__gen_e_acsl_f2_2 <- __gen_e_acsl_f2_2 :: tests/arith/functions_rec.c:10 <- + __gen_e_acsl_f2 :: tests/arith/functions_rec.c:26 <- + main). + Assuming the call has no effect. The analysis will be unsound. +[eva] tests/arith/functions_rec.c:10: Warning: + recursive call during value analysis + of __gen_e_acsl_f2_2 (__gen_e_acsl_f2_2 <- __gen_e_acsl_f2_2 :: tests/arith/functions_rec.c:10 <- + __gen_e_acsl_f2 :: tests/arith/functions_rec.c:26 <- + main). + Assuming the call has no effect. The analysis will be unsound. +[eva] tests/arith/functions_rec.c:10: Warning: + recursive call during value analysis + of __gen_e_acsl_f2_2 (__gen_e_acsl_f2_2 <- __gen_e_acsl_f2_2 :: tests/arith/functions_rec.c:10 <- + __gen_e_acsl_f2 :: tests/arith/functions_rec.c:26 <- + main). + Assuming the call has no effect. The analysis will be unsound. +[eva:alarm] tests/arith/functions_rec.c:10: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/functions_rec.c:10: Warning: + division by zero. assert __gen_e_acsl_f2_8 ≢ 0; +[eva:alarm] tests/arith/functions_rec.c:10: Warning: + signed overflow. + assert -2147483648 ≤ __gen_e_acsl_f2_4 * __gen_e_acsl_f2_6; +[eva:alarm] tests/arith/functions_rec.c:10: Warning: + signed overflow. assert __gen_e_acsl_f2_4 * __gen_e_acsl_f2_6 ≤ 2147483647; +[eva:alarm] tests/arith/functions_rec.c:10: Warning: + signed overflow. + assert + (int)(__gen_e_acsl_f2_4 * __gen_e_acsl_f2_6) / __gen_e_acsl_f2_8 ≤ + 2147483647; +[eva:alarm] tests/arith/functions_rec.c:10: Warning: + division by zero. assert __gen_e_acsl_f2_13 ≢ 0; +[eva:alarm] tests/arith/functions_rec.c:10: Warning: + signed overflow. + assert -2147483648 ≤ __gen_e_acsl_f2_9 * __gen_e_acsl_f2_11; +[eva:alarm] tests/arith/functions_rec.c:10: Warning: + signed overflow. + assert __gen_e_acsl_f2_9 * __gen_e_acsl_f2_11 ≤ 2147483647; +[eva:alarm] tests/arith/functions_rec.c:10: Warning: + signed overflow. + assert + (int)(__gen_e_acsl_f2_9 * __gen_e_acsl_f2_11) / __gen_e_acsl_f2_13 ≤ + 2147483647; +[eva:alarm] tests/arith/functions_rec.c:26: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/functions_rec.c:28: Warning: + assertion got status unknown. +[eva] tests/arith/functions_rec.c:14: Warning: + recursive call during value analysis + of __gen_e_acsl_f3_2 (__gen_e_acsl_f3_2 <- __gen_e_acsl_f3_2 :: tests/arith/functions_rec.c:14 <- + __gen_e_acsl_f3 :: tests/arith/functions_rec.c:28 <- + main). + Assuming the call has no effect. The analysis will be unsound. +[eva:alarm] tests/arith/functions_rec.c:30: Warning: + assertion got status unknown. +[eva] tests/arith/functions_rec.c:17: Warning: + recursive call during value analysis + of __gen_e_acsl_f4_2 (__gen_e_acsl_f4_2 <- __gen_e_acsl_f4_2 :: tests/arith/functions_rec.c:17 <- + __gen_e_acsl_f4 :: tests/arith/functions_rec.c:30 <- + main). + Assuming the call has no effect. The analysis will be unsound. +[eva:alarm] tests/arith/functions_rec.c:30: Warning: + function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_arith.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_arith.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_arith.c rename to src/plugins/e-acsl/tests/arith/oracle_ci/gen_arith.c diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_array.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_array.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_array.c rename to src/plugins/e-acsl/tests/arith/oracle_ci/gen_array.c diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_at.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_at.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_at.c rename to src/plugins/e-acsl/tests/arith/oracle_ci/gen_at.c diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_at_on-purely-logic-variables.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_at_on-purely-logic-variables.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_at_on-purely-logic-variables.c rename to src/plugins/e-acsl/tests/arith/oracle_ci/gen_at_on-purely-logic-variables.c diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_cast.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_cast.c similarity index 83% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_cast.c rename to src/plugins/e-acsl/tests/arith/oracle_ci/gen_cast.c index 134e920276e588bf0b0583dc40eb2c045962cfca..b11e400d36273bd589a8df0d920843dcbb5ed67a 100644 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_cast.c +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_cast.c @@ -9,24 +9,24 @@ int main(void) int y = 0; /*@ assert (int)x ≡ y; */ __e_acsl_assert((int)x == y,(char *)"Assertion",(char *)"main", - (char *)"(int)x == y",10); + (char *)"(int)x == y",9); /*@ assert x ≡ (long)y; */ __e_acsl_assert(x == (long)y,(char *)"Assertion",(char *)"main", - (char *)"x == (long)y",11); + (char *)"x == (long)y",10); /*@ assert y ≡ (int)0; */ __e_acsl_assert(y == 0,(char *)"Assertion",(char *)"main", - (char *)"y == (int)0",13); + (char *)"y == (int)0",12); /*@ assert (unsigned int)y ≡ (unsigned int)0; */ __e_acsl_assert((unsigned int)y == 0U,(char *)"Assertion",(char *)"main", - (char *)"(unsigned int)y == (unsigned int)0",14); + (char *)"(unsigned int)y == (unsigned int)0",13); /*@ assert y ≢ (int)0xfffffffffffffff; */ __e_acsl_assert(y != -1,(char *)"Assertion",(char *)"main", - (char *)"y != (int)0xfffffffffffffff",17); + (char *)"y != (int)0xfffffffffffffff",16); /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */ __e_acsl_assert((unsigned int)y != 4294967295U,(char *)"Assertion", (char *)"main", (char *)"(unsigned int)y != (unsigned int)0xfffffffffffffff", - 18); + 17); int t[2] = {0, 1}; /*@ assert (float)x ≡ t[(int)0.1]; */ ; __retres = 0; diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_comparison.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_comparison.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_comparison.c rename to src/plugins/e-acsl/tests/arith/oracle_ci/gen_comparison.c diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_functions.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_functions.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_functions.c rename to src/plugins/e-acsl/tests/arith/oracle_ci/gen_functions.c diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/gen_functions_rec.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_functions_rec.c new file mode 100644 index 0000000000000000000000000000000000000000..cbed6cde4bbd135b2cea1b8f75cc2466cfb41af6 --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_functions_rec.c @@ -0,0 +1,319 @@ +/* Generated by Frama-C */ +#include "stdio.h" +#include "stdlib.h" +/*@ logic ℤ f1(ℤ n) = n ≤ 0? 0: f1(n - 1) + n; + +*/ +void __gen_e_acsl_f1(__e_acsl_mpz_t *__retres_arg, int n); + +void __gen_e_acsl_f1_2(__e_acsl_mpz_t *__retres_arg, long n); + +/*@ logic ℤ f2(ℤ n) = n < 0? 1: (f2(n - 1) * f2(n - 2)) / f2(n - 3); + */ +int __gen_e_acsl_f2(int n); + +int __gen_e_acsl_f2_2(long n); + +/*@ logic ℤ g(ℤ n) = 0; + */ +int __gen_e_acsl_g(int n); + +int __gen_e_acsl_g_5(long n); + +/*@ logic ℤ f3(ℤ n) = n > 0? g(n) * f3(n - 1) - 5: g(n + 1); + */ +int __gen_e_acsl_f3(int n); + +int __gen_e_acsl_f3_2(long n); + +/*@ +logic ℤ f4(ℤ n) = + n < 100? f4(n + 1): (n < 0x7fffffffffffffffL? 0x7fffffffffffffffL: 6); + +*/ +unsigned long __gen_e_acsl_f4(int n); + +unsigned long __gen_e_acsl_f4_2(long n); + +int main(void) +{ + int __retres; + __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); + /*@ assert f1(0) ≡ 0; */ + { + __e_acsl_mpz_t __gen_e_acsl_f1_6; + __e_acsl_mpz_t __gen_e_acsl__3; + int __gen_e_acsl_eq; + __gen_e_acsl_f1(& __gen_e_acsl_f1_6,0); + __gmpz_init_set_si(__gen_e_acsl__3,0L); + __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_6), + (__e_acsl_mpz_struct const *)(__gen_e_acsl__3)); + __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main", + (char *)"f1(0) == 0",22); + __gmpz_clear(__gen_e_acsl_f1_6); + __gmpz_clear(__gen_e_acsl__3); + } + /*@ assert f1(1) ≡ 1; */ + { + __e_acsl_mpz_t __gen_e_acsl_f1_8; + __e_acsl_mpz_t __gen_e_acsl__4; + int __gen_e_acsl_eq_2; + __gen_e_acsl_f1(& __gen_e_acsl_f1_8,1); + __gmpz_init_set_si(__gen_e_acsl__4,1L); + __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__4)); + __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion", + (char *)"main",(char *)"f1(1) == 1",23); + __gmpz_clear(__gen_e_acsl_f1_8); + __gmpz_clear(__gen_e_acsl__4); + } + /*@ assert f1(100) ≡ 5050; */ + { + __e_acsl_mpz_t __gen_e_acsl_f1_10; + __e_acsl_mpz_t __gen_e_acsl__5; + int __gen_e_acsl_eq_3; + __gen_e_acsl_f1(& __gen_e_acsl_f1_10,100); + __gmpz_init_set_si(__gen_e_acsl__5,5050L); + __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_10), + (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); + __e_acsl_assert(__gen_e_acsl_eq_3 == 0,(char *)"Assertion", + (char *)"main",(char *)"f1(100) == 5050",24); + __gmpz_clear(__gen_e_acsl_f1_10); + __gmpz_clear(__gen_e_acsl__5); + } + /*@ assert f2(7) ≡ 1; */ + { + int __gen_e_acsl_f2_14; + __gen_e_acsl_f2_14 = __gen_e_acsl_f2(7); + __e_acsl_assert(__gen_e_acsl_f2_14 == 1,(char *)"Assertion", + (char *)"main",(char *)"f2(7) == 1",26); + } + /*@ assert f3(6) ≡ -5; */ + { + int __gen_e_acsl_f3_6; + __gen_e_acsl_f3_6 = __gen_e_acsl_f3(6); + __e_acsl_assert(__gen_e_acsl_f3_6 == -5,(char *)"Assertion", + (char *)"main",(char *)"f3(6) == -5",28); + } + /*@ assert f4(9) > 0; */ + { + unsigned long __gen_e_acsl_f4_6; + __gen_e_acsl_f4_6 = __gen_e_acsl_f4(9); + __e_acsl_assert(__gen_e_acsl_f4_6 > 0UL,(char *)"Assertion", + (char *)"main",(char *)"f4(9) > 0",30); + } + __retres = 0; + return __retres; +} + +void __gen_e_acsl_f1(__e_acsl_mpz_t *__retres_arg, int n) +{ + __e_acsl_mpz_t __gen_e_acsl_if_2; + if (n <= 0) { + __e_acsl_mpz_t __gen_e_acsl_; + __gmpz_init_set_si(__gen_e_acsl_,0L); + __gmpz_init_set(__gen_e_acsl_if_2, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); + __gmpz_clear(__gen_e_acsl_); + } + else { + __e_acsl_mpz_t __gen_e_acsl_f1_5; + __e_acsl_mpz_t __gen_e_acsl_n_2; + __e_acsl_mpz_t __gen_e_acsl_add_2; + __gen_e_acsl_f1_2(& __gen_e_acsl_f1_5,n - 1L); + __gmpz_init_set_si(__gen_e_acsl_n_2,(long)n); + __gmpz_init(__gen_e_acsl_add_2); + __gmpz_add(__gen_e_acsl_add_2, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_5), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_n_2)); + __gmpz_init_set(__gen_e_acsl_if_2, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2)); + __gmpz_clear(__gen_e_acsl_f1_5); + __gmpz_clear(__gen_e_acsl_n_2); + __gmpz_clear(__gen_e_acsl_add_2); + } + __gmpz_init_set(*__retres_arg, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2)); + __gmpz_clear(__gen_e_acsl_if_2); + return; +} + +void __gen_e_acsl_f1_2(__e_acsl_mpz_t *__retres_arg, long n) +{ + __e_acsl_mpz_t __gen_e_acsl_if; + if (n <= 0L) { + __e_acsl_mpz_t __gen_e_acsl__2; + __gmpz_init_set_si(__gen_e_acsl__2,0L); + __gmpz_init_set(__gen_e_acsl_if, + (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); + __gmpz_clear(__gen_e_acsl__2); + } + else { + __e_acsl_mpz_t __gen_e_acsl_f1_4; + __e_acsl_mpz_t __gen_e_acsl_n; + __e_acsl_mpz_t __gen_e_acsl_add; + __gen_e_acsl_f1_2(& __gen_e_acsl_f1_4,n - 1L); + __gmpz_init_set_si(__gen_e_acsl_n,n); + __gmpz_init(__gen_e_acsl_add); + __gmpz_add(__gen_e_acsl_add, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_f1_4), + (__e_acsl_mpz_struct const *)(__gen_e_acsl_n)); + __gmpz_init_set(__gen_e_acsl_if, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); + __gmpz_clear(__gen_e_acsl_f1_4); + __gmpz_clear(__gen_e_acsl_n); + __gmpz_clear(__gen_e_acsl_add); + } + __gmpz_init_set(*__retres_arg, + (__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); + __gmpz_clear(__gen_e_acsl_if); + return; +} + +int __gen_e_acsl_f2(int n) +{ + int __gen_e_acsl_if_4; + if (n < 0) __gen_e_acsl_if_4 = 1; + else { + int __gen_e_acsl_f2_9; + int __gen_e_acsl_f2_11; + int __gen_e_acsl_f2_13; + __gen_e_acsl_f2_9 = __gen_e_acsl_f2_2(n - 1L); + __gen_e_acsl_f2_11 = __gen_e_acsl_f2_2(n - 2L); + __gen_e_acsl_f2_13 = __gen_e_acsl_f2_2(n - 3L); + __e_acsl_assert(__gen_e_acsl_f2_13 != 0,(char *)"RTE",(char *)"f2", + (char *)"division_by_zero: __gen_e_acsl_f2_13 != 0",10); + /*@ assert Eva: division_by_zero: __gen_e_acsl_f2_13 ≢ 0; */ + /*@ assert + Eva: signed_overflow: + -2147483648 ≤ __gen_e_acsl_f2_9 * __gen_e_acsl_f2_11; + */ + /*@ assert + Eva: signed_overflow: + __gen_e_acsl_f2_9 * __gen_e_acsl_f2_11 ≤ 2147483647; + */ + /*@ assert + Eva: signed_overflow: + (int)(__gen_e_acsl_f2_9 * __gen_e_acsl_f2_11) / __gen_e_acsl_f2_13 + ≤ 2147483647; + */ + __gen_e_acsl_if_4 = (__gen_e_acsl_f2_9 * __gen_e_acsl_f2_11) / __gen_e_acsl_f2_13; + } + return __gen_e_acsl_if_4; +} + +int __gen_e_acsl_f2_2(long n) +{ + int __gen_e_acsl_if_3; + if (n < 0L) __gen_e_acsl_if_3 = 1; + else { + int __gen_e_acsl_f2_4; + int __gen_e_acsl_f2_6; + int __gen_e_acsl_f2_8; + __gen_e_acsl_f2_4 = __gen_e_acsl_f2_2(n - 1L); + __gen_e_acsl_f2_6 = __gen_e_acsl_f2_2(n - 2L); + __gen_e_acsl_f2_8 = __gen_e_acsl_f2_2(n - 3L); + __e_acsl_assert(__gen_e_acsl_f2_8 != 0,(char *)"RTE",(char *)"f2_2", + (char *)"division_by_zero: __gen_e_acsl_f2_8 != 0",10); + /*@ assert Eva: division_by_zero: __gen_e_acsl_f2_8 ≢ 0; */ + /*@ assert + Eva: signed_overflow: + -2147483648 ≤ __gen_e_acsl_f2_4 * __gen_e_acsl_f2_6; + */ + /*@ assert + Eva: signed_overflow: + __gen_e_acsl_f2_4 * __gen_e_acsl_f2_6 ≤ 2147483647; + */ + /*@ assert + Eva: signed_overflow: + (int)(__gen_e_acsl_f2_4 * __gen_e_acsl_f2_6) / __gen_e_acsl_f2_8 + ≤ 2147483647; + */ + __gen_e_acsl_if_3 = (__gen_e_acsl_f2_4 * __gen_e_acsl_f2_6) / __gen_e_acsl_f2_8; + } + return __gen_e_acsl_if_3; +} + +int __gen_e_acsl_g(int n) +{ + int __retres = 0; + return __retres; +} + +int __gen_e_acsl_g_5(long n) +{ + int __retres = 0; + return __retres; +} + +int __gen_e_acsl_f3(int n) +{ + int __gen_e_acsl_if_6; + if (n > 0) { + int __gen_e_acsl_g_2; + int __gen_e_acsl_f3_5; + __gen_e_acsl_g_2 = __gen_e_acsl_g(n); + __gen_e_acsl_f3_5 = __gen_e_acsl_f3_2(n - 1L); + __gen_e_acsl_if_6 = __gen_e_acsl_g_2 * __gen_e_acsl_f3_5 - 5; + } + else { + int __gen_e_acsl_g_8; + __gen_e_acsl_g_8 = __gen_e_acsl_g_5(n + 1L); + __gen_e_acsl_if_6 = __gen_e_acsl_g_8; + } + return __gen_e_acsl_if_6; +} + +int __gen_e_acsl_f3_2(long n) +{ + int __gen_e_acsl_if_5; + if (n > 0L) { + int __gen_e_acsl_g_4; + int __gen_e_acsl_f3_4; + __gen_e_acsl_g_4 = __gen_e_acsl_g((int)n); + __gen_e_acsl_f3_4 = __gen_e_acsl_f3_2(n - 1L); + __gen_e_acsl_if_5 = __gen_e_acsl_g_4 * __gen_e_acsl_f3_4 - 5; + } + else { + int __gen_e_acsl_g_6; + __gen_e_acsl_g_6 = __gen_e_acsl_g_5(n + 1L); + __gen_e_acsl_if_5 = __gen_e_acsl_g_6; + } + return __gen_e_acsl_if_5; +} + +unsigned long __gen_e_acsl_f4(int n) +{ + unsigned long __gen_e_acsl_if_10; + if (n < 100) { + unsigned long __gen_e_acsl_f4_5; + __gen_e_acsl_f4_5 = __gen_e_acsl_f4_2(n + 1L); + __gen_e_acsl_if_10 = __gen_e_acsl_f4_5; + } + else { + unsigned long __gen_e_acsl_if_9; + if ((long)n < 9223372036854775807L) __gen_e_acsl_if_9 = 9223372036854775807UL; + else __gen_e_acsl_if_9 = 6UL; + __gen_e_acsl_if_10 = __gen_e_acsl_if_9; + } + return __gen_e_acsl_if_10; +} + +unsigned long __gen_e_acsl_f4_2(long n) +{ + unsigned long __gen_e_acsl_if_8; + if (n < 100L) { + unsigned long __gen_e_acsl_f4_4; + __gen_e_acsl_f4_4 = __gen_e_acsl_f4_2(n + 1L); + __gen_e_acsl_if_8 = __gen_e_acsl_f4_4; + } + else { + unsigned long __gen_e_acsl_if_7; + if (n < 9223372036854775807L) __gen_e_acsl_if_7 = 9223372036854775807UL; + else __gen_e_acsl_if_7 = 6UL; + __gen_e_acsl_if_8 = __gen_e_acsl_if_7; + } + return __gen_e_acsl_if_8; +} + + diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_integer_constant.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_integer_constant.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_integer_constant.c rename to src/plugins/e-acsl/tests/arith/oracle_ci/gen_integer_constant.c diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_let.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_let.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_let.c rename to src/plugins/e-acsl/tests/arith/oracle_ci/gen_let.c diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_longlong.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_longlong.c rename to src/plugins/e-acsl/tests/arith/oracle_ci/gen_longlong.c diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_not.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_not.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_not.c rename to src/plugins/e-acsl/tests/arith/oracle_ci/gen_not.c diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_quantif.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_quantif.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_quantif.c rename to src/plugins/e-acsl/tests/arith/oracle_ci/gen_quantif.c diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_reals.c b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_rationals.c similarity index 86% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_reals.c rename to src/plugins/e-acsl/tests/arith/oracle_ci/gen_rationals.c index 7e0d70df561fe3b6f221af2593afe71fb1004baf..64dac120aa8e21333408cfabc5b3f3bc898ef69a 100644 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_reals.c +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/gen_rationals.c @@ -22,7 +22,7 @@ int main(void) __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); /*@ assert 3 ≢ 1.5; */ __e_acsl_assert(3. != 1.5,(char *)"Assertion",(char *)"main", - (char *)"3 != 1.5",14); + (char *)"3 != 1.5",12); /*@ assert 3 ≡ 1.5 + 1.5; */ { __e_acsl_mpq_t __gen_e_acsl_; @@ -43,7 +43,7 @@ int main(void) __gen_e_acsl_eq = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl_), (__e_acsl_mpq_struct const *)(__gen_e_acsl_add)); __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main", - (char *)"3 == 1.5 + 1.5",15); + (char *)"3 == 1.5 + 1.5",13); __gmpq_clear(__gen_e_acsl_); __gmpq_clear(__gen_e_acsl__2); __gmpq_clear(__gen_e_acsl__3); @@ -58,12 +58,12 @@ int main(void) __gen_e_acsl_eq_2 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__4), (__e_acsl_mpq_struct const *)(__gen_e_acsl__4)); __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion", - (char *)"main",(char *)"0.1 == 0.1",16); + (char *)"main",(char *)"0.1 == 0.1",14); __gmpq_clear(__gen_e_acsl__4); } /*@ assert (double)1.0 ≡ 1.0; */ __e_acsl_assert(1. == 1.,(char *)"Assertion",(char *)"main", - (char *)"(double)1.0 == 1.0",17); + (char *)"(double)1.0 == 1.0",15); /*@ assert (double)0.1 ≢ 0.1; */ { __e_acsl_mpq_t __gen_e_acsl__5; @@ -79,7 +79,7 @@ int main(void) __gen_e_acsl_ne = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__7), (__e_acsl_mpq_struct const *)(__gen_e_acsl__5)); __e_acsl_assert(__gen_e_acsl_ne != 0,(char *)"Assertion",(char *)"main", - (char *)"(double)0.1 != 0.1",18); + (char *)"(double)0.1 != 0.1",16); __gmpq_clear(__gen_e_acsl__5); __gmpq_clear(__gen_e_acsl__7); } @@ -98,7 +98,7 @@ int main(void) */ __e_acsl_assert((double)((float)__gen_e_acsl__9) != __gen_e_acsl__10, (char *)"Assertion",(char *)"main", - (char *)"(float)0.1 != (double)0.1",19); + (char *)"(float)0.1 != (double)0.1",17); __gmpq_clear(__gen_e_acsl__8); } /*@ assert (double)1.1 ≢ 1 + 0.1; */ @@ -127,7 +127,7 @@ int main(void) __gen_e_acsl_ne_2 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__15), (__e_acsl_mpq_struct const *)(__gen_e_acsl_add_2)); __e_acsl_assert(__gen_e_acsl_ne_2 != 0,(char *)"Assertion", - (char *)"main",(char *)"(double)1.1 != 1 + 0.1",20); + (char *)"main",(char *)"(double)1.1 != 1 + 0.1",18); __gmpq_clear(__gen_e_acsl__11); __gmpq_clear(__gen_e_acsl__13); __gmpq_clear(__gen_e_acsl__14); @@ -162,7 +162,7 @@ int main(void) __gen_e_acsl_eq_3 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl_add_3), (__e_acsl_mpq_struct const *)(__gen_e_acsl_sub)); __e_acsl_assert(__gen_e_acsl_eq_3 == 0,(char *)"Assertion", - (char *)"main",(char *)"1 + 0.1 == 2 - 0.9",21); + (char *)"main",(char *)"1 + 0.1 == 2 - 0.9",19); __gmpq_clear(__gen_e_acsl__16); __gmpq_clear(__gen_e_acsl__17); __gmpq_clear(__gen_e_acsl_add_3); @@ -193,67 +193,39 @@ int main(void) __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(__gen_e_acsl_ne_3 != 0,(char *)"Assertion", - (char *)"main",(char *)"sum != x * y",25); + (char *)"main",(char *)"sum != x * y",23); __gmpq_clear(__gen_e_acsl_y); __gmpq_clear(__gen_e_acsl__20); __gmpq_clear(__gen_e_acsl_mul); __gmpq_clear(__gen_e_acsl__21); } - /*@ assert \let n = 1; 4 ≡ n + 3.0; */ + double d = 0.1; + __gen_e_acsl_avg(4.3,11.7); + /*@ assert 1.1d ≢ 1 + 0.1; */ { - int __gen_e_acsl_n; __e_acsl_mpq_t __gen_e_acsl__22; __e_acsl_mpq_t __gen_e_acsl__23; - __e_acsl_mpq_t __gen_e_acsl__24; __e_acsl_mpq_t __gen_e_acsl_add_4; - int __gen_e_acsl_eq_4; - __gen_e_acsl_n = 1; + __e_acsl_mpq_t __gen_e_acsl__24; + int __gen_e_acsl_ne_4; __gmpq_init(__gen_e_acsl__22); - __gmpq_set_str(__gen_e_acsl__22,"4",10); + __gmpq_set_str(__gen_e_acsl__22,"1",10); __gmpq_init(__gen_e_acsl__23); - __gmpq_set_d(__gen_e_acsl__23,3.); - __gmpq_init(__gen_e_acsl__24); - __gmpq_set_si(__gen_e_acsl__24,(long)__gen_e_acsl_n); + __gmpq_set_str(__gen_e_acsl__23,"01/10",10); __gmpq_init(__gen_e_acsl_add_4); __gmpq_add(__gen_e_acsl_add_4, - (__e_acsl_mpq_struct const *)(__gen_e_acsl__24), + (__e_acsl_mpq_struct const *)(__gen_e_acsl__22), (__e_acsl_mpq_struct const *)(__gen_e_acsl__23)); - __gen_e_acsl_eq_4 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__22), + __gmpq_init(__gen_e_acsl__24); + __gmpq_set_d(__gen_e_acsl__24,1.1); + __gen_e_acsl_ne_4 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__24), (__e_acsl_mpq_struct const *)(__gen_e_acsl_add_4)); - __e_acsl_assert(__gen_e_acsl_eq_4 == 0,(char *)"Assertion", - (char *)"main",(char *)"\\let n = 1; 4 == n + 3.0",26); + __e_acsl_assert(__gen_e_acsl_ne_4 != 0,(char *)"Assertion", + (char *)"main",(char *)"1.1d != 1 + 0.1",30); __gmpq_clear(__gen_e_acsl__22); __gmpq_clear(__gen_e_acsl__23); - __gmpq_clear(__gen_e_acsl__24); __gmpq_clear(__gen_e_acsl_add_4); - } - double d = 0.1; - __gen_e_acsl_avg(4.3,11.7); - /*@ assert 1.1d ≢ 1 + 0.1; */ - { - __e_acsl_mpq_t __gen_e_acsl__25; - __e_acsl_mpq_t __gen_e_acsl__26; - __e_acsl_mpq_t __gen_e_acsl_add_5; - __e_acsl_mpq_t __gen_e_acsl__27; - int __gen_e_acsl_ne_4; - __gmpq_init(__gen_e_acsl__25); - __gmpq_set_str(__gen_e_acsl__25,"1",10); - __gmpq_init(__gen_e_acsl__26); - __gmpq_set_str(__gen_e_acsl__26,"01/10",10); - __gmpq_init(__gen_e_acsl_add_5); - __gmpq_add(__gen_e_acsl_add_5, - (__e_acsl_mpq_struct const *)(__gen_e_acsl__25), - (__e_acsl_mpq_struct const *)(__gen_e_acsl__26)); - __gmpq_init(__gen_e_acsl__27); - __gmpq_set_d(__gen_e_acsl__27,1.1); - __gen_e_acsl_ne_4 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__27), - (__e_acsl_mpq_struct const *)(__gen_e_acsl_add_5)); - __e_acsl_assert(__gen_e_acsl_ne_4 != 0,(char *)"Assertion", - (char *)"main",(char *)"1.1d != 1 + 0.1",32); - __gmpq_clear(__gen_e_acsl__25); - __gmpq_clear(__gen_e_acsl__26); - __gmpq_clear(__gen_e_acsl_add_5); - __gmpq_clear(__gen_e_acsl__27); + __gmpq_clear(__gen_e_acsl__24); } __retres = 0; return __retres; @@ -339,7 +311,7 @@ double __gen_e_acsl_avg(double a, double b) else __gen_e_acsl_and = 0; __e_acsl_assert(__gen_e_acsl_and,(char *)"Postcondition",(char *)"avg", (char *)"\\let delta = 1;\n\\let avg_real = (\\old(a) + \\old(b)) / 2;\n avg_real - delta < \\result < avg_real + delta", - 6); + 4); __gmpq_clear(__gen_e_acsl_avg_real); __gmpq_clear(__gen_e_acsl_); __gmpq_clear(__gen_e_acsl_add); diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/integer_constant.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_ci/integer_constant.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6b57e2f2567a73c9c0cecf048b1085a58562d64c --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/integer_constant.res.oracle @@ -0,0 +1,4 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/arith/integer_constant.i:11: Warning: + function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/let.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_ci/let.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ca9d6da56ba3a181b86474b0bc1a30698b36e61c --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/let.res.oracle @@ -0,0 +1,19 @@ +[e-acsl] beginning translation. +[e-acsl] tests/arith/let.c:30: Warning: + E-ACSL construct `let-binding on array or pointer' is not yet supported. + Ignoring annotation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/arith/let.c:7: Warning: assertion got status unknown. +[eva:alarm] tests/arith/let.c:9: Warning: assertion got status unknown. +[eva:alarm] tests/arith/let.c:12: Warning: assertion got status unknown. +[eva:alarm] tests/arith/let.c:14: Warning: assertion got status unknown. +[eva:alarm] tests/arith/let.c:17: Warning: assertion got status unknown. +[eva:alarm] tests/arith/let.c:21: Warning: assertion got status unknown. +[eva:alarm] tests/arith/let.c:21: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/let.c:24: Warning: assertion got status unknown. +[eva:alarm] tests/arith/let.c:27: Warning: assertion got status unknown. +[eva:alarm] tests/arith/let.c:30: Warning: assertion got status unknown. +[eva:alarm] tests/arith/let.c:32: Warning: assertion got status unknown. +[eva:alarm] tests/arith/let.c:35: Warning: assertion got status unknown. +[eva:alarm] tests/arith/let.c:39: Warning: assertion got status unknown. diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/longlong.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_ci/longlong.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..124461612b970a0ba6842a2ef51aec04edd861ba --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/longlong.res.oracle @@ -0,0 +1,14 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva] tests/arith/longlong.i:9: Warning: + recursive call during value analysis + of my_pow (my_pow <- my_pow :: tests/arith/longlong.i:16 <- main). Assuming + the call has no effect. The analysis will be unsound. +[eva:alarm] tests/arith/longlong.i:10: Warning: + signed overflow. assert -2147483648 ≤ tmp * tmp; +[eva:alarm] tests/arith/longlong.i:10: Warning: + signed overflow. assert tmp * tmp ≤ 2147483647; +[eva:alarm] tests/arith/longlong.i:17: Warning: + function __gmpz_import: precondition got status unknown. +[eva:alarm] tests/arith/longlong.i:17: Warning: + function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1399.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_ci/not.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts1399.res.oracle rename to src/plugins/e-acsl/tests/arith/oracle_ci/not.res.oracle diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/quantif.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_ci/quantif.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e34fffe72687422b0029223b19570a7b4c0d0f3c --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/quantif.res.oracle @@ -0,0 +1,25 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/arith/quantif.i:9: Warning: assertion got status unknown. +[eva:alarm] tests/arith/quantif.i:10: Warning: assertion got status unknown. +[eva:alarm] tests/arith/quantif.i:11: Warning: assertion got status unknown. +[eva:alarm] tests/arith/quantif.i:15: Warning: assertion got status unknown. +[eva:alarm] tests/arith/quantif.i:15: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/quantif.i:20: Warning: assertion got status unknown. +[eva:alarm] tests/arith/quantif.i:24: Warning: assertion got status unknown. +[eva:alarm] tests/arith/quantif.i:24: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/quantif.i:30: Warning: assertion got status unknown. +[eva:alarm] tests/arith/quantif.i:30: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/quantif.i:31: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/quantif.i:32: Warning: assertion got status unknown. +[eva:alarm] tests/arith/quantif.i:32: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/quantif.i:33: Warning: assertion got status unknown. +[eva:alarm] tests/arith/quantif.i:33: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/quantif.i:37: Warning: assertion got status unknown. +[eva:alarm] tests/arith/quantif.i:40: Warning: assertion got status unknown. diff --git a/src/plugins/e-acsl/tests/arith/oracle_ci/rationals.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_ci/rationals.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0f4b10fa65e7af752e46e48f474503dc2b38b725 --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_ci/rationals.res.oracle @@ -0,0 +1,45 @@ +[kernel:parser:decimal-float] tests/arith/rationals.c:20: Warning: + Floating-point constant 0.2f is not represented exactly. Will use 0x1.99999a0000000p-3. + (warn-once: no further messages from category 'parser:decimal-float' will be emitted) +[e-acsl] beginning translation. +[e-acsl] Warning: R to float: double rounding might cause unsoundness +[e-acsl] tests/arith/rationals.c:17: Warning: + E-ACSL construct `predicate with no definition nor reads clause' + is not yet supported. + Ignoring annotation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/arith/rationals.c:13: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/rationals.c:14: Warning: assertion got status unknown. +[eva:alarm] tests/arith/rationals.c:14: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/rationals.c:16: Warning: assertion got status unknown. +[eva:alarm] tests/arith/rationals.c:16: Warning: + non-finite double value. assert \is_finite(__gen_e_acsl__6); +[eva:alarm] tests/arith/rationals.c:16: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/rationals.c:17: Warning: + non-finite double value. assert \is_finite(__gen_e_acsl__9); +[eva:alarm] tests/arith/rationals.c:17: Warning: + non-finite double value. assert \is_finite(__gen_e_acsl__10); +[eva:alarm] tests/arith/rationals.c:17: Warning: + non-finite float value. assert \is_finite((float)__gen_e_acsl__9); +[eva:alarm] tests/arith/rationals.c:17: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/rationals.c:18: Warning: assertion got status unknown. +[eva:alarm] tests/arith/rationals.c:18: Warning: + non-finite double value. assert \is_finite(__gen_e_acsl__12); +[eva:alarm] tests/arith/rationals.c:18: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/rationals.c:19: Warning: assertion got status unknown. +[eva:alarm] tests/arith/rationals.c:19: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/rationals.c:23: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/rationals.c:4: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/arith/rationals.c:4: Warning: + function __gen_e_acsl_avg: postcondition got status unknown. +[eva:alarm] tests/arith/rationals.c:30: Warning: assertion got status unknown. +[eva:alarm] tests/arith/rationals.c:30: Warning: + function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/arith/oracle_dev/arith.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_dev/arith.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..bb570ee92a885dcd365840665e9b00de514a5dab --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_dev/arith.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/arith/arith.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/arith/oracle_dev/array.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_dev/array.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..5e053cab3c744e96f02ea58ddbfac726d008ca3f --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_dev/array.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/arith/array.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/arith/oracle_dev/at.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_dev/at.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b42f8f987b3811fcd47315b45c397fc50c18ae68 --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_dev/at.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/arith/at.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/arith/oracle_dev/at_on-purely-logic-variables.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_dev/at_on-purely-logic-variables.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..63ab243f0f0ac90b52eb92796f458031b2f23bc9 --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_dev/at_on-purely-logic-variables.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/arith/at_on-purely-logic-variables.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/arith/oracle_dev/cast.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_dev/cast.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..4e888498a7d29bd018398fa488d5cd0bcd5d6caf --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_dev/cast.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/arith/cast.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/arith/oracle_dev/comparison.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_dev/comparison.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..8e470a21dcd8bc3a4fb7cbd653e6337840efddb5 --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_dev/comparison.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/arith/comparison.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/arith/oracle_dev/functions.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_dev/functions.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..26a62cddaa2b4afdf33d1692dae5a3a79c99e62c --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_dev/functions.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/arith/functions.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/arith/oracle_dev/functions_rec.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_dev/functions_rec.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..455ec56a835fd3d1536d3d10137cf67286160091 --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_dev/functions_rec.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/arith/functions_rec.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/arith/oracle_dev/integer_constant.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_dev/integer_constant.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..1b7f30270118bd782618efb4910af0ce98954bd0 --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_dev/integer_constant.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/arith/integer_constant.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/arith/oracle_dev/let.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_dev/let.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..803e26e12bb488545504f8066fe36c9f59a6de14 --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_dev/let.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/arith/let.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/arith/oracle_dev/longlong.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_dev/longlong.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..7e06012b6641a71b7d86732ac93f9801f42f1f5a --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_dev/longlong.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/arith/longlong.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/arith/oracle_dev/not.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_dev/not.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..58a67ef052fb929bfd6e270717f18174ad1403fe --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_dev/not.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/arith/not.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/arith/oracle_dev/quantif.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_dev/quantif.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..912f940b8d7f93255e66171733e59b74f0fb30ce --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_dev/quantif.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/arith/quantif.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/arith/oracle_dev/rationals.res.oracle b/src/plugins/e-acsl/tests/arith/oracle_dev/rationals.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ab4a875d1ad88731e1251bb3bf2f3097a47a32ea --- /dev/null +++ b/src/plugins/e-acsl/tests/arith/oracle_dev/rationals.res.oracle @@ -0,0 +1,4 @@ +[kernel] Parsing tests/arith/rationals.c (with preprocessing) +[kernel:parser:decimal-float] tests/arith/rationals.c:20: Warning: + Floating-point constant 0.2f is not represented exactly. Will use 0x1.99999a0000000p-3. + (warn-once: no further messages from category 'parser:decimal-float' will be emitted) diff --git a/src/plugins/e-acsl/tests/gmp/quantif.i b/src/plugins/e-acsl/tests/arith/quantif.i similarity index 100% rename from src/plugins/e-acsl/tests/gmp/quantif.i rename to src/plugins/e-acsl/tests/arith/quantif.i diff --git a/src/plugins/e-acsl/tests/gmp/reals.c b/src/plugins/e-acsl/tests/arith/rationals.c similarity index 89% rename from src/plugins/e-acsl/tests/gmp/reals.c rename to src/plugins/e-acsl/tests/arith/rationals.c index ba944cedc2ed59d19431ed9185d0a245187c8abe..84c8b0949b4d44178f43101ad840b05ad734d50e 100644 --- a/src/plugins/e-acsl/tests/gmp/reals.c +++ b/src/plugins/e-acsl/tests/arith/rationals.c @@ -1,6 +1,4 @@ -/* run.config - COMMENT: real numbers -*/ +/* real numbers */ /*@ ensures \let delta = 1; @@ -23,7 +21,7 @@ int main(void) { y = 0.3f, sum = x + y; /*@ assert sum != x * y; */ ; - /*@ assert \let n = 1; 4 == n + 3.0; */ ; + /* @ assert \let n = 1; 4 == n + 3.0; */ ; // TODO: fail at runtime, I don't know why double d = 0.1; diff --git a/src/plugins/e-acsl/tests/gmp/result/.gitkeep b/src/plugins/e-acsl/tests/arith/result_ci/.gitkeep similarity index 100% rename from src/plugins/e-acsl/tests/gmp/result/.gitkeep rename to src/plugins/e-acsl/tests/arith/result_ci/.gitkeep diff --git a/src/plugins/e-acsl/tests/bts/bts1390.c b/src/plugins/e-acsl/tests/bts/bts1390.c index eddb97a0285f9f8dbc4a6e97d19a33cc13e87ada..74cba86cdbefc49eb207bda3bdbe6f3178c5f15c 100644 --- a/src/plugins/e-acsl/tests/bts/bts1390.c +++ b/src/plugins/e-acsl/tests/bts/bts1390.c @@ -1,5 +1,4 @@ /* run.config - STDOPT: +"-no-val-builtins-auto" COMMENT: bts #1390, issue with typing of quantified variables */ diff --git a/src/plugins/e-acsl/tests/bts/bts1395.i b/src/plugins/e-acsl/tests/bts/bts1395.i index 6b82653a96baf7ce2a68119d105cc35fce8a6232..ef01c83d78b3a55f12e943321f73fdc7567fe102 100644 --- a/src/plugins/e-acsl/tests/bts/bts1395.i +++ b/src/plugins/e-acsl/tests/bts/bts1395.i @@ -1,4 +1,4 @@ -/* run.config +/* run.config_ci COMMENT: recursive function STDOPT: +"-eva-ignore-recursive-calls" */ diff --git a/src/plugins/e-acsl/tests/bts/bts1399.c b/src/plugins/e-acsl/tests/bts/bts1399.c index 66032b3c1774e39f8579832add628324a52fe905..4e2266935d9412df8b276bbcf2706953c3fb3bba 100644 --- a/src/plugins/e-acsl/tests/bts/bts1399.c +++ b/src/plugins/e-acsl/tests/bts/bts1399.c @@ -1,12 +1,9 @@ /* run.config COMMENT: complex fields and indexes + potential RTE in \initialized - STDOPT: +"-no-val-alloc-returns-null" */ #include "stdlib.h" -extern void *malloc(size_t p); - struct spongeStateStruct { unsigned char __attribute__((__aligned__(32))) state[1600 / 8] ; unsigned char __attribute__((__aligned__(32))) dataQueue[1536 / 8] ; diff --git a/src/plugins/e-acsl/tests/bts/bts2305.c b/src/plugins/e-acsl/tests/bts/bts2305.c index 968fa232b4978ccec7a7f6a6c024efed6e888945..4b35e986c7601c42f74cd6e44841c2f8e9cfef3a 100644 --- a/src/plugins/e-acsl/tests/bts/bts2305.c +++ b/src/plugins/e-acsl/tests/bts/bts2305.c @@ -1,5 +1,5 @@ /* run.config - COMMENT: bts #2252, taking the address of a bitfield + COMMENT: bts #2305, taking the address of a bitfield */ #include <stdbool.h> @@ -21,4 +21,4 @@ int main(int argc, char **argv) t.j = 1; //@ assert \initialized(&(t.j)); return test(&t); -} \ No newline at end of file +} diff --git a/src/plugins/e-acsl/tests/bts/bts2386.c b/src/plugins/e-acsl/tests/bts/bts2386.c index a401b20823cd417e42a59a1a715fedb30bbc8d89..007b5c1523db429bdd25baee480d4ccb1fdfcd97 100644 --- a/src/plugins/e-acsl/tests/bts/bts2386.c +++ b/src/plugins/e-acsl/tests/bts/bts2386.c @@ -1,14 +1,5 @@ /* run.config, run.config_2 COMMENT: pointer substraction - COMMENT: on gcc_x86_64 - LOG: gen_@PTEST_NAME@.c - OPT: -machdep gcc_x86_64 -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/bts/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -val -value-verbose 0 - COMMENT: on x86_32 (default case when no machdep is given) - LOG: gen_@PTEST_NAME@_2.c - OPT: -machdep x86_32 -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/bts/result/gen_@PTEST_NAME@_2.c -kernel-verbose 0 -val -value-verbose 0 - COMMENT: with "-e-acsl-gmp-only" - LOG: gen_@PTEST_NAME@_3.c - OPT: -e-acsl -e-acsl-gmp-only -then-last -load-script tests/print.cmxs -print -ocode tests/bts/result/gen_@PTEST_NAME@_3.c -kernel-verbose 0 -val -value-verbose 0 */ void f(const void *s, int c, unsigned long n) { @@ -21,4 +12,4 @@ int main() { const char *s = "1234567890"; f(s, '0', 11); return 0; -} \ No newline at end of file +} diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts2386.2.res.oracle b/src/plugins/e-acsl/tests/bts/oracle/bts2386.2.res.oracle deleted file mode 100644 index 164b435ffa8cf0a6fb91adc0137d5ff98940874e..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/bts/oracle/bts2386.2.res.oracle +++ /dev/null @@ -1,6 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/bts/bts2386.c:16: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/bts/bts2386.c:17: Warning: - function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386_2.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386_2.c deleted file mode 100644 index 99d090f4adb9469dc97ec2ef33017d4a5114c873..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386_2.c +++ /dev/null @@ -1,52 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -char *__gen_e_acsl_literal_string; -void f(void const *s, int c, unsigned long n) -{ - __e_acsl_store_block((void *)(& s),(size_t)4); - unsigned char const *p = (unsigned char const *)s; - __e_acsl_store_block((void *)(& p),(size_t)4); - __e_acsl_full_init((void *)(& p)); - /*@ assert p - (unsigned char const *)s ≡ n - n; */ - __e_acsl_assert(p - (unsigned char const *)s == n - (long long)n, - (char *)"Assertion",(char *)"f", - (char *)"p - (unsigned char const *)s == n - n",16); - /*@ assert p - (unsigned char const *)s ≡ 0; */ - __e_acsl_assert(p - (unsigned char const *)s == 0U,(char *)"Assertion", - (char *)"f",(char *)"p - (unsigned char const *)s == 0",17); - __e_acsl_delete_block((void *)(& s)); - __e_acsl_delete_block((void *)(& p)); - return; -} - -void __e_acsl_globals_init(void) -{ - static char __e_acsl_already_run = 0; - if (! __e_acsl_already_run) { - __e_acsl_already_run = 1; - __gen_e_acsl_literal_string = "1234567890"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string, - sizeof("1234567890")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string); - } - return; -} - -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)4); - __e_acsl_globals_init(); - char const *s = __gen_e_acsl_literal_string; - __e_acsl_store_block((void *)(& s),(size_t)4); - __e_acsl_full_init((void *)(& s)); - f((void const *)s,'0',(unsigned long)11); - __retres = 0; - __e_acsl_delete_block((void *)(& s)); - __e_acsl_memory_clean(); - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386_3.c b/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386_3.c deleted file mode 100644 index 2977b9cbbe0f4b1410d0d1b72e17616bad7a9ead..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386_3.c +++ /dev/null @@ -1,81 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -char *__gen_e_acsl_literal_string; -void f(void const *s, int c, unsigned long n) -{ - __e_acsl_store_block((void *)(& s),(size_t)4); - unsigned char const *p = (unsigned char const *)s; - __e_acsl_store_block((void *)(& p),(size_t)4); - __e_acsl_full_init((void *)(& p)); - /*@ assert p - (unsigned char const *)s ≡ n - n; */ - { - __e_acsl_mpz_t __gen_e_acsl_; - __e_acsl_mpz_t __gen_e_acsl_n; - __e_acsl_mpz_t __gen_e_acsl_sub; - int __gen_e_acsl_eq; - __gmpz_init_set_ui(__gen_e_acsl_, - (unsigned long)(p - (unsigned char const *)s)); - __gmpz_init_set_ui(__gen_e_acsl_n,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(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"f", - (char *)"p - (unsigned char const *)s == n - n",16); - __gmpz_clear(__gen_e_acsl_); - __gmpz_clear(__gen_e_acsl_n); - __gmpz_clear(__gen_e_acsl_sub); - } - /*@ assert p - (unsigned char const *)s ≡ 0; */ - { - __e_acsl_mpz_t __gen_e_acsl__2; - __e_acsl_mpz_t __gen_e_acsl__3; - int __gen_e_acsl_eq_2; - __gmpz_init_set_ui(__gen_e_acsl__2, - (unsigned long)(p - (unsigned char const *)s)); - __gmpz_init_set_si(__gen_e_acsl__3,0L); - __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__3)); - __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion",(char *)"f", - (char *)"p - (unsigned char const *)s == 0",17); - __gmpz_clear(__gen_e_acsl__2); - __gmpz_clear(__gen_e_acsl__3); - } - __e_acsl_delete_block((void *)(& s)); - __e_acsl_delete_block((void *)(& p)); - return; -} - -void __e_acsl_globals_init(void) -{ - static char __e_acsl_already_run = 0; - if (! __e_acsl_already_run) { - __e_acsl_already_run = 1; - __gen_e_acsl_literal_string = "1234567890"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string, - sizeof("1234567890")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string); - } - return; -} - -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)4); - __e_acsl_globals_init(); - char const *s = __gen_e_acsl_literal_string; - __e_acsl_store_block((void *)(& s),(size_t)4); - __e_acsl_full_init((void *)(& s)); - f((void const *)s,'0',(unsigned long)11); - __retres = 0; - __e_acsl_delete_block((void *)(& s)); - __e_acsl_memory_clean(); - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1304.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1304.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts1304.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts1304.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1307.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1307.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts1307.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts1307.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1324.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1324.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts1324.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts1324.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1478.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1326.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts1478.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts1326.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1390.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1390.res.oracle similarity index 58% rename from src/plugins/e-acsl/tests/bts/oracle/bts1390.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts1390.res.oracle index a0dedf7f3e93ef8fc02bcbaf6c38f112f4a93801..929213a9cd28be0c159806a3a650b1cf7b651dfe 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/bts1390.res.oracle +++ b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1390.res.oracle @@ -1,10 +1,12 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/bts/bts1390.c:12: Warning: +[eva:builtins:missing-spec] tests/bts/bts1390.c:13: Warning: + The builtin for function memchr will not be used, as its frama-c libc specification is not available. +[eva:alarm] tests/bts/bts1390.c:11: Warning: function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/bts/bts1390.c:9: Warning: +[eva:alarm] tests/bts/bts1390.c:8: Warning: function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/bts/bts1390.c:13: Warning: +[eva:alarm] tests/bts/bts1390.c:12: Warning: function __gen_e_acsl_memchr, behavior not_exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.) -[eva:alarm] tests/bts/bts1390.c:18: Warning: +[eva:alarm] tests/bts/bts1390.c:17: Warning: out of bounds read. assert \valid_read(s); diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1395.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1395.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts1395.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts1395.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1398.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1398.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts1398.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts1398.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1700.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1399.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts1700.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts1399.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1717.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1478.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts1717.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts1478.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1718.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1700.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts1718.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts1700.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts2191.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1717.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts2191.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts1717.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts2386.1.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1718.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts2386.1.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts1718.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1740.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1740.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts1740.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts1740.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts1837.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts1837.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts1837.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts1837.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/addrOf.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts2191.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/addrOf.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts2191.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts2192.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts2192.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts2192.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts2192.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts2231.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts2231.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts2231.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts2231.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts2252.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts2252.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts2252.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts2252.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts2305.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts2305.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts2305.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts2305.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts2386.0.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts2386.res.oracle similarity index 75% rename from src/plugins/e-acsl/tests/bts/oracle/bts2386.0.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts2386.res.oracle index 3ca31dcb9c97db331c81385797932d2c038224e4..46b9b8d4ff2388fc39a6e887bd54dbf9e3a4429b 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/bts2386.0.res.oracle +++ b/src/plugins/e-acsl/tests/bts/oracle_ci/bts2386.res.oracle @@ -1,4 +1,4 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/bts/bts2386.c:16: Warning: +[eva:alarm] tests/bts/bts2386.c:7: Warning: function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/bts/oracle/bts2406.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/bts2406.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/bts2406.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/bts2406.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1304.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1304.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts1304.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1304.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1307.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts1307.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1307.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1324.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1324.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts1324.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1324.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1326.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts1326.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1326.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1390.c similarity index 98% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1390.c index f199c2a1637635dfe94de775185aca834ab2b436..b45368fa2b43c132c377695f7ad6e9863033acb9 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1390.c +++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1390.c @@ -86,7 +86,7 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n) __e_acsl_assert(__gen_e_acsl_valid_read_3,(char *)"RTE", (char *)"memchr", (char *)"mem_access: \\valid_read((char *)buf + __gen_e_acsl_k)", - 12); + 11); if ((int)*((char *)buf + __gen_e_acsl_k) != c) ; else { __gen_e_acsl_forall_2 = 0; @@ -117,7 +117,7 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n) __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE", (char *)"memchr", (char *)"mem_access: \\valid_read((char *)buf + __gen_e_acsl_i)", - 9); + 8); if (! ((int)*((char *)buf + __gen_e_acsl_i) == c)) ; else { __gen_e_acsl_exists = 1; @@ -157,7 +157,7 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n) __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE", (char *)"memchr", (char *)"mem_access: \\valid_read((char *)__gen_e_acsl_at_2 + __gen_e_acsl_j)", - 10); + 9); if ((int)*((char *)__gen_e_acsl_at_2 + __gen_e_acsl_j) != __gen_e_acsl_at_3) ; else { @@ -173,13 +173,13 @@ void *__gen_e_acsl_memchr(void const *buf, int c, size_t n) __e_acsl_assert(__gen_e_acsl_implies,(char *)"Postcondition", (char *)"memchr", (char *)"\\old(\\exists integer i; 0 <= i < (int)n && (int)*((char *)buf + i) == c) ==>\n(\\forall int j;\n 0 <= j < (int)\\offset((char *)\\result) ==>\n (int)*((char *)\\old(buf) + j) != \\old(c))", - 10); + 9); if (! __gen_e_acsl_at_4) __gen_e_acsl_implies_2 = 1; else __gen_e_acsl_implies_2 = __retres == (void *)0; __e_acsl_assert(__gen_e_acsl_implies_2,(char *)"Postcondition", (char *)"memchr", (char *)"\\old(\\forall integer k; 0 <= k < (int)n ==> (int)*((char *)buf + k) != c) ==>\n\\result == (void *)0", - 13); + 12); __e_acsl_delete_block((void *)(& buf)); __e_acsl_delete_block((void *)(& __retres)); return __retres; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1395.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1395.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts1395.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1395.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1398.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1398.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts1398.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1398.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1399.c similarity index 97% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1399.c index 071c1a1276c9fe851a6b108888e5e75a49628956..5b3967bd61db34e55b98d852c81c70181dbaee16 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1399.c +++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1399.c @@ -26,7 +26,7 @@ int main(void) (void *)0); __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"main", (char *)"mem_access: \\valid_read(&state->bitsInQueue)", - 22); + 19); __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& state->dataQueue[ state->bitsInQueue / 8U]), sizeof(unsigned char __attribute__(( @@ -34,7 +34,7 @@ int main(void) __e_acsl_assert(! __gen_e_acsl_initialized,(char *)"Assertion", (char *)"main", (char *)"!\\initialized(&state->dataQueue[state->bitsInQueue / 8])", - 22); + 19); } free((void *)state); __retres = 0; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1478.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1478.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts1478.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1478.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1700.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1700.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts1700.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1700.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1717.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1717.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts1717.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1717.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1718.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1718.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts1718.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1718.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1740.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1740.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts1740.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1740.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts1837.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1837.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts1837.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts1837.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2191.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2191.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts2191.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2191.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2192.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2192.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts2192.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2192.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2231.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2231.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts2231.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2231.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2252.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts2252.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2252.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2305.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2305.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts2305.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2305.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2386.c similarity index 98% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts2386.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2386.c index 874346e021ea7cf17cc1b652dc5b1868a1812dcf..d2bead7b834fb6caea5b65104229f7b21bbbe209 100644 --- a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2386.c +++ b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2386.c @@ -23,14 +23,14 @@ void f(void const *s, int c, unsigned long 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(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"f", - (char *)"p - (unsigned char const *)s == n - n",16); + (char *)"p - (unsigned char const *)s == n - n",7); __gmpz_clear(__gen_e_acsl_); __gmpz_clear(__gen_e_acsl_n); __gmpz_clear(__gen_e_acsl_sub); } /*@ assert p - (unsigned char const *)s ≡ 0; */ __e_acsl_assert(p - (unsigned char const *)s == 0UL,(char *)"Assertion", - (char *)"f",(char *)"p - (unsigned char const *)s == 0",17); + (char *)"f",(char *)"p - (unsigned char const *)s == 0",8); __e_acsl_delete_block((void *)(& s)); __e_acsl_delete_block((void *)(& p)); return; diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_bts2406.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2406.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_bts2406.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_bts2406.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/gen_issue69.c b/src/plugins/e-acsl/tests/bts/oracle_ci/gen_issue69.c similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/gen_issue69.c rename to src/plugins/e-acsl/tests/bts/oracle_ci/gen_issue69.c diff --git a/src/plugins/e-acsl/tests/bts/oracle/issue69.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_ci/issue69.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/bts/oracle/issue69.res.oracle rename to src/plugins/e-acsl/tests/bts/oracle_ci/issue69.res.oracle diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts1304.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1304.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..19b0f068878a54abe6eb70c9b11771166b5fb060 --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1304.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts1304.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts1307.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1307.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0b966552605c312df3df587c9091b5dc19f54d58 --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1307.res.oracle @@ -0,0 +1,4 @@ +[kernel] Parsing tests/bts/bts1307.i (no preprocessing) +[kernel:parser:decimal-float] tests/bts/bts1307.i:17: Warning: + Floating-point constant 0.4 is not represented exactly. Will use 0x1.999999999999ap-2. + (warn-once: no further messages from category 'parser:decimal-float' will be emitted) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts1324.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1324.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e65b24385610fbf0e9291a09879dba416d9cfe8e --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1324.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts1324.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts1326.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1326.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..99bd8d2ca4576581e7e3419c51e1178a1542723a --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1326.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts1326.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts1390.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1390.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3790aca8b1648cf45e6ab0e2e7266144f44af3ae --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1390.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts1390.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts1395.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1395.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..cb9a17cb49257c74abf0d92dee4c7b8549ecd8b1 --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1395.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts1395.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts1398.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1398.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ce219311963cd7c5a48aa4b07869a6c3d3c3389c --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1398.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts1398.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts1399.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1399.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ea0b0b3e5e737e8e972eab0de467729f1b55189b --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1399.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts1399.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts1478.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1478.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..1baa04b66fa314c4f33180491d831eea829a54fe --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1478.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts1478.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts1700.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1700.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..d13cbafb98cd23d76f9ee695bc5c1e0e9158f7a4 --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1700.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts1700.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts1717.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1717.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..2ed4f6df3461b85181897a66820a8073efcbefdf --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1717.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts1717.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts1718.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1718.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..1c4ca2adb3d7fa12bc94ab4b2420f2c3a44603a7 --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1718.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts1718.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts1740.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1740.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9751b7a8a5562c012c8a3a6bf06e091659203991 --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1740.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts1740.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts1837.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1837.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f751f743c00132de9c3f257ce73c01deb8859b22 --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts1837.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts1837.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts2191.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts2191.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..4c326f214a130cf42d1e795388b0c88f34f6caa7 --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts2191.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts2191.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts2192.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts2192.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0122a7e4246394af3459e31969e6a0375ed0c61c --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts2192.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts2192.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts2231.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts2231.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..4ef916d51cbfbbc01e1fb200ecaded57aa452471 --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts2231.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts2231.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts2252.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts2252.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..d21a94caccea54821812cfe937ca2446a230fb1c --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts2252.res.oracle @@ -0,0 +1,3 @@ +[kernel] Parsing tests/bts/bts2252.c (with preprocessing) +[kernel:typing:implicit-function-declaration] tests/bts/bts2252.c:22: Warning: + Calling undeclared function strncpy. Old style K&R code? diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts2305.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts2305.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..5c570a670fa5408249a025b31ade7311a391fdd2 --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts2305.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts2305.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts2386.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts2386.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3bd50695afb1343ab68cf179bf22c6364bacf2f7 --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts2386.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts2386.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/bts2406.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/bts2406.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b09566f3aaf5b42219646778e6125c8a6b38df98 --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/bts2406.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/bts2406.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/oracle_dev/issue69.res.oracle b/src/plugins/e-acsl/tests/bts/oracle_dev/issue69.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..c2db810f8d36e24400c596766b288e2e333c8a3d --- /dev/null +++ b/src/plugins/e-acsl/tests/bts/oracle_dev/issue69.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/bts/issue69.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/bts/test_config b/src/plugins/e-acsl/tests/bts/test_config deleted file mode 100644 index 1fb42e2f9122687547c8d809923862b7e1f27918..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/bts/test_config +++ /dev/null @@ -1,3 +0,0 @@ -LOG: gen_@PTEST_NAME@.c -OPT: -variadic-no-translation -machdep gcc_x86_64 -check -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/bts/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -eva -eva-verbose 0 -EXEC: ./scripts/testrun.sh @PTEST_NAME@ bts "" "--frama-c=@frama-c@" diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c b/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcat.c similarity index 100% rename from src/plugins/e-acsl/tests/builtin/oracle/gen_strcat.c rename to src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcat.c diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c b/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcmp.c similarity index 100% rename from src/plugins/e-acsl/tests/builtin/oracle/gen_strcmp.c rename to src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcmp.c diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c b/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcpy.c similarity index 100% rename from src/plugins/e-acsl/tests/builtin/oracle/gen_strcpy.c rename to src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strcpy.c diff --git a/src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c b/src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strlen.c similarity index 100% rename from src/plugins/e-acsl/tests/builtin/oracle/gen_strlen.c rename to src/plugins/e-acsl/tests/builtin/oracle_ci/gen_strlen.c diff --git a/src/plugins/e-acsl/tests/builtin/oracle/strcat.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle_ci/strcat.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/builtin/oracle/strcat.res.oracle rename to src/plugins/e-acsl/tests/builtin/oracle_ci/strcat.res.oracle diff --git a/src/plugins/e-acsl/tests/builtin/oracle/strcmp.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle_ci/strcmp.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/builtin/oracle/strcmp.res.oracle rename to src/plugins/e-acsl/tests/builtin/oracle_ci/strcmp.res.oracle diff --git a/src/plugins/e-acsl/tests/builtin/oracle/strcpy.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle_ci/strcpy.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/builtin/oracle/strcpy.res.oracle rename to src/plugins/e-acsl/tests/builtin/oracle_ci/strcpy.res.oracle diff --git a/src/plugins/e-acsl/tests/builtin/oracle/strlen.res.oracle b/src/plugins/e-acsl/tests/builtin/oracle_ci/strlen.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/builtin/oracle/strlen.res.oracle rename to src/plugins/e-acsl/tests/builtin/oracle_ci/strlen.res.oracle diff --git a/src/plugins/e-acsl/tests/builtin/test_config b/src/plugins/e-acsl/tests/builtin/test_config deleted file mode 100644 index f20809dc6ea46914cb9ae5b1cca8160b6f1ebca5..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/builtin/test_config +++ /dev/null @@ -1,4 +0,0 @@ -LOG: gen_@PTEST_NAME@.c -EXECNOW: gcc -c -I@PTEST_DIR@ -o @PTEST_DIR@/signalled.o @PTEST_DIR@/signalled.c -OPT: -variadic-no-translation -kernel-warn-key CERT:MSC:38=inactive -machdep gcc_x86_64 -check -e-acsl -e-acsl-full-mmodel -e-acsl-replace-libc-functions -then-last -load-script tests/print.cmxs -print -ocode tests/builtin/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -eva @EVA_OPTIONS@ -EXEC: ./scripts/testrun.sh @PTEST_NAME@ builtin "1" "--frama-c=@frama-c@ --full-mmodel --frama-c-extra -kernel-warn-key=CERT:MSC:38=inactive --libc-replacements --ld-flags @PTEST_DIR@/signalled.o" diff --git a/src/plugins/e-acsl/tests/builtin/test_config_ci b/src/plugins/e-acsl/tests/builtin/test_config_ci new file mode 100644 index 0000000000000000000000000000000000000000..5978357b4e5bba0940ff12302fdcd61c6d85eced --- /dev/null +++ b/src/plugins/e-acsl/tests/builtin/test_config_ci @@ -0,0 +1 @@ +STDOPT: #"-e-acsl-replace-libc-functions" diff --git a/src/plugins/e-acsl/tests/builtin/test_config_dev b/src/plugins/e-acsl/tests/builtin/test_config_dev new file mode 100644 index 0000000000000000000000000000000000000000..005fe8281f61d26966dd3001d194c045c994bd51 --- /dev/null +++ b/src/plugins/e-acsl/tests/builtin/test_config_dev @@ -0,0 +1,4 @@ +MACRO: DEST @PTEST_RESULT@/gen_@PTEST_NAME@ +MACRO: OUT @PTEST_NAME@.res.log +MACRO: ERR @PTEST_NAME@.err.log +EXEC: ./scripts/e-acsl-gcc.sh --libc-replacements -q -c -X --frama-c-extra="-journal-disable -verbose 0 -kernel-warn-key *=inactive" -o @DEST@.run.c -O @DEST@.out @PTEST_FILE@ > @PTEST_RESULT@/@OUT@ 2> @PTEST_RESULT@/@ERR@ && ./@DEST@.e-acsl > /dev/null diff --git a/src/plugins/e-acsl/tests/runtime/false.i b/src/plugins/e-acsl/tests/constructs/false.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/false.i rename to src/plugins/e-acsl/tests/constructs/false.i diff --git a/src/plugins/e-acsl/tests/runtime/function_contract.i b/src/plugins/e-acsl/tests/constructs/function_contract.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/function_contract.i rename to src/plugins/e-acsl/tests/constructs/function_contract.i diff --git a/src/plugins/e-acsl/tests/runtime/ghost.i b/src/plugins/e-acsl/tests/constructs/ghost.i similarity index 96% rename from src/plugins/e-acsl/tests/runtime/ghost.i rename to src/plugins/e-acsl/tests/constructs/ghost.i index 449c958445bd9c13c7c4bef67af6279b61c0227b..e7c4414b6b1a5f982a63d1616112f415c466d593 100644 --- a/src/plugins/e-acsl/tests/runtime/ghost.i +++ b/src/plugins/e-acsl/tests/constructs/ghost.i @@ -1,6 +1,5 @@ /* run.config COMMENT: ghost code - STDOPT: */ /*@ ghost int G = 0; */ diff --git a/src/plugins/e-acsl/tests/runtime/invariant.i b/src/plugins/e-acsl/tests/constructs/invariant.i similarity index 92% rename from src/plugins/e-acsl/tests/runtime/invariant.i rename to src/plugins/e-acsl/tests/constructs/invariant.i index 5cf1d2275293ee8c1a3736460c00f1499e261b53..76cbdb63c7169236217d0cb3a519aea09562eafd 100644 --- a/src/plugins/e-acsl/tests/runtime/invariant.i +++ b/src/plugins/e-acsl/tests/constructs/invariant.i @@ -1,4 +1,4 @@ -/* run.config +/* run.config_ci COMMENT: invariant STDOPT: +"-slevel 11" */ diff --git a/src/plugins/e-acsl/tests/runtime/labeled_stmt.i b/src/plugins/e-acsl/tests/constructs/labeled_stmt.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/labeled_stmt.i rename to src/plugins/e-acsl/tests/constructs/labeled_stmt.i diff --git a/src/plugins/e-acsl/tests/runtime/lazy.i b/src/plugins/e-acsl/tests/constructs/lazy.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/lazy.i rename to src/plugins/e-acsl/tests/constructs/lazy.i diff --git a/src/plugins/e-acsl/tests/runtime/loop.i b/src/plugins/e-acsl/tests/constructs/loop.i similarity index 97% rename from src/plugins/e-acsl/tests/runtime/loop.i rename to src/plugins/e-acsl/tests/constructs/loop.i index 329c01164f94caa6e98649ac0e2e313922fd48ed..4b0b3193ee1d889a17180daf26e085cd7a67cd0c 100644 --- a/src/plugins/e-acsl/tests/runtime/loop.i +++ b/src/plugins/e-acsl/tests/constructs/loop.i @@ -1,4 +1,4 @@ -/* run.config +/* run.config_ci COMMENT: loop invariants STDOPT: +"-slevel 160" */ diff --git a/src/plugins/e-acsl/tests/runtime/nested_code_annot.i b/src/plugins/e-acsl/tests/constructs/nested_code_annot.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/nested_code_annot.i rename to src/plugins/e-acsl/tests/constructs/nested_code_annot.i diff --git a/src/plugins/e-acsl/tests/runtime/oracle/false.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_ci/false.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/false.res.oracle rename to src/plugins/e-acsl/tests/constructs/oracle_ci/false.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/function_contract.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_ci/function_contract.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/function_contract.res.oracle rename to src/plugins/e-acsl/tests/constructs/oracle_ci/function_contract.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_false.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_false.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_false.c rename to src/plugins/e-acsl/tests/constructs/oracle_ci/gen_false.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_function_contract.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_function_contract.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_function_contract.c rename to src/plugins/e-acsl/tests/constructs/oracle_ci/gen_function_contract.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_ghost.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_ghost.c similarity index 90% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_ghost.c rename to src/plugins/e-acsl/tests/constructs/oracle_ci/gen_ghost.c index cf47b08a6d2cfbc8e0e3094047e65f90a9147932..739fa7d6e261508da085eabb09d62028f0e56f21 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/gen_ghost.c +++ b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_ghost.c @@ -32,11 +32,11 @@ int main(void) __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)P,sizeof(int), (void *)P,(void *)(& P)); __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"main", - (char *)"mem_access: \\valid_read(P)",14); + (char *)"mem_access: \\valid_read(P)",13); __gen_e_acsl_valid = __e_acsl_valid((void *)P,sizeof(int),(void *)P, (void *)(& P)); __e_acsl_assert(__gen_e_acsl_valid,(char *)"RTE",(char *)"main", - (char *)"mem_access: \\valid(P)",14); + (char *)"mem_access: \\valid(P)",13); } (*P) ++; /*@ assert *q ≡ G; */ @@ -54,9 +54,9 @@ int main(void) } else __gen_e_acsl_and = 0; __e_acsl_assert(__gen_e_acsl_and,(char *)"RTE",(char *)"main", - (char *)"mem_access: \\valid_read(q)",15); + (char *)"mem_access: \\valid_read(q)",14); __e_acsl_assert(*q == G,(char *)"Assertion",(char *)"main", - (char *)"*q == G",15); + (char *)"*q == G",14); } __retres = 0; __e_acsl_delete_block((void *)(& P)); diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_invariant.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_invariant.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_invariant.c rename to src/plugins/e-acsl/tests/constructs/oracle_ci/gen_invariant.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_labeled_stmt.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_labeled_stmt.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_labeled_stmt.c rename to src/plugins/e-acsl/tests/constructs/oracle_ci/gen_labeled_stmt.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_lazy.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_lazy.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_lazy.c rename to src/plugins/e-acsl/tests/constructs/oracle_ci/gen_lazy.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_loop.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_loop.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_loop.c rename to src/plugins/e-acsl/tests/constructs/oracle_ci/gen_loop.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_nested_code_annot.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_nested_code_annot.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_nested_code_annot.c rename to src/plugins/e-acsl/tests/constructs/oracle_ci/gen_nested_code_annot.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_result.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_result.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_result.c rename to src/plugins/e-acsl/tests/constructs/oracle_ci/gen_result.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_stmt_contract.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_stmt_contract.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_stmt_contract.c rename to src/plugins/e-acsl/tests/constructs/oracle_ci/gen_stmt_contract.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_true.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_true.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_true.c rename to src/plugins/e-acsl/tests/constructs/oracle_ci/gen_true.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_typedef.c b/src/plugins/e-acsl/tests/constructs/oracle_ci/gen_typedef.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_typedef.c rename to src/plugins/e-acsl/tests/constructs/oracle_ci/gen_typedef.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/ghost.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_ci/ghost.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/ghost.res.oracle rename to src/plugins/e-acsl/tests/constructs/oracle_ci/ghost.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/invariant.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_ci/invariant.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/invariant.res.oracle rename to src/plugins/e-acsl/tests/constructs/oracle_ci/invariant.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/labeled_stmt.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_ci/labeled_stmt.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/labeled_stmt.res.oracle rename to src/plugins/e-acsl/tests/constructs/oracle_ci/labeled_stmt.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/lazy.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_ci/lazy.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/lazy.res.oracle rename to src/plugins/e-acsl/tests/constructs/oracle_ci/lazy.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/loop.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_ci/loop.res.oracle similarity index 56% rename from src/plugins/e-acsl/tests/runtime/oracle/loop.res.oracle rename to src/plugins/e-acsl/tests/constructs/oracle_ci/loop.res.oracle index 0d697ba994df2e47db808c6e5b5fbbd3c6bcc88e..3ddc088c016438543c25b2cfac66013881da6335 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/loop.res.oracle +++ b/src/plugins/e-acsl/tests/constructs/oracle_ci/loop.res.oracle @@ -1,8 +1,9 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/loop.i:19: Warning: loop invariant got status unknown. -[eva:alarm] tests/runtime/loop.i:19: Warning: +[eva:alarm] tests/constructs/loop.i:19: Warning: + loop invariant got status unknown. +[eva:alarm] tests/constructs/loop.i:19: Warning: function __e_acsl_assert: precondition got status invalid. -[eva:alarm] tests/runtime/loop.i:19: Warning: +[eva:alarm] tests/constructs/loop.i:19: Warning: accessing uninitialized left-value. assert \initialized(&t[__gen_e_acsl_k_2][__gen_e_acsl_l_2]); diff --git a/src/plugins/e-acsl/tests/runtime/oracle/nested_code_annot.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_ci/nested_code_annot.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/nested_code_annot.res.oracle rename to src/plugins/e-acsl/tests/constructs/oracle_ci/nested_code_annot.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/result.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_ci/result.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/result.res.oracle rename to src/plugins/e-acsl/tests/constructs/oracle_ci/result.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/stmt_contract.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_ci/stmt_contract.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/stmt_contract.res.oracle rename to src/plugins/e-acsl/tests/constructs/oracle_ci/stmt_contract.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/true.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_ci/true.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/true.res.oracle rename to src/plugins/e-acsl/tests/constructs/oracle_ci/true.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/typedef.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_ci/typedef.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/typedef.res.oracle rename to src/plugins/e-acsl/tests/constructs/oracle_ci/typedef.res.oracle diff --git a/src/plugins/e-acsl/tests/constructs/oracle_dev/false.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_dev/false.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..7b03a368b78507b4138ef777b52cfbb963f7a0a8 --- /dev/null +++ b/src/plugins/e-acsl/tests/constructs/oracle_dev/false.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/constructs/false.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/constructs/oracle_dev/function_contract.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_dev/function_contract.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..a26972504fc11c11cb0b4cef5dc3098de33f50f9 --- /dev/null +++ b/src/plugins/e-acsl/tests/constructs/oracle_dev/function_contract.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/constructs/function_contract.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/constructs/oracle_dev/ghost.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_dev/ghost.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..c88d3077a73d1a0859eb8b27a861254b12c7b37e --- /dev/null +++ b/src/plugins/e-acsl/tests/constructs/oracle_dev/ghost.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/constructs/ghost.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/constructs/oracle_dev/invariant.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_dev/invariant.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..bf1ef00efd5c9ce675530be79c853f6c7f5dc661 --- /dev/null +++ b/src/plugins/e-acsl/tests/constructs/oracle_dev/invariant.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/constructs/invariant.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/constructs/oracle_dev/labeled_stmt.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_dev/labeled_stmt.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f970d17171ee2581d7d7f6be3d0fae73707be8d2 --- /dev/null +++ b/src/plugins/e-acsl/tests/constructs/oracle_dev/labeled_stmt.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/constructs/labeled_stmt.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/constructs/oracle_dev/lazy.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_dev/lazy.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ade1e36d99e66024de2eda4d09cfd72bc0377643 --- /dev/null +++ b/src/plugins/e-acsl/tests/constructs/oracle_dev/lazy.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/constructs/lazy.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/constructs/oracle_dev/loop.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_dev/loop.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..84d2f0dd9410127e39335170feab7597534b1c14 --- /dev/null +++ b/src/plugins/e-acsl/tests/constructs/oracle_dev/loop.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/constructs/loop.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/constructs/oracle_dev/nested_code_annot.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_dev/nested_code_annot.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..79c41e376ff4d3e3a59dca0bf24993370504d131 --- /dev/null +++ b/src/plugins/e-acsl/tests/constructs/oracle_dev/nested_code_annot.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/constructs/nested_code_annot.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/constructs/oracle_dev/result.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_dev/result.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b7000fff6c16bad99f08ac1e17b2f329a6292ead --- /dev/null +++ b/src/plugins/e-acsl/tests/constructs/oracle_dev/result.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/constructs/result.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/constructs/oracle_dev/stmt_contract.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_dev/stmt_contract.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..908fd31137c0504497dbb0b32676afc8e843b780 --- /dev/null +++ b/src/plugins/e-acsl/tests/constructs/oracle_dev/stmt_contract.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/constructs/stmt_contract.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/constructs/oracle_dev/true.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_dev/true.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3b950952f857555f940f059c2ba5ff05d023283a --- /dev/null +++ b/src/plugins/e-acsl/tests/constructs/oracle_dev/true.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/constructs/true.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/constructs/oracle_dev/typedef.res.oracle b/src/plugins/e-acsl/tests/constructs/oracle_dev/typedef.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..bc4b2fca8240d19b78ea23ba7f785c8c25e90178 --- /dev/null +++ b/src/plugins/e-acsl/tests/constructs/oracle_dev/typedef.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/constructs/typedef.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/runtime/result.i b/src/plugins/e-acsl/tests/constructs/result.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/result.i rename to src/plugins/e-acsl/tests/constructs/result.i diff --git a/src/plugins/e-acsl/tests/runtime/stmt_contract.i b/src/plugins/e-acsl/tests/constructs/stmt_contract.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/stmt_contract.i rename to src/plugins/e-acsl/tests/constructs/stmt_contract.i diff --git a/src/plugins/e-acsl/tests/runtime/true.i b/src/plugins/e-acsl/tests/constructs/true.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/true.i rename to src/plugins/e-acsl/tests/constructs/true.i diff --git a/src/plugins/e-acsl/tests/runtime/typedef.i b/src/plugins/e-acsl/tests/constructs/typedef.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/typedef.i rename to src/plugins/e-acsl/tests/constructs/typedef.i diff --git a/src/plugins/e-acsl/tests/gmp/functions_contiki.c b/src/plugins/e-acsl/tests/examples/functions_contiki.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/functions_contiki.c rename to src/plugins/e-acsl/tests/examples/functions_contiki.c diff --git a/src/plugins/e-acsl/tests/runtime/linear_search.i b/src/plugins/e-acsl/tests/examples/linear_search.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/linear_search.i rename to src/plugins/e-acsl/tests/examples/linear_search.i diff --git a/src/plugins/e-acsl/tests/examples/oracle_ci/functions_contiki.res.oracle b/src/plugins/e-acsl/tests/examples/oracle_ci/functions_contiki.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..2327ee08af4c360fa7edbcefdb921c527b678be7 --- /dev/null +++ b/src/plugins/e-acsl/tests/examples/oracle_ci/functions_contiki.res.oracle @@ -0,0 +1,7 @@ +[e-acsl] beginning translation. +[e-acsl] tests/examples/functions_contiki.c:27: Warning: + E-ACSL construct `logic functions with labels' is not yet supported. + Ignoring annotation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/examples/functions_contiki.c:27: Warning: + assertion got status unknown. diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_functions_contiki.c b/src/plugins/e-acsl/tests/examples/oracle_ci/gen_functions_contiki.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_functions_contiki.c rename to src/plugins/e-acsl/tests/examples/oracle_ci/gen_functions_contiki.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_linear_search.c b/src/plugins/e-acsl/tests/examples/oracle_ci/gen_linear_search.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_linear_search.c rename to src/plugins/e-acsl/tests/examples/oracle_ci/gen_linear_search.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/linear_search.res.oracle b/src/plugins/e-acsl/tests/examples/oracle_ci/linear_search.res.oracle similarity index 56% rename from src/plugins/e-acsl/tests/runtime/oracle/linear_search.res.oracle rename to src/plugins/e-acsl/tests/examples/oracle_ci/linear_search.res.oracle index d5e052174b0d3499c9bbaacbf7978d8aab92673f..b63983be3e17ae3ca463ebecfc05a67f9a78d337 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/linear_search.res.oracle +++ b/src/plugins/e-acsl/tests/examples/oracle_ci/linear_search.res.oracle @@ -1,24 +1,24 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/linear_search.i:30: Warning: +[eva:alarm] tests/examples/linear_search.i:30: Warning: function __gen_e_acsl_search: precondition got status unknown. -[eva:alarm] tests/runtime/linear_search.i:7: Warning: +[eva:alarm] tests/examples/linear_search.i:7: Warning: function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/linear_search.i:18: Warning: +[eva:alarm] tests/examples/linear_search.i:18: Warning: loop invariant got status unknown. -[eva:alarm] tests/runtime/linear_search.i:18: Warning: +[eva:alarm] tests/examples/linear_search.i:18: Warning: function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/linear_search.i:10: Warning: +[eva:alarm] tests/examples/linear_search.i:10: Warning: function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/linear_search.i:13: Warning: +[eva:alarm] tests/examples/linear_search.i:13: Warning: function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/linear_search.i:10: Warning: +[eva:alarm] tests/examples/linear_search.i:10: Warning: function __gen_e_acsl_search, behavior exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.) -[eva:alarm] tests/runtime/linear_search.i:13: Warning: +[eva:alarm] tests/examples/linear_search.i:13: Warning: function __gen_e_acsl_search, behavior not_exists: postcondition got status unknown. (Behavior may be inactive, no reduction performed.) -[eva:alarm] tests/runtime/linear_search.i:31: Warning: +[eva:alarm] tests/examples/linear_search.i:31: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/linear_search.i:33: Warning: +[eva:alarm] tests/examples/linear_search.i:33: Warning: function __gen_e_acsl_search: precondition got status unknown. -[eva:alarm] tests/runtime/linear_search.i:34: Warning: +[eva:alarm] tests/examples/linear_search.i:34: Warning: assertion got status unknown. diff --git a/src/plugins/e-acsl/tests/examples/oracle_dev/functions_contiki.res.oracle b/src/plugins/e-acsl/tests/examples/oracle_dev/functions_contiki.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..56f5b9ce5503a767bb5f388ef9430ee5c135e7a2 --- /dev/null +++ b/src/plugins/e-acsl/tests/examples/oracle_dev/functions_contiki.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/examples/functions_contiki.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/examples/oracle_dev/linear_search.res.oracle b/src/plugins/e-acsl/tests/examples/oracle_dev/linear_search.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9e5f8b0f3d2f462c08830f4fbec1f7cb555bde52 --- /dev/null +++ b/src/plugins/e-acsl/tests/examples/oracle_dev/linear_search.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/examples/linear_search.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/format/fprintf.c b/src/plugins/e-acsl/tests/format/fprintf.c index ddc8046f6870b3d97c6352cf8ee571acffac50f8..11678d9695f8207fecdf7e48d94187406a21a042 100644 --- a/src/plugins/e-acsl/tests/format/fprintf.c +++ b/src/plugins/e-acsl/tests/format/fprintf.c @@ -1,5 +1,6 @@ -/* run.config +/* run.config_dev COMMENT: Check behaviours of format functions + DONTRUN: */ #include <stdlib.h> diff --git a/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle b/src/plugins/e-acsl/tests/format/oracle_ci/fprintf.res.oracle similarity index 58% rename from src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle rename to src/plugins/e-acsl/tests/format/oracle_ci/fprintf.res.oracle index e0fb28f138a99d5b723a372f59bf6e58f4b0bed1..e7f38920c95e1b7dae016fc7a2c5ae7aca35b14d 100644 --- a/src/plugins/e-acsl/tests/format/oracle/fprintf.res.oracle +++ b/src/plugins/e-acsl/tests/format/oracle_ci/fprintf.res.oracle @@ -1,6 +1,6 @@ -[kernel:typing:implicit-function-declaration] tests/format/fprintf.c:15: Warning: +[kernel:typing:implicit-function-declaration] tests/format/fprintf.c:16: Warning: Calling undeclared function fork. Old style K&R code? -[kernel:typing:incompatible-types-call] tests/format/fprintf.c:22: Warning: +[kernel:typing:incompatible-types-call] tests/format/fprintf.c:23: Warning: expected 'FILE *' but got argument of type 'int *': & argc [e-acsl] beginning translation. [e-acsl] Warning: annotating undefined function `exit': @@ -15,6 +15,18 @@ [e-acsl] Warning: annotating undefined function `waitpid': the generated program may miss memory instrumentation if there are memory-related annotations. +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdio.h:165: Warning: + Neither code nor specification for function fprintf, generating default assigns from the prototype +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdio.h:169: Warning: + Neither code nor specification for function printf, generating default assigns from the prototype +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdio.h:171: Warning: + Neither code nor specification for function snprintf, generating default assigns from the prototype +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdio.h:173: Warning: + Neither code nor specification for function sprintf, generating default assigns from the prototype +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdio.h:369: Warning: + Neither code nor specification for function dprintf, generating default assigns from the prototype +[kernel:annot:missing-spec] tests/format/fprintf.c:16: Warning: + Neither code nor specification for function fork, generating default assigns from the prototype [e-acsl] FRAMAC_SHARE/libc/sys/wait.h:92: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. @@ -35,121 +47,69 @@ E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. [e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - testno ∈ {0} - __e_acsl_sound_verdict ∈ [--..--] - __gen_e_acsl_literal_string ∈ {0} - __gen_e_acsl_literal_string_2 ∈ {0} - __gen_e_acsl_literal_string_3 ∈ {0} - __gen_e_acsl_literal_string_4 ∈ {0} - __gen_e_acsl_literal_string_5 ∈ {0} - __gen_e_acsl_literal_string_6 ∈ {0} - __gen_e_acsl_literal_string_7 ∈ {0} - __gen_e_acsl_literal_string_8 ∈ {0} - __gen_e_acsl_literal_string_9 ∈ {0} - __gen_e_acsl_literal_string_10 ∈ {0} - __gen_e_acsl_literal_string_11 ∈ {0} - __gen_e_acsl_literal_string_12 ∈ {0} - __gen_e_acsl_literal_string_13 ∈ {0} - __gen_e_acsl_literal_string_14 ∈ {0} - __gen_e_acsl_literal_string_15 ∈ {0} - __gen_e_acsl_literal_string_16 ∈ {0} - __gen_e_acsl_literal_string_17 ∈ {0} - __gen_e_acsl_literal_string_18 ∈ {0} - __gen_e_acsl_literal_string_19 ∈ {0} - __gen_e_acsl_literal_string_20 ∈ {0} - __gen_e_acsl_literal_string_21 ∈ {0} - __gen_e_acsl_literal_string_22 ∈ {0} - __gen_e_acsl_literal_string_23 ∈ {0} - __gen_e_acsl_literal_string_24 ∈ {0} - __gen_e_acsl_literal_string_25 ∈ {0} - __gen_e_acsl_literal_string_26 ∈ {0} - __gen_e_acsl_literal_string_27 ∈ {0} - __gen_e_acsl_literal_string_28 ∈ {0} - __gen_e_acsl_literal_string_29 ∈ {0} - __gen_e_acsl_literal_string_30 ∈ {0} - __gen_e_acsl_literal_string_31 ∈ {0} -[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_mark_readonly -[eva] using specification for function fork -[eva] using specification for function __e_acsl_builtin_fprintf -[eva] using specification for function exit -[eva] using specification for function __e_acsl_valid -[eva] using specification for function __e_acsl_assert -[eva] using specification for function waitpid -[eva] using specification for function __e_acsl_initialized +[kernel:annot:missing-spec] tests/format/fprintf.c:16: Warning: + Neither code nor specification for function __e_acsl_builtin_fprintf, generating default assigns from the prototype [eva:alarm] FRAMAC_SHARE/libc/sys/wait.h:86: Warning: function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __e_acsl_delete_block [eva:alarm] FRAMAC_SHARE/libc/sys/wait.h:86: Warning: function __gen_e_acsl_waitpid: postcondition 'initialization,stat_loc_init_on_success' got status unknown. -[eva:alarm] tests/format/fprintf.c:15: Warning: +[eva:alarm] tests/format/fprintf.c:16: Warning: accessing uninitialized left-value. assert \initialized(&process_status); -[eva] using specification for function __e_acsl_builtin_printf -[eva:invalid-assigns] tests/format/fprintf.c:16: +[kernel:annot:missing-spec] tests/format/signalled.h:12: Warning: + Neither code nor specification for function __e_acsl_builtin_printf, generating default assigns from the prototype +[eva:invalid-assigns] tests/format/fprintf.c:17: Completely invalid destination for assigns clause *stream. Ignoring. -[eva:alarm] tests/format/fprintf.c:16: Warning: +[eva:alarm] tests/format/fprintf.c:17: Warning: accessing uninitialized left-value. assert \initialized(&process_status_0); -[eva] using specification for function tmpfile -[eva:alarm] tests/format/fprintf.c:19: Warning: +[eva:alarm] tests/format/fprintf.c:20: Warning: accessing uninitialized left-value. assert \initialized(&process_status_1); [eva:alarm] FRAMAC_SHARE/libc/stdio.h:94: Warning: function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function fclose -[eva:alarm] tests/format/fprintf.c:21: Warning: +[eva:alarm] tests/format/fprintf.c:22: Warning: accessing uninitialized left-value. assert \initialized(&process_status_2); -[eva:invalid-assigns] tests/format/fprintf.c:22: +[eva:invalid-assigns] tests/format/fprintf.c:23: Completely invalid destination for assigns clause *stream. Ignoring. -[eva:alarm] tests/format/fprintf.c:22: Warning: +[eva:alarm] tests/format/fprintf.c:23: Warning: accessing uninitialized left-value. assert \initialized(&process_status_3); -[eva] using specification for function __e_acsl_builtin_dprintf -[eva:alarm] tests/format/fprintf.c:27: Warning: - accessing uninitialized left-value. assert \initialized(&process_status_4); +[kernel:annot:missing-spec] tests/format/fprintf.c:28: Warning: + Neither code nor specification for function __e_acsl_builtin_dprintf, generating default assigns from the prototype [eva:alarm] tests/format/fprintf.c:28: Warning: + accessing uninitialized left-value. assert \initialized(&process_status_4); +[eva:alarm] tests/format/fprintf.c:29: Warning: accessing uninitialized left-value. assert \initialized(&process_status_5); -[eva] using specification for function __e_acsl_builtin_sprintf -[eva:alarm] tests/format/fprintf.c:34: Warning: - accessing uninitialized left-value. assert \initialized(&process_status_6); +[kernel:annot:missing-spec] tests/format/fprintf.c:35: Warning: + Neither code nor specification for function __e_acsl_builtin_sprintf, generating default assigns from the prototype [eva:alarm] tests/format/fprintf.c:35: Warning: - accessing uninitialized left-value. assert \initialized(&process_status_7); + accessing uninitialized left-value. assert \initialized(&process_status_6); [eva:alarm] tests/format/fprintf.c:36: Warning: - accessing uninitialized left-value. assert \initialized(&process_status_8); -[eva:invalid-assigns] tests/format/fprintf.c:37: - Completely invalid destination for assigns clause *(str + (0 ..)). Ignoring. + accessing uninitialized left-value. assert \initialized(&process_status_7); [eva:alarm] tests/format/fprintf.c:37: Warning: - accessing uninitialized left-value. assert \initialized(&process_status_9); + accessing uninitialized left-value. assert \initialized(&process_status_8); [eva:invalid-assigns] tests/format/fprintf.c:38: Completely invalid destination for assigns clause *(str + (0 ..)). Ignoring. [eva:alarm] tests/format/fprintf.c:38: Warning: + accessing uninitialized left-value. assert \initialized(&process_status_9); +[eva:invalid-assigns] tests/format/fprintf.c:39: + Completely invalid destination for assigns clause *(str + (0 ..)). Ignoring. +[eva:alarm] tests/format/fprintf.c:39: Warning: accessing uninitialized left-value. assert \initialized(&process_status_10); -[eva] using specification for function __e_acsl_builtin_snprintf -[eva:alarm] tests/format/fprintf.c:41: Warning: - accessing uninitialized left-value. assert \initialized(&process_status_11); +[kernel:annot:missing-spec] tests/format/fprintf.c:42: Warning: + Neither code nor specification for function __e_acsl_builtin_snprintf, generating default assigns from the prototype [eva:alarm] tests/format/fprintf.c:42: Warning: + accessing uninitialized left-value. assert \initialized(&process_status_11); +[eva:alarm] tests/format/fprintf.c:43: Warning: accessing uninitialized left-value. assert \initialized(&process_status_12); -[eva:invalid-assigns] tests/format/fprintf.c:43: +[eva:invalid-assigns] tests/format/fprintf.c:44: Completely invalid destination for assigns clause *(str + (0 ..)). Ignoring. -[eva:alarm] tests/format/fprintf.c:43: Warning: - accessing uninitialized left-value. assert \initialized(&process_status_13); [eva:alarm] tests/format/fprintf.c:44: Warning: - accessing uninitialized left-value. assert \initialized(&process_status_14); -[eva:invalid-assigns] tests/format/fprintf.c:45: - Completely invalid destination for assigns clause *(str + (0 ..)). Ignoring. + accessing uninitialized left-value. assert \initialized(&process_status_13); [eva:alarm] tests/format/fprintf.c:45: Warning: - accessing uninitialized left-value. assert \initialized(&process_status_15); + accessing uninitialized left-value. assert \initialized(&process_status_14); [eva:invalid-assigns] tests/format/fprintf.c:46: Completely invalid destination for assigns clause *(str + (0 ..)). Ignoring. [eva:alarm] tests/format/fprintf.c:46: Warning: + accessing uninitialized left-value. assert \initialized(&process_status_15); +[eva:invalid-assigns] tests/format/fprintf.c:47: + Completely invalid destination for assigns clause *(str + (0 ..)). Ignoring. +[eva:alarm] tests/format/fprintf.c:47: Warning: accessing uninitialized left-value. assert \initialized(&process_status_16); -[eva] using specification for function __e_acsl_memory_clean -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c b/src/plugins/e-acsl/tests/format/oracle_ci/gen_fprintf.c similarity index 66% rename from src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c rename to src/plugins/e-acsl/tests/format/oracle_ci/gen_fprintf.c index ec1141bf7af25720a0042f5ed437931880fe2641..493d424dacffd43e58c07d463e0fd07064e3907d 100644 --- a/src/plugins/e-acsl/tests/format/oracle/gen_fprintf.c +++ b/src/plugins/e-acsl/tests/format/oracle_ci/gen_fprintf.c @@ -2,9 +2,9 @@ #include "signal.h" #include "stdio.h" #include "stdlib.h" +#include "sys/select.h" #include "sys/time.h" #include "sys/wait.h" -char *__gen_e_acsl_literal_string_31; char *__gen_e_acsl_literal_string_30; char *__gen_e_acsl_literal_string_29; char *__gen_e_acsl_literal_string_28; @@ -13,28 +13,28 @@ char *__gen_e_acsl_literal_string_26; char *__gen_e_acsl_literal_string_25; char *__gen_e_acsl_literal_string_24; char *__gen_e_acsl_literal_string_23; -char *__gen_e_acsl_literal_string_21; -char *__gen_e_acsl_literal_string_19; -char *__gen_e_acsl_literal_string_16; +char *__gen_e_acsl_literal_string_22; +char *__gen_e_acsl_literal_string_20; +char *__gen_e_acsl_literal_string_18; char *__gen_e_acsl_literal_string_15; char *__gen_e_acsl_literal_string_14; char *__gen_e_acsl_literal_string_13; char *__gen_e_acsl_literal_string_12; -char *__gen_e_acsl_literal_string_9; +char *__gen_e_acsl_literal_string_11; char *__gen_e_acsl_literal_string_8; -char *__gen_e_acsl_literal_string_10; char *__gen_e_acsl_literal_string_7; -char *__gen_e_acsl_literal_string_11; +char *__gen_e_acsl_literal_string_9; +char *__gen_e_acsl_literal_string_6; +char *__gen_e_acsl_literal_string_10; char *__gen_e_acsl_literal_string; char *__gen_e_acsl_literal_string_2; char *__gen_e_acsl_literal_string_3; -char *__gen_e_acsl_literal_string_6; char *__gen_e_acsl_literal_string_5; char *__gen_e_acsl_literal_string_4; -char *__gen_e_acsl_literal_string_22; -char *__gen_e_acsl_literal_string_20; -char *__gen_e_acsl_literal_string_18; +char *__gen_e_acsl_literal_string_21; +char *__gen_e_acsl_literal_string_19; char *__gen_e_acsl_literal_string_17; +char *__gen_e_acsl_literal_string_16; extern int __e_acsl_sound_verdict; /*@ assigns \result; @@ -46,111 +46,111 @@ void __e_acsl_globals_init(void) static char __e_acsl_already_run = 0; if (! __e_acsl_already_run) { __e_acsl_already_run = 1; - __gen_e_acsl_literal_string_31 = "tests/format/fprintf.c:46"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string_31, - sizeof("tests/format/fprintf.c:46")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string_31); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_31); - __gen_e_acsl_literal_string_30 = "tests/format/fprintf.c:45"; + __gen_e_acsl_literal_string_30 = "tests/format/fprintf.c:47"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_30, - sizeof("tests/format/fprintf.c:45")); + sizeof("tests/format/fprintf.c:47")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_30); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_30); - __gen_e_acsl_literal_string_29 = "tests/format/fprintf.c:44"; + __gen_e_acsl_literal_string_29 = "tests/format/fprintf.c:46"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_29, - sizeof("tests/format/fprintf.c:44")); + sizeof("tests/format/fprintf.c:46")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_29); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_29); - __gen_e_acsl_literal_string_28 = "tests/format/fprintf.c:43"; + __gen_e_acsl_literal_string_28 = "tests/format/fprintf.c:45"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_28, - sizeof("tests/format/fprintf.c:43")); + sizeof("tests/format/fprintf.c:45")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_28); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_28); - __gen_e_acsl_literal_string_27 = "tests/format/fprintf.c:42"; + __gen_e_acsl_literal_string_27 = "tests/format/fprintf.c:44"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_27, - sizeof("tests/format/fprintf.c:42")); + sizeof("tests/format/fprintf.c:44")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_27); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_27); - __gen_e_acsl_literal_string_26 = "tests/format/fprintf.c:41"; + __gen_e_acsl_literal_string_26 = "tests/format/fprintf.c:43"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_26, - sizeof("tests/format/fprintf.c:41")); + sizeof("tests/format/fprintf.c:43")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_26); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_26); - __gen_e_acsl_literal_string_25 = "tests/format/fprintf.c:38"; + __gen_e_acsl_literal_string_25 = "tests/format/fprintf.c:42"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_25, - sizeof("tests/format/fprintf.c:38")); + sizeof("tests/format/fprintf.c:42")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_25); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_25); - __gen_e_acsl_literal_string_24 = "tests/format/fprintf.c:37"; + __gen_e_acsl_literal_string_24 = "tests/format/fprintf.c:39"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_24, - sizeof("tests/format/fprintf.c:37")); + sizeof("tests/format/fprintf.c:39")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_24); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_24); - __gen_e_acsl_literal_string_23 = "tests/format/fprintf.c:36"; + __gen_e_acsl_literal_string_23 = "tests/format/fprintf.c:38"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_23, - sizeof("tests/format/fprintf.c:36")); + sizeof("tests/format/fprintf.c:38")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_23); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_23); - __gen_e_acsl_literal_string_21 = "tests/format/fprintf.c:35"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string_21, + __gen_e_acsl_literal_string_22 = "tests/format/fprintf.c:37"; + __e_acsl_store_block((void *)__gen_e_acsl_literal_string_22, + sizeof("tests/format/fprintf.c:37")); + __e_acsl_full_init((void *)__gen_e_acsl_literal_string_22); + __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_22); + __gen_e_acsl_literal_string_20 = "tests/format/fprintf.c:36"; + __e_acsl_store_block((void *)__gen_e_acsl_literal_string_20, + sizeof("tests/format/fprintf.c:36")); + __e_acsl_full_init((void *)__gen_e_acsl_literal_string_20); + __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_20); + __gen_e_acsl_literal_string_18 = "tests/format/fprintf.c:35"; + __e_acsl_store_block((void *)__gen_e_acsl_literal_string_18, sizeof("tests/format/fprintf.c:35")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string_21); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_21); - __gen_e_acsl_literal_string_19 = "tests/format/fprintf.c:34"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string_19, - sizeof("tests/format/fprintf.c:34")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string_19); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_19); - __gen_e_acsl_literal_string_16 = "tests/format/fprintf.c:28"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string_16, - sizeof("tests/format/fprintf.c:28")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string_16); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_16); - __gen_e_acsl_literal_string_15 = "tests/format/fprintf.c:27"; + __e_acsl_full_init((void *)__gen_e_acsl_literal_string_18); + __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_18); + __gen_e_acsl_literal_string_15 = "tests/format/fprintf.c:29"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_15, - sizeof("tests/format/fprintf.c:27")); + sizeof("tests/format/fprintf.c:29")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_15); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_15); - __gen_e_acsl_literal_string_14 = "tests/format/fprintf.c:22"; + __gen_e_acsl_literal_string_14 = "tests/format/fprintf.c:28"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_14, - sizeof("tests/format/fprintf.c:22")); + sizeof("tests/format/fprintf.c:28")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_14); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_14); - __gen_e_acsl_literal_string_13 = "tests/format/fprintf.c:21"; + __gen_e_acsl_literal_string_13 = "tests/format/fprintf.c:23"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_13, - sizeof("tests/format/fprintf.c:21")); + sizeof("tests/format/fprintf.c:23")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_13); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_13); - __gen_e_acsl_literal_string_12 = "tests/format/fprintf.c:19"; + __gen_e_acsl_literal_string_12 = "tests/format/fprintf.c:22"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_12, - sizeof("tests/format/fprintf.c:19")); + sizeof("tests/format/fprintf.c:22")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_12); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_12); - __gen_e_acsl_literal_string_9 = "tests/format/fprintf.c:16"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string_9, - sizeof("tests/format/fprintf.c:16")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string_9); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_9); - __gen_e_acsl_literal_string_8 = "tests/format/fprintf.c:15"; + __gen_e_acsl_literal_string_11 = "tests/format/fprintf.c:20"; + __e_acsl_store_block((void *)__gen_e_acsl_literal_string_11, + sizeof("tests/format/fprintf.c:20")); + __e_acsl_full_init((void *)__gen_e_acsl_literal_string_11); + __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_11); + __gen_e_acsl_literal_string_8 = "tests/format/fprintf.c:17"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_8, - sizeof("tests/format/fprintf.c:15")); + sizeof("tests/format/fprintf.c:17")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_8); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_8); - __gen_e_acsl_literal_string_10 = "foobar %s\n"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string_10, - sizeof("foobar %s\n")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string_10); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_10); - __gen_e_acsl_literal_string_7 = "foobar\n"; + __gen_e_acsl_literal_string_7 = "tests/format/fprintf.c:16"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_7, - sizeof("foobar\n")); + sizeof("tests/format/fprintf.c:16")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_7); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_7); - __gen_e_acsl_literal_string_11 = "foobar"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string_11, + __gen_e_acsl_literal_string_9 = "foobar %s\n"; + __e_acsl_store_block((void *)__gen_e_acsl_literal_string_9, + sizeof("foobar %s\n")); + __e_acsl_full_init((void *)__gen_e_acsl_literal_string_9); + __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_9); + __gen_e_acsl_literal_string_6 = "foobar\n"; + __e_acsl_store_block((void *)__gen_e_acsl_literal_string_6, + sizeof("foobar\n")); + __e_acsl_full_init((void *)__gen_e_acsl_literal_string_6); + __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_6); + __gen_e_acsl_literal_string_10 = "foobar"; + __e_acsl_store_block((void *)__gen_e_acsl_literal_string_10, sizeof("foobar")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string_11); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_11); + __e_acsl_full_init((void *)__gen_e_acsl_literal_string_10); + __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_10); __gen_e_acsl_literal_string = "TEST %d: "; __e_acsl_store_block((void *)__gen_e_acsl_literal_string, sizeof("TEST %d: ")); @@ -166,11 +166,6 @@ void __e_acsl_globals_init(void) sizeof("OK: Expected execution at %s\n")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_3); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_3); - __gen_e_acsl_literal_string_6 = "Hello world!"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string_6, - sizeof("Hello world!")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string_6); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_6); __gen_e_acsl_literal_string_5 = "FAIL: Unexpected signal at %s\n"; __e_acsl_store_block((void *)__gen_e_acsl_literal_string_5, sizeof("FAIL: Unexpected signal at %s\n")); @@ -181,56 +176,24 @@ void __e_acsl_globals_init(void) sizeof("FAIL: Unexpected execution at %s\n")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_4); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_4); - __gen_e_acsl_literal_string_22 = "123"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string_22, + __gen_e_acsl_literal_string_21 = "123"; + __e_acsl_store_block((void *)__gen_e_acsl_literal_string_21, sizeof("123")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string_22); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_22); - __gen_e_acsl_literal_string_20 = "12"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string_20,sizeof("12")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string_20); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_20); - __gen_e_acsl_literal_string_18 = "1"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string_18,sizeof("1")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string_18); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_18); - __gen_e_acsl_literal_string_17 = "-%s-"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string_17, - sizeof("-%s-")); + __e_acsl_full_init((void *)__gen_e_acsl_literal_string_21); + __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_21); + __gen_e_acsl_literal_string_19 = "12"; + __e_acsl_store_block((void *)__gen_e_acsl_literal_string_19,sizeof("12")); + __e_acsl_full_init((void *)__gen_e_acsl_literal_string_19); + __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_19); + __gen_e_acsl_literal_string_17 = "1"; + __e_acsl_store_block((void *)__gen_e_acsl_literal_string_17,sizeof("1")); __e_acsl_full_init((void *)__gen_e_acsl_literal_string_17); __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_17); - __e_acsl_store_block((void *)(& __gen_e_acsl_waitpid),(size_t)1); - __e_acsl_full_init((void *)(& __gen_e_acsl_waitpid)); - __e_acsl_store_block((void *)(& __gen_e_acsl_fclose),(size_t)1); - __e_acsl_full_init((void *)(& __gen_e_acsl_fclose)); - __e_acsl_store_block((void *)(& __gen_e_acsl_tmpfile),(size_t)1); - __e_acsl_full_init((void *)(& __gen_e_acsl_tmpfile)); - __e_acsl_store_block((void *)(& __gen_e_acsl_exit),(size_t)1); - __e_acsl_full_init((void *)(& __gen_e_acsl_exit)); - __e_acsl_store_block((void *)(& signal_eval),(size_t)1); - __e_acsl_full_init((void *)(& signal_eval)); - __e_acsl_store_block((void *)(& testno),(size_t)4); - __e_acsl_full_init((void *)(& testno)); - __e_acsl_store_block((void *)(& __fc_time),(size_t)4); - __e_acsl_full_init((void *)(& __fc_time)); - __e_acsl_store_block((void *)(& __fc_p_sigaction),(size_t)8); - __e_acsl_full_init((void *)(& __fc_p_sigaction)); - __e_acsl_store_block((void *)(sigaction),(size_t)2080); - __e_acsl_full_init((void *)(& sigaction)); - __e_acsl_store_block((void *)(& __fc_p_fopen),(size_t)8); - __e_acsl_full_init((void *)(& __fc_p_fopen)); - __e_acsl_store_block((void *)(__fc_fopen),(size_t)128); - __e_acsl_full_init((void *)(& __fc_fopen)); - __e_acsl_store_block((void *)(& stdout),(size_t)8); - __e_acsl_full_init((void *)(& stdout)); - __e_acsl_store_block((void *)(& __fc_p_random48_counter),(size_t)8); - __e_acsl_full_init((void *)(& __fc_p_random48_counter)); - __e_acsl_store_block((void *)(random48_counter),(size_t)6); - __e_acsl_full_init((void *)(& random48_counter)); - __e_acsl_store_block((void *)(& __fc_random48_init),(size_t)4); - __e_acsl_full_init((void *)(& __fc_random48_init)); - __e_acsl_store_block((void *)(& __fc_rand_max),(size_t)8); - __e_acsl_full_init((void *)(& __fc_rand_max)); + __gen_e_acsl_literal_string_16 = "-%s-"; + __e_acsl_store_block((void *)__gen_e_acsl_literal_string_16, + sizeof("-%s-")); + __e_acsl_full_init((void *)__gen_e_acsl_literal_string_16); + __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_16); } return; } @@ -242,18 +205,11 @@ int main(int argc, char const **argv) char buf[5]; __e_acsl_memory_init(& argc,(char ***)(& argv),(size_t)8); __e_acsl_globals_init(); - __e_acsl_store_block((void *)(buf),(size_t)5); - __e_acsl_store_block((void *)(template),(size_t)256); - __e_acsl_store_block((void *)(& __retres),(size_t)4); - char *pstr = (char *)__gen_e_acsl_literal_string_6; - __e_acsl_store_block((void *)(& pstr),(size_t)8); - __e_acsl_full_init((void *)(& pstr)); + char *pstr = (char *)"Hello world!"; { pid_t pid = fork(); - __e_acsl_store_block((void *)(& pid),(size_t)4); - __e_acsl_full_init((void *)(& pid)); if (! pid) { - __e_acsl_builtin_fprintf("",stdout,__gen_e_acsl_literal_string_7); + __e_acsl_builtin_fprintf("",stdout,__gen_e_acsl_literal_string_6); __gen_e_acsl_exit(0); } else { @@ -261,17 +217,14 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status),(size_t)4); __gen_e_acsl_waitpid(pid,& process_status,0); /*@ assert Eva: initialization: \initialized(&process_status); */ - signal_eval(process_status,0,__gen_e_acsl_literal_string_8); + signal_eval(process_status,0,__gen_e_acsl_literal_string_7); __e_acsl_delete_block((void *)(& process_status)); } - __e_acsl_delete_block((void *)(& pid)); } { pid_t pid_0 = fork(); - __e_acsl_store_block((void *)(& pid_0),(size_t)4); - __e_acsl_full_init((void *)(& pid_0)); if (! pid_0) { - __e_acsl_builtin_fprintf("",(FILE *)0,__gen_e_acsl_literal_string_7); + __e_acsl_builtin_fprintf("",(FILE *)0,__gen_e_acsl_literal_string_6); __gen_e_acsl_exit(0); } else { @@ -279,10 +232,9 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_0),(size_t)4); __gen_e_acsl_waitpid(pid_0,& process_status_0,0); /*@ assert Eva: initialization: \initialized(&process_status_0); */ - signal_eval(process_status_0,1,__gen_e_acsl_literal_string_9); + signal_eval(process_status_0,1,__gen_e_acsl_literal_string_8); __e_acsl_delete_block((void *)(& process_status_0)); } - __e_acsl_delete_block((void *)(& pid_0)); } FILE *fh = __gen_e_acsl_tmpfile(); __e_acsl_store_block((void *)(& fh),(size_t)8); @@ -290,11 +242,9 @@ int main(int argc, char const **argv) if (fh) { { pid_t pid_1 = fork(); - __e_acsl_store_block((void *)(& pid_1),(size_t)4); - __e_acsl_full_init((void *)(& pid_1)); if (! pid_1) { - __e_acsl_builtin_fprintf("s",fh,__gen_e_acsl_literal_string_10, - __gen_e_acsl_literal_string_11); + __e_acsl_builtin_fprintf("s",fh,__gen_e_acsl_literal_string_9, + __gen_e_acsl_literal_string_10); __gen_e_acsl_exit(0); } else { @@ -302,19 +252,16 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_1),(size_t)4); __gen_e_acsl_waitpid(pid_1,& process_status_1,0); /*@ assert Eva: initialization: \initialized(&process_status_1); */ - signal_eval(process_status_1,0,__gen_e_acsl_literal_string_12); + signal_eval(process_status_1,0,__gen_e_acsl_literal_string_11); __e_acsl_delete_block((void *)(& process_status_1)); } - __e_acsl_delete_block((void *)(& pid_1)); } __gen_e_acsl_fclose(fh); { pid_t pid_2 = fork(); - __e_acsl_store_block((void *)(& pid_2),(size_t)4); - __e_acsl_full_init((void *)(& pid_2)); if (! pid_2) { - __e_acsl_builtin_fprintf("s",fh,__gen_e_acsl_literal_string_10, - __gen_e_acsl_literal_string_11); + __e_acsl_builtin_fprintf("s",fh,__gen_e_acsl_literal_string_9, + __gen_e_acsl_literal_string_10); __gen_e_acsl_exit(0); } else { @@ -322,19 +269,16 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_2),(size_t)4); __gen_e_acsl_waitpid(pid_2,& process_status_2,0); /*@ assert Eva: initialization: \initialized(&process_status_2); */ - signal_eval(process_status_2,1,__gen_e_acsl_literal_string_13); + signal_eval(process_status_2,1,__gen_e_acsl_literal_string_12); __e_acsl_delete_block((void *)(& process_status_2)); } - __e_acsl_delete_block((void *)(& pid_2)); } { pid_t pid_3 = fork(); - __e_acsl_store_block((void *)(& pid_3),(size_t)4); - __e_acsl_full_init((void *)(& pid_3)); if (! pid_3) { __e_acsl_builtin_fprintf("s",(FILE *)(& argc), - __gen_e_acsl_literal_string_10, - __gen_e_acsl_literal_string_11); + __gen_e_acsl_literal_string_9, + __gen_e_acsl_literal_string_10); __gen_e_acsl_exit(0); } else { @@ -342,18 +286,15 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_3),(size_t)4); __gen_e_acsl_waitpid(pid_3,& process_status_3,0); /*@ assert Eva: initialization: \initialized(&process_status_3); */ - signal_eval(process_status_3,1,__gen_e_acsl_literal_string_14); + signal_eval(process_status_3,1,__gen_e_acsl_literal_string_13); __e_acsl_delete_block((void *)(& process_status_3)); } - __e_acsl_delete_block((void *)(& pid_3)); } } { pid_t pid_4 = fork(); - __e_acsl_store_block((void *)(& pid_4),(size_t)4); - __e_acsl_full_init((void *)(& pid_4)); if (! pid_4) { - __e_acsl_builtin_dprintf("",1,__gen_e_acsl_literal_string_7); + __e_acsl_builtin_dprintf("",1,__gen_e_acsl_literal_string_6); __gen_e_acsl_exit(0); } else { @@ -361,17 +302,14 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_4),(size_t)4); __gen_e_acsl_waitpid(pid_4,& process_status_4,0); /*@ assert Eva: initialization: \initialized(&process_status_4); */ - signal_eval(process_status_4,0,__gen_e_acsl_literal_string_15); + signal_eval(process_status_4,0,__gen_e_acsl_literal_string_14); __e_acsl_delete_block((void *)(& process_status_4)); } - __e_acsl_delete_block((void *)(& pid_4)); } { pid_t pid_5 = fork(); - __e_acsl_store_block((void *)(& pid_5),(size_t)4); - __e_acsl_full_init((void *)(& pid_5)); if (! pid_5) { - __e_acsl_builtin_dprintf("",3,__gen_e_acsl_literal_string_7); + __e_acsl_builtin_dprintf("",3,__gen_e_acsl_literal_string_6); __gen_e_acsl_exit(0); } else { @@ -379,18 +317,15 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_5),(size_t)4); __gen_e_acsl_waitpid(pid_5,& process_status_5,0); /*@ assert Eva: initialization: \initialized(&process_status_5); */ - signal_eval(process_status_5,1,__gen_e_acsl_literal_string_16); + signal_eval(process_status_5,1,__gen_e_acsl_literal_string_15); __e_acsl_delete_block((void *)(& process_status_5)); } - __e_acsl_delete_block((void *)(& pid_5)); } { pid_t pid_6 = fork(); - __e_acsl_store_block((void *)(& pid_6),(size_t)4); - __e_acsl_full_init((void *)(& pid_6)); if (! pid_6) { - __e_acsl_builtin_sprintf("s",buf,__gen_e_acsl_literal_string_17, - __gen_e_acsl_literal_string_18); + __e_acsl_builtin_sprintf("s",buf,__gen_e_acsl_literal_string_16, + __gen_e_acsl_literal_string_17); __gen_e_acsl_exit(0); } else { @@ -398,18 +333,15 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_6),(size_t)4); __gen_e_acsl_waitpid(pid_6,& process_status_6,0); /*@ assert Eva: initialization: \initialized(&process_status_6); */ - signal_eval(process_status_6,0,__gen_e_acsl_literal_string_19); + signal_eval(process_status_6,0,__gen_e_acsl_literal_string_18); __e_acsl_delete_block((void *)(& process_status_6)); } - __e_acsl_delete_block((void *)(& pid_6)); } { pid_t pid_7 = fork(); - __e_acsl_store_block((void *)(& pid_7),(size_t)4); - __e_acsl_full_init((void *)(& pid_7)); if (! pid_7) { - __e_acsl_builtin_sprintf("s",buf,__gen_e_acsl_literal_string_17, - __gen_e_acsl_literal_string_20); + __e_acsl_builtin_sprintf("s",buf,__gen_e_acsl_literal_string_16, + __gen_e_acsl_literal_string_19); __gen_e_acsl_exit(0); } else { @@ -417,18 +349,15 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_7),(size_t)4); __gen_e_acsl_waitpid(pid_7,& process_status_7,0); /*@ assert Eva: initialization: \initialized(&process_status_7); */ - signal_eval(process_status_7,0,__gen_e_acsl_literal_string_21); + signal_eval(process_status_7,0,__gen_e_acsl_literal_string_20); __e_acsl_delete_block((void *)(& process_status_7)); } - __e_acsl_delete_block((void *)(& pid_7)); } { pid_t pid_8 = fork(); - __e_acsl_store_block((void *)(& pid_8),(size_t)4); - __e_acsl_full_init((void *)(& pid_8)); if (! pid_8) { - __e_acsl_builtin_sprintf("s",buf,__gen_e_acsl_literal_string_17, - __gen_e_acsl_literal_string_22); + __e_acsl_builtin_sprintf("s",buf,__gen_e_acsl_literal_string_16, + __gen_e_acsl_literal_string_21); __gen_e_acsl_exit(0); } else { @@ -436,18 +365,15 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_8),(size_t)4); __gen_e_acsl_waitpid(pid_8,& process_status_8,0); /*@ assert Eva: initialization: \initialized(&process_status_8); */ - signal_eval(process_status_8,1,__gen_e_acsl_literal_string_23); + signal_eval(process_status_8,1,__gen_e_acsl_literal_string_22); __e_acsl_delete_block((void *)(& process_status_8)); } - __e_acsl_delete_block((void *)(& pid_8)); } { pid_t pid_9 = fork(); - __e_acsl_store_block((void *)(& pid_9),(size_t)4); - __e_acsl_full_init((void *)(& pid_9)); if (! pid_9) { - __e_acsl_builtin_sprintf("s",(char *)0,__gen_e_acsl_literal_string_17, - __gen_e_acsl_literal_string_22); + __e_acsl_builtin_sprintf("s",(char *)0,__gen_e_acsl_literal_string_16, + __gen_e_acsl_literal_string_21); __gen_e_acsl_exit(0); } else { @@ -455,18 +381,15 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_9),(size_t)4); __gen_e_acsl_waitpid(pid_9,& process_status_9,0); /*@ assert Eva: initialization: \initialized(&process_status_9); */ - signal_eval(process_status_9,1,__gen_e_acsl_literal_string_24); + signal_eval(process_status_9,1,__gen_e_acsl_literal_string_23); __e_acsl_delete_block((void *)(& process_status_9)); } - __e_acsl_delete_block((void *)(& pid_9)); } { pid_t pid_10 = fork(); - __e_acsl_store_block((void *)(& pid_10),(size_t)4); - __e_acsl_full_init((void *)(& pid_10)); if (! pid_10) { - __e_acsl_builtin_sprintf("s",pstr,__gen_e_acsl_literal_string_17, - __gen_e_acsl_literal_string_22); + __e_acsl_builtin_sprintf("s",pstr,__gen_e_acsl_literal_string_16, + __gen_e_acsl_literal_string_21); __gen_e_acsl_exit(0); } else { @@ -474,19 +397,16 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_10),(size_t)4); __gen_e_acsl_waitpid(pid_10,& process_status_10,0); /*@ assert Eva: initialization: \initialized(&process_status_10); */ - signal_eval(process_status_10,1,__gen_e_acsl_literal_string_25); + signal_eval(process_status_10,1,__gen_e_acsl_literal_string_24); __e_acsl_delete_block((void *)(& process_status_10)); } - __e_acsl_delete_block((void *)(& pid_10)); } { pid_t pid_11 = fork(); - __e_acsl_store_block((void *)(& pid_11),(size_t)4); - __e_acsl_full_init((void *)(& pid_11)); if (! pid_11) { __e_acsl_builtin_snprintf("s",buf,(unsigned long)4, - __gen_e_acsl_literal_string_17, - __gen_e_acsl_literal_string_22); + __gen_e_acsl_literal_string_16, + __gen_e_acsl_literal_string_21); __gen_e_acsl_exit(0); } else { @@ -494,19 +414,16 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_11),(size_t)4); __gen_e_acsl_waitpid(pid_11,& process_status_11,0); /*@ assert Eva: initialization: \initialized(&process_status_11); */ - signal_eval(process_status_11,0,__gen_e_acsl_literal_string_26); + signal_eval(process_status_11,0,__gen_e_acsl_literal_string_25); __e_acsl_delete_block((void *)(& process_status_11)); } - __e_acsl_delete_block((void *)(& pid_11)); } { pid_t pid_12 = fork(); - __e_acsl_store_block((void *)(& pid_12),(size_t)4); - __e_acsl_full_init((void *)(& pid_12)); if (! pid_12) { __e_acsl_builtin_snprintf("s",buf,(unsigned long)5, - __gen_e_acsl_literal_string_17, - __gen_e_acsl_literal_string_22); + __gen_e_acsl_literal_string_16, + __gen_e_acsl_literal_string_21); __gen_e_acsl_exit(0); } else { @@ -514,19 +431,16 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_12),(size_t)4); __gen_e_acsl_waitpid(pid_12,& process_status_12,0); /*@ assert Eva: initialization: \initialized(&process_status_12); */ - signal_eval(process_status_12,0,__gen_e_acsl_literal_string_27); + signal_eval(process_status_12,0,__gen_e_acsl_literal_string_26); __e_acsl_delete_block((void *)(& process_status_12)); } - __e_acsl_delete_block((void *)(& pid_12)); } { pid_t pid_13 = fork(); - __e_acsl_store_block((void *)(& pid_13),(size_t)4); - __e_acsl_full_init((void *)(& pid_13)); if (! pid_13) { __e_acsl_builtin_snprintf("s",pstr,(unsigned long)6, - __gen_e_acsl_literal_string_17, - __gen_e_acsl_literal_string_22); + __gen_e_acsl_literal_string_16, + __gen_e_acsl_literal_string_21); __gen_e_acsl_exit(0); } else { @@ -534,19 +448,16 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_13),(size_t)4); __gen_e_acsl_waitpid(pid_13,& process_status_13,0); /*@ assert Eva: initialization: \initialized(&process_status_13); */ - signal_eval(process_status_13,1,__gen_e_acsl_literal_string_28); + signal_eval(process_status_13,1,__gen_e_acsl_literal_string_27); __e_acsl_delete_block((void *)(& process_status_13)); } - __e_acsl_delete_block((void *)(& pid_13)); } { pid_t pid_14 = fork(); - __e_acsl_store_block((void *)(& pid_14),(size_t)4); - __e_acsl_full_init((void *)(& pid_14)); if (! pid_14) { __e_acsl_builtin_snprintf("s",buf,(unsigned long)6, - __gen_e_acsl_literal_string_17, - __gen_e_acsl_literal_string_22); + __gen_e_acsl_literal_string_16, + __gen_e_acsl_literal_string_21); __gen_e_acsl_exit(0); } else { @@ -554,19 +465,16 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_14),(size_t)4); __gen_e_acsl_waitpid(pid_14,& process_status_14,0); /*@ assert Eva: initialization: \initialized(&process_status_14); */ - signal_eval(process_status_14,1,__gen_e_acsl_literal_string_29); + signal_eval(process_status_14,1,__gen_e_acsl_literal_string_28); __e_acsl_delete_block((void *)(& process_status_14)); } - __e_acsl_delete_block((void *)(& pid_14)); } { pid_t pid_15 = fork(); - __e_acsl_store_block((void *)(& pid_15),(size_t)4); - __e_acsl_full_init((void *)(& pid_15)); if (! pid_15) { __e_acsl_builtin_snprintf("s",(char *)0,(unsigned long)6, - __gen_e_acsl_literal_string_17, - __gen_e_acsl_literal_string_22); + __gen_e_acsl_literal_string_16, + __gen_e_acsl_literal_string_21); __gen_e_acsl_exit(0); } else { @@ -574,19 +482,16 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_15),(size_t)4); __gen_e_acsl_waitpid(pid_15,& process_status_15,0); /*@ assert Eva: initialization: \initialized(&process_status_15); */ - signal_eval(process_status_15,1,__gen_e_acsl_literal_string_30); + signal_eval(process_status_15,1,__gen_e_acsl_literal_string_29); __e_acsl_delete_block((void *)(& process_status_15)); } - __e_acsl_delete_block((void *)(& pid_15)); } { pid_t pid_16 = fork(); - __e_acsl_store_block((void *)(& pid_16),(size_t)4); - __e_acsl_full_init((void *)(& pid_16)); if (! pid_16) { __e_acsl_builtin_snprintf("s",(char *)0,(unsigned long)0, - __gen_e_acsl_literal_string_17, - __gen_e_acsl_literal_string_22); + __gen_e_acsl_literal_string_16, + __gen_e_acsl_literal_string_21); __gen_e_acsl_exit(0); } else { @@ -594,32 +499,12 @@ int main(int argc, char const **argv) __e_acsl_store_block((void *)(& process_status_16),(size_t)4); __gen_e_acsl_waitpid(pid_16,& process_status_16,0); /*@ assert Eva: initialization: \initialized(&process_status_16); */ - signal_eval(process_status_16,0,__gen_e_acsl_literal_string_31); + signal_eval(process_status_16,0,__gen_e_acsl_literal_string_30); __e_acsl_delete_block((void *)(& process_status_16)); } - __e_acsl_delete_block((void *)(& pid_16)); } - __e_acsl_full_init((void *)(& __retres)); __retres = 0; - __e_acsl_delete_block((void *)(& argv)); - __e_acsl_delete_block((void *)(& argc)); - __e_acsl_delete_block((void *)(& signal_eval)); - __e_acsl_delete_block((void *)(& testno)); - __e_acsl_delete_block((void *)(& __fc_time)); - __e_acsl_delete_block((void *)(& __fc_p_sigaction)); - __e_acsl_delete_block((void *)(sigaction)); - __e_acsl_delete_block((void *)(& __fc_p_fopen)); - __e_acsl_delete_block((void *)(__fc_fopen)); - __e_acsl_delete_block((void *)(& stdout)); - __e_acsl_delete_block((void *)(& __fc_p_random48_counter)); - __e_acsl_delete_block((void *)(random48_counter)); - __e_acsl_delete_block((void *)(& __fc_random48_init)); - __e_acsl_delete_block((void *)(& __fc_rand_max)); - __e_acsl_delete_block((void *)(buf)); __e_acsl_delete_block((void *)(& fh)); - __e_acsl_delete_block((void *)(template)); - __e_acsl_delete_block((void *)(& pstr)); - __e_acsl_delete_block((void *)(& __retres)); __e_acsl_memory_clean(); return __retres; } diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_printf.c b/src/plugins/e-acsl/tests/format/oracle_ci/gen_printf.c similarity index 100% rename from src/plugins/e-acsl/tests/format/oracle/gen_printf.c rename to src/plugins/e-acsl/tests/format/oracle_ci/gen_printf.c diff --git a/src/plugins/e-acsl/tests/format/oracle/gen_printf2.c b/src/plugins/e-acsl/tests/format/oracle_ci/gen_printf2.c similarity index 100% rename from src/plugins/e-acsl/tests/format/oracle/gen_printf2.c rename to src/plugins/e-acsl/tests/format/oracle_ci/gen_printf2.c diff --git a/src/plugins/e-acsl/tests/format/oracle/printf.0.err.oracle b/src/plugins/e-acsl/tests/format/oracle_ci/printf.0.err.oracle similarity index 100% rename from src/plugins/e-acsl/tests/format/oracle/printf.0.err.oracle rename to src/plugins/e-acsl/tests/format/oracle_ci/printf.0.err.oracle diff --git a/src/plugins/e-acsl/tests/format/oracle/printf.0.res.oracle b/src/plugins/e-acsl/tests/format/oracle_ci/printf.0.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/format/oracle/printf.0.res.oracle rename to src/plugins/e-acsl/tests/format/oracle_ci/printf.0.res.oracle diff --git a/src/plugins/e-acsl/tests/format/oracle/printf.1.err.oracle b/src/plugins/e-acsl/tests/format/oracle_ci/printf.1.err.oracle similarity index 100% rename from src/plugins/e-acsl/tests/format/oracle/printf.1.err.oracle rename to src/plugins/e-acsl/tests/format/oracle_ci/printf.1.err.oracle diff --git a/src/plugins/e-acsl/tests/format/oracle/printf.1.res.oracle b/src/plugins/e-acsl/tests/format/oracle_ci/printf.1.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/format/oracle/printf.1.res.oracle rename to src/plugins/e-acsl/tests/format/oracle_ci/printf.1.res.oracle diff --git a/src/plugins/e-acsl/tests/format/oracle/printf.err.oracle b/src/plugins/e-acsl/tests/format/oracle_ci/printf.err.oracle similarity index 100% rename from src/plugins/e-acsl/tests/format/oracle/printf.err.oracle rename to src/plugins/e-acsl/tests/format/oracle_ci/printf.err.oracle diff --git a/src/plugins/e-acsl/tests/format/oracle/printf.res.oracle b/src/plugins/e-acsl/tests/format/oracle_ci/printf.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/format/oracle/printf.res.oracle rename to src/plugins/e-acsl/tests/format/oracle_ci/printf.res.oracle diff --git a/src/plugins/e-acsl/tests/format/oracle_dev/fprintf.res.oracle b/src/plugins/e-acsl/tests/format/oracle_dev/fprintf.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b26c0b6174b2a72251653d396860c71ab5ba9664 --- /dev/null +++ b/src/plugins/e-acsl/tests/format/oracle_dev/fprintf.res.oracle @@ -0,0 +1,4 @@ +[kernel] User Error: cannot load plug-in 'frama-c-e_acsl': cannot load module + Details: error loading shared library: Dynlink.Error (Dynlink.Cannot_open_dll "Failure(\"./top/E_ACSL.cmxs: cannot open shared object file: No such file or directory\")") +[kernel] User Error: Deferred error message was emitted during execution. See above messages for more information. +[kernel] Frama-C aborted: invalid user input. diff --git a/src/plugins/e-acsl/tests/format/oracle_dev/printf.err.oracle b/src/plugins/e-acsl/tests/format/oracle_dev/printf.err.oracle new file mode 100644 index 0000000000000000000000000000000000000000..60a52ebd46155be20698d85e73b20037d3e455ed --- /dev/null +++ b/src/plugins/e-acsl/tests/format/oracle_dev/printf.err.oracle @@ -0,0 +1,6 @@ +gcc: error: ./tests/print.cmxs.startup.o: No such file or directory +gcc: error: ./tests/print.o: No such file or directory +gcc: fatal error: no input files +compilation terminated. +File "caml_startup", line 1: +Error: Error during linking diff --git a/src/plugins/e-acsl/tests/format/oracle_dev/printf.res.oracle b/src/plugins/e-acsl/tests/format/oracle_dev/printf.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0e725129643c7b30e93ea6195c25aba9922e6972 --- /dev/null +++ b/src/plugins/e-acsl/tests/format/oracle_dev/printf.res.oracle @@ -0,0 +1,5 @@ +[kernel] User Error: cannot load plug-in 'frama-c-e_acsl': cannot load module + Details: error loading shared library: Dynlink.Error (Dynlink.Cannot_open_dll "Failure(\"./top/E_ACSL.cmxs: cannot open shared object file: No such file or directory\")") +[kernel] User Error: compilation of './tests/print.ml' failed +[kernel] User Error: Deferred error message was emitted during execution. See above messages for more information. +[kernel] Frama-C aborted: invalid user input. diff --git a/src/plugins/e-acsl/tests/format/printf.c b/src/plugins/e-acsl/tests/format/printf.c index 2bfcc362380d9ea2951b3e3e027d1134b3e0c367..6417933f418847160c8d273ae928268b02520d07 100644 --- a/src/plugins/e-acsl/tests/format/printf.c +++ b/src/plugins/e-acsl/tests/format/printf.c @@ -1,7 +1,8 @@ -/* run.config +/* run.config_ci,run.config_dev COMMENT: Check detection of format-string vulnerabilities via printf DONTRUN: */ + #include <stddef.h> #include <stdlib.h> #include <stdio.h> diff --git a/src/plugins/e-acsl/tests/format/test_config b/src/plugins/e-acsl/tests/format/test_config deleted file mode 100644 index 221c07ca9537a337420266c26d9370fbc2a1d519..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/format/test_config +++ /dev/null @@ -1,3 +0,0 @@ -LOG: gen_@PTEST_NAME@.c -OPT: -variadic-no-translation -machdep gcc_x86_64 -check -e-acsl -e-acsl-full-mmodel -e-acsl-validate-format-strings -kernel-warn-key=annot:missing-spec=inactive -then-last -load-script tests/print.cmxs -print -ocode tests/format/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -eva @EVA_OPTIONS@ -EXEC: ./scripts/testrun.sh @PTEST_NAME@ format "1" "--frama-c=@frama-c@ --full-mmodel --validate-format-strings" diff --git a/src/plugins/e-acsl/tests/format/test_config_ci b/src/plugins/e-acsl/tests/format/test_config_ci new file mode 100644 index 0000000000000000000000000000000000000000..eeaea353f8aafc1309b0f8b93ac86c545a2dd08a --- /dev/null +++ b/src/plugins/e-acsl/tests/format/test_config_ci @@ -0,0 +1 @@ +STDOPT: #"-e-acsl-validate-format-strings" diff --git a/src/plugins/e-acsl/tests/format/test_config_dev b/src/plugins/e-acsl/tests/format/test_config_dev new file mode 100644 index 0000000000000000000000000000000000000000..f8b17db695efee4a9fa9ba7fbad64c1211016eef --- /dev/null +++ b/src/plugins/e-acsl/tests/format/test_config_dev @@ -0,0 +1,4 @@ +MACRO: DEST @PTEST_RESULT@/gen_@PTEST_NAME@ +MACRO: OUT @PTEST_NAME@.res.log +MACRO: ERR @PTEST_NAME@.err.log +EXEC: ./scripts/e-acsl-gcc.sh --validate-format-strings -q -c -X --frama-c-extra="-verbose 0 -kernel-warn-key *=inactive" -o @DEST@.run.c -O @DEST@.out @PTEST_FILE@ > @PTEST_RESULT@/@OUT@ 2> @PTEST_RESULT@/@ERR@ && ./@DEST@.e-acsl > /dev/null diff --git a/src/plugins/e-acsl/tests/full-mmodel-only/oracle/gen_let-alias.c b/src/plugins/e-acsl/tests/full-mmodel-only/oracle/gen_let-alias.c deleted file mode 100644 index 9dbcaef0b6cf9638989f612d1d16289599a608ef..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/full-mmodel-only/oracle/gen_let-alias.c +++ /dev/null @@ -1,66 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -void __e_acsl_globals_init(void) -{ - __e_acsl_store_block((void *)(& __fc_p_fopen),(size_t)8); - __e_acsl_full_init((void *)(& __fc_p_fopen)); - __e_acsl_store_block((void *)(__fc_fopen),(size_t)128); - __e_acsl_full_init((void *)(& __fc_fopen)); - __e_acsl_store_block((void *)(& __fc_rand_max),(size_t)8); - __e_acsl_full_init((void *)(& __fc_rand_max)); - return; -} - -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - __e_acsl_globals_init(); - __e_acsl_store_block((void *)(& __retres),(size_t)4); - int t[4] = {1, 2, 3, 4}; - __e_acsl_store_block((void *)(t),(size_t)16); - __e_acsl_full_init((void *)(& t)); - /*@ assert \let u = &t[1]; *(u + 2) ≡ 4; */ - { - int * /*[4]*/ __gen_e_acsl_u; - int __gen_e_acsl_valid_read; - __gen_e_acsl_u = & t[1]; - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)(__gen_e_acsl_u + 2), - sizeof(int), - (void *)__gen_e_acsl_u, - (void *)(& __gen_e_acsl_u)); - __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"main", - (char *)"mem_access: \\valid_read(__gen_e_acsl_u + 2)",7); - __e_acsl_assert(*(__gen_e_acsl_u + 2) == 4,(char *)"Assertion", - (char *)"main",(char *)"\\let u = &t[1]; *(u + 2) == 4", - 7); - } - /*@ assert (\let u = &t[1]; *(u + 2)) ≡ 4; */ - { - int * /*[4]*/ __gen_e_acsl_u_2; - int __gen_e_acsl_valid_read_2; - __gen_e_acsl_u_2 = & t[1]; - __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)(__gen_e_acsl_u_2 + 2), - sizeof(int), - (void *)__gen_e_acsl_u_2, - (void *)(& __gen_e_acsl_u_2)); - __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",(char *)"main", - (char *)"mem_access: \\valid_read(__gen_e_acsl_u_2 + 2)", - 8); - __e_acsl_assert(*(__gen_e_acsl_u_2 + 2) == 4,(char *)"Assertion", - (char *)"main", - (char *)"(\\let u = &t[1]; *(u + 2)) == 4",8); - } - __e_acsl_full_init((void *)(& __retres)); - __retres = 0; - __e_acsl_delete_block((void *)(& __fc_p_fopen)); - __e_acsl_delete_block((void *)(__fc_fopen)); - __e_acsl_delete_block((void *)(& __fc_rand_max)); - __e_acsl_delete_block((void *)(t)); - __e_acsl_delete_block((void *)(& __retres)); - __e_acsl_memory_clean(); - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/full-mmodel-only/oracle/let-alias.err.oracle b/src/plugins/e-acsl/tests/full-mmodel-only/oracle/let-alias.err.oracle deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/plugins/e-acsl/tests/full-mmodel-only/oracle/let-alias.res.oracle b/src/plugins/e-acsl/tests/full-mmodel-only/oracle/let-alias.res.oracle deleted file mode 100644 index f8791fa562c1d743f8907aea580d187aff2ad0f8..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/full-mmodel-only/oracle/let-alias.res.oracle +++ /dev/null @@ -1,26 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[value] Analyzing a complete application starting at main -[value] Computing initial state -[value] Initial state computed -[value:initial-state] Values of globals at initialization - __fc_heap_status ∈ [--..--] - __fc_rand_max ∈ {32767} - __e_acsl_init ∈ [--..--] - __fc_fopen[0..15] ∈ {0} - __fc_p_fopen ∈ {{ &__fc_fopen[0] }} - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[value] using specification for function __e_acsl_memory_init -[value] using specification for function __e_acsl_store_block -[value] using specification for function __e_acsl_full_init -tests/full-mmodel-only/let-alias.c:7:[value:alarm] warning: assertion got status unknown. -[value] using specification for function __e_acsl_valid_read -[value] using specification for function __e_acsl_assert -tests/full-mmodel-only/let-alias.c:8:[value] cannot evaluate ACSL term, unsupported ACSL construct: \let bindings -tests/full-mmodel-only/let-alias.c:8:[value:alarm] warning: assertion got status unknown. -[value] using specification for function __e_acsl_delete_block -[value] using specification for function __e_acsl_memory_clean -[value] done for function main diff --git a/src/plugins/e-acsl/tests/full-mmodel-only/test_config b/src/plugins/e-acsl/tests/full-mmodel-only/test_config deleted file mode 100644 index 4ce37cb7b762b2f63b7c1e8cb1034519edf40d43..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/full-mmodel-only/test_config +++ /dev/null @@ -1,3 +0,0 @@ -EXEC: ./scripts/testrun.sh @PTEST_NAME@ full-mmodel-only "1" "--frama-c=@frama-c@ --full-mmodel" -LOG: gen_@PTEST_NAME@.c -OPT: -machdep gcc_x86_64 -check -e-acsl -e-acsl-full-mmodel -then-last -load-script tests/print.cmxs -print -ocode tests/full-mmodel-only/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -eva @EVA_OPTIONS@ diff --git a/src/plugins/e-acsl/tests/full-mmodel/oracle/addrOf.0.res.oracle b/src/plugins/e-acsl/tests/full-mmodel/oracle_ci/addrOf.0.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/full-mmodel/oracle/addrOf.0.res.oracle rename to src/plugins/e-acsl/tests/full-mmodel/oracle_ci/addrOf.0.res.oracle diff --git a/src/plugins/e-acsl/tests/full-mmodel/oracle/addrOf.1.res.oracle b/src/plugins/e-acsl/tests/full-mmodel/oracle_ci/addrOf.1.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/full-mmodel/oracle/addrOf.1.res.oracle rename to src/plugins/e-acsl/tests/full-mmodel/oracle_ci/addrOf.1.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/alias.res.oracle b/src/plugins/e-acsl/tests/full-mmodel/oracle_ci/addrOf.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/alias.res.oracle rename to src/plugins/e-acsl/tests/full-mmodel/oracle_ci/addrOf.res.oracle diff --git a/src/plugins/e-acsl/tests/full-mmodel/oracle/gen_addrOf2.c b/src/plugins/e-acsl/tests/full-mmodel/oracle_ci/gen_addrOf.c similarity index 100% rename from src/plugins/e-acsl/tests/full-mmodel/oracle/gen_addrOf2.c rename to src/plugins/e-acsl/tests/full-mmodel/oracle_ci/gen_addrOf.c diff --git a/src/plugins/e-acsl/tests/full-mmodel/oracle_ci/gen_addrOf2.c b/src/plugins/e-acsl/tests/full-mmodel/oracle_ci/gen_addrOf2.c new file mode 100644 index 0000000000000000000000000000000000000000..3c2bad6f858c1f3248748229c2c4d76d1e06bc24 --- /dev/null +++ b/src/plugins/e-acsl/tests/full-mmodel/oracle_ci/gen_addrOf2.c @@ -0,0 +1,82 @@ +/* Generated by Frama-C */ +#include "stdio.h" +#include "stdlib.h" +void f(void) +{ + int m; + int *u; + int *p; + __e_acsl_store_block((void *)(& p),(size_t)8); + __e_acsl_store_block((void *)(& u),(size_t)8); + __e_acsl_store_block((void *)(& m),(size_t)4); + __e_acsl_full_init((void *)(& u)); + u = & m; + __e_acsl_full_init((void *)(& p)); + p = u; + __e_acsl_full_init((void *)(& m)); + m = 123; + /*@ assert \initialized(p); */ + { + int __gen_e_acsl_initialized; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int)); + __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",(char *)"f", + (char *)"\\initialized(p)",10); + } + __e_acsl_delete_block((void *)(& p)); + __e_acsl_delete_block((void *)(& u)); + __e_acsl_delete_block((void *)(& m)); + return; +} + +void __e_acsl_globals_init(void) +{ + static char __e_acsl_already_run = 0; + if (! __e_acsl_already_run) { + __e_acsl_already_run = 1; + __e_acsl_store_block((void *)(& f),(size_t)1); + __e_acsl_full_init((void *)(& f)); + __e_acsl_store_block((void *)(& __fc_p_fopen),(size_t)8); + __e_acsl_full_init((void *)(& __fc_p_fopen)); + __e_acsl_store_block((void *)(__fc_fopen),(size_t)128); + __e_acsl_full_init((void *)(& __fc_fopen)); + __e_acsl_store_block((void *)(& __fc_p_random48_counter),(size_t)8); + __e_acsl_full_init((void *)(& __fc_p_random48_counter)); + __e_acsl_store_block((void *)(random48_counter),(size_t)6); + __e_acsl_full_init((void *)(& random48_counter)); + __e_acsl_store_block((void *)(& __fc_random48_init),(size_t)4); + __e_acsl_full_init((void *)(& __fc_random48_init)); + __e_acsl_store_block((void *)(& __fc_rand_max),(size_t)8); + __e_acsl_full_init((void *)(& __fc_rand_max)); + } + return; +} + +int main(void) +{ + int __retres; + __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); + __e_acsl_globals_init(); + __e_acsl_store_block((void *)(& __retres),(size_t)4); + int x = 0; + __e_acsl_store_block((void *)(& x),(size_t)4); + __e_acsl_full_init((void *)(& x)); + f(); + /*@ assert &x ≡ &x; */ + __e_acsl_assert(& x == & x,(char *)"Assertion",(char *)"main", + (char *)"&x == &x",16); + __e_acsl_full_init((void *)(& __retres)); + __retres = 0; + __e_acsl_delete_block((void *)(& f)); + __e_acsl_delete_block((void *)(& __fc_p_fopen)); + __e_acsl_delete_block((void *)(__fc_fopen)); + __e_acsl_delete_block((void *)(& __fc_p_random48_counter)); + __e_acsl_delete_block((void *)(random48_counter)); + __e_acsl_delete_block((void *)(& __fc_random48_init)); + __e_acsl_delete_block((void *)(& __fc_rand_max)); + __e_acsl_delete_block((void *)(& x)); + __e_acsl_delete_block((void *)(& __retres)); + __e_acsl_memory_clean(); + return __retres; +} + + diff --git a/src/plugins/e-acsl/tests/full-mmodel/oracle_dev/addrOf.res.oracle b/src/plugins/e-acsl/tests/full-mmodel/oracle_dev/addrOf.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e53ffdec61d97f8b6372416756249550b782b0c3 --- /dev/null +++ b/src/plugins/e-acsl/tests/full-mmodel/oracle_dev/addrOf.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/full-mmodel/addrOf.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/full-mmodel/test_config b/src/plugins/e-acsl/tests/full-mmodel/test_config deleted file mode 100644 index 81cf738d2711eb9ff4193db1d9be1a0186a6db97..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/full-mmodel/test_config +++ /dev/null @@ -1,5 +0,0 @@ -LOG: gen_@PTEST_NAME@.c -OPT: -machdep gcc_x86_64 -check -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/full-mmodel/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -eva @EVA_OPTIONS@ -EXEC: ./scripts/testrun.sh @PTEST_NAME@ full-mmodel "1" "--frama-c=@frama-c@ --full-mmodel" -LOG: gen_@PTEST_NAME@2.c -OPT: -machdep gcc_x86_64 -check -e-acsl -e-acsl-full-mmodel -then-last -load-script tests/print.cmxs -print -ocode tests/full-mmodel/result/gen_@PTEST_NAME@2.c -kernel-verbose 0 -eva @EVA_OPTIONS@ diff --git a/src/plugins/e-acsl/tests/full-mmodel/test_config_ci b/src/plugins/e-acsl/tests/full-mmodel/test_config_ci new file mode 100644 index 0000000000000000000000000000000000000000..82cdcaaa69d16cc0e2427322763c59b35a07268b --- /dev/null +++ b/src/plugins/e-acsl/tests/full-mmodel/test_config_ci @@ -0,0 +1 @@ +STDOPT: #"-e-acsl-full-mmodel" diff --git a/src/plugins/e-acsl/tests/full-mmodel/test_config_dev b/src/plugins/e-acsl/tests/full-mmodel/test_config_dev new file mode 100644 index 0000000000000000000000000000000000000000..47c27064d6a7cced263a412954d891030819eaf6 --- /dev/null +++ b/src/plugins/e-acsl/tests/full-mmodel/test_config_dev @@ -0,0 +1,4 @@ +MACRO: DEST @PTEST_RESULT@/gen_@PTEST_NAME@ +MACRO: OUT @PTEST_NAME@.res.log +MACRO: ERR @PTEST_NAME@.err.log +EXEC: ./scripts/e-acsl-gcc.sh --full-mmodel -q -c -X --frama-c-extra="-journal-disable -verbose 0 -kernel-warn-key *=inactive" -o @DEST@.run.c -O @DEST@.out @PTEST_FILE@ > @PTEST_RESULT@/@OUT@ 2> @PTEST_RESULT@/@ERR@ && ./@DEST@.e-acsl > /dev/null diff --git a/src/plugins/e-acsl/tests/gmp-only/arith.i b/src/plugins/e-acsl/tests/gmp-only/arith.i new file mode 100644 index 0000000000000000000000000000000000000000..df97877fb148968c52cd69013790c311dcf6160b --- /dev/null +++ b/src/plugins/e-acsl/tests/gmp-only/arith.i @@ -0,0 +1,39 @@ +/* run.config + COMMENT: arithmetic operations +*/ + +int main(void) { + int x = -3; + int y = 2; + long z = 2L; + + /*@ assert -3 == x; */ ; + /*@ assert x == -3; */ ; + /*@ assert 0 != ~0; */ ; + + /*@ assert x+1 == -2; */ ; + /*@ assert x-1 == -4; */ ; + /*@ assert x*3 == -9; */ ; + /*@ assert x/3 == -1; */ ; + /*@ assert 0xffffffffffffffffffffff/0xffffffffffffffffffffff == 1; */ ; + /*@ assert x % 2 == -1; */ ; + /*@ assert -3 % -2 == -1; */ ; + /*@ assert 3 % -2 == 1; */ ; + + /*@ assert x * 2 + (3 + y) - 4 + (x - y) == -10; */ ; + + /*@ assert (0 == 1) == !(0 == 0); */ ; + /*@ assert (0 <= -1) == (0 > 0); */ ; + /*@ assert (0 >= -1) == (0 <= 0); */ ; + /*@ assert (0 != 1) == !(0 != 0); */ ; + + /*@ assert 0 == !1; */ ; + /*@ assert 4 / y == 2; */ // non trivial division added when fixing bts #751 + + // example from the JFLA'15 paper (but for a 64-bit architecture) + /*@ assert 1 + ((z+1) / (y-123456789123456789)) == 1; */ + + /*@ assert 1 - x == -x + 1; */ // test GIT issue #37 + + return 0; +} diff --git a/src/plugins/e-acsl/tests/gmp-only/functions.c b/src/plugins/e-acsl/tests/gmp-only/functions.c new file mode 100644 index 0000000000000000000000000000000000000000..9d0bc001ab61c0b89201f3c3ecffae481965c120 --- /dev/null +++ b/src/plugins/e-acsl/tests/gmp-only/functions.c @@ -0,0 +1,73 @@ +/* run.config + COMMENT: logic functions without labels +*/ + +/*@ predicate p1(int x, int y) = x + y > 0; */ +/*@ predicate p2(integer x, integer y) = x + y > 0; */ + +/*@ logic integer f1(integer x, integer y) = x + y; */ + +// E-ACSL integer typing: +// types less than int are considered as int +/*@ logic char h_char(char c) = c; */ +/*@ logic short h_short(short s) = s; */ + +/*@ logic int g_hidden(int x) = x; */ +/*@ logic int g(int x) = g_hidden(x); */ + +struct mystruct { int k, l; }; +typedef struct mystruct mystruct; +/*@ logic mystruct t1(mystruct m) = m; */ +/*@ logic integer t2(mystruct m) = m.k + m.l; */ + +// To test function call in other clauses than assert: +/*@ predicate k_pred(integer x) = x > 0; */ +/*@ requires k_pred(x); */ +void k(int x) {} + +// To test non-interference with global inits: +int glob = 5; + +// To test that functions that are never called are not generated: +/*@ predicate never_called(int x) = x == x; */ + +/*@ logic double f2(double x) = (double)(1/x); */ /* handle in MR !226 */ + +// To test not_yet: +/*@ predicate p_notyet{L}(integer x) = x > 0; */ +/*@ logic integer f_notyet{L}(integer x) = x; */ + +int main (void) { + int x = 1, y = 2; + /*@ assert p1(x, y); */ ; + /*@ assert p2(3, 4); */ ; + /*@ assert p2(5, 99999999999999999999999999999); */ ; + + /*@ assert f1(x, y) == 3; */ ; + /*@ assert p2(x, f1(3, 4)); */ ; + /*@ assert f1(9, 99999999999999999999999999999) > 0; */ ; + /*@ assert f1(99999999999999999999999999999, + 99999999999999999999999999999) == + 199999999999999999999999999998; */ ; + + /*@ assert g(x) == x; */ ; + + char c = 'c'; + /*@ assert h_char(c) == c; */ ; + short s = 1; + /*@ assert h_short(s) == s; */ ; + + mystruct m; + m.k = 8; + m.l = 9; + /*@ assert t2(t1(m)) == 17; */ ; + + k(9); + + double d = 2.0; + /*@ assert f2(d) > 0; */ ; + + // not yet supported + /* /\*@ assert p_notyet(27); *\/ ; */ + /* /\*@ assert f_notyet(27) == 27; *\/ ; */ +} diff --git a/src/plugins/e-acsl/tests/gmp-only/oracle_ci/arith.res.oracle b/src/plugins/e-acsl/tests/gmp-only/oracle_ci/arith.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..58ff928b06ae06fc7cc29f0189bd96640c51f53b --- /dev/null +++ b/src/plugins/e-acsl/tests/gmp-only/oracle_ci/arith.res.oracle @@ -0,0 +1,44 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/gmp-only/arith.i:10: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:11: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:12: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:14: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:15: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:16: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:17: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:18: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:19: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:20: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:21: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:23: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:25: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:26: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:27: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:28: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:30: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:31: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:34: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:34: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/arith.i:36: Warning: + function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/gmp-only/oracle_ci/functions.res.oracle b/src/plugins/e-acsl/tests/gmp-only/oracle_ci/functions.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3a0b1952d64396dde8a2ee52c59bb7dcc12fa20a --- /dev/null +++ b/src/plugins/e-acsl/tests/gmp-only/oracle_ci/functions.res.oracle @@ -0,0 +1,33 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/gmp-only/functions.c:42: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/functions.c:43: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/functions.c:44: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/functions.c:46: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/functions.c:47: Warning: + accessing uninitialized left-value. + assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_f1_4); +[eva:alarm] tests/gmp-only/functions.c:47: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/functions.c:48: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/functions.c:49: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/functions.c:53: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/functions.c:56: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/functions.c:58: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/functions.c:63: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/functions.c:25: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/gmp-only/functions.c:68: Warning: + non-finite double value. assert \is_finite(__gen_e_acsl__15); +[eva:alarm] tests/gmp-only/functions.c:68: Warning: + function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_arith2.c b/src/plugins/e-acsl/tests/gmp-only/oracle_ci/gen_arith.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_arith2.c rename to src/plugins/e-acsl/tests/gmp-only/oracle_ci/gen_arith.c diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_functions2.c b/src/plugins/e-acsl/tests/gmp-only/oracle_ci/gen_functions.c similarity index 100% rename from src/plugins/e-acsl/tests/gmp/oracle/gen_functions2.c rename to src/plugins/e-acsl/tests/gmp-only/oracle_ci/gen_functions.c diff --git a/src/plugins/e-acsl/tests/gmp-only/oracle_dev/arith.res.oracle b/src/plugins/e-acsl/tests/gmp-only/oracle_dev/arith.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..252a6e43c513855c224c72e0dde01bdb64de093c --- /dev/null +++ b/src/plugins/e-acsl/tests/gmp-only/oracle_dev/arith.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/gmp-only/arith.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/gmp-only/oracle_dev/functions.res.oracle b/src/plugins/e-acsl/tests/gmp-only/oracle_dev/functions.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6da7a17c6cbd609d91afb9420a61b43173acc0d6 --- /dev/null +++ b/src/plugins/e-acsl/tests/gmp-only/oracle_dev/functions.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/gmp-only/functions.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/gmp-only/test_config_ci b/src/plugins/e-acsl/tests/gmp-only/test_config_ci new file mode 100644 index 0000000000000000000000000000000000000000..e69447aecb415446e1813d1d1154ecdbb77a0a57 --- /dev/null +++ b/src/plugins/e-acsl/tests/gmp-only/test_config_ci @@ -0,0 +1 @@ +STDOPT: #"-e-acsl-gmp-only" diff --git a/src/plugins/e-acsl/tests/gmp-only/test_config_dev b/src/plugins/e-acsl/tests/gmp-only/test_config_dev new file mode 100644 index 0000000000000000000000000000000000000000..1c9f2ef180f697c6cc7dd5f278be6fe194a8d085 --- /dev/null +++ b/src/plugins/e-acsl/tests/gmp-only/test_config_dev @@ -0,0 +1,4 @@ +MACRO: DEST @PTEST_RESULT@/gen_@PTEST_NAME@ +MACRO: OUT @PTEST_NAME@.res.log +MACRO: ERR @PTEST_NAME@.err.log +EXEC: ./scripts/e-acsl-gcc.sh --gmp -q -c -X --frama-c-extra="-journal-disable -verbose 0 -kernel-warn-key *=inactive" -o @DEST@.run.c -O @DEST@.out @PTEST_FILE@ > @PTEST_RESULT@/@OUT@ 2> @PTEST_RESULT@/@ERR@ && ./@DEST@.e-acsl > /dev/null diff --git a/src/plugins/e-acsl/tests/gmp/README.md b/src/plugins/e-acsl/tests/gmp/README.md deleted file mode 100644 index f1092ef51c397a7f6a38c27cc6993e954887a745..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/README.md +++ /dev/null @@ -1 +0,0 @@ -Like runtime, but also test the -e-acsl-gmp-only mode. diff --git a/src/plugins/e-acsl/tests/gmp/oracle/arith.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/arith.0.res.oracle deleted file mode 100644 index 3ef62b7790e061fd4ac0f78b5019b26de3768a85..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/arith.0.res.oracle +++ /dev/null @@ -1,32 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva] using specification for function __e_acsl_assert -[eva] using specification for function __gmpz_init_set_str -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __gmpz_init -[eva:alarm] tests/gmp/arith.i:18: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_tdiv_q -[eva] using specification for function __gmpz_get_si -[eva] using specification for function __gmpz_clear -[eva] using specification for function __gmpz_add -[eva:alarm] tests/gmp/arith.i:34: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/arith.i:34: Warning: - signed overflow. assert -2147483648 ≤ 1 + __gen_e_acsl__7; -[eva:alarm] tests/gmp/arith.i:34: Warning: - signed overflow. assert 1 + __gen_e_acsl__7 ≤ 2147483647; -[eva:alarm] tests/gmp/arith.i:34: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/arith.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/arith.1.res.oracle deleted file mode 100644 index 03a8b877a7d7b268d726797bf9a0bef61c5d60da..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/arith.1.res.oracle +++ /dev/null @@ -1,69 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_init -[eva] using specification for function __gmpz_neg -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/arith.i:10: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_clear -[eva:alarm] tests/gmp/arith.i:11: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_com -[eva:alarm] tests/gmp/arith.i:12: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_add -[eva:alarm] tests/gmp/arith.i:14: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_sub -[eva:alarm] tests/gmp/arith.i:15: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_mul -[eva:alarm] tests/gmp/arith.i:16: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/arith.i:17: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_tdiv_q -[eva] using specification for function __gmpz_init_set_str -[eva:alarm] tests/gmp/arith.i:18: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/arith.i:19: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_tdiv_r -[eva:alarm] tests/gmp/arith.i:20: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/arith.i:21: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/arith.i:23: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/arith.i:25: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/arith.i:26: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/arith.i:27: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/arith.i:28: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/arith.i:30: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/arith.i:31: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_init_set_ui -[eva:alarm] tests/gmp/arith.i:34: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/arith.i:34: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/arith.i:36: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/array.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/array.0.res.oracle deleted file mode 100644 index 89ea2c8602c1745a92b34e4ad5996e3393d1e946..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/array.0.res.oracle +++ /dev/null @@ -1,24 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - T1[0..2] ∈ {0} - T2[0..3] ∈ {0} -[eva] using specification for function __e_acsl_memory_init -[eva] tests/gmp/array.i:10: starting to merge loop iterations -[eva] tests/gmp/array.i:11: starting to merge loop iterations -[eva:alarm] tests/gmp/array.i:13: Warning: assertion got status unknown. -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/array.i:13: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/array.i:14: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/array.i:14: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/array.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/array.1.res.oracle deleted file mode 100644 index 83ca5f03f31bb4769d3c854ed013cd215a368fb1..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/array.1.res.oracle +++ /dev/null @@ -1,27 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - T1[0..2] ∈ {0} - T2[0..3] ∈ {0} -[eva] using specification for function __e_acsl_memory_init -[eva] tests/gmp/array.i:10: starting to merge loop iterations -[eva] tests/gmp/array.i:11: starting to merge loop iterations -[eva:alarm] tests/gmp/array.i:13: Warning: assertion got status unknown. -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/array.i:13: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_clear -[eva:alarm] tests/gmp/array.i:14: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/array.i:14: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/at.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/at.0.res.oracle deleted file mode 100644 index 32eac07f54ef1084f71b0d0bc0a4ea23106f840a..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/at.0.res.oracle +++ /dev/null @@ -1,43 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - A ∈ {0} - __e_acsl_sound_verdict ∈ [--..--] -[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_delete_block -[eva] using specification for function __e_acsl_assert -[eva] tests/gmp/at.i:12: - cannot evaluate ACSL term, \at() on a C label is unsupported -[eva:alarm] tests/gmp/at.i:12: Warning: assertion got status unknown. -[eva] tests/gmp/at.i:14: - cannot evaluate ACSL term, \at() on a C label is unsupported -[eva:alarm] tests/gmp/at.i:14: Warning: assertion got status unknown. -[eva] tests/gmp/at.i:48: - cannot evaluate ACSL term, \at() on a C label is unsupported -[eva:alarm] tests/gmp/at.i:48: Warning: assertion got status unknown. -[eva] tests/gmp/at.i:49: - cannot evaluate ACSL term, \at() on a C label is unsupported -[eva:alarm] tests/gmp/at.i:49: Warning: assertion got status unknown. -[eva] tests/gmp/at.i:50: - cannot evaluate ACSL term, \at() on a C label is unsupported -[eva:alarm] tests/gmp/at.i:50: Warning: assertion got status unknown. -[eva] using specification for function __e_acsl_initialize -[eva] using specification for function __e_acsl_valid_read -[eva] tests/gmp/at.i:26: - cannot evaluate ACSL term, \at() on a C label is unsupported -[eva:alarm] tests/gmp/at.i:26: Warning: assertion got status unknown. -[eva] tests/gmp/at.i:28: - cannot evaluate ACSL term, \at() on a C label is unsupported -[eva:alarm] tests/gmp/at.i:28: Warning: assertion got status unknown. -[eva] using specification for function __e_acsl_memory_clean -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/at.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/at.1.res.oracle deleted file mode 100644 index 8fd885d000d4d337ff55accb89e24169746717cf..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/at.1.res.oracle +++ /dev/null @@ -1,77 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - A ∈ {0} - __e_acsl_sound_verdict ∈ [--..--] -[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 __gmpz_init_set_si -[eva] using specification for function __gmpz_init_set -[eva] using specification for function __gmpz_clear -[eva] using specification for function __e_acsl_delete_block -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/at.i:35: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_init -[eva] using specification for function __gmpz_add -[eva:alarm] tests/gmp/at.i:43: Warning: - function __gmpz_init_set: precondition ¬\initialized(z) got status unknown. -[eva:alarm] tests/gmp/at.i:43: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/at.i:9: Warning: - function __gmpz_init_set: precondition ¬\initialized(z) got status unknown. -[eva:alarm] tests/gmp/at.i:11: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/at.i:12: - cannot evaluate ACSL term, \at() on a C label is unsupported -[eva:alarm] tests/gmp/at.i:12: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/at.i:12: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/at.i:13: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/at.i:14: - cannot evaluate ACSL term, \at() on a C label is unsupported -[eva:alarm] tests/gmp/at.i:14: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/at.i:14: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/at.i:7: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/at.i:48: - cannot evaluate ACSL term, \at() on a C label is unsupported -[eva:alarm] tests/gmp/at.i:48: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/at.i:48: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/at.i:49: - cannot evaluate ACSL term, \at() on a C label is unsupported -[eva:alarm] tests/gmp/at.i:49: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/at.i:49: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/at.i:50: - cannot evaluate ACSL term, \at() on a C label is unsupported -[eva:alarm] tests/gmp/at.i:50: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/at.i:50: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __e_acsl_initialize -[eva] using specification for function __e_acsl_valid_read -[eva] tests/gmp/at.i:26: - cannot evaluate ACSL term, \at() on a C label is unsupported -[eva:alarm] tests/gmp/at.i:26: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/at.i:26: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/at.i:28: - cannot evaluate ACSL term, \at() on a C label is unsupported -[eva:alarm] tests/gmp/at.i:28: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/at.i:28: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __e_acsl_memory_clean -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/at_on-purely-logic-variables.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/at_on-purely-logic-variables.0.res.oracle deleted file mode 100644 index db9bf51a98a39fbbb758d39bf869e1c07c263efb..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/at_on-purely-logic-variables.0.res.oracle +++ /dev/null @@ -1,157 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] tests/gmp/at_on-purely-logic-variables.c:64: Warning: - E-ACSL construct - `\at on purely logic variables that needs to allocate too much memory (bigger than int_max bytes)' - is not yet supported. - Ignoring annotation. -[e-acsl] tests/gmp/at_on-purely-logic-variables.c:65: Warning: - E-ACSL construct `\at with logic variable linked to C variable' - is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_sound_verdict ∈ [--..--] -[eva] using specification for function __e_acsl_memory_init -[eva] tests/gmp/at_on-purely-logic-variables.c:57: - allocating variable __malloc_main_l57 -[eva] tests/gmp/at_on-purely-logic-variables.c:45: - allocating variable __malloc_main_l45 -[eva] tests/gmp/at_on-purely-logic-variables.c:41: - allocating variable __malloc_main_l41 -[eva] tests/gmp/at_on-purely-logic-variables.c:37: - allocating variable __malloc_main_l37 -[eva] tests/gmp/at_on-purely-logic-variables.c:34: - allocating variable __malloc_main_l34 -[eva] tests/gmp/at_on-purely-logic-variables.c:29: - allocating variable __malloc_main_l29 -[eva] tests/gmp/at_on-purely-logic-variables.c:28: - allocating variable __malloc_main_l28 -[eva] using specification for function __e_acsl_store_block -[eva] using specification for function __e_acsl_full_init -[eva] tests/gmp/at_on-purely-logic-variables.c:29: - starting to merge loop iterations -[eva] tests/gmp/at_on-purely-logic-variables.c:57: - starting to merge loop iterations -[eva] tests/gmp/at_on-purely-logic-variables.c:45: - starting to merge loop iterations -[eva] tests/gmp/at_on-purely-logic-variables.c:34: - starting to merge loop iterations -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:28: Warning: - assertion got status unknown. -[eva] using specification for function __e_acsl_valid_read -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:29: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:29: Warning: - accessing uninitialized left-value. - assert \initialized(__gen_e_acsl_at_2 + (__gen_e_acsl_j - 2)); -[eva] tests/gmp/at_on-purely-logic-variables.c:29: - starting to merge loop iterations -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:29: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:29: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:31: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:33: Warning: - accessing uninitialized left-value. - assert - \initialized(__gen_e_acsl_at_3 + - ((__gen_e_acsl_u - 9) * 11 + ((__gen_e_acsl_v - -5) - 1))); -[eva] tests/gmp/at_on-purely-logic-variables.c:33: - starting to merge loop iterations -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:34: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:37: Warning: - assertion got status unknown. -[eva] tests/gmp/at_on-purely-logic-variables.c:41: - starting to merge loop iterations -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:41: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:41: Warning: - accessing uninitialized left-value. - assert \initialized(__gen_e_acsl_at_5 + ((__gen_e_acsl_k_3 - -9) - 1)); -[eva] tests/gmp/at_on-purely-logic-variables.c:41: - starting to merge loop iterations -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:41: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:41: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:43: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:44: Warning: - accessing uninitialized left-value. - assert - \initialized(__gen_e_acsl_at_6 + - ((__gen_e_acsl_u_3 - 9) * 32 + ((__gen_e_acsl_v_3 - -5) - 1))); -[eva] tests/gmp/at_on-purely-logic-variables.c:44: - starting to merge loop iterations -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:45: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/at_on-purely-logic-variables.c:8: - allocating variable __malloc___gen_e_acsl_f_l8 -[eva] tests/gmp/at_on-purely-logic-variables.c:8: - allocating variable __malloc___gen_e_acsl_f_l8_0 -[eva] tests/gmp/at_on-purely-logic-variables.c:7: - allocating variable __malloc___gen_e_acsl_f_l7 -[eva] tests/gmp/at_on-purely-logic-variables.c:7: - allocating variable __malloc___gen_e_acsl_f_l7_0 -[eva] tests/gmp/at_on-purely-logic-variables.c:7: - starting to merge loop iterations -[eva] tests/gmp/at_on-purely-logic-variables.c:7: - starting to merge loop iterations -[eva] using specification for function __e_acsl_delete_block -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:7: Warning: - accessing uninitialized left-value. - assert \initialized(__gen_e_acsl_at + ((__gen_e_acsl_n - 1) - 1)); -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:7: Warning: - accessing uninitialized left-value. - assert \initialized(__gen_e_acsl_at_2 + ((__gen_e_acsl_n - 1) - 1)); -[eva] tests/gmp/at_on-purely-logic-variables.c:6: - starting to merge loop iterations -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:7: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:7: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:6: Warning: - function __gen_e_acsl_f: postcondition got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:8: Warning: - function __gen_e_acsl_f: postcondition got status unknown. -[eva] tests/gmp/at_on-purely-logic-variables.c:16: - allocating variable __malloc_g_l16 -[eva] tests/gmp/at_on-purely-logic-variables.c:16: - starting to merge loop iterations -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:16: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:16: Warning: - accessing uninitialized left-value. - assert \initialized(__gen_e_acsl_at + (__gen_e_acsl_w - 3)); -[eva] tests/gmp/at_on-purely-logic-variables.c:16: - starting to merge loop iterations -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:16: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:16: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:54: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:56: Warning: - accessing uninitialized left-value. - assert - \initialized(__gen_e_acsl_at_7 + - ((__gen_e_acsl_u_5 - 10) * 300 + - (((__gen_e_acsl_v_5 - -10) - 1) * 100 + - ((__gen_e_acsl_w - 100) - 1)))); -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:63: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:65: Warning: - assertion got status unknown. -[eva] using specification for function __e_acsl_memory_clean -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/at_on-purely-logic-variables.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/at_on-purely-logic-variables.1.res.oracle deleted file mode 100644 index 589d49adf20dd7b5fa5b20755d6815275e3080a5..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/at_on-purely-logic-variables.1.res.oracle +++ /dev/null @@ -1,99 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] tests/gmp/at_on-purely-logic-variables.c:16: Warning: - E-ACSL construct - `\at on purely logic variables that needs to allocate too much memory (bigger than int_max bytes)' - is not yet supported. - Ignoring annotation. -[e-acsl] tests/gmp/at_on-purely-logic-variables.c:28: Warning: - E-ACSL construct - `\at on purely logic variables that needs to allocate too much memory (bigger than int_max bytes)' - is not yet supported. - Ignoring annotation. -[e-acsl] tests/gmp/at_on-purely-logic-variables.c:29: Warning: - E-ACSL construct - `\at on purely logic variables that needs to allocate too much memory (bigger than int_max bytes)' - is not yet supported. - Ignoring annotation. -[e-acsl] tests/gmp/at_on-purely-logic-variables.c:34: Warning: - E-ACSL construct - `\at on purely logic variables that needs to allocate too much memory (bigger than int_max bytes)' - is not yet supported. - Ignoring annotation. -[e-acsl] tests/gmp/at_on-purely-logic-variables.c:37: Warning: - E-ACSL construct `\at on purely logic variables and over gmp type' - is not yet supported. - Ignoring annotation. -[e-acsl] tests/gmp/at_on-purely-logic-variables.c:41: Warning: - E-ACSL construct `\at on purely logic variables and over gmp type' - is not yet supported. - Ignoring annotation. -[e-acsl] tests/gmp/at_on-purely-logic-variables.c:45: Warning: - E-ACSL construct - `\at on purely logic variables and with quantifier that uses too complex bound (E-ACSL cannot infer a finite upper bound to it)' - is not yet supported. - Ignoring annotation. -[e-acsl] tests/gmp/at_on-purely-logic-variables.c:57: Warning: - E-ACSL construct - `\at on purely logic variables that needs to allocate too much memory (bigger than int_max bytes)' - is not yet supported. - Ignoring annotation. -[e-acsl] tests/gmp/at_on-purely-logic-variables.c:64: Warning: - E-ACSL construct - `\at on purely logic variables that needs to allocate too much memory (bigger than int_max bytes)' - is not yet supported. - Ignoring annotation. -[e-acsl] tests/gmp/at_on-purely-logic-variables.c:65: Warning: - E-ACSL construct `\at with logic variable linked to C variable' - is not yet supported. - Ignoring annotation. -[e-acsl] tests/gmp/at_on-purely-logic-variables.c:7: Warning: - E-ACSL construct - `\at on purely logic variables that needs to allocate too much memory (bigger than int_max bytes)' - is not yet supported. - Ignoring annotation. -[e-acsl] tests/gmp/at_on-purely-logic-variables.c:8: Warning: - E-ACSL construct - `\at on purely logic variables that needs to allocate too much memory (bigger than int_max bytes)' - is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_sound_verdict ∈ [--..--] -[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:alarm] tests/gmp/at_on-purely-logic-variables.c:28: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:29: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:31: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:37: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:41: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:43: Warning: - assertion got status unknown. -[eva] using specification for function __e_acsl_delete_block -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:6: Warning: - function __gen_e_acsl_f: postcondition got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:8: Warning: - function __gen_e_acsl_f: postcondition got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:16: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:54: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:63: Warning: - assertion got status unknown. -[eva:alarm] tests/gmp/at_on-purely-logic-variables.c:65: Warning: - assertion got status unknown. -[eva] using specification for function __e_acsl_memory_clean -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/cast.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/cast.0.res.oracle deleted file mode 100644 index e7ac9d9dec4083d410b7ec698e1f64027c0cd3a8..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/cast.0.res.oracle +++ /dev/null @@ -1,16 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] tests/gmp/cast.i:23: Warning: - E-ACSL construct `R to Int' is not yet supported. Ignoring annotation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva] using specification for function __e_acsl_assert -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/cast.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/cast.1.res.oracle deleted file mode 100644 index 33fc270fbf28281dcc2a2ae460b83b6a31648ae2..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/cast.1.res.oracle +++ /dev/null @@ -1,35 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] tests/gmp/cast.i:23: Warning: - E-ACSL construct `reals: cast from R to Z' is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_get_si -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/cast.i:10: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_clear -[eva:alarm] tests/gmp/cast.i:11: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/cast.i:13: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_get_ui -[eva] using specification for function __gmpz_init_set_ui -[eva:alarm] tests/gmp/cast.i:14: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/cast.i:17: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/cast.i:18: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/comparison.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/comparison.0.res.oracle deleted file mode 100644 index 7046e21167e2fa05413d343de5b74544da9e443c..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/comparison.0.res.oracle +++ /dev/null @@ -1,14 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva] using specification for function __e_acsl_assert -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/comparison.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/comparison.1.res.oracle deleted file mode 100644 index e8b574d9be6ff7ef3b90d3e1652d30e9e401ccdb..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/comparison.1.res.oracle +++ /dev/null @@ -1,51 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/comparison.i:7: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_clear -[eva:alarm] tests/gmp/comparison.i:8: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/comparison.i:9: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/comparison.i:10: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/comparison.i:15: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/comparison.i:16: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/comparison.i:17: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/comparison.i:18: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/comparison.i:19: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/comparison.i:20: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_init -[eva] using specification for function __gmpz_neg -[eva:alarm] tests/gmp/comparison.i:22: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/comparison.i:23: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/comparison.i:24: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/comparison.i:25: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/comparison.i:26: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/comparison.i:27: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/functions.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/functions.0.res.oracle deleted file mode 100644 index f20e6ae071aa0ada8c28355286c969718bbc003f..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/functions.0.res.oracle +++ /dev/null @@ -1,41 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - glob ∈ {5} - __e_acsl_sound_verdict ∈ [--..--] -[eva] using specification for function __e_acsl_memory_init -[eva] using specification for function __e_acsl_assert -[eva] using specification for function __gmpz_init_set_str -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_init -[eva] using specification for function __gmpz_add -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __gmpz_clear -[eva:alarm] tests/gmp/functions.c:44: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/functions.c:47: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_init_set -[eva:alarm] tests/gmp/functions.c:48: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/functions.c:49: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpq_init -[eva] using specification for function __gmpq_set_str -[eva] using specification for function __gmpq_set_d -[eva] using specification for function __gmpq_div -[eva] using specification for function __gmpq_get_d -[eva] using specification for function __gmpq_clear -[eva:alarm] tests/gmp/functions.c:68: Warning: - non-finite double value. assert \is_finite(__gen_e_acsl__10); -[eva:alarm] tests/gmp/functions.c:68: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/functions.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/functions.1.res.oracle deleted file mode 100644 index f284f855063f4db71d25017acdbf33b569c77493..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/functions.1.res.oracle +++ /dev/null @@ -1,60 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - glob ∈ {5} - __e_acsl_sound_verdict ∈ [--..--] -[eva] using specification for function __e_acsl_memory_init -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_init -[eva] using specification for function __gmpz_add -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __gmpz_clear -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/functions.c:42: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/functions.c:43: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_init_set_str -[eva:alarm] tests/gmp/functions.c:44: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_init_set -[eva:alarm] tests/gmp/functions.c:46: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/functions.c:47: Warning: - accessing uninitialized left-value. - assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_f1_4); -[eva:alarm] tests/gmp/functions.c:47: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/functions.c:48: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/functions.c:49: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/functions.c:53: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/functions.c:56: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/functions.c:58: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/functions.c:63: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/functions.c:25: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpq_init -[eva] using specification for function __gmpq_set_str -[eva] using specification for function __gmpq_set_d -[eva] using specification for function __gmpq_div -[eva] using specification for function __gmpq_get_d -[eva] using specification for function __gmpq_clear -[eva:alarm] tests/gmp/functions.c:68: Warning: - non-finite double value. assert \is_finite(__gen_e_acsl__15); -[eva:alarm] tests/gmp/functions.c:68: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/functions_contiki.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/functions_contiki.0.res.oracle deleted file mode 100644 index c46fcfd437fbe80229820a34f46cab9345c29b1e..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/functions_contiki.0.res.oracle +++ /dev/null @@ -1,25 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] tests/gmp/functions_contiki.c:27: Warning: - E-ACSL construct `logic functions with labels' is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[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_initialize -[eva] using specification for function __e_acsl_full_init -[eva] tests/gmp/functions_contiki.c:27: - cannot evaluate ACSL term, unsupported ACSL construct: logic function length -[eva:alarm] tests/gmp/functions_contiki.c:27: Warning: - assertion got status unknown. -[eva] using specification for function __e_acsl_delete_block -[eva] using specification for function __e_acsl_memory_clean -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/functions_contiki.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/functions_contiki.1.res.oracle deleted file mode 100644 index c46fcfd437fbe80229820a34f46cab9345c29b1e..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/functions_contiki.1.res.oracle +++ /dev/null @@ -1,25 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] tests/gmp/functions_contiki.c:27: Warning: - E-ACSL construct `logic functions with labels' is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[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_initialize -[eva] using specification for function __e_acsl_full_init -[eva] tests/gmp/functions_contiki.c:27: - cannot evaluate ACSL term, unsupported ACSL construct: logic function length -[eva:alarm] tests/gmp/functions_contiki.c:27: Warning: - assertion got status unknown. -[eva] using specification for function __e_acsl_delete_block -[eva] using specification for function __e_acsl_memory_clean -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/functions_rec.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/functions_rec.0.res.oracle deleted file mode 100644 index cbf74d13ac79e1568bba0f82bc91e82493871cf4..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/functions_rec.0.res.oracle +++ /dev/null @@ -1,87 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva] tests/gmp/functions_rec.c:26: - cannot evaluate ACSL term, unsupported ACSL construct: logic function f2 -[eva:alarm] tests/gmp/functions_rec.c:26: Warning: assertion got status unknown. -[eva] tests/gmp/functions_rec.c:10: Warning: - recursive call during value analysis - of __gen_e_acsl_f2_2 (__gen_e_acsl_f2_2 <- __gen_e_acsl_f2_2 :: tests/gmp/functions_rec.c:10 <- - __gen_e_acsl_f2 :: tests/gmp/functions_rec.c:26 <- - main). - Assuming the call has no effect. The analysis will be unsound. -[eva] using specification for function __gen_e_acsl_f2_2 -[eva] tests/gmp/functions_rec.c:10: Warning: - recursive call during value analysis - of __gen_e_acsl_f2_2 (__gen_e_acsl_f2_2 <- __gen_e_acsl_f2_2 :: tests/gmp/functions_rec.c:10 <- - __gen_e_acsl_f2 :: tests/gmp/functions_rec.c:26 <- - main). - Assuming the call has no effect. The analysis will be unsound. -[eva] tests/gmp/functions_rec.c:10: Warning: - recursive call during value analysis - of __gen_e_acsl_f2_2 (__gen_e_acsl_f2_2 <- __gen_e_acsl_f2_2 :: tests/gmp/functions_rec.c:10 <- - __gen_e_acsl_f2 :: tests/gmp/functions_rec.c:26 <- - main). - Assuming the call has no effect. The analysis will be unsound. -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - division by zero. assert __gen_e_acsl_f2_8 ≢ 0; -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - signed overflow. - assert -2147483648 ≤ __gen_e_acsl_f2_4 * __gen_e_acsl_f2_6; -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - signed overflow. assert __gen_e_acsl_f2_4 * __gen_e_acsl_f2_6 ≤ 2147483647; -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - signed overflow. - assert - (int)(__gen_e_acsl_f2_4 * __gen_e_acsl_f2_6) / __gen_e_acsl_f2_8 ≤ - 2147483647; -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - division by zero. assert __gen_e_acsl_f2_13 ≢ 0; -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - signed overflow. - assert -2147483648 ≤ __gen_e_acsl_f2_9 * __gen_e_acsl_f2_11; -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - signed overflow. - assert __gen_e_acsl_f2_9 * __gen_e_acsl_f2_11 ≤ 2147483647; -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - signed overflow. - assert - (int)(__gen_e_acsl_f2_9 * __gen_e_acsl_f2_11) / __gen_e_acsl_f2_13 ≤ - 2147483647; -[eva:alarm] tests/gmp/functions_rec.c:26: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/functions_rec.c:28: - cannot evaluate ACSL term, unsupported ACSL construct: logic function f3 -[eva:alarm] tests/gmp/functions_rec.c:28: Warning: assertion got status unknown. -[eva] tests/gmp/functions_rec.c:14: Warning: - recursive call during value analysis - of __gen_e_acsl_f3_2 (__gen_e_acsl_f3_2 <- __gen_e_acsl_f3_2 :: tests/gmp/functions_rec.c:14 <- - __gen_e_acsl_f3 :: tests/gmp/functions_rec.c:28 <- - main). - Assuming the call has no effect. The analysis will be unsound. -[eva] using specification for function __gen_e_acsl_f3_2 -[eva] tests/gmp/functions_rec.c:30: - cannot evaluate ACSL term, unsupported ACSL construct: logic function f4 -[eva:alarm] tests/gmp/functions_rec.c:30: Warning: assertion got status unknown. -[eva] tests/gmp/functions_rec.c:17: Warning: - recursive call during value analysis - of __gen_e_acsl_f4_2 (__gen_e_acsl_f4_2 <- __gen_e_acsl_f4_2 :: tests/gmp/functions_rec.c:17 <- - __gen_e_acsl_f4 :: tests/gmp/functions_rec.c:30 <- - main). - Assuming the call has no effect. The analysis will be unsound. -[eva] using specification for function __gen_e_acsl_f4_2 -[eva:alarm] tests/gmp/functions_rec.c:30: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/functions_rec.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/functions_rec.1.res.oracle deleted file mode 100644 index ad15ac476ccad3eb4c1c7c322456de28b5dc3c3f..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/functions_rec.1.res.oracle +++ /dev/null @@ -1,116 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva] tests/gmp/functions_rec.c:26: - cannot evaluate ACSL term, unsupported ACSL construct: logic function f2 -[eva:alarm] tests/gmp/functions_rec.c:26: Warning: assertion got status unknown. -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __gmpz_init_set -[eva] using specification for function __gmpz_clear -[eva] using specification for function __gmpz_init -[eva] using specification for function __gmpz_sub -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - accessing uninitialized left-value. - assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub); -[eva] tests/gmp/functions_rec.c:10: Warning: - recursive call during value analysis - of __gen_e_acsl_f2_2 (__gen_e_acsl_f2_2 <- __gen_e_acsl_f2_2 :: tests/gmp/functions_rec.c:10 <- - __gen_e_acsl_f2 :: tests/gmp/functions_rec.c:26 <- - main). - Assuming the call has no effect. The analysis will be unsound. -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - accessing uninitialized left-value. - assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub_2); -[eva] using specification for function __gen_e_acsl_f2_2 -[eva] tests/gmp/functions_rec.c:10: Warning: - recursive call during value analysis - of __gen_e_acsl_f2_2 (__gen_e_acsl_f2_2 <- __gen_e_acsl_f2_2 :: tests/gmp/functions_rec.c:10 <- - __gen_e_acsl_f2 :: tests/gmp/functions_rec.c:26 <- - main). - Assuming the call has no effect. The analysis will be unsound. -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - accessing uninitialized left-value. - assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub_3); -[eva] using specification for function __gmpz_mul -[eva] tests/gmp/functions_rec.c:10: Warning: - recursive call during value analysis - of __gen_e_acsl_f2_2 (__gen_e_acsl_f2_2 <- __gen_e_acsl_f2_2 :: tests/gmp/functions_rec.c:10 <- - __gen_e_acsl_f2 :: tests/gmp/functions_rec.c:26 <- - main). - Assuming the call has no effect. The analysis will be unsound. -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - accessing uninitialized left-value. - assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub_4); -[eva] :0: - cannot evaluate ACSL term, unsupported ACSL construct: logic function f2 -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - assertion 'E_ACSL' got status unknown. -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_tdiv_q -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - accessing uninitialized left-value. - assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub_5); -[eva:alarm] tests/gmp/functions_rec.c:10: Warning: - accessing uninitialized left-value. - assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub_6); -[eva:alarm] tests/gmp/functions_rec.c:26: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/functions_rec.c:28: - cannot evaluate ACSL term, unsupported ACSL construct: logic function f3 -[eva:alarm] tests/gmp/functions_rec.c:28: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/functions_rec.c:14: Warning: - accessing uninitialized left-value. - assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub_7); -[eva] using specification for function __gmpz_get_si -[eva] tests/gmp/functions_rec.c:14: Warning: - recursive call during value analysis - of __gen_e_acsl_f3_2 (__gen_e_acsl_f3_2 <- __gen_e_acsl_f3_2 :: tests/gmp/functions_rec.c:14 <- - __gen_e_acsl_f3 :: tests/gmp/functions_rec.c:28 <- - main). - Assuming the call has no effect. The analysis will be unsound. -[eva:alarm] tests/gmp/functions_rec.c:14: Warning: - accessing uninitialized left-value. - assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub_8); -[eva] using specification for function __gen_e_acsl_f3_2 -[eva] using specification for function __gmpz_add -[eva:alarm] tests/gmp/functions_rec.c:14: Warning: - accessing uninitialized left-value. - assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_add); -[eva:alarm] tests/gmp/functions_rec.c:14: Warning: - accessing uninitialized left-value. - assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_add_2); -[eva] using specification for function __gmpz_neg -[eva:alarm] tests/gmp/functions_rec.c:28: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/functions_rec.c:30: - cannot evaluate ACSL term, unsupported ACSL construct: logic function f4 -[eva:alarm] tests/gmp/functions_rec.c:30: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/functions_rec.c:17: Warning: - accessing uninitialized left-value. - assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_add_3); -[eva] tests/gmp/functions_rec.c:17: Warning: - recursive call during value analysis - of __gen_e_acsl_f4_2 (__gen_e_acsl_f4_2 <- __gen_e_acsl_f4_2 :: tests/gmp/functions_rec.c:17 <- - __gen_e_acsl_f4 :: tests/gmp/functions_rec.c:30 <- - main). - Assuming the call has no effect. The analysis will be unsound. -[eva:alarm] tests/gmp/functions_rec.c:17: Warning: - accessing uninitialized left-value. - assert \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_add_4); -[eva] using specification for function __gen_e_acsl_f4_2 -[eva] using specification for function __gmpz_init_set_ui -[eva:alarm] tests/gmp/functions_rec.c:30: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_array2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_array2.c deleted file mode 100644 index 6f61fb210e9cf50361b4e61d509f2f193f589969..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_array2.c +++ /dev/null @@ -1,56 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -int T1[3]; -int T2[4]; -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - { - int i = 0; - while (i < 3) { - T1[i] = i; - i ++; - } - } - { - int i_0 = 0; - while (i_0 < 4) { - T2[i_0] = 2 * i_0; - i_0 ++; - } - } - /*@ assert T1[0] ≡ T2[0]; */ - { - __e_acsl_mpz_t __gen_e_acsl_; - __e_acsl_mpz_t __gen_e_acsl__2; - int __gen_e_acsl_eq; - __gmpz_init_set_si(__gen_e_acsl_,(long)T1[0]); - __gmpz_init_set_si(__gen_e_acsl__2,(long)T2[0]); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main", - (char *)"T1[0] == T2[0]",13); - __gmpz_clear(__gen_e_acsl_); - __gmpz_clear(__gen_e_acsl__2); - } - /*@ assert T1[1] ≢ T2[1]; */ - { - __e_acsl_mpz_t __gen_e_acsl__3; - __e_acsl_mpz_t __gen_e_acsl__4; - int __gen_e_acsl_ne; - __gmpz_init_set_si(__gen_e_acsl__3,(long)T1[1]); - __gmpz_init_set_si(__gen_e_acsl__4,(long)T2[1]); - __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); - __e_acsl_assert(__gen_e_acsl_ne != 0,(char *)"Assertion",(char *)"main", - (char *)"T1[1] != T2[1]",14); - __gmpz_clear(__gen_e_acsl__3); - __gmpz_clear(__gen_e_acsl__4); - } - __retres = 0; - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_at2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_at2.c deleted file mode 100644 index fa778073aa6c871f80084c715f59769fabf1af8e..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_at2.c +++ /dev/null @@ -1,366 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -extern int __e_acsl_sound_verdict; - -int A = 0; -/*@ ensures \at(A,Post) ≡ 3; */ -void __gen_e_acsl_f(void); - -void f(void) -{ - __e_acsl_mpz_t __gen_e_acsl_at_3; - __e_acsl_mpz_t __gen_e_acsl_at_2; - __e_acsl_mpz_t __gen_e_acsl_at; - { - __e_acsl_mpz_t __gen_e_acsl_A_4; - __gmpz_init_set_si(__gen_e_acsl_A_4,(long)A); - __gmpz_init_set(__gen_e_acsl_at, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_A_4)); - __gmpz_clear(__gen_e_acsl_A_4); - } - { - __e_acsl_mpz_t __gen_e_acsl_A; - __gmpz_init_set_si(__gen_e_acsl_A,(long)A); - __gmpz_init_set(__gen_e_acsl_at, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_A)); - __gmpz_clear(__gen_e_acsl_A); - } - A = 1; - F: - { - __gmpz_init_set(__gen_e_acsl_at_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at)); - { - __e_acsl_mpz_t __gen_e_acsl_A_2; - __gmpz_init_set_si(__gen_e_acsl_A_2,(long)A); - __gmpz_init_set(__gen_e_acsl_at_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_A_2)); - __gmpz_clear(__gen_e_acsl_A_2); - } - A = 2; - } - /*@ assert \at(A,Pre) ≡ 0; */ - { - __e_acsl_mpz_t __gen_e_acsl_; - int __gen_e_acsl_eq; - __gmpz_init_set_si(__gen_e_acsl_,0L); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_at), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"f", - (char *)"\\at(A,Pre) == 0",11); - __gmpz_clear(__gen_e_acsl_); - } - /*@ assert \at(A,F) ≡ 1; */ - { - __e_acsl_mpz_t __gen_e_acsl__2; - int __gen_e_acsl_eq_2; - __gmpz_init_set_si(__gen_e_acsl__2,1L); - __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); - __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion",(char *)"f", - (char *)"\\at(A,F) == 1",12); - __gmpz_clear(__gen_e_acsl__2); - } - /*@ assert \at(A,Here) ≡ 2; */ - { - __e_acsl_mpz_t __gen_e_acsl_A_3; - __e_acsl_mpz_t __gen_e_acsl__3; - int __gen_e_acsl_eq_3; - __gmpz_init_set_si(__gen_e_acsl_A_3,(long)A); - __gmpz_init_set_si(__gen_e_acsl__3,2L); - __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_A_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__3)); - __e_acsl_assert(__gen_e_acsl_eq_3 == 0,(char *)"Assertion",(char *)"f", - (char *)"\\at(A,Here) == 2",13); - __gmpz_clear(__gen_e_acsl_A_3); - __gmpz_clear(__gen_e_acsl__3); - } - /*@ assert \at(\at(A,Pre),F) ≡ 0; */ - { - __e_acsl_mpz_t __gen_e_acsl__4; - int __gen_e_acsl_eq_4; - __gmpz_init_set_si(__gen_e_acsl__4,0L); - __gen_e_acsl_eq_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_at_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); - __e_acsl_assert(__gen_e_acsl_eq_4 == 0,(char *)"Assertion",(char *)"f", - (char *)"\\at(\\at(A,Pre),F) == 0",14); - __gmpz_clear(__gen_e_acsl__4); - } - A = 3; - __gmpz_clear(__gen_e_acsl_at); - __gmpz_clear(__gen_e_acsl_at_2); - __gmpz_clear(__gen_e_acsl_at_3); - return; -} - -void g(int *p, int *q) -{ - int __gen_e_acsl_at_3; - __e_acsl_mpz_t __gen_e_acsl_at_2; - int __gen_e_acsl_at; - __e_acsl_store_block((void *)(& q),(size_t)8); - __e_acsl_store_block((void *)(& p),(size_t)8); - __e_acsl_initialize((void *)p,sizeof(int)); - *p = 0; - __e_acsl_initialize((void *)(p + 1),sizeof(int)); - *(p + 1) = 1; - __e_acsl_initialize((void *)q,sizeof(int)); - *q = 0; - L1: - { - { - int __gen_e_acsl_valid_read_3; - __gen_e_acsl_valid_read_3 = __e_acsl_valid_read((void *)q,sizeof(int), - (void *)q, - (void *)(& q)); - __e_acsl_assert(__gen_e_acsl_valid_read_3,(char *)"RTE",(char *)"g", - (char *)"mem_access: \\valid_read(q)",28); - __gen_e_acsl_at_3 = *q; - } - { - int __gen_e_acsl_valid_read; - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)q,sizeof(int), - (void *)q,(void *)(& q)); - __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"g", - (char *)"mem_access: \\valid_read(q)",26); - __gen_e_acsl_at = *q; - } - __e_acsl_initialize((void *)p,sizeof(int)); - *p = 2; - } - __e_acsl_initialize((void *)(p + 1),sizeof(int)); - *(p + 1) = 3; - __e_acsl_initialize((void *)q,sizeof(int)); - *q = 1; - L2: - { - { - int __gen_e_acsl_valid_read_2; - __e_acsl_mpz_t __gen_e_acsl_; - __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(__gen_e_acsl_valid_read_2,(char *)"RTE",(char *)"g", - (char *)"mem_access: \\valid_read(p + __gen_e_acsl_at)", - 26); - __gmpz_init_set_si(__gen_e_acsl_,(long)*(p + __gen_e_acsl_at)); - __gmpz_init_set(__gen_e_acsl_at_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); - __gmpz_clear(__gen_e_acsl_); - } - A = 4; - } - /*@ assert \at(*(p + \at(*q,L1)),L2) ≡ 2; */ - { - __e_acsl_mpz_t __gen_e_acsl__2; - int __gen_e_acsl_eq; - __gmpz_init_set_si(__gen_e_acsl__2,2L); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"g", - (char *)"\\at(*(p + \\at(*q,L1)),L2) == 2",26); - __gmpz_clear(__gen_e_acsl__2); - } - L3: - /*@ assert \at(*(p + \at(*q,L1)),Here) ≡ 2; */ - { - __e_acsl_mpz_t __gen_e_acsl__3; - __e_acsl_mpz_t __gen_e_acsl__4; - int __gen_e_acsl_eq_2; - __gmpz_init_set_si(__gen_e_acsl__3,(long)*(p + __gen_e_acsl_at_3)); - __gmpz_init_set_si(__gen_e_acsl__4,2L); - __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); - __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion",(char *)"g", - (char *)"\\at(*(p + \\at(*q,L1)),Here) == 2",28); - __gmpz_clear(__gen_e_acsl__3); - __gmpz_clear(__gen_e_acsl__4); - } - __e_acsl_delete_block((void *)(& q)); - __e_acsl_delete_block((void *)(& p)); - __gmpz_clear(__gen_e_acsl_at_2); - return; -} - -/*@ ensures \result ≡ \old(x); */ -int __gen_e_acsl_h(int x); - -int h(int x) -{ - __e_acsl_store_block((void *)(& x),(size_t)4); - __e_acsl_delete_block((void *)(& x)); - return x; -} - -int main(void) -{ - __e_acsl_mpz_t __gen_e_acsl_at_2; - __e_acsl_mpz_t __gen_e_acsl_at; - int __retres; - int x; - int t[2]; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - __e_acsl_store_block((void *)(t),(size_t)8); - __e_acsl_store_block((void *)(& x),(size_t)4); - __e_acsl_full_init((void *)(& x)); - x = __gen_e_acsl_h(0); - L: - /*@ assert x ≡ 0; */ - { - { - __e_acsl_mpz_t __gen_e_acsl_x_4; - __gmpz_init_set_si(__gen_e_acsl_x_4,(long)x); - __gmpz_init_set(__gen_e_acsl_at, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_4)); - __gmpz_clear(__gen_e_acsl_x_4); - } - { - __e_acsl_mpz_t __gen_e_acsl_x_3; - __e_acsl_mpz_t __gen_e_acsl__3; - __e_acsl_mpz_t __gen_e_acsl_add; - __gmpz_init_set_si(__gen_e_acsl_x_3,(long)x); - __gmpz_init_set_si(__gen_e_acsl__3,1L); - __gmpz_init(__gen_e_acsl_add); - __gmpz_add(__gen_e_acsl_add, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__3)); - __gmpz_init_set(__gen_e_acsl_at_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gmpz_clear(__gen_e_acsl_x_3); - __gmpz_clear(__gen_e_acsl__3); - __gmpz_clear(__gen_e_acsl_add); - } - { - __e_acsl_mpz_t __gen_e_acsl_x_2; - __gmpz_init_set_si(__gen_e_acsl_x_2,(long)x); - __gmpz_init_set(__gen_e_acsl_at, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_2)); - __gmpz_clear(__gen_e_acsl_x_2); - } - { - __e_acsl_mpz_t __gen_e_acsl_x; - __e_acsl_mpz_t __gen_e_acsl_; - int __gen_e_acsl_eq; - __gmpz_init_set_si(__gen_e_acsl_x,(long)x); - __gmpz_init_set_si(__gen_e_acsl_,0L); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion", - (char *)"main",(char *)"x == 0",43); - __gmpz_clear(__gen_e_acsl_x); - __gmpz_clear(__gen_e_acsl_); - } - } - __e_acsl_full_init((void *)(& x)); - x = 1; - __e_acsl_full_init((void *)(& x)); - x = 2; - __gen_e_acsl_f(); - /*@ assert \at(x,L) ≡ 0; */ - { - __e_acsl_mpz_t __gen_e_acsl__2; - int __gen_e_acsl_eq_2; - __gmpz_init_set_si(__gen_e_acsl__2,0L); - __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_at), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); - __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion", - (char *)"main",(char *)"\\at(x,L) == 0",48); - __gmpz_clear(__gen_e_acsl__2); - } - /*@ assert \at(x + 1,L) ≡ 1; */ - { - __e_acsl_mpz_t __gen_e_acsl__4; - int __gen_e_acsl_eq_3; - __gmpz_init_set_si(__gen_e_acsl__4,1L); - __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_at_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); - __e_acsl_assert(__gen_e_acsl_eq_3 == 0,(char *)"Assertion", - (char *)"main",(char *)"\\at(x + 1,L) == 1",49); - __gmpz_clear(__gen_e_acsl__4); - } - /*@ assert \at(x,L) + 1 ≡ 1; */ - { - __e_acsl_mpz_t __gen_e_acsl__5; - __e_acsl_mpz_t __gen_e_acsl_add_2; - int __gen_e_acsl_eq_4; - __gmpz_init_set_si(__gen_e_acsl__5,1L); - __gmpz_init(__gen_e_acsl_add_2); - __gmpz_add(__gen_e_acsl_add_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); - __gen_e_acsl_eq_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); - __e_acsl_assert(__gen_e_acsl_eq_4 == 0,(char *)"Assertion", - (char *)"main",(char *)"\\at(x,L) + 1 == 1",50); - __gmpz_clear(__gen_e_acsl__5); - __gmpz_clear(__gen_e_acsl_add_2); - } - g(t,& x); - __retres = 0; - __gmpz_clear(__gen_e_acsl_at); - __gmpz_clear(__gen_e_acsl_at_2); - __e_acsl_delete_block((void *)(t)); - __e_acsl_delete_block((void *)(& x)); - __e_acsl_memory_clean(); - return __retres; -} - -/*@ ensures \result ≡ \old(x); */ -int __gen_e_acsl_h(int x) -{ - __e_acsl_mpz_t __gen_e_acsl_at; - int __retres; - __e_acsl_store_block((void *)(& __retres),(size_t)4); - { - __e_acsl_mpz_t __gen_e_acsl_x; - __gmpz_init_set_si(__gen_e_acsl_x,(long)x); - __gmpz_init_set(__gen_e_acsl_at, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_x)); - __gmpz_clear(__gen_e_acsl_x); - } - __e_acsl_store_block((void *)(& x),(size_t)4); - __retres = h(x); - { - __e_acsl_mpz_t __gen_e_acsl_result; - int __gen_e_acsl_eq; - __gmpz_init_set_si(__gen_e_acsl_result,(long)__retres); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_result), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_at)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Postcondition",(char *)"h", - (char *)"\\result == \\old(x)",35); - __e_acsl_delete_block((void *)(& x)); - __gmpz_clear(__gen_e_acsl_result); - __gmpz_clear(__gen_e_acsl_at); - __e_acsl_delete_block((void *)(& __retres)); - return __retres; - } -} - -/*@ ensures \at(A,Post) ≡ 3; */ -void __gen_e_acsl_f(void) -{ - __e_acsl_mpz_t __gen_e_acsl_at; - f(); - { - __e_acsl_mpz_t __gen_e_acsl_; - int __gen_e_acsl_eq; - { - __e_acsl_mpz_t __gen_e_acsl_A; - __gmpz_init_set_si(__gen_e_acsl_A,(long)A); - __gmpz_init_set(__gen_e_acsl_at, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_A)); - __gmpz_clear(__gen_e_acsl_A); - } - __gmpz_init_set_si(__gen_e_acsl_,3L); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_at), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Postcondition",(char *)"f", - (char *)"\\at(A,Post) == 3",7); - __gmpz_clear(__gen_e_acsl_); - __gmpz_clear(__gen_e_acsl_at); - return; - } -} - - diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_at_on-purely-logic-variables2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_at_on-purely-logic-variables2.c deleted file mode 100644 index 6b577c505abf058eaf630cf172cfc76ef795fac6..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_at_on-purely-logic-variables2.c +++ /dev/null @@ -1,105 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -extern int __e_acsl_sound_verdict; - -/*@ ensures - ∀ ℤ n; - 1 < n ≤ 3 ⇒ \old(*(t + n) ≡ 12) ∧ \old(*(t + (n - 1)) > 5); - ensures \let m = 4; \old(*(t + m) ≡ -4) ∧ \old(*(t + (m - 4))) ≡ 9; - */ -void __gen_e_acsl_f(int *t); - -void f(int *t) -{ - __e_acsl_store_block((void *)(& t),(size_t)8); - __e_acsl_delete_block((void *)(& t)); - return; -} - -void g(void) -{ - int m; - m = 8; - Q: ; - m = 10; - /*@ assert ∃ ℤ w; 3 ≤ w < 6 ∧ \at(m + w ≡ 12,Q); */ ; - return; -} - -int main(void) -{ - int __retres; - int n; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - __e_acsl_store_block((void *)(& n),(size_t)4); - __e_acsl_full_init((void *)(& n)); - n = 7; - L: ; - __e_acsl_full_init((void *)(& n)); - n = 9; - K: ; - __e_acsl_full_init((void *)(& n)); - n = 666; - /*@ assert \let i = 3; \at(n + i ≡ 10,L); */ ; - /*@ assert ∃ ℤ j; 2 ≤ j < 5 ∧ \at(n + j ≡ 11,L); */ ; - /*@ - assert \let k = -7; - ∃ ℤ u; - 9 ≤ u < 21 ∧ - (∀ ℤ v; -5 < v ≤ 6 ⇒ \at((u > 0? n + k: u + v) > 0,K)); - */ - ; - /*@ assert \let i = 3; \at(n + i,L) ≡ 10; */ ; - unsigned int m = (unsigned int)3; - G: ; - m = (unsigned int)(-3); - /*@ assert ∃ ℤ k; -9 < k < 0 ∧ \at(m + k,G) ≡ 0; */ ; - /*@ - assert - ∃ ℤ u; - 9 ≤ u < 21 ∧ - (∀ ℤ v; -5 < v ≤ (u < 15? u + 6: 3) ⇒ \at((n + u) + v > 0,K)); - */ - ; - int t[5] = {9, 12, 12, 12, -4}; - __e_acsl_store_block((void *)(t),(size_t)20); - __e_acsl_full_init((void *)(& t)); - __gen_e_acsl_f(t); - g(); - /*@ - assert - ∃ ℤ u; - 10 ≤ u < 20 ∧ - (∃ ℤ v; - -10 < v ≤ -5 + (\let u = -2; u) ∧ - (∃ ℤ w; - 100 < w ≤ 200 ∧ - \at((((n - u) + (\let u = 42; u)) + v) + w > 0,K))); - */ - ; - /*@ assert ∃ ℤ j; 2 ≤ j < 10000000000000000 ∧ \at(n + j ≡ 11,L); - */ - ; - /*@ assert \let i = n; \at(n + i ≡ 10,L); */ ; - __retres = 0; - __e_acsl_delete_block((void *)(t)); - __e_acsl_delete_block((void *)(& n)); - __e_acsl_memory_clean(); - return __retres; -} - -/*@ ensures - ∀ ℤ n; - 1 < n ≤ 3 ⇒ \old(*(t + n) ≡ 12) ∧ \old(*(t + (n - 1)) > 5); - ensures \let m = 4; \old(*(t + m) ≡ -4) ∧ \old(*(t + (m - 4))) ≡ 9; - */ -void __gen_e_acsl_f(int *t) -{ - __e_acsl_store_block((void *)(& t),(size_t)8); - f(t); - __e_acsl_delete_block((void *)(& t)); - return; -} - - diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_cast2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_cast2.c deleted file mode 100644 index 30144953b681e8e7405c1d2237aebbd599fa4892..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_cast2.c +++ /dev/null @@ -1,143 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - long x = (long)0; - int y = 0; - /*@ assert (int)x ≡ y; */ - { - __e_acsl_mpz_t __gen_e_acsl_x; - long __gen_e_acsl_cast; - __e_acsl_mpz_t __gen_e_acsl_; - __e_acsl_mpz_t __gen_e_acsl_y; - int __gen_e_acsl_eq; - __gmpz_init_set_si(__gen_e_acsl_x,x); - __gen_e_acsl_cast = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl_x)); - __gmpz_init_set_si(__gen_e_acsl_,__gen_e_acsl_cast); - __gmpz_init_set_si(__gen_e_acsl_y,(long)y); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_y)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main", - (char *)"(int)x == y",10); - __gmpz_clear(__gen_e_acsl_x); - __gmpz_clear(__gen_e_acsl_); - __gmpz_clear(__gen_e_acsl_y); - } - /*@ assert x ≡ (long)y; */ - { - __e_acsl_mpz_t __gen_e_acsl_x_2; - __e_acsl_mpz_t __gen_e_acsl_y_2; - long __gen_e_acsl_cast_2; - __e_acsl_mpz_t __gen_e_acsl__2; - int __gen_e_acsl_eq_2; - __gmpz_init_set_si(__gen_e_acsl_x_2,x); - __gmpz_init_set_si(__gen_e_acsl_y_2,(long)y); - __gen_e_acsl_cast_2 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl_y_2)); - __gmpz_init_set_si(__gen_e_acsl__2,__gen_e_acsl_cast_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__2)); - __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion", - (char *)"main",(char *)"x == (long)y",11); - __gmpz_clear(__gen_e_acsl_x_2); - __gmpz_clear(__gen_e_acsl_y_2); - __gmpz_clear(__gen_e_acsl__2); - } - /*@ assert y ≡ (int)0; */ - { - __e_acsl_mpz_t __gen_e_acsl_y_3; - __e_acsl_mpz_t __gen_e_acsl__3; - long __gen_e_acsl_cast_3; - __e_acsl_mpz_t __gen_e_acsl__4; - int __gen_e_acsl_eq_3; - __gmpz_init_set_si(__gen_e_acsl_y_3,(long)y); - __gmpz_init_set_si(__gen_e_acsl__3,0L); - __gen_e_acsl_cast_3 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl__3)); - __gmpz_init_set_si(__gen_e_acsl__4,__gen_e_acsl_cast_3); - __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_y_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); - __e_acsl_assert(__gen_e_acsl_eq_3 == 0,(char *)"Assertion", - (char *)"main",(char *)"y == (int)0",13); - __gmpz_clear(__gen_e_acsl_y_3); - __gmpz_clear(__gen_e_acsl__3); - __gmpz_clear(__gen_e_acsl__4); - } - /*@ assert (unsigned int)y ≡ (unsigned int)0; */ - { - __e_acsl_mpz_t __gen_e_acsl_y_4; - unsigned long __gen_e_acsl_cast_4; - __e_acsl_mpz_t __gen_e_acsl__5; - __e_acsl_mpz_t __gen_e_acsl__6; - unsigned long __gen_e_acsl_cast_5; - __e_acsl_mpz_t __gen_e_acsl__7; - int __gen_e_acsl_eq_4; - __gmpz_init_set_si(__gen_e_acsl_y_4,(long)y); - __gen_e_acsl_cast_4 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_y_4)); - __gmpz_init_set_ui(__gen_e_acsl__5,__gen_e_acsl_cast_4); - __gmpz_init_set_si(__gen_e_acsl__6,0L); - __gen_e_acsl_cast_5 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl__6)); - __gmpz_init_set_ui(__gen_e_acsl__7,__gen_e_acsl_cast_5); - __gen_e_acsl_eq_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__5), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); - __e_acsl_assert(__gen_e_acsl_eq_4 == 0,(char *)"Assertion", - (char *)"main", - (char *)"(unsigned int)y == (unsigned int)0",14); - __gmpz_clear(__gen_e_acsl_y_4); - __gmpz_clear(__gen_e_acsl__5); - __gmpz_clear(__gen_e_acsl__6); - __gmpz_clear(__gen_e_acsl__7); - } - /*@ assert y ≢ (int)0xfffffffffffffff; */ - { - __e_acsl_mpz_t __gen_e_acsl_y_5; - __e_acsl_mpz_t __gen_e_acsl__8; - long __gen_e_acsl_cast_6; - __e_acsl_mpz_t __gen_e_acsl__9; - int __gen_e_acsl_ne; - __gmpz_init_set_si(__gen_e_acsl_y_5,(long)y); - __gmpz_init_set_ui(__gen_e_acsl__8,1152921504606846975UL); - __gen_e_acsl_cast_6 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); - __gmpz_init_set_si(__gen_e_acsl__9,__gen_e_acsl_cast_6); - __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_y_5), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__9)); - __e_acsl_assert(__gen_e_acsl_ne != 0,(char *)"Assertion",(char *)"main", - (char *)"y != (int)0xfffffffffffffff",17); - __gmpz_clear(__gen_e_acsl_y_5); - __gmpz_clear(__gen_e_acsl__8); - __gmpz_clear(__gen_e_acsl__9); - } - /*@ assert (unsigned int)y ≢ (unsigned int)0xfffffffffffffff; */ - { - __e_acsl_mpz_t __gen_e_acsl_y_6; - unsigned long __gen_e_acsl_cast_7; - __e_acsl_mpz_t __gen_e_acsl__10; - __e_acsl_mpz_t __gen_e_acsl__11; - unsigned long __gen_e_acsl_cast_8; - __e_acsl_mpz_t __gen_e_acsl__12; - int __gen_e_acsl_ne_2; - __gmpz_init_set_si(__gen_e_acsl_y_6,(long)y); - __gen_e_acsl_cast_7 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl_y_6)); - __gmpz_init_set_ui(__gen_e_acsl__10,__gen_e_acsl_cast_7); - __gmpz_init_set_ui(__gen_e_acsl__11,1152921504606846975UL); - __gen_e_acsl_cast_8 = __gmpz_get_ui((__e_acsl_mpz_struct const *)(__gen_e_acsl__11)); - __gmpz_init_set_ui(__gen_e_acsl__12,__gen_e_acsl_cast_8); - __gen_e_acsl_ne_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__10), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__12)); - __e_acsl_assert(__gen_e_acsl_ne_2 != 0,(char *)"Assertion", - (char *)"main", - (char *)"(unsigned int)y != (unsigned int)0xfffffffffffffff", - 18); - __gmpz_clear(__gen_e_acsl_y_6); - __gmpz_clear(__gen_e_acsl__10); - __gmpz_clear(__gen_e_acsl__11); - __gmpz_clear(__gen_e_acsl__12); - } - int t[2] = {0, 1}; - /*@ assert (float)x ≡ t[(int)0.1]; */ ; - __retres = 0; - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_comparison2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_comparison2.c deleted file mode 100644 index 4cfbcae218e6680962cd2343400a0593e947bb36..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_comparison2.c +++ /dev/null @@ -1,266 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - int x = 0; - int y = 1; - /*@ assert x < y; */ - { - __e_acsl_mpz_t __gen_e_acsl_x; - __e_acsl_mpz_t __gen_e_acsl_y; - int __gen_e_acsl_lt; - __gmpz_init_set_si(__gen_e_acsl_x,(long)x); - __gmpz_init_set_si(__gen_e_acsl_y,(long)y); - __gen_e_acsl_lt = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_y)); - __e_acsl_assert(__gen_e_acsl_lt < 0,(char *)"Assertion",(char *)"main", - (char *)"x < y",7); - __gmpz_clear(__gen_e_acsl_x); - __gmpz_clear(__gen_e_acsl_y); - } - /*@ assert y > x; */ - { - __e_acsl_mpz_t __gen_e_acsl_y_2; - __e_acsl_mpz_t __gen_e_acsl_x_2; - int __gen_e_acsl_gt; - __gmpz_init_set_si(__gen_e_acsl_y_2,(long)y); - __gmpz_init_set_si(__gen_e_acsl_x_2,(long)x); - __gen_e_acsl_gt = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_y_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_2)); - __e_acsl_assert(__gen_e_acsl_gt > 0,(char *)"Assertion",(char *)"main", - (char *)"y > x",8); - __gmpz_clear(__gen_e_acsl_y_2); - __gmpz_clear(__gen_e_acsl_x_2); - } - /*@ assert x ≤ 0; */ - { - __e_acsl_mpz_t __gen_e_acsl_x_3; - __e_acsl_mpz_t __gen_e_acsl_; - int __gen_e_acsl_le; - __gmpz_init_set_si(__gen_e_acsl_x_3,(long)x); - __gmpz_init_set_si(__gen_e_acsl_,0L); - __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); - __e_acsl_assert(__gen_e_acsl_le <= 0,(char *)"Assertion",(char *)"main", - (char *)"x <= 0",9); - __gmpz_clear(__gen_e_acsl_x_3); - __gmpz_clear(__gen_e_acsl_); - } - /*@ assert y ≥ 1; */ - { - __e_acsl_mpz_t __gen_e_acsl_y_3; - __e_acsl_mpz_t __gen_e_acsl__2; - int __gen_e_acsl_ge; - __gmpz_init_set_si(__gen_e_acsl_y_3,(long)y); - __gmpz_init_set_si(__gen_e_acsl__2,1L); - __gen_e_acsl_ge = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_y_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); - __e_acsl_assert(__gen_e_acsl_ge >= 0,(char *)"Assertion",(char *)"main", - (char *)"y >= 1",10); - __gmpz_clear(__gen_e_acsl_y_3); - __gmpz_clear(__gen_e_acsl__2); - } - char *s = (char *)"toto"; - /*@ assert s ≡ s; */ - __e_acsl_assert(s == s,(char *)"Assertion",(char *)"main",(char *)"s == s", - 12); - /*@ assert 5 < 18; */ - { - __e_acsl_mpz_t __gen_e_acsl__3; - __e_acsl_mpz_t __gen_e_acsl__4; - int __gen_e_acsl_lt_2; - __gmpz_init_set_si(__gen_e_acsl__3,5L); - __gmpz_init_set_si(__gen_e_acsl__4,18L); - __gen_e_acsl_lt_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); - __e_acsl_assert(__gen_e_acsl_lt_2 < 0,(char *)"Assertion",(char *)"main", - (char *)"5 < 18",15); - __gmpz_clear(__gen_e_acsl__3); - __gmpz_clear(__gen_e_acsl__4); - } - /*@ assert 32 > 3; */ - { - __e_acsl_mpz_t __gen_e_acsl__5; - __e_acsl_mpz_t __gen_e_acsl__6; - int __gen_e_acsl_gt_2; - __gmpz_init_set_si(__gen_e_acsl__5,32L); - __gmpz_init_set_si(__gen_e_acsl__6,3L); - __gen_e_acsl_gt_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__5), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__6)); - __e_acsl_assert(__gen_e_acsl_gt_2 > 0,(char *)"Assertion",(char *)"main", - (char *)"32 > 3",16); - __gmpz_clear(__gen_e_acsl__5); - __gmpz_clear(__gen_e_acsl__6); - } - /*@ assert 12 ≤ 13; */ - { - __e_acsl_mpz_t __gen_e_acsl__7; - __e_acsl_mpz_t __gen_e_acsl__8; - int __gen_e_acsl_le_2; - __gmpz_init_set_si(__gen_e_acsl__7,12L); - __gmpz_init_set_si(__gen_e_acsl__8,13L); - __gen_e_acsl_le_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__7), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); - __e_acsl_assert(__gen_e_acsl_le_2 <= 0,(char *)"Assertion", - (char *)"main",(char *)"12 <= 13",17); - __gmpz_clear(__gen_e_acsl__7); - __gmpz_clear(__gen_e_acsl__8); - } - /*@ assert 123 ≥ 12; */ - { - __e_acsl_mpz_t __gen_e_acsl__9; - __e_acsl_mpz_t __gen_e_acsl__10; - int __gen_e_acsl_ge_2; - __gmpz_init_set_si(__gen_e_acsl__9,123L); - __gmpz_init_set_si(__gen_e_acsl__10,12L); - __gen_e_acsl_ge_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__9), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__10)); - __e_acsl_assert(__gen_e_acsl_ge_2 >= 0,(char *)"Assertion", - (char *)"main",(char *)"123 >= 12",18); - __gmpz_clear(__gen_e_acsl__9); - __gmpz_clear(__gen_e_acsl__10); - } - /*@ assert 0xff ≡ 0xff; */ - { - __e_acsl_mpz_t __gen_e_acsl__11; - int __gen_e_acsl_eq; - __gmpz_init_set_si(__gen_e_acsl__11,255L); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__11), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__11)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main", - (char *)"0xff == 0xff",19); - __gmpz_clear(__gen_e_acsl__11); - } - /*@ assert 1 ≢ 2; */ - { - __e_acsl_mpz_t __gen_e_acsl__12; - __e_acsl_mpz_t __gen_e_acsl__13; - int __gen_e_acsl_ne; - __gmpz_init_set_si(__gen_e_acsl__12,1L); - __gmpz_init_set_si(__gen_e_acsl__13,2L); - __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__12), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__13)); - __e_acsl_assert(__gen_e_acsl_ne != 0,(char *)"Assertion",(char *)"main", - (char *)"1 != 2",20); - __gmpz_clear(__gen_e_acsl__12); - __gmpz_clear(__gen_e_acsl__13); - } - /*@ assert -5 < 18; */ - { - __e_acsl_mpz_t __gen_e_acsl__14; - __e_acsl_mpz_t __gen_e_acsl_neg; - __e_acsl_mpz_t __gen_e_acsl__15; - int __gen_e_acsl_lt_3; - __gmpz_init_set_si(__gen_e_acsl__14,5L); - __gmpz_init(__gen_e_acsl_neg); - __gmpz_neg(__gen_e_acsl_neg, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__14)); - __gmpz_init_set_si(__gen_e_acsl__15,18L); - __gen_e_acsl_lt_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_neg), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__15)); - __e_acsl_assert(__gen_e_acsl_lt_3 < 0,(char *)"Assertion",(char *)"main", - (char *)"-5 < 18",22); - __gmpz_clear(__gen_e_acsl__14); - __gmpz_clear(__gen_e_acsl_neg); - __gmpz_clear(__gen_e_acsl__15); - } - /*@ assert 32 > -3; */ - { - __e_acsl_mpz_t __gen_e_acsl__16; - __e_acsl_mpz_t __gen_e_acsl__17; - __e_acsl_mpz_t __gen_e_acsl_neg_2; - int __gen_e_acsl_gt_3; - __gmpz_init_set_si(__gen_e_acsl__16,32L); - __gmpz_init_set_si(__gen_e_acsl__17,3L); - __gmpz_init(__gen_e_acsl_neg_2); - __gmpz_neg(__gen_e_acsl_neg_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__17)); - __gen_e_acsl_gt_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__16), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_2)); - __e_acsl_assert(__gen_e_acsl_gt_3 > 0,(char *)"Assertion",(char *)"main", - (char *)"32 > -3",23); - __gmpz_clear(__gen_e_acsl__16); - __gmpz_clear(__gen_e_acsl__17); - __gmpz_clear(__gen_e_acsl_neg_2); - } - /*@ assert -12 ≤ 13; */ - { - __e_acsl_mpz_t __gen_e_acsl__18; - __e_acsl_mpz_t __gen_e_acsl_neg_3; - __e_acsl_mpz_t __gen_e_acsl__19; - int __gen_e_acsl_le_3; - __gmpz_init_set_si(__gen_e_acsl__18,12L); - __gmpz_init(__gen_e_acsl_neg_3); - __gmpz_neg(__gen_e_acsl_neg_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__18)); - __gmpz_init_set_si(__gen_e_acsl__19,13L); - __gen_e_acsl_le_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__19)); - __e_acsl_assert(__gen_e_acsl_le_3 <= 0,(char *)"Assertion", - (char *)"main",(char *)"-12 <= 13",24); - __gmpz_clear(__gen_e_acsl__18); - __gmpz_clear(__gen_e_acsl_neg_3); - __gmpz_clear(__gen_e_acsl__19); - } - /*@ assert 123 ≥ -12; */ - { - __e_acsl_mpz_t __gen_e_acsl__20; - __e_acsl_mpz_t __gen_e_acsl__21; - __e_acsl_mpz_t __gen_e_acsl_neg_4; - int __gen_e_acsl_ge_3; - __gmpz_init_set_si(__gen_e_acsl__20,123L); - __gmpz_init_set_si(__gen_e_acsl__21,12L); - __gmpz_init(__gen_e_acsl_neg_4); - __gmpz_neg(__gen_e_acsl_neg_4, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__21)); - __gen_e_acsl_ge_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__20), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_4)); - __e_acsl_assert(__gen_e_acsl_ge_3 >= 0,(char *)"Assertion", - (char *)"main",(char *)"123 >= -12",25); - __gmpz_clear(__gen_e_acsl__20); - __gmpz_clear(__gen_e_acsl__21); - __gmpz_clear(__gen_e_acsl_neg_4); - } - /*@ assert -0xff ≡ -0xff; */ - { - __e_acsl_mpz_t __gen_e_acsl__22; - __e_acsl_mpz_t __gen_e_acsl_neg_5; - int __gen_e_acsl_eq_2; - __gmpz_init_set_si(__gen_e_acsl__22,255L); - __gmpz_init(__gen_e_acsl_neg_5); - __gmpz_neg(__gen_e_acsl_neg_5, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__22)); - __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_5), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_5)); - __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion", - (char *)"main",(char *)"-0xff == -0xff",26); - __gmpz_clear(__gen_e_acsl__22); - __gmpz_clear(__gen_e_acsl_neg_5); - } - /*@ assert 1 ≢ -2; */ - { - __e_acsl_mpz_t __gen_e_acsl__23; - __e_acsl_mpz_t __gen_e_acsl__24; - __e_acsl_mpz_t __gen_e_acsl_neg_6; - int __gen_e_acsl_ne_2; - __gmpz_init_set_si(__gen_e_acsl__23,1L); - __gmpz_init_set_si(__gen_e_acsl__24,2L); - __gmpz_init(__gen_e_acsl_neg_6); - __gmpz_neg(__gen_e_acsl_neg_6, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__24)); - __gen_e_acsl_ne_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__23), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg_6)); - __e_acsl_assert(__gen_e_acsl_ne_2 != 0,(char *)"Assertion", - (char *)"main",(char *)"1 != -2",27); - __gmpz_clear(__gen_e_acsl__23); - __gmpz_clear(__gen_e_acsl__24); - __gmpz_clear(__gen_e_acsl_neg_6); - } - __retres = 0; - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_functions_contiki2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_functions_contiki2.c deleted file mode 100644 index 259afb2e7cf7aff685e3f821c94a0a230968a678..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_functions_contiki2.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -struct list { - struct list *next ; - int value ; -}; -/*@ -logic ℤ length_aux{L}(struct list *l, ℤ n) = - \at(n < 0? -1: - (l ≡ (struct list *)((void *)0)? n: - (n < 2147483647? length_aux(l->next, n + 1): -1)), - L); - */ -/*@ logic ℤ length{L}(struct list *l) = \at(length_aux(l, 0),L); - -*/ -int main(void) -{ - int __retres; - struct list node1; - struct list node2; - struct list node3; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - __e_acsl_store_block((void *)(& node3),(size_t)16); - __e_acsl_store_block((void *)(& node2),(size_t)16); - __e_acsl_store_block((void *)(& node1),(size_t)16); - __e_acsl_initialize((void *)(& node1.next),sizeof(struct list *)); - node1.next = & node2; - __e_acsl_initialize((void *)(& node2.next),sizeof(struct list *)); - node2.next = & node3; - struct list *l = & node1; - __e_acsl_store_block((void *)(& l),(size_t)8); - __e_acsl_full_init((void *)(& l)); - /*@ assert length(l) ≡ 3; */ ; - __retres = 0; - __e_acsl_delete_block((void *)(& l)); - __e_acsl_delete_block((void *)(& node3)); - __e_acsl_delete_block((void *)(& node2)); - __e_acsl_delete_block((void *)(& node1)); - __e_acsl_memory_clean(); - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_functions_rec.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_functions_rec.c deleted file mode 100644 index bc071fb5cb4836a10cef705c1d591faac6fec620..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_functions_rec.c +++ /dev/null @@ -1,208 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -/*@ logic ℤ f1(ℤ n) = n ≤ 0? 0: f1(n - 1) + n; - */ -/*@ logic ℤ f2(ℤ n) = n < 0? 1: (f2(n - 1) * f2(n - 2)) / f2(n - 3); - */ -int __gen_e_acsl_f2(int n); - -int __gen_e_acsl_f2_2(long n); - -/*@ logic ℤ g(ℤ n) = 0; - */ -int __gen_e_acsl_g(int n); - -int __gen_e_acsl_g_5(long n); - -/*@ logic ℤ f3(ℤ n) = n > 0? g(n) * f3(n - 1) - 5: g(n + 1); - */ -int __gen_e_acsl_f3(int n); - -int __gen_e_acsl_f3_2(long n); - -/*@ -logic ℤ f4(ℤ n) = - n < 100? f4(n + 1): (n < 0x7fffffffffffffffL? 0x7fffffffffffffffL: 6); - -*/ -unsigned long __gen_e_acsl_f4(int n); - -unsigned long __gen_e_acsl_f4_2(long n); - -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - /*@ assert f2(7) ≡ 1; */ - { - int __gen_e_acsl_f2_14; - __gen_e_acsl_f2_14 = __gen_e_acsl_f2(7); - __e_acsl_assert(__gen_e_acsl_f2_14 == 1,(char *)"Assertion", - (char *)"main",(char *)"f2(7) == 1",26); - } - /*@ assert f3(6) ≡ -5; */ - { - int __gen_e_acsl_f3_6; - __gen_e_acsl_f3_6 = __gen_e_acsl_f3(6); - __e_acsl_assert(__gen_e_acsl_f3_6 == -5,(char *)"Assertion", - (char *)"main",(char *)"f3(6) == -5",28); - } - /*@ assert f4(9) > 0; */ - { - unsigned long __gen_e_acsl_f4_6; - __gen_e_acsl_f4_6 = __gen_e_acsl_f4(9); - __e_acsl_assert(__gen_e_acsl_f4_6 > 0UL,(char *)"Assertion", - (char *)"main",(char *)"f4(9) > 0",30); - } - __retres = 0; - return __retres; -} - -int __gen_e_acsl_f2(int n) -{ - int __gen_e_acsl_if_2; - if (n < 0) __gen_e_acsl_if_2 = 1; - else { - int __gen_e_acsl_f2_9; - int __gen_e_acsl_f2_11; - int __gen_e_acsl_f2_13; - __gen_e_acsl_f2_9 = __gen_e_acsl_f2_2(n - 1L); - __gen_e_acsl_f2_11 = __gen_e_acsl_f2_2(n - 2L); - __gen_e_acsl_f2_13 = __gen_e_acsl_f2_2(n - 3L); - __e_acsl_assert(__gen_e_acsl_f2_13 != 0,(char *)"RTE",(char *)"f2", - (char *)"division_by_zero: __gen_e_acsl_f2_13 != 0",10); - /*@ assert Eva: division_by_zero: __gen_e_acsl_f2_13 ≢ 0; */ - /*@ assert - Eva: signed_overflow: - -2147483648 ≤ __gen_e_acsl_f2_9 * __gen_e_acsl_f2_11; - */ - /*@ assert - Eva: signed_overflow: - __gen_e_acsl_f2_9 * __gen_e_acsl_f2_11 ≤ 2147483647; - */ - /*@ assert - Eva: signed_overflow: - (int)(__gen_e_acsl_f2_9 * __gen_e_acsl_f2_11) / __gen_e_acsl_f2_13 - ≤ 2147483647; - */ - __gen_e_acsl_if_2 = (__gen_e_acsl_f2_9 * __gen_e_acsl_f2_11) / __gen_e_acsl_f2_13; - } - return __gen_e_acsl_if_2; -} - -int __gen_e_acsl_f2_2(long n) -{ - int __gen_e_acsl_if; - if (n < 0L) __gen_e_acsl_if = 1; - else { - int __gen_e_acsl_f2_4; - int __gen_e_acsl_f2_6; - int __gen_e_acsl_f2_8; - __gen_e_acsl_f2_4 = __gen_e_acsl_f2_2(n - 1L); - __gen_e_acsl_f2_6 = __gen_e_acsl_f2_2(n - 2L); - __gen_e_acsl_f2_8 = __gen_e_acsl_f2_2(n - 3L); - __e_acsl_assert(__gen_e_acsl_f2_8 != 0,(char *)"RTE",(char *)"f2_2", - (char *)"division_by_zero: __gen_e_acsl_f2_8 != 0",10); - /*@ assert Eva: division_by_zero: __gen_e_acsl_f2_8 ≢ 0; */ - /*@ assert - Eva: signed_overflow: - -2147483648 ≤ __gen_e_acsl_f2_4 * __gen_e_acsl_f2_6; - */ - /*@ assert - Eva: signed_overflow: - __gen_e_acsl_f2_4 * __gen_e_acsl_f2_6 ≤ 2147483647; - */ - /*@ assert - Eva: signed_overflow: - (int)(__gen_e_acsl_f2_4 * __gen_e_acsl_f2_6) / __gen_e_acsl_f2_8 - ≤ 2147483647; - */ - __gen_e_acsl_if = (__gen_e_acsl_f2_4 * __gen_e_acsl_f2_6) / __gen_e_acsl_f2_8; - } - return __gen_e_acsl_if; -} - -int __gen_e_acsl_g(int n) -{ - int __retres = 0; - return __retres; -} - -int __gen_e_acsl_g_5(long n) -{ - int __retres = 0; - return __retres; -} - -int __gen_e_acsl_f3(int n) -{ - int __gen_e_acsl_if_4; - if (n > 0) { - int __gen_e_acsl_g_2; - int __gen_e_acsl_f3_5; - __gen_e_acsl_g_2 = __gen_e_acsl_g(n); - __gen_e_acsl_f3_5 = __gen_e_acsl_f3_2(n - 1L); - __gen_e_acsl_if_4 = __gen_e_acsl_g_2 * __gen_e_acsl_f3_5 - 5; - } - else { - int __gen_e_acsl_g_8; - __gen_e_acsl_g_8 = __gen_e_acsl_g_5(n + 1L); - __gen_e_acsl_if_4 = __gen_e_acsl_g_8; - } - return __gen_e_acsl_if_4; -} - -int __gen_e_acsl_f3_2(long n) -{ - int __gen_e_acsl_if_3; - if (n > 0L) { - int __gen_e_acsl_g_4; - int __gen_e_acsl_f3_4; - __gen_e_acsl_g_4 = __gen_e_acsl_g((int)n); - __gen_e_acsl_f3_4 = __gen_e_acsl_f3_2(n - 1L); - __gen_e_acsl_if_3 = __gen_e_acsl_g_4 * __gen_e_acsl_f3_4 - 5; - } - else { - int __gen_e_acsl_g_6; - __gen_e_acsl_g_6 = __gen_e_acsl_g_5(n + 1L); - __gen_e_acsl_if_3 = __gen_e_acsl_g_6; - } - return __gen_e_acsl_if_3; -} - -unsigned long __gen_e_acsl_f4(int n) -{ - unsigned long __gen_e_acsl_if_8; - if (n < 100) { - unsigned long __gen_e_acsl_f4_5; - __gen_e_acsl_f4_5 = __gen_e_acsl_f4_2(n + 1L); - __gen_e_acsl_if_8 = __gen_e_acsl_f4_5; - } - else { - unsigned long __gen_e_acsl_if_7; - if ((long)n < 9223372036854775807L) __gen_e_acsl_if_7 = 9223372036854775807UL; - else __gen_e_acsl_if_7 = 6UL; - __gen_e_acsl_if_8 = __gen_e_acsl_if_7; - } - return __gen_e_acsl_if_8; -} - -unsigned long __gen_e_acsl_f4_2(long n) -{ - unsigned long __gen_e_acsl_if_6; - if (n < 100L) { - unsigned long __gen_e_acsl_f4_4; - __gen_e_acsl_f4_4 = __gen_e_acsl_f4_2(n + 1L); - __gen_e_acsl_if_6 = __gen_e_acsl_f4_4; - } - else { - unsigned long __gen_e_acsl_if_5; - if (n < 9223372036854775807L) __gen_e_acsl_if_5 = 9223372036854775807UL; - else __gen_e_acsl_if_5 = 6UL; - __gen_e_acsl_if_6 = __gen_e_acsl_if_5; - } - return __gen_e_acsl_if_6; -} - - diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_functions_rec2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_functions_rec2.c deleted file mode 100644 index 9af269bd2db4bf590352f544990b3b31d0b32030..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_functions_rec2.c +++ /dev/null @@ -1,593 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -/*@ logic ℤ f1(ℤ n) = n ≤ 0? 0: f1(n - 1) + n; - */ -/*@ logic ℤ f2(ℤ n) = n < 0? 1: (f2(n - 1) * f2(n - 2)) / f2(n - 3); - -*/ -void __gen_e_acsl_f2(__e_acsl_mpz_t *__retres_arg, int n); - -void __gen_e_acsl_f2_2(__e_acsl_mpz_t *__retres_arg, __e_acsl_mpz_struct * n); - -/*@ logic ℤ g(ℤ n) = 0; - -*/ -void __gen_e_acsl_g(__e_acsl_mpz_t *__retres_arg, int n); - -void __gen_e_acsl_g_5(__e_acsl_mpz_t *__retres_arg, __e_acsl_mpz_struct * n); - -/*@ logic ℤ f3(ℤ n) = n > 0? g(n) * f3(n - 1) - 5: g(n + 1); - -*/ -void __gen_e_acsl_f3(__e_acsl_mpz_t *__retres_arg, int n); - -void __gen_e_acsl_f3_2(__e_acsl_mpz_t *__retres_arg, __e_acsl_mpz_struct * n); - -/*@ -logic ℤ f4(ℤ n) = - n < 100? f4(n + 1): (n < 0x7fffffffffffffffL? 0x7fffffffffffffffL: 6); - -*/ -void __gen_e_acsl_f4(__e_acsl_mpz_t *__retres_arg, int n); - -void __gen_e_acsl_f4_2(__e_acsl_mpz_t *__retres_arg, __e_acsl_mpz_struct * n); - -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - /*@ assert f2(7) ≡ 1; */ - { - __e_acsl_mpz_t __gen_e_acsl_f2_14; - __e_acsl_mpz_t __gen_e_acsl__13; - int __gen_e_acsl_eq; - __gen_e_acsl_f2(& __gen_e_acsl_f2_14,7); - __gmpz_init_set_si(__gen_e_acsl__13,1L); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f2_14), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__13)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main", - (char *)"f2(7) == 1",26); - __gmpz_clear(__gen_e_acsl_f2_14); - __gmpz_clear(__gen_e_acsl__13); - } - /*@ assert f3(6) ≡ -5; */ - { - __e_acsl_mpz_t __gen_e_acsl_f3_6; - __e_acsl_mpz_t __gen_e_acsl__23; - __e_acsl_mpz_t __gen_e_acsl_neg; - int __gen_e_acsl_eq_2; - __gen_e_acsl_f3(& __gen_e_acsl_f3_6,6); - __gmpz_init_set_si(__gen_e_acsl__23,5L); - __gmpz_init(__gen_e_acsl_neg); - __gmpz_neg(__gen_e_acsl_neg, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__23)); - __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f3_6), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_neg)); - __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion", - (char *)"main",(char *)"f3(6) == -5",28); - __gmpz_clear(__gen_e_acsl_f3_6); - __gmpz_clear(__gen_e_acsl__23); - __gmpz_clear(__gen_e_acsl_neg); - } - /*@ assert f4(9) > 0; */ - { - __e_acsl_mpz_t __gen_e_acsl_f4_6; - __e_acsl_mpz_t __gen_e_acsl__34; - int __gen_e_acsl_gt_3; - __gen_e_acsl_f4(& __gen_e_acsl_f4_6,9); - __gmpz_init_set_si(__gen_e_acsl__34,0L); - __gen_e_acsl_gt_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f4_6), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__34)); - __e_acsl_assert(__gen_e_acsl_gt_3 > 0,(char *)"Assertion",(char *)"main", - (char *)"f4(9) > 0",30); - __gmpz_clear(__gen_e_acsl_f4_6); - __gmpz_clear(__gen_e_acsl__34); - } - __retres = 0; - return __retres; -} - -void __gen_e_acsl_f2(__e_acsl_mpz_t *__retres_arg, int n) -{ - __e_acsl_mpz_t __gen_e_acsl_n; - __e_acsl_mpz_t __gen_e_acsl_; - int __gen_e_acsl_lt; - __e_acsl_mpz_t __gen_e_acsl_if_2; - __gmpz_init_set_si(__gen_e_acsl_n,(long)n); - __gmpz_init_set_si(__gen_e_acsl_,0L); - __gen_e_acsl_lt = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_n), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); - if (__gen_e_acsl_lt < 0) { - __e_acsl_mpz_t __gen_e_acsl__2; - __gmpz_init_set_si(__gen_e_acsl__2,1L); - __gmpz_init_set(__gen_e_acsl_if_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); - __gmpz_clear(__gen_e_acsl__2); - } - else { - __e_acsl_mpz_t __gen_e_acsl_n_2; - __e_acsl_mpz_t __gen_e_acsl__3; - __e_acsl_mpz_t __gen_e_acsl_sub; - __e_acsl_mpz_t __gen_e_acsl_f2_9; - __e_acsl_mpz_t __gen_e_acsl__10; - __e_acsl_mpz_t __gen_e_acsl_sub_5; - __e_acsl_mpz_t __gen_e_acsl_f2_11; - __e_acsl_mpz_t __gen_e_acsl_mul_2; - __e_acsl_mpz_t __gen_e_acsl__11; - __e_acsl_mpz_t __gen_e_acsl_sub_6; - __e_acsl_mpz_t __gen_e_acsl_f2_13; - __e_acsl_mpz_t __gen_e_acsl__12; - int __gen_e_acsl_div_guard_2; - __e_acsl_mpz_t __gen_e_acsl_div_2; - __gmpz_init_set_si(__gen_e_acsl_n_2,(long)n); - __gmpz_init_set_si(__gen_e_acsl__3,1L); - __gmpz_init(__gen_e_acsl_sub); - __gmpz_sub(__gen_e_acsl_sub, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_n_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__3)); - /*@ assert - Eva: initialization: - \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub); - */ - __gen_e_acsl_f2_2(& __gen_e_acsl_f2_9, - (__e_acsl_mpz_struct *)__gen_e_acsl_sub); - __gmpz_init_set_si(__gen_e_acsl__10,2L); - __gmpz_init(__gen_e_acsl_sub_5); - __gmpz_sub(__gen_e_acsl_sub_5, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_n_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__10)); - /*@ assert - Eva: initialization: - \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub_5); - */ - __gen_e_acsl_f2_2(& __gen_e_acsl_f2_11, - (__e_acsl_mpz_struct *)__gen_e_acsl_sub_5); - __gmpz_init(__gen_e_acsl_mul_2); - __gmpz_mul(__gen_e_acsl_mul_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f2_9), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f2_11)); - __gmpz_init_set_si(__gen_e_acsl__11,3L); - __gmpz_init(__gen_e_acsl_sub_6); - __gmpz_sub(__gen_e_acsl_sub_6, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_n_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__11)); - /*@ assert - Eva: initialization: - \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub_6); - */ - __gen_e_acsl_f2_2(& __gen_e_acsl_f2_13, - (__e_acsl_mpz_struct *)__gen_e_acsl_sub_6); - __gmpz_init_set_si(__gen_e_acsl__12,0L); - __gen_e_acsl_div_guard_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f2_13), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__12)); - __gmpz_init(__gen_e_acsl_div_2); - /*@ assert E_ACSL: f2(n - 3) ≢ 0; */ - __e_acsl_assert(! (__gen_e_acsl_div_guard_2 == 0),(char *)"Assertion", - (char *)"f2",(char *)"f2(n - 3) == 0",10); - __gmpz_tdiv_q(__gen_e_acsl_div_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f2_13)); - __gmpz_init_set(__gen_e_acsl_if_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_div_2)); - __gmpz_clear(__gen_e_acsl_n_2); - __gmpz_clear(__gen_e_acsl__3); - __gmpz_clear(__gen_e_acsl_sub); - __gmpz_clear(__gen_e_acsl_f2_9); - __gmpz_clear(__gen_e_acsl__10); - __gmpz_clear(__gen_e_acsl_sub_5); - __gmpz_clear(__gen_e_acsl_f2_11); - __gmpz_clear(__gen_e_acsl_mul_2); - __gmpz_clear(__gen_e_acsl__11); - __gmpz_clear(__gen_e_acsl_sub_6); - __gmpz_clear(__gen_e_acsl_f2_13); - __gmpz_clear(__gen_e_acsl__12); - __gmpz_clear(__gen_e_acsl_div_2); - } - __gmpz_init_set(*__retres_arg, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_2)); - __gmpz_clear(__gen_e_acsl_n); - __gmpz_clear(__gen_e_acsl_); - __gmpz_clear(__gen_e_acsl_if_2); - return; -} - -void __gen_e_acsl_f2_2(__e_acsl_mpz_t *__retres_arg, __e_acsl_mpz_struct * n) -{ - __e_acsl_mpz_t __gen_e_acsl__4; - int __gen_e_acsl_lt_2; - __e_acsl_mpz_t __gen_e_acsl_if; - __gmpz_init_set_si(__gen_e_acsl__4,0L); - __gen_e_acsl_lt_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(n), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); - if (__gen_e_acsl_lt_2 < 0) { - __e_acsl_mpz_t __gen_e_acsl__5; - __gmpz_init_set_si(__gen_e_acsl__5,1L); - __gmpz_init_set(__gen_e_acsl_if, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); - __gmpz_clear(__gen_e_acsl__5); - } - else { - __e_acsl_mpz_t __gen_e_acsl__6; - __e_acsl_mpz_t __gen_e_acsl_sub_2; - __e_acsl_mpz_t __gen_e_acsl_f2_4; - __e_acsl_mpz_t __gen_e_acsl__7; - __e_acsl_mpz_t __gen_e_acsl_sub_3; - __e_acsl_mpz_t __gen_e_acsl_f2_6; - __e_acsl_mpz_t __gen_e_acsl_mul; - __e_acsl_mpz_t __gen_e_acsl__8; - __e_acsl_mpz_t __gen_e_acsl_sub_4; - __e_acsl_mpz_t __gen_e_acsl_f2_8; - __e_acsl_mpz_t __gen_e_acsl__9; - int __gen_e_acsl_div_guard; - __e_acsl_mpz_t __gen_e_acsl_div; - __gmpz_init_set_si(__gen_e_acsl__6,1L); - __gmpz_init(__gen_e_acsl_sub_2); - __gmpz_sub(__gen_e_acsl_sub_2,(__e_acsl_mpz_struct const *)(n), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__6)); - /*@ assert - Eva: initialization: - \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub_2); - */ - __gen_e_acsl_f2_2(& __gen_e_acsl_f2_4, - (__e_acsl_mpz_struct *)__gen_e_acsl_sub_2); - __gmpz_init_set_si(__gen_e_acsl__7,2L); - __gmpz_init(__gen_e_acsl_sub_3); - __gmpz_sub(__gen_e_acsl_sub_3,(__e_acsl_mpz_struct const *)(n), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); - /*@ assert - Eva: initialization: - \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub_3); - */ - __gen_e_acsl_f2_2(& __gen_e_acsl_f2_6, - (__e_acsl_mpz_struct *)__gen_e_acsl_sub_3); - __gmpz_init(__gen_e_acsl_mul); - __gmpz_mul(__gen_e_acsl_mul, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f2_4), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f2_6)); - __gmpz_init_set_si(__gen_e_acsl__8,3L); - __gmpz_init(__gen_e_acsl_sub_4); - __gmpz_sub(__gen_e_acsl_sub_4,(__e_acsl_mpz_struct const *)(n), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); - /*@ assert - Eva: initialization: - \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub_4); - */ - __gen_e_acsl_f2_2(& __gen_e_acsl_f2_8, - (__e_acsl_mpz_struct *)__gen_e_acsl_sub_4); - __gmpz_init_set_si(__gen_e_acsl__9,0L); - __gen_e_acsl_div_guard = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_f2_8), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__9)); - __gmpz_init(__gen_e_acsl_div); - /*@ assert E_ACSL: f2(n - 3) ≢ 0; */ - __e_acsl_assert(! (__gen_e_acsl_div_guard == 0),(char *)"Assertion", - (char *)"f2_2",(char *)"f2(n - 3) == 0",10); - __gmpz_tdiv_q(__gen_e_acsl_div, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f2_8)); - __gmpz_init_set(__gen_e_acsl_if, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_div)); - __gmpz_clear(__gen_e_acsl__6); - __gmpz_clear(__gen_e_acsl_sub_2); - __gmpz_clear(__gen_e_acsl_f2_4); - __gmpz_clear(__gen_e_acsl__7); - __gmpz_clear(__gen_e_acsl_sub_3); - __gmpz_clear(__gen_e_acsl_f2_6); - __gmpz_clear(__gen_e_acsl_mul); - __gmpz_clear(__gen_e_acsl__8); - __gmpz_clear(__gen_e_acsl_sub_4); - __gmpz_clear(__gen_e_acsl_f2_8); - __gmpz_clear(__gen_e_acsl__9); - __gmpz_clear(__gen_e_acsl_div); - } - __gmpz_init_set(*__retres_arg, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if)); - __gmpz_clear(__gen_e_acsl__4); - __gmpz_clear(__gen_e_acsl_if); - return; -} - -void __gen_e_acsl_g(__e_acsl_mpz_t *__retres_arg, int n) -{ - __gmpz_init_set_si(*__retres_arg,0L); - return; -} - -void __gen_e_acsl_g_5(__e_acsl_mpz_t *__retres_arg, __e_acsl_mpz_struct * n) -{ - __gmpz_init_set_si(*__retres_arg,0L); - return; -} - -void __gen_e_acsl_f3(__e_acsl_mpz_t *__retres_arg, int n) -{ - __e_acsl_mpz_t __gen_e_acsl_n_3; - __e_acsl_mpz_t __gen_e_acsl__14; - int __gen_e_acsl_gt; - __e_acsl_mpz_t __gen_e_acsl_if_4; - __gmpz_init_set_si(__gen_e_acsl_n_3,(long)n); - __gmpz_init_set_si(__gen_e_acsl__14,0L); - __gen_e_acsl_gt = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_n_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__14)); - if (__gen_e_acsl_gt > 0) { - __e_acsl_mpz_t __gen_e_acsl_g_2; - __e_acsl_mpz_t __gen_e_acsl_n_4; - __e_acsl_mpz_t __gen_e_acsl__15; - __e_acsl_mpz_t __gen_e_acsl_sub_7; - __e_acsl_mpz_t __gen_e_acsl_f3_5; - __e_acsl_mpz_t __gen_e_acsl_mul_4; - __e_acsl_mpz_t __gen_e_acsl__21; - __e_acsl_mpz_t __gen_e_acsl_sub_10; - __gen_e_acsl_g(& __gen_e_acsl_g_2,n); - __gmpz_init_set_si(__gen_e_acsl_n_4,(long)n); - __gmpz_init_set_si(__gen_e_acsl__15,1L); - __gmpz_init(__gen_e_acsl_sub_7); - __gmpz_sub(__gen_e_acsl_sub_7, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_n_4), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__15)); - /*@ assert - Eva: initialization: - \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub_7); - */ - __gen_e_acsl_f3_2(& __gen_e_acsl_f3_5, - (__e_acsl_mpz_struct *)__gen_e_acsl_sub_7); - __gmpz_init(__gen_e_acsl_mul_4); - __gmpz_mul(__gen_e_acsl_mul_4, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_g_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f3_5)); - __gmpz_init_set_si(__gen_e_acsl__21,5L); - __gmpz_init(__gen_e_acsl_sub_10); - __gmpz_sub(__gen_e_acsl_sub_10, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_4), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__21)); - __gmpz_init_set(__gen_e_acsl_if_4, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_sub_10)); - __gmpz_clear(__gen_e_acsl_g_2); - __gmpz_clear(__gen_e_acsl_n_4); - __gmpz_clear(__gen_e_acsl__15); - __gmpz_clear(__gen_e_acsl_sub_7); - __gmpz_clear(__gen_e_acsl_f3_5); - __gmpz_clear(__gen_e_acsl_mul_4); - __gmpz_clear(__gen_e_acsl__21); - __gmpz_clear(__gen_e_acsl_sub_10); - } - else { - __e_acsl_mpz_t __gen_e_acsl_n_5; - __e_acsl_mpz_t __gen_e_acsl__22; - __e_acsl_mpz_t __gen_e_acsl_add_2; - __e_acsl_mpz_t __gen_e_acsl_g_8; - __gmpz_init_set_si(__gen_e_acsl_n_5,(long)n); - __gmpz_init_set_si(__gen_e_acsl__22,1L); - __gmpz_init(__gen_e_acsl_add_2); - __gmpz_add(__gen_e_acsl_add_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_n_5), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__22)); - /*@ assert - Eva: initialization: - \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_add_2); - */ - __gen_e_acsl_g_5(& __gen_e_acsl_g_8, - (__e_acsl_mpz_struct *)__gen_e_acsl_add_2); - __gmpz_init_set(__gen_e_acsl_if_4, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_g_8)); - __gmpz_clear(__gen_e_acsl_n_5); - __gmpz_clear(__gen_e_acsl__22); - __gmpz_clear(__gen_e_acsl_add_2); - __gmpz_clear(__gen_e_acsl_g_8); - } - __gmpz_init_set(*__retres_arg, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_4)); - __gmpz_clear(__gen_e_acsl_n_3); - __gmpz_clear(__gen_e_acsl__14); - __gmpz_clear(__gen_e_acsl_if_4); - return; -} - -void __gen_e_acsl_f3_2(__e_acsl_mpz_t *__retres_arg, __e_acsl_mpz_struct * n) -{ - __e_acsl_mpz_t __gen_e_acsl__16; - int __gen_e_acsl_gt_2; - __e_acsl_mpz_t __gen_e_acsl_if_3; - __gmpz_init_set_si(__gen_e_acsl__16,0L); - __gen_e_acsl_gt_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(n), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__16)); - if (__gen_e_acsl_gt_2 > 0) { - long __gen_e_acsl__17; - __e_acsl_mpz_t __gen_e_acsl_g_4; - __e_acsl_mpz_t __gen_e_acsl__18; - __e_acsl_mpz_t __gen_e_acsl_sub_8; - __e_acsl_mpz_t __gen_e_acsl_f3_4; - __e_acsl_mpz_t __gen_e_acsl_mul_3; - __e_acsl_mpz_t __gen_e_acsl__19; - __e_acsl_mpz_t __gen_e_acsl_sub_9; - __gen_e_acsl__17 = __gmpz_get_si((__e_acsl_mpz_struct const *)(n)); - __gen_e_acsl_g(& __gen_e_acsl_g_4,(int)__gen_e_acsl__17); - __gmpz_init_set_si(__gen_e_acsl__18,1L); - __gmpz_init(__gen_e_acsl_sub_8); - __gmpz_sub(__gen_e_acsl_sub_8,(__e_acsl_mpz_struct const *)(n), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__18)); - /*@ assert - Eva: initialization: - \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_sub_8); - */ - __gen_e_acsl_f3_2(& __gen_e_acsl_f3_4, - (__e_acsl_mpz_struct *)__gen_e_acsl_sub_8); - __gmpz_init(__gen_e_acsl_mul_3); - __gmpz_mul(__gen_e_acsl_mul_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_g_4), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f3_4)); - __gmpz_init_set_si(__gen_e_acsl__19,5L); - __gmpz_init(__gen_e_acsl_sub_9); - __gmpz_sub(__gen_e_acsl_sub_9, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__19)); - __gmpz_init_set(__gen_e_acsl_if_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_sub_9)); - __gmpz_clear(__gen_e_acsl_g_4); - __gmpz_clear(__gen_e_acsl__18); - __gmpz_clear(__gen_e_acsl_sub_8); - __gmpz_clear(__gen_e_acsl_f3_4); - __gmpz_clear(__gen_e_acsl_mul_3); - __gmpz_clear(__gen_e_acsl__19); - __gmpz_clear(__gen_e_acsl_sub_9); - } - else { - __e_acsl_mpz_t __gen_e_acsl__20; - __e_acsl_mpz_t __gen_e_acsl_add; - __e_acsl_mpz_t __gen_e_acsl_g_6; - __gmpz_init_set_si(__gen_e_acsl__20,1L); - __gmpz_init(__gen_e_acsl_add); - __gmpz_add(__gen_e_acsl_add,(__e_acsl_mpz_struct const *)(n), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__20)); - /*@ assert - Eva: initialization: - \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_add); - */ - __gen_e_acsl_g_5(& __gen_e_acsl_g_6, - (__e_acsl_mpz_struct *)__gen_e_acsl_add); - __gmpz_init_set(__gen_e_acsl_if_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_g_6)); - __gmpz_clear(__gen_e_acsl__20); - __gmpz_clear(__gen_e_acsl_add); - __gmpz_clear(__gen_e_acsl_g_6); - } - __gmpz_init_set(*__retres_arg, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_3)); - __gmpz_clear(__gen_e_acsl__16); - __gmpz_clear(__gen_e_acsl_if_3); - return; -} - -void __gen_e_acsl_f4(__e_acsl_mpz_t *__retres_arg, int n) -{ - __e_acsl_mpz_t __gen_e_acsl_n_6; - __e_acsl_mpz_t __gen_e_acsl__24; - int __gen_e_acsl_lt_3; - __e_acsl_mpz_t __gen_e_acsl_if_8; - __gmpz_init_set_si(__gen_e_acsl_n_6,(long)n); - __gmpz_init_set_si(__gen_e_acsl__24,100L); - __gen_e_acsl_lt_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_n_6), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__24)); - if (__gen_e_acsl_lt_3 < 0) { - __e_acsl_mpz_t __gen_e_acsl_n_7; - __e_acsl_mpz_t __gen_e_acsl__25; - __e_acsl_mpz_t __gen_e_acsl_add_3; - __e_acsl_mpz_t __gen_e_acsl_f4_5; - __gmpz_init_set_si(__gen_e_acsl_n_7,(long)n); - __gmpz_init_set_si(__gen_e_acsl__25,1L); - __gmpz_init(__gen_e_acsl_add_3); - __gmpz_add(__gen_e_acsl_add_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_n_7), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__25)); - /*@ assert - Eva: initialization: - \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_add_3); - */ - __gen_e_acsl_f4_2(& __gen_e_acsl_f4_5, - (__e_acsl_mpz_struct *)__gen_e_acsl_add_3); - __gmpz_init_set(__gen_e_acsl_if_8, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f4_5)); - __gmpz_clear(__gen_e_acsl_n_7); - __gmpz_clear(__gen_e_acsl__25); - __gmpz_clear(__gen_e_acsl_add_3); - __gmpz_clear(__gen_e_acsl_f4_5); - } - else { - __e_acsl_mpz_t __gen_e_acsl_n_8; - __e_acsl_mpz_t __gen_e_acsl__31; - int __gen_e_acsl_lt_6; - __e_acsl_mpz_t __gen_e_acsl_if_7; - __gmpz_init_set_si(__gen_e_acsl_n_8,(long)n); - __gmpz_init_set_ui(__gen_e_acsl__31,9223372036854775807UL); - __gen_e_acsl_lt_6 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_n_8), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__31)); - if (__gen_e_acsl_lt_6 < 0) { - __e_acsl_mpz_t __gen_e_acsl__32; - __gmpz_init_set_ui(__gen_e_acsl__32,9223372036854775807UL); - __gmpz_init_set(__gen_e_acsl_if_7, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__32)); - __gmpz_clear(__gen_e_acsl__32); - } - else { - __e_acsl_mpz_t __gen_e_acsl__33; - __gmpz_init_set_si(__gen_e_acsl__33,6L); - __gmpz_init_set(__gen_e_acsl_if_7, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__33)); - __gmpz_clear(__gen_e_acsl__33); - } - __gmpz_init_set(__gen_e_acsl_if_8, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_7)); - __gmpz_clear(__gen_e_acsl_n_8); - __gmpz_clear(__gen_e_acsl__31); - __gmpz_clear(__gen_e_acsl_if_7); - } - __gmpz_init_set(*__retres_arg, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_8)); - __gmpz_clear(__gen_e_acsl_n_6); - __gmpz_clear(__gen_e_acsl__24); - __gmpz_clear(__gen_e_acsl_if_8); - return; -} - -void __gen_e_acsl_f4_2(__e_acsl_mpz_t *__retres_arg, __e_acsl_mpz_struct * n) -{ - __e_acsl_mpz_t __gen_e_acsl__26; - int __gen_e_acsl_lt_4; - __e_acsl_mpz_t __gen_e_acsl_if_6; - __gmpz_init_set_si(__gen_e_acsl__26,100L); - __gen_e_acsl_lt_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(n), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__26)); - if (__gen_e_acsl_lt_4 < 0) { - __e_acsl_mpz_t __gen_e_acsl__27; - __e_acsl_mpz_t __gen_e_acsl_add_4; - __e_acsl_mpz_t __gen_e_acsl_f4_4; - __gmpz_init_set_si(__gen_e_acsl__27,1L); - __gmpz_init(__gen_e_acsl_add_4); - __gmpz_add(__gen_e_acsl_add_4,(__e_acsl_mpz_struct const *)(n), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__27)); - /*@ assert - Eva: initialization: - \initialized((__e_acsl_mpz_struct *)__gen_e_acsl_add_4); - */ - __gen_e_acsl_f4_2(& __gen_e_acsl_f4_4, - (__e_acsl_mpz_struct *)__gen_e_acsl_add_4); - __gmpz_init_set(__gen_e_acsl_if_6, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_f4_4)); - __gmpz_clear(__gen_e_acsl__27); - __gmpz_clear(__gen_e_acsl_add_4); - __gmpz_clear(__gen_e_acsl_f4_4); - } - else { - __e_acsl_mpz_t __gen_e_acsl__28; - int __gen_e_acsl_lt_5; - __e_acsl_mpz_t __gen_e_acsl_if_5; - __gmpz_init_set_ui(__gen_e_acsl__28,9223372036854775807UL); - __gen_e_acsl_lt_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(n), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__28)); - if (__gen_e_acsl_lt_5 < 0) { - __e_acsl_mpz_t __gen_e_acsl__29; - __gmpz_init_set_ui(__gen_e_acsl__29,9223372036854775807UL); - __gmpz_init_set(__gen_e_acsl_if_5, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__29)); - __gmpz_clear(__gen_e_acsl__29); - } - else { - __e_acsl_mpz_t __gen_e_acsl__30; - __gmpz_init_set_si(__gen_e_acsl__30,6L); - __gmpz_init_set(__gen_e_acsl_if_5, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__30)); - __gmpz_clear(__gen_e_acsl__30); - } - __gmpz_init_set(__gen_e_acsl_if_6, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_5)); - __gmpz_clear(__gen_e_acsl__28); - __gmpz_clear(__gen_e_acsl_if_5); - } - __gmpz_init_set(*__retres_arg, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_if_6)); - __gmpz_clear(__gen_e_acsl__26); - __gmpz_clear(__gen_e_acsl_if_6); - return; -} - - diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_integer_constant2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_integer_constant2.c deleted file mode 100644 index bd5aabaa923ae680ccaf997600f18659c1599e98..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_integer_constant2.c +++ /dev/null @@ -1,69 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -int main(void) -{ - int __retres; - int x; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - /*@ assert 0 ≡ 0; */ - { - __e_acsl_mpz_t __gen_e_acsl_; - int __gen_e_acsl_eq; - __gmpz_init_set_si(__gen_e_acsl_,0L); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main", - (char *)"0 == 0",6); - __gmpz_clear(__gen_e_acsl_); - } - x = 0; - x ++; - /*@ assert 0 ≢ 1; */ - { - __e_acsl_mpz_t __gen_e_acsl__2; - __e_acsl_mpz_t __gen_e_acsl__3; - int __gen_e_acsl_ne; - __gmpz_init_set_si(__gen_e_acsl__2,0L); - __gmpz_init_set_si(__gen_e_acsl__3,1L); - __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__3)); - __e_acsl_assert(__gen_e_acsl_ne != 0,(char *)"Assertion",(char *)"main", - (char *)"0 != 1",8); - __gmpz_clear(__gen_e_acsl__2); - __gmpz_clear(__gen_e_acsl__3); - } - /*@ assert 1152921504606846975 ≡ 0xfffffffffffffff; */ - { - __e_acsl_mpz_t __gen_e_acsl__4; - int __gen_e_acsl_eq_2; - __gmpz_init_set_ui(__gen_e_acsl__4,1152921504606846975UL); - __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__4), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); - __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion", - (char *)"main", - (char *)"1152921504606846975 == 0xfffffffffffffff",9); - __gmpz_clear(__gen_e_acsl__4); - } - /*@ assert - 0xffffffffffffffffffffffffffffffff ≡ - 0xffffffffffffffffffffffffffffffff; - */ - { - __e_acsl_mpz_t __gen_e_acsl__5; - int __gen_e_acsl_eq_3; - __gmpz_init_set_str(__gen_e_acsl__5, - "340282366920938463463374607431768211455",10); - __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__5), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); - __e_acsl_assert(__gen_e_acsl_eq_3 == 0,(char *)"Assertion", - (char *)"main", - (char *)"0xffffffffffffffffffffffffffffffff == 0xffffffffffffffffffffffffffffffff", - 11); - __gmpz_clear(__gen_e_acsl__5); - } - __retres = 0; - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_let2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_let2.c deleted file mode 100644 index 111063ef2ab67bf20e648ebee2ccb5dcfcac3202..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_let2.c +++ /dev/null @@ -1,293 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -struct __anonstruct_r_1 { - int x ; - int y ; -}; -union __anonunion_s_2 { - int x ; - char *y ; -}; -int main(void) -{ - int __retres; - union __anonunion_s_2 s; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - int n = -2; - /*@ assert \let u = n * n; u ≥ 0; */ - { - __e_acsl_mpz_t __gen_e_acsl_u; - __e_acsl_mpz_t __gen_e_acsl_n; - __e_acsl_mpz_t __gen_e_acsl_mul; - __e_acsl_mpz_t __gen_e_acsl_; - int __gen_e_acsl_ge; - __gmpz_init_set_si(__gen_e_acsl_n,(long)n); - __gmpz_init(__gen_e_acsl_mul); - __gmpz_mul(__gen_e_acsl_mul, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_n), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_n)); - __gmpz_init_set(__gen_e_acsl_u, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul)); - __gmpz_init_set_si(__gen_e_acsl_,0L); - __gen_e_acsl_ge = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_u), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); - __e_acsl_assert(__gen_e_acsl_ge >= 0,(char *)"Assertion",(char *)"main", - (char *)"\\let u = n * n; u >= 0",7); - __gmpz_clear(__gen_e_acsl_u); - __gmpz_clear(__gen_e_acsl_n); - __gmpz_clear(__gen_e_acsl_mul); - __gmpz_clear(__gen_e_acsl_); - } - /*@ assert \let u = n * n; \let v = u + 1; u > 0; */ - { - __e_acsl_mpz_t __gen_e_acsl_u_2; - __e_acsl_mpz_t __gen_e_acsl_n_2; - __e_acsl_mpz_t __gen_e_acsl_mul_2; - __e_acsl_mpz_t __gen_e_acsl_v; - __e_acsl_mpz_t __gen_e_acsl__2; - __e_acsl_mpz_t __gen_e_acsl_add; - __e_acsl_mpz_t __gen_e_acsl__3; - int __gen_e_acsl_gt; - __gmpz_init_set_si(__gen_e_acsl_n_2,(long)n); - __gmpz_init(__gen_e_acsl_mul_2); - __gmpz_mul(__gen_e_acsl_mul_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_n_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_n_2)); - __gmpz_init_set(__gen_e_acsl_u_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_2)); - __gmpz_init_set_si(__gen_e_acsl__2,1L); - __gmpz_init(__gen_e_acsl_add); - __gmpz_add(__gen_e_acsl_add, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_u_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); - __gmpz_init_set(__gen_e_acsl_v, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gmpz_init_set_si(__gen_e_acsl__3,0L); - __gen_e_acsl_gt = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_u_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__3)); - __e_acsl_assert(__gen_e_acsl_gt > 0,(char *)"Assertion",(char *)"main", - (char *)"\\let u = n * n;\n\\let v = u + 1; u > 0",9); - __gmpz_clear(__gen_e_acsl_u_2); - __gmpz_clear(__gen_e_acsl_n_2); - __gmpz_clear(__gen_e_acsl_mul_2); - __gmpz_clear(__gen_e_acsl_v); - __gmpz_clear(__gen_e_acsl__2); - __gmpz_clear(__gen_e_acsl_add); - __gmpz_clear(__gen_e_acsl__3); - } - /*@ assert (\let u = 1; u) + 1 ≡ 2; */ - { - int __gen_e_acsl_u_3; - __e_acsl_mpz_t __gen_e_acsl_u_4; - __e_acsl_mpz_t __gen_e_acsl__4; - __e_acsl_mpz_t __gen_e_acsl_add_2; - __e_acsl_mpz_t __gen_e_acsl__5; - int __gen_e_acsl_eq; - __gen_e_acsl_u_3 = 1; - __gmpz_init_set_si(__gen_e_acsl_u_4,(long)__gen_e_acsl_u_3); - __gmpz_init_set_si(__gen_e_acsl__4,1L); - __gmpz_init(__gen_e_acsl_add_2); - __gmpz_add(__gen_e_acsl_add_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_u_4), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); - __gmpz_init_set_si(__gen_e_acsl__5,2L); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main", - (char *)"(\\let u = 1; u) + 1 == 2",12); - __gmpz_clear(__gen_e_acsl_u_4); - __gmpz_clear(__gen_e_acsl__4); - __gmpz_clear(__gen_e_acsl_add_2); - __gmpz_clear(__gen_e_acsl__5); - } - /*@ assert \let u = 1; (\let v = u + 1; v) ≡ 2; */ - { - int __gen_e_acsl_u_5; - __e_acsl_mpz_t __gen_e_acsl_v_2; - __e_acsl_mpz_t __gen_e_acsl_u_6; - __e_acsl_mpz_t __gen_e_acsl__6; - __e_acsl_mpz_t __gen_e_acsl_add_3; - __e_acsl_mpz_t __gen_e_acsl__7; - int __gen_e_acsl_eq_2; - __gen_e_acsl_u_5 = 1; - __gmpz_init_set_si(__gen_e_acsl_u_6,(long)__gen_e_acsl_u_5); - __gmpz_init_set_si(__gen_e_acsl__6,1L); - __gmpz_init(__gen_e_acsl_add_3); - __gmpz_add(__gen_e_acsl_add_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_u_6), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__6)); - __gmpz_init_set(__gen_e_acsl_v_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_3)); - __gmpz_init_set_si(__gen_e_acsl__7,2L); - __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_v_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__7)); - __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion", - (char *)"main", - (char *)"\\let u = 1; (\\let v = u + 1; v) == 2",14); - __gmpz_clear(__gen_e_acsl_v_2); - __gmpz_clear(__gen_e_acsl_u_6); - __gmpz_clear(__gen_e_acsl__6); - __gmpz_clear(__gen_e_acsl_add_3); - __gmpz_clear(__gen_e_acsl__7); - } - /*@ assert \let u = 1; (\let u = u + 1; u) ≡ 2; */ - { - int __gen_e_acsl_u_7; - __e_acsl_mpz_t __gen_e_acsl_u_8; - __e_acsl_mpz_t __gen_e_acsl_u_9; - __e_acsl_mpz_t __gen_e_acsl__8; - __e_acsl_mpz_t __gen_e_acsl_add_4; - __e_acsl_mpz_t __gen_e_acsl__9; - int __gen_e_acsl_eq_3; - __gen_e_acsl_u_7 = 1; - __gmpz_init_set_si(__gen_e_acsl_u_9,(long)__gen_e_acsl_u_7); - __gmpz_init_set_si(__gen_e_acsl__8,1L); - __gmpz_init(__gen_e_acsl_add_4); - __gmpz_add(__gen_e_acsl_add_4, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_u_9), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); - __gmpz_init_set(__gen_e_acsl_u_8, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_4)); - __gmpz_init_set_si(__gen_e_acsl__9,2L); - __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_u_8), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__9)); - __e_acsl_assert(__gen_e_acsl_eq_3 == 0,(char *)"Assertion", - (char *)"main", - (char *)"\\let u = 1; (\\let u = u + 1; u) == 2",17); - __gmpz_clear(__gen_e_acsl_u_8); - __gmpz_clear(__gen_e_acsl_u_9); - __gmpz_clear(__gen_e_acsl__8); - __gmpz_clear(__gen_e_acsl_add_4); - __gmpz_clear(__gen_e_acsl__9); - } - long m = 0x7fffffffffffffffL; - /*@ assert (\let u = m; u * u) > m; */ - { - long __gen_e_acsl_u_10; - __e_acsl_mpz_t __gen_e_acsl_u_11; - __e_acsl_mpz_t __gen_e_acsl_mul_3; - __e_acsl_mpz_t __gen_e_acsl_m; - int __gen_e_acsl_gt_2; - __gen_e_acsl_u_10 = m; - __gmpz_init_set_si(__gen_e_acsl_u_11,__gen_e_acsl_u_10); - __gmpz_init(__gen_e_acsl_mul_3); - __gmpz_mul(__gen_e_acsl_mul_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_u_11), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_u_11)); - __gmpz_init_set_si(__gen_e_acsl_m,m); - __gen_e_acsl_gt_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mul_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_m)); - __e_acsl_assert(__gen_e_acsl_gt_2 > 0,(char *)"Assertion",(char *)"main", - (char *)"(\\let u = m; u * u) > m",21); - __gmpz_clear(__gen_e_acsl_u_11); - __gmpz_clear(__gen_e_acsl_mul_3); - __gmpz_clear(__gen_e_acsl_m); - } - char c = (char)'a'; - /*@ assert \let u = 'b'; c < u; */ - { - int __gen_e_acsl_u_12; - __e_acsl_mpz_t __gen_e_acsl_c; - __e_acsl_mpz_t __gen_e_acsl_u_13; - int __gen_e_acsl_lt; - __gen_e_acsl_u_12 = 'b'; - __gmpz_init_set_si(__gen_e_acsl_c,(long)c); - __gmpz_init_set_si(__gen_e_acsl_u_13,(long)__gen_e_acsl_u_12); - __gen_e_acsl_lt = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_c), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_u_13)); - __e_acsl_assert(__gen_e_acsl_lt < 0,(char *)"Assertion",(char *)"main", - (char *)"\\let u = \'b\'; c < u",24); - __gmpz_clear(__gen_e_acsl_c); - __gmpz_clear(__gen_e_acsl_u_13); - } - float f = 1.0f; - __e_acsl_store_block((void *)(& f),(size_t)4); - __e_acsl_full_init((void *)(& f)); - /*@ assert \let u = f; u ≡ f; */ - { - float __gen_e_acsl_u_14; - __gen_e_acsl_u_14 = f; - __e_acsl_assert(__gen_e_acsl_u_14 == f,(char *)"Assertion", - (char *)"main",(char *)"\\let u = f; u == f",27); - } - int t[4] = {1, 2, 3, 4}; - /*@ assert \let u = &t[1]; 1 ≡ 1; */ - { - int * /*[4]*/ __gen_e_acsl_u_15; - __e_acsl_mpz_t __gen_e_acsl__10; - int __gen_e_acsl_eq_4; - __gen_e_acsl_u_15 = & t[1]; - __gmpz_init_set_si(__gen_e_acsl__10,1L); - __gen_e_acsl_eq_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__10), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__10)); - __e_acsl_assert(__gen_e_acsl_eq_4 == 0,(char *)"Assertion", - (char *)"main",(char *)"\\let u = &t[1]; 1 == 1",30); - __gmpz_clear(__gen_e_acsl__10); - } - /*@ assert (\let u = &t[1]; 1) ≡ 1; */ - { - int * /*[4]*/ __gen_e_acsl_u_16; - __e_acsl_mpz_t __gen_e_acsl__11; - int __gen_e_acsl_eq_5; - __gen_e_acsl_u_16 = & t[1]; - __gmpz_init_set_si(__gen_e_acsl__11,1L); - __gen_e_acsl_eq_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__11), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__11)); - __e_acsl_assert(__gen_e_acsl_eq_5 == 0,(char *)"Assertion", - (char *)"main",(char *)"(\\let u = &t[1]; 1) == 1",32); - __gmpz_clear(__gen_e_acsl__11); - } - struct __anonstruct_r_1 r = {.x = 1, .y = 2}; - __e_acsl_store_block((void *)(& r),(size_t)8); - __e_acsl_full_init((void *)(& r)); - /*@ assert \let u = r; u.x + u.y ≡ 3; */ - { - struct __anonstruct_r_1 __gen_e_acsl_u_17; - __e_acsl_mpz_t __gen_e_acsl__12; - __e_acsl_mpz_t __gen_e_acsl__13; - __e_acsl_mpz_t __gen_e_acsl_add_5; - __e_acsl_mpz_t __gen_e_acsl__14; - int __gen_e_acsl_eq_6; - __gen_e_acsl_u_17 = r; - __gmpz_init_set_si(__gen_e_acsl__12,(long)__gen_e_acsl_u_17.x); - __gmpz_init_set_si(__gen_e_acsl__13,(long)__gen_e_acsl_u_17.y); - __gmpz_init(__gen_e_acsl_add_5); - __gmpz_add(__gen_e_acsl_add_5, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__12), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__13)); - __gmpz_init_set_si(__gen_e_acsl__14,3L); - __gen_e_acsl_eq_6 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_5), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__14)); - __e_acsl_assert(__gen_e_acsl_eq_6 == 0,(char *)"Assertion", - (char *)"main",(char *)"\\let u = r; u.x + u.y == 3",35); - __gmpz_clear(__gen_e_acsl__12); - __gmpz_clear(__gen_e_acsl__13); - __gmpz_clear(__gen_e_acsl_add_5); - __gmpz_clear(__gen_e_acsl__14); - } - s.x = 5; - /*@ assert (\let u = s; u.x) > 0; */ - { - union __anonunion_s_2 __gen_e_acsl_u_18; - __e_acsl_mpz_t __gen_e_acsl__15; - __e_acsl_mpz_t __gen_e_acsl__16; - int __gen_e_acsl_gt_3; - __gen_e_acsl_u_18 = s; - __gmpz_init_set_si(__gen_e_acsl__15,(long)__gen_e_acsl_u_18.x); - __gmpz_init_set_si(__gen_e_acsl__16,0L); - __gen_e_acsl_gt_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__15), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__16)); - __e_acsl_assert(__gen_e_acsl_gt_3 > 0,(char *)"Assertion",(char *)"main", - (char *)"(\\let u = s; u.x) > 0",39); - __gmpz_clear(__gen_e_acsl__15); - __gmpz_clear(__gen_e_acsl__16); - } - __retres = 0; - __e_acsl_delete_block((void *)(& r)); - __e_acsl_delete_block((void *)(& f)); - __e_acsl_memory_clean(); - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong2.c deleted file mode 100644 index 203245a06493a161763875b504af3b52ade5466b..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_longlong2.c +++ /dev/null @@ -1,80 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -unsigned long long my_pow(unsigned int x, unsigned int n) -{ - unsigned long long __retres; - int tmp; - unsigned long long tmp_0; - if (n <= (unsigned int)1) { - __retres = (unsigned long long)1; - goto return_label; - } - tmp_0 = my_pow(x,n / (unsigned int)2); - tmp = (int)tmp_0; - /*@ assert Eva: signed_overflow: -2147483648 ≤ tmp * tmp; */ - /*@ assert Eva: signed_overflow: tmp * tmp ≤ 2147483647; */ - tmp *= tmp; - if (n % (unsigned int)2 == (unsigned int)0) { - __retres = (unsigned long long)tmp; - goto return_label; - } - __retres = (unsigned long long)(x * (unsigned int)tmp); - return_label: return __retres; -} - -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - unsigned long long x = my_pow((unsigned int)2,(unsigned int)63); - /*@ assert (2 * x + 1) % 2 ≡ 1; */ - { - __e_acsl_mpz_t __gen_e_acsl_; - __e_acsl_mpz_t __gen_e_acsl_x; - __e_acsl_mpz_t __gen_e_acsl_mul; - __e_acsl_mpz_t __gen_e_acsl__2; - __e_acsl_mpz_t __gen_e_acsl_add; - __e_acsl_mpz_t __gen_e_acsl__3; - int __gen_e_acsl_mod_guard; - __e_acsl_mpz_t __gen_e_acsl_mod; - int __gen_e_acsl_eq; - __gmpz_init_set_si(__gen_e_acsl_,2L); - __gmpz_init(__gen_e_acsl_x); - __gmpz_import(__gen_e_acsl_x,(size_t)1,1,(size_t)8,0,(size_t)0, - (void const *)(& x)); - __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_x)); - __gmpz_init_set_si(__gen_e_acsl__2,1L); - __gmpz_init(__gen_e_acsl_add); - __gmpz_add(__gen_e_acsl_add, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); - __gmpz_init_set_si(__gen_e_acsl__3,0L); - __gen_e_acsl_mod_guard = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__3)); - __gmpz_init(__gen_e_acsl_mod); - /*@ assert E_ACSL: 2 ≢ 0; */ - __e_acsl_assert(! (__gen_e_acsl_mod_guard == 0),(char *)"Assertion", - (char *)"main",(char *)"2 == 0",17); - __gmpz_tdiv_r(__gen_e_acsl_mod, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mod), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main", - (char *)"(2 * x + 1) % 2 == 1",17); - __gmpz_clear(__gen_e_acsl_); - __gmpz_clear(__gen_e_acsl_x); - __gmpz_clear(__gen_e_acsl_mul); - __gmpz_clear(__gen_e_acsl__2); - __gmpz_clear(__gen_e_acsl_add); - __gmpz_clear(__gen_e_acsl__3); - __gmpz_clear(__gen_e_acsl_mod); - } - __retres = 0; - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_not2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_not2.c deleted file mode 100644 index 93d25da6a7e7515b76a88c683328b2dd0815c2da..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_not2.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - int x = 0; - /*@ assert x ≡ 0; */ - { - __e_acsl_mpz_t __gen_e_acsl_x; - __e_acsl_mpz_t __gen_e_acsl_; - int __gen_e_acsl_eq; - __gmpz_init_set_si(__gen_e_acsl_x,(long)x); - __gmpz_init_set_si(__gen_e_acsl_,0L); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main", - (char *)"x == 0",6); - __gmpz_clear(__gen_e_acsl_x); - __gmpz_clear(__gen_e_acsl_); - } - if (x) { - /*@ assert x ≢ 0; */ - { - __e_acsl_mpz_t __gen_e_acsl_x_2; - __e_acsl_mpz_t __gen_e_acsl__2; - int __gen_e_acsl_ne; - __gmpz_init_set_si(__gen_e_acsl_x_2,(long)x); - __gmpz_init_set_si(__gen_e_acsl__2,0L); - __gen_e_acsl_ne = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); - __e_acsl_assert(__gen_e_acsl_ne != 0,(char *)"Assertion", - (char *)"main",(char *)"x != 0",7); - __gmpz_clear(__gen_e_acsl_x_2); - __gmpz_clear(__gen_e_acsl__2); - } - } - __retres = 0; - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_quantif2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_quantif2.c deleted file mode 100644 index 4559cf6c2d592cf1abcf1516a3358f8c38c61af6..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_quantif2.c +++ /dev/null @@ -1,796 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - /*@ assert ∀ ℤ x; 0 ≤ x ≤ 1 ⇒ x ≡ 0 ∨ x ≡ 1; */ - { - int __gen_e_acsl_forall; - __e_acsl_mpz_t __gen_e_acsl_x; - __gen_e_acsl_forall = 1; - __gmpz_init(__gen_e_acsl_x); - { - __e_acsl_mpz_t __gen_e_acsl__3; - __gmpz_init_set_si(__gen_e_acsl__3,0L); - __gmpz_set(__gen_e_acsl_x, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__3)); - __gmpz_clear(__gen_e_acsl__3); - } - while (1) { - { - __e_acsl_mpz_t __gen_e_acsl__4; - int __gen_e_acsl_le; - __gmpz_init_set_si(__gen_e_acsl__4,1L); - __gen_e_acsl_le = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__4)); - if (__gen_e_acsl_le <= 0) ; else break; - __gmpz_clear(__gen_e_acsl__4); - } - { - __e_acsl_mpz_t __gen_e_acsl_; - int __gen_e_acsl_eq; - int __gen_e_acsl_or; - __gmpz_init_set_si(__gen_e_acsl_,0L); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_)); - if (__gen_e_acsl_eq == 0) __gen_e_acsl_or = 1; - else { - __e_acsl_mpz_t __gen_e_acsl__2; - int __gen_e_acsl_eq_2; - __gmpz_init_set_si(__gen_e_acsl__2,1L); - __gen_e_acsl_eq_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__2)); - __gen_e_acsl_or = __gen_e_acsl_eq_2 == 0; - __gmpz_clear(__gen_e_acsl__2); - } - __gmpz_clear(__gen_e_acsl_); - if (__gen_e_acsl_or) ; - else { - __gen_e_acsl_forall = 0; - goto e_acsl_end_loop1; - } - } - { - __e_acsl_mpz_t __gen_e_acsl__5; - __e_acsl_mpz_t __gen_e_acsl_add; - __gmpz_init_set_str(__gen_e_acsl__5,"1",10); - __gmpz_init(__gen_e_acsl_add); - __gmpz_add(__gen_e_acsl_add, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_x), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__5)); - __gmpz_set(__gen_e_acsl_x, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add)); - __gmpz_clear(__gen_e_acsl__5); - __gmpz_clear(__gen_e_acsl_add); - } - } - e_acsl_end_loop1: ; - __e_acsl_assert(__gen_e_acsl_forall,(char *)"Assertion",(char *)"main", - (char *)"\\forall integer x; 0 <= x <= 1 ==> x == 0 || x == 1", - 9); - __gmpz_clear(__gen_e_acsl_x); - } - /*@ assert ∀ ℤ x; 0 < x ≤ 1 ⇒ x ≡ 1; */ - { - int __gen_e_acsl_forall_2; - __e_acsl_mpz_t __gen_e_acsl_x_2; - __gen_e_acsl_forall_2 = 1; - __gmpz_init(__gen_e_acsl_x_2); - { - __e_acsl_mpz_t __gen_e_acsl__7; - __e_acsl_mpz_t __gen_e_acsl__8; - __e_acsl_mpz_t __gen_e_acsl_add_2; - __gmpz_init_set_si(__gen_e_acsl__7,0L); - __gmpz_init_set_si(__gen_e_acsl__8,1L); - __gmpz_init(__gen_e_acsl_add_2); - __gmpz_add(__gen_e_acsl_add_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__7), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__8)); - __gmpz_set(__gen_e_acsl_x_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_2)); - __gmpz_clear(__gen_e_acsl__7); - __gmpz_clear(__gen_e_acsl__8); - __gmpz_clear(__gen_e_acsl_add_2); - } - while (1) { - { - __e_acsl_mpz_t __gen_e_acsl__9; - int __gen_e_acsl_le_2; - __gmpz_init_set_si(__gen_e_acsl__9,1L); - __gen_e_acsl_le_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__9)); - if (__gen_e_acsl_le_2 <= 0) ; else break; - __gmpz_clear(__gen_e_acsl__9); - } - { - __e_acsl_mpz_t __gen_e_acsl__6; - int __gen_e_acsl_eq_3; - __gmpz_init_set_si(__gen_e_acsl__6,1L); - __gen_e_acsl_eq_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__6)); - __gmpz_clear(__gen_e_acsl__6); - if (__gen_e_acsl_eq_3 == 0) ; - else { - __gen_e_acsl_forall_2 = 0; - goto e_acsl_end_loop2; - } - } - { - __e_acsl_mpz_t __gen_e_acsl__10; - __e_acsl_mpz_t __gen_e_acsl_add_3; - __gmpz_init_set_str(__gen_e_acsl__10,"1",10); - __gmpz_init(__gen_e_acsl_add_3); - __gmpz_add(__gen_e_acsl_add_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__10)); - __gmpz_set(__gen_e_acsl_x_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_3)); - __gmpz_clear(__gen_e_acsl__10); - __gmpz_clear(__gen_e_acsl_add_3); - } - } - e_acsl_end_loop2: ; - __e_acsl_assert(__gen_e_acsl_forall_2,(char *)"Assertion",(char *)"main", - (char *)"\\forall integer x; 0 < x <= 1 ==> x == 1",10); - __gmpz_clear(__gen_e_acsl_x_2); - } - /*@ assert ∀ ℤ x; 0 ≤ x < 1 ⇒ x ≡ 0; */ - { - int __gen_e_acsl_forall_3; - __e_acsl_mpz_t __gen_e_acsl_x_3; - __gen_e_acsl_forall_3 = 1; - __gmpz_init(__gen_e_acsl_x_3); - { - __e_acsl_mpz_t __gen_e_acsl__12; - __gmpz_init_set_si(__gen_e_acsl__12,0L); - __gmpz_set(__gen_e_acsl_x_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__12)); - __gmpz_clear(__gen_e_acsl__12); - } - while (1) { - { - __e_acsl_mpz_t __gen_e_acsl__13; - int __gen_e_acsl_lt; - __gmpz_init_set_si(__gen_e_acsl__13,1L); - __gen_e_acsl_lt = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__13)); - if (__gen_e_acsl_lt < 0) ; else break; - __gmpz_clear(__gen_e_acsl__13); - } - { - __e_acsl_mpz_t __gen_e_acsl__11; - int __gen_e_acsl_eq_4; - __gmpz_init_set_si(__gen_e_acsl__11,0L); - __gen_e_acsl_eq_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__11)); - __gmpz_clear(__gen_e_acsl__11); - if (__gen_e_acsl_eq_4 == 0) ; - else { - __gen_e_acsl_forall_3 = 0; - goto e_acsl_end_loop3; - } - } - { - __e_acsl_mpz_t __gen_e_acsl__14; - __e_acsl_mpz_t __gen_e_acsl_add_4; - __gmpz_init_set_str(__gen_e_acsl__14,"1",10); - __gmpz_init(__gen_e_acsl_add_4); - __gmpz_add(__gen_e_acsl_add_4, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__14)); - __gmpz_set(__gen_e_acsl_x_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_4)); - __gmpz_clear(__gen_e_acsl__14); - __gmpz_clear(__gen_e_acsl_add_4); - } - } - e_acsl_end_loop3: ; - __e_acsl_assert(__gen_e_acsl_forall_3,(char *)"Assertion",(char *)"main", - (char *)"\\forall integer x; 0 <= x < 1 ==> x == 0",11); - __gmpz_clear(__gen_e_acsl_x_3); - } - /*@ assert - ∀ ℤ x, ℤ y, ℤ z; - 0 ≤ x < 2 ∧ 0 ≤ y < 5 ∧ 0 ≤ z ≤ y ⇒ x + z ≤ y + 1; - */ - { - int __gen_e_acsl_forall_4; - __e_acsl_mpz_t __gen_e_acsl_x_4; - __e_acsl_mpz_t __gen_e_acsl_y; - __e_acsl_mpz_t __gen_e_acsl_z; - __gen_e_acsl_forall_4 = 1; - __gmpz_init(__gen_e_acsl_x_4); - __gmpz_init(__gen_e_acsl_y); - __gmpz_init(__gen_e_acsl_z); - { - __e_acsl_mpz_t __gen_e_acsl__21; - __gmpz_init_set_si(__gen_e_acsl__21,0L); - __gmpz_set(__gen_e_acsl_x_4, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__21)); - __gmpz_clear(__gen_e_acsl__21); - } - while (1) { - { - __e_acsl_mpz_t __gen_e_acsl__22; - int __gen_e_acsl_lt_3; - __gmpz_init_set_si(__gen_e_acsl__22,2L); - __gen_e_acsl_lt_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_4), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__22)); - if (__gen_e_acsl_lt_3 < 0) ; else break; - __gmpz_clear(__gen_e_acsl__22); - } - { - __e_acsl_mpz_t __gen_e_acsl__18; - __gmpz_init_set_si(__gen_e_acsl__18,0L); - __gmpz_set(__gen_e_acsl_y, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__18)); - __gmpz_clear(__gen_e_acsl__18); - } - while (1) { - { - __e_acsl_mpz_t __gen_e_acsl__19; - int __gen_e_acsl_lt_2; - __gmpz_init_set_si(__gen_e_acsl__19,5L); - __gen_e_acsl_lt_2 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_y), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__19)); - if (__gen_e_acsl_lt_2 < 0) ; else break; - __gmpz_clear(__gen_e_acsl__19); - } - { - __e_acsl_mpz_t __gen_e_acsl__16; - __gmpz_init_set_si(__gen_e_acsl__16,0L); - __gmpz_set(__gen_e_acsl_z, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__16)); - __gmpz_clear(__gen_e_acsl__16); - } - while (1) { - { - int __gen_e_acsl_le_4; - __gen_e_acsl_le_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_z), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_y)); - if (__gen_e_acsl_le_4 <= 0) ; else break; - } - { - __e_acsl_mpz_t __gen_e_acsl_add_5; - __e_acsl_mpz_t __gen_e_acsl__15; - __e_acsl_mpz_t __gen_e_acsl_add_6; - int __gen_e_acsl_le_3; - __gmpz_init(__gen_e_acsl_add_5); - __gmpz_add(__gen_e_acsl_add_5, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_4), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_z)); - __gmpz_init_set_si(__gen_e_acsl__15,1L); - __gmpz_init(__gen_e_acsl_add_6); - __gmpz_add(__gen_e_acsl_add_6, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_y), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__15)); - __gen_e_acsl_le_3 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_add_5), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_6)); - __gmpz_clear(__gen_e_acsl_add_5); - __gmpz_clear(__gen_e_acsl__15); - __gmpz_clear(__gen_e_acsl_add_6); - if (__gen_e_acsl_le_3 <= 0) ; - else { - __gen_e_acsl_forall_4 = 0; - goto e_acsl_end_loop4; - } - } - { - __e_acsl_mpz_t __gen_e_acsl__17; - __e_acsl_mpz_t __gen_e_acsl_add_7; - __gmpz_init_set_str(__gen_e_acsl__17,"1",10); - __gmpz_init(__gen_e_acsl_add_7); - __gmpz_add(__gen_e_acsl_add_7, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_z), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__17)); - __gmpz_set(__gen_e_acsl_z, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_7)); - __gmpz_clear(__gen_e_acsl__17); - __gmpz_clear(__gen_e_acsl_add_7); - } - } - { - __e_acsl_mpz_t __gen_e_acsl__20; - __e_acsl_mpz_t __gen_e_acsl_add_8; - __gmpz_init_set_str(__gen_e_acsl__20,"1",10); - __gmpz_init(__gen_e_acsl_add_8); - __gmpz_add(__gen_e_acsl_add_8, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_y), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__20)); - __gmpz_set(__gen_e_acsl_y, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_8)); - __gmpz_clear(__gen_e_acsl__20); - __gmpz_clear(__gen_e_acsl_add_8); - } - } - { - __e_acsl_mpz_t __gen_e_acsl__23; - __e_acsl_mpz_t __gen_e_acsl_add_9; - __gmpz_init_set_str(__gen_e_acsl__23,"1",10); - __gmpz_init(__gen_e_acsl_add_9); - __gmpz_add(__gen_e_acsl_add_9, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_4), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__23)); - __gmpz_set(__gen_e_acsl_x_4, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_9)); - __gmpz_clear(__gen_e_acsl__23); - __gmpz_clear(__gen_e_acsl_add_9); - } - } - e_acsl_end_loop4: ; - __e_acsl_assert(__gen_e_acsl_forall_4,(char *)"Assertion",(char *)"main", - (char *)"\\forall integer x, integer y, integer z;\n 0 <= x < 2 && 0 <= y < 5 && 0 <= z <= y ==> x + z <= y + 1", - 15); - __gmpz_clear(__gen_e_acsl_x_4); - __gmpz_clear(__gen_e_acsl_y); - __gmpz_clear(__gen_e_acsl_z); - } - /*@ assert ∃ int x; 0 ≤ x < 10 ∧ x ≡ 5; */ - { - int __gen_e_acsl_exists; - __e_acsl_mpz_t __gen_e_acsl_x_5; - __gen_e_acsl_exists = 0; - __gmpz_init(__gen_e_acsl_x_5); - { - __e_acsl_mpz_t __gen_e_acsl__25; - __gmpz_init_set_si(__gen_e_acsl__25,0L); - __gmpz_set(__gen_e_acsl_x_5, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__25)); - __gmpz_clear(__gen_e_acsl__25); - } - while (1) { - { - __e_acsl_mpz_t __gen_e_acsl__26; - int __gen_e_acsl_lt_4; - __gmpz_init_set_si(__gen_e_acsl__26,10L); - __gen_e_acsl_lt_4 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_5), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__26)); - if (__gen_e_acsl_lt_4 < 0) ; else break; - __gmpz_clear(__gen_e_acsl__26); - } - { - __e_acsl_mpz_t __gen_e_acsl__24; - int __gen_e_acsl_eq_5; - __gmpz_init_set_si(__gen_e_acsl__24,5L); - __gen_e_acsl_eq_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_5), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__24)); - __gmpz_clear(__gen_e_acsl__24); - if (! (__gen_e_acsl_eq_5 == 0)) ; - else { - __gen_e_acsl_exists = 1; - goto e_acsl_end_loop5; - } - } - { - __e_acsl_mpz_t __gen_e_acsl__27; - __e_acsl_mpz_t __gen_e_acsl_add_10; - __gmpz_init_set_str(__gen_e_acsl__27,"1",10); - __gmpz_init(__gen_e_acsl_add_10); - __gmpz_add(__gen_e_acsl_add_10, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_5), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__27)); - __gmpz_set(__gen_e_acsl_x_5, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_10)); - __gmpz_clear(__gen_e_acsl__27); - __gmpz_clear(__gen_e_acsl_add_10); - } - } - e_acsl_end_loop5: ; - __e_acsl_assert(__gen_e_acsl_exists,(char *)"Assertion",(char *)"main", - (char *)"\\exists int x; 0 <= x < 10 && x == 5",20); - __gmpz_clear(__gen_e_acsl_x_5); - } - /*@ assert - ∀ int x; - 0 ≤ x < 10 ⇒ - x % 2 ≡ 0 ⇒ (∃ ℤ y; 0 ≤ y ≤ x / 2 ∧ x ≡ 2 * y); - */ - { - int __gen_e_acsl_forall_5; - __e_acsl_mpz_t __gen_e_acsl_x_6; - __gen_e_acsl_forall_5 = 1; - __gmpz_init(__gen_e_acsl_x_6); - { - __e_acsl_mpz_t __gen_e_acsl__35; - __gmpz_init_set_si(__gen_e_acsl__35,0L); - __gmpz_set(__gen_e_acsl_x_6, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__35)); - __gmpz_clear(__gen_e_acsl__35); - } - while (1) { - { - __e_acsl_mpz_t __gen_e_acsl__36; - int __gen_e_acsl_lt_5; - __gmpz_init_set_si(__gen_e_acsl__36,10L); - __gen_e_acsl_lt_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_6), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__36)); - if (__gen_e_acsl_lt_5 < 0) ; else break; - __gmpz_clear(__gen_e_acsl__36); - } - { - __e_acsl_mpz_t __gen_e_acsl__28; - __e_acsl_mpz_t __gen_e_acsl__29; - int __gen_e_acsl_mod_guard; - __e_acsl_mpz_t __gen_e_acsl_mod; - int __gen_e_acsl_eq_6; - int __gen_e_acsl_implies; - __gmpz_init_set_si(__gen_e_acsl__28,2L); - __gmpz_init_set_si(__gen_e_acsl__29,0L); - __gen_e_acsl_mod_guard = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__28), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__29)); - __gmpz_init(__gen_e_acsl_mod); - /*@ assert E_ACSL: 2 ≢ 0; */ - __e_acsl_assert(! (__gen_e_acsl_mod_guard == 0),(char *)"Assertion", - (char *)"main",(char *)"2 == 0",25); - __gmpz_tdiv_r(__gen_e_acsl_mod, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_6), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__28)); - __gen_e_acsl_eq_6 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_mod), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__29)); - if (! (__gen_e_acsl_eq_6 == 0)) __gen_e_acsl_implies = 1; - else { - int __gen_e_acsl_exists_2; - __e_acsl_mpz_t __gen_e_acsl_y_2; - __gen_e_acsl_exists_2 = 0; - __gmpz_init(__gen_e_acsl_y_2); - { - __e_acsl_mpz_t __gen_e_acsl__31; - __gmpz_init_set_si(__gen_e_acsl__31,0L); - __gmpz_set(__gen_e_acsl_y_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__31)); - __gmpz_clear(__gen_e_acsl__31); - } - while (1) { - { - __e_acsl_mpz_t __gen_e_acsl__32; - __e_acsl_mpz_t __gen_e_acsl__33; - int __gen_e_acsl_div_guard; - __e_acsl_mpz_t __gen_e_acsl_div; - int __gen_e_acsl_le_5; - __gmpz_init_set_si(__gen_e_acsl__32,2L); - __gmpz_init_set_si(__gen_e_acsl__33,0L); - __gen_e_acsl_div_guard = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl__32), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__33)); - __gmpz_init(__gen_e_acsl_div); - /*@ assert E_ACSL: 2 ≢ 0; */ - __e_acsl_assert(! (__gen_e_acsl_div_guard == 0), - (char *)"Assertion",(char *)"main", - (char *)"2 == 0",25); - __gmpz_tdiv_q(__gen_e_acsl_div, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_6), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__32)); - __gen_e_acsl_le_5 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_y_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_div)); - if (__gen_e_acsl_le_5 <= 0) ; else break; - __gmpz_clear(__gen_e_acsl__32); - __gmpz_clear(__gen_e_acsl__33); - __gmpz_clear(__gen_e_acsl_div); - } - { - __e_acsl_mpz_t __gen_e_acsl__30; - __e_acsl_mpz_t __gen_e_acsl_mul; - int __gen_e_acsl_eq_7; - __gmpz_init_set_si(__gen_e_acsl__30,2L); - __gmpz_init(__gen_e_acsl_mul); - __gmpz_mul(__gen_e_acsl_mul, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__30), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_y_2)); - __gen_e_acsl_eq_7 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_x_6), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_mul)); - __gmpz_clear(__gen_e_acsl__30); - __gmpz_clear(__gen_e_acsl_mul); - if (! (__gen_e_acsl_eq_7 == 0)) ; - else { - __gen_e_acsl_exists_2 = 1; - goto e_acsl_end_loop6; - } - } - { - __e_acsl_mpz_t __gen_e_acsl__34; - __e_acsl_mpz_t __gen_e_acsl_add_11; - __gmpz_init_set_str(__gen_e_acsl__34,"1",10); - __gmpz_init(__gen_e_acsl_add_11); - __gmpz_add(__gen_e_acsl_add_11, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_y_2), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__34)); - __gmpz_set(__gen_e_acsl_y_2, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_11)); - __gmpz_clear(__gen_e_acsl__34); - __gmpz_clear(__gen_e_acsl_add_11); - } - } - e_acsl_end_loop6: ; - __gen_e_acsl_implies = __gen_e_acsl_exists_2; - __gmpz_clear(__gen_e_acsl_y_2); - } - __gmpz_clear(__gen_e_acsl__28); - __gmpz_clear(__gen_e_acsl__29); - __gmpz_clear(__gen_e_acsl_mod); - if (__gen_e_acsl_implies) ; - else { - __gen_e_acsl_forall_5 = 0; - goto e_acsl_end_loop7; - } - } - { - __e_acsl_mpz_t __gen_e_acsl__37; - __e_acsl_mpz_t __gen_e_acsl_add_12; - __gmpz_init_set_str(__gen_e_acsl__37,"1",10); - __gmpz_init(__gen_e_acsl_add_12); - __gmpz_add(__gen_e_acsl_add_12, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_x_6), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__37)); - __gmpz_set(__gen_e_acsl_x_6, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_12)); - __gmpz_clear(__gen_e_acsl__37); - __gmpz_clear(__gen_e_acsl_add_12); - } - } - e_acsl_end_loop7: ; - __e_acsl_assert(__gen_e_acsl_forall_5,(char *)"Assertion",(char *)"main", - (char *)"\\forall int x;\n 0 <= x < 10 ==>\n x % 2 == 0 ==> (\\exists integer y; 0 <= y <= x / 2 && x == 2 * y)", - 24); - __gmpz_clear(__gen_e_acsl_x_6); - } - { - int buf[10]; - __e_acsl_store_block((void *)(buf),(size_t)40); - unsigned long len = (unsigned long)9; - /*@ assert ∀ ℤ i; 0 ≤ i < 10 ⇒ \valid(&buf[i]); */ - { - int __gen_e_acsl_forall_6; - __e_acsl_mpz_t __gen_e_acsl_i; - __gen_e_acsl_forall_6 = 1; - __gmpz_init(__gen_e_acsl_i); - { - __e_acsl_mpz_t __gen_e_acsl__38; - __gmpz_init_set_si(__gen_e_acsl__38,0L); - __gmpz_set(__gen_e_acsl_i, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__38)); - __gmpz_clear(__gen_e_acsl__38); - } - while (1) { - { - __e_acsl_mpz_t __gen_e_acsl__39; - int __gen_e_acsl_lt_6; - __gmpz_init_set_si(__gen_e_acsl__39,10L); - __gen_e_acsl_lt_6 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_i), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__39)); - if (__gen_e_acsl_lt_6 < 0) ; else break; - __gmpz_clear(__gen_e_acsl__39); - } - { - long __gen_e_acsl_i_2; - int __gen_e_acsl_valid; - __gen_e_acsl_i_2 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl_i)); - __gen_e_acsl_valid = __e_acsl_valid((void *)(& buf[__gen_e_acsl_i_2]), - sizeof(int), - (void *)(& buf[__gen_e_acsl_i_2]), - (void *)0); - if (__gen_e_acsl_valid) ; - else { - __gen_e_acsl_forall_6 = 0; - goto e_acsl_end_loop8; - } - } - { - __e_acsl_mpz_t __gen_e_acsl__40; - __e_acsl_mpz_t __gen_e_acsl_add_13; - __gmpz_init_set_str(__gen_e_acsl__40,"1",10); - __gmpz_init(__gen_e_acsl_add_13); - __gmpz_add(__gen_e_acsl_add_13, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_i), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__40)); - __gmpz_set(__gen_e_acsl_i, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_13)); - __gmpz_clear(__gen_e_acsl__40); - __gmpz_clear(__gen_e_acsl_add_13); - } - } - e_acsl_end_loop8: ; - __e_acsl_assert(__gen_e_acsl_forall_6,(char *)"Assertion", - (char *)"main", - (char *)"\\forall integer i; 0 <= i < 10 ==> \\valid(&buf[i])", - 30); - __gmpz_clear(__gen_e_acsl_i); - } - /*@ assert ∀ char i; 0 ≤ i < 10 ⇒ \valid(&buf[i]); */ - { - int __gen_e_acsl_forall_7; - __e_acsl_mpz_t __gen_e_acsl_i_3; - __gen_e_acsl_forall_7 = 1; - __gmpz_init(__gen_e_acsl_i_3); - { - __e_acsl_mpz_t __gen_e_acsl__41; - __gmpz_init_set_si(__gen_e_acsl__41,0L); - __gmpz_set(__gen_e_acsl_i_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__41)); - __gmpz_clear(__gen_e_acsl__41); - } - while (1) { - { - __e_acsl_mpz_t __gen_e_acsl__42; - int __gen_e_acsl_lt_7; - __gmpz_init_set_si(__gen_e_acsl__42,10L); - __gen_e_acsl_lt_7 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_i_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__42)); - if (__gen_e_acsl_lt_7 < 0) ; else break; - __gmpz_clear(__gen_e_acsl__42); - } - { - long __gen_e_acsl_i_4; - int __gen_e_acsl_valid_2; - __gen_e_acsl_i_4 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl_i_3)); - __gen_e_acsl_valid_2 = __e_acsl_valid((void *)(& buf[__gen_e_acsl_i_4]), - sizeof(int), - (void *)(& buf[__gen_e_acsl_i_4]), - (void *)0); - if (__gen_e_acsl_valid_2) ; - else { - __gen_e_acsl_forall_7 = 0; - goto e_acsl_end_loop9; - } - } - { - __e_acsl_mpz_t __gen_e_acsl__43; - __e_acsl_mpz_t __gen_e_acsl_add_14; - __gmpz_init_set_str(__gen_e_acsl__43,"1",10); - __gmpz_init(__gen_e_acsl_add_14); - __gmpz_add(__gen_e_acsl_add_14, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_i_3), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__43)); - __gmpz_set(__gen_e_acsl_i_3, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_14)); - __gmpz_clear(__gen_e_acsl__43); - __gmpz_clear(__gen_e_acsl_add_14); - } - } - e_acsl_end_loop9: ; - __e_acsl_assert(__gen_e_acsl_forall_7,(char *)"Assertion", - (char *)"main", - (char *)"\\forall char i; 0 <= i < 10 ==> \\valid(&buf[i])", - 31); - __gmpz_clear(__gen_e_acsl_i_3); - } - /*@ assert ∀ ℤ i; 0 ≤ i < len ⇒ \valid(&buf[i]); */ - { - int __gen_e_acsl_forall_8; - __e_acsl_mpz_t __gen_e_acsl_i_5; - __gen_e_acsl_forall_8 = 1; - __gmpz_init(__gen_e_acsl_i_5); - { - __e_acsl_mpz_t __gen_e_acsl__44; - __gmpz_init_set_si(__gen_e_acsl__44,0L); - __gmpz_set(__gen_e_acsl_i_5, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__44)); - __gmpz_clear(__gen_e_acsl__44); - } - while (1) { - { - __e_acsl_mpz_t __gen_e_acsl_len; - int __gen_e_acsl_lt_8; - __gmpz_init_set_ui(__gen_e_acsl_len,len); - __gen_e_acsl_lt_8 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_i_5), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_len)); - if (__gen_e_acsl_lt_8 < 0) ; else break; - __gmpz_clear(__gen_e_acsl_len); - } - { - long __gen_e_acsl_i_6; - int __gen_e_acsl_valid_3; - __gen_e_acsl_i_6 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl_i_5)); - __gen_e_acsl_valid_3 = __e_acsl_valid((void *)(& buf[__gen_e_acsl_i_6]), - sizeof(int), - (void *)(& buf[__gen_e_acsl_i_6]), - (void *)0); - if (__gen_e_acsl_valid_3) ; - else { - __gen_e_acsl_forall_8 = 0; - goto e_acsl_end_loop10; - } - } - { - __e_acsl_mpz_t __gen_e_acsl__45; - __e_acsl_mpz_t __gen_e_acsl_add_15; - __gmpz_init_set_str(__gen_e_acsl__45,"1",10); - __gmpz_init(__gen_e_acsl_add_15); - __gmpz_add(__gen_e_acsl_add_15, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_i_5), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__45)); - __gmpz_set(__gen_e_acsl_i_5, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_15)); - __gmpz_clear(__gen_e_acsl__45); - __gmpz_clear(__gen_e_acsl_add_15); - } - } - e_acsl_end_loop10: ; - __e_acsl_assert(__gen_e_acsl_forall_8,(char *)"Assertion", - (char *)"main", - (char *)"\\forall integer i; 0 <= i < len ==> \\valid(&buf[i])", - 32); - __gmpz_clear(__gen_e_acsl_i_5); - } - /*@ assert ∀ ℤ i; 0 ≤ i ≤ len ⇒ \valid(&buf[i]); */ - { - int __gen_e_acsl_forall_9; - __e_acsl_mpz_t __gen_e_acsl_i_7; - __gen_e_acsl_forall_9 = 1; - __gmpz_init(__gen_e_acsl_i_7); - { - __e_acsl_mpz_t __gen_e_acsl__46; - __gmpz_init_set_si(__gen_e_acsl__46,0L); - __gmpz_set(__gen_e_acsl_i_7, - (__e_acsl_mpz_struct const *)(__gen_e_acsl__46)); - __gmpz_clear(__gen_e_acsl__46); - } - while (1) { - { - __e_acsl_mpz_t __gen_e_acsl_len_2; - int __gen_e_acsl_le_6; - __gmpz_init_set_ui(__gen_e_acsl_len_2,len); - __gen_e_acsl_le_6 = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_i_7), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_len_2)); - if (__gen_e_acsl_le_6 <= 0) ; else break; - __gmpz_clear(__gen_e_acsl_len_2); - } - { - long __gen_e_acsl_i_8; - int __gen_e_acsl_valid_4; - __gen_e_acsl_i_8 = __gmpz_get_si((__e_acsl_mpz_struct const *)(__gen_e_acsl_i_7)); - __gen_e_acsl_valid_4 = __e_acsl_valid((void *)(& buf[__gen_e_acsl_i_8]), - sizeof(int), - (void *)(& buf[__gen_e_acsl_i_8]), - (void *)0); - if (__gen_e_acsl_valid_4) ; - else { - __gen_e_acsl_forall_9 = 0; - goto e_acsl_end_loop11; - } - } - { - __e_acsl_mpz_t __gen_e_acsl__47; - __e_acsl_mpz_t __gen_e_acsl_add_16; - __gmpz_init_set_str(__gen_e_acsl__47,"1",10); - __gmpz_init(__gen_e_acsl_add_16); - __gmpz_add(__gen_e_acsl_add_16, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_i_7), - (__e_acsl_mpz_struct const *)(__gen_e_acsl__47)); - __gmpz_set(__gen_e_acsl_i_7, - (__e_acsl_mpz_struct const *)(__gen_e_acsl_add_16)); - __gmpz_clear(__gen_e_acsl__47); - __gmpz_clear(__gen_e_acsl_add_16); - } - } - e_acsl_end_loop11: ; - __e_acsl_assert(__gen_e_acsl_forall_9,(char *)"Assertion", - (char *)"main", - (char *)"\\forall integer i; 0 <= i <= len ==> \\valid(&buf[i])", - 33); - __gmpz_clear(__gen_e_acsl_i_7); - __e_acsl_delete_block((void *)(buf)); - } - } - /*@ assert ∀ ℤ x; 0 < x < 1 ⇒ \false; */ - __e_acsl_assert(1,(char *)"Assertion",(char *)"main", - (char *)"\\forall integer x; 0 < x < 1 ==> \\false",37); - /*@ assert ¬(∃ char c; 10 ≤ c < 10 ∧ c ≡ 10); */ - __e_acsl_assert(! 0,(char *)"Assertion",(char *)"main", - (char *)"!(\\exists char c; 10 <= c < 10 && c == 10)",38); - /*@ assert \let u = 5; - ∀ ℤ x, ℤ y; 0 ≤ x < 2 ∧ 4 < y < u ⇒ \false; - */ - { - int __gen_e_acsl_u; - __gen_e_acsl_u = 5; - __e_acsl_assert(1,(char *)"Assertion",(char *)"main", - (char *)"\\let u = 5;\n\\forall integer x, integer y; 0 <= x < 2 && 4 < y < u ==> \\false", - 40); - } - __retres = 0; - __e_acsl_memory_clean(); - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/gmp/oracle/gen_reals2.c b/src/plugins/e-acsl/tests/gmp/oracle/gen_reals2.c deleted file mode 100644 index 7e0d70df561fe3b6f221af2593afe71fb1004baf..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/gen_reals2.c +++ /dev/null @@ -1,356 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -extern int __e_acsl_sound_verdict; - -/*@ ensures \let delta = 1; - \let avg_real = (\old(a) + \old(b)) / 2; - avg_real - delta < \result < avg_real + delta; - */ -double __gen_e_acsl_avg(double a, double b); - -double avg(double a, double b) -{ - double __retres; - __retres = (a + b) / (double)2; - return __retres; -} - -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - /*@ assert 3 ≢ 1.5; */ - __e_acsl_assert(3. != 1.5,(char *)"Assertion",(char *)"main", - (char *)"3 != 1.5",14); - /*@ assert 3 ≡ 1.5 + 1.5; */ - { - __e_acsl_mpq_t __gen_e_acsl_; - __e_acsl_mpq_t __gen_e_acsl__2; - __e_acsl_mpq_t __gen_e_acsl__3; - __e_acsl_mpq_t __gen_e_acsl_add; - int __gen_e_acsl_eq; - __gmpq_init(__gen_e_acsl_); - __gmpq_set_str(__gen_e_acsl_,"3",10); - __gmpq_init(__gen_e_acsl__2); - __gmpq_set_d(__gen_e_acsl__2,1.5); - __gmpq_init(__gen_e_acsl__3); - __gmpq_set_d(__gen_e_acsl__3,1.5); - __gmpq_init(__gen_e_acsl_add); - __gmpq_add(__gen_e_acsl_add, - (__e_acsl_mpq_struct const *)(__gen_e_acsl__2), - (__e_acsl_mpq_struct const *)(__gen_e_acsl__3)); - __gen_e_acsl_eq = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl_), - (__e_acsl_mpq_struct const *)(__gen_e_acsl_add)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Assertion",(char *)"main", - (char *)"3 == 1.5 + 1.5",15); - __gmpq_clear(__gen_e_acsl_); - __gmpq_clear(__gen_e_acsl__2); - __gmpq_clear(__gen_e_acsl__3); - __gmpq_clear(__gen_e_acsl_add); - } - /*@ assert 0.1 ≡ 0.1; */ - { - __e_acsl_mpq_t __gen_e_acsl__4; - int __gen_e_acsl_eq_2; - __gmpq_init(__gen_e_acsl__4); - __gmpq_set_str(__gen_e_acsl__4,"01/10",10); - __gen_e_acsl_eq_2 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__4), - (__e_acsl_mpq_struct const *)(__gen_e_acsl__4)); - __e_acsl_assert(__gen_e_acsl_eq_2 == 0,(char *)"Assertion", - (char *)"main",(char *)"0.1 == 0.1",16); - __gmpq_clear(__gen_e_acsl__4); - } - /*@ assert (double)1.0 ≡ 1.0; */ - __e_acsl_assert(1. == 1.,(char *)"Assertion",(char *)"main", - (char *)"(double)1.0 == 1.0",17); - /*@ assert (double)0.1 ≢ 0.1; */ - { - __e_acsl_mpq_t __gen_e_acsl__5; - double __gen_e_acsl__6; - __e_acsl_mpq_t __gen_e_acsl__7; - int __gen_e_acsl_ne; - __gmpq_init(__gen_e_acsl__5); - __gmpq_set_str(__gen_e_acsl__5,"01/10",10); - __gen_e_acsl__6 = __gmpq_get_d((__e_acsl_mpq_struct const *)(__gen_e_acsl__5)); - __gmpq_init(__gen_e_acsl__7); - /*@ assert Eva: is_nan_or_infinite: \is_finite(__gen_e_acsl__6); */ - __gmpq_set_d(__gen_e_acsl__7,__gen_e_acsl__6); - __gen_e_acsl_ne = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__7), - (__e_acsl_mpq_struct const *)(__gen_e_acsl__5)); - __e_acsl_assert(__gen_e_acsl_ne != 0,(char *)"Assertion",(char *)"main", - (char *)"(double)0.1 != 0.1",18); - __gmpq_clear(__gen_e_acsl__5); - __gmpq_clear(__gen_e_acsl__7); - } - /*@ assert (float)0.1 ≢ (double)0.1; */ - { - __e_acsl_mpq_t __gen_e_acsl__8; - double __gen_e_acsl__9; - double __gen_e_acsl__10; - __gmpq_init(__gen_e_acsl__8); - __gmpq_set_str(__gen_e_acsl__8,"01/10",10); - __gen_e_acsl__9 = __gmpq_get_d((__e_acsl_mpq_struct const *)(__gen_e_acsl__8)); - __gen_e_acsl__10 = __gmpq_get_d((__e_acsl_mpq_struct const *)(__gen_e_acsl__8)); - /*@ assert Eva: is_nan_or_infinite: \is_finite(__gen_e_acsl__9); */ - /*@ assert Eva: is_nan_or_infinite: \is_finite(__gen_e_acsl__10); */ - /*@ assert Eva: is_nan_or_infinite: \is_finite((float)__gen_e_acsl__9); - */ - __e_acsl_assert((double)((float)__gen_e_acsl__9) != __gen_e_acsl__10, - (char *)"Assertion",(char *)"main", - (char *)"(float)0.1 != (double)0.1",19); - __gmpq_clear(__gen_e_acsl__8); - } - /*@ assert (double)1.1 ≢ 1 + 0.1; */ - { - __e_acsl_mpq_t __gen_e_acsl__11; - double __gen_e_acsl__12; - __e_acsl_mpq_t __gen_e_acsl__13; - __e_acsl_mpq_t __gen_e_acsl__14; - __e_acsl_mpq_t __gen_e_acsl_add_2; - __e_acsl_mpq_t __gen_e_acsl__15; - int __gen_e_acsl_ne_2; - __gmpq_init(__gen_e_acsl__11); - __gmpq_set_str(__gen_e_acsl__11,"11/10",10); - __gen_e_acsl__12 = __gmpq_get_d((__e_acsl_mpq_struct const *)(__gen_e_acsl__11)); - __gmpq_init(__gen_e_acsl__13); - __gmpq_set_str(__gen_e_acsl__13,"1",10); - __gmpq_init(__gen_e_acsl__14); - __gmpq_set_str(__gen_e_acsl__14,"01/10",10); - __gmpq_init(__gen_e_acsl_add_2); - __gmpq_add(__gen_e_acsl_add_2, - (__e_acsl_mpq_struct const *)(__gen_e_acsl__13), - (__e_acsl_mpq_struct const *)(__gen_e_acsl__14)); - __gmpq_init(__gen_e_acsl__15); - /*@ assert Eva: is_nan_or_infinite: \is_finite(__gen_e_acsl__12); */ - __gmpq_set_d(__gen_e_acsl__15,__gen_e_acsl__12); - __gen_e_acsl_ne_2 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__15), - (__e_acsl_mpq_struct const *)(__gen_e_acsl_add_2)); - __e_acsl_assert(__gen_e_acsl_ne_2 != 0,(char *)"Assertion", - (char *)"main",(char *)"(double)1.1 != 1 + 0.1",20); - __gmpq_clear(__gen_e_acsl__11); - __gmpq_clear(__gen_e_acsl__13); - __gmpq_clear(__gen_e_acsl__14); - __gmpq_clear(__gen_e_acsl_add_2); - __gmpq_clear(__gen_e_acsl__15); - } - /*@ assert 1 + 0.1 ≡ 2 - 0.9; */ - { - __e_acsl_mpq_t __gen_e_acsl__16; - __e_acsl_mpq_t __gen_e_acsl__17; - __e_acsl_mpq_t __gen_e_acsl_add_3; - __e_acsl_mpq_t __gen_e_acsl__18; - __e_acsl_mpq_t __gen_e_acsl__19; - __e_acsl_mpq_t __gen_e_acsl_sub; - int __gen_e_acsl_eq_3; - __gmpq_init(__gen_e_acsl__16); - __gmpq_set_str(__gen_e_acsl__16,"1",10); - __gmpq_init(__gen_e_acsl__17); - __gmpq_set_str(__gen_e_acsl__17,"01/10",10); - __gmpq_init(__gen_e_acsl_add_3); - __gmpq_add(__gen_e_acsl_add_3, - (__e_acsl_mpq_struct const *)(__gen_e_acsl__16), - (__e_acsl_mpq_struct const *)(__gen_e_acsl__17)); - __gmpq_init(__gen_e_acsl__18); - __gmpq_set_str(__gen_e_acsl__18,"2",10); - __gmpq_init(__gen_e_acsl__19); - __gmpq_set_str(__gen_e_acsl__19,"09/10",10); - __gmpq_init(__gen_e_acsl_sub); - __gmpq_sub(__gen_e_acsl_sub, - (__e_acsl_mpq_struct const *)(__gen_e_acsl__18), - (__e_acsl_mpq_struct const *)(__gen_e_acsl__19)); - __gen_e_acsl_eq_3 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl_add_3), - (__e_acsl_mpq_struct const *)(__gen_e_acsl_sub)); - __e_acsl_assert(__gen_e_acsl_eq_3 == 0,(char *)"Assertion", - (char *)"main",(char *)"1 + 0.1 == 2 - 0.9",21); - __gmpq_clear(__gen_e_acsl__16); - __gmpq_clear(__gen_e_acsl__17); - __gmpq_clear(__gen_e_acsl_add_3); - __gmpq_clear(__gen_e_acsl__18); - __gmpq_clear(__gen_e_acsl__19); - __gmpq_clear(__gen_e_acsl_sub); - } - float x = 0.2f; - float y = 0.3f; - float sum = x + y; - /*@ assert sum ≢ x * y; */ - { - __e_acsl_mpq_t __gen_e_acsl_y; - __e_acsl_mpq_t __gen_e_acsl__20; - __e_acsl_mpq_t __gen_e_acsl_mul; - __e_acsl_mpq_t __gen_e_acsl__21; - int __gen_e_acsl_ne_3; - __gmpq_init(__gen_e_acsl_y); - __gmpq_set_d(__gen_e_acsl_y,(double)y); - __gmpq_init(__gen_e_acsl__20); - __gmpq_set_d(__gen_e_acsl__20,(double)x); - __gmpq_init(__gen_e_acsl_mul); - __gmpq_mul(__gen_e_acsl_mul, - (__e_acsl_mpq_struct const *)(__gen_e_acsl__20), - (__e_acsl_mpq_struct const *)(__gen_e_acsl_y)); - __gmpq_init(__gen_e_acsl__21); - __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(__gen_e_acsl_ne_3 != 0,(char *)"Assertion", - (char *)"main",(char *)"sum != x * y",25); - __gmpq_clear(__gen_e_acsl_y); - __gmpq_clear(__gen_e_acsl__20); - __gmpq_clear(__gen_e_acsl_mul); - __gmpq_clear(__gen_e_acsl__21); - } - /*@ assert \let n = 1; 4 ≡ n + 3.0; */ - { - int __gen_e_acsl_n; - __e_acsl_mpq_t __gen_e_acsl__22; - __e_acsl_mpq_t __gen_e_acsl__23; - __e_acsl_mpq_t __gen_e_acsl__24; - __e_acsl_mpq_t __gen_e_acsl_add_4; - int __gen_e_acsl_eq_4; - __gen_e_acsl_n = 1; - __gmpq_init(__gen_e_acsl__22); - __gmpq_set_str(__gen_e_acsl__22,"4",10); - __gmpq_init(__gen_e_acsl__23); - __gmpq_set_d(__gen_e_acsl__23,3.); - __gmpq_init(__gen_e_acsl__24); - __gmpq_set_si(__gen_e_acsl__24,(long)__gen_e_acsl_n); - __gmpq_init(__gen_e_acsl_add_4); - __gmpq_add(__gen_e_acsl_add_4, - (__e_acsl_mpq_struct const *)(__gen_e_acsl__24), - (__e_acsl_mpq_struct const *)(__gen_e_acsl__23)); - __gen_e_acsl_eq_4 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__22), - (__e_acsl_mpq_struct const *)(__gen_e_acsl_add_4)); - __e_acsl_assert(__gen_e_acsl_eq_4 == 0,(char *)"Assertion", - (char *)"main",(char *)"\\let n = 1; 4 == n + 3.0",26); - __gmpq_clear(__gen_e_acsl__22); - __gmpq_clear(__gen_e_acsl__23); - __gmpq_clear(__gen_e_acsl__24); - __gmpq_clear(__gen_e_acsl_add_4); - } - double d = 0.1; - __gen_e_acsl_avg(4.3,11.7); - /*@ assert 1.1d ≢ 1 + 0.1; */ - { - __e_acsl_mpq_t __gen_e_acsl__25; - __e_acsl_mpq_t __gen_e_acsl__26; - __e_acsl_mpq_t __gen_e_acsl_add_5; - __e_acsl_mpq_t __gen_e_acsl__27; - int __gen_e_acsl_ne_4; - __gmpq_init(__gen_e_acsl__25); - __gmpq_set_str(__gen_e_acsl__25,"1",10); - __gmpq_init(__gen_e_acsl__26); - __gmpq_set_str(__gen_e_acsl__26,"01/10",10); - __gmpq_init(__gen_e_acsl_add_5); - __gmpq_add(__gen_e_acsl_add_5, - (__e_acsl_mpq_struct const *)(__gen_e_acsl__25), - (__e_acsl_mpq_struct const *)(__gen_e_acsl__26)); - __gmpq_init(__gen_e_acsl__27); - __gmpq_set_d(__gen_e_acsl__27,1.1); - __gen_e_acsl_ne_4 = __gmpq_cmp((__e_acsl_mpq_struct const *)(__gen_e_acsl__27), - (__e_acsl_mpq_struct const *)(__gen_e_acsl_add_5)); - __e_acsl_assert(__gen_e_acsl_ne_4 != 0,(char *)"Assertion", - (char *)"main",(char *)"1.1d != 1 + 0.1",32); - __gmpq_clear(__gen_e_acsl__25); - __gmpq_clear(__gen_e_acsl__26); - __gmpq_clear(__gen_e_acsl_add_5); - __gmpq_clear(__gen_e_acsl__27); - } - __retres = 0; - return __retres; -} - -/*@ ensures \let delta = 1; - \let avg_real = (\old(a) + \old(b)) / 2; - avg_real - delta < \result < avg_real + delta; - */ -double __gen_e_acsl_avg(double a, double b) -{ - double __gen_e_acsl_at_2; - __e_acsl_mpq_t __gen_e_acsl_at; - double __retres; - __gen_e_acsl_at_2 = b; - { - __e_acsl_mpq_t __gen_e_acsl_a; - __gmpq_init(__gen_e_acsl_a); - __gmpq_set_d(__gen_e_acsl_a,a); - __gmpq_init(__gen_e_acsl_at); - __gmpq_set(__gen_e_acsl_at,(__e_acsl_mpq_struct const *)(__gen_e_acsl_a)); - __gmpq_clear(__gen_e_acsl_a); - } - __retres = avg(a,b); - { - int __gen_e_acsl_delta; - __e_acsl_mpq_t __gen_e_acsl_avg_real; - __e_acsl_mpq_t __gen_e_acsl_; - __e_acsl_mpq_t __gen_e_acsl_add; - __e_acsl_mpq_t __gen_e_acsl__2; - __e_acsl_mpq_t __gen_e_acsl_div; - __e_acsl_mpq_t __gen_e_acsl_delta_2; - __e_acsl_mpq_t __gen_e_acsl_sub; - __e_acsl_mpq_t __gen_e_acsl__3; - int __gen_e_acsl_lt; - int __gen_e_acsl_and; - __gen_e_acsl_delta = 1; - __gmpq_init(__gen_e_acsl_); - __gmpq_set_d(__gen_e_acsl_,__gen_e_acsl_at_2); - __gmpq_init(__gen_e_acsl_add); - __gmpq_add(__gen_e_acsl_add, - (__e_acsl_mpq_struct const *)(__gen_e_acsl_at), - (__e_acsl_mpq_struct const *)(__gen_e_acsl_)); - __gmpq_init(__gen_e_acsl__2); - __gmpq_set_str(__gen_e_acsl__2,"2",10); - __gmpq_init(__gen_e_acsl_div); - __gmpq_div(__gen_e_acsl_div, - (__e_acsl_mpq_struct const *)(__gen_e_acsl_add), - (__e_acsl_mpq_struct const *)(__gen_e_acsl__2)); - __gmpq_init(__gen_e_acsl_avg_real); - __gmpq_set(__gen_e_acsl_avg_real, - (__e_acsl_mpq_struct const *)(__gen_e_acsl_div)); - __gmpq_init(__gen_e_acsl_delta_2); - __gmpq_set_si(__gen_e_acsl_delta_2,(long)__gen_e_acsl_delta); - __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)); - __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)); - 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; - __gmpq_init(__gen_e_acsl_delta_3); - __gmpq_set_si(__gen_e_acsl_delta_3,(long)__gen_e_acsl_delta); - __gmpq_init(__gen_e_acsl_add_2); - __gmpq_add(__gen_e_acsl_add_2, - (__e_acsl_mpq_struct const *)(__gen_e_acsl_avg_real), - (__e_acsl_mpq_struct const *)(__gen_e_acsl_delta_3)); - __gmpq_init(__gen_e_acsl__4); - __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)); - __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(__gen_e_acsl_and,(char *)"Postcondition",(char *)"avg", - (char *)"\\let delta = 1;\n\\let avg_real = (\\old(a) + \\old(b)) / 2;\n avg_real - delta < \\result < avg_real + delta", - 6); - __gmpq_clear(__gen_e_acsl_avg_real); - __gmpq_clear(__gen_e_acsl_); - __gmpq_clear(__gen_e_acsl_add); - __gmpq_clear(__gen_e_acsl__2); - __gmpq_clear(__gen_e_acsl_div); - __gmpq_clear(__gen_e_acsl_delta_2); - __gmpq_clear(__gen_e_acsl_sub); - __gmpq_clear(__gen_e_acsl__3); - __gmpq_clear(__gen_e_acsl_at); - return __retres; - } -} - - diff --git a/src/plugins/e-acsl/tests/gmp/oracle/integer_constant.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/integer_constant.0.res.oracle deleted file mode 100644 index d26faebb6d6db5774c38989a0857d3f9114bf3fc..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/integer_constant.0.res.oracle +++ /dev/null @@ -1,19 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva] using specification for function __e_acsl_assert -[eva] using specification for function __gmpz_init_set_str -[eva] using specification for function __gmpz_cmp -[eva:alarm] tests/gmp/integer_constant.i:11: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_clear -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/integer_constant.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/integer_constant.1.res.oracle deleted file mode 100644 index 97496ed852dcf2e603df0069b031a53c97d465df..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/integer_constant.1.res.oracle +++ /dev/null @@ -1,27 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/integer_constant.i:6: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_clear -[eva:alarm] tests/gmp/integer_constant.i:8: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_init_set_ui -[eva:alarm] tests/gmp/integer_constant.i:9: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_init_set_str -[eva:alarm] tests/gmp/integer_constant.i:11: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/let.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/let.0.res.oracle deleted file mode 100644 index eb489ce6c2576da5bebb4949ba0e066c54997a77..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/let.0.res.oracle +++ /dev/null @@ -1,48 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] tests/gmp/let.c:30: Warning: - E-ACSL construct `let-binding on array or pointer' is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva:alarm] tests/gmp/let.c:7: Warning: assertion got status unknown. -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/let.c:9: Warning: assertion got status unknown. -[eva] tests/gmp/let.c:12: - cannot evaluate ACSL term, unsupported ACSL construct: \let bindings -[eva:alarm] tests/gmp/let.c:12: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/let.c:14: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/let.c:17: Warning: assertion got status unknown. -[eva] tests/gmp/let.c:21: - cannot evaluate ACSL term, unsupported ACSL construct: \let bindings -[eva:alarm] tests/gmp/let.c:21: Warning: assertion got status unknown. -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_init -[eva] using specification for function __gmpz_mul -[eva] using specification for function __gmpz_cmp -[eva:alarm] tests/gmp/let.c:21: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_clear -[eva:alarm] tests/gmp/let.c:24: Warning: assertion got status unknown. -[eva] using specification for function __e_acsl_store_block -[eva] using specification for function __e_acsl_full_init -[eva:alarm] tests/gmp/let.c:27: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/let.c:30: Warning: assertion got status unknown. -[eva] tests/gmp/let.c:32: - cannot evaluate ACSL term, unsupported ACSL construct: \let bindings -[eva:alarm] tests/gmp/let.c:32: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/let.c:35: Warning: assertion got status unknown. -[eva] tests/gmp/let.c:39: - cannot evaluate ACSL term, unsupported ACSL construct: \let bindings -[eva:alarm] tests/gmp/let.c:39: Warning: assertion got status unknown. -[eva] using specification for function __e_acsl_delete_block -[eva] using specification for function __e_acsl_memory_clean -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/let.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/let.1.res.oracle deleted file mode 100644 index 4ef2a9f67a28af8af5599e60d8657f9d7bc338a3..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/let.1.res.oracle +++ /dev/null @@ -1,70 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] tests/gmp/let.c:30: Warning: - E-ACSL construct `let-binding on array or pointer' is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva:alarm] tests/gmp/let.c:7: Warning: assertion got status unknown. -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_init -[eva] using specification for function __gmpz_mul -[eva] using specification for function __gmpz_init_set -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/let.c:7: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_clear -[eva:alarm] tests/gmp/let.c:9: Warning: assertion got status unknown. -[eva] using specification for function __gmpz_add -[eva:alarm] tests/gmp/let.c:9: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/let.c:12: - cannot evaluate ACSL term, unsupported ACSL construct: \let bindings -[eva:alarm] tests/gmp/let.c:12: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/let.c:12: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/let.c:14: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/let.c:14: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/let.c:17: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/let.c:17: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/let.c:21: - cannot evaluate ACSL term, unsupported ACSL construct: \let bindings -[eva:alarm] tests/gmp/let.c:21: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/let.c:21: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/let.c:24: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/let.c:24: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __e_acsl_store_block -[eva] using specification for function __e_acsl_full_init -[eva:alarm] tests/gmp/let.c:27: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/let.c:30: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/let.c:30: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/let.c:32: - cannot evaluate ACSL term, unsupported ACSL construct: \let bindings -[eva:alarm] tests/gmp/let.c:32: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/let.c:32: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/let.c:35: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/let.c:35: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/let.c:39: - cannot evaluate ACSL term, unsupported ACSL construct: \let bindings -[eva:alarm] tests/gmp/let.c:39: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/let.c:39: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __e_acsl_delete_block -[eva] using specification for function __e_acsl_memory_clean -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/longlong.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/longlong.0.res.oracle deleted file mode 100644 index 5b07e0a1fffa404bdfca5158b6fe3344d7a65cf8..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/longlong.0.res.oracle +++ /dev/null @@ -1,39 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva] tests/gmp/longlong.i:9: Warning: - recursive call during value analysis - of my_pow (my_pow <- my_pow :: tests/gmp/longlong.i:16 <- main). Assuming - the call has no effect. The analysis will be unsound. -[eva] using specification for function my_pow -[eva:alarm] tests/gmp/longlong.i:10: Warning: - signed overflow. assert -2147483648 ≤ tmp * tmp; -[eva:alarm] tests/gmp/longlong.i:10: Warning: - signed overflow. assert tmp * tmp ≤ 2147483647; -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_init -[eva] using specification for function __gmpz_import -[eva:alarm] tests/gmp/longlong.i:17: Warning: - function __gmpz_import: precondition got status unknown. -[eva] using specification for function __gmpz_mul -[eva] using specification for function __gmpz_add -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/longlong.i:17: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_tdiv_r -[eva] using specification for function __gmpz_get_si -[eva] tests/gmp/longlong.i:17: - Assigning imprecise value to __gen_e_acsl__4. - The imprecision originates from Library function -[eva] using specification for function __gmpz_clear -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/longlong.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/longlong.1.res.oracle deleted file mode 100644 index fada6aef03dec76e67853cb0de19edc20b19ea42..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/longlong.1.res.oracle +++ /dev/null @@ -1,38 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva] tests/gmp/longlong.i:9: Warning: - recursive call during value analysis - of my_pow (my_pow <- my_pow :: tests/gmp/longlong.i:16 <- main). Assuming - the call has no effect. The analysis will be unsound. -[eva] using specification for function my_pow -[eva:alarm] tests/gmp/longlong.i:10: Warning: - signed overflow. assert -2147483648 ≤ tmp * tmp; -[eva:alarm] tests/gmp/longlong.i:10: Warning: - signed overflow. assert tmp * tmp ≤ 2147483647; -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_init -[eva] using specification for function __gmpz_import -[eva:alarm] tests/gmp/longlong.i:17: Warning: - function __gmpz_import: precondition got status unknown. -[eva] using specification for function __gmpz_mul -[eva] using specification for function __gmpz_add -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/longlong.i:17: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_tdiv_r -[eva] tests/gmp/longlong.i:17: - Assigning imprecise value to __gen_e_acsl_eq. - The imprecision originates from Library function -[eva] using specification for function __gmpz_clear -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/not.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/not.0.res.oracle deleted file mode 100644 index 7046e21167e2fa05413d343de5b74544da9e443c..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/not.0.res.oracle +++ /dev/null @@ -1,14 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva] using specification for function __e_acsl_assert -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/not.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/not.1.res.oracle deleted file mode 100644 index a19969e8d99da935ae8b4a81507b74dc56768965..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/not.1.res.oracle +++ /dev/null @@ -1,19 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/not.i:6: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_clear -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/quantif.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/quantif.0.res.oracle deleted file mode 100644 index cb1d4c89b8132622aac175ec0694dae23e9bee18..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/quantif.0.res.oracle +++ /dev/null @@ -1,59 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva:alarm] tests/gmp/quantif.i:9: Warning: assertion got status unknown. -[eva] tests/gmp/quantif.i:9: starting to merge loop iterations -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/quantif.i:10: Warning: assertion got status unknown. -[eva] tests/gmp/quantif.i:10: starting to merge loop iterations -[eva:alarm] tests/gmp/quantif.i:11: Warning: assertion got status unknown. -[eva] tests/gmp/quantif.i:11: starting to merge loop iterations -[eva:alarm] tests/gmp/quantif.i:15: Warning: assertion got status unknown. -[eva] tests/gmp/quantif.i:15: starting to merge loop iterations -[eva:alarm] tests/gmp/quantif.i:15: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/quantif.i:20: Warning: assertion got status unknown. -[eva] tests/gmp/quantif.i:20: starting to merge loop iterations -[eva:alarm] tests/gmp/quantif.i:24: Warning: assertion got status unknown. -[eva] tests/gmp/quantif.i:24: starting to merge loop iterations -[eva] tests/gmp/quantif.i:25: starting to merge loop iterations -[eva:alarm] tests/gmp/quantif.i:24: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __e_acsl_store_block -[eva:alarm] tests/gmp/quantif.i:30: Warning: assertion got status unknown. -[eva] using specification for function __e_acsl_valid -[eva] tests/gmp/quantif.i:30: starting to merge loop iterations -[eva:alarm] tests/gmp/quantif.i:30: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] tests/gmp/quantif.i:31: starting to merge loop iterations -[eva:alarm] tests/gmp/quantif.i:31: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/quantif.i:32: Warning: assertion got status unknown. -[eva] tests/gmp/quantif.i:32: starting to merge loop iterations -[eva:alarm] tests/gmp/quantif.i:32: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/quantif.i:33: Warning: assertion got status unknown. -[eva] using specification for function __gmpz_init -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_set -[eva] using specification for function __gmpz_clear -[eva] using specification for function __gmpz_init_set_ui -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __gmpz_get_si -[eva] using specification for function __gmpz_add -[eva:alarm] tests/gmp/quantif.i:33: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __e_acsl_delete_block -[eva:alarm] tests/gmp/quantif.i:37: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/quantif.i:40: Warning: assertion got status unknown. -[eva] using specification for function __e_acsl_memory_clean -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/quantif.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/quantif.1.res.oracle deleted file mode 100644 index 7a6b1edc0f88581437072a2dbe2e53ca7130feb3..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/quantif.1.res.oracle +++ /dev/null @@ -1,65 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] -[eva] using specification for function __e_acsl_memory_init -[eva:alarm] tests/gmp/quantif.i:9: Warning: assertion got status unknown. -[eva] using specification for function __gmpz_init -[eva] using specification for function __gmpz_init_set_si -[eva] using specification for function __gmpz_set -[eva] using specification for function __gmpz_clear -[eva] using specification for function __gmpz_cmp -[eva] using specification for function __gmpz_init_set_str -[eva] using specification for function __gmpz_add -[eva] using specification for function __e_acsl_assert -[eva:alarm] tests/gmp/quantif.i:9: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/quantif.i:10: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/quantif.i:10: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/quantif.i:11: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/quantif.i:11: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/quantif.i:15: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/quantif.i:15: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/quantif.i:20: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/quantif.i:20: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/quantif.i:24: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/quantif.i:25: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_tdiv_r -[eva:alarm] tests/gmp/quantif.i:25: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpz_tdiv_q -[eva] using specification for function __gmpz_mul -[eva:alarm] tests/gmp/quantif.i:24: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __e_acsl_store_block -[eva:alarm] tests/gmp/quantif.i:30: Warning: assertion got status unknown. -[eva] using specification for function __gmpz_get_si -[eva] using specification for function __e_acsl_valid -[eva:alarm] tests/gmp/quantif.i:30: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/quantif.i:31: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/quantif.i:32: Warning: assertion got status unknown. -[eva] using specification for function __gmpz_init_set_ui -[eva:alarm] tests/gmp/quantif.i:32: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/quantif.i:33: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/quantif.i:33: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __e_acsl_delete_block -[eva:alarm] tests/gmp/quantif.i:37: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/quantif.i:40: Warning: assertion got status unknown. -[eva] using specification for function __e_acsl_memory_clean -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/reals.0.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/reals.0.res.oracle deleted file mode 100644 index 2c4d33e93dd51c53b553bf0fd0719972b6b40452..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/reals.0.res.oracle +++ /dev/null @@ -1,73 +0,0 @@ -[kernel:parser:decimal-float] tests/gmp/reals.c:22: Warning: - Floating-point constant 0.2f is not represented exactly. Will use 0x1.99999a0000000p-3. - (warn-once: no further messages from category 'parser:decimal-float' will be emitted) -[e-acsl] beginning translation. -[e-acsl] Warning: R to float: double rounding might cause unsoundness -[e-acsl] tests/gmp/reals.c:19: Warning: - E-ACSL construct `predicate with no definition nor reads clause' - is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_sound_verdict ∈ [--..--] -[eva] using specification for function __e_acsl_memory_init -[eva] using specification for function __e_acsl_assert -[eva] using specification for function __gmpq_init -[eva] using specification for function __gmpq_set_str -[eva] using specification for function __gmpq_set_d -[eva] using specification for function __gmpq_add -[eva] using specification for function __gmpq_cmp -[eva:alarm] tests/gmp/reals.c:15: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpq_clear -[eva:alarm] tests/gmp/reals.c:16: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/reals.c:16: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/reals.c:18: Warning: assertion got status unknown. -[eva] using specification for function __gmpq_get_d -[eva:alarm] tests/gmp/reals.c:18: Warning: - non-finite double value. assert \is_finite(__gen_e_acsl__6); -[eva:alarm] tests/gmp/reals.c:18: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/reals.c:19: Warning: - non-finite double value. assert \is_finite(__gen_e_acsl__9); -[eva:alarm] tests/gmp/reals.c:19: Warning: - non-finite double value. assert \is_finite(__gen_e_acsl__10); -[eva:alarm] tests/gmp/reals.c:19: Warning: - non-finite float value. assert \is_finite((float)__gen_e_acsl__9); -[eva:alarm] tests/gmp/reals.c:19: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/reals.c:20: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/reals.c:20: Warning: - non-finite double value. assert \is_finite(__gen_e_acsl__12); -[eva:alarm] tests/gmp/reals.c:20: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/reals.c:21: Warning: assertion got status unknown. -[eva] using specification for function __gmpq_sub -[eva:alarm] tests/gmp/reals.c:21: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpq_mul -[eva:alarm] tests/gmp/reals.c:25: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/reals.c:26: Warning: assertion got status unknown. -[eva] using specification for function __gmpq_set_si -[eva:alarm] tests/gmp/reals.c:26: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpq_set -[eva] using specification for function __gmpq_div -[eva:alarm] tests/gmp/reals.c:6: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/reals.c:6: Warning: - function __gen_e_acsl_avg: postcondition got status unknown. -[eva:alarm] tests/gmp/reals.c:32: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/reals.c:32: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/oracle/reals.1.res.oracle b/src/plugins/e-acsl/tests/gmp/oracle/reals.1.res.oracle deleted file mode 100644 index 2c4d33e93dd51c53b553bf0fd0719972b6b40452..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/oracle/reals.1.res.oracle +++ /dev/null @@ -1,73 +0,0 @@ -[kernel:parser:decimal-float] tests/gmp/reals.c:22: Warning: - Floating-point constant 0.2f is not represented exactly. Will use 0x1.99999a0000000p-3. - (warn-once: no further messages from category 'parser:decimal-float' will be emitted) -[e-acsl] beginning translation. -[e-acsl] Warning: R to float: double rounding might cause unsoundness -[e-acsl] tests/gmp/reals.c:19: Warning: - E-ACSL construct `predicate with no definition nor reads clause' - is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". -[eva] Analyzing a complete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_sound_verdict ∈ [--..--] -[eva] using specification for function __e_acsl_memory_init -[eva] using specification for function __e_acsl_assert -[eva] using specification for function __gmpq_init -[eva] using specification for function __gmpq_set_str -[eva] using specification for function __gmpq_set_d -[eva] using specification for function __gmpq_add -[eva] using specification for function __gmpq_cmp -[eva:alarm] tests/gmp/reals.c:15: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpq_clear -[eva:alarm] tests/gmp/reals.c:16: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/reals.c:16: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/reals.c:18: Warning: assertion got status unknown. -[eva] using specification for function __gmpq_get_d -[eva:alarm] tests/gmp/reals.c:18: Warning: - non-finite double value. assert \is_finite(__gen_e_acsl__6); -[eva:alarm] tests/gmp/reals.c:18: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/reals.c:19: Warning: - non-finite double value. assert \is_finite(__gen_e_acsl__9); -[eva:alarm] tests/gmp/reals.c:19: Warning: - non-finite double value. assert \is_finite(__gen_e_acsl__10); -[eva:alarm] tests/gmp/reals.c:19: Warning: - non-finite float value. assert \is_finite((float)__gen_e_acsl__9); -[eva:alarm] tests/gmp/reals.c:19: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/reals.c:20: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/reals.c:20: Warning: - non-finite double value. assert \is_finite(__gen_e_acsl__12); -[eva:alarm] tests/gmp/reals.c:20: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/reals.c:21: Warning: assertion got status unknown. -[eva] using specification for function __gmpq_sub -[eva:alarm] tests/gmp/reals.c:21: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpq_mul -[eva:alarm] tests/gmp/reals.c:25: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/reals.c:26: Warning: assertion got status unknown. -[eva] using specification for function __gmpq_set_si -[eva:alarm] tests/gmp/reals.c:26: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] using specification for function __gmpq_set -[eva] using specification for function __gmpq_div -[eva:alarm] tests/gmp/reals.c:6: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/gmp/reals.c:6: Warning: - function __gen_e_acsl_avg: postcondition got status unknown. -[eva:alarm] tests/gmp/reals.c:32: Warning: assertion got status unknown. -[eva:alarm] tests/gmp/reals.c:32: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva] done for function main diff --git a/src/plugins/e-acsl/tests/gmp/reals1.c.notest b/src/plugins/e-acsl/tests/gmp/reals1.c.notest deleted file mode 100644 index d5bd43dc37b024f303e6ba2b69c90979de629ce5..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/reals1.c.notest +++ /dev/null @@ -1,16 +0,0 @@ -/* run.config - COMMENT: real numbers -*/ - -/*@ ensures - \let delta = 1; - \let third_real = a/3; - third_real - delta < \result < third_real + delta; */ -double third(double a) { - return a/3; -} - -int main(void) { - int n = 1; - third(11.7); -} \ No newline at end of file diff --git a/src/plugins/e-acsl/tests/gmp/test_config b/src/plugins/e-acsl/tests/gmp/test_config deleted file mode 100644 index b2a9e07a1cb38c32a99ed4d562ef04cbb1a396d3..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/gmp/test_config +++ /dev/null @@ -1,5 +0,0 @@ -LOG: gen_@PTEST_NAME@.c -OPT: -machdep gcc_x86_64 -check -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/gmp/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -eva @EVA_OPTIONS@ -EXEC: ./scripts/testrun.sh @PTEST_NAME@ gmp "1" "--frama-c=@frama-c@" -LOG: gen_@PTEST_NAME@2.c -OPT: -machdep gcc_x86_64 -check -e-acsl -e-acsl-gmp-only -then-last -load-script tests/print.cmxs -print -ocode tests/gmp/result/gen_@PTEST_NAME@2.c -kernel-verbose 0 -eva @EVA_OPTIONS@ diff --git a/src/plugins/e-acsl/tests/runtime/addrOf.i b/src/plugins/e-acsl/tests/memory/addrOf.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/addrOf.i rename to src/plugins/e-acsl/tests/memory/addrOf.i diff --git a/src/plugins/e-acsl/tests/runtime/alias.i b/src/plugins/e-acsl/tests/memory/alias.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/alias.i rename to src/plugins/e-acsl/tests/memory/alias.i diff --git a/src/plugins/e-acsl/tests/runtime/base_addr.c b/src/plugins/e-acsl/tests/memory/base_addr.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/base_addr.c rename to src/plugins/e-acsl/tests/memory/base_addr.c diff --git a/src/plugins/e-acsl/tests/runtime/block_length.c b/src/plugins/e-acsl/tests/memory/block_length.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/block_length.c rename to src/plugins/e-acsl/tests/memory/block_length.c diff --git a/src/plugins/e-acsl/tests/runtime/block_valid.c b/src/plugins/e-acsl/tests/memory/block_valid.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/block_valid.c rename to src/plugins/e-acsl/tests/memory/block_valid.c diff --git a/src/plugins/e-acsl/tests/runtime/bypassed_var.c b/src/plugins/e-acsl/tests/memory/bypassed_var.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/bypassed_var.c rename to src/plugins/e-acsl/tests/memory/bypassed_var.c diff --git a/src/plugins/e-acsl/tests/runtime/call.c b/src/plugins/e-acsl/tests/memory/call.c similarity index 76% rename from src/plugins/e-acsl/tests/runtime/call.c rename to src/plugins/e-acsl/tests/memory/call.c index bbb9e9300d4dc3e164a7218a749e69e70d37e782..6d6cdccc6bd2d86d1844dd738d16bf22220a03d3 100644 --- a/src/plugins/e-acsl/tests/runtime/call.c +++ b/src/plugins/e-acsl/tests/memory/call.c @@ -1,12 +1,9 @@ /* run.config COMMENT: function call - STDOPT: +"-no-val-alloc-returns-null" */ #include <stdlib.h> -//extern void *malloc(unsigned int size); - /*@ ensures \valid(\result); */ int *f(int *x, int *y) { *y = 1; diff --git a/src/plugins/e-acsl/tests/runtime/compound_initializers.c b/src/plugins/e-acsl/tests/memory/compound_initializers.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/compound_initializers.c rename to src/plugins/e-acsl/tests/memory/compound_initializers.c diff --git a/src/plugins/e-acsl/tests/segment-only/constructor.c b/src/plugins/e-acsl/tests/memory/constructor.c similarity index 100% rename from src/plugins/e-acsl/tests/segment-only/constructor.c rename to src/plugins/e-acsl/tests/memory/constructor.c diff --git a/src/plugins/e-acsl/tests/runtime/ctype_macros.c b/src/plugins/e-acsl/tests/memory/ctype_macros.c similarity index 92% rename from src/plugins/e-acsl/tests/runtime/ctype_macros.c rename to src/plugins/e-acsl/tests/memory/ctype_macros.c index 664996beecc4da2690be0ea8452617df66835f35..b4ba9cc170ec6cadc01cb6fc81276bc31e3def48 100644 --- a/src/plugins/e-acsl/tests/runtime/ctype_macros.c +++ b/src/plugins/e-acsl/tests/memory/ctype_macros.c @@ -1,5 +1,5 @@ -/* run.config - COMMENT: Tests for function-based implementation of ctype.h features +/* run.config_ci, run.config_dev + COMMENT: Tests for function-based implementation of ctype.h features */ /* ctype.h tests (e.g., `isalpha`, `isnumber` etc) in GLIBC are implemented as diff --git a/src/plugins/e-acsl/tests/runtime/early_exit.c b/src/plugins/e-acsl/tests/memory/early_exit.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/early_exit.c rename to src/plugins/e-acsl/tests/memory/early_exit.c diff --git a/src/plugins/e-acsl/tests/runtime/errno.c b/src/plugins/e-acsl/tests/memory/errno.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/errno.c rename to src/plugins/e-acsl/tests/memory/errno.c diff --git a/src/plugins/e-acsl/tests/runtime/freeable.c b/src/plugins/e-acsl/tests/memory/freeable.c similarity index 97% rename from src/plugins/e-acsl/tests/runtime/freeable.c rename to src/plugins/e-acsl/tests/memory/freeable.c index 4ec6fcf57c1a7b37a37c6f38b4088396a3e79800..86422bb512c3b18e9e6e5fadc6f0d3ec4b3aad9f 100644 --- a/src/plugins/e-acsl/tests/runtime/freeable.c +++ b/src/plugins/e-acsl/tests/memory/freeable.c @@ -1,6 +1,5 @@ /* run.config COMMENT: \freeable - STDOPT: */ #include <stdlib.h> diff --git a/src/plugins/e-acsl/tests/runtime/goto.c b/src/plugins/e-acsl/tests/memory/goto.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/goto.c rename to src/plugins/e-acsl/tests/memory/goto.c diff --git a/src/plugins/e-acsl/tests/runtime/hidden_malloc.c b/src/plugins/e-acsl/tests/memory/hidden_malloc.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/hidden_malloc.c rename to src/plugins/e-acsl/tests/memory/hidden_malloc.c diff --git a/src/plugins/e-acsl/tests/runtime/init.c b/src/plugins/e-acsl/tests/memory/init.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/init.c rename to src/plugins/e-acsl/tests/memory/init.c diff --git a/src/plugins/e-acsl/tests/runtime/init_function.c b/src/plugins/e-acsl/tests/memory/init_function.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/init_function.c rename to src/plugins/e-acsl/tests/memory/init_function.c diff --git a/src/plugins/e-acsl/tests/runtime/initialized.c b/src/plugins/e-acsl/tests/memory/initialized.c similarity index 99% rename from src/plugins/e-acsl/tests/runtime/initialized.c rename to src/plugins/e-acsl/tests/memory/initialized.c index 752facb20f267cda659ed609473c3da87e5dbd09..4af4918caa2b7445e02f84fe3e115ef369e3f150 100644 --- a/src/plugins/e-acsl/tests/runtime/initialized.c +++ b/src/plugins/e-acsl/tests/memory/initialized.c @@ -1,5 +1,4 @@ /* run.config - STDOPT: COMMENT: Behaviours of the \initialized E-ACSL predicate */ diff --git a/src/plugins/e-acsl/tests/runtime/literal_string.i b/src/plugins/e-acsl/tests/memory/literal_string.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/literal_string.i rename to src/plugins/e-acsl/tests/memory/literal_string.i diff --git a/src/plugins/e-acsl/tests/runtime/local_goto.c b/src/plugins/e-acsl/tests/memory/local_goto.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/local_goto.c rename to src/plugins/e-acsl/tests/memory/local_goto.c diff --git a/src/plugins/e-acsl/tests/memory/local_init.c b/src/plugins/e-acsl/tests/memory/local_init.c new file mode 100644 index 0000000000000000000000000000000000000000..3f088213229d0076f623744b7ba65444efd8ce00 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/local_init.c @@ -0,0 +1,18 @@ +/* run.config_ci + COMMENT: test of a local initializer which contains an annotation + LOG: gen_@PTEST_NAME@.c + STDOPT: #"-lib-entry -eva -e-acsl-prepare -e-acsl-share ./share/e-acsl -then -no-lib-entry" +*/ + +int X = 0; +int *p = &X; + +int f(void) { + int x = *p; // Eva's alarm in -lib-entry on this local initializer + return x; +} + +int main(void) { + f(); + return 0; +} diff --git a/src/plugins/e-acsl/tests/runtime/localvar.c b/src/plugins/e-acsl/tests/memory/local_var.c similarity index 84% rename from src/plugins/e-acsl/tests/runtime/localvar.c rename to src/plugins/e-acsl/tests/memory/local_var.c index 21ad932233f5c544c8adc42157ec716d81b432a0..e7239f6e861bcb73cba7ea12b285d572d58e2523 100644 --- a/src/plugins/e-acsl/tests/runtime/localvar.c +++ b/src/plugins/e-acsl/tests/memory/local_var.c @@ -1,12 +1,9 @@ /* run.config COMMENT: allocation and de-allocation of local variables - STDOPT: +"-no-val-alloc-returns-null" */ #include <stdlib.h> -extern void *malloc(size_t size); - struct list { int element; struct list * next; diff --git a/src/plugins/e-acsl/tests/runtime/mainargs.c b/src/plugins/e-acsl/tests/memory/mainargs.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/mainargs.c rename to src/plugins/e-acsl/tests/memory/mainargs.c diff --git a/src/plugins/e-acsl/tests/runtime/memalign.c b/src/plugins/e-acsl/tests/memory/memalign.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/memalign.c rename to src/plugins/e-acsl/tests/memory/memalign.c diff --git a/src/plugins/e-acsl/tests/runtime/memsize.c b/src/plugins/e-acsl/tests/memory/memsize.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/memsize.c rename to src/plugins/e-acsl/tests/memory/memsize.c diff --git a/src/plugins/e-acsl/tests/runtime/null.i b/src/plugins/e-acsl/tests/memory/null.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/null.i rename to src/plugins/e-acsl/tests/memory/null.i diff --git a/src/plugins/e-acsl/tests/runtime/offset.c b/src/plugins/e-acsl/tests/memory/offset.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/offset.c rename to src/plugins/e-acsl/tests/memory/offset.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/bypassed_var.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/addrOf.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/bypassed_var.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/addrOf.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/call.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/alias.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/call.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/alias.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/compound_initializers.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/base_addr.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/compound_initializers.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/base_addr.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/errno.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/block_length.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/errno.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/block_length.res.oracle diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/block_valid.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/block_valid.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f7890eb4d148566132d047ad43471cd28b8bdb82 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/block_valid.res.oracle @@ -0,0 +1,14 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/memory/block_valid.c:49: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/memory/block_valid.c:50: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/memory/block_valid.c:52: Warning: + assertion got status unknown. +[eva:alarm] tests/memory/block_valid.c:52: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/memory/block_valid.c:54: Warning: + assertion got status unknown. +[eva:alarm] tests/memory/block_valid.c:54: Warning: + function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/runtime/oracle/goto.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/bypassed_var.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/goto.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/bypassed_var.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/init.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/call.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/init.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/call.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/init_function.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/compound_initializers.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/init_function.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/compound_initializers.res.oracle diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/constructor.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/constructor.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9811cdbf49f1324c0f4cffd3aed7d450deac04cb --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/constructor.res.oracle @@ -0,0 +1,4 @@ +[e-acsl] beginning translation. +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdio.h:169: Warning: + Neither code nor specification for function printf, generating default assigns from the prototype +[e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/runtime/oracle/ctype_macros.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/ctype_macros.res.oracle similarity index 92% rename from src/plugins/e-acsl/tests/runtime/oracle/ctype_macros.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/ctype_macros.res.oracle index 7fc6c545d83858430806aab62d29eec4d80e3402..270dcdb0d84448a3889a178d504aa1b53f9de220 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/ctype_macros.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/ctype_macros.res.oracle @@ -2,14 +2,14 @@ [e-acsl] Warning: annotating undefined function `isupper': the generated program may miss memory instrumentation if there are memory-related annotations. -[e-acsl] tests/runtime/ctype_macros.c:39: Warning: +[e-acsl] tests/memory/ctype_macros.c:39: Warning: E-ACSL construct `disjoint behaviors' is not yet supported. Ignoring annotation. [e-acsl] FRAMAC_SHARE/libc/ctype.h:174: Warning: E-ACSL construct `assigns clause in behavior' is not yet supported. Ignoring annotation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/ctype_macros.c:37: Warning: +[eva:alarm] tests/memory/ctype_macros.c:37: Warning: function __gen_e_acsl_isupper: precondition 'c_uchar_or_eof' got status unknown. [eva:alarm] FRAMAC_SHARE/libc/ctype.h:174: Warning: function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/runtime/oracle/decl_in_switch.err.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/decl_in_switch.err.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/decl_in_switch.err.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/decl_in_switch.err.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/decl_in_switch.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/decl_in_switch.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/decl_in_switch.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/decl_in_switch.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/early_exit.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/early_exit.res.oracle similarity index 66% rename from src/plugins/e-acsl/tests/runtime/oracle/early_exit.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/early_exit.res.oracle index 9cf5edeffd7452eead7705ae3f3bcc5670598732..965ff85803169a13ec505dc05504dd6b12557d30 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/early_exit.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/early_exit.res.oracle @@ -1,7 +1,7 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[eva:locals-escaping] tests/runtime/early_exit.c:14: Warning: +[eva:locals-escaping] tests/memory/early_exit.c:14: Warning: locals {a} escaping the scope of a block of goto_bts through p -[eva:alarm] tests/runtime/early_exit.c:18: Warning: +[eva:alarm] tests/memory/early_exit.c:18: Warning: accessing left-value that contains escaping addresses. assert ¬\dangling(&p); diff --git a/src/plugins/e-acsl/tests/runtime/oracle/literal_string.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/errno.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/literal_string.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/errno.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/freeable.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/freeable.res.oracle similarity index 52% rename from src/plugins/e-acsl/tests/runtime/oracle/freeable.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/freeable.res.oracle index f443fc5cbacd6b1b92b9f2f8470bc2ef4d62bf12..bed0b61add3b254ae30b451a44775d4b857f6bdd 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/freeable.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/freeable.res.oracle @@ -1,5 +1,5 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/freeable.c:15: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/freeable.c:15: Warning: +[eva:alarm] tests/memory/freeable.c:14: Warning: assertion got status unknown. +[eva:alarm] tests/memory/freeable.c:14: Warning: accessing uninitialized left-value. assert \initialized(&p); diff --git a/src/plugins/e-acsl/tests/full-mmodel/oracle/gen_addrOf.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_addrOf.c similarity index 100% rename from src/plugins/e-acsl/tests/full-mmodel/oracle/gen_addrOf.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_addrOf.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_alias.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_alias.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_alias.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_alias.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_base_addr.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_base_addr.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_base_addr.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_base_addr.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_block_length.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_block_length.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_block_length.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_block_length.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_block_valid.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_block_valid.c similarity index 98% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_block_valid.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_block_valid.c index b20b24b8cb71e3097a0c8372ae1af93e4614baaa..c8beb84f9f767bf1199a38ec71dfad279ec2511c 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/gen_block_valid.c +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_block_valid.c @@ -98,10 +98,8 @@ int main(int argc, char **argv) __e_acsl_delete_block((void *)(& t)); } __e_acsl_initialize((void *)pmin,sizeof(char)); - /*@ assert Eva: mem_access: \valid(pmin); */ *pmin = (char)'P'; __e_acsl_initialize((void *)pmax,sizeof(char)); - /*@ assert Eva: mem_access: \valid(pmax); */ *pmax = (char)'L'; int diff = (int)((unsigned long)pmax - (unsigned long)pmin); /*@ assert \valid(pmin); */ diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_bypassed_var.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_bypassed_var.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_bypassed_var.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_bypassed_var.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_call.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_call.c similarity index 97% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_call.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_call.c index 546cd79477d145bb5076cb9b232711f67de7341e..ac3c12211ae0a06975ebc353c91922da10dcc108 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/gen_call.c +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_call.c @@ -56,7 +56,7 @@ int *__gen_e_acsl_f(int *x, int *y) (void *)__retres, (void *)(& __retres)); __e_acsl_assert(__gen_e_acsl_valid,(char *)"Postcondition",(char *)"f", - (char *)"\\valid(\\result)",10); + (char *)"\\valid(\\result)",7); __e_acsl_delete_block((void *)(& y)); __e_acsl_delete_block((void *)(& x)); __e_acsl_delete_block((void *)(& __retres)); diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_compound_initializers.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_compound_initializers.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_compound_initializers.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_compound_initializers.c diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_constructor.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_constructor.c new file mode 100644 index 0000000000000000000000000000000000000000..15a99b43c04dacb8866abecb8ce0ef28e7db4bbf --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_constructor.c @@ -0,0 +1,44 @@ +/* Generated by Frama-C */ +#include "stdio.h" +#include "stdlib.h" +char *__gen_e_acsl_literal_string_2; +char *__gen_e_acsl_literal_string; +void f(void) __attribute__((__constructor__)); +void f(void) +{ + printf(__gen_e_acsl_literal_string); + char *buf = malloc((unsigned long)10 * sizeof(char)); + free((void *)buf); + return; +} + +void __e_acsl_globals_init(void) +{ + static char __e_acsl_already_run = 0; + if (! __e_acsl_already_run) { + __e_acsl_already_run = 1; + __gen_e_acsl_literal_string_2 = "main\n"; + __e_acsl_store_block((void *)__gen_e_acsl_literal_string_2, + sizeof("main\n")); + __e_acsl_full_init((void *)__gen_e_acsl_literal_string_2); + __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_2); + __gen_e_acsl_literal_string = "f\n"; + __e_acsl_store_block((void *)__gen_e_acsl_literal_string,sizeof("f\n")); + __e_acsl_full_init((void *)__gen_e_acsl_literal_string); + __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string); + } + return; +} + +int main(void) +{ + int __retres; + __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); + __e_acsl_globals_init(); + printf(__gen_e_acsl_literal_string_2); + __retres = 0; + __e_acsl_memory_clean(); + return __retres; +} + + diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_ctype_macros.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ctype_macros.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_ctype_macros.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_ctype_macros.c diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_decl_in_switch.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_decl_in_switch.c new file mode 100644 index 0000000000000000000000000000000000000000..44c5d1497e4120146834c9da6a048d63af4800c6 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_decl_in_switch.c @@ -0,0 +1,146 @@ +/* Generated by Frama-C */ +typedef unsigned long size_t; +struct __e_acsl_mpz_struct { + int _mp_alloc ; + int _mp_size ; + unsigned long *_mp_d ; +}; +typedef struct __e_acsl_mpz_struct __e_acsl_mpz_struct; +typedef __e_acsl_mpz_struct ( __attribute__((__FC_BUILTIN__)) __e_acsl_mpz_t)[1]; +struct __e_acsl_mpq_struct { + __e_acsl_mpz_struct _mp_num ; + __e_acsl_mpz_struct _mp_den ; +}; +typedef struct __e_acsl_mpq_struct __e_acsl_mpq_struct; +typedef __e_acsl_mpq_struct ( __attribute__((__FC_BUILTIN__)) __e_acsl_mpq_t)[1]; +typedef struct _IO_FILE FILE; +/*@ ghost extern int __e_acsl_init; */ + +extern size_t __e_acsl_heap_allocation_size; + +typedef unsigned short __uint16_t; +typedef unsigned int __uint32_t; +typedef unsigned long __uint64_t; +typedef long __off_t; +typedef long __off64_t; +struct _IO_FILE; +typedef void _IO_lock_t; +struct _IO_marker { + struct _IO_marker *_next ; + struct _IO_FILE *_sbuf ; + int _pos ; +}; +struct _IO_FILE { + int _flags ; + char *_IO_read_ptr ; + char *_IO_read_end ; + char *_IO_read_base ; + char *_IO_write_base ; + char *_IO_write_ptr ; + char *_IO_write_end ; + char *_IO_buf_base ; + char *_IO_buf_end ; + char *_IO_save_base ; + char *_IO_backup_base ; + char *_IO_save_end ; + struct _IO_marker *_markers ; + struct _IO_FILE *_chain ; + int _fileno ; + int _flags2 ; + __off_t _old_offset ; + unsigned short _cur_column ; + signed char _vtable_offset ; + char _shortbuf[1] ; + _IO_lock_t *_lock ; + __off64_t _offset ; + void *__pad1 ; + void *__pad2 ; + void *__pad3 ; + void *__pad4 ; + size_t __pad5 ; + int _mode ; + char _unused2[((unsigned long)15 * sizeof(int) - (unsigned long)4 * sizeof(void *)) - sizeof(size_t)] ; +}; +/* compiler builtin: + unsigned int __builtin_bswap32(unsigned int); */ +/* compiler builtin: + unsigned long __builtin_bswap64(unsigned long); */ +__inline static unsigned int __bswap_32(unsigned int __bsx) +{ + unsigned int tmp; + tmp = __builtin_bswap32(__bsx); + return tmp; +} + +__inline static __uint64_t __bswap_64(__uint64_t __bsx) +{ + __uint64_t tmp; + tmp = __builtin_bswap64(__bsx); + return tmp; +} + +__inline static __uint16_t __uint16_identity(__uint16_t __x) +{ + return __x; +} + +__inline static __uint32_t __uint32_identity(__uint32_t __x) +{ + return __x; +} + +__inline static __uint64_t __uint64_identity(__uint64_t __x) +{ + return __x; +} + +/*@ +predicate diffSize{L1, L2}(ℤ i) = + \at(__e_acsl_heap_allocation_size,L1) - + \at(__e_acsl_heap_allocation_size,L2) ≡ i; + +*/ +extern __attribute__((__FC_BUILTIN__)) int ( /* missing proto */ __e_acsl_memory_init)( +int *x_0, char ***x_1, unsigned long x_2); + +extern __attribute__((__FC_BUILTIN__)) int ( /* missing proto */ __e_acsl_store_block)( +void *x_0, unsigned long x_1); + +extern __attribute__((__FC_BUILTIN__)) int ( /* missing proto */ __e_acsl_full_init)( +void *x_0); + +extern __attribute__((__FC_BUILTIN__)) int ( /* missing proto */ __e_acsl_delete_block)( +void *x_0); + +extern __attribute__((__FC_BUILTIN__)) int ( /* missing proto */ __e_acsl_memory_clean)( +void); + +int main(int argc, char **argv) +{ + int __retres; + __e_acsl_memory_init(& argc,& argv,8UL); + __e_acsl_memory_init(& argc,& argv,8UL); + __e_acsl_store_block((void *)(& argc),4UL); + { + int *p; + __e_acsl_store_block((void *)(& p),8UL); + __e_acsl_store_block((void *)(& p),8UL); + switch (argc) { + default: ; + __e_acsl_full_init((void *)(& p)); + __e_acsl_full_init((void *)(& p)); + p = & argc; + break; + } + __e_acsl_delete_block((void *)(& p)); + __e_acsl_delete_block((void *)(& p)); + } + __retres = 0; + __e_acsl_delete_block((void *)(& argc)); + __e_acsl_memory_clean(); + __e_acsl_delete_block((void *)(& argc)); + __e_acsl_memory_clean(); + return __retres; +} + + diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_early_exit.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_early_exit.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_early_exit.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_early_exit.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_errno.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_errno.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_errno.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_errno.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_freeable.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_freeable.c similarity index 91% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_freeable.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_freeable.c index 41fce61b3d2034835f30874cca87817d74ebe5fb..2dd9560ae9b96d3996d9ce396d83a3f9cbd79a98 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/gen_freeable.c +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_freeable.c @@ -26,14 +26,14 @@ int main(void) /*@ assert Eva: initialization: \initialized(&p); */ __gen_e_acsl_freeable = __e_acsl_freeable((void *)p); __e_acsl_assert(! __gen_e_acsl_freeable,(char *)"Assertion", - (char *)"main",(char *)"!\\freeable(p)",15); + (char *)"main",(char *)"!\\freeable(p)",14); } /*@ assert ¬\freeable((void *)0); */ { int __gen_e_acsl_freeable_2; __gen_e_acsl_freeable_2 = __e_acsl_freeable((void *)0); __e_acsl_assert(! __gen_e_acsl_freeable_2,(char *)"Assertion", - (char *)"main",(char *)"!\\freeable((void *)0)",16); + (char *)"main",(char *)"!\\freeable((void *)0)",15); } __e_acsl_full_init((void *)(& p)); p = (int *)malloc((unsigned long)4 * sizeof(int)); @@ -42,14 +42,14 @@ int main(void) int __gen_e_acsl_freeable_3; __gen_e_acsl_freeable_3 = __e_acsl_freeable((void *)(p + 1)); __e_acsl_assert(! __gen_e_acsl_freeable_3,(char *)"Assertion", - (char *)"main",(char *)"!\\freeable(p + 1)",18); + (char *)"main",(char *)"!\\freeable(p + 1)",17); } /*@ assert \freeable(p); */ { int __gen_e_acsl_freeable_4; __gen_e_acsl_freeable_4 = __e_acsl_freeable((void *)p); __e_acsl_assert(__gen_e_acsl_freeable_4,(char *)"Assertion", - (char *)"main",(char *)"\\freeable(p)",19); + (char *)"main",(char *)"\\freeable(p)",18); } free((void *)p); /*@ assert ¬\freeable(p); */ @@ -57,21 +57,21 @@ int main(void) int __gen_e_acsl_freeable_5; __gen_e_acsl_freeable_5 = __e_acsl_freeable((void *)p); __e_acsl_assert(! __gen_e_acsl_freeable_5,(char *)"Assertion", - (char *)"main",(char *)"!\\freeable(p)",21); + (char *)"main",(char *)"!\\freeable(p)",20); } /*@ assert ¬\freeable((char *)array); */ { int __gen_e_acsl_freeable_6; __gen_e_acsl_freeable_6 = __e_acsl_freeable((void *)(array)); __e_acsl_assert(! __gen_e_acsl_freeable_6,(char *)"Assertion", - (char *)"main",(char *)"!\\freeable((char *)array)",24); + (char *)"main",(char *)"!\\freeable((char *)array)",23); } /*@ assert ¬\freeable(&array[5]); */ { int __gen_e_acsl_freeable_7; __gen_e_acsl_freeable_7 = __e_acsl_freeable((void *)(& array[5])); __e_acsl_assert(! __gen_e_acsl_freeable_7,(char *)"Assertion", - (char *)"main",(char *)"!\\freeable(&array[5])",25); + (char *)"main",(char *)"!\\freeable(&array[5])",24); } __retres = 0; __e_acsl_delete_block((void *)(array)); diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_goto.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_goto.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_goto.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_goto.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_hidden_malloc.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_hidden_malloc.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_hidden_malloc.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_hidden_malloc.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_init.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_init.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_init.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_init.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_init_function.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_init_function.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_init_function.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_init_function.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_initialized.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_initialized.c similarity index 92% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_initialized.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_initialized.c index f228f8b071b886d560decd1e725df14d8a5e9ca1..421fbafa4439701746401a554e04f43757905854 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/gen_initialized.c +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_initialized.c @@ -36,23 +36,23 @@ int main(void) __e_acsl_full_init((void *)(& q)); /*@ assert \initialized(&A); */ __e_acsl_assert(1,(char *)"Assertion",(char *)"main", - (char *)"\\initialized(&A)",17); + (char *)"\\initialized(&A)",16); /*@ assert \initialized(&B); */ __e_acsl_assert(1,(char *)"Assertion",(char *)"main", - (char *)"\\initialized(&B)",18); + (char *)"\\initialized(&B)",17); /*@ assert \initialized(p); */ { int __gen_e_acsl_initialized; __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(p)",19); + (char *)"main",(char *)"\\initialized(p)",18); } /*@ assert \initialized(q); */ { int __gen_e_acsl_initialized_2; __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert(__gen_e_acsl_initialized_2,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(q)",20); + (char *)"main",(char *)"\\initialized(q)",19); } int a = 0; __e_acsl_store_block((void *)(& a),(size_t)4); @@ -70,7 +70,7 @@ int main(void) __gen_e_acsl_initialized_3 = __e_acsl_initialized((void *)(& a), sizeof(int)); __e_acsl_assert(__gen_e_acsl_initialized_3,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(&a)",31); + (char *)"main",(char *)"\\initialized(&a)",30); } /*@ assert ¬\initialized(&b); */ { @@ -78,21 +78,21 @@ int main(void) __gen_e_acsl_initialized_4 = __e_acsl_initialized((void *)(& b), sizeof(int)); __e_acsl_assert(! __gen_e_acsl_initialized_4,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(&b)",32); + (char *)"main",(char *)"!\\initialized(&b)",31); } /*@ assert \initialized(p); */ { int __gen_e_acsl_initialized_5; __gen_e_acsl_initialized_5 = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert(__gen_e_acsl_initialized_5,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(p)",33); + (char *)"main",(char *)"\\initialized(p)",32); } /*@ assert ¬\initialized(q); */ { int __gen_e_acsl_initialized_6; __gen_e_acsl_initialized_6 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert(! __gen_e_acsl_initialized_6,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(q)",34); + (char *)"main",(char *)"!\\initialized(q)",33); } /*@ assert \initialized(&c); */ { @@ -100,7 +100,7 @@ int main(void) __gen_e_acsl_initialized_7 = __e_acsl_initialized((void *)(& c), sizeof(long [2])); __e_acsl_assert(__gen_e_acsl_initialized_7,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(&c)",35); + (char *)"main",(char *)"\\initialized(&c)",34); } /*@ assert ¬\initialized(&d); */ { @@ -108,7 +108,7 @@ int main(void) __gen_e_acsl_initialized_8 = __e_acsl_initialized((void *)(& d), sizeof(long [2])); __e_acsl_assert(! __gen_e_acsl_initialized_8,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(&d)",36); + (char *)"main",(char *)"!\\initialized(&d)",35); } __e_acsl_full_init((void *)(& b)); b = 0; @@ -117,7 +117,7 @@ int main(void) int __gen_e_acsl_initialized_9; __gen_e_acsl_initialized_9 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert(__gen_e_acsl_initialized_9,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(q)",40); + (char *)"main",(char *)"\\initialized(q)",39); } /*@ assert \initialized(&b); */ { @@ -125,7 +125,7 @@ int main(void) __gen_e_acsl_initialized_10 = __e_acsl_initialized((void *)(& b), sizeof(int)); __e_acsl_assert(__gen_e_acsl_initialized_10,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(&b)",41); + (char *)"main",(char *)"\\initialized(&b)",40); } __e_acsl_full_init((void *)(& r)); r = d; @@ -135,7 +135,7 @@ int main(void) __gen_e_acsl_initialized_11 = __e_acsl_initialized((void *)(d), sizeof(long)); __e_acsl_assert(! __gen_e_acsl_initialized_11,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized((long *)d)",44); + (char *)"main",(char *)"!\\initialized((long *)d)",43); } /*@ assert ¬\initialized(&d[1]); */ { @@ -143,7 +143,7 @@ int main(void) __gen_e_acsl_initialized_12 = __e_acsl_initialized((void *)(& d[1]), sizeof(long)); __e_acsl_assert(! __gen_e_acsl_initialized_12,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(&d[1])",45); + (char *)"main",(char *)"!\\initialized(&d[1])",44); } /*@ assert ¬\initialized(&d); */ { @@ -151,7 +151,7 @@ int main(void) __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)(& d), sizeof(long [2])); __e_acsl_assert(! __gen_e_acsl_initialized_13,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(&d)",46); + (char *)"main",(char *)"!\\initialized(&d)",45); } /*@ assert ¬\initialized(r); */ { @@ -159,7 +159,7 @@ int main(void) __gen_e_acsl_initialized_14 = __e_acsl_initialized((void *)r, sizeof(long)); __e_acsl_assert(! __gen_e_acsl_initialized_14,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(r)",47); + (char *)"main",(char *)"!\\initialized(r)",46); } /*@ assert ¬\initialized(r + 1); */ { @@ -167,7 +167,7 @@ int main(void) __gen_e_acsl_initialized_15 = __e_acsl_initialized((void *)(r + 1), sizeof(long)); __e_acsl_assert(! __gen_e_acsl_initialized_15,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(r + 1)",48); + (char *)"main",(char *)"!\\initialized(r + 1)",47); } __e_acsl_initialize((void *)(d),sizeof(long)); d[0] = (long)1; @@ -177,7 +177,7 @@ int main(void) __gen_e_acsl_initialized_16 = __e_acsl_initialized((void *)(d), sizeof(long)); __e_acsl_assert(__gen_e_acsl_initialized_16,(char *)"Assertion", - (char *)"main",(char *)"\\initialized((long *)d)",51); + (char *)"main",(char *)"\\initialized((long *)d)",50); } /*@ assert ¬\initialized(&d[1]); */ { @@ -185,7 +185,7 @@ int main(void) __gen_e_acsl_initialized_17 = __e_acsl_initialized((void *)(& d[1]), sizeof(long)); __e_acsl_assert(! __gen_e_acsl_initialized_17,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(&d[1])",52); + (char *)"main",(char *)"!\\initialized(&d[1])",51); } /*@ assert ¬\initialized(&d); */ { @@ -193,7 +193,7 @@ int main(void) __gen_e_acsl_initialized_18 = __e_acsl_initialized((void *)(& d), sizeof(long [2])); __e_acsl_assert(! __gen_e_acsl_initialized_18,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(&d)",53); + (char *)"main",(char *)"!\\initialized(&d)",52); } /*@ assert \initialized(r); */ { @@ -201,7 +201,7 @@ int main(void) __gen_e_acsl_initialized_19 = __e_acsl_initialized((void *)r, sizeof(long)); __e_acsl_assert(__gen_e_acsl_initialized_19,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(r)",54); + (char *)"main",(char *)"\\initialized(r)",53); } /*@ assert ¬\initialized(r + 1); */ { @@ -209,7 +209,7 @@ int main(void) __gen_e_acsl_initialized_20 = __e_acsl_initialized((void *)(r + 1), sizeof(long)); __e_acsl_assert(! __gen_e_acsl_initialized_20,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(r + 1)",55); + (char *)"main",(char *)"!\\initialized(r + 1)",54); } __e_acsl_initialize((void *)(& d[1]),sizeof(long)); d[1] = (long)1; @@ -219,7 +219,7 @@ int main(void) __gen_e_acsl_initialized_21 = __e_acsl_initialized((void *)(d), sizeof(long)); __e_acsl_assert(__gen_e_acsl_initialized_21,(char *)"Assertion", - (char *)"main",(char *)"\\initialized((long *)d)",58); + (char *)"main",(char *)"\\initialized((long *)d)",57); } /*@ assert \initialized(&d[1]); */ { @@ -227,7 +227,7 @@ int main(void) __gen_e_acsl_initialized_22 = __e_acsl_initialized((void *)(& d[1]), sizeof(long)); __e_acsl_assert(__gen_e_acsl_initialized_22,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(&d[1])",59); + (char *)"main",(char *)"\\initialized(&d[1])",58); } /*@ assert \initialized(&d); */ { @@ -235,7 +235,7 @@ int main(void) __gen_e_acsl_initialized_23 = __e_acsl_initialized((void *)(& d), sizeof(long [2])); __e_acsl_assert(__gen_e_acsl_initialized_23,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(&d)",60); + (char *)"main",(char *)"\\initialized(&d)",59); } /*@ assert \initialized(r); */ { @@ -243,7 +243,7 @@ int main(void) __gen_e_acsl_initialized_24 = __e_acsl_initialized((void *)r, sizeof(long)); __e_acsl_assert(__gen_e_acsl_initialized_24,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(r)",61); + (char *)"main",(char *)"\\initialized(r)",60); } /*@ assert \initialized(r + 1); */ { @@ -251,7 +251,7 @@ int main(void) __gen_e_acsl_initialized_25 = __e_acsl_initialized((void *)(r + 1), sizeof(long)); __e_acsl_assert(__gen_e_acsl_initialized_25,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(r + 1)",62); + (char *)"main",(char *)"\\initialized(r + 1)",61); } __e_acsl_full_init((void *)(& p)); p = (int *)malloc(sizeof(int *)); @@ -260,7 +260,7 @@ int main(void) int __gen_e_acsl_initialized_26; __gen_e_acsl_initialized_26 = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert(! __gen_e_acsl_initialized_26,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(p)",66); + (char *)"main",(char *)"!\\initialized(p)",65); } __e_acsl_full_init((void *)(& q)); q = (int *)calloc((unsigned long)1,sizeof(int)); @@ -269,7 +269,7 @@ int main(void) int __gen_e_acsl_initialized_27; __gen_e_acsl_initialized_27 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert(__gen_e_acsl_initialized_27,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(q)",70); + (char *)"main",(char *)"\\initialized(q)",69); } __e_acsl_full_init((void *)(& q)); q = (int *)realloc((void *)q,(unsigned long)2 * sizeof(int)); @@ -278,7 +278,7 @@ int main(void) int __gen_e_acsl_initialized_28; __gen_e_acsl_initialized_28 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert(__gen_e_acsl_initialized_28,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(q)",75); + (char *)"main",(char *)"\\initialized(q)",74); } __e_acsl_full_init((void *)(& q)); q ++; @@ -287,7 +287,7 @@ int main(void) int __gen_e_acsl_initialized_29; __gen_e_acsl_initialized_29 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert(! __gen_e_acsl_initialized_29,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(q)",77); + (char *)"main",(char *)"!\\initialized(q)",76); } __e_acsl_full_init((void *)(& q)); q --; @@ -299,15 +299,14 @@ int main(void) /*@ assert Eva: dangling_pointer: ¬\dangling(&p); */ __gen_e_acsl_initialized_30 = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert(! __gen_e_acsl_initialized_30,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(p)",85); + (char *)"main",(char *)"!\\initialized(p)",84); } /*@ assert ¬\initialized(q); */ { int __gen_e_acsl_initialized_31; - /*@ assert Eva: dangling_pointer: ¬\dangling(&q); */ __gen_e_acsl_initialized_31 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert(! __gen_e_acsl_initialized_31,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(q)",86); + (char *)"main",(char *)"!\\initialized(q)",85); } __e_acsl_full_init((void *)(& q)); q = (int *)(& q - 1024 * 5); @@ -318,7 +317,7 @@ int main(void) int __gen_e_acsl_initialized_32; __gen_e_acsl_initialized_32 = __e_acsl_initialized((void *)q,sizeof(int)); __e_acsl_assert(! __gen_e_acsl_initialized_32,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(q)",94); + (char *)"main",(char *)"!\\initialized(q)",93); } __e_acsl_full_init((void *)(& p)); p = (int *)0; @@ -327,7 +326,7 @@ int main(void) int __gen_e_acsl_initialized_33; __gen_e_acsl_initialized_33 = __e_acsl_initialized((void *)p,sizeof(int)); __e_acsl_assert(! __gen_e_acsl_initialized_33,(char *)"Assertion", - (char *)"main",(char *)"!\\initialized(p)",97); + (char *)"main",(char *)"!\\initialized(p)",96); } int size = 100; char *partsc = malloc((unsigned long)size * sizeof(char)); @@ -335,12 +334,8 @@ int main(void) { int i = 0; while (i < size) { - if (i % 2 != 0) - /*@ assert Eva: mem_access: \valid(partsc + i); */ - *(partsc + i) = (char)'0'; - else - /*@ assert Eva: mem_access: \valid(partsi + i); */ - *(partsi + i) = (char)0; + if (i % 2 != 0) *(partsc + i) = (char)'0'; + else *(partsi + i) = (char)0; i ++; } } diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_literal_string.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_literal_string.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_literal_string.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_literal_string.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_local_goto.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_goto.c similarity index 87% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_local_goto.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_goto.c index 7143f574e29b67fbc1ae425722ac81ecbac0944b..18ceafe4d81e54118ac386239051e8e12a7b9969 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/gen_local_goto.c +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_goto.c @@ -5,8 +5,6 @@ char *__gen_e_acsl_literal_string; char *__gen_e_acsl_literal_string_3; char *__gen_e_acsl_literal_string_2; char *__gen_e_acsl_literal_string_4; -extern int __e_acsl_sound_verdict; - void __e_acsl_globals_init(void) { static char __e_acsl_already_run = 0; @@ -42,8 +40,7 @@ int main(int argc, char const **argv) int t = 0; UP: ; if (t == 2) { - __gen_e_acsl_printf_va_1(__gen_e_acsl_literal_string,t, - (char *)__gen_e_acsl_literal_string_2); + printf(__gen_e_acsl_literal_string,t,__gen_e_acsl_literal_string_2); goto RET; } AGAIN: @@ -61,8 +58,7 @@ int main(int argc, char const **argv) (char *)"\\valid(&a)",25); } if (t == 2) { - __gen_e_acsl_printf_va_2(__gen_e_acsl_literal_string,t, - (char *)__gen_e_acsl_literal_string_3); + printf(__gen_e_acsl_literal_string,t,__gen_e_acsl_literal_string_3); __e_acsl_delete_block((void *)(& a)); goto UP; } @@ -78,8 +74,7 @@ int main(int argc, char const **argv) __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Assertion", (char *)"main",(char *)"\\valid(&b)",36); } - __gen_e_acsl_printf_va_3(__gen_e_acsl_literal_string,t, - (char *)__gen_e_acsl_literal_string_4); + printf(__gen_e_acsl_literal_string,t,__gen_e_acsl_literal_string_4); __e_acsl_delete_block((void *)(& a)); __e_acsl_delete_block((void *)(& b)); goto AGAIN; diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_local_init.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_init.c similarity index 50% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_local_init.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_init.c index 74be6cc7f5ffd1acaaeaea6925404131181be632..2556be7d0248ecfe121130a372fa8be4fa7cbe03 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/gen_local_init.c +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_init.c @@ -5,14 +5,6 @@ int X = 0; int *p = & X; int f(void) { - /*@ assert Eva: mem_access: \valid_read(p); */ - { - 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(__gen_e_acsl_valid_read,(char *)"Assertion",(char *)"f", - (char *)"Eva: mem_access: \\valid_read(p)",12); - } int x = *p; return x; } @@ -22,8 +14,10 @@ void __e_acsl_globals_init(void) static char __e_acsl_already_run = 0; if (! __e_acsl_already_run) { __e_acsl_already_run = 1; - __e_acsl_store_block((void *)(& p),(size_t)4); + __e_acsl_store_block((void *)(& p),(size_t)8); __e_acsl_full_init((void *)(& p)); + __e_acsl_store_block((void *)(& X),(size_t)4); + __e_acsl_full_init((void *)(& X)); } return; } @@ -31,11 +25,12 @@ void __e_acsl_globals_init(void) int main(void) { int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)4); + __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); __e_acsl_globals_init(); f(); __retres = 0; __e_acsl_delete_block((void *)(& p)); + __e_acsl_delete_block((void *)(& X)); __e_acsl_memory_clean(); return __retres; } diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_localvar.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_var.c similarity index 97% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_localvar.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_var.c index 787629e84006dcab2b937755cb866c94ea8c489a..567bf6af14098fa88e2cddad5c728118b6a34066 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/gen_localvar.c +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_local_var.c @@ -26,7 +26,7 @@ struct list *add(struct list *l, int i) } else __gen_e_acsl_and = 0; __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion",(char *)"add", - (char *)"\\valid(new)",18); + (char *)"\\valid(new)",15); } __e_acsl_initialize((void *)(& new->element),sizeof(int)); new->element = i; diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_mainargs.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_mainargs.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_mainargs.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_mainargs.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_memalign.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_memalign.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_memalign.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_memalign.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_memsize.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_memsize.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_memsize.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_memsize.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_null.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_null.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_null.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_null.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_offset.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_offset.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_offset.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_offset.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_other_constants.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_other_constants.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_other_constants.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_other_constants.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_ptr.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ptr.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_ptr.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_ptr.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_ptr_init.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ptr_init.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_ptr_init.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_ptr_init.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_ranges_in_builtins.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_ranges_in_builtins.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_ranges_in_builtins.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_ranges_in_builtins.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_sizeof.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_sizeof.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_sizeof.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_sizeof.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_stdout.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_stdout.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_stdout.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_stdout.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_valid.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid.c similarity index 96% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_valid.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid.c index e2149de7ee4bc9c500966379ca412e91429c8211..26b8a81c4b8c33be94518b6af6c466bd69fbdb30 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/gen_valid.c +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid.c @@ -28,7 +28,7 @@ int *f(int *x) } else __gen_e_acsl_and = 0; __e_acsl_assert(! __gen_e_acsl_and,(char *)"Assertion",(char *)"f", - (char *)"!\\valid(y)",17); + (char *)"!\\valid(y)",13); } __e_acsl_full_init((void *)(& y)); y = x; @@ -38,7 +38,7 @@ int *f(int *x) __gen_e_acsl_valid_2 = __e_acsl_valid((void *)x,sizeof(int),(void *)x, (void *)(& x)); __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Assertion",(char *)"f", - (char *)"\\valid(x)",19); + (char *)"\\valid(x)",15); } __e_acsl_delete_block((void *)(& x)); __e_acsl_delete_block((void *)(& y)); @@ -80,14 +80,14 @@ void g(void) } else __gen_e_acsl_and = 0; __e_acsl_assert(__gen_e_acsl_and,(char *)"RTE",(char *)"g", - (char *)"mem_access: \\valid_read(p)",28); + (char *)"mem_access: \\valid_read(p)",24); __gen_e_acsl_valid = __e_acsl_valid((void *)*p,sizeof(int),(void *)*p, (void *)p); __gen_e_acsl_and_2 = __gen_e_acsl_valid; } else __gen_e_acsl_and_2 = 0; __e_acsl_assert(__gen_e_acsl_and_2,(char *)"Assertion",(char *)"g", - (char *)"\\valid(*p)",28); + (char *)"\\valid(*p)",24); } __e_acsl_delete_block((void *)(& p)); __e_acsl_delete_block((void *)(& u)); @@ -107,7 +107,7 @@ int *__gen_e_acsl_f(int *x) __gen_e_acsl_valid = __e_acsl_valid((void *)x,sizeof(int),(void *)x, (void *)(& x)); __e_acsl_assert(__gen_e_acsl_valid,(char *)"Precondition",(char *)"f", - (char *)"\\valid(x)",13); + (char *)"\\valid(x)",9); } __retres = f(x); { @@ -116,7 +116,7 @@ int *__gen_e_acsl_f(int *x) (void *)__retres, (void *)(& __retres)); __e_acsl_assert(__gen_e_acsl_valid_2,(char *)"Postcondition",(char *)"f", - (char *)"\\valid(\\result)",14); + (char *)"\\valid(\\result)",10); __e_acsl_delete_block((void *)(& x)); __e_acsl_delete_block((void *)(& __retres)); return __retres; @@ -190,7 +190,7 @@ int main(void) } else __gen_e_acsl_and_4 = 0; __e_acsl_assert(__gen_e_acsl_and_4,(char *)"Assertion",(char *)"main", - (char *)"!\\valid(a) && !\\valid(b) && !\\valid(X)",33); + (char *)"!\\valid(a) && !\\valid(b) && !\\valid(X)",29); } __e_acsl_full_init((void *)(& a)); a = (int *)malloc(sizeof(int)); @@ -232,7 +232,7 @@ int main(void) } else __gen_e_acsl_and_8 = 0; __e_acsl_assert(__gen_e_acsl_and_8,(char *)"Assertion",(char *)"main", - (char *)"\\valid(a) && !\\valid(b) && !\\valid(X)",35); + (char *)"\\valid(a) && !\\valid(b) && !\\valid(X)",31); } X = a; /*@ assert \valid(a) ∧ ¬\valid(b) ∧ \valid(X); */ @@ -273,7 +273,7 @@ int main(void) } else __gen_e_acsl_and_12 = 0; __e_acsl_assert(__gen_e_acsl_and_12,(char *)"Assertion",(char *)"main", - (char *)"\\valid(a) && !\\valid(b) && \\valid(X)",37); + (char *)"\\valid(a) && !\\valid(b) && \\valid(X)",33); } __e_acsl_full_init((void *)(& b)); b = __gen_e_acsl_f(& n); @@ -315,7 +315,7 @@ int main(void) } else __gen_e_acsl_and_16 = 0; __e_acsl_assert(__gen_e_acsl_and_16,(char *)"Assertion",(char *)"main", - (char *)"\\valid(a) && \\valid(b) && \\valid(X)",39); + (char *)"\\valid(a) && \\valid(b) && \\valid(X)",35); } X = b; /*@ assert \valid(a) ∧ \valid(b) ∧ \valid(X); */ @@ -356,7 +356,7 @@ int main(void) } else __gen_e_acsl_and_20 = 0; __e_acsl_assert(__gen_e_acsl_and_20,(char *)"Assertion",(char *)"main", - (char *)"\\valid(a) && \\valid(b) && \\valid(X)",41); + (char *)"\\valid(a) && \\valid(b) && \\valid(X)",37); } __e_acsl_full_init((void *)(& c)); c = & a; @@ -384,14 +384,14 @@ int main(void) } else __gen_e_acsl_and_21 = 0; __e_acsl_assert(__gen_e_acsl_and_21,(char *)"RTE",(char *)"main", - (char *)"mem_access: \\valid_read(c)",44); + (char *)"mem_access: \\valid_read(c)",40); __gen_e_acsl_valid_16 = __e_acsl_valid((void *)*c,sizeof(int), (void *)*c,(void *)c); __gen_e_acsl_and_22 = __gen_e_acsl_valid_16; } else __gen_e_acsl_and_22 = 0; __e_acsl_assert(__gen_e_acsl_and_22,(char *)"Assertion",(char *)"main", - (char *)"\\valid(*c)",44); + (char *)"\\valid(*c)",40); } /*@ assert \valid(*(*d)); */ { @@ -401,7 +401,7 @@ int main(void) __gen_e_acsl_valid_read_2 = __e_acsl_valid_read((void *)d,sizeof(int **), (void *)d,(void *)(& d)); __e_acsl_assert(__gen_e_acsl_valid_read_2,(char *)"RTE",(char *)"main", - (char *)"mem_access: \\valid_read(d)",45); + (char *)"mem_access: \\valid_read(d)",41); __gen_e_acsl_initialized_13 = __e_acsl_initialized((void *)*d, sizeof(int *)); if (__gen_e_acsl_initialized_13) { @@ -428,7 +428,7 @@ int main(void) } else __gen_e_acsl_and_23 = 0; __e_acsl_assert(__gen_e_acsl_and_23,(char *)"RTE",(char *)"main", - (char *)"mem_access: \\valid_read(d)",45); + (char *)"mem_access: \\valid_read(d)",41); __gen_e_acsl_valid_read_4 = __e_acsl_valid_read((void *)*d, sizeof(int *), (void *)*d,(void *)d); @@ -436,7 +436,7 @@ int main(void) } else __gen_e_acsl_and_24 = 0; __e_acsl_assert(__gen_e_acsl_and_24,(char *)"RTE",(char *)"main", - (char *)"mem_access: \\valid_read(*d)",45); + (char *)"mem_access: \\valid_read(*d)",41); __gen_e_acsl_initialized_16 = __e_acsl_initialized((void *)(& d), sizeof(int ***)); if (__gen_e_acsl_initialized_16) { @@ -449,14 +449,14 @@ int main(void) } else __gen_e_acsl_and_25 = 0; __e_acsl_assert(__gen_e_acsl_and_25,(char *)"RTE",(char *)"main", - (char *)"mem_access: \\valid_read(d)",45); + (char *)"mem_access: \\valid_read(d)",41); __gen_e_acsl_valid_17 = __e_acsl_valid((void *)*(*d),sizeof(int), (void *)*(*d),(void *)*d); __gen_e_acsl_and_26 = __gen_e_acsl_valid_17; } else __gen_e_acsl_and_26 = 0; __e_acsl_assert(__gen_e_acsl_and_26,(char *)"Assertion",(char *)"main", - (char *)"\\valid(*(*d))",45); + (char *)"\\valid(*(*d))",41); } free((void *)a); /*@ assert ¬\valid(a) ∧ \valid(b) ∧ \valid(X); */ @@ -498,7 +498,7 @@ int main(void) } else __gen_e_acsl_and_30 = 0; __e_acsl_assert(__gen_e_acsl_and_30,(char *)"Assertion",(char *)"main", - (char *)"!\\valid(a) && \\valid(b) && \\valid(X)",47); + (char *)"!\\valid(a) && \\valid(b) && \\valid(X)",43); } /*@ assert \valid(&Z); */ { @@ -506,7 +506,7 @@ int main(void) __gen_e_acsl_valid_21 = __e_acsl_valid((void *)(& Z),sizeof(int), (void *)(& Z),(void *)0); __e_acsl_assert(__gen_e_acsl_valid_21,(char *)"Assertion",(char *)"main", - (char *)"\\valid(&Z)",48); + (char *)"\\valid(&Z)",44); } g(); __retres = 0; diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_valid_alias.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid_alias.c similarity index 94% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_valid_alias.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid_alias.c index 240cfaf9d6fe6d0536c732bbf541b554ebb7c22c..e3bdcf3e194fdb170d6e962d167f34218ab0f080 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/gen_valid_alias.c +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid_alias.c @@ -40,7 +40,7 @@ int main(void) } else __gen_e_acsl_and_3 = 0; __e_acsl_assert(__gen_e_acsl_and_3,(char *)"Assertion",(char *)"main", - (char *)"!\\valid(a) && !\\valid(b)",10); + (char *)"!\\valid(a) && !\\valid(b)",9); } __e_acsl_full_init((void *)(& a)); a = (int *)malloc(sizeof(int)); @@ -78,7 +78,7 @@ int main(void) } else __gen_e_acsl_and_6 = 0; __e_acsl_assert(__gen_e_acsl_and_6,(char *)"Assertion",(char *)"main", - (char *)"\\valid(a) && \\valid(b)",14); + (char *)"\\valid(a) && \\valid(b)",13); } /*@ assert *b ≡ n; */ { @@ -94,9 +94,9 @@ int main(void) } else __gen_e_acsl_and_7 = 0; __e_acsl_assert(__gen_e_acsl_and_7,(char *)"RTE",(char *)"main", - (char *)"mem_access: \\valid_read(b)",15); + (char *)"mem_access: \\valid_read(b)",14); __e_acsl_assert(*b == n,(char *)"Assertion",(char *)"main", - (char *)"*b == n",15); + (char *)"*b == n",14); } free((void *)b); /*@ assert ¬\valid(a) ∧ ¬\valid(b); */ @@ -130,7 +130,7 @@ int main(void) } else __gen_e_acsl_and_10 = 0; __e_acsl_assert(__gen_e_acsl_and_10,(char *)"Assertion",(char *)"main", - (char *)"!\\valid(a) && !\\valid(b)",17); + (char *)"!\\valid(a) && !\\valid(b)",16); } __retres = 0; __e_acsl_delete_block((void *)(& b)); diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_valid_in_contract.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid_in_contract.c similarity index 98% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_valid_in_contract.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid_in_contract.c index a003b9a603b520f6ae3f70b57eab9076ec0481ed..6395c435c6c455b5481fa24062beb73f16574ee8 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/gen_valid_in_contract.c +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_valid_in_contract.c @@ -88,7 +88,7 @@ struct list *__gen_e_acsl_f(struct list *l) (void *)(& l->next), (void *)0); __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"f", - (char *)"mem_access: \\valid_read(&l->next)",18); + (char *)"mem_access: \\valid_read(&l->next)",17); __gen_e_acsl_valid_2 = __e_acsl_valid((void *)l->next, sizeof(struct list), (void *)l->next, @@ -110,13 +110,13 @@ struct list *__gen_e_acsl_f(struct list *l) if (! __gen_e_acsl_at) __gen_e_acsl_implies = 1; else __gen_e_acsl_implies = __retres == __gen_e_acsl_at_2; __e_acsl_assert(__gen_e_acsl_implies,(char *)"Postcondition",(char *)"f", - (char *)"\\old(l == \\null) ==> \\result == \\old(l)",16); + (char *)"\\old(l == \\null) ==> \\result == \\old(l)",15); if (! __gen_e_acsl_at_3) __gen_e_acsl_implies_2 = 1; else __gen_e_acsl_implies_2 = __retres == __gen_e_acsl_at_4; __e_acsl_assert(__gen_e_acsl_implies_2,(char *)"Postcondition", (char *)"f", (char *)"\\old(!\\valid{Here}(l) || !\\valid{Here}(l->next)) ==> \\result == \\old(l)", - 19); + 18); __e_acsl_delete_block((void *)(& l)); __e_acsl_delete_block((void *)(& __retres)); return __retres; diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/gen_vector.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_vector.c new file mode 100644 index 0000000000000000000000000000000000000000..eff00e76dd7c742a6409d3a95ef3c48ec880b7f4 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_vector.c @@ -0,0 +1,114 @@ +/* Generated by Frama-C */ +#include "stdio.h" +#include "stdlib.h" +int LAST; +int *new_inversed(int len, int *v) +{ + int i; + int *p; + __e_acsl_store_block((void *)(& p),(size_t)8); + /*@ assert + \valid(v) ∧ \offset(v) + len * sizeof(int) ≤ \block_length(v); + */ + { + int __gen_e_acsl_valid; + int __gen_e_acsl_and; + __e_acsl_store_block((void *)(& v),(size_t)8); + __gen_e_acsl_valid = __e_acsl_valid((void *)v,sizeof(int),(void *)v, + (void *)(& v)); + if (__gen_e_acsl_valid) { + unsigned long __gen_e_acsl_offset; + __e_acsl_mpz_t __gen_e_acsl_offset_2; + __e_acsl_mpz_t __gen_e_acsl_; + __e_acsl_mpz_t __gen_e_acsl_add; + unsigned long __gen_e_acsl_block_length; + __e_acsl_mpz_t __gen_e_acsl_block_length_2; + int __gen_e_acsl_le; + __gen_e_acsl_offset = __e_acsl_offset((void *)v); + __gmpz_init_set_ui(__gen_e_acsl_offset_2,__gen_e_acsl_offset); + __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_)); + __gen_e_acsl_block_length = __e_acsl_block_length((void *)v); + __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)); + __gen_e_acsl_and = __gen_e_acsl_le <= 0; + __gmpz_clear(__gen_e_acsl_offset_2); + __gmpz_clear(__gen_e_acsl_); + __gmpz_clear(__gen_e_acsl_add); + __gmpz_clear(__gen_e_acsl_block_length_2); + } + else __gen_e_acsl_and = 0; + __e_acsl_assert(__gen_e_acsl_and,(char *)"Assertion", + (char *)"new_inversed", + (char *)"\\valid(v) && \\offset(v) + len * sizeof(int) <= \\block_length(v)", + 11); + } + __e_acsl_full_init((void *)(& p)); + p = (int *)malloc(sizeof(int) * (unsigned long)len); + i = 0; + while (i < len) { + __e_acsl_initialize((void *)(p + i),sizeof(int)); + *(p + i) = *(v + ((len - i) - 1)); + i ++; + } + __e_acsl_delete_block((void *)(& v)); + __e_acsl_delete_block((void *)(& p)); + return p; +} + +int main(void) +{ + int __retres; + int *v2; + __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); + __e_acsl_store_block((void *)(& v2),(size_t)8); + int x = 3; + int v1[3] = {1, 2, x}; + __e_acsl_store_block((void *)(v1),(size_t)12); + __e_acsl_full_init((void *)(& v1)); + /*@ assert \valid(&v1[2]); */ + { + int __gen_e_acsl_valid; + __gen_e_acsl_valid = __e_acsl_valid((void *)(& v1[2]),sizeof(int), + (void *)(& v1[2]),(void *)0); + __e_acsl_assert(__gen_e_acsl_valid,(char *)"Assertion",(char *)"main", + (char *)"\\valid(&v1[2])",21); + } + LAST = v1[2]; + /*@ assert \initialized(&v1[2]); */ + { + int __gen_e_acsl_initialized; + __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& v1[2]), + sizeof(int)); + __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion", + (char *)"main",(char *)"\\initialized(&v1[2])",23); + } + __e_acsl_full_init((void *)(& v2)); + v2 = new_inversed(3,v1); + /*@ assert Eva: initialization: \initialized(v2 + 2); */ + LAST = *(v2 + 2); + /*@ assert \initialized(v2 + 2); */ + { + int __gen_e_acsl_initialized_2; + __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(v2 + 2), + sizeof(int)); + __e_acsl_assert(__gen_e_acsl_initialized_2,(char *)"Assertion", + (char *)"main",(char *)"\\initialized(v2 + 2)",26); + } + /*@ assert LAST ≡ 1; */ + __e_acsl_assert(LAST == 1,(char *)"Assertion",(char *)"main", + (char *)"LAST == 1",27); + free((void *)v2); + __retres = 0; + __e_acsl_delete_block((void *)(& v2)); + __e_acsl_delete_block((void *)(v1)); + __e_acsl_memory_clean(); + return __retres; +} + + diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_vla.c b/src/plugins/e-acsl/tests/memory/oracle_ci/gen_vla.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/gen_vla.c rename to src/plugins/e-acsl/tests/memory/oracle_ci/gen_vla.c diff --git a/src/plugins/e-acsl/tests/runtime/oracle/localvar.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/goto.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/localvar.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/goto.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/hidden_malloc.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/hidden_malloc.res.oracle similarity index 60% rename from src/plugins/e-acsl/tests/runtime/oracle/hidden_malloc.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/hidden_malloc.res.oracle index f4cfabb6990983d8cd7c939d73910391343c4a89..c136f7aec42d0af2d20d219eb393b8605ff89ec2 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/hidden_malloc.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/hidden_malloc.res.oracle @@ -1,9 +1,9 @@ -[kernel:typing:implicit-function-declaration] tests/runtime/hidden_malloc.c:11: Warning: +[kernel:typing:implicit-function-declaration] tests/memory/hidden_malloc.c:11: Warning: Calling undeclared function realpath. Old style K&R code? [e-acsl] beginning translation. -[kernel:annot:missing-spec] tests/runtime/hidden_malloc.c:11: Warning: +[kernel:annot:missing-spec] tests/memory/hidden_malloc.c:11: Warning: Neither code nor specification for function realpath, generating default assigns from the prototype [e-acsl] translation done in project "e-acsl". -[eva:invalid-assigns] tests/runtime/hidden_malloc.c:11: +[eva:invalid-assigns] tests/memory/hidden_malloc.c:11: Completely invalid destination for assigns clause *((char *)x_1 + (0 ..)). Ignoring. diff --git a/src/plugins/e-acsl/tests/runtime/oracle/null.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/init.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/null.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/init.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/offset.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/init_function.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/offset.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/init_function.res.oracle diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/initialized.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/initialized.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..2a7b78f4dd4b3adebdb12137fccc10171f974f8f --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/initialized.res.oracle @@ -0,0 +1,7 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/memory/initialized.c:84: Warning: + assertion got status unknown. +[eva:alarm] tests/memory/initialized.c:84: Warning: + accessing left-value that contains escaping addresses. + assert ¬\dangling(&p); diff --git a/src/plugins/e-acsl/tests/runtime/oracle/other_constants.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/literal_string.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/other_constants.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/literal_string.res.oracle diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/local_goto.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/local_goto.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9811cdbf49f1324c0f4cffd3aed7d450deac04cb --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/local_goto.res.oracle @@ -0,0 +1,4 @@ +[e-acsl] beginning translation. +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdio.h:169: Warning: + Neither code nor specification for function printf, generating default assigns from the prototype +[e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/local_init.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/local_init.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e5104fb7e863db59eeb9c0c2a6e355a0e5b6a167 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/local_init.res.oracle @@ -0,0 +1,4 @@ +[eva:alarm] tests/memory/local_init.c:11: Warning: + out of bounds read. assert \valid_read(p); +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/runtime/oracle/ptr_init.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/local_var.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/ptr_init.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/local_var.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/mainargs.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/mainargs.res.oracle similarity index 60% rename from src/plugins/e-acsl/tests/runtime/oracle/mainargs.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/mainargs.res.oracle index bb9147c4b0e9addaee53ab74367d4c34a7e0a0a4..9eb9554ffef0f06f41d3400d0b0fd721a00bc77a 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/mainargs.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/mainargs.res.oracle @@ -13,32 +13,31 @@ is not yet supported. Ignoring annotation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/mainargs.c:12: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/mainargs.c:12: Warning: +[eva:alarm] tests/memory/mainargs.c:12: Warning: assertion got status unknown. +[eva:alarm] tests/memory/mainargs.c:12: Warning: function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/mainargs.c:13: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/mainargs.c:13: Warning: +[eva:alarm] tests/memory/mainargs.c:13: Warning: assertion got status unknown. +[eva:alarm] tests/memory/mainargs.c:13: Warning: function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/mainargs.c:15: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/mainargs.c:15: Warning: +[eva:alarm] tests/memory/mainargs.c:15: Warning: assertion got status unknown. +[eva:alarm] tests/memory/mainargs.c:15: Warning: function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/mainargs.c:15: Warning: +[eva:alarm] tests/memory/mainargs.c:15: Warning: out of bounds read. assert \valid_read(argv + argc); -[eva:alarm] tests/runtime/mainargs.c:16: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/mainargs.c:16: Warning: +[eva:alarm] tests/memory/mainargs.c:16: Warning: assertion got status unknown. +[eva:alarm] tests/memory/mainargs.c:16: Warning: function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/mainargs.c:16: Warning: +[eva:alarm] tests/memory/mainargs.c:16: Warning: out of bounds read. assert \valid_read(argv + argc); -[eva:alarm] tests/runtime/mainargs.c:16: Warning: +[eva:alarm] tests/memory/mainargs.c:16: Warning: function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/mainargs.c:18: Warning: +[eva:alarm] tests/memory/mainargs.c:18: Warning: function __gen_e_acsl_strlen: precondition 'valid_string_s' got status unknown. [eva:alarm] FRAMAC_SHARE/libc/string.h:125: Warning: function strlen: precondition 'valid_string_s' got status unknown. [eva:alarm] FRAMAC_SHARE/libc/string.h:127: Warning: function __gen_e_acsl_strlen: postcondition 'acsl_c_equiv' got status unknown. -[eva:alarm] tests/runtime/mainargs.c:19: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/mainargs.c:20: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/mainargs.c:20: Warning: +[eva:alarm] tests/memory/mainargs.c:19: Warning: assertion got status unknown. +[eva:alarm] tests/memory/mainargs.c:20: Warning: assertion got status unknown. +[eva:alarm] tests/memory/mainargs.c:20: Warning: function __e_acsl_assert: precondition got status unknown. -[scope:rm_asserts] removing 1 assertion(s) diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/memalign.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/memalign.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..674eddac861dff410a723d4a8016853a5ce17ca5 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/memalign.res.oracle @@ -0,0 +1,4 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/memory/memalign.c:14: Warning: + accessing uninitialized left-value. assert \initialized(memptr); diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/memsize.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/memsize.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..fa55190b709b62274337a74a41e71d53d610d76e --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/memsize.res.oracle @@ -0,0 +1,5 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/memory/memsize.c:14: Warning: assertion got status unknown. +[eva:alarm] tests/memory/memsize.c:16: Warning: + assertion got status invalid (stopping propagation). diff --git a/src/plugins/e-acsl/tests/runtime/oracle/sizeof.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/null.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/sizeof.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/null.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/valid_in_contract.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/offset.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/runtime/oracle/valid_in_contract.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/offset.res.oracle diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_addr-by-val.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/other_constants.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/t_addr-by-val.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/other_constants.res.oracle diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/ptr.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/ptr.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3e740b14f9a10f31564924427327d86fcde5839e --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/ptr.res.oracle @@ -0,0 +1,11 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/memory/ptr.i:17: Warning: assertion got status unknown. +[eva:alarm] tests/memory/ptr.i:17: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/memory/ptr.i:18: Warning: assertion got status unknown. +[eva:alarm] tests/memory/ptr.i:18: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/memory/ptr.i:19: Warning: assertion got status unknown. +[eva:alarm] tests/memory/ptr.i:19: Warning: + function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_args.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/ptr_init.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/t_args.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/ptr_init.res.oracle diff --git a/src/plugins/e-acsl/tests/runtime/oracle/ranges_in_builtins.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/ranges_in_builtins.res.oracle similarity index 53% rename from src/plugins/e-acsl/tests/runtime/oracle/ranges_in_builtins.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/ranges_in_builtins.res.oracle index 465b591b22527e94c1e2353681ba04c781924dfb..a6b067c83c9b1f9067ea56155bc55976e2060ea8 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/ranges_in_builtins.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/ranges_in_builtins.res.oracle @@ -1,10 +1,8 @@ [e-acsl] beginning translation. -[e-acsl] tests/runtime/ranges_in_builtins.c:64: Warning: +[e-acsl] tests/memory/ranges_in_builtins.c:64: Warning: E-ACSL construct `arithmetic over set of pointers or arrays' is not yet supported. Ignoring annotation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/ranges_in_builtins.c:19: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/ranges_in_builtins.c:21: Warning: +[eva:alarm] tests/memory/ranges_in_builtins.c:21: Warning: assertion got status invalid (stopping propagation). diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_array.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/sizeof.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/t_array.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/sizeof.res.oracle diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/stdout.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/stdout.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..1dd58d9e80a90a6f03c81e9c316feeb7f88fb00d --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/stdout.res.oracle @@ -0,0 +1,5 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/memory/stdout.c:8: Warning: assertion got status unknown. +[eva:alarm] tests/memory/stdout.c:9: Warning: assertion got status unknown. +[eva:alarm] tests/memory/stdout.c:10: Warning: assertion got status unknown. diff --git a/src/plugins/e-acsl/tests/runtime/oracle/valid.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/valid.res.oracle similarity index 77% rename from src/plugins/e-acsl/tests/runtime/oracle/valid.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/valid.res.oracle index 64c906c2a8179bfce839b4ab20491a2820609fa1..10d60024c84446247288b53d197b4897a6a119ad 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/valid.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/valid.res.oracle @@ -1,5 +1,5 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/valid.c:47: Warning: +[eva:alarm] tests/memory/valid.c:43: Warning: accessing left-value that contains escaping addresses. assert ¬\dangling(&a); diff --git a/src/plugins/e-acsl/tests/runtime/oracle/valid_alias.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/valid_alias.res.oracle similarity index 75% rename from src/plugins/e-acsl/tests/runtime/oracle/valid_alias.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/valid_alias.res.oracle index eb7dbcce9ea36cd59e4a476f5da95c0f78ac783c..6fdc0e52c0e715a6d514e6ccd33a5307a271136b 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/valid_alias.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/valid_alias.res.oracle @@ -1,5 +1,5 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/valid_alias.c:17: Warning: +[eva:alarm] tests/memory/valid_alias.c:16: Warning: accessing left-value that contains escaping addresses. assert ¬\dangling(&a); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_char.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/valid_in_contract.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/t_char.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/valid_in_contract.res.oracle diff --git a/src/plugins/e-acsl/tests/memory/oracle_ci/vector.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/vector.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f511ea7c1174ae837459d1973c98a525649527c2 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/vector.res.oracle @@ -0,0 +1,7 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/memory/vector.c:11: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/memory/vector.c:25: Warning: + accessing uninitialized left-value. assert \initialized(v2 + 2); +[eva:alarm] tests/memory/vector.c:27: Warning: assertion got status unknown. diff --git a/src/plugins/e-acsl/tests/runtime/oracle/vla.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_ci/vla.res.oracle similarity index 68% rename from src/plugins/e-acsl/tests/runtime/oracle/vla.res.oracle rename to src/plugins/e-acsl/tests/memory/oracle_ci/vla.res.oracle index 2fb5e519e75a36fc2186e535355e5075b309325a..50d32fb5962e6100f4dd17fd0041edf6b524f1dd 100644 --- a/src/plugins/e-acsl/tests/runtime/oracle/vla.res.oracle +++ b/src/plugins/e-acsl/tests/memory/oracle_ci/vla.res.oracle @@ -1,6 +1,6 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/vla.c:8: Warning: +[eva:alarm] tests/memory/vla.c:8: Warning: function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/vla.c:12: Warning: +[eva:alarm] tests/memory/vla.c:12: Warning: assertion got status invalid (stopping propagation). diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/addrOf.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/addrOf.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..431070f4cd2c23a54e002e700cf5e3b38de5ee9b --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/addrOf.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/addrOf.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/alias.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/alias.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..76570c39a1839f0a05c5bb260d0478f294dfc87d --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/alias.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/alias.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/base_addr.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/base_addr.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..fe96bbc669e4065fbba7c900a12576e99798f01f --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/base_addr.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/base_addr.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/block_length.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/block_length.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9a8b757a2a064fbd610f0f38dcc832bf08a72d7e --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/block_length.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/block_length.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/block_valid.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/block_valid.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..1b45bb1e9d4e0c412975f7f584a3f5f41190bf4f --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/block_valid.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/block_valid.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/bypassed_var.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/bypassed_var.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..bc2fc3b1336d2d4591be415e6e62bd22371b58ef --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/bypassed_var.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/bypassed_var.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/call.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/call.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..5809c1481efc478b1ae9179ce5afbc4336029d2b --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/call.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/call.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/compound_initializers.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/compound_initializers.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..fdb2f2e29f43957563faa4c8433c28ca551a71cd --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/compound_initializers.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/compound_initializers.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/constructor.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/constructor.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..fb272a3c444be10982f0bbcd669f61999550fd56 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/constructor.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/constructor.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/ctype_macros.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/ctype_macros.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..106c9f6f4a7d36a2dced986139176c3d82abc26a --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/ctype_macros.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/ctype_macros.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/early_exit.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/early_exit.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..165982a9f80f193617a7400635a8ac6442cbe4d7 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/early_exit.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/early_exit.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/errno.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/errno.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..46094a4bbe226c576a8f95aee14ba27b5dfe70bf --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/errno.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/errno.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/freeable.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/freeable.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b995f5e2ce349ed69711ca6030bd3cec2977eefd --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/freeable.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/freeable.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/goto.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/goto.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..7f32099663f3add488d205bbd2f791e3e39a9b34 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/goto.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/goto.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/hidden_malloc.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/hidden_malloc.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..dd729b732a8d3be776ffe1a2e51c33aca9dc63c3 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/hidden_malloc.res.oracle @@ -0,0 +1,3 @@ +[kernel] Parsing tests/memory/hidden_malloc.c (with preprocessing) +[kernel:typing:implicit-function-declaration] tests/memory/hidden_malloc.c:11: Warning: + Calling undeclared function realpath. Old style K&R code? diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/init.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/init.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..cd480f356c1cfca1517bff6ce0d69645e293b149 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/init.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/init.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/init_function.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/init_function.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..bd7713301eb0c15cb7f54248e38c2a8cff586b8f --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/init_function.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/init_function.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/initialized.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/initialized.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ec68705fe630ce62dd5a9b90bf9c2e039d45e2cb --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/initialized.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/initialized.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/literal_string.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/literal_string.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..adabc66ff0a7eea47c5f7efafdcfb92cfa00f744 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/literal_string.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/literal_string.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/local_goto.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/local_goto.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b8fcb3470dbfcb8da050df6fa58387387fe69b0d --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/local_goto.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/local_goto.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/local_init.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/local_init.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..460acb5fa597139c788b65a53882d3224f769e9d --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/local_init.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/local_init.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/local_var.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/local_var.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..3743a714794545c5ef62287213e81fef3ffa0e4b --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/local_var.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/local_var.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/mainargs.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/mainargs.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..36343fa0223fdbb51d13cac0fdb58f44c333a609 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/mainargs.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/mainargs.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/memalign.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/memalign.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..5b0314a0e239de01f82fde92d898059b25fa62f5 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/memalign.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/memalign.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/memsize.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/memsize.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..e6f6288929b8f85163da1241f838185526930c70 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/memsize.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/memsize.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/null.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/null.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..5a854c58c96a09f37219080a6c6cb8129f640230 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/null.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/null.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/offset.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/offset.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9a18d848004451c94fd0b42a86ac95ecc99ddf61 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/offset.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/offset.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/other_constants.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/other_constants.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b56718829921013ea3f8f5fc73a2f19c8496796b --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/other_constants.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/other_constants.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/ptr.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/ptr.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..fcdcd5edd933540db9cfee10d831693420f086bf --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/ptr.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/ptr.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/ptr_init.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/ptr_init.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0b2ed5a9fc3516dbce7cc694cfdcaf45e0a8ed9a --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/ptr_init.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/ptr_init.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/ranges_in_builtins.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/ranges_in_builtins.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..15a2210f13df3c32991408613e0b5ebb2091b79f --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/ranges_in_builtins.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/ranges_in_builtins.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/sizeof.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/sizeof.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..45453873f24881a5367652c3ec53912d1685ea36 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/sizeof.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/sizeof.i (no preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/stdout.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/stdout.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b54acaedc8843427148c51bb6a1c7a8aebee30b7 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/stdout.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/stdout.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/valid.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/valid.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..c325574714e3a2da8ca342144e3088da774e8e2b --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/valid.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/valid.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/valid_alias.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/valid_alias.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..767b46d932fa96248caba8ceeedf72cd7bd2356c --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/valid_alias.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/valid_alias.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/valid_in_contract.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/valid_in_contract.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..45dec02aac951fda0a503a2edf6a9011ef36bc1a --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/valid_in_contract.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/valid_in_contract.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/vector.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/vector.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..296f399f3c8f267c128d2a151780ed432257574f --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/vector.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/vector.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/memory/oracle_dev/vla.res.oracle b/src/plugins/e-acsl/tests/memory/oracle_dev/vla.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..cfa640a9f3642c03e9400b7012a5e580ef2f39e3 --- /dev/null +++ b/src/plugins/e-acsl/tests/memory/oracle_dev/vla.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/memory/vla.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/runtime/other_constants.i b/src/plugins/e-acsl/tests/memory/other_constants.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/other_constants.i rename to src/plugins/e-acsl/tests/memory/other_constants.i diff --git a/src/plugins/e-acsl/tests/runtime/ptr.i b/src/plugins/e-acsl/tests/memory/ptr.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/ptr.i rename to src/plugins/e-acsl/tests/memory/ptr.i diff --git a/src/plugins/e-acsl/tests/runtime/ptr_init.c b/src/plugins/e-acsl/tests/memory/ptr_init.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/ptr_init.c rename to src/plugins/e-acsl/tests/memory/ptr_init.c diff --git a/src/plugins/e-acsl/tests/runtime/ranges_in_builtins.c b/src/plugins/e-acsl/tests/memory/ranges_in_builtins.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/ranges_in_builtins.c rename to src/plugins/e-acsl/tests/memory/ranges_in_builtins.c diff --git a/src/plugins/e-acsl/tests/runtime/sizeof.i b/src/plugins/e-acsl/tests/memory/sizeof.i similarity index 100% rename from src/plugins/e-acsl/tests/runtime/sizeof.i rename to src/plugins/e-acsl/tests/memory/sizeof.i diff --git a/src/plugins/e-acsl/tests/runtime/stdout.c b/src/plugins/e-acsl/tests/memory/stdout.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/stdout.c rename to src/plugins/e-acsl/tests/memory/stdout.c diff --git a/src/plugins/e-acsl/tests/runtime/valid.c b/src/plugins/e-acsl/tests/memory/valid.c similarity index 89% rename from src/plugins/e-acsl/tests/runtime/valid.c rename to src/plugins/e-acsl/tests/memory/valid.c index aa2f4de1d73cf88aea8c3aadd537932d521edba4..9d48defa0489f8e15e856dcfe425108282545090 100644 --- a/src/plugins/e-acsl/tests/runtime/valid.c +++ b/src/plugins/e-acsl/tests/memory/valid.c @@ -1,13 +1,9 @@ /* run.config COMMENT: \valid - STDOPT: +"-no-val-alloc-returns-null" */ #include "stdlib.h" -extern void *malloc(size_t p); -extern void free(void* p); - int *X, Z; /*@ requires \valid(x); diff --git a/src/plugins/e-acsl/tests/runtime/valid_alias.c b/src/plugins/e-acsl/tests/memory/valid_alias.c similarity index 89% rename from src/plugins/e-acsl/tests/runtime/valid_alias.c rename to src/plugins/e-acsl/tests/memory/valid_alias.c index 78808ce281608aaee11b2f66a089923af3a32e68..8ec383b38de98745681ce6df2fc173cb2b615ae9 100644 --- a/src/plugins/e-acsl/tests/runtime/valid_alias.c +++ b/src/plugins/e-acsl/tests/memory/valid_alias.c @@ -1,6 +1,5 @@ /* run.config COMMENT: \valid in presence of aliasing - STDOPT: +"-no-val-alloc-returns-null" */ #include "stdlib.h" diff --git a/src/plugins/e-acsl/tests/runtime/valid_in_contract.c b/src/plugins/e-acsl/tests/memory/valid_in_contract.c similarity index 97% rename from src/plugins/e-acsl/tests/runtime/valid_in_contract.c rename to src/plugins/e-acsl/tests/memory/valid_in_contract.c index c5746dae3bb91b08b495cb7b7c382239342f668e..ed7db447fc4a4978bd1872808f3c086ffe413b63 100644 --- a/src/plugins/e-acsl/tests/runtime/valid_in_contract.c +++ b/src/plugins/e-acsl/tests/memory/valid_in_contract.c @@ -1,6 +1,5 @@ /* run.config COMMENT: function contract involving \valid - STDOPT: */ #include <stdlib.h> diff --git a/src/plugins/e-acsl/tests/runtime/vector.c b/src/plugins/e-acsl/tests/memory/vector.c similarity index 76% rename from src/plugins/e-acsl/tests/runtime/vector.c rename to src/plugins/e-acsl/tests/memory/vector.c index 0f144381f620f464aa9118db75821deee2807966..bda4a716fef8c3aa2639da29bb3198421cb4289e 100644 --- a/src/plugins/e-acsl/tests/runtime/vector.c +++ b/src/plugins/e-acsl/tests/memory/vector.c @@ -1,6 +1,5 @@ /* run.config COMMENT: function call + initialized - STDOPT: +"-no-val-alloc-returns-null" */ #include<stdlib.h> @@ -9,7 +8,7 @@ int LAST; int* new_inversed(int len, int *v) { int i, *p; - // @ assert \valid(v) && \offset(v)+len*sizeof(int) <= \block_length(v); + //@ assert \valid(v) && \offset(v)+len*sizeof(int) <= \block_length(v); p = malloc(sizeof(int)*len); for(i=0; i<len; i++) p[i] = v[len-i-1]; @@ -19,7 +18,7 @@ int* new_inversed(int len, int *v) { int main(void) { int x = 3; int v1[3]= { 1, 2, x }, *v2; - // @ assert \valid(&v1[2]); + //@ assert \valid(&v1[2]); LAST = v1[2]; //@ assert \initialized(v1+2); v2 = new_inversed(3, v1); diff --git a/src/plugins/e-acsl/tests/runtime/vla.c b/src/plugins/e-acsl/tests/memory/vla.c similarity index 100% rename from src/plugins/e-acsl/tests/runtime/vla.c rename to src/plugins/e-acsl/tests/memory/vla.c diff --git a/src/plugins/e-acsl/tests/no-main/empty.i b/src/plugins/e-acsl/tests/no-main/empty.i deleted file mode 100644 index dac88947f19f927d43733f00a084ab034ddc04f3..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/no-main/empty.i +++ /dev/null @@ -1,3 +0,0 @@ -/* run.config - COMMENT: empty file -*/ diff --git a/src/plugins/e-acsl/tests/no-main/oracle/empty.res.oracle b/src/plugins/e-acsl/tests/no-main/oracle/empty.res.oracle deleted file mode 100644 index cef939ec839e0be6c5e4b2e923b0bf25c88fec3e..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/no-main/oracle/empty.res.oracle +++ /dev/null @@ -1,9 +0,0 @@ -[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp_api.h (with preprocessing) -[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl.h (with preprocessing) -[kernel] Parsing tests/no-main/empty.i (no preprocessing) -[e-acsl] beginning translation. -[e-acsl] Warning: cannot find entry point `main'. - Please use option `-main' for specifying a valid entry point. - The generated program may miss memory instrumentation - if there are memory-related annotations. -[e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/no-main/result/.gitkeep b/src/plugins/e-acsl/tests/no-main/result/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/plugins/e-acsl/tests/no-main/test_config b/src/plugins/e-acsl/tests/no-main/test_config deleted file mode 100644 index 954e02ce5fb8a367dee5f4a74833ea97955d5fd7..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/no-main/test_config +++ /dev/null @@ -1 +0,0 @@ -OPT: -e-acsl-check -check -e-acsl diff --git a/src/plugins/e-acsl/tests/reject/function_declaration.i b/src/plugins/e-acsl/tests/reject/function_declaration.i deleted file mode 100644 index 52b84515f23d100b289470c28d39548e832fea6e..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/reject/function_declaration.i +++ /dev/null @@ -1,16 +0,0 @@ -/* run.config - DONTRUN: - COMMENT: function declaration with a contract - COMMENT: does not work, but yet for a bad reason - COMMENT: (assigns \nothing generated and not yet supported) -*/ - -int X = 0; - -/*@ requires X == 0; */ -void f(void); - -int main(void) { - f(); - return 0; -} diff --git a/src/plugins/e-acsl/tests/reject/oracle/function_declaration.err.oracle b/src/plugins/e-acsl/tests/reject/oracle/function_declaration.err.oracle deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/plugins/e-acsl/tests/reject/oracle/function_declaration.res.oracle b/src/plugins/e-acsl/tests/reject/oracle/function_declaration.res.oracle deleted file mode 100644 index 7430ba81f307d979899a7f49038ca1c37e148ffc..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/reject/oracle/function_declaration.res.oracle +++ /dev/null @@ -1,142 +0,0 @@ -tests/reject/function_declaration.i:7:[kernel] failure: You used visitCilFileSameGlobals but the global got changed: - int X = 0; - - changed to - /*************/ - /* GMP types */ - /*************/ - - typedef struct { - int _mp_alloc; - int _mp_size; - unsigned long int *_mp_d; - } __mpz_struct; - - typedef __mpz_struct mpz_t[1]; - - /*****************/ - /* GMP functions */ - /*****************/ - - // initilializers - - /*@ ensures \valid(x); - @ assigns *x; */ - extern void mpz_init(mpz_t x); - - /*@ ensures \valid(z); - @ assigns *z; */ - extern void mpz_init_set_ui(mpz_t z, unsigned long int n); - - /*@ ensures \valid(z); - @ assigns *z; */ - extern void mpz_init_set_si(mpz_t z, signed long int n); - - /*@ ensures \valid(z); - @ assigns *z; */ - extern int mpz_init_set_str(mpz_t z, const char *str, int base); - - // finalizer - - /*@ requires \valid(x); - @ assigns *x; */ - extern void mpz_clear(mpz_t x); - - // logical and arithmetic operators - - /*@ requires \valid(z1); - @ requires \valid(z2); - @ assigns \nothing; */ - extern int mpz_cmp(const mpz_t z1, const mpz_t z2); - - /*@ requires \valid(z1); - @ requires \valid(z2); - @ assigns *z1; */ - extern int mpz_comp(mpz_t z1, const mpz_t z2); - - /*@ requires \valid(z1); - @ requires \valid(z2); - @ assigns *z1; */ - extern void mpz_neg(mpz_t z1, const mpz_t z2); - - /*@ requires \valid(z1); - @ requires \valid(z2); - @ requires \valid(z3); - @ assigns *z1; */ - extern void mpz_add(mpz_t z1, const mpz_t z2, const mpz_t z3); - - /*@ requires \valid(z1); - @ requires \valid(z2); - @ requires \valid(z3); - @ assigns *z1; */ - extern void mpz_sub(mpz_t z1, const mpz_t z2, const mpz_t z3); - - /*@ requires \valid(z1); - @ requires \valid(z2); - @ requires \valid(z3); - @ assigns *z1; */ - extern void mpz_mul(mpz_t z1, const mpz_t z2, const mpz_t z3); - - /*@ requires \valid(z1); - @ requires \valid(z2); - @ requires \valid(z3); - @ assigns *z1; */ - extern void mpz_cdiv_q(mpz_t z1, const mpz_t z2, const mpz_t z3); - - /*@ requires \valid(z1); - @ requires \valid(z2); - @ requires \valid(z3); - @ assigns *z1; */ - extern void mpz_mod(mpz_t z1, const mpz_t z2, const mpz_t z3); - // TODO: remplacer par un e_acsl.h.in - // faire générer par le makefile un e_acsl.h - // avec des #include "FRAMAC_SHARE/libc/stdio.h", etc - - // [TODO] ne pas générer les typedef si on veut linker avec GMP derrière - - // [TODO] utiliser un champ modèle de type integer pour modéliser - // l'entier exact correspondant à un mpz_t. - // Not yet implemented in ACSL. - - /************************/ - /* Standard C functions */ - /************************/ - - /*@ terminates \false; - @ assigns \nothing; - @ ensures \false; */ - extern void exit(int status); - - /*@ assigns \nothing; */ - extern int printf(const char *, ...); - - /*****************************/ - /* Dedicated E-ACSL function */ - /*****************************/ - - void e_acsl_fail(char *msg) { printf("%s\n", msg); exit(1); } - - - int X = 0; -[kernel] The full backtrace is: - Raised at file "src/kernel/log.ml", line 509, characters 30-31 - Called from file "src/kernel/log.ml", line 503, characters 2-9 - Re-raised at file "src/kernel/log.ml", line 506, characters 8-9 - Called from file "list.ml", line 69, characters 12-15 - Called from file "cil/src/cil.ml", line 7969, characters 3-30 - Called from file "cil/src/cil.ml", line 8013, characters 2-368 - Called from file "cil/src/cil.ml", line 6380, characters 21-41 - Called from file "cil/src/cil.ml", line 8044, characters 7-84 - Called from file "src/kernel/visitor.ml", line 299, characters 2-45 - Called from file "src/type/type.ml", line 600, characters 39-44 - Called from file "queue.ml", line 134, characters 6-20 - Called from file "src/kernel/boot.ml", line 36, characters 4-20 - Called from file "src/kernel/cmdline.ml", line 723, characters 2-9 - Called from file "src/kernel/cmdline.ml", line 200, characters 4-8 - - Frama-C aborted because of internal error. - Please report as 'crash' at http://bts.frama-c.com/. - Your Frama-C version is Carbon-20110201+dev. - Note that a version and a backtrace alone often does not have information - to understand the bug. Guidelines for reporting bugs are at: - http://bts.frama-c.com/dokuwiki/doku.php?id=mantis:frama-c:bug_reporting_guidelines diff --git a/src/plugins/e-acsl/tests/reject/oracle/quantif.res.oracle b/src/plugins/e-acsl/tests/reject/oracle/quantif.res.oracle deleted file mode 100644 index e0703e776a66e28fbee7b7c98dbb958955fdb197..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/reject/oracle/quantif.res.oracle +++ /dev/null @@ -1,48 +0,0 @@ -[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp_api.h (with preprocessing) -[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl.h (with preprocessing) -[kernel] Parsing tests/reject/quantif.i (no preprocessing) -[e-acsl] tests/reject/quantif.i:6: Warning: - E-ACSL construct `unguarded \forall quantification' is not yet supported. - Ignoring annotation. -[e-acsl] tests/reject/quantif.i:7: Warning: - invalid E-ACSL construct - `invalid guard x ≡ 1 in quantification ∀ ℤ x; x ≡ 1 ⇒ x ≥ 0'. - Ignoring annotation. -[e-acsl] tests/reject/quantif.i:8: Warning: - invalid E-ACSL construct - `missing upper-bound for variable x in quantification ∀ int x; 0 ≤ x ⇒ x ≥ 0'. - Ignoring annotation. -[e-acsl] tests/reject/quantif.i:9: Warning: - invalid E-ACSL construct - `non integer variable x in quantification ∀ float x; 0 ≤ x ≤ 3 ⇒ x ≥ 0'. - Ignoring annotation. -[e-acsl] tests/reject/quantif.i:10: Warning: - invalid E-ACSL construct - `unguarded variable y in quantification - ∀ ℤ x, ℤ y; 0 ≤ x ≤ 3 ⇒ x ≥ 0'. - Ignoring annotation. -[e-acsl] tests/reject/quantif.i:11: Warning: - invalid E-ACSL construct - `too much constraint(s) in quantification ∀ ℤ x; 0 ≤ x ≤ 3 ∧ 0 ≤ z ≤ 3 ⇒ x ≥ 0'. - Ignoring annotation. -[e-acsl] tests/reject/quantif.i:12: Warning: - invalid E-ACSL construct - `invalid guard (0 ≤ x ≤ 3) ∨ (0 ≤ y ≤ 3) in quantification - ∀ ℤ x, ℤ y; (0 ≤ x ≤ 3) ∨ (0 ≤ y ≤ 3) ⇒ x ≥ 0'. - Ignoring annotation. -[e-acsl] tests/reject/quantif.i:13: Warning: - invalid E-ACSL construct - `invalid binder x + 1 in quantification ∀ int x; 0 ≤ x + 1 ≤ 3 ⇒ x ≥ 0'. - Ignoring annotation. -[e-acsl] tests/reject/quantif.i:14: Warning: - invalid E-ACSL construct - `too much constraint(s) in quantification ∀ ℤ x; 0 ≤ x < 10 ∧ 9 ≤ x < 20 ⇒ x > z'. - Ignoring annotation. -[e-acsl] tests/reject/quantif.i:15: Warning: - invalid E-ACSL construct - `invalid binder y in quantification - ∀ ℤ x, ℤ z, ℤ y; - 0 ≤ x < 2 ∧ 0 ≤ y < 5 ∧ 0 ≤ z ≤ y ⇒ x + z ≤ y + 1'. - Ignoring annotation. -[e-acsl] 9 annotations were ignored, being untypable. -[e-acsl] 1 annotation was ignored, being unsupported. diff --git a/src/plugins/e-acsl/tests/reject/quantif.i b/src/plugins/e-acsl/tests/reject/quantif.i deleted file mode 100644 index 399d330d0eafbbc0c11ca72afed5d3639b0df6c2..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/reject/quantif.i +++ /dev/null @@ -1,18 +0,0 @@ -/* run.config - COMMENT: invalid quantifications */ - -int main(void) { - int z; - /*@ assert \forall integer x; x >= 0; */ - /*@ assert \forall integer x; x == 1 ==> x >= 0; */ - /*@ assert \forall int x; 0 <= x ==> x >= 0; */ - /*@ assert \forall float x; 0 <= x <= 3 ==> x >= 0; */ - /*@ assert \forall integer x,y; 0 <= x <= 3 ==> x >= 0; */ - /*@ assert \forall integer x; 0 <= x <= 3 && 0 <= z <= 3 ==> x >= 0; */ - /*@ assert \forall integer x,y; 0 <= x <= 3 || 0 <= y <= 3 ==> x >= 0; */ - /*@ assert \forall int x; 0 <= x+1 <= 3 ==> x >= 0; */ - /*@ assert \forall integer x; 0 <= x < 10 && 9 <= x < 20 ==> x > z; */ - /*@ assert \forall integer x,z,y; 0 <= x < 2 && 0 <= y < 5 && 0 <= z <= y - ==> x+z <= y+1; */ - return 0; -} diff --git a/src/plugins/e-acsl/tests/reject/result/.gitkeep b/src/plugins/e-acsl/tests/reject/result/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/plugins/e-acsl/tests/reject/test_config b/src/plugins/e-acsl/tests/reject/test_config deleted file mode 100644 index 61e3a7b0e535945b6e22a3d5dca55d4ce3685bd4..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/reject/test_config +++ /dev/null @@ -1 +0,0 @@ -OPT: -e-acsl-check diff --git a/src/plugins/e-acsl/tests/runtime/local_init.c b/src/plugins/e-acsl/tests/runtime/local_init.c deleted file mode 100644 index 77f64afba262be597862db14820e8533c1092801..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/local_init.c +++ /dev/null @@ -1,19 +0,0 @@ -/* run.config - COMMENT: test of a local initializer which contains an annotation - LOG: gen_@PTEST_NAME@.c - OPT: -e-acsl-prepare -val -lib-entry -then -e-acsl -then-last -load-script tests/print.cmxs -print -ocode @PTEST_DIR@/result/gen_@PTEST_NAME@.c - EXEC: ./scripts/testrun.sh @PTEST_NAME@ runtime "" "--frama-c=@frama-c@ -F -val -F -lib-entry --then --e-acsl-extra=-no-lib-entry --e-acsl-extra=-no-val" -*/ - -int X = 0; -int *p = &X; - -int f(void) { - int x = *p; // Eva add an alarms on this statement - return x; -} - -int main(void) { - f(); - return 0; -} diff --git a/src/plugins/e-acsl/tests/runtime/oracle/base_addr.res.oracle b/src/plugins/e-acsl/tests/runtime/oracle/base_addr.res.oracle deleted file mode 100644 index c70e1ab6c4dbfdb3f2daec4d1853e5b2924903b1..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/oracle/base_addr.res.oracle +++ /dev/null @@ -1,29 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/base_addr.c:46: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/base_addr.c:46: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/base_addr.c:47: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/base_addr.c:47: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/base_addr.c:48: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/base_addr.c:48: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/base_addr.c:50: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/base_addr.c:50: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/base_addr.c:51: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/base_addr.c:51: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/base_addr.c:57: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/base_addr.c:57: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/base_addr.c:59: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/base_addr.c:59: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/base_addr.c:61: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/base_addr.c:61: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/base_addr.c:63: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/base_addr.c:63: Warning: - function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/runtime/oracle/block_length.res.oracle b/src/plugins/e-acsl/tests/runtime/oracle/block_length.res.oracle deleted file mode 100644 index a65c86b9580f9b1cd10982d46c6c9daaabee5bec..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/oracle/block_length.res.oracle +++ /dev/null @@ -1,22 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/block_length.c:50: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/block_length.c:50: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/block_length.c:51: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/block_length.c:51: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/block_length.c:53: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/block_length.c:53: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/block_length.c:59: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/block_length.c:59: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/block_length.c:61: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/block_length.c:61: Warning: - function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/runtime/oracle/block_valid.res.oracle b/src/plugins/e-acsl/tests/runtime/oracle/block_valid.res.oracle deleted file mode 100644 index 38722b0c803d3f3bd3d96460b7bc7dac51169be6..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/oracle/block_valid.res.oracle +++ /dev/null @@ -1,19 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/block_valid.c:45: Warning: - out of bounds write. assert \valid(pmin); -[eva:alarm] tests/runtime/block_valid.c:46: Warning: - out of bounds write. assert \valid(pmax); -[eva:alarm] tests/runtime/block_valid.c:49: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/block_valid.c:50: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/block_valid.c:52: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/block_valid.c:52: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/block_valid.c:54: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/block_valid.c:54: Warning: - function __e_acsl_assert: precondition got status unknown. -[scope:rm_asserts] removing 2 assertion(s) diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_addrOf.c b/src/plugins/e-acsl/tests/runtime/oracle/gen_addrOf.c deleted file mode 100644 index 05cb6511ba08ed6fce4953414b0a3578544c1c77..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/oracle/gen_addrOf.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -void f(void) -{ - int m; - int *u; - int *p; - __e_acsl_store_block((void *)(& p),(size_t)8); - __e_acsl_store_block((void *)(& u),(size_t)8); - __e_acsl_store_block((void *)(& m),(size_t)4); - __e_acsl_full_init((void *)(& u)); - u = & m; - __e_acsl_full_init((void *)(& p)); - p = u; - __e_acsl_full_init((void *)(& m)); - m = 123; - /*@ assert \initialized(p); */ - { - int __gen_e_acsl_initialized; - __gen_e_acsl_initialized = __e_acsl_initialized((void *)p,sizeof(int)); - __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion",(char *)"f", - (char *)"\\initialized(p)",10); - } - __e_acsl_delete_block((void *)(& p)); - __e_acsl_delete_block((void *)(& u)); - __e_acsl_delete_block((void *)(& m)); - return; -} - -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - int x = 0; - f(); - /*@ assert &x ≡ &x; */ - __e_acsl_assert(& x == & x,(char *)"Assertion",(char *)"main", - (char *)"&x == &x",16); - __retres = 0; - __e_acsl_memory_clean(); - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_decl_in_switch.c b/src/plugins/e-acsl/tests/runtime/oracle/gen_decl_in_switch.c deleted file mode 100644 index 15d0281d5ae0b4dc878a687bc8131e19bc4aecae..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/oracle/gen_decl_in_switch.c +++ /dev/null @@ -1,24 +0,0 @@ -/* Generated by Frama-C */ -int main(int argc, char **argv) -{ - int __retres; - __e_acsl_memory_init(& argc,& argv,8UL); - __e_acsl_store_block((void *)(& argc),4UL); - { - int *p; - __e_acsl_store_block((void *)(& p),8UL); - switch (argc) { - default: ; - __e_acsl_full_init((void *)(& p)); - p = & argc; - break; - } - __e_acsl_delete_block((void *)(& p)); - } - __retres = 0; - __e_acsl_delete_block((void *)(& argc)); - __e_acsl_memory_clean(); - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/runtime/oracle/gen_vector.c b/src/plugins/e-acsl/tests/runtime/oracle/gen_vector.c deleted file mode 100644 index ed998b8cb0fa6a35045fd43761a59fb9b93375f7..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/oracle/gen_vector.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -int LAST; -int *new_inversed(int len, int *v) -{ - int i; - int *p; - __e_acsl_store_block((void *)(& p),(size_t)8); - __e_acsl_full_init((void *)(& p)); - p = (int *)malloc(sizeof(int) * (unsigned long)len); - i = 0; - while (i < len) { - __e_acsl_initialize((void *)(p + i),sizeof(int)); - *(p + i) = *(v + ((len - i) - 1)); - i ++; - } - __e_acsl_delete_block((void *)(& p)); - return p; -} - -int main(void) -{ - int __retres; - int *v2; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - __e_acsl_store_block((void *)(& v2),(size_t)8); - int x = 3; - int v1[3] = {1, 2, x}; - __e_acsl_store_block((void *)(v1),(size_t)12); - __e_acsl_full_init((void *)(& v1)); - LAST = v1[2]; - /*@ assert \initialized(&v1[2]); */ - { - int __gen_e_acsl_initialized; - __gen_e_acsl_initialized = __e_acsl_initialized((void *)(& v1[2]), - sizeof(int)); - __e_acsl_assert(__gen_e_acsl_initialized,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(&v1[2])",24); - } - __e_acsl_full_init((void *)(& v2)); - v2 = new_inversed(3,v1); - /*@ assert Eva: initialization: \initialized(v2 + 2); */ - LAST = *(v2 + 2); - /*@ assert \initialized(v2 + 2); */ - { - int __gen_e_acsl_initialized_2; - __gen_e_acsl_initialized_2 = __e_acsl_initialized((void *)(v2 + 2), - sizeof(int)); - __e_acsl_assert(__gen_e_acsl_initialized_2,(char *)"Assertion", - (char *)"main",(char *)"\\initialized(v2 + 2)",27); - } - /*@ assert LAST ≡ 1; */ - __e_acsl_assert(LAST == 1,(char *)"Assertion",(char *)"main", - (char *)"LAST == 1",28); - free((void *)v2); - __retres = 0; - __e_acsl_delete_block((void *)(& v2)); - __e_acsl_delete_block((void *)(v1)); - __e_acsl_memory_clean(); - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/runtime/oracle/initialized.res.oracle b/src/plugins/e-acsl/tests/runtime/oracle/initialized.res.oracle deleted file mode 100644 index 04a89818e5de47aaaab1755b2d1adf7c7dc1e377..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/oracle/initialized.res.oracle +++ /dev/null @@ -1,45 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/initialized.c:66: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/initialized.c:66: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/initialized.c:70: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/initialized.c:70: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/initialized.c:75: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/initialized.c:75: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/initialized.c:77: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/initialized.c:77: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/initialized.c:85: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/initialized.c:85: Warning: - accessing left-value that contains escaping addresses. - assert ¬\dangling(&p); -[eva:alarm] tests/runtime/initialized.c:85: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/initialized.c:86: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/initialized.c:86: Warning: - accessing left-value that contains escaping addresses. - assert ¬\dangling(&q); -[eva:alarm] tests/runtime/initialized.c:86: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/initialized.c:94: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/initialized.c:94: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/initialized.c:97: Warning: - assertion got status unknown. -[eva:alarm] tests/runtime/initialized.c:97: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/initialized.c:108: Warning: - out of bounds write. assert \valid(partsi + i); -[eva:alarm] tests/runtime/initialized.c:106: Warning: - out of bounds write. assert \valid(partsc + i); -[scope:rm_asserts] removing 5 assertion(s) diff --git a/src/plugins/e-acsl/tests/runtime/oracle/local_goto.res.oracle b/src/plugins/e-acsl/tests/runtime/oracle/local_goto.res.oracle deleted file mode 100644 index a2e7e709cc1b03f77f747ddda9fc902b26666500..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/oracle/local_goto.res.oracle +++ /dev/null @@ -1,29 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] Warning: annotating undefined function `printf_va_1': - the generated program may miss memory instrumentation - if there are memory-related annotations. -[e-acsl] Warning: annotating undefined function `printf_va_2': - the generated program may miss memory instrumentation - if there are memory-related annotations. -[e-acsl] Warning: annotating undefined function `printf_va_3': - the generated program may miss memory instrumentation - if there are memory-related annotations. -[e-acsl] tests/runtime/local_goto.c:37: Warning: - E-ACSL construct `logic functions with labels' is not yet supported. - Ignoring annotation. -[e-acsl] tests/runtime/local_goto.c:37: Warning: - E-ACSL construct `assigns clause in behavior' is not yet supported. - Ignoring annotation. -[e-acsl] tests/runtime/local_goto.c:28: Warning: - E-ACSL construct `logic functions with labels' is not yet supported. - Ignoring annotation. -[e-acsl] tests/runtime/local_goto.c:28: Warning: - E-ACSL construct `assigns clause in behavior' is not yet supported. - Ignoring annotation. -[e-acsl] tests/runtime/local_goto.c:16: Warning: - E-ACSL construct `logic functions with labels' is not yet supported. - Ignoring annotation. -[e-acsl] tests/runtime/local_goto.c:16: Warning: - E-ACSL construct `assigns clause in behavior' is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/runtime/oracle/local_init.res.oracle b/src/plugins/e-acsl/tests/runtime/oracle/local_init.res.oracle deleted file mode 100644 index c2843c7332f5f5435981966f53ef7d71bac43ee4..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/oracle/local_init.res.oracle +++ /dev/null @@ -1,37 +0,0 @@ -[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp_api.h (with preprocessing) -[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl.h (with preprocessing) -[kernel] Parsing tests/runtime/local_init.c (with preprocessing) -[eva] Analyzing an incomplete application starting at main -[eva] Computing initial state -[eva] Initial state computed -[eva:initial-state] Values of globals at initialization - __e_acsl_init ∈ [--..--] - __e_acsl_heap_allocation_size ∈ [--..--] - __e_acsl_math_HUGE_VAL ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - __e_acsl_math_HUGE_VALF ∈ [-3.40282346639e+38 .. 3.40282346639e+38] - __e_acsl_math_INFINITY ∈ [-1.79769313486e+308 .. 1.79769313486e+308] - X ∈ [--..--] - p ∈ {{ NULL ; &S_p[0] }} - S_p[0..1] ∈ [--..--] -[eva:alarm] tests/runtime/local_init.c:12: Warning: - out of bounds read. assert \valid_read(p); -[eva] done for function main -[eva] ====== VALUES COMPUTED ====== -[eva:final-states] Values at end of function f: - x ∈ [--..--] -[eva:final-states] Values at end of function main: - __retres ∈ {0} -[eva:summary] ====== ANALYSIS SUMMARY ====== - ---------------------------------------------------------------------------- - 2 functions analyzed (out of 2): 100% coverage. - In these functions, 5 statements reached (out of 5): 100% coverage. - ---------------------------------------------------------------------------- - No errors or warnings raised during the analysis. - ---------------------------------------------------------------------------- - 1 alarm generated by the analysis: - 1 invalid memory access - ---------------------------------------------------------------------------- - No logical properties have been reached by the analysis. - ---------------------------------------------------------------------------- -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/runtime/oracle/memalign.res.oracle b/src/plugins/e-acsl/tests/runtime/oracle/memalign.res.oracle deleted file mode 100644 index 505c3a9513d560559bd6786634c1d6a699413323..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/oracle/memalign.res.oracle +++ /dev/null @@ -1,7 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/memalign.c:12: Warning: - function posix_memalign: precondition 'valid_memptr' got status unknown. -[eva:alarm] tests/runtime/memalign.c:14: Warning: - accessing uninitialized left-value. assert \initialized(memptr); -[scope:rm_asserts] removing 2 assertion(s) diff --git a/src/plugins/e-acsl/tests/runtime/oracle/memsize.res.oracle b/src/plugins/e-acsl/tests/runtime/oracle/memsize.res.oracle deleted file mode 100644 index 8862c572bb0532491075e376e4082cade59fbff2..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/oracle/memsize.res.oracle +++ /dev/null @@ -1,6 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/memsize.c:14: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/memsize.c:16: Warning: - assertion got status invalid (stopping propagation). -[scope:rm_asserts] removing 6 assertion(s) diff --git a/src/plugins/e-acsl/tests/runtime/oracle/ptr.res.oracle b/src/plugins/e-acsl/tests/runtime/oracle/ptr.res.oracle deleted file mode 100644 index 3dcc9b788d4ad029061919f0e958bb2000187a92..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/oracle/ptr.res.oracle +++ /dev/null @@ -1,11 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/ptr.i:17: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/ptr.i:17: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/ptr.i:18: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/ptr.i:18: Warning: - function __e_acsl_assert: precondition got status unknown. -[eva:alarm] tests/runtime/ptr.i:19: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/ptr.i:19: Warning: - function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/runtime/oracle/stdout.res.oracle b/src/plugins/e-acsl/tests/runtime/oracle/stdout.res.oracle deleted file mode 100644 index f4bab4760739d58deaf094532df53dc535bbb77c..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/oracle/stdout.res.oracle +++ /dev/null @@ -1,5 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/stdout.c:8: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/stdout.c:9: Warning: assertion got status unknown. -[eva:alarm] tests/runtime/stdout.c:10: Warning: assertion got status unknown. diff --git a/src/plugins/e-acsl/tests/runtime/oracle/vector.res.oracle b/src/plugins/e-acsl/tests/runtime/oracle/vector.res.oracle deleted file mode 100644 index ea0de0ba7383a386091c52a983888d5c5007f310..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/oracle/vector.res.oracle +++ /dev/null @@ -1,6 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". -[eva:alarm] tests/runtime/vector.c:26: Warning: - accessing uninitialized left-value. assert \initialized(v2 + 2); -[eva:alarm] tests/runtime/vector.c:28: Warning: assertion got status unknown. -[scope:rm_asserts] removing 1 assertion(s) diff --git a/src/plugins/e-acsl/tests/runtime/result/.gitkeep b/src/plugins/e-acsl/tests/runtime/result/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/src/plugins/e-acsl/tests/runtime/test_config b/src/plugins/e-acsl/tests/runtime/test_config deleted file mode 100644 index 49e3e5e1028f11fde69f1e65163604f33b658af8..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/runtime/test_config +++ /dev/null @@ -1,3 +0,0 @@ -LOG: gen_@PTEST_NAME@.c -OPT: -machdep gcc_x86_64 -check -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/runtime/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -eva -eva-verbose 0 -eva-warn-key libc:unsupported-spec=inactive -EXEC: ./scripts/testrun.sh @PTEST_NAME@ runtime "" "--frama-c=@frama-c@" diff --git a/src/plugins/e-acsl/tests/segment-only/oracle/constructor.res.oracle b/src/plugins/e-acsl/tests/segment-only/oracle/constructor.res.oracle deleted file mode 100644 index fb1184a3e5634daf84200d210428dfcd8c91aa44..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/segment-only/oracle/constructor.res.oracle +++ /dev/null @@ -1,20 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] Warning: annotating undefined function `printf_va_1': - the generated program may miss memory instrumentation - if there are memory-related annotations. -[e-acsl] Warning: annotating undefined function `printf_va_2': - the generated program may miss memory instrumentation - if there are memory-related annotations. -[e-acsl] tests/segment-only/constructor.c:16: Warning: - E-ACSL construct `logic function application' is not yet supported. - Ignoring annotation. -[e-acsl] tests/segment-only/constructor.c:16: Warning: - E-ACSL construct `assigns clause in behavior' is not yet supported. - Ignoring annotation. -[e-acsl] tests/segment-only/constructor.c:10: Warning: - E-ACSL construct `logic function application' is not yet supported. - Ignoring annotation. -[e-acsl] tests/segment-only/constructor.c:10: Warning: - E-ACSL construct `assigns clause in behavior' is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/segment-only/oracle/gen_constructor.c b/src/plugins/e-acsl/tests/segment-only/oracle/gen_constructor.c deleted file mode 100644 index eefdbbe0fd9c57b351169fd473ed0a95dc5ef0c9..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/segment-only/oracle/gen_constructor.c +++ /dev/null @@ -1,40 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -char *__gen_e_acsl_literal_string_2; -char *__gen_e_acsl_literal_string; -void f(void) __attribute__((__constructor__)); -void f(void) -{ - __gen_e_acsl_printf_va_1(__gen_e_acsl_literal_string); - char *buf = malloc((unsigned long)10 * sizeof(char)); - free((void *)buf); - return; -} - -void __e_acsl_globals_init(void) -{ - __gen_e_acsl_literal_string_2 = "main\n"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string_2, - sizeof("main\n")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string_2); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string_2); - __gen_e_acsl_literal_string = "f\n"; - __e_acsl_store_block((void *)__gen_e_acsl_literal_string,sizeof("f\n")); - __e_acsl_full_init((void *)__gen_e_acsl_literal_string); - __e_acsl_mark_readonly((void *)__gen_e_acsl_literal_string); - return; -} - -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - __e_acsl_globals_init(); - __gen_e_acsl_printf_va_2(__gen_e_acsl_literal_string_2); - __retres = 0; - __e_acsl_memory_clean(); - return __retres; -} - - diff --git a/src/plugins/e-acsl/tests/segment-only/test_config b/src/plugins/e-acsl/tests/segment-only/test_config deleted file mode 100644 index 3aa2fcbc6b1e0f167afe722d6f48c707129bab6d..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/segment-only/test_config +++ /dev/null @@ -1,3 +0,0 @@ -LOG: gen_@PTEST_NAME@.c -OPT: -machdep gcc_x86_64 -check -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/segment-only/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -eva -eva-verbose 0 -EXEC: ./scripts/testrun.sh @PTEST_NAME@ segment-only "" "--frama-c=@frama-c@" "segment" \ No newline at end of file diff --git a/src/plugins/e-acsl/tests/special/builtin.i b/src/plugins/e-acsl/tests/special/builtin.i index d69bd72b8d556abc685098033d511751ca58905a..5a4e114c5423bcdbdc2dc0f7a29cde752351a3b1 100644 --- a/src/plugins/e-acsl/tests/special/builtin.i +++ b/src/plugins/e-acsl/tests/special/builtin.i @@ -1,10 +1,7 @@ -/* run.config - LOG: gen_builtin.c - OPT: -e-acsl-builtins incr -machdep gcc_x86_64 -check -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/special/result/gen_@PTEST_NAME@.c - EXECNOW: ./scripts/testrun.sh builtin special "1" "--frama-c=@frama-c@ -F -e-acsl-builtins=incr" - LOG: gen_builtin2.c - OPT: -e-acsl-builtins incr -machdep gcc_x86_64 -check -e-acsl -e-acsl-gmp-only -then-last -load-script tests/print.cmxs -print -ocode tests/special/result/gen_builtin2.c +/* run.config_ci COMMENT: -e-acsl-builtins + LOG: gen_builtin.c + STDOPT: #"-e-acsl-builtins incr" */ int incr(int); diff --git a/src/plugins/e-acsl/tests/special/e-acsl-functions.c b/src/plugins/e-acsl/tests/special/e-acsl-functions.c index 4eecfd5f7960aed8372b6d3301640fe9d7b50700..dbed3c949013f461bd4ff205c05f15c92334ac89 100644 --- a/src/plugins/e-acsl/tests/special/e-acsl-functions.c +++ b/src/plugins/e-acsl/tests/special/e-acsl-functions.c @@ -1,7 +1,7 @@ -/* run.config +/* run.config_ci COMMENT: test option -e-acsl-functions LOG: gen_@PTEST_NAME@.c - OPT: -machdep gcc_x86_64 -e-acsl-functions f -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/special/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -eva-verbose 0 -eva + STDOPT: #"-e-acsl-functions f" */ /*@ requires \initialized(p); diff --git a/src/plugins/e-acsl/tests/special/e-acsl-instrument.c b/src/plugins/e-acsl/tests/special/e-acsl-instrument.c index b0b1206198c9e96a170c51956d467a61419b8637..6d047c1921b2db4e5438f146fa9d4dfc112f4c08 100644 --- a/src/plugins/e-acsl/tests/special/e-acsl-instrument.c +++ b/src/plugins/e-acsl/tests/special/e-acsl-instrument.c @@ -1,7 +1,7 @@ -/* run.config +/* run.config_ci COMMENT: test option -e-acsl-instrument; cannot run Eva on this example LOG: gen_@PTEST_NAME@.c - OPT: -variadic-no-translation -machdep gcc_x86_64 -e-acsl-instrument="@@all,-uninstrument1,-uninstrument2" -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/special/result/gen_@PTEST_NAME@.c -kernel-verbose 0 + STDOPT:#"-e-acsl-instrument='@@all,-uninstrument1,-uninstrument2'" */ #include <stdarg.h> diff --git a/src/plugins/e-acsl/tests/special/e-acsl-valid.c b/src/plugins/e-acsl/tests/special/e-acsl-valid.c index f5582dbc7b9da34fb6f172488e3d826dbd1a3d96..0991da238f6abea0dc712b85916fbcadf6d1d2b1 100644 --- a/src/plugins/e-acsl/tests/special/e-acsl-valid.c +++ b/src/plugins/e-acsl/tests/special/e-acsl-valid.c @@ -1,10 +1,8 @@ -/* run.config +/* run.config_ci COMMENT: test option -e-acsl-no-valid + DONTRUN: LOG: gen_@PTEST_NAME@.c - OPT: -e-acsl-prepare -val -value-verbose 0 -machdep gcc_x86_64 -then -check -e-acsl-valid -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/special/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -value-verbose 0 - EXECNOW: ./scripts/testrun.sh @PTEST_NAME@ special "" "--frama-c=@frama-c@" - LOG: gen_@PTEST_NAME@2.c - OPT: -e-acsl-prepare -val -value-verbose 0 -machdep gcc_x86_64 -then -check -e-acsl-no-valid -e-acsl -then-last -load-script tests/print.cmxs -print -ocode tests/special/result/gen_@PTEST_NAME@2.c -kernel-verbose 0 -value-verbose 0 + STDOPT: #"-e-acsl-prepare -e-acsl-share ./share/e-acsl -eva -eva-verbose 0 -then -e-acsl-no-valid" */ #include <stdlib.h> diff --git a/src/plugins/e-acsl/tests/special/oracle/builtin.0.res.oracle b/src/plugins/e-acsl/tests/special/oracle/builtin.0.res.oracle deleted file mode 100644 index 274bdbe69e1a2b66be3ef24030464585c4d743f5..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/special/oracle/builtin.0.res.oracle +++ /dev/null @@ -1,5 +0,0 @@ -[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp_api.h (with preprocessing) -[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl.h (with preprocessing) -[kernel] Parsing tests/special/builtin.i (no preprocessing) -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/special/oracle/builtin.1.res.oracle b/src/plugins/e-acsl/tests/special/oracle/builtin.1.res.oracle deleted file mode 100644 index 274bdbe69e1a2b66be3ef24030464585c4d743f5..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/special/oracle/builtin.1.res.oracle +++ /dev/null @@ -1,5 +0,0 @@ -[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl_gmp_api.h (with preprocessing) -[kernel] Parsing FRAMAC_SHARE/e-acsl/e_acsl.h (with preprocessing) -[kernel] Parsing tests/special/builtin.i (no preprocessing) -[e-acsl] beginning translation. -[e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/special/oracle/e-acsl-valid.0.res.oracle b/src/plugins/e-acsl/tests/special/oracle/e-acsl-valid.0.res.oracle deleted file mode 100644 index 5dff555c37e6255063e166ee303495b5adfdf7f8..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/special/oracle/e-acsl-valid.0.res.oracle +++ /dev/null @@ -1,21 +0,0 @@ -[eva:alarm] tests/special/e-acsl-valid.c:39: Warning: - function f: precondition \valid(y) got status unknown. -[e-acsl] beginning translation. -[e-acsl] tests/special/e-acsl-valid.c:27: Warning: - E-ACSL construct `assigns clause in behavior' is not yet supported. - Ignoring annotation. -[e-acsl] tests/special/e-acsl-valid.c:28: Warning: - E-ACSL construct `variant' is not yet supported. Ignoring annotation. -[e-acsl] tests/special/e-acsl-valid.c:31: Warning: - E-ACSL construct `complete behaviors' is not yet supported. - Ignoring annotation. -[e-acsl] tests/special/e-acsl-valid.c:31: Warning: - E-ACSL construct `disjoint behaviors' is not yet supported. - Ignoring annotation. -[e-acsl] tests/special/e-acsl-valid.c:13: Warning: - E-ACSL construct `assigns clause in behavior' is not yet supported. - Ignoring annotation. -[e-acsl] tests/special/e-acsl-valid.c:22: Warning: - E-ACSL construct `assigns clause in behavior' is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/special/oracle/e-acsl-valid.1.res.oracle b/src/plugins/e-acsl/tests/special/oracle/e-acsl-valid.1.res.oracle deleted file mode 100644 index fb7c8f0d5a323a3ed53d286a0a09e0aca4d7e898..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/special/oracle/e-acsl-valid.1.res.oracle +++ /dev/null @@ -1,18 +0,0 @@ -[eva:alarm] tests/special/e-acsl-valid.c:39: Warning: - function f: precondition \valid(y) got status unknown. -[e-acsl] beginning translation. -[e-acsl] tests/special/e-acsl-valid.c:27: Warning: - E-ACSL construct `assigns clause in behavior' is not yet supported. - Ignoring annotation. -[e-acsl] tests/special/e-acsl-valid.c:28: Warning: - E-ACSL construct `variant' is not yet supported. Ignoring annotation. -[e-acsl] tests/special/e-acsl-valid.c:28: Warning: - E-ACSL construct `complete behaviors' is not yet supported. - Ignoring annotation. -[e-acsl] tests/special/e-acsl-valid.c:28: Warning: - E-ACSL construct `disjoint behaviors' is not yet supported. - Ignoring annotation. -[e-acsl] tests/special/e-acsl-valid.c:12: Warning: - E-ACSL construct `assigns clause in behavior' is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_builtin2.c b/src/plugins/e-acsl/tests/special/oracle/gen_builtin2.c deleted file mode 100644 index 42faeb3e95b99c64878f1e870b179242bd68c200..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/special/oracle/gen_builtin2.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -extern int __e_acsl_sound_verdict; - -int incr(int x); - -/*@ ensures \result ≡ incr(\old(i)); */ -int __gen_e_acsl_f(int i); - -int f(int i) -{ - int j = i + 1; - return j; -} - -int incr(int x) -{ - int __retres; - __retres = x + 1; - return __retres; -} - -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - int i = __gen_e_acsl_f(2); - __retres = 0; - return __retres; -} - -/*@ ensures \result ≡ incr(\old(i)); */ -int __gen_e_acsl_f(int i) -{ - int __gen_e_acsl_at; - int __retres; - __gen_e_acsl_at = i; - __retres = f(i); - { - __e_acsl_mpz_t __gen_e_acsl_result; - int __gen_e_acsl_incr_app; - __e_acsl_mpz_t __gen_e_acsl_app; - int __gen_e_acsl_eq; - __gmpz_init_set_si(__gen_e_acsl_result,(long)__retres); - __gen_e_acsl_incr_app = incr(__gen_e_acsl_at); - __gmpz_init_set_si(__gen_e_acsl_app,(long)__gen_e_acsl_incr_app); - __gen_e_acsl_eq = __gmpz_cmp((__e_acsl_mpz_struct const *)(__gen_e_acsl_result), - (__e_acsl_mpz_struct const *)(__gen_e_acsl_app)); - __e_acsl_assert(__gen_e_acsl_eq == 0,(char *)"Postcondition",(char *)"f", - (char *)"\\result == incr(\\old(i))",12); - __gmpz_clear(__gen_e_acsl_result); - __gmpz_clear(__gen_e_acsl_app); - return __retres; - } -} - - diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-valid2.c b/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-valid2.c deleted file mode 100644 index 1818b56a4a2c792554e61c5b9ec6d25e5e976750..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-valid2.c +++ /dev/null @@ -1,116 +0,0 @@ -/* Generated by Frama-C */ -#include "stdio.h" -#include "stdlib.h" -extern int __e_acsl_sound_verdict; - -/*@ requires \valid(y); - requires *x ≥ 0; - ensures *\old(x) ≡ \old(*x) + 1; - assigns *x; - assigns *x \from *x, x; - - behavior b1: - assumes *x ≡ 1; - ensures *\old(x) < 0; - assigns \nothing; - - behavior b2: - assumes *x ≡ 0; - ensures *\old(x) ≡ 1; - - complete behaviors b2, b1; - disjoint behaviors b1, b2; - */ -void __gen_e_acsl_f(int *x, int *y); - -void f(int *x, int *y) -{ - /*@ requires *x ≥ 0; - ensures 2 ≥ 1; - assigns *x; */ - { - { - int __gen_e_acsl_valid_read; - __e_acsl_store_block((void *)(& y),(size_t)8); - __e_acsl_store_block((void *)(& x),(size_t)8); - __gen_e_acsl_valid_read = __e_acsl_valid_read((void *)x,sizeof(int), - (void *)x,(void *)(& x)); - __e_acsl_assert(__gen_e_acsl_valid_read,(char *)"RTE",(char *)"f", - (char *)"mem_access: \\valid_read(x)",27); - __e_acsl_assert(*x >= 0,(char *)"Precondition",(char *)"f", - (char *)"*x >= 0",27); - } - __e_acsl_initialize((void *)x,sizeof(int)); - (*x) ++; - __e_acsl_assert(1,(char *)"Postcondition",(char *)"f",(char *)"2 >= 1", - 28); - } - { - int i = 0; - /*@ loop invariant 0 ≤ i ≤ 1; - loop variant 2 - i; */ - while (i < 1) { - /*@ assert 1 ≡ 1; */ ; - /*@ assert \valid(y); */ ; - i ++; - } - } - __e_acsl_delete_block((void *)(& y)); - __e_acsl_delete_block((void *)(& x)); - return; -} - -int main(void) -{ - int __retres; - __e_acsl_memory_init((int *)0,(char ***)0,(size_t)8); - int x = 0; - __e_acsl_store_block((void *)(& x),(size_t)4); - __e_acsl_full_init((void *)(& x)); - int *y = malloc(sizeof(int)); - __e_acsl_store_block((void *)(& y),(size_t)8); - __e_acsl_full_init((void *)(& y)); - __gen_e_acsl_f(& x,y); - __retres = 0; - __e_acsl_delete_block((void *)(& y)); - __e_acsl_delete_block((void *)(& x)); - __e_acsl_memory_clean(); - return __retres; -} - -/*@ requires \valid(y); - requires *x ≥ 0; - ensures *\old(x) ≡ \old(*x) + 1; - assigns *x; - assigns *x \from *x, x; - - behavior b1: - assumes *x ≡ 1; - ensures *\old(x) < 0; - assigns \nothing; - - behavior b2: - assumes *x ≡ 0; - ensures *\old(x) ≡ 1; - - complete behaviors b2, b1; - disjoint behaviors b1, b2; - */ -void __gen_e_acsl_f(int *x, int *y) -{ - { - int __gen_e_acsl_valid; - __e_acsl_store_block((void *)(& y),(size_t)8); - __e_acsl_store_block((void *)(& x),(size_t)8); - __gen_e_acsl_valid = __e_acsl_valid((void *)y,sizeof(int),(void *)y, - (void *)(& y)); - __e_acsl_assert(__gen_e_acsl_valid,(char *)"Precondition",(char *)"f", - (char *)"\\valid(y)",12); - } - f(x,y); - __e_acsl_delete_block((void *)(& y)); - __e_acsl_delete_block((void *)(& x)); - return; -} - - diff --git a/src/plugins/e-acsl/tests/special/oracle_ci/builtin.res.oracle b/src/plugins/e-acsl/tests/special/oracle_ci/builtin.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..f829e96e46483dba4975d357c55444c4b1fba88d --- /dev/null +++ b/src/plugins/e-acsl/tests/special/oracle_ci/builtin.res.oracle @@ -0,0 +1,4 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/special/builtin.i:9: Warning: + function __gen_e_acsl_f: postcondition got status unknown. diff --git a/src/plugins/e-acsl/tests/special/oracle/e-acsl-functions.res.oracle b/src/plugins/e-acsl/tests/special/oracle_ci/e-acsl-functions.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/special/oracle/e-acsl-functions.res.oracle rename to src/plugins/e-acsl/tests/special/oracle_ci/e-acsl-functions.res.oracle diff --git a/src/plugins/e-acsl/tests/special/oracle/e-acsl-instrument.res.oracle b/src/plugins/e-acsl/tests/special/oracle_ci/e-acsl-instrument.res.oracle similarity index 81% rename from src/plugins/e-acsl/tests/special/oracle/e-acsl-instrument.res.oracle rename to src/plugins/e-acsl/tests/special/oracle_ci/e-acsl-instrument.res.oracle index 10d0bb2429c656141ec1da23f443f176827c2075..aabd7fab72b0dbd8439dbcae86b304ca634d327f 100644 --- a/src/plugins/e-acsl/tests/special/oracle/e-acsl-instrument.res.oracle +++ b/src/plugins/e-acsl/tests/special/oracle_ci/e-acsl-instrument.res.oracle @@ -8,3 +8,7 @@ [e-acsl] tests/special/e-acsl-instrument.c:58: Warning: ignoring effect of variadic function vol [e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/special/e-acsl-instrument.c:44: Warning: + accessing uninitialized left-value. + assert \initialized(&tmp); + (tmp from vararg) diff --git a/src/plugins/e-acsl/tests/special/oracle_ci/e-acsl-valid.res.oracle b/src/plugins/e-acsl/tests/special/oracle_ci/e-acsl-valid.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..8a102a933b40c01c21491f96630d750b81d7f818 --- /dev/null +++ b/src/plugins/e-acsl/tests/special/oracle_ci/e-acsl-valid.res.oracle @@ -0,0 +1,40 @@ +[eva:alarm] tests/special/e-acsl-valid.c:36: Warning: + function f: precondition \valid(y) got status unknown. +[e-acsl] beginning translation. +[kernel:annot:missing-spec] FRAMAC_SHARE/e-acsl/e_acsl.h:165: Warning: + Neither code nor specification for function aligned_alloc, generating default assigns from the prototype +[kernel:annot:missing-spec] FRAMAC_SHARE/e-acsl/e_acsl.h:181: Warning: + Neither code nor specification for function __e_acsl_mspaces_init, generating default assigns from the prototype +[kernel:annot:missing-spec] FRAMAC_SHARE/e-acsl/e_acsl.h:446: Warning: + Neither code nor specification for function __e_acsl_builtin_printf, generating default assigns from the prototype +[kernel:annot:missing-spec] FRAMAC_SHARE/e-acsl/e_acsl.h:450: Warning: + Neither code nor specification for function __e_acsl_builtin_fprintf, generating default assigns from the prototype +[kernel:annot:missing-spec] FRAMAC_SHARE/e-acsl/e_acsl.h:454: Warning: + Neither code nor specification for function __e_acsl_builtin_dprintf, generating default assigns from the prototype +[kernel:annot:missing-spec] FRAMAC_SHARE/e-acsl/e_acsl.h:458: Warning: + Neither code nor specification for function __e_acsl_builtin_sprintf, generating default assigns from the prototype +[kernel:annot:missing-spec] FRAMAC_SHARE/e-acsl/e_acsl.h:462: Warning: + Neither code nor specification for function __e_acsl_builtin_snprintf, generating default assigns from the prototype +[kernel:annot:missing-spec] FRAMAC_SHARE/e-acsl/e_acsl.h:467: Warning: + Neither code nor specification for function __e_acsl_builtin_syslog, generating default assigns from the prototype +[kernel:annot:missing-spec] FRAMAC_SHARE/e-acsl/e_acsl.h:488: Warning: + Neither code nor specification for function __e_acsl_floating_point_exception, generating default assigns from the prototype +[kernel] Current source was: tests/special/e-acsl-valid.c:33 + The full backtrace is: + Raised at file "src/libraries/project/project.ml", line 405, characters 59-66 + Called from file "src/main.ml", line 155, characters 14-1023 + Called from file "src/main.ml", line 121, characters 12-34 + Called from file "src/libraries/project/state_builder.ml", line 565, characters 17-22 + Called from file "src/main.ml", line 258, characters 11-56 + Called from file "queue.ml", line 121, characters 6-15 + Called from file "src/kernel_internals/runtime/boot.ml", line 36, characters 4-20 + Called from file "src/kernel_services/cmdline_parameters/cmdline.ml", line 792, characters 2-9 + Called from file "src/kernel_services/cmdline_parameters/cmdline.ml", line 807, characters 30-76 + Called from file "src/kernel_services/cmdline_parameters/cmdline.ml", line 229, characters 4-8 + + Unexpected error (E_ACSL.Misc.Unregistered_library_function("__e_acsl_store_block")). + Please report as 'crash' at http://bts.frama-c.com/. + Your Frama-C version is 19.0+dev (Potassium). + Note that a version and a backtrace alone often do not contain enough + information to understand the bug. Guidelines for reporting bugs are at: + http://bts.frama-c.com/dokuwiki/doku.php?id=mantis:frama-c:bug_reporting_guidelines diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_builtin.c b/src/plugins/e-acsl/tests/special/oracle_ci/gen_builtin.c similarity index 93% rename from src/plugins/e-acsl/tests/special/oracle/gen_builtin.c rename to src/plugins/e-acsl/tests/special/oracle_ci/gen_builtin.c index e2cb3cb48980c6fac8d50def5c7a7dee80900094..a1e4cd5f61765508c79776859fe56db818208453 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_builtin.c +++ b/src/plugins/e-acsl/tests/special/oracle_ci/gen_builtin.c @@ -42,7 +42,7 @@ int __gen_e_acsl_f(int i) __gen_e_acsl_incr_app = incr(__gen_e_acsl_at); __e_acsl_assert(__retres == __gen_e_acsl_incr_app, (char *)"Postcondition",(char *)"f", - (char *)"\\result == incr(\\old(i))",12); + (char *)"\\result == incr(\\old(i))",9); return __retres; } } diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-functions.c b/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-functions.c similarity index 100% rename from src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-functions.c rename to src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-functions.c diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-instrument.c b/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-instrument.c similarity index 98% rename from src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-instrument.c rename to src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-instrument.c index 36e9221c01c15ab537afe24a99c8076106d6a0ea..b3bd734d1350fa922b5e19ad1fafbe2be5f011e4 100644 --- a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-instrument.c +++ b/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-instrument.c @@ -75,6 +75,7 @@ int vol(int n , ...) int tmp; __builtin_va_start(vl,n); tmp = __builtin_va_arg (vl, int); + /*@ assert Eva: initialization: \initialized(&tmp); */ int r = tmp; __builtin_va_end(vl); __retres = 1; diff --git a/src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-valid.c b/src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-valid.c similarity index 100% rename from src/plugins/e-acsl/tests/special/oracle/gen_e-acsl-valid.c rename to src/plugins/e-acsl/tests/special/oracle_ci/gen_e-acsl-valid.c diff --git a/src/plugins/e-acsl/tests/special/oracle_dev/builtin.res.oracle b/src/plugins/e-acsl/tests/special/oracle_dev/builtin.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..89a3dd0cebac8883f2d4148a0a74b4346b5aa97b --- /dev/null +++ b/src/plugins/e-acsl/tests/special/oracle_dev/builtin.res.oracle @@ -0,0 +1,6 @@ +[kernel] Parsing tests/special/builtin.i (no preprocessing) +[kernel:annot-error] tests/special/builtin.i:9: Warning: + unbound function incr. Ignoring logic specification of function f +[kernel] User Error: warning annot-error treated as fatal error. +[kernel] User Error: stopping on file "tests/special/builtin.i" that has errors. +[kernel] Frama-C aborted: invalid user input. diff --git a/src/plugins/e-acsl/tests/special/oracle_dev/e-acsl-functions.res.oracle b/src/plugins/e-acsl/tests/special/oracle_dev/e-acsl-functions.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0e725129643c7b30e93ea6195c25aba9922e6972 --- /dev/null +++ b/src/plugins/e-acsl/tests/special/oracle_dev/e-acsl-functions.res.oracle @@ -0,0 +1,5 @@ +[kernel] User Error: cannot load plug-in 'frama-c-e_acsl': cannot load module + Details: error loading shared library: Dynlink.Error (Dynlink.Cannot_open_dll "Failure(\"./top/E_ACSL.cmxs: cannot open shared object file: No such file or directory\")") +[kernel] User Error: compilation of './tests/print.ml' failed +[kernel] User Error: Deferred error message was emitted during execution. See above messages for more information. +[kernel] Frama-C aborted: invalid user input. diff --git a/src/plugins/e-acsl/tests/special/oracle_dev/e-acsl-instrument.res.oracle b/src/plugins/e-acsl/tests/special/oracle_dev/e-acsl-instrument.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..b26c0b6174b2a72251653d396860c71ab5ba9664 --- /dev/null +++ b/src/plugins/e-acsl/tests/special/oracle_dev/e-acsl-instrument.res.oracle @@ -0,0 +1,4 @@ +[kernel] User Error: cannot load plug-in 'frama-c-e_acsl': cannot load module + Details: error loading shared library: Dynlink.Error (Dynlink.Cannot_open_dll "Failure(\"./top/E_ACSL.cmxs: cannot open shared object file: No such file or directory\")") +[kernel] User Error: Deferred error message was emitted during execution. See above messages for more information. +[kernel] Frama-C aborted: invalid user input. diff --git a/src/plugins/e-acsl/tests/special/oracle_dev/e-acsl-valid.res.oracle b/src/plugins/e-acsl/tests/special/oracle_dev/e-acsl-valid.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..ccf69854a1a6f0658c365947a9e8c53bcb5c9db5 --- /dev/null +++ b/src/plugins/e-acsl/tests/special/oracle_dev/e-acsl-valid.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/special/e-acsl-valid.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/special/test_config_dev b/src/plugins/e-acsl/tests/special/test_config_dev new file mode 100644 index 0000000000000000000000000000000000000000..bbceafbed9b9fb0880caf31fe392053620ea2cbb --- /dev/null +++ b/src/plugins/e-acsl/tests/special/test_config_dev @@ -0,0 +1 @@ +DONTRUN: diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_getenv.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle/t_getenv.res.oracle deleted file mode 100644 index da6d987808fe99b9e725f20de1b03ab078b3b785..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_getenv.res.oracle +++ /dev/null @@ -1,11 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] Warning: annotating undefined function `getenv': - the generated program may miss memory instrumentation - if there are memory-related annotations. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:482: Warning: - E-ACSL construct `logic functions with labels' is not yet supported. - Ignoring annotation. -[e-acsl] FRAMAC_SHARE/libc/stdlib.h:482: Warning: - E-ACSL construct `assigns clause in behavior' is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_malloc-asan.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle/t_malloc-asan.res.oracle deleted file mode 100644 index 1b8c383a119177d8b45eac1037821eb6692704a7..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_malloc-asan.res.oracle +++ /dev/null @@ -1,11 +0,0 @@ -[e-acsl] beginning translation. -[e-acsl] Warning: annotating undefined function `printf_va_1': - the generated program may miss memory instrumentation - if there are memory-related annotations. -[e-acsl] tests/temporal/t_malloc-asan.c:31: Warning: - E-ACSL construct `logic functions with labels' is not yet supported. - Ignoring annotation. -[e-acsl] tests/temporal/t_malloc-asan.c:31: Warning: - E-ACSL construct `assigns clause in behavior' is not yet supported. - Ignoring annotation. -[e-acsl] translation done in project "e-acsl". diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_addr-by-val.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_addr-by-val.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_addr-by-val.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_addr-by-val.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_args.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_args.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_args.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_args.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_array.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_array.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_array.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_array.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_char.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_char.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_char.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_char.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_darray.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_darray.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_darray.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_darray.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_dpointer.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_dpointer.c similarity index 97% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_dpointer.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_dpointer.c index 13d59a6a146231814ede4cb1396e6323ee436107..8a600eed354a833a550e737cc928c75e20c9d93a 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_dpointer.c +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_dpointer.c @@ -24,7 +24,6 @@ int main(void) __e_acsl_temporal_reset_parameters(); __e_acsl_temporal_reset_return(); __e_acsl_initialize((void *)(p + i),sizeof(int *)); - /*@ assert Eva: mem_access: \valid(p + i); */ *(p + i) = (int *)malloc(sizeof(int)); /*@ assert Eva: initialization: \initialized(p + i); */ __e_acsl_temporal_store_nblock((void *)(p + i),(void *)*(p + i)); @@ -59,7 +58,6 @@ int main(void) __e_acsl_temporal_reset_return(); __e_acsl_temporal_save_nreferent_parameter((void *)(p + 2),0U); /*@ assert Eva: initialization: \initialized(p + 2); */ - /*@ assert Eva: mem_access: \valid_read(p + 2); */ free((void *)*(p + 2)); __e_acsl_temporal_reset_parameters(); __e_acsl_temporal_reset_return(); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fptr.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fptr.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_fptr.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fptr.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_lib.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fun_lib.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_lib.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fun_lib.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_ptr.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fun_ptr.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_fun_ptr.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_fun_ptr.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_getenv.c similarity index 96% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_getenv.c index 6409e05e1b418f5ec1ba0873ec8e98bfec03c861..33d62b000f28824c4abb58276a7d1c0825a3ce62 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_getenv.c +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_getenv.c @@ -65,7 +65,7 @@ int main(int argc, char const **argv) __gen_e_acsl_or = __gen_e_acsl_and; } __e_acsl_assert(__gen_e_acsl_or,(char *)"Assertion",(char *)"main", - (char *)"g1 == \\null || \\valid(g1)",14); + (char *)"g1 == \\null || \\valid(g1)",13); } /*@ assert g2 ≡ \null ∨ \valid(g2); */ { @@ -89,7 +89,7 @@ int main(int argc, char const **argv) __gen_e_acsl_or_2 = __gen_e_acsl_and_2; } __e_acsl_assert(__gen_e_acsl_or_2,(char *)"Assertion",(char *)"main", - (char *)"g2 == \\null || \\valid(g2)",15); + (char *)"g2 == \\null || \\valid(g2)",14); } __retres = 0; __e_acsl_delete_block((void *)(& g2)); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_global_init.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_global_init.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_global_init.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_global_init.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_labels.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_labels.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_labels.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_labels.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_lit_string.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_lit_string.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_lit_string.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_lit_string.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_local_init.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_local_init.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_local_init.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_local_init.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_malloc-asan.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_malloc-asan.c similarity index 90% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_malloc-asan.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_malloc-asan.c index ffecf62daef023a69fb5a1da15c5d8c41d1f17c6..8095a59581baf85e20d7e1ba6fb1b92f7260cc0b 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_malloc-asan.c +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_malloc-asan.c @@ -2,8 +2,6 @@ #include "stdio.h" #include "stdlib.h" char *__gen_e_acsl_literal_string; -extern int __e_acsl_sound_verdict; - void __e_acsl_globals_init(void) { static char __e_acsl_already_run = 0; @@ -59,18 +57,15 @@ int main(void) __e_acsl_temporal_reset_parameters(); __e_acsl_temporal_reset_return(); __e_acsl_temporal_save_nreferent_parameter((void *)(& p),1U); - __gen_e_acsl_printf_va_1(__gen_e_acsl_literal_string,(void *)p,counter); + printf(__gen_e_acsl_literal_string,p,counter); break; } __e_acsl_temporal_store_nblock((void *)(& p),(void *)0); __e_acsl_full_init((void *)(& p)); p = (int *)0; } - /*@ assert Eva: dangling_pointer: ¬\dangling(&p); */ if (p) { - /*@ assert Eva: dangling_pointer: ¬\dangling(&q); */ __e_acsl_initialize((void *)q,sizeof(int)); - /*@ assert Eva: mem_access: \valid(q); */ *q = 1; __e_acsl_initialize((void *)p,sizeof(int)); *p = 2; diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_malloc.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_malloc.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_malloc.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_malloc.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_memcpy.c similarity index 97% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_memcpy.c index 1bfc00a908d32def5d7fce8ea952b20aab92bb1b..18a7163bb5648065ea7fb49a9c45a9a2b3e8343b 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_memcpy.c +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_memcpy.c @@ -156,7 +156,6 @@ int main(void) __e_acsl_temporal_store_nblock((void *)(& q),(void *)*(& q)); __e_acsl_temporal_store_nblock((void *)p,(void *)(& a)); __e_acsl_initialize((void *)p,sizeof(int *)); - /*@ assert Eva: mem_access: \valid(p); */ *p = & a; __e_acsl_temporal_store_nblock((void *)(p + 1),(void *)(& a)); __e_acsl_initialize((void *)(p + 1),sizeof(int *)); @@ -239,8 +238,6 @@ int main(void) else __gen_e_acsl_and_10 = 0; __e_acsl_assert(__gen_e_acsl_and_10,(char *)"RTE",(char *)"main", (char *)"mem_access: \\valid_read(q)",44); - /*@ assert Eva: initialization: \initialized(q); */ - /*@ assert Eva: mem_access: \valid_read(q); */ __gen_e_acsl_valid_9 = __e_acsl_valid((void *)*q,sizeof(int), (void *)*q,(void *)q); __gen_e_acsl_and_11 = __gen_e_acsl_valid_9; @@ -264,8 +261,6 @@ int main(void) (void *)(& q)); __e_acsl_assert(__gen_e_acsl_valid_read_4,(char *)"RTE",(char *)"main", (char *)"mem_access: \\valid_read(q + 1)",45); - /*@ assert Eva: initialization: \initialized(q + 1); */ - /*@ assert Eva: mem_access: \valid_read(q + 1); */ __gen_e_acsl_valid_10 = __e_acsl_valid((void *)*(q + 1),sizeof(int), (void *)*(q + 1), (void *)(q + 1)); @@ -280,7 +275,6 @@ int main(void) tmp_1 = (int *)0; __e_acsl_temporal_store_nreferent((void *)(q + 1),(void *)(& tmp_1)); __e_acsl_initialize((void *)(q + 1),sizeof(int *)); - /*@ assert Eva: mem_access: \valid(q + 1); */ *(q + 1) = tmp_1; __e_acsl_temporal_store_nreferent((void *)q,(void *)(& tmp_1)); __e_acsl_initialize((void *)q,sizeof(int *)); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_scope.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_scope.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_scope.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_scope.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_struct.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_struct.c similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_struct.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_struct.c diff --git a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_while.c b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_while.c similarity index 95% rename from src/plugins/e-acsl/tests/temporal/oracle/gen_t_while.c rename to src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_while.c index 72a23b62f92da9f4f9cd65c045fa02942d1ef2db..9937815b7dd006e5f3a1d742e57abeb456a02079 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/gen_t_while.c +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/gen_t_while.c @@ -58,9 +58,6 @@ int main(void) __e_acsl_assert(! __gen_e_acsl_and_2,(char *)"Assertion",(char *)"main", (char *)"!\\valid(q)",36); } - __e_acsl_initialize((void *)q,sizeof(int)); - /*@ assert Eva: mem_access: \valid(q); */ - *q = 1; __retres = 0; return_label: __e_acsl_store_block_duplicate((void *)(& q),(size_t)8); __e_acsl_delete_block((void *)(& q)); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_darray.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_addr-by-val.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/t_darray.res.oracle rename to src/plugins/e-acsl/tests/temporal/oracle_ci/t_addr-by-val.res.oracle diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/t_args.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_args.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..109e6b127fbe65f35b5e3f35c9f57083f244e9c7 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_args.res.oracle @@ -0,0 +1,5 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/temporal/t_args.c:9: Warning: assertion got status unknown. +[eva:alarm] tests/temporal/t_args.c:10: Warning: + assertion got status invalid (stopping propagation). diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_fun_ptr.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_array.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/t_fun_ptr.res.oracle rename to src/plugins/e-acsl/tests/temporal/oracle_ci/t_array.res.oracle diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_global_init.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_char.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/t_global_init.res.oracle rename to src/plugins/e-acsl/tests/temporal/oracle_ci/t_char.res.oracle diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_labels.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_darray.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/t_labels.res.oracle rename to src/plugins/e-acsl/tests/temporal/oracle_ci/t_darray.res.oracle diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/t_dpointer.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_dpointer.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..21729109cb68251a57b9eff5cad0029b98846874 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_dpointer.res.oracle @@ -0,0 +1,23 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/temporal/t_dpointer.c:12: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/temporal/t_dpointer.c:13: Warning: + accessing uninitialized left-value. assert \initialized(p + i); +[eva:alarm] tests/temporal/t_dpointer.c:14: Warning: + assertion got status unknown. +[eva:alarm] tests/temporal/t_dpointer.c:14: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/temporal/t_dpointer.c:14: Warning: + accessing uninitialized left-value. assert \initialized(p + i); +[eva:alarm] tests/temporal/t_dpointer.c:14: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/temporal/t_dpointer.c:18: Warning: + accessing uninitialized left-value. assert \initialized(p + 2); +[eva:alarm] tests/temporal/t_dpointer.c:20: Warning: + assertion got status unknown. +[eva:alarm] tests/temporal/t_dpointer.c:20: Warning: + accessing left-value that contains escaping addresses. + assert ¬\dangling(p + 2); +[eva:alarm] tests/temporal/t_dpointer.c:20: Warning: + function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_fptr.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_fptr.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/t_fptr.res.oracle rename to src/plugins/e-acsl/tests/temporal/oracle_ci/t_fptr.res.oracle diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_fun_lib.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_fun_lib.res.oracle similarity index 85% rename from src/plugins/e-acsl/tests/temporal/oracle/t_fun_lib.res.oracle rename to src/plugins/e-acsl/tests/temporal/oracle_ci/t_fun_lib.res.oracle index fc81d45a65d8e98708f876b874a513d12ef1e060..fc9ae49cf5d4eef82de513ee5baa9d6baa60ee18 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_fun_lib.res.oracle +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_fun_lib.res.oracle @@ -8,3 +8,5 @@ Completely invalid destination for assigns clause *(x_0 + (0 ..)). Ignoring. [eva:invalid-assigns] tests/temporal/t_fun_lib.c:21: Completely invalid destination for assigns clause *(x_0 + (0 ..)). Ignoring. +[eva:alarm] tests/temporal/t_fun_lib.c:23: Warning: + assertion got status invalid (stopping propagation). diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_lit_string.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_fun_ptr.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/t_lit_string.res.oracle rename to src/plugins/e-acsl/tests/temporal/oracle_ci/t_fun_ptr.res.oracle diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/t_getenv.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_getenv.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..9e376cf88d35f7420704afb840ff1632961175bb --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_getenv.res.oracle @@ -0,0 +1,27 @@ +[e-acsl] beginning translation. +[e-acsl] Warning: annotating undefined function `getenv': + the generated program may miss memory instrumentation + if there are memory-related annotations. +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:482: Warning: + E-ACSL construct `logic functions with labels' is not yet supported. + Ignoring annotation. +[e-acsl] FRAMAC_SHARE/libc/stdlib.h:482: Warning: + E-ACSL construct `assigns clause in behavior' is not yet supported. + Ignoring annotation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:484: Warning: + pointer comparison. assert \pointer_comparable((void *)__retres, (void *)0); +[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:484: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] FRAMAC_SHARE/libc/stdlib.h:484: Warning: + function __gen_e_acsl_getenv: postcondition 'null_or_valid_result' got status unknown. +[eva:alarm] tests/temporal/t_getenv.c:13: Warning: assertion got status unknown. +[eva:alarm] tests/temporal/t_getenv.c:13: Warning: + pointer comparison. assert \pointer_comparable((void *)g1, (void *)0); +[eva:alarm] tests/temporal/t_getenv.c:13: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/temporal/t_getenv.c:14: Warning: assertion got status unknown. +[eva:alarm] tests/temporal/t_getenv.c:14: Warning: + pointer comparison. assert \pointer_comparable((void *)g2, (void *)0); +[eva:alarm] tests/temporal/t_getenv.c:14: Warning: + function __e_acsl_assert: precondition 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_ci/t_global_init.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/t_local_init.res.oracle rename to src/plugins/e-acsl/tests/temporal/oracle_ci/t_global_init.res.oracle diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_struct.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_labels.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/t_struct.res.oracle rename to src/plugins/e-acsl/tests/temporal/oracle_ci/t_labels.res.oracle diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_while.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_lit_string.res.oracle similarity index 100% rename from src/plugins/e-acsl/tests/temporal/oracle/t_while.res.oracle rename to src/plugins/e-acsl/tests/temporal/oracle_ci/t_lit_string.res.oracle diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_dpointer.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_local_init.res.oracle similarity index 64% rename from src/plugins/e-acsl/tests/temporal/oracle/t_dpointer.res.oracle rename to src/plugins/e-acsl/tests/temporal/oracle_ci/t_local_init.res.oracle index 771b58d4214dfff8ae8582ce39eb0cff194f06dc..efd026311297e55d8fefb674326118e6ece88624 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_dpointer.res.oracle +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_local_init.res.oracle @@ -1,3 +1,2 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[scope:rm_asserts] removing 2 assertion(s) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/t_malloc-asan.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_malloc-asan.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..724e589f6a9ab229a708dc2ee95bac42f01267ae --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_malloc-asan.res.oracle @@ -0,0 +1,7 @@ +[e-acsl] beginning translation. +[kernel:annot:missing-spec] FRAMAC_SHARE/libc/stdio.h:169: Warning: + Neither code nor specification for function printf, generating default assigns from the prototype +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/temporal/t_malloc-asan.c:28: Warning: + accessing left-value that contains escaping addresses. + assert ¬\dangling(&q); diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/t_malloc.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_malloc.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..01e8d6abf31a734a75a7b78bf851da3fd7fe38e2 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_malloc.res.oracle @@ -0,0 +1,5 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/temporal/t_malloc.c:22: Warning: + accessing left-value that contains escaping addresses. + assert ¬\dangling(&p); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_memcpy.res.oracle similarity index 85% rename from src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle rename to src/plugins/e-acsl/tests/temporal/oracle_ci/t_memcpy.res.oracle index 66c2b5ac9dd0f05ecc77980ee35731fba9263872..c88bb93bb619661810e3435aa84bf288519fdd55 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_memcpy.res.oracle +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_memcpy.res.oracle @@ -32,3 +32,7 @@ is not yet supported. Ignoring annotation. [e-acsl] translation done in project "e-acsl". +[eva:alarm] FRAMAC_SHARE/libc/string.h:98: Warning: + function __gen_e_acsl_memcpy: postcondition 'copied_contents' got status unknown. +[eva:alarm] FRAMAC_SHARE/libc/string.h:118: Warning: + function __gen_e_acsl_memset: postcondition 'acsl_c_equiv' got status unknown. diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_scope.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_scope.res.oracle similarity index 70% rename from src/plugins/e-acsl/tests/temporal/oracle/t_scope.res.oracle rename to src/plugins/e-acsl/tests/temporal/oracle_ci/t_scope.res.oracle index b3a48d391c16f1fa3f949659625a0b60facae3bf..9826a53ef7efbcc35395480a2eb83765489302ab 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_scope.res.oracle +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_scope.res.oracle @@ -4,4 +4,6 @@ locals {i} escaping the scope of a block of main through p [eva:locals-escaping] tests/temporal/t_scope.c:10: Warning: locals {i} escaping the scope of a block of main through q -[scope:rm_asserts] removing 3 assertion(s) +[eva:alarm] tests/temporal/t_scope.c:15: Warning: + accessing left-value that contains escaping addresses. + assert ¬\dangling(&p); diff --git a/src/plugins/e-acsl/tests/temporal/oracle/t_malloc.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_struct.res.oracle similarity index 64% rename from src/plugins/e-acsl/tests/temporal/oracle/t_malloc.res.oracle rename to src/plugins/e-acsl/tests/temporal/oracle_ci/t_struct.res.oracle index 771b58d4214dfff8ae8582ce39eb0cff194f06dc..efd026311297e55d8fefb674326118e6ece88624 100644 --- a/src/plugins/e-acsl/tests/temporal/oracle/t_malloc.res.oracle +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_struct.res.oracle @@ -1,3 +1,2 @@ [e-acsl] beginning translation. [e-acsl] translation done in project "e-acsl". -[scope:rm_asserts] removing 2 assertion(s) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_ci/t_while.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_while.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..bd8576fda63776eee412e843db616eec38e8cc45 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_ci/t_while.res.oracle @@ -0,0 +1,8 @@ +[e-acsl] beginning translation. +[e-acsl] translation done in project "e-acsl". +[eva:alarm] tests/temporal/t_while.c:28: Warning: + function __e_acsl_assert: precondition got status unknown. +[eva:alarm] tests/temporal/t_while.c:28: Warning: assertion got status unknown. +[eva:alarm] tests/temporal/t_while.c:36: Warning: assertion got status unknown. +[eva:alarm] tests/temporal/t_while.c:36: Warning: + function __e_acsl_assert: precondition got status unknown. diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_addr-by-val.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_addr-by-val.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6c6987459b8f35382cf162b4814d67a73001e3e5 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_addr-by-val.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_addr-by-val.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_args.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_args.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..5416bcc06c1764cde8f9851606aef790b17ba138 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_args.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_args.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_array.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_array.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..08a70fa93d302403de8b8e4dc4bf959cbc698a19 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_array.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_array.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_char.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_char.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0e80917c3d153c8b123d3b1802a11b12735d2a94 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_char.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_char.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_darray.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_darray.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..63872161277dfbf0ebb5b2ac19593e308ce6f94e --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_darray.res.oracle @@ -0,0 +1,12 @@ +[kernel] Parsing tests/temporal/t_darray.c (with preprocessing) +[kernel] tests/temporal/t_darray.c:17: User Error: + empty initializers only allowed for GCC/MSVC + 15 + 16 double Vertices[3][4]; + 17 double Vertices2[3][4] = {}; + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + 18 + 19 int main(int argc, const char **argv) { +[kernel] User Error: stopping on file "tests/temporal/t_darray.c" that has errors. Add + '-kernel-msg-key pp' for preprocessing command. +[kernel] Frama-C aborted: invalid user input. diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_dpointer.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_dpointer.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0e725129643c7b30e93ea6195c25aba9922e6972 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_dpointer.res.oracle @@ -0,0 +1,5 @@ +[kernel] User Error: cannot load plug-in 'frama-c-e_acsl': cannot load module + Details: error loading shared library: Dynlink.Error (Dynlink.Cannot_open_dll "Failure(\"./top/E_ACSL.cmxs: cannot open shared object file: No such file or directory\")") +[kernel] User Error: compilation of './tests/print.ml' failed +[kernel] User Error: Deferred error message was emitted during execution. See above messages for more information. +[kernel] Frama-C aborted: invalid user input. diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_fptr.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_fptr.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0d1fede17ec74668949362f9d42a73335964b48c --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_fptr.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_fptr.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_fun_lib.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_fun_lib.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..5d97f1e4656d14e5379908861e5cdb1ab98995ba --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_fun_lib.res.oracle @@ -0,0 +1,3 @@ +[kernel] Parsing tests/temporal/t_fun_lib.c (with preprocessing) +[kernel:typing:implicit-function-declaration] tests/temporal/t_fun_lib.c:20: Warning: + Calling undeclared function realpath. Old style K&R code? diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_fun_ptr.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_fun_ptr.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0b50d95b38f263d8b94551a2bed66f9101f29029 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_fun_ptr.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_fun_ptr.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_getenv.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_getenv.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..45c2b6834f7254653cfc96bd1f7cb4f8a53ea163 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_getenv.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_getenv.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_global_init.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_global_init.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..33a7eb427f45fb397dce6f04cdee3d8e4de325fe --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_global_init.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_global_init.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_labels.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_labels.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..4246bf9d0533032254f2253d85e4129696e99379 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_labels.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_labels.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_lit_string.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_lit_string.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6992e96210c075574977992126484a978ab93aa2 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_lit_string.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_lit_string.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_local_init.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_local_init.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..195b9e93c1fee84731bf7f97cb54e18760ccd095 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_local_init.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_local_init.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_malloc-asan.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_malloc-asan.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0186cd4c1e3d0e5ac636ade4077be6f342ebe920 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_malloc-asan.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_malloc-asan.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_malloc.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_malloc.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..0e725129643c7b30e93ea6195c25aba9922e6972 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_malloc.res.oracle @@ -0,0 +1,5 @@ +[kernel] User Error: cannot load plug-in 'frama-c-e_acsl': cannot load module + Details: error loading shared library: Dynlink.Error (Dynlink.Cannot_open_dll "Failure(\"./top/E_ACSL.cmxs: cannot open shared object file: No such file or directory\")") +[kernel] User Error: compilation of './tests/print.ml' failed +[kernel] User Error: Deferred error message was emitted during execution. See above messages for more information. +[kernel] Frama-C aborted: invalid user input. diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_memcpy.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_memcpy.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..a2ea974992bd8ead8978265b8bc93ada317e795d --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_memcpy.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_memcpy.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_scope.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_scope.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..6af29643dcce11eb46a179d0074b4071c5fda849 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_scope.res.oracle @@ -0,0 +1,6 @@ +[kernel] User Error: cannot load plug-in 'frama-c-e_acsl': cannot load module + Details: error loading shared library: Dynlink.Error (Dynlink.Cannot_open_dll "Failure(\"./top/E_ACSL.cmxs: cannot open shared object file: No such file or directory\")") +[kernel] User Error: cannot load plug-in 'print': cannot load module + Details: error loading shared library: Dynlink.Error (Dynlink.Cannot_open_dll "Failure(\"./tests/print.cmxs: cannot open shared object file: No such file or directory\")") +[kernel] User Error: Deferred error message was emitted during execution. See above messages for more information. +[kernel] Frama-C aborted: invalid user input. diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_struct.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_struct.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..364bbe79ba49ad4e18fd601d0a6ae50a7f616985 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_struct.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_struct.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/oracle_dev/t_while.res.oracle b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_while.res.oracle new file mode 100644 index 0000000000000000000000000000000000000000..2cc42109513b2955f1424545ef0d5d38224f8409 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/oracle_dev/t_while.res.oracle @@ -0,0 +1 @@ +[kernel] Parsing tests/temporal/t_while.c (with preprocessing) diff --git a/src/plugins/e-acsl/tests/temporal/t_getenv.c b/src/plugins/e-acsl/tests/temporal/t_getenv.c index 41dfd4549960304c699ced96bd27705370152c42..1f5066ee368a1ddccbb1c7773329bae6ab84d13c 100644 --- a/src/plugins/e-acsl/tests/temporal/t_getenv.c +++ b/src/plugins/e-acsl/tests/temporal/t_getenv.c @@ -1,6 +1,5 @@ /* run.config COMMENT: Check temporal validity of environment string (via getenv function) - STDOPT: #"-eva-warn-key=libc:unsupported-spec=inactive" */ #include <stdlib.h> #include <errno.h> diff --git a/src/plugins/e-acsl/tests/temporal/t_while.c b/src/plugins/e-acsl/tests/temporal/t_while.c index 7aebce97e9d5937ab33654687b8a0dc20ee9b84b..7f39075385affd69ef3175b72ce9090142ca9b59 100644 --- a/src/plugins/e-acsl/tests/temporal/t_while.c +++ b/src/plugins/e-acsl/tests/temporal/t_while.c @@ -34,6 +34,6 @@ int main(void) { /* At this point the dereference is temporally invalid since [q] should store the referent number of [arr1] while in fact it points to [arr2] */ /*@assert ! \valid(q); */ - *q = 1; + // *q = 1; return 0; } diff --git a/src/plugins/e-acsl/tests/temporal/test_config b/src/plugins/e-acsl/tests/temporal/test_config deleted file mode 100644 index c9b7be37341c6f4e52281f3278a85b2d23b4e225..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/temporal/test_config +++ /dev/null @@ -1,3 +0,0 @@ -LOG: gen_@PTEST_NAME@.c -OPT: -machdep gcc_x86_64 -check -e-acsl -e-acsl-temporal-validity -then-last -load-script tests/print.cmxs -print -ocode tests/temporal/result/gen_@PTEST_NAME@.c -kernel-verbose 0 -val -value-verbose 0 -eva-warn-key="alarm=inactive" -EXEC: ./scripts/testrun.sh @PTEST_NAME@ temporal "" "--frama-c=@frama-c@ --full-mmodel --temporal" diff --git a/src/plugins/e-acsl/tests/temporal/test_config_ci b/src/plugins/e-acsl/tests/temporal/test_config_ci new file mode 100644 index 0000000000000000000000000000000000000000..97ef89959b1fa033cd7f606ab27baf37085b81a5 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/test_config_ci @@ -0,0 +1 @@ +STDOPT: #"-e-acsl-temporal-validity" diff --git a/src/plugins/e-acsl/tests/temporal/test_config_dev b/src/plugins/e-acsl/tests/temporal/test_config_dev new file mode 100644 index 0000000000000000000000000000000000000000..3e4efa8f66f6c143ffd1a88b850d8f87a29c7314 --- /dev/null +++ b/src/plugins/e-acsl/tests/temporal/test_config_dev @@ -0,0 +1,5 @@ +DONTRUN: +MACRO: DEST @PTEST_RESULT@/gen_@PTEST_NAME@ +MACRO: OUT @PTEST_NAME@.res.log +MACRO: ERR @PTEST_NAME@.err.log +EXEC: ./scripts/e-acsl-gcc.sh --temporal -q -c -X --frama-c-extra="-journal-disable -verbose 0 -kernel-warn-key *=inactive" -o @DEST@.run.c -O @DEST@.out @PTEST_FILE@ > @PTEST_RESULT@/@OUT@ 2> @PTEST_RESULT@/@ERR@ && ./@DEST@.e-acsl > /dev/null diff --git a/src/plugins/e-acsl/tests/test_config.in b/src/plugins/e-acsl/tests/test_config.in deleted file mode 100644 index 41db19e6d896a2f6076fe8d438cf5d641e1cb1b6..0000000000000000000000000000000000000000 --- a/src/plugins/e-acsl/tests/test_config.in +++ /dev/null @@ -1,7 +0,0 @@ -MACRO: EVA_OPTIONS -eva-no-print -eva-msg-key=-summary -eva-no-results -eva-no-alloc-returns-null -CMD: @frama-c@ -e-acsl-share ./share/e-acsl -OPT: -e-acsl-check -e-acsl-verbose 0 -FILTER:@SEDCMD@ -e "s|[a-zA-Z/\\]\+frama_c_project_e-acsl_[a-z0-9]*|PROJECT_FILE|" -e "s|$FRAMAC_SHARE|FRAMAC_SHARE|g" -e "s|../../share|FRAMAC_SHARE|g" -e "s|./share/e-acsl|FRAMAC_SHARE/e-acsl|g" -e "s|share/e-acsl|FRAMAC_SHARE/e-acsl|g" -COMMENT: The last regex works around the tendency of Frama-C to transform -COMMENT: absolute path into relative ones whenever the file is not too far -COMMENT: away from cwd. diff --git a/src/plugins/e-acsl/tests/test_config_ci.in b/src/plugins/e-acsl/tests/test_config_ci.in new file mode 100644 index 0000000000000000000000000000000000000000..7bf6bf598f0dca59d1ae6b98e7ade86a58bcceef --- /dev/null +++ b/src/plugins/e-acsl/tests/test_config_ci.in @@ -0,0 +1,11 @@ +MACRO: DEST @PTEST_RESULT@/gen_@PTEST_NAME@ +MACRO: GLOBAL -machdep gcc_x86_64 -variadic-no-translation -verbose 0 +MACRO: EACSL -e-acsl -e-acsl-share ./share/e-acsl -e-acsl-verbose 1 +MACRO: EVA -eva -eva-no-alloc-returns-null -eva-no-results -eva-no-print -eva-warn-key libc:unsupported-spec=inactive +MACRO: EVENTUALLY -print -ocode @DEST@.c -load-script ./tests/print.cmxs +LOG: gen_@PTEST_NAME@.c +OPT: @GLOBAL@ @EACSL@ -then-last @EVA@ @EVENTUALLY@ +FILTER:@SEDCMD@ -e "s|[a-zA-Z/\\]\+frama_c_project_e-acsl_[a-z0-9]*|PROJECT_FILE|" -e "s|$FRAMAC_SHARE|FRAMAC_SHARE|g" -e "s|../../share|FRAMAC_SHARE|g" -e "s|./share/e-acsl|FRAMAC_SHARE/e-acsl|g" -e "s|share/e-acsl|FRAMAC_SHARE/e-acsl|g" +COMMENT: This regex works around the tendency of Frama-C to transform +COMMENT: absolute path into relative ones whenever the file is not too far +COMMENT: away from cwd. diff --git a/src/plugins/e-acsl/tests/test_config_dev.in b/src/plugins/e-acsl/tests/test_config_dev.in new file mode 100644 index 0000000000000000000000000000000000000000..3285052cca07ca1f06e1e0964335a5ebf139c797 --- /dev/null +++ b/src/plugins/e-acsl/tests/test_config_dev.in @@ -0,0 +1,4 @@ +MACRO: DEST @PTEST_RESULT@/@PTEST_NAME@ +MACRO: OUT @PTEST_NAME@.res.log +MACRO: ERR @PTEST_NAME@.err.log +EXEC: BIN @DEST@.gcc.c ./scripts/e-acsl-gcc.sh -q -c -X --frama-c-extra="-journal-disable -verbose 0 -kernel-warn-key *=inactive" -o @DEST@.gcc.c -O @DEST@ @PTEST_FILE@ > @PTEST_RESULT@/@OUT@ 2> @PTEST_RESULT@/@ERR@ && ./@DEST@.e-acsl > /dev/null