1 int
   2 foo (int (*func) (undef, void *), void *data)
   3 {
   4   int err = 0;
   5   while (cur) {
   6     if ((*func) (cur, data))
   7       break;
   8   }
   9   return err;
  10 }
  11 
  12 /*
  13  * check-name: missing type in argument list
  14  * check-error-start
  15 badtype3.c:2:18: warning: identifier list not in definition
  16 badtype3.c:2:24: error: Expected ) in function declarator
  17 badtype3.c:2:24: error: got ,
  18 badtype3.c:5:3: error: Trying to use reserved word 'while' as identifier
  19 badtype3.c:7:7: error: break/continue not in iterator scope
  20 badtype3.c:9:3: error: Trying to use reserved word 'return' as identifier
  21 badtype3.c:9:10: error: Expected ; at end of declaration
  22 badtype3.c:9:10: error: got err
  23 badtype3.c:10:1: error: Expected ; at the end of type declaration
  24 badtype3.c:10:1: error: got }
  25 badtype3.c:6:11: error: undefined identifier 'func'
  26  * check-error-end
  27  */