Skip to content
Snippets Groups Projects
Commit b86586c1 authored by Allan Blanchard's avatar Allan Blanchard
Browse files

[wp] nullable annot now prefixed with "wp_"

parent 3d09eb4a
No related branches found
No related tags found
No related merge requests found
...@@ -838,7 +838,7 @@ module HasNullable = ...@@ -838,7 +838,7 @@ module HasNullable =
let dependencies = [Ast.self] let dependencies = [Ast.self]
end) end)
let is_nullable vi = vi.vformal && Cil.hasAttribute "nullable" vi.vattr let is_nullable vi = vi.vformal && Cil.hasAttribute "wp_nullable" vi.vattr
let compute_nullable () = let compute_nullable () =
let module F = Globals.Functions in let module F = Globals.Functions in
......
...@@ -9,7 +9,7 @@ int x ; ...@@ -9,7 +9,7 @@ int x ;
int *g ; int *g ;
/*@ assigns *g, *p, x ; */ /*@ assigns *g, *p, x ; */
void nullable_coherence(int* p /*@ nullable */){ void nullable_coherence(int* p /*@ wp_nullable */){
if(p == (void*)0){ if(p == (void*)0){
//@ check must_fail: \false ; //@ check must_fail: \false ;
return; return;
...@@ -22,9 +22,9 @@ void nullable_coherence(int* p /*@ nullable */){ ...@@ -22,9 +22,9 @@ void nullable_coherence(int* p /*@ nullable */){
//@ assigns *p, *q, *r, *s, *t ; //@ assigns *p, *q, *r, *s, *t ;
void nullable_in_context void nullable_in_context
(int* p /*@ nullable */, (int* p /*@ wp_nullable */,
int* q /*@ nullable */, int* q /*@ wp_nullable */,
int* r /*@ nullable */, int* r /*@ wp_nullable */,
int* s, int* t) int* s, int* t)
{ {
*p = 42; *p = 42;
......
...@@ -46,7 +46,7 @@ Prove: true. ...@@ -46,7 +46,7 @@ Prove: true.
requires p ≢ \null ⇒ \separated(g, p, &x); requires p ≢ \null ⇒ \separated(g, p, &x);
requires \valid(p) ∨ p ≡ \null; requires \valid(p) ∨ p ≡ \null;
*/ */
void nullable_coherence(int *p /*@ nullable */); void nullable_coherence(int *p /*@ wp_nullable */);
[wp] tests/wp_plugin/nullable.i:24: Warning: [wp] tests/wp_plugin/nullable.i:24: Warning:
Memory model hypotheses for function 'nullable_in_context': Memory model hypotheses for function 'nullable_in_context':
/*@ /*@
...@@ -63,5 +63,6 @@ Prove: true. ...@@ -63,5 +63,6 @@ Prove: true.
requires \valid(q) ∨ q ≡ \null; requires \valid(q) ∨ q ≡ \null;
requires \valid(r) ∨ r ≡ \null; requires \valid(r) ∨ r ≡ \null;
*/ */
void nullable_in_context(int *p /*@ nullable */, int *q /*@ nullable */, void nullable_in_context(int *p /*@ wp_nullable */,
int *r /*@ nullable */, int *s, int *t); int *q /*@ wp_nullable */,
int *r /*@ wp_nullable */, int *s, int *t);
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
requires p ≢ \null ⇒ \separated(g, p, &x); requires p ≢ \null ⇒ \separated(g, p, &x);
requires \valid(p) ∨ p ≡ \null; requires \valid(p) ∨ p ≡ \null;
*/ */
void nullable_coherence(int *p /*@ nullable */); void nullable_coherence(int *p /*@ wp_nullable */);
[wp] tests/wp_plugin/nullable.i:24: Warning: [wp] tests/wp_plugin/nullable.i:24: Warning:
Memory model hypotheses for function 'nullable_in_context': Memory model hypotheses for function 'nullable_in_context':
/*@ /*@
...@@ -44,5 +44,6 @@ ...@@ -44,5 +44,6 @@
requires \valid(q) ∨ q ≡ \null; requires \valid(q) ∨ q ≡ \null;
requires \valid(r) ∨ r ≡ \null; requires \valid(r) ∨ r ≡ \null;
*/ */
void nullable_in_context(int *p /*@ nullable */, int *q /*@ nullable */, void nullable_in_context(int *p /*@ wp_nullable */,
int *r /*@ nullable */, int *s, int *t); int *q /*@ wp_nullable */,
int *r /*@ wp_nullable */, int *s, int *t);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment