File: syntactic_hook.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 (31 lines) | stat: -rw-r--r-- 669 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* run.config
   STDOPT: +"-load-script tests/syntax/syntactic_hook.ml"
*/

int f(void);

int h(const int*);

int h(int *x) { return *x; } // warns different decls.

int k(int *);

int k(int * x) { return (*x)++; }

int main () {
  int x = 0; int y = 0;
  int t(void);
  x=t();
  x++;
  x; // warn ignore pure exp
  g(3); // warn implicit proto
  x = sizeof(x++); // warn drop side-effect
  x = x++ && x;
  y = x && x++; // warn conditional side-effect
  y = x && (x++ || x); // warn conditional side-effect
  y = x && (x || x++); // warn conditional side-effect
  y = x ? x++ : x++; // warn conditional side-effect
  return x;
}

int f(int); //warns conflicting decls