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 Levonvoid 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