-
Virgile Prevosto authored
[Ptests] preserve LOG after STDOPT directive See merge request frama-c/frama-c!2073
Virgile Prevosto authored[Ptests] preserve LOG after STDOPT directive See merge request frama-c/frama-c!2073
fptr.res.oracle 1.20 KiB
[kernel] Parsing tests/spec/fptr.i (no preprocessing)
[kernel:annot-error] tests/spec/fptr.i:39: Warning:
invalid implicit conversion from 'void (*)(int )' to 'void (*)(void)'. Ignoring logic specification of function f3
/* Generated by Frama-C */
/*@
axiomatic A {
predicate P{L}(void (*galois_fp)()) ;
predicate Q{L, L2}(void (*galois_fp_old)()) ;
}
*/
/*@ requires P{Pre}((void (*)())\at(fp,Pre));
ensures Q{Pre, Post}((void (*)())\at(fp,Pre));
*/
long f0(void (*fp)(void))
{
long __retres;
__retres = (long)0;
return __retres;
}
/*@ requires P{Pre}((void (*)())\at(fp,Pre));
ensures Q{Pre, Post}((void (*)())\at(fp,Pre));
*/
long f1(void (*fp)(int ))
{
long __retres;
__retres = (long)0;
return __retres;
}
/*@
axiomatic A1 {
predicate P1{L}(void (*galois_fp)(void)) ;
predicate Q1{L, L2}(void (*galois_fp_old)(void)) ;
}
*/
/*@ requires P1{Pre}(\at(fp,Pre));
ensures Q1{Pre, Post}(\at(fp,Pre)); */
long f2(void (*fp)(void))
{
long __retres;
__retres = (long)0;
return __retres;
}
long f3(void (*fp)(int ))
{
long __retres;
__retres = (long)0;
return __retres;
}
void my_f(void)
{
return;
}
/*@ lemma OK{L}: P((void (*)())(&my_f)) ∧ P1(&my_f);
*/