Skip to content

Commit 5d1438a

Browse files
authored
Merge pull request #8667 from tautschnig/release-6.7.0
Release CBMC 6.7.0
2 parents eeb8689 + d604e40 commit 5d1438a

File tree

4 files changed

+33
-17
lines changed

4 files changed

+33
-17
lines changed

CHANGELOG

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
# CBMC 6.7.0
2+
3+
This release adds aarch64 va_list support (via #8572), which makes all tests
4+
pass on aarch64 Linux. We reworked expression simplification during symbolic
5+
execution (via #8642, #8647, #8627) to produce smaller and quicker-to-solve
6+
formulae for scenarios seen by our users.
7+
8+
## What's Changed
9+
* Change the "no assigns..." and "no decreases..." warnings to higher verbosity by @rod-chapman in https://github.com/diffblue/cbmc/pull/8655
10+
* Add aarch64 (Arm 64-bit) CI job by @tautschnig in https://github.com/diffblue/cbmc/pull/8572
11+
12+
## Bug Fixes
13+
* fix shell quoting by @kroening in https://github.com/diffblue/cbmc/pull/8641
14+
* goto-checker no longer depends on cbmc by @tautschnig in https://github.com/diffblue/cbmc/pull/8644
15+
* Use `std::size_t` by @kroening in https://github.com/diffblue/cbmc/pull/8648
16+
* `run(..., std::ostream &, ...)` with pipe by @kroening in https://github.com/diffblue/cbmc/pull/8650
17+
* Simplify quantified expressions over constants by @tautschnig in https://github.com/diffblue/cbmc/pull/8608
18+
* CI: use Visual Studio 2025 runners instead of 2019 by @tautschnig in https://github.com/diffblue/cbmc/pull/8660
19+
* Cleanup type conversions in java_bytecode_parsert::read by @tautschnig in https://github.com/diffblue/cbmc/pull/8584
20+
* Avoid need for preprocessor calls with -m64 by @tautschnig in https://github.com/diffblue/cbmc/pull/8658
21+
* fixup! fix exprt::opX accesses in linker_script_merge by @tautschnig in https://github.com/diffblue/cbmc/pull/8657
22+
* Introduce value-set supported simplifier for goto-symex by @tautschnig in https://github.com/diffblue/cbmc/pull/8642
23+
* Value set: lift offset from numeric constants to expressions by @tautschnig in https://github.com/diffblue/cbmc/pull/8647
24+
* goto-analyzer: support typecasts as left-hand sides by @tautschnig in https://github.com/diffblue/cbmc/pull/8659
25+
* Move unwindset.{h,cpp} to goto-programs by @tautschnig in https://github.com/diffblue/cbmc/pull/8645
26+
* Deprecate make_and in favour of conjunction(expr, expr) by @tautschnig in https://github.com/diffblue/cbmc/pull/8450
27+
* Simplify multiple-of-element size access to arrays by @tautschnig in https://github.com/diffblue/cbmc/pull/8627
28+
* Fix statement-expression expansion for Kani-provided quantifiers by @tautschnig in https://github.com/diffblue/cbmc/pull/8649
29+
30+
**Full Changelog**: https://github.com/diffblue/cbmc/compare/cbmc-6.6.0...cbmc-6.7.0
31+
132
# CBMC 6.6.0
233

334
This release adds C17 and C23 support to our C front-end (via #8620, #8623). We

src/config.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ endif
4747
OSX_IDENTITY="Developer ID Application: Daniel Kroening"
4848

4949
# Detailed version information
50-
CBMC_VERSION = 6.6.0
50+
CBMC_VERSION = 6.7.0
5151

5252
# Use the CUDD library for BDDs, can be installed using `make -C src cudd-download`
5353
# CUDD = ../../cudd-3.0.0

src/libcprover-rust/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "libcprover_rust"
3-
version = "6.6.0"
3+
version = "6.7.0"
44
edition = "2021"
55
description = "Rust API for CBMC and assorted CProver tools"
66
repository = "https://github.com/diffblue/cbmc"

src/pointer-analysis/value_set.cpp

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -356,21 +356,6 @@ bool value_sett::eval_pointer_offset(
356356
return false;
357357
else
358358
{
359-
// This branch should not be reached as any constant offset will have
360-
// been used before already. The following code will trigger
361-
// `eval_pointer_offset`, yet we wouldn't end up in this branch:
362-
// struct S { int a; char b; };
363-
//
364-
// int main()
365-
// {
366-
// struct S s;
367-
// int offset;
368-
// __CPROVER_assume(offset >= 0 && offset <= 1 && offset % 2 == 0);
369-
// int *p = (char*)&s + offset;
370-
// int x = *p;
371-
// __CPROVER_assert(s.a == x, "");
372-
// }
373-
UNREACHABLE;
374359
const exprt &object=object_numbering[it->first];
375360
auto ptr_offset = compute_pointer_offset(object, ns);
376361

0 commit comments

Comments
 (0)