1*c85f09ccSJohn Levon struct s {
2*c85f09ccSJohn Levon 	int   i;
3*c85f09ccSJohn Levon };
4*c85f09ccSJohn Levon 
5*c85f09ccSJohn Levon long a;
foo(void)6*c85f09ccSJohn Levon void foo(void)
7*c85f09ccSJohn Levon {
8*c85f09ccSJohn Levon 	(struct s) { .i = (foo - a), };
9*c85f09ccSJohn Levon }
10*c85f09ccSJohn Levon 
11*c85f09ccSJohn Levon /*
12*c85f09ccSJohn Levon  * check-name: bug-bad-type
13*c85f09ccSJohn Levon  *
14*c85f09ccSJohn Levon  * check-error-start
15*c85f09ccSJohn Levon bug-bad-type.c:5:6: warning: symbol 'a' was not declared. Should it be static?
16*c85f09ccSJohn Levon bug-bad-type.c:8:32: error: arithmetics on pointers to functions
17*c85f09ccSJohn Levon  * check-error-end
18*c85f09ccSJohn Levon  */
19