]> git.sur5r.net Git - cc65/blob - test/val/cc65141002.c
goto.c warning fix for implicit truncation
[cc65] / test / val / cc65141002.c
1
2 /*
3   !!DESCRIPTION!! forgetting to emit labels
4   !!ORIGIN!!      Testsuite
5   !!LICENCE!!     Public Domain
6 */
7
8 /*
9     http://www.cc65.org/mailarchive/2014-10/11673.html
10     http://www.cc65.org/mailarchive/2014-10/11675.html
11 */
12
13 #include <stdlib.h>
14 #include <stdio.h>
15
16 struct udata {
17         int     (*u_sigvec[16])();
18         int     u_argn;
19         int     u_argn1;
20 };
21
22 struct udata udata;
23
24 #define sig (int)udata.u_argn
25 #define func (int (*)())udata.u_argn1
26
27 int _signal(void)
28 {
29         if (func != 0) {
30                 goto nogood;
31         }
32         udata.u_sigvec[sig] = func;
33         return 0;
34
35 nogood:
36         return (-1);
37 }
38
39 int main(int n,char **args)
40 {
41     _signal();
42     printf("it works\n");
43
44     return 0;
45 }