1 // test function declaration passing const volatile modifier. 2 long 3 foo(char* c, const volatile long l); 4 5 long foo(char * c,const volatile long l)6foo(char* c, const volatile long l) 7 {return *c + l;} 8 9 // test function declaration passing variable arguments. 10 void bar(const int c,...)11bar(const int c, ...) 12 {} 13 14 void baz(int c)15baz(int c) 16 {c = 0;} 17 18 // test function declaration passing an enum type argument. 19 enum E {e0, e1}; 20 21 void bar2(enum E e)22bar2(enum E e) 23 {int c = e; ++c;} 24 25 // test function declaration passing a typedef argument. 26 typedef long long long_long; 27 28 long_long baz2(int c)29baz2(int c) 30 {c = 0; return c;} 31 32 typedef const volatile unsigned long long useless_long_long; 33 34 static useless_long_long this_should_not_be_seen_by_bidw()35this_should_not_be_seen_by_bidw() 36 { 37 int i = 0; 38 bar(0); 39 baz2(i); 40 return 0; 41 } 42