(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
Warray-parameter-2.c
       1  /* PR c/50584 - No warning for passing small array to C99 static array
       2     declarator
       3     { dg-do compile }
       4     { dg-options "-Wall" } */
       5  
       6  // Reduced from Glibc.
       7  
       8  typedef struct FILE FILE;
       9  
      10  int vfprintf (FILE*, const char*, __builtin_va_list);
      11  int vfprintf (FILE*, const char*, __builtin_va_list);   // { dg-bogus "-Warray-parameter" }
      12  int vfprintf (FILE*, const char*, __builtin_va_list);
      13  
      14  int vfscanf (FILE*, const char*, __builtin_va_list);
      15  int vfscanf (FILE*, const char*, __builtin_va_list);    // { dg-bogus "-Warray-parameter" }
      16  int vfscanf (FILE*, const char*, __builtin_va_list);
      17  
      18  
      19  /* Verify that mismatches in array/to pointer to va_list are still
      20     diagnosed.  */
      21  
      22  int fva (__builtin_va_list);
      23  int fva (__builtin_va_list);
      24  
      25  int fpva_a1 (__builtin_va_list*);
      26  int fpva_a1 (__builtin_va_list[1]);     // { dg-warning "\\\[-Warray-parameter" }
      27  
      28  int fpva_a_ (__builtin_va_list*);
      29  int fpva_a_ (__builtin_va_list[]);
      30  int fpva_a_ (__builtin_va_list*);
      31  int fpva_a_ (__builtin_va_list[]);
      32  
      33  /* Also verify that a mismatch between a pointer and a one-element
      34     array are diagnosed.  This is pervasive in Glibc headers but
      35     making an exception for it would leave no way to express
      36     the requirement that a function take at least one argument
      37     by reference.  */
      38  
      39  struct __jmp_buf_tag;
      40  int __sigsetjmp (struct __jmp_buf_tag*, int);
      41  
      42  struct __jmp_buf_tag { };
      43  typedef struct __jmp_buf_tag jmp_buf[1];
      44  
      45  int __sigsetjmp (struct __jmp_buf_tag[1], int);   // { dg-warning "\\\[-Warray-parameter" }