File: variadic.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 (23 lines) | stat: -rw-r--r-- 555 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

int normal(int n);
int vf(int x, ...);
typedef char tt;
struct T {int a;} st;
tt abstract;
unsigned char uchar;
signed char chr;
unsigned short ushort;
unsigned long long ll;
long double ld;
double d;

void h();

void g() {
  vf(1,1u,uchar,3.0f, ushort, ll, abstract, st, ld,d); 
  // vf() is variadic: the default argument promotions apply after the initial
  // arguments. C99 6.5.2.2:7
  f(1,uchar); // f undeclared, default argument promotions apply C99 6.5.2.2:6
  h(1,uchar); // h declared but without a prototype: C99 6.5.2.2:6
  normal(uchar);
}