(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
pr28656.c
       1  /* PR c++/28656 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-Wnonnull" } */
       4  
       5  #ifdef __cplusplus
       6  extern "C" {
       7  #endif
       8  extern void *memcpy (void *__restrict, const void *__restrict, __SIZE_TYPE__)
       9    __attribute__((nonnull (1), nonnull (2), nonnull (1, 2), nonnull));
      10  #ifdef __cplusplus
      11  }
      12  #endif
      13  
      14  extern void bar (void *p1, void *p2, void *p3, void *p4, void *p5)
      15    __attribute__((nonnull (1), nonnull (1, 3), nonnull (3, 5), nonnull (4)));
      16  
      17  void
      18  foo (void)
      19  {
      20    memcpy (0, 0, 0);
      21    /* { dg-warning "argument 1 null where non-null expected" "" { target *-*-* } .-1 } */
      22    /* { dg-warning "argument 2 null where non-null expected" "" { target *-*-* } .-2 } */
      23  
      24    bar (0, 0, 0, 0, 0);
      25    /* { dg-warning "argument 1 null where non-null expected" "" { target *-*-* } .-1 } */
      26    /* { dg-warning "argument 3 null where non-null expected" "" { target *-*-* } .-2 } */
      27    /* { dg-warning "argument 4 null where non-null expected" "" { target *-*-* } .-3 } */
      28    /* { dg-warning "argument 5 null where non-null expected" "" { target *-*-* } .-4 } */
      29  }