Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/c-c++-common/memset-array.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/c-c++-common/memset-array.c Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,36 @@ +/* { 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); +}