From dda13ade2182e6573520127b1966275ae1a6a6f0 Mon Sep 17 00:00:00 2001 From: Allan Blanchard <allan.blanchard@cea.fr> Date: Tue, 29 Sep 2020 12:44:53 +0200 Subject: [PATCH] [kernel] Tests \from address --- tests/spec/assignable_location.i | 16 +++++++++++- .../oracle/assignable_location.res.oracle | 26 +++++++++++-------- 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/tests/spec/assignable_location.i b/tests/spec/assignable_location.i index f7165642c35..70968c3735a 100644 --- a/tests/spec/assignable_location.i +++ b/tests/spec/assignable_location.i @@ -1,4 +1,4 @@ -/* run.config +/* run.config OPT: -kernel-warn-key=annot-error=active */ @@ -18,6 +18,13 @@ double annotations_to_accept(typetab *t) { return f(t); } +/*@ behavior acc_0: assigns \result \from &x ; + behavior acc_1: assigns \result \from &f ; +*/ +int * from_address_to_accept(int f){ + return (void*)0 ; +} + int g(void); @@ -39,3 +46,10 @@ int annotations_to_reject(void) { //@ behavior to_reject_6: assigns x \from lx; return g(); } + +/*@ behavior rej_0: assigns \result \from &l ; */ +int * from_address_to_reject(int f){ + int l ; + //@ behavior rej_1: assigns l \from &lx ; + return (void*)0 ; +} diff --git a/tests/spec/oracle/assignable_location.res.oracle b/tests/spec/oracle/assignable_location.res.oracle index f366f6bd4c0..775b7573457 100644 --- a/tests/spec/oracle/assignable_location.res.oracle +++ b/tests/spec/oracle/assignable_location.res.oracle @@ -1,23 +1,27 @@ [kernel] Parsing tests/spec/assignable_location.i (no preprocessing) -[kernel:annot-error] tests/spec/assignable_location.i:36: Warning: +[kernel:annot-error] tests/spec/assignable_location.i:43: Warning: unexpected token ';' -[kernel:annot-error] tests/spec/assignable_location.i:28: Warning: +[kernel:annot-error] tests/spec/assignable_location.i:35: Warning: not an addressable left value: \result. Ignoring logic specification of function annotations_to_reject -[kernel:annot-error] tests/spec/assignable_location.i:30: Warning: +[kernel:annot-error] tests/spec/assignable_location.i:37: Warning: not an assignable left value: *t. Ignoring code annotation -[kernel:annot-error] tests/spec/assignable_location.i:31: Warning: +[kernel:annot-error] tests/spec/assignable_location.i:38: Warning: not an assignable left value: *(t + 0). Ignoring code annotation -[kernel:annot-error] tests/spec/assignable_location.i:32: Warning: +[kernel:annot-error] tests/spec/assignable_location.i:39: Warning: not an assignable left value: *(t + (0 .. 0)). Ignoring code annotation -[kernel:annot-error] tests/spec/assignable_location.i:33: Warning: +[kernel:annot-error] tests/spec/assignable_location.i:40: Warning: not an assignable left value: (int)x. Ignoring code annotation -[kernel:annot-error] tests/spec/assignable_location.i:34: Warning: +[kernel:annot-error] tests/spec/assignable_location.i:41: Warning: not an assignable left value: (char)x. Ignoring code annotation -[kernel:annot-error] tests/spec/assignable_location.i:35: Warning: +[kernel:annot-error] tests/spec/assignable_location.i:42: Warning: not an addressable left value: (char)x. Ignoring code annotation -[kernel:annot-error] tests/spec/assignable_location.i:37: Warning: +[kernel:annot-error] tests/spec/assignable_location.i:44: Warning: not an addressable left value: \empty. Ignoring code annotation -[kernel:annot-error] tests/spec/assignable_location.i:38: Warning: +[kernel:annot-error] tests/spec/assignable_location.i:45: Warning: not an assignable left value: lx. Ignoring code annotation -[kernel:annot-error] tests/spec/assignable_location.i:39: Warning: +[kernel:annot-error] tests/spec/assignable_location.i:46: Warning: not a valid dependency: lx. Ignoring code annotation +[kernel:annot-error] tests/spec/assignable_location.i:50: Warning: + unbound logic variable l. Ignoring logic specification of function from_address_to_reject +[kernel:annot-error] tests/spec/assignable_location.i:53: Warning: + not an addressable left value: lx. Ignoring code annotation -- GitLab