| SKIP: FAILED |
| |
| #include <metal_stdlib> |
| using namespace metal; |
| |
| thread int a = 0; |
| thread int b = 0; |
| thread int c = 0; |
| void uses_a() { |
| a = (a + 1); |
| } |
| void uses_b() { |
| b = (b * 2); |
| } |
| void uses_a_and_b() { |
| b = a; |
| } |
| void no_uses() { |
| } |
| void outer() { |
| a = 0; |
| uses_a(); |
| uses_a_and_b(); |
| uses_b(); |
| no_uses(); |
| } |
| kernel void main1() { |
| a = 42; |
| uses_a(); |
| } |
| kernel void main2() { |
| b = 7; |
| uses_b(); |
| } |
| kernel void main3() { |
| outer(); |
| no_uses(); |
| } |
| kernel void main4() { |
| no_uses(); |
| } |
| program_source:4:12: error: program scope variable must reside in constant address space |
| thread int a = 0; |
| ^ |
| program_source:5:12: error: program scope variable must reside in constant address space |
| thread int b = 0; |
| ^ |
| program_source:6:12: error: program scope variable must reside in constant address space |
| thread int c = 0; |
| ^ |
| |