(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
memset-array.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-Wmemset-elt-size" } */
       3  enum a {
       4    a_1,
       5    a_2,
       6    a_n
       7  };
       8  int t1[20];
       9  int t2[a_n];
      10  
      11  struct s
      12  {
      13    int t[20];
      14  };
      15  
      16  void foo (struct s *s)
      17  {
      18    __builtin_memset (t1, 0, 20); /* { dg-warning "element size" } */
      19    __builtin_memset (t2, 0, a_n); /* { dg-warning "element size" } */
      20    __builtin_memset (s->t, 0, 20); /* { dg-warning "element size" } */
      21  }
      22  
      23  char u1[20];
      24  char u2[a_n];
      25  
      26  struct s2
      27  {
      28    char u[20];
      29  };
      30  
      31  void bar (struct s2 *s)
      32  {
      33    __builtin_memset (u1, 0, 20);
      34    __builtin_memset (u2, 0, a_n);
      35    __builtin_memset (s->u, 0, 20);
      36  }