summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr78973.c
blob: 6f4f6437926bfc646ce5500fb567c7c01dfe8fc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* PR c/78973 - warning: ‘memcpy’: specified size exceeds maximum object size

   Test case for what was initially thought to be a false positive but after
   deeper investigation turned out to be a true positive.

   { dg-do compile }
   { dg-options "-O2 -Wall" } */

static void f (void *p, int n)
{
  if (n <= 4)
    __builtin_memset (p, 0, n);   /* { dg-warning "exceeds maximum object size" "pr79073" { xfail { ilp32 || { int16 && { ! msp430_large } } } } } */
}

void g (void *d, unsigned n)
{
  if (n < 5)
    n = 5;
  f (d, n);
}