Skip to content

False valid with LONG_MIN

ID0002088: This issue was created automatically from Mantis Issue 2088. Further discussion may take place here.


Id Project Category View Due Date Updated
ID0002088 Frama-C Plug-in > wp public 2015-03-06 2015-03-09
Reporter Ian Assigned To correnson Resolution no change required
Priority normal Severity minor Reproducibility always
Platform - OS Ubuntu OS Version -
Product Version Frama-C Neon-20140301 Target Version - Fixed in Version -

Description :

A pre-condition is being incorrectly validated when LONG_MIN is passed. I am in a 64bit environment.

Steps To Reproduce :

long_precondition.c: #include <limits.h> /*@ requires i == 0; assigns \nothing; */ extern void foo(long i); void bar() { foo(LONG_MIN); }

Run command: frama-c long_precondition.c -wp -pp-annot

Output received: [kernel] preprocessing with "gcc -C -E -I. -dD long_precondition.c" [wp] Running WP plugin... [wp] Collecting axiomatic usage [wp] warning: Missing RTE guards [wp] 1 goal scheduled [wp] [Qed] Goal typed_bar_call_foo_pre : Valid [wp] Proved goals: 1 / 1 Qed: 1

Output expected: Unknown for goal typed_bar_call-foo_pre

Note: This behavior is still observed if the option -pp-annot is removed, and INT_MIN is replaced by its expansion "-9223372036854775807L - 1L"

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information