annotate gcc/testsuite/gcc.dg/pr78973-2.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 1830386684a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* PR c/78973 - warning: ‘memcpy’: specified size exceeds maximum object
kono
parents:
diff changeset
2 size [-Wstringop-overflow=]
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 This is a companion test for the bug above that verifies that the correct
kono
parents:
diff changeset
5 range of the int variable is detected.
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 { dg-do compile }
kono
parents:
diff changeset
8 { dg-require-effective-target int32plus }
kono
parents:
diff changeset
9 { dg-options "-O2 -Walloc-size-larger-than=4" } */
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 void *p;
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 void f (int n)
kono
parents:
diff changeset
14 {
kono
parents:
diff changeset
15 if (n <= 4)
kono
parents:
diff changeset
16 p = __builtin_malloc (n);
kono
parents:
diff changeset
17 /* { dg-warning "argument 1 range \\\[\[0-9\]+, \[0-9\]+\\\] exceeds maximum object size 4" "ilp32" { xfail { ! lp64 } } .-1 } */
kono
parents:
diff changeset
18 }
kono
parents:
diff changeset
19
kono
parents:
diff changeset
20 void g (unsigned n)
kono
parents:
diff changeset
21 {
kono
parents:
diff changeset
22 if (n < 5)
kono
parents:
diff changeset
23 n = 5;
kono
parents:
diff changeset
24 f (n);
kono
parents:
diff changeset
25 }