Commit 6f7c536
Anastasia Stulova
[Sema] Change addr space diagnostics in casts to follow C++ style.
This change adds a new diagnostic for mismatching address spaces
to be used for C++ casts (only enabled in C style cast for now,
the rest will follow!).
The change extends C-style cast rules to account for address spaces.
It also adds a separate function for address space cast checking that
can be used to map from a separate address space cast operator
addrspace_cast (to be added as a follow up patch).
Note, that after this change clang will no longer allows arbitrary
address space conversions in reinterpret_casts because they can lead
to accidental errors. The implicit safe conversions would still be
allowed.
Differential Revision: https://reviews.llvm.org/D58346
llvm-svn: 3556091 parent 27e5c21 commit 6f7c536
File tree
6 files changed
+232
-58
lines changed- clang
- include/clang/Basic
- lib/Sema
- test
- CodeGenOpenCLCXX
- SemaCXX
- SemaOpenCL
6 files changed
+232
-58
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6271 | 6271 | | |
6272 | 6272 | | |
6273 | 6273 | | |
| 6274 | + | |
| 6275 | + | |
| 6276 | + | |
| 6277 | + | |
6274 | 6278 | | |
6275 | 6279 | | |
6276 | 6280 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2212 | 2212 | | |
2213 | 2213 | | |
2214 | 2214 | | |
2215 | | - | |
| 2215 | + | |
| 2216 | + | |
| 2217 | + | |
| 2218 | + | |
| 2219 | + | |
| 2220 | + | |
| 2221 | + | |
| 2222 | + | |
| 2223 | + | |
2216 | 2224 | | |
2217 | 2225 | | |
2218 | 2226 | | |
| |||
2222 | 2230 | | |
2223 | 2231 | | |
2224 | 2232 | | |
2225 | | - | |
2226 | | - | |
2227 | 2233 | | |
2228 | 2234 | | |
2229 | 2235 | | |
| |||
2278 | 2284 | | |
2279 | 2285 | | |
2280 | 2286 | | |
| 2287 | + | |
| 2288 | + | |
| 2289 | + | |
| 2290 | + | |
| 2291 | + | |
| 2292 | + | |
| 2293 | + | |
| 2294 | + | |
| 2295 | + | |
| 2296 | + | |
| 2297 | + | |
| 2298 | + | |
| 2299 | + | |
| 2300 | + | |
| 2301 | + | |
| 2302 | + | |
| 2303 | + | |
| 2304 | + | |
| 2305 | + | |
| 2306 | + | |
| 2307 | + | |
| 2308 | + | |
| 2309 | + | |
| 2310 | + | |
| 2311 | + | |
| 2312 | + | |
| 2313 | + | |
| 2314 | + | |
| 2315 | + | |
| 2316 | + | |
| 2317 | + | |
| 2318 | + | |
| 2319 | + | |
| 2320 | + | |
| 2321 | + | |
2281 | 2322 | | |
2282 | 2323 | | |
2283 | 2324 | | |
| |||
2372 | 2413 | | |
2373 | 2414 | | |
2374 | 2415 | | |
| 2416 | + | |
2375 | 2417 | | |
2376 | 2418 | | |
2377 | | - | |
| 2419 | + | |
2378 | 2420 | | |
2379 | 2421 | | |
2380 | 2422 | | |
2381 | 2423 | | |
2382 | 2424 | | |
2383 | | - | |
2384 | | - | |
2385 | | - | |
| 2425 | + | |
| 2426 | + | |
2386 | 2427 | | |
2387 | | - | |
2388 | | - | |
2389 | | - | |
| 2428 | + | |
2390 | 2429 | | |
2391 | 2430 | | |
2392 | | - | |
2393 | 2431 | | |
2394 | | - | |
2395 | | - | |
2396 | | - | |
| 2432 | + | |
| 2433 | + | |
| 2434 | + | |
2397 | 2435 | | |
2398 | 2436 | | |
| 2437 | + | |
| 2438 | + | |
| 2439 | + | |
| 2440 | + | |
| 2441 | + | |
| 2442 | + | |
| 2443 | + | |
| 2444 | + | |
2399 | 2445 | | |
2400 | 2446 | | |
2401 | 2447 | | |
| |||
2426 | 2472 | | |
2427 | 2473 | | |
2428 | 2474 | | |
2429 | | - | |
2430 | | - | |
2431 | 2475 | | |
2432 | 2476 | | |
2433 | 2477 | | |
| |||
Lines changed: 14 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
138 | 138 | | |
139 | | - | |
140 | | - | |
| 139 | + | |
| 140 | + | |
141 | 141 | | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
147 | 147 | | |
148 | | - | |
149 | | - | |
| 148 | + | |
| 149 | + | |
150 | 150 | | |
151 | | - | |
| 151 | + | |
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
| |||
Lines changed: 50 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
129 | 129 | | |
130 | 130 | | |
131 | 131 | | |
132 | | - | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
133 | 137 | | |
134 | 138 | | |
135 | 139 | | |
136 | 140 | | |
137 | | - | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
138 | 146 | | |
139 | 147 | | |
140 | 148 | | |
141 | 149 | | |
142 | | - | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
143 | 155 | | |
144 | 156 | | |
145 | 157 | | |
146 | 158 | | |
147 | | - | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
148 | 164 | | |
149 | 165 | | |
150 | 166 | | |
151 | 167 | | |
152 | | - | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
153 | 173 | | |
154 | 174 | | |
155 | 175 | | |
| |||
200 | 220 | | |
201 | 221 | | |
202 | 222 | | |
203 | | - | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
204 | 228 | | |
205 | 229 | | |
206 | 230 | | |
207 | 231 | | |
208 | | - | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
209 | 237 | | |
210 | 238 | | |
211 | 239 | | |
212 | 240 | | |
213 | | - | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
214 | 246 | | |
215 | 247 | | |
216 | 248 | | |
217 | 249 | | |
218 | | - | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
219 | 255 | | |
220 | 256 | | |
221 | 257 | | |
222 | 258 | | |
223 | | - | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
224 | 264 | | |
225 | 265 | | |
226 | 266 | | |
| |||
0 commit comments