annotate gcc/testsuite/gcc.dg/Wrestrict-4.c @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 /* PR tree-optimization/83603 - ICE in builtin_memref at
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2 gcc/gimple-ssa-warn-restrict.c:238
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 Test to verify that invalid calls to built-in functions declared
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 without a prototype don't cause an ICE.
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5 { dg-do compile }
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
6 { dg-prune-output "conflicting types for built-in" }
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 { dg-options "-O2 -Warray-bounds -Wrestrict" } */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 void* memcpy ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 void* memmove ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11 char* stpcpy ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 char* strcat ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 char* strcpy ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 char* strncat ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 char* strncpy ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 void* test_memcpy_0 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 return memcpy ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 void* test_memcpy_1 (void *d)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 return memcpy (d);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27 void* test_memcpy_2 (void *d, const void *s)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
29 return memcpy (d, s);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
30 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
31
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
32
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
33 void* test_memmove_0 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
34 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
35 return memmove ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
36 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
37
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
38 void* test_memmove_1 (void *d)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
39 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
40 return memmove (d);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
41 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
42
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
43 void* test_memmove_2 (void *d, const void *s)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
44 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
45 return memmove (d, s);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
46 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
47
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
48
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
49 void* test_stpcpy_0 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
50 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
51 return stpcpy ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
52 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
53
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
54 void* test_stpcpy_1 (char *d)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
55 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
56 return stpcpy (d);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
57 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
58
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
59
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
60 char* test_strcat_0 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
61 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
62 return strcat ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
63 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
64
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
65 char* test_strcat_1 (char *d)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
66 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
67 return strcat (d);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
68 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
69
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
70
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
71 void* test_strcpy_0 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
72 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
73 return strcpy ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
74 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
75
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
76 void* test_strcpy_1 (char *d)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
77 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
78 return strcpy (d);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
79 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
80
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
81
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
82 char* test_strncat_0 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
83 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
84 return strncat ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
85 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
86
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
87 char* test_strncat_1 (char *d)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
88 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
89 return strncat (d);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
90 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
91
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
92 char* test_strncat_2 (char *d, const char *s)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
93 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
94 return strncat (d, s);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
95 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
96
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
97
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
98 void* test_strncpy_0 ()
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
99 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
100 return strncpy ();
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
101 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
102
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
103 void* test_strncpy_1 (char *d)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
104 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
105 return strncpy (d);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
106 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
107
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
108 void* test_strncpy_2 (char *d, const char *s)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
109 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
110 return strncpy (d, s);
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
111 }
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
112
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
113 /* { dg-prune-output "\\\[-Wbuiltin-declaration-mismatch]" } */