nested-declarator2.c 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. typedef int T;
  2. extern void f1(int);
  3. extern void f2(T);
  4. static void (*f3)(int) = f2;
  5. static void (*f4)(T) = f1;
  6. extern void f5(void (int));
  7. extern void f6(void (T));
  8. static void z(int x)
  9. {
  10. int (T) = x;
  11. f5(f2);
  12. f6(f3);
  13. }
  14. static void f8();
  15. static int (x) = 1;
  16. static void w1(y)
  17. int y;
  18. {
  19. x = y;
  20. }
  21. static void w2(int ());
  22. static void w3(...);
  23. static void f9(__attribute__((mode(DI))) T);
  24. static void w4(int f(x,y));
  25. static void bad1(__attribute__((mode(DI))) x);
  26. static int (-bad2);
  27. static void [2](*bad3);
  28. /*
  29. * check-name: more on handling of ( in direct-declarator
  30. * check-error-start
  31. nested-declarator2.c:17:1: warning: non-ANSI definition of function 'w1'
  32. nested-declarator2.c:21:21: warning: non-ANSI function declaration of function '<noident>'
  33. nested-declarator2.c:22:16: warning: variadic functions must have one named argument
  34. nested-declarator2.c:24:21: warning: identifier list not in definition
  35. nested-declarator2.c:25:45: error: don't know how to apply mode to incomplete type
  36. nested-declarator2.c:26:13: error: Expected ) in nested declarator
  37. nested-declarator2.c:26:13: error: got -
  38. nested-declarator2.c:27:16: error: Expected ; at the end of type declaration
  39. nested-declarator2.c:27:16: error: got (
  40. * check-error-end
  41. */