SKIP: crbug.com/tint/833 loop emission is broken

#include <metal_stdlib>

using namespace metal;
struct Buf {
  /* 0x0000 */ uint count;
  /* 0x0004 */ uint data[50];
};

kernel void tint_symbol(device Buf& b [[buffer(0)]]) {
  uint i = 0u;
  {
    bool tint_msl_is_first_1 = true;
    device uint* const p;
    for(;;) {
      if (!tint_msl_is_first_1) {
        *(p) = (*(p) * 2u);
        i = (i + 1u);
      }
      tint_msl_is_first_1 = false;

      if ((i >= b.count)) {
        break;
      }
      p = &(b.data[i]);
      if (((i % 2u) == 0u)) {
        continue;
      }
      *(p) = 0u;
    }
  }
  return;
}

