File: assert_ptr.i

package info (click to toggle)
frama-c 20161101%2Bsilicon%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 42,324 kB
  • ctags: 35,695
  • sloc: ml: 200,142; ansic: 31,465; makefile: 2,334; sh: 1,643; lisp: 259; python: 85; asm: 26
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;
}