annotate gcc/testsuite/g++.dg/spellcheck-stdlib.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children 1830386684a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 /* Missing <cstddef>. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 void *ptr = NULL; // { dg-error "'NULL' was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4 // { dg-message "'NULL' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6 ptrdiff_t pd; // { dg-error "'ptrdiff_t' does not name a type" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 // { dg-message "'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 size_t sz; // { dg-error "'size_t' does not name a type" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 // { dg-message "'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 /* Missing <cstdio>. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 void test_cstdio (void)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16 FILE *f; // { dg-error "'FILE' was not declared in this scope" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 // { dg-message "'FILE' is defined in header '<cstdio>'; did you forget to '#include <cstdio>'?" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 // { dg-error "'f' was not declared in this scope" "" { target *-*-* } .-2 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 // { dg-bogus "suggested alternative: 'if'" "PR c++/80567" { target *-*-* } .-3 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21 char buf[BUFSIZ]; // { dg-error "'BUFSIZ' was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 // { dg-message "'BUFSIZ' is defined in header '<cstdio>'; did you forget to '#include <cstdio>'?" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 char buf2[FILENAME_MAX]; // { dg-error "'FILENAME_MAX' was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25 // { dg-message "'FILENAME_MAX' is defined in header '<cstdio>'; did you forget to '#include <cstdio>'?" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27 stderr; // { dg-error "'stderr' was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 // { dg-message "'stderr' is defined in header '<cstdio>'; did you forget to '#include <cstdio>'?" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
29
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
30 stdin; // { dg-error "'stdin' was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
31 // { dg-message "'stdin' is defined in header '<cstdio>'; did you forget to '#include <cstdio>'?" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
32
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
33 stdout; // { dg-error "'stdout' was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
34 // { dg-message "'stdout' is defined in header '<cstdio>'; did you forget to '#include <cstdio>'?" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
35
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
36 EOF; // { dg-error "'EOF' was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
37 // { dg-message "'EOF' is defined in header '<cstdio>'; did you forget to '#include <cstdio>'?" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
38
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
39 fopen ("test.txt"); // { dg-error "'fopen' was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
40 // { dg-message "'#include <cstdio>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
41
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
42 printf ("test\n"); // { dg-error "'printf' was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
43 // { dg-message "'#include <cstdio>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
44
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
45 char tmp[16];
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
46 sprintf (tmp, "test\n"); // { dg-error "'sprintf' was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
47 // { dg-message "'#include <cstdio>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
48 snprintf (tmp, 16, "test\n"); // { dg-error "'snprintf' was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
49 // { dg-message "'#include <cstdio>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
50
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
51 getchar (); // { dg-error "'getchar' was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
52 // { dg-message "'#include <cstdio>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
53 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
54
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
55 /* Missing <cerrno>. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
56
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
57 int test_cerrno (void)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
58 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
59 return errno; // { dg-error "'errno' was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
60 // { dg-message "'errno' is defined in header '<cerrno>'; did you forget to '#include <cerrno>'?" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
61 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
62
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
63 /* Missing <cstdarg>. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
64
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
65 void test_cstdarg (void)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
66 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
67 va_list ap; // { dg-error "'va_list'" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
68 // { dg-message "'va_list' is defined in header '<cstdarg>'; did you forget to '#include <cstdarg>'?" "" { target *-*-* } .-1 }
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 /* Missing <climits>. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
72 int test_INT_MAX (void)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
73 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
74 return INT_MAX; // { dg-line INT_MAX_line }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
75 // { dg-error "'INT_MAX' was not declared" "" { target *-*-* } INT_MAX_line }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
76 // { dg-bogus "__INT_MAX__" "" { target *-*-* } INT_MAX_line }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
77 // { dg-message "'INT_MAX' is defined in header '<climits>'; did you forget to '#include <climits>'?" "" { target *-*-* } INT_MAX_line }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
78 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
79
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
80 /* Missing <cstring>. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
81
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
82 void test_cstring (char *dest, char *src)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
83 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
84 memchr(dest, 'a', 4); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
85 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
86 memcmp(dest, src, 4); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
87 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
88 memcpy(dest, src, 4); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
89 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
90 memmove(dest, src, 4); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
91 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
92 memset(dest, 'a', 4); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
93 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
94 strcat(dest, "test"); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
95 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
96 strchr("test", 'e'); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
97 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
98 strcmp(dest, "test"); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
99 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
100 strcpy(dest, "test"); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
101 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
102 strlen("test"); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
103 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
104 strncat(dest, "test", 3); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
105 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
106 strncmp(dest, "test", 3); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
107 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
108 strncpy(dest, "test", 3); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
109 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
110 strrchr("test", 'e'); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
111 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
112 strspn(dest, "test"); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
113 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
114 strstr(dest, "test"); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
115 // { dg-message "'#include <cstring>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
116 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
117
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
118 /* Missing <cassert>. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
119
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
120 void test_cassert (int a, int b)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
121 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
122 assert (a == b); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
123 // { dg-message "'#include <cassert>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
124 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
125
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
126 /* Missing <cstdlib>. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
127
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
128 void test_cstdlib (void *q)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
129 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
130 void *ptr = malloc (64); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
131 // { dg-message "'#include <cstdlib>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
132 free (ptr); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
133 // { dg-message "'#include <cstdlib>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
134 q = realloc (q, 1024); // { dg-error "was not declared" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
135 // { dg-message "'#include <cstdlib>'" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
136 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
137
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
138 /* Verify that we don't offer suggestions to stdlib globals names when
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
139 there's an explicit namespace. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
140
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
141 namespace some_ns {}
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
142
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
143 int not_within_namespace (void)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
144 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
145 return some_ns::stdout; // { dg-error "'stdout' is not a member of 'some_ns'" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
146 // { dg-bogus "is defined in header" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
147 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
148
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
149 /* Similarly for when there's an explicit class scope. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
150
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
151 class some_class {};
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
152
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
153 int not_within_class (void)
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
154 {
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
155 return some_class::stdout; // { dg-error "'stdout' is not a member of 'some_class'" }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
156 // { dg-bogus "is defined in header" "" { target *-*-* } .-1 }
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
157 }