1 
2 #ifdef TEST1
3 void foo(void);		/* IGNORE */
foo(void)4 int foo(void) { }	/* ERROR */
5 #endif
6 
7 #ifdef TEST2
8 void foo(void);		/* IGNORE */
foo(int a)9 void foo(int a) {a; }	/* ERROR */
10 #endif
11 
12 
13 #ifdef TEST3
14 void foo(int);		/* IGNORE */
foo(int a,int b)15 void foo(int a, int b) {a;b; }	/* ERROR */
16 #endif
17 
18 #ifdef TEST4
19 void foo(int, int);	/* IGNORE */
foo(int a)20 void foo(int a) {a; }	/* ERROR */
21 #endif
22 
23 #if defined(__SDCC) && defined(__has_reentrant)
24 #define REENTRANT __reentrant
25 #define HAS_REENTRANT 1
26 #else
27 #define REENTRANT
28 #define HAS_REENTRANT 0
29 #endif
30 
31 #ifdef TEST5
32 void foo(int, int) REENTRANT;	/* IGNORE */
33 #if HAS_REENTRANT
foo(int a,int b)34 void foo(int a, int b) {a; b;} /* ERROR(SDCC && __has_reentrant && !SDCC_STACK_AUTO) */
35 #endif
36 #endif
37 
38 #ifdef TEST6
39 void foo(int a=1)		/* ERROR */
40 {
41 }
42 #endif
43 
44 #ifdef TEST7
foo(static int a)45 void foo(static int a)		/* ERROR */
46 {
47 }
48 #endif
49