Skip to content

Commit 78f208c

Browse files
committed
Merge branch 'develop' into doc_8428
2 parents c974324 + f0543bd commit 78f208c

File tree

33 files changed

+282
-182
lines changed

33 files changed

+282
-182
lines changed

CHANGELOG

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,28 @@
1+
# CBMC 6.2.0
2+
3+
## What's Changed
4+
* Dynamic frames: do not add trivial properties by @tautschnig in https://github.com/diffblue/cbmc/pull/8413
5+
6+
## Bug Fixes
7+
* Contracts/dynamic frames: do not attempt to instrument typedefs by @tautschnig in https://github.com/diffblue/cbmc/pull/8403
8+
* Remove dynamic_cast from bv_dimacst by @tautschnig in https://github.com/diffblue/cbmc/pull/8406
9+
* Remove uses of `dynamic_cast` from qualifierst hierarchy by @tautschnig in https://github.com/diffblue/cbmc/pull/8405
10+
* Remove Java's unnecessary languaget::parse peculiarity by @tautschnig in https://github.com/diffblue/cbmc/pull/8407
11+
* Solver factory: set_decision_procedure_time_limit does not require dynamic_cast by @tautschnig in https://github.com/diffblue/cbmc/pull/8409
12+
* Solver factory: make_satcheck_prop does not require dynamic_cast by @tautschnig in https://github.com/diffblue/cbmc/pull/8410
13+
* Solver factory: all solvers are stack_decision_proceduret by @tautschnig in https://github.com/diffblue/cbmc/pull/8408
14+
* Remove qualifierst by @tautschnig in https://github.com/diffblue/cbmc/pull/8419
15+
* Contracts (DFCC) regression tests: use CaDiCaL by @tautschnig in https://github.com/diffblue/cbmc/pull/8414
16+
* Library functions: mark them as compiled by @tautschnig in https://github.com/diffblue/cbmc/pull/8412
17+
* Maintain loop invariant annotation when converting do .. while by @tautschnig in https://github.com/diffblue/cbmc/pull/8417
18+
* CONTRACTS: redirect checks to outer write set for loops that get skipped by @remi-delmas-3000 in https://github.com/diffblue/cbmc/pull/8416
19+
* CONTRACTS: fix do while latch by @remi-delmas-3000 in https://github.com/diffblue/cbmc/pull/8420
20+
* Remove dynamic_cast from counterexample beautification code path by @tautschnig in https://github.com/diffblue/cbmc/pull/8421
21+
* Include <cstdint> for int64_t by @ismaell in https://github.com/diffblue/cbmc/pull/8426
22+
* SMT2 back-end: fix inconsistent array flattening by @tautschnig in https://github.com/diffblue/cbmc/pull/8400
23+
24+
**Full Changelog**: https://github.com/diffblue/cbmc/compare/cbmc-6.1.1...cbmc-6.2.0
25+
126
# CBMC 6.1.1
227

328
## What's Changed

doc/doxygen-root/doxygen-markdown/doxygen-markdown-preprocessor.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,15 @@ def parse_arguments():
5353

5454

5555
def pandoc(path, pandoc_write, pandoc_wrap, pandoc_filter=None):
56-
args = {
57-
'--write': pandoc_write,
58-
'--wrap': pandoc_wrap
59-
}
56+
args = [
57+
'--write', pandoc_write,
58+
'--wrap', pandoc_wrap
59+
]
6060
if pandoc_filter:
61-
args['--filter'] = Path(pandoc_filter).resolve()
61+
args.extend(['--filter', Path(pandoc_filter).resolve()])
6262

6363

64-
lines = subprocess.run(['pandoc', **args, path],
64+
lines = subprocess.run(['pandoc', *args, path],
6565
check=True,
6666
text=True,
6767
capture_output=True).stdout.splitlines()

jbmc/regression/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
set(test_pl_path "${CBMC_SOURCE_DIR}/../regression/test.pl")
1+
set(test_pl_path "${CBMC_SOURCE_DIR}/regression/test.pl")
22

33
# For the best possible utilisation of multiple cores when
44
# running tests in parallel, it is important that these directories are

jbmc/src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ macro(generic_includes name)
77
${JBMC_BINARY_DIR}
88
${JBMC_SOURCE_DIR}
99
${CBMC_BINARY_DIR}
10-
${CBMC_SOURCE_DIR}
10+
${CBMC_SOURCE_DIR}/src
1111
${CMAKE_CURRENT_BINARY_DIR}
1212
${CMAKE_CURRENT_SOURCE_DIR}
1313
${CUDD_INCLUDE}

jbmc/src/janalyzer/janalyzer_parse_options.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -401,13 +401,13 @@ int janalyzer_parse_optionst::doit()
401401
log.status() << "Generating GOTO Program" << messaget::eom;
402402
lazy_goto_model.load_all_functions();
403403

404-
std::unique_ptr<abstract_goto_modelt> goto_model_ptr =
404+
std::unique_ptr<goto_modelt> goto_model_ptr =
405405
lazy_goto_modelt::process_whole_model_and_freeze(
406406
std::move(lazy_goto_model));
407407
if(goto_model_ptr == nullptr)
408408
return CPROVER_EXIT_INTERNAL_ERROR;
409409

410-
goto_modelt &goto_model = dynamic_cast<goto_modelt &>(*goto_model_ptr);
410+
goto_modelt &goto_model = *goto_model_ptr;
411411

412412
// show it?
413413
if(cmdline.isset("show-symbol-table"))

jbmc/src/jbmc/jbmc_parse_options.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -628,12 +628,16 @@ int jbmc_parse_optionst::get_goto_program(
628628

629629
// Move the model out of the local lazy_goto_model
630630
// and into the caller's goto_model
631-
goto_model_ptr = lazy_goto_modelt::process_whole_model_and_freeze(
632-
std::move(lazy_goto_model));
633-
if(goto_model_ptr == nullptr)
631+
auto final_goto_model_ptr =
632+
lazy_goto_modelt::process_whole_model_and_freeze(
633+
std::move(lazy_goto_model));
634+
if(final_goto_model_ptr == nullptr)
634635
return CPROVER_EXIT_INTERNAL_ERROR;
635636

636-
goto_modelt &goto_model = dynamic_cast<goto_modelt &>(*goto_model_ptr);
637+
goto_modelt &goto_model = *final_goto_model_ptr;
638+
goto_model_ptr =
639+
std::unique_ptr<abstract_goto_modelt>(final_goto_model_ptr.get());
640+
final_goto_model_ptr.release();
637641

638642
if(cmdline.isset("validate-goto-model"))
639643
{

jbmc/unit/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
file(GLOB_RECURSE sources "*.cpp" "*.h")
2-
list(APPEND sources ${CBMC_SOURCE_DIR}/../unit/unit_tests.cpp)
2+
list(APPEND sources ${CBMC_SOURCE_DIR}/unit/unit_tests.cpp)
33

44
file(GLOB_RECURSE java-testing_utils "java-testing-utils/*.cpp" "java-testing-utils/*.h")
55

@@ -14,8 +14,8 @@ add_executable(java-unit ${sources})
1414
target_include_directories(java-unit
1515
PUBLIC
1616
${CBMC_BINARY_DIR}
17-
${CBMC_SOURCE_DIR}
18-
${CBMC_SOURCE_DIR}/../unit
17+
${CBMC_SOURCE_DIR}/src
18+
${CBMC_SOURCE_DIR}/unit
1919
${CMAKE_CURRENT_SOURCE_DIR}
2020
)
2121
target_link_libraries(java-unit

jbmc/unit/java-testing-utils/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ target_link_libraries(java-testing-utils
77
target_include_directories(java-testing-utils
88
PUBLIC
99
${CMAKE_CURRENT_SOURCE_DIR}/..
10-
${CBMC_SOURCE_DIR}/../unit
10+
${CBMC_SOURCE_DIR}/unit
1111
)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
void __assert_fail(char *, char *, unsigned, char *);
2+
3+
int main()
4+
{
5+
(void)((1 < 2) || (__CPROVER_assert(0, ""), 0));
6+
7+
int jumpguard;
8+
jumpguard = (jumpguard | 1);
9+
label_1:;
10+
{
11+
while(1)
12+
{
13+
if(jumpguard == 0)
14+
{
15+
__assert_fail("0", "lc2.c", 8U, "func");
16+
goto label_1;
17+
}
18+
goto label_2;
19+
}
20+
label_2:;
21+
}
22+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CORE test-c++-front-end
2+
main.c
3+
4+
^EXIT=0$
5+
^SIGNAL=0$
6+
--
7+
^warning: ignoring

0 commit comments

Comments
 (0)