| SKIP: FAILED |
| |
| #include <metal_stdlib> |
| using namespace metal; |
| |
| threadgroup int a; |
| threadgroup int b; |
| void foo() { |
| { |
| int i = 0; |
| while(true) { |
| int const v = i; |
| threadgroup_barrier(mem_flags::mem_threadgroup); |
| int const v_1 = a; |
| threadgroup_barrier(mem_flags::mem_threadgroup); |
| if ((v < v_1)) { |
| } else { |
| break; |
| } |
| threadgroup_barrier(mem_flags::mem_threadgroup); |
| int const v_2 = b; |
| threadgroup_barrier(mem_flags::mem_threadgroup); |
| i = (i + v_2); |
| continue; |
| } |
| } |
| } |
| program_source:4:17: error: program scope variable must reside in constant address space |
| threadgroup int a; |
| ^ |
| program_source:5:17: error: program scope variable must reside in constant address space |
| threadgroup int b; |
| ^ |
| |