aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/Wstringop-overflow-17.c
blob: de22c98c753fe793da4d1af37e2d25260c116031 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* Test to verify that -Wstringop-overflow mentions the referenced object
   i.
   { dg-do compile }
   { dg-options "-O2 -Wall" } */

static void copy_n (char *d, const char *s, int n)
{
  while (n--)
    *d++ = *s++;
  *d = 0;           // { dg-warning "writing 1 byte into a region of size 0" }
}

void sink (void*);

void call_copy_n (const char *s)
{
  char a[3];        // { dg-message "destination object declared here" }
  copy_n (a, "1234567", 7);
  sink (a);
}