| 1 | // RUN: %clang_cc1 %s -triple spir-unknown-unknown -cl-std=c++ -O0 -emit-llvm -o - | FileCheck %s |
|---|---|
| 2 | |
| 3 | class P { |
| 4 | public: |
| 5 | P(const P &Rhs) = default; |
| 6 | |
| 7 | long A; |
| 8 | long B; |
| 9 | }; |
| 10 | |
| 11 | void foo(__global P *GPtr) { |
| 12 | // CHECK: call void @llvm.memcpy{{.*}}, {{.*}}, i32 16 |
| 13 | P Val = GPtr[0]; |
| 14 | } |
| 15 | |
| 16 | struct __attribute__((packed)) A { int X; }; |
| 17 | int test(__global A *GPtr) { |
| 18 | // CHECK: {{.*}} = load i32, {{.*}}, align 1 |
| 19 | return static_cast<__generic A &>(*GPtr).X; |
| 20 | } |
| 21 |