modernc.org/cc@v1.0.1/testdata/redecl.c (about)

     1  // [0]6.7.7, 7, p.124
     2  
     3  typedef void fv(int), (*pfv)(int);
     4  
     5  void (*signal(int, void (*)(int)))(int);
     6  fv *signal(int, fv *);
     7  pfv signal(int, pfv);
     8  
     9  // Denormalized forms.
    10  
    11  void ((*signal(int, void (*)(int)))(int));
    12  void (((*signal(int, void (*)(int)))(int)));
    13  
    14  void (*signal(int, void ((*))(int)))(int);
    15  void (*signal(int, void (((*)))(int)))(int);
    16  
    17  fv (*signal(int, fv *));
    18  fv ((*signal(int, fv *)));
    19  fv *signal(int, fv (*));
    20  fv *signal(int, fv ((*)));
    21  
    22  pfv (signal(int, pfv));
    23  pfv ((signal(int, pfv)));
    24  
    25  // ----------------------------------------------------------------------------
    26  
    27  typedef int t;
    28  
    29  int f29();
    30  t f29();
    31  
    32  int *f32();
    33  t *f32();
    34  
    35  int (*f35)();
    36  t (*f35)();
    37  
    38  int (*f38())();
    39  t (*f38())();
    40  
    41  typedef int *t2;
    42  
    43  int *f43();
    44  t2 f43();
    45  
    46  int *(*f46)();
    47  t2 (*f46)();
    48  
    49  int *(*f49());
    50  t2 (*f49());
    51  
    52  int **f52();
    53  t2 *f52();
    54  
    55  int a55[4];
    56  t a55[4];
    57  
    58  int *a58[4];
    59  t *a58[4];
    60  
    61  int *a61[4];
    62  t2 a61[4];
    63  
    64  int **a64[4];
    65  t2 *a64[4];
    66  
    67  int *(*a67[4]);
    68  t2 *(a67[4]);
    69  
    70  int (**a67[4]);
    71  t2 (*a67[4]);