File: assert_ptr.i

package info (click to toggle)
frama-c 20220511-manganese-5
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 66,492 kB
  • sloc: ml: 278,834; ansic: 47,093; sh: 4,823; makefile: 3,613; javascript: 2,436; python: 1,919; perl: 897; lisp: 293; xml: 62
file content (16 lines) | stat: -rw-r--r-- 294 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int *ptr, **q, s_q, a, r;

int main(int c, int d, int e)
{
  q = &s_q;
  if (c) ptr = &a;
  if (d) *q = (&a + e) ;
  /*@ assert ptr == 0 || ptr != 0 ; */
  Frama_C_show_each_ptr(ptr);
  if (ptr != 0) (*ptr)++;

  /*@ assert \valid(*q) && *q != 0 ; */
  Frama_C_show_each_q(s_q);

  return 0;
}