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

[wp] Format test files for chunk types

parent 0d76acb2
No related branches found
No related tags found
1 merge request!3Fixed a semantic error concerning ISO C99 Uninitialized Value Undefined Behaviour in Eva main manual
...@@ -5,50 +5,50 @@ ...@@ -5,50 +5,50 @@
OPT: -wp-rte -wp-prop="-NO_CHECK,-rte" OPT: -wp-rte -wp-prop="-NO_CHECK,-rte"
*/ */
const char x[10] ; const char x[10];
/*@ /*@
requires \valid(&i8[0..9]) && \valid(&u8[0..9]) && \valid(&i16[0..9]) && \valid(&u16[0..9]) requires \valid(&i8[0..9]) && \valid(&u8[0..9]) && \valid(&i16[0..9])
&& \valid(&i32[0..9]) && \valid(&u32[0..9]) && \valid(&i64[0..9]) && \valid(&u64[0..9]); && \valid(&u16[0..9]) && \valid(&i32[0..9]) && \valid(&u32[0..9])
ensures \forall integer k ; && \valid(&i64[0..9]) && \valid(&u64[0..9]);
0 <= k < 10 ==> ensures
x[k]+8 == \forall integer k ; 0 <= k < 10 ==> x[k]+8
i8[k]+7 == u8[k]+6 == == i8[k]+7 == u8[k]+6
i16[k]+5 == u16[k]+4 == == i16[k]+5 == u16[k]+4
i32[k]+3 == u32[k]+2 == == i32[k]+3 == u32[k]+2
i64[k]+1 == u64[k]; == i64[k]+1 == u64[k];
*/ */
void function(signed char i8[10], void function(signed char i8[10],
unsigned char u8[10], unsigned char u8[10],
signed short i16[10], signed short i16[10],
unsigned short u16[10], unsigned short u16[10],
signed int i32[10], signed int i32[10],
unsigned int u32[10], unsigned int u32[10],
signed long long int i64[10], signed long long int i64[10],
unsigned long long int u64[10]) unsigned long long int u64[10])
{ {
/*@ /*@
loop invariant NO_CHECK: 0 <= i <= 10; loop invariant NO_CHECK: 0 <= i <= 10;
loop invariant \forall integer k ; 0 <= k < i ==> i8[k] == 1 ; loop invariant \forall integer k ; 0 <= k < i ==> i8[k] == 1 ;
loop invariant \forall integer k ; 0 <= k < i ==> u8[k] == 2 ; loop invariant \forall integer k ; 0 <= k < i ==> u8[k] == 2 ;
loop invariant \forall integer k ; 0 <= k < i ==> i16[k] == 3 ; loop invariant \forall integer k ; 0 <= k < i ==> i16[k] == 3 ;
loop invariant \forall integer k ; 0 <= k < i ==> u16[k] == 4 ; loop invariant \forall integer k ; 0 <= k < i ==> u16[k] == 4 ;
loop invariant \forall integer k ; 0 <= k < i ==> i32[k] == 5 ; loop invariant \forall integer k ; 0 <= k < i ==> i32[k] == 5 ;
loop invariant \forall integer k ; 0 <= k < i ==> u32[k] == 6 ; loop invariant \forall integer k ; 0 <= k < i ==> u32[k] == 6 ;
loop invariant \forall integer k ; 0 <= k < i ==> i64[k] == 7 ; loop invariant \forall integer k ; 0 <= k < i ==> i64[k] == 7 ;
loop invariant \forall integer k ; 0 <= k < i ==> u64[k] == 8 ; loop invariant \forall integer k ; 0 <= k < i ==> u64[k] == 8 ;
loop assigns NO_CHECK: i, i8[0..9], u8[0..9], i16[0..9], u16[0..9], i32[0..9], u32[0..9], i64[0..9], u64[0..9] ; loop assigns NO_CHECK: i, i8[0..9], u8[0..9], i16[0..9], u16[0..9],
loop variant NO_CHECK: 10-i; i32[0..9], u32[0..9], i64[0..9], u64[0..9] ;
*/ loop variant NO_CHECK: 10-i;
for(int i = 0; i < 10; ++i){ */
i8[i] = 1 ; for (int i = 0; i < 10; ++i) {
u8[i] = 2 ; i8[i] = 1;
i16[i] = 3 ; u8[i] = 2;
u16[i] = 4 ; i16[i] = 3;
i32[i] = 5 ; u16[i] = 4;
u32[i] = 6 ; i32[i] = 5;
i64[i] = 7 ; u32[i] = 6;
u64[i] = 8 ; i64[i] = 7;
} u64[i] = 8;
}
} }
...@@ -39,8 +39,8 @@ void usable_axiom(int* a, unsigned b, unsigned e){ ...@@ -39,8 +39,8 @@ void usable_axiom(int* a, unsigned b, unsigned e){
*/ */
/*@ /*@
requires b < s <= e; requires b < s <= e;
ensures \forall int v ; occ(v,a,b,e) == occ(v,a,b,s) + occ(v,a,s,e) ; ensures \forall int v ; occ(v,a,b,e) == occ(v,a,b,s) + occ(v,a,s,e) ;
*/ */
void usable_lemma(int* a, unsigned b, unsigned s, unsigned e){ void usable_lemma(int* a, unsigned b, unsigned s, unsigned e){
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
Function function Function function
------------------------------------------------------------ ------------------------------------------------------------
Goal Post-condition (file tests/wp_acsl/chunk_typing.i, line 13) in 'function': Goal Post-condition (file tests/wp_acsl/chunk_typing.i, line 15) in 'function':
Let a = shift_sint8(i8_0, 0). Let a = shift_sint8(i8_0, 0).
Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, 10). Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, 10).
Let a_2 = shift_uint8(u8_0, 0). Let a_2 = shift_uint8(u8_0, 0).
......
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