| 1 | // RUN: %clang_analyze_cc1 -triple thumbv7-apple-ios0.0.0 -target-feature +neon -analyzer-checker=core -analyzer-store=region -verify -fblocks -analyzer-opt-analyze-nested-blocks -Wno-objc-root-class %s |
| 2 | // expected-no-diagnostics |
| 3 | |
| 4 | // <rdar://problem/11405978> - Handle casts of vectors to structs, and loading |
| 5 | // a value. |
| 6 | typedef float float32_t; |
| 7 | typedef __attribute__((neon_vector_type(2))) float32_t float32x2_t; |
| 8 | |
| 9 | typedef struct |
| 10 | { |
| 11 | float x, y; |
| 12 | } Rdar11405978Vec; |
| 13 | |
| 14 | float32x2_t rdar11405978_bar(); |
| 15 | float32_t rdar11405978() { |
| 16 | float32x2_t v = rdar11405978_bar(); |
| 17 | Rdar11405978Vec w = *(Rdar11405978Vec *)&v; |
| 18 | return w.x; // no-warning |
| 19 | } |
| 20 | |