#include <metal_stdlib>

using namespace metal;

#define TINT_ISOLATE_UB(VOLATILE_NAME) \
  volatile bool VOLATILE_NAME = true; \
  if (VOLATILE_NAME)

void foo(texture2d<int, access::read_write> tint_symbol) {
  {
    int i = 0;
    TINT_ISOLATE_UB(tint_volatile_true) while(true) {
      if (!((i < 3))) {
        break;
      }
      {
      }
      {
        tint_symbol.write(int4(0), uint2(int2(0))); tint_symbol.fence();
      }
    }
  }
}

