SKIP: FAILED

#version 310 es
precision mediump float;

struct S {
  uint first;
  uint rtarr[];
};

layout(binding = 0) buffer S_1 {
  uint first;
  uint rtarr[];
} myvar;
void main_1() {
  uint tint_symbol_2 = 0u;
  myvar.GetDimensions(tint_symbol_2);
  uint tint_symbol_3 = ((tint_symbol_2 - 4u) / 4u);
  uint x_1 = tint_symbol_3;
  return;
}

void tint_symbol() {
  main_1();
  return;
}

void main() {
  tint_symbol();
}

Error parsing GLSL shader:
ERROR: 0:6: '' : array size required 
ERROR: 0:7: '' : compilation terminated 
ERROR: 2 compilation errors.  No code generated.



