Skip to content
Snippets Groups Projects
Changelog 28 KiB
Newer Older
###############################################################################
# Preliminary notes:                                                          #
# ------------------                                                          #
# Mark "-": change with an impact for users (and possibly developers).        #
# Mark "o": change with an impact for developers only.                        #
# Mark "+": change for Frama-C-commits audience (not in html version)         #
# Mark "*": bug fixed.                                                        #
# Mark "!": change that can break compatibility with existing development.    #
# '#nnn'   : BTS entry #nnn                                                   #
# '#!nnn'  : BTS private entry #nnn                                           #
# '#@nnn'  : Gitlab frama-c/frama-c issue                                     #
# '##nnn'  : Gitlab pub/frama-c issue                                         #
# For compatibility with old change log formats:                              #
# '#?nnn'  : OLD-BTS entry #nnn                                               #
###############################################################################
# Categories:
#   E-ACSL      monitor generation
#   runtime     C runtime library (and memory model)
#   e-acsl-gcc  launcher e-acsl-gcc.sh
#   Makefile    Makefile
#   configure   configure
###############################################################################

############################
Plugin E-ACSL <next-release>
############################
#########################
Plugin E-ACSL 26.0 (Iron)
#########################

-* E-ACSL       [2022-11-08] Fix clashing name when a function with contract and a
                logic function have the same name (frama-c/eacsl#204)
- E-ACSL        [2022-11-08] Add support for functions returning a rational
-* E-ACSL       [2022-11-08] Fix assign clause and result as extra argument for functions
                returning a structure (frama-c/frama-c#1139)
- E-ACSL        [2022-19-07] Improve typing precision of variables appearing in comparisons
-* E-ACSL       [2022-09-08] Fix typing of recursive predicates (frama-c/e-acsl#198)
-* E-ACSL       [2022-17-06] Fix wrong cast from pointer to integer (frama-c/frama-c#1119)
François Bobot's avatar
François Bobot committed

##############################
Plugin E-ACSL 25.0 (Manganese)
François Bobot's avatar
François Bobot committed
##############################
Julien Signoles's avatar
Julien Signoles committed

-* E-ACSL       [2022-23-05] Fix crash for quantifications over enum types (frama-c/e-acsl#199)
-*  E-ACSL      [2022-06-09] Fix wrong cast of pointer to integer (frama-c/frama-c#1119)
Julien Signoles's avatar
Julien Signoles committed
-  E-ACSL       [2022-03-04] Improve translation of `\at()` terms and
                predicates (frama-c/e-acsl#108).
Julien Signoles's avatar
Julien Signoles committed
-* E-ACSL       [2022-03-01] Fix normalization of global annotations that
                may lead to crashes (frama-c/e-acsl#195).
-  E-ACSL       [2022-01-28] Add Linux's pthread concurrency support.
-* E-ACSL       [2021-12-03] Fix crash when creating an axiomatic with an
                existing name in E-ACSL's RTL (frama-c/e-acsl#161).
-* E-ACSL       [2021-12-01] Fix crash when binding a lambda-abstraction to a
                local variable (frama-c/e-acsl#189).
-* e-acsl-gcc   [2021-11-30] Fix e-acsl-gcc.sh bash autocompletion script and
                install it at a standard location.
-* E-ACSL       [2021-11-23] Add support for VDSO segment on Linux.
-* e-acsl-gcc   [2021-11-22] Fix e-acsl-gcc.sh detection of failures in
                subcommands.
-  runtime      [2021-11-03] Improve runtime debug logs: the %a modifier now
                outputs in hexadecimal, the debug logs now all end in new lines,
                the trace now outputs to stderr.
-* runtime      [2021-11-03] Fix default stack size: E_ACSL_STACK_SIZE
                is now correctly used by the runtime, the default values
                have been adjusted to what was effectively used.
-* E-ACSL       [2021-11-03] Now the same Frama-C options are used when parsing
                the user sources and the E-ACSL's RTL.

#############################
Plugin E-ACSL 24.0 (Chromium)
#############################

-* E-ACSL       [2021-11-24] Fix code generation of properties proven invalid
                with a previous analysis (frama-c/e-acsl#166).
-  E-ACSL       [2021-10-20] Add option -e-acsl-assert-print-data
                (--assert-print-data in e-acsl-gcc.sh) to print data
                contributing to a failed assertion along with the error message.
                Add option --external-print-value in e-acsl-gcc.sh to provide a
                custom implementation of __e_acsl_print_value().
Julien Signoles's avatar
Julien Signoles committed
-  E-ACSL       [2021-10-07] Support for \prod and \numof.
-* E-ACSL       [2021-09-29] Fix translation order of the default behavior's
                requires clauses. They are now translated before the evaluation
                of the assumes clauses of the other behaviors.
Thibaut Benjamin's avatar
Thibaut Benjamin committed
-* E-ACSL       [2021-09-13] Fix unsound reuse of previously typed recursive
                functions (frama-c/e-acsl#177)
-  E-ACSL       [2021-08-03] Correct monitoring of code depending on libc
                function calls that write memory locations (frama-c/e-acsl#157).
Julien Signoles's avatar
Julien Signoles committed
-* E-ACSL       [2021-07-30] Fix incorrect evaluation of quantified
                predicates when a strict guard overlaps with the type of the
                bound variable (unlikely in practice) (frama-c/e-acsl#149).
Thibaut Benjamin's avatar
Thibaut Benjamin committed
-* E-ACSL       [2021-07-19] Fix crash occurring when two or more successive
                logic coercions were done in a term (frama-c/e-acsl#172).
-* E-ACSL       [2021-07-19] Fix crash when raising some user errors
                (frama-c/e-acsl#170).
-* E-ACSL       [2021-07-16] Fix crash when using some built-in labels
                (frama-c/e-acsl#173).
Julien Signoles's avatar
Julien Signoles committed
-  E-ACSL       [2021-07-06] Support for \sum.
-* E-ACSL       [2021-06-22] Fix a crash that occured when using certain
                combinations of nested blocks and annotations.
-* E-ACSL       [2021-06-16] Fix literal string replacements in function
                arguments during a local initialization.
-* E-ACSL       [2021-06-14] Fix pointer address on memory annotations with
                range indices (frama-c/e-acsl#148).
-* E-ACSL       [2021-06-04] Do not translate contracts of E-ACSL built-ins.

Allan Blanchard's avatar
Allan Blanchard committed
#############################
Plugin E-ACSL 23.1 (Vanadium)
#############################
-* E-ACSL       [2021-07-19] Fix crash occurring when two or more successive
                logic coercions were done in a term (frama-c/e-acsl#172).
-* E-ACSL       [2021-07-19] Fix crash when raising some user errors
                (frama-c/e-acsl#170).
-* E-ACSL       [2021-07-16] Fix crash when using some built-in labels
                (frama-c/e-acsl#173).
Julien Signoles's avatar
Julien Signoles committed
-* E-ACSL       [2021-07-13] Fix crash when encountering a GMP value in a loop
                variant (frama-c/e-acsl#169).

François Bobot's avatar
François Bobot committed
#############################
Plugin E-ACSL 23.0 (Vanadium)
#############################

-* E-ACSL       [2021-05-25] Restore behavior of option -e-acsl-no-valid broken
                since Titanium (included).
-  E-ACSL       [2021-04-09] Add support for loop variant.
-  E-ACSL       [2021-04-07] Add support for multiple binders in guarded
                quantifications (frama-c/e-acsl#127).
Julien Signoles's avatar
Julien Signoles committed
-* runtime      [2021-04-08] Fix backtrace output on failed assertion
                (frama-c/e-acsl#151).
-* runtime      [2021-04-08] Fix incorrect check on program arguments when the
                main function takes no arguments (frama-c/e-acsl#151).
-* runtime      [2021-03-30] Fix the end address of the memory segments in the
                RTL layouts.
-  E-ACSL       [2021-03-25] Add support for `check` and `admit` annotations
                (frama-c/e-acsl#142).
-* E-ACSL       [2021-03-25] Fix wrong computation of the base pointer when
                calling \valid predicate leading to undetected array overflows.
-* E-ACSL       [2021-02-24] Fix crash when running another analysis after
                E-ACSL caused by E-ACSL breaking some internal kernel invariant
                (frama-c/e-acsl#145).
-  e-acsl-gcc   [2021-02-24] Try to find Frama-C binary in script or development
                directory if not present in PATH (frama-c/e-acsl#104).
-  e-acsl-gcc   [2021-02-24] Remove obsolete options from documentation and bash
                completion script (frama-c/e-acsl#104).
-  e-acsl-gcc   [2021-02-24] Deactivate Variadic translation when using
                incompatible option --validate-format-strings
                (frama-c/e-acsl#104).
-  e-acsl-gcc   [2021-02-24] Do not load Frama-C plugins when retrieving share
                and plugins paths (frama-c/e-acsl#104).
-* runtime      [2021-02-18] Fix integration of contracts from the runtime
                library into Frama-C (#@999).
-* E-ACSL       [2021-01-12] Fix crash when comparing two structs, which is
                currently unsupported (frama-c/e-acsl#139).
Julien Signoles's avatar
Julien Signoles committed
-* Makefile     [2021-01-05] Fix dependencies in bytecode-only compilation.
-  E-ACSL       [2020-12-09] Add RTL support for Windows.
-  E-ACSL       [2020-11-17] Update e-acsl-gcc.sh so that the library dlmalloc
                can be compiled and used from sources.

#############################
Plugin E-ACSL 22.0 (Titanium)
#############################

-* E-ACSL       [2020-11-16] Fix soundness bug when checking
                initialization of a chunk of heap memory block.
Julien Signoles's avatar
Julien Signoles committed
-  E-ACSL       [2020-10-14] Support for Variadic generated functions in
                the AST (frama-c/e-acsl#128).
-  E-ACSL       [2020-10-06] Add support for the `\separated` predicate.
                (frama-c/e-acsl#31)
-* E-ACSL       [2020-10-06] Fix a soundness bug when translating a range with a
                logic variable.
-  E-ACSL       [2020-09-22] Support of complete and disjoint behavior
                (frama-c/e-acsl#92 and frama-c/e-acsl#27).
-* runtime      [2020-09-15] Fix wrong value returned for the stack size in the
                segment memory model (frama-c/e-acsl#126).
-  E-ACSL       [2020-09-15] Deprecate -e-acsl-full-mmodel in favor of
                -e-acsl-full-mtracking.
-  e-acsl-gcc   [2020-09-15] Deprecate --full-mmodel in favor of
                --full-mtracking.
-* E-ACSL       [2020-08-28] Fix crash that may occur when translating
                properties that have been proved valid by another plug-in
                (frama-c/e-acsl#106).
Julien Signoles's avatar
Julien Signoles committed
-! E-ACSL       [2020-08-28] Remove option -e-acsl-prepare-ast.
-! E-ACSL       [2020-08-28] Remove option -e-acsl-check.
-  E-ACSL       [2020-08-07] Add support for logical array comparison
                (frama-c/e-acsl#99).
-  E-ACSL       [2020-07-28] Add support of bitwise operators
                (frama-c/e-acsl#33).
-* E-ACSL       [2020-07-20] Fix unstable order of generated globals
                (frama-c/e-acsl#124).
Julien Signoles's avatar
Julien Signoles committed
-* E-ACSL       [2020-07-10] Fix translation of trange (incorrect length).
-* E-ACSL       [2020-07-09] Decrease the number of allocated blocks when one
                block is freed.
-  E-ACSL       [2020-06-19] Add support to create GMP rational from GMP
                integer (frama-c/e-acsl#120).
-* E-ACSL       [2020-06-18] Fix support of VLA memory tracking
                (frama-c/e-acsl#119).
#############################
Plugin E-ACSL 21.0 (Scandium)
#############################

-* E-ACSL       [2020-06-10] Fix ##13: bug when mixing integers and floats in
                annotations while -e-acsl-gmp-only is activated.
-* E-ACSL       [2020-06-10] Fix a soundness bug (##14) when initializing
                rationals from integers.
-* E-ACSL       [2020-03-24] Fix automatic deactivation of plug-in Variadic when
Julien Signoles's avatar
Julien Signoles committed
                E-ACSL is directly called from Frama-C without using
                e-acsl-gcc.sh.
-  E-ACSL       [2020-03-10] Call E-ACSL's free functions for globals in a
                separate function at the end of main.
-  E-ACSL       [2020-03-10] Call `__e_acsl_memory_init` only if the memory
                model analysis is running.
-* E-ACSL       [2020-03-10] Fix frama-c/e-acsl#105 about misplaced
                `__e_acsl_delete_block` in presence of gotos to return statements.
-* E-ACSL       [2020-03-16] Fix #?1386 and frama-c/e-acsl#91 about the tracking
                of variables declared inside the body of switches.
-  E-ACSL       [2020-02-09] Improve verdict messages emitted by e_acsl_assert.
-* E-ACSL       [2020-01-06] Fix typing bug in presence of variable-length
                arrays that may lead to incorrect generated code.
-* E-ACSL       [2019-12-04] Fix bug with compiler built-ins.
############################
Plugin E-ACSL 20.0 (Calcium)
############################

-  E-ACSL       [2019-08-28] Support of rational numbers and operations.
-! E-ACSL       [2019-08-28] Deactivate the unsound support of real
                numbers (that are not rationals). They were previously
                unsoundly converted to floating point numbers.
Julien Signoles's avatar
Julien Signoles committed

Virgile Prevosto's avatar
Virgile Prevosto committed
##############################
Plugin E-ACSL 19.0 (Potassium)
##############################

-  E-ACSL       [2019-04-29] Support for logic functions and predicates
-  runtime      [2019-02-26] The behavior of __e_acsl_assert now depends on the
                runtime value of the global variable __e_acsl_sound_verdict:
                if 0, it means that its verdict is possibly incorrect.
-  E-ACSL       [2019-02-26] New option -e-acsl-instrument to instrument
                only a specified set of functions. It may lead to incorrect
                verdicts.
-  E-ACSL       [2019-02-19] New option -e-acsl-functions to monitor only
                annotations in a white list of functions.
-* runtime      [2019-02-04] Fix initialization of the E-ACSL runtime in
                presence of multiple calls to its initializer (for
                instance, if the main is a recursive function).
-* runtime      [2019-01-02] Fix overlap of TLS with other memory
Julien Signoles's avatar
Julien Signoles committed
                segments for large memory spaces.
-  E-ACSL       [2018-11-15] Predicates with empty quantifications
Fonenantsoa Maurica's avatar
Fonenantsoa Maurica committed
                directly generate \true or \false instead of nested loops.

##########################
Plugin E-ACSL 18.0 (Argon)
##########################

-* E-ACSL       [2018-11-13] Fix typing bug in quantifications when the
Fonenantsoa Maurica's avatar
Fonenantsoa Maurica committed
                guards of the quantifier variable cannot be represented into
                its type.
-* runtime      [2018-11-13] Fix bug #!2405 about memory initialization
                in presence of GCC constructors.
-* E-ACSL       [2018-10-23] Fix bug #2406 about monitoring of variables
                with incomplete types.
-* E-ACSL       [2018-10-04] Fix bug #2386 about incorrect typing when
                performing pointer subtraction.
-* E-ACSL       [2018-10-04] Support for \at on purely logic variables.
                Fix bug #1762 about out-of-scope variables when using \old.
-* E-ACSL       [2018-10-02] Fix bug #2305 about taking the address of a
-  E-ACSL       [2018-09-18] Support for ranges in memory builtins
                (\valid, \initialized, etc).
Fonenantsoa Maurica's avatar
Fonenantsoa Maurica committed

######################################
Plugin E-ACSL 17.0 (Chlorine-20180501)
######################################
-  E-ACSL       [2018-03-30] Support for let binding.
-  E-ACSL       [2018-02-21] New option -e-acsl-replace-libc-functions to
                replace a few libc functions by built-ins that efficiently
                detects when they are incorrectly called.
-  E-ACSL       [2018-02-21] New option -e-acsl-validate-format-strings to
                detect format string errors in printf-like functions.
-* E-ACSL       [2018-02-21] Correct support of variable-length array
-* runtime      [2018-02-16] Function __e_acsl_offset now returns size_t.
-* E-ACSL       [2018-02-07] Fix incorrect typing in presence of
                comparison operators (may only be visible when directly
                analyzing the E-ACSL's generated code with Frama-C without
                pretty-printing it).
-* runtime      [2018-01-30] E-ACSL aborted when run on a machine with a
                low hard limit on the stack size.
-* E-ACSL       [2018-01-08] Fix a crash when translating a postcondition
                that should generate a local variable (bts #2339).
-* e-acsl-gcc   [2017-11-28] Several files may be given to e-acsl-gcc.sh
                (as specified).
-* E-ACSL       [2017-11-27] Fix 'segmentation fault' of the generated monitor
                whenever the main has a precondition depending on the memory
                model.
-* E-ACSL       [2017-11-27] Restore behavior of option -e-acsl-valid broken
                since Phosphorus (included).

####################################
Plugin E-ACSL 16.0 (Sulfur-20171101)
####################################
-* E-ACSL       [2017-10-25] Fix bug #2303 about unnamed formals in
                annotated functions.
-  e-acsl-gcc   [2017-06-10] Add --free-valid-address option to e-acsl.gcc.sh.
-  e-acsl-gcc   [2017-05-29] Add --fail-with-code option to e-acsl.gcc.sh.
-  e-acsl-gcc   [2017-05-19] Add --temporal option to e-acsl.gcc.sh.
-  E-ACSL       [2017-05-19] New detection of temporal errors in E-ACSL
                through -e-acsl-temporal-validity (disabled by default).
-  e-acsl-gcc   [2017-03-26] Add --weak-validity option to e-acsl.gcc.sh.
-  e-acsl-gcc   [2017-03-26] Add --rt-verbose option to e-acsl.gcc.sh.
-  e-acsl-gcc   [2017-03-26] Add --keep-going option to e-acsl.gcc.sh allowing
                a program to continue execution after an assertion failure.
-  e-acsl-gcc   [2017-03-26] Add --stack-size and --heap-size options to
                e-acsl-gcc.sh allowing to change the default sizes of the
                respective shadow spaces.
########################################
Plugin E-ACSL 15.0 (Phosphorus-20170501)
########################################
-  runtime      [2017-03-29] The (much more efficient) shadow memory model is
-* runtime      [2017-03-28] Fix backtrace when the failed instrumented programs
                do not require memory model.
-! e-acsl-gcc   [2017-03-19] Remove --print|-p option from e-acsl-gcc.sh
-  e-acsl-gcc   [2017-03-16] Add --check option to e-acsl-gcc.sh which allows
                to check the integrity of the generated AST before
                instrumentation.
-! e-acsl-gcc   [2017-03-03] Remove precond rte option from e-acsl-gss.sh.
-* E-ACSL       [2017-03-02] Fix bts #1740 about incorrect monitoring of
                memory properties when early exiting a block through
                goto, break or continue.
-* E-ACSL       [2017-03-01] Correct support of stdin, stdout and stderr
-* E-ACSL       [2017-02-24] Fix crash with casts from non-integral terms to
                integral types (bts #2284).
-* E-ACSL       [2017-02-17] Fix bug with goto which points to a labeled
                statement which must be instrumented.
-* E-ACSL       [2017-01-23] Fix bug #2252 about pointer arithmetic with
-* E-ACSL       [2017-01-23] Fix bug with typing of unary and binary
                operations in a few cases: the generated code might have
                overflowed.
####################################
Plugin E-ACSL 0.8 (Silicon-20161101)
####################################
Julien Signoles's avatar
Julien Signoles committed

-* e-acsl-gcc   [2016-11-07] Added --rte-select feature to e-acsl-gcc.sh.
-* e-acsl-gcc   [2016-08-02] Added --rt-debug feature to e-acsl-gcc.sh.
                --enable-optimized-rtl configure option removed
-* configure    [2016-08-02] Added --enable-optimized-rtl option to configure
-* e-acsl-gcc   [2016-08-02] Removed --production|-P, --no-stdlib|-N and
                --debug-log|-D options of e-acsl-gcc.sh.
-* E-ACSL       [2016-07-21] Enable reporting of stack traces during assertion
                failures in instrumented programs.
-* e-acsl-gcc   [2016-07-13] Add an e-acsl-gcc.sh option (--print--models)
                allowing to print the names of the supported memory models.
-* E-ACSL       [2016-07-01] Add monitoring support for aligned memory
                allocation via posix_memalign and aligned alloc functions.
-* runtime      [2016-07-01] Add local version of GMP library customized for use
                with E-ACSL runtime library.
-* runtime      [2016-07-01] Add custom implementation of malloc for use with
                E-ACSL runtime library (via jemalloc library).
-  E-ACSL       [2016-05-31] New option -e-acsl-builtins which allows to
                declare pure C functions which can be used in logic
                function application.
-  E-ACSL       [2016-05-23] Re-implementation of the type system which
                improves the efficiency of the generated code over integers.
-* E-ACSL       [2016-05-23] Fix bug #2191 about complicate structs and
-* e-acsl-gcc   [2016-05-22] Add an e-acsl-gcc.sh option (--rte|-a) allowing to
                annotate the source program with memory-safety assertions prior
                to instrumentation.
-* E-ACSL       [2016-05-23] Fix bug #1395 about recursive functions.
-* Makefile     [2016-04-07] Fix 'make install' when executed within Frama-C.
-* runtime      [2016-03-31] Improve performance of Patricia Trie memory model.
-* Makefile     [2016-02-25] Fix 'make clean' in tests.
-* runtime      [2016-01-15] Fix several bugs related to incorrect partial
                initialization of tracked memory blocks in the E-ACSL
                memory model library.
######################################
Plugin E-ACSL 0.6 (Magnesium_20151002)
######################################
-* e-acsl-gcc   [2016-01-22] Add an e-acsl-gcc.sh option allowing to skip
                compilation of original sources.
-* Makefile     [2016-01-15] Fix installation with custom --prefix.
-* runtime      [2016-01-05] Fix bug in the memory model that caused the
                tracked size of heap memory be computed incorrectly.
-  e-acsl-gcc   [2015-12-15] Add a convenience script e-acsl-gcc.sh for
                small runs of the E-ACSL plugin.
-* E-ACSL       [2015-12-08] Fix bug #1817 about incorrect initialization of
                literal strings in global arrays with compound initializers.
-* runtime      [2015-11-06] Fix a crash occuring when using a recent libc
                while GMP headers provided by E-ACSL are used.
###################################
Plugin E-ACSL 0.5 (Sodium_20150201)
###################################
-  E-ACSL       [2015-06-01] Support of \freeable. Thus illegal calls to
                free (e.g. double free) are detected.
-* E-ACSL       [2015-05-28] Fix types of \block_length and \offset.
-  E-ACSL       [2015-05-27] Search .h in the E-ACSL memory model by
                default (easier to use declarations like __memory_size).
-  E-ACSL       [2015-05-27] Compatibility with new Frama-C Sodium option
-* E-ACSL       [2015-04-28] Fix bug when using fopen.
-* E-ACSL       [2015-03-06] Fix bugs #1636 and #1837 about scoping of literal
o  E-ACSL       [2014-12-17] Export a minimal API for other plug-ins.
-* E-ACSL       [2014-10-27] Add a missing cast when translating an integral
                type used in a floating point/real context in an annotation.
###################################
Plugin E-ACSL 0.4.1 (Neon_20140301)
###################################
Julien Signoles's avatar
Julien Signoles committed

-* E-ACSL       [2014-08-05] Fix bug #1838 about memset.
-* E-ACSL       [2014-08-05] Fix bug #1818 about initialization of globals.
-* E-ACSL       [2014-08-04] Fix bug #1696 by clarifying the manual.
-* E-ACSL       [2014-08-04] Fix bug #1831 about argc and argv.
-* E-ACSL       [2014-07-19] Fix bug #1836 about one-off error when
                computing the block which a pointer points to.
-* E-ACSL       [2014-07-08] Fix bug #1695 about using some part of the
                (Frama-C) libc which prevents linking of the generated C code.
-* E-ACSL       [2014-05-21] Fix bug #1782 about incorrect URL in the
-  E-ACSL       [2014-03-27] Remove spurious warnings when using type real
-* E-ACSL       [2014-03-26] Fix bug #1692 about wrong localisation of
-  E-ACSL       [2014-03-26] Remove a spurious warning when an annotated
                function is first declared, then defined.
-* E-ACSL       [2014-03-26] Fix bug #1717 about instrumentation of
-* E-ACSL       [2014-03-25] Fix bug #1716 with annotations in while(1).
-* E-ACSL       [2014-03-25] Fix bug #1715 about -e-acsl-full-mmodel which
                generates incorrect code.
-* E-ACSL       [2014-03-17] Fix bug #1700 about non-ISO empty struct.
#################################
Plugin E-ACSL 0.4 (Neon_20140301)
#################################
-* E-ACSL       [2014-01-28] Fix bug #1634 occuring in presence of static
-* E-ACSL       [2013-09-26] Fix incorrectness which may occur in presence
-* E-ACSL       [2013-09-25] Some loop invariants were tagged as "assertions".
#####################################
Plugin E-ACSL 0.3 (Fluorine_20130601)
#####################################
-  E-ACSL       [2013-09-18] More precise message for unsupported contract
-  E-ACSL       [2013-09-18] Use GMP still less often.
-* E-ACSL       [2013-09-18] Fix bug which may occur with divisions and modulos.
-  runtime      [2013-09-10] Improve ACSL contracts of the E-ACSL C library.
-  E-ACSL       [2013-09-06] Support of loop invariants.
-* E-ACSL       [2013-09-04] Fix bug when monitored global variables have
                initializers (bts #1478).
-* E-ACSL       [2013-09-04] Fix bug when mixing -e-acsl-prepare and
                running E-ACSL in another project (bts #!1473).
-* E-ACSL       [2013-06-26] Fix crash with typedef on pointer types.
-  E-ACSL       [2013-06-21] Fewer unknown locations.
-* E-ACSL       [2013-06-18] Fix bug when generating RTEs on the E-ACSL
-* E-ACSL       [2013-05-30] Fix -e-acsl-debug n, with n >= 2.
Julien Signoles's avatar
Julien Signoles committed

#####################################
Plugin E-ACSL 0.2 (Fluorine_20130401)
#####################################
Julien Signoles's avatar
Julien Signoles committed

-  E-ACSL       [2013-01-09] New option -e-acsl-valid. By default, valid
                annotation are not translated anymore.
-* E-ACSL       [2013-01-09] Fix bug when translating a postcondition of a
                function where the init state is the same than the final
                state (bts #!1300).
-  E-ACSL       [2013-01-09] Support of undefined function with a contract.
-  E-ACSL       [2012-12-20] Support of ghost variables and statements.
-* E-ACSL       [2012-12-13] Fix bug with complex term left-values.
-  E-ACSL       [2012-11-27] Support of \valid_read.
-  E-ACSL       [2012-11-27] Prevent runtime errors in annotations, except
                uninitialized variables.
-  E-ACSL       [2012-11-19] Support of floats in annotations. Approximate
-  E-ACSL       [2012-10-25] Support of \valid.
-  E-ACSL       [2012-10-25] Support of \initialized.
-  E-ACSL       [2012-10-25] Support of \block_length.
-  E-ACSL       [2012-10-25] Support of \offset.
-  E-ACSL       [2012-10-25] Support of \base_addr.
-* E-ACSL       [2012-09-13] Fix bug with very long ACSL integer constants.
-  E-ACSL       [2012-06-27] Continue to convert the other pre/post-conditions
-  runtime      [2012-04-27] Improve ACSL spec of E-ACSL' C library.
-* Makefile     [2012-01-27] Fix compilation bug when configuring with
-  E-ACSL       [2012-01-25] Nicer generated variable names.
-* E-ACSL       [2012-01-24] Fix bug with lazy operators in term position.
-* E-ACSL       [2012-01-24] Fix bug with boolean.
-* E-ACSL       [2012-01-24] Fix bug with negation and GMP integers.
-* E-ACSL       [2012-01-24] Fix bug with conditional and GMP integers.
-  runtime      [2012-01-24] Function e_acsl_assert now consistent with
-  E-ACSL       [2012-01-23] Support of bitwise complementation.
-  E-ACSL       [2012-01-20] Use GMP arithmetics only when required
                (i.e. mostly never in practice).
Julien Signoles's avatar
Julien Signoles committed

#####################################
Plugin E-ACSL 0.1 (Nitrogen_20111001)
#####################################
-  E-ACSL       [2012-01-06] First public release.

###################################