- Sep 18, 2024
-
-
Loïc Correnson authored
[QED/listmap] Fix change function See merge request frama-c/frama-c!4753
-
Virgile Prevosto authored
[kernel] Const-fold enum value in ternary ops See merge request frama-c/frama-c!4778
-
Julien Signoles authored
[e-acsl] fix logic variable escaping its scope See merge request frama-c/frama-c!4774
-
Andre Maroneze authored
-
David Bühler authored
[eva] fix pretty-printing of dot graph in traces domain See merge request frama-c/frama-c!4773
-
Basile Desloges authored
When using an enum in a ternary operator, the value is const-folded before checking if it evaluates to `true` or `false` so that const-expr used as enum values are supported.
-
Without escaping strings such as variable names, the produced .dot file might print '\result' as a variable name, which results in '\r' being stripped. Dot will then show edges such as 'esult<main>'.
-
-
-
- Sep 17, 2024
-
-
Loïc Correnson authored
Clean Why3 theories See merge request frama-c/frama-c!4498
-
Allan Blanchard authored
-
Loïc Correnson authored
[wp] Fix code semantics float typing See merge request frama-c/frama-c!4776
-
Allan Blanchard authored
-
Allan Blanchard authored
-
Allan Blanchard authored
-
Allan Blanchard authored
-
Jan Rochel authored
When translating a function we must ensure that it cannot re-use any expressions resulting from translating logic variables from its call site. One might think that this may not occur, since logic variables are unique. However sometimes the same logic function needs to be translated twice (with different signatures). In that case there are indeed indentical logic variables for different C code to be generated, and re-using that code would be erroneous. See the pathological example from the previous commit. This commit fixes this by clearing the map of logic bindings before translating a function body.
-
Jan Rochel authored
bin/test.sh -c dev fails for this example. GCC complains that a.out.frama.c:277:13: error: ‘__gen_e_acsl_v_2’ undeclared The translation doesn't take into account the scenario that the same logic function needs to be translated twice. This is due to different call sites requiring different signatures. The authors of the translation must worked with the assumption that uniqueness of logic variables is a strong enough guarantee to be able to reuse the translation of a logic variable can always be re-used. This is wrong, since the translation of a logic variable can be re-used within the context of one function translation, but escapes its scope if it is re-used in another translation of the same function.
-
Thibault Martin authored
[extlib] remove obsolete functions See merge request frama-c/frama-c!4769
-
Allan Blanchard authored
[release] the installation link now targets GitLab See merge request frama-c/frama-c!4748
-
- Sep 16, 2024
-
-
Allan Blanchard authored
[dev] add ocp-indent to dev-setup dependencies See merge request frama-c/frama-c!4721
-
Allan Blanchard authored
-
- Sep 13, 2024
-
-
Andre Maroneze authored
-
Allan Blanchard authored
Replaces impact and slicing pragmas by ACSL extensions Closes #1390 See merge request frama-c/frama-c!4768
-
Allan Blanchard authored
-
Allan Blanchard authored
-
-
As slice pragmas have been replaced by ACSL extensions.
-
As slice pragmas have been replaced by slice ACSL extensions.
-
-
-
Updates logic_deps to take these directives into account. Updates pdg and slicing.
-
-impact-pragma remains as an invisible deprecated alias of -impact-annot.
-
-
-
-
Loïc Correnson authored
Generate Ivette API on the fly See merge request frama-c/frama-c!4752
-
Allan Blanchard authored
-
Virgile Prevosto authored
Multiple fixes and improvements on CI See merge request frama-c/frama-c!4762
-
Loïc Correnson authored
[wp] -wp-par defaults to number of logical cores See merge request frama-c/frama-c!4756
-