File: fct_ptr.i

package info (click to toggle)
frama-c 20201209%2Btitanium-4.1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 55,200 kB
  • sloc: ml: 260,374; ansic: 51,885; sh: 3,578; makefile: 3,111; python: 1,029; perl: 897; lisp: 259; xml: 62; asm: 46
file content (20 lines) | stat: -rw-r--r-- 319 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int f(int);

void *p = f;

int (*pf) (int x) = f;

int g() {
  return ((int (*)(int))(*pf))(4);
}

int main () {
  int (*q)(int) = (void *)0xfff45;
  q(2);
  q = p;
  q(3);
}

typedef int (*Function_ptr)();
char *f_va(int a, ...) { return a; }
Function_ptr fp_table[1] = {(Function_ptr) f_va}; // warning, but no error