SKIP: FAILED

#include <metal_stdlib>
using namespace metal;

thread uint x_1 = 0u;
thread bool x_7 = false;
thread bool x_8 = false;
void main_1() {
  bool const x_101 = x_7;
  bool const x_102 = x_8;
  {
    while(true) {
      uint x_2 = 0u;
      if (x_101) {
        break;
      }
      if (x_102) {
        x_2 = 0u;
        x_1 = x_2;
        continue;
      } else {
        x_2 = 1u;
        x_1 = x_2;
        continue;
      }
      /* unreachable */
    }
  }
}
fragment void tint_symbol() {
  main_1();
}
program_source:4:13: error: program scope variable must reside in constant address space
thread uint x_1 = 0u;
            ^
program_source:5:13: error: program scope variable must reside in constant address space
thread bool x_7 = false;
            ^
program_source:6:13: error: program scope variable must reside in constant address space
thread bool x_8 = false;
            ^

