summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/warn/Wstringop-overflow-1.C
blob: ce5157bfe20a51b00490665c8fec2f81652a309c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// { dg-do compile }
// { dg-additional-options "-O2 -Wstringop-overflow=2" }

struct S {
    char a[5];
    void (*pf)(void);
};

void f (struct S *s, int n)
{
  if (n < sizeof s->a + 1)
    n = sizeof s->a + 1;

  __builtin_strncpy (s->a, "123456", n);   // { dg-warning "writing 6" }
}