| /* { dg-do compile } */ | |
| /* { dg-options "-Wmemset-elt-size" } */ | |
| enum a { | |
| a_1, | |
| a_2, | |
| a_n | |
| }; | |
| int t1[20]; | |
| int t2[a_n]; | |
| struct s | |
| { | |
| int t[20]; | |
| }; | |
| void foo (struct s *s) | |
| { | |
| __builtin_memset (t1, 0, 20); /* { dg-warning "element size" } */ | |
| __builtin_memset (t2, 0, a_n); /* { dg-warning "element size" } */ | |
| __builtin_memset (s->t, 0, 20); /* { dg-warning "element size" } */ | |
| } | |
| char u1[20]; | |
| char u2[a_n]; | |
| struct s2 | |
| { | |
| char u[20]; | |
| }; | |
| void bar (struct s2 *s) | |
| { | |
| __builtin_memset (u1, 0, 20); | |
| __builtin_memset (u2, 0, a_n); | |
| __builtin_memset (s->u, 0, 20); | |
| } |