1/* PR sanitizer/66908 */
2/* { dg-do compile } */
3/* { dg-options "-fsanitize=shift,bounds -O2 -Werror=maybe-uninitialized" } */
4/* { dg-additional-options "-std=gnu90" { target c } } */
5
6struct S { int a[22]; };
7static int const e[22] = { };
8
9void
10foo (struct S const *s, unsigned int m, unsigned int *res)
11{
12  unsigned int i;
13  for (i = 0; i < 22; ++i)
14    res[i] = ((s->a[i] + e[i]) << m);
15}
16