Skip to content

Commit 28be0d7

Browse files
authored
Bump CBMC version to 5.59.0 (rust-lang#1270)
* Enable `maxnumf32` test * Bump CBMC version to 5.59.0 * Change expected output for failing tests and link issue
1 parent 71de074 commit 28be0d7

File tree

10 files changed

+12
-21
lines changed

10 files changed

+12
-21
lines changed

docs/src/install-guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ In general, the following dependencies are required.
3737
> OS.
3838
3939
1. Cargo installed via [rustup](https://rustup.rs/)
40-
2. [CBMC](https://github.com/diffblue/cbmc) (>= 5.58.1)
40+
2. [CBMC](https://github.com/diffblue/cbmc) (>= 5.59.0)
4141
3. [CBMC Viewer](https://github.com/awslabs/aws-viewer-for-cbmc) (>= 2.10)
4242

4343
Kani has been tested in [Ubuntu](#install-dependencies-on-ubuntu) and [macOS](##install-dependencies-on-macos) platforms.

scripts/kani-regression.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ KANI_DIR=$SCRIPT_DIR/..
1919
export KANI_FAIL_ON_UNEXPECTED_DESCRIPTION="true"
2020

2121
# Required dependencies
22-
check-cbmc-version.py --major 5 --minor 58
22+
check-cbmc-version.py --major 5 --minor 59
2323
check-cbmc-viewer-version.py --major 2 --minor 10
2424

2525
# Formatting check

scripts/setup/ubuntu/install_cbmc.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
set -eu
66

77
UBUNTU_VERSION=$(lsb_release -rs)
8-
CBMC_VERSION=5.58.1
8+
CBMC_VERSION=5.59.0
99
FILE="ubuntu-${UBUNTU_VERSION}-cbmc-${CBMC_VERSION}-Linux.deb"
1010
URL="https://github.com/diffblue/cbmc/releases/download/cbmc-${CBMC_VERSION}/$FILE"
1111

tests/kani/Intrinsics/MaxNum/maxnumf32_fixme.rs renamed to tests/kani/Intrinsics/MaxNum/maxnumf32.rs

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,6 @@
77
// * If both arguments are NaN, NaN is returned.
88
#![feature(core_intrinsics)]
99

10-
// Note: All test cases are failing with the following error:
11-
// ```
12-
// Check X: fmaxf.assertion.1
13-
// - Status: FAILURE
14-
// - Description: "Function with missing definition is unreachable"
15-
// - Location: <builtin-library-fmaxf> in function fmaxf
16-
// ```
17-
// This is because the `fmaxf` definition is not being found, either because
18-
// Kani does not produce the right expression (which is strange, because it's
19-
// doing the same for similar expressions and they work) or CBMC is not picking
20-
// it for some reason.
21-
// Tracked in https://github.com/model-checking/kani/issues/1025
2210
#[kani::proof]
2311
fn test_general() {
2412
let x: f32 = kani::any();
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Status: UNDETERMINED\
1+
Status: UNREACHABLE\
22
Description: "assertion failed: x == 5"
33

44
VERIFICATION:- FAILED

tests/ui/missing-function/extern_c/extern_c.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
// TODO: Verify that this prints a compiler warning:
88
// - https://github.com/model-checking/kani/issues/576
99

10-
10+
// TODO: Missing functions produce non-informative property descriptions
11+
// https://github.com/model-checking/kani/issues/1271
1112
extern "C" {
1213
fn missing_function() -> u32;
1314
}
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
.assertion.1\
21
Status: FAILURE\
3-
Description: "Function with missing definition is unreachable"
2+
Description: "assertion"

tests/ui/missing-function/replaced-description/main.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
// This test is to check if the description for undefined functions has been updated to "Function with missing definition is unreachable"
55

6+
// TODO: Missing functions produce non-informative property descriptions
7+
// https://github.com/model-checking/kani/issues/1271
68
#[kani::proof]
79
fn main() {
810
let x = String::from("foo");
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
.assertion.1\
21
Status: FAILURE\
3-
Description: "Function with missing definition is unreachable"
2+
Description: "assertion"

tests/ui/missing-function/rust-by-example-description/main.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
// kani-flags: --enable-unstable --cbmc-args --unwind 4 --object-bits 9
55
// This test is to check if the description for undefined functions has been updated to "Function with missing definition is unreachable"
66

7+
// TODO: Missing functions produce non-informative property descriptions
8+
// https://github.com/model-checking/kani/issues/1271
79
#![allow(unused)]
810
#[kani::proof]
911
pub fn main() {

0 commit comments

Comments
 (0)