1 /* bug-2569.c
2    A false error on definitions of functions returning function pointers
3    following the declaration.
4  */
5 
6 #include <testfwk.h>
7 #include <stdint.h>
8 
9 #ifdef __SDCC
10 #pragma std_c99
11 #endif
12 
13 #pragma disable_warning 85
14 
15 typedef void l_fptr_1(void);
16 
17 l_fptr_1 *dosub(void);
18 
dosub(void)19 l_fptr_1 *dosub(void)
20 {
21     return 0;
22 }
23 
24 void (*sigset(int signo, void (*func)(int signo)))(int signo);
25 
sigset(int signo,void (* func)(int signo))26 void (*sigset(int signo, void (*func)(int signo)))(int signo)
27 {
28 	return 0;
29 }
30 
testBug(void)31 void testBug(void)
32 {
33   dosub();
34 #ifndef __SDCC // Bug #2664.
35   sigset(0, 0);
36 #endif
37 }
38 
39