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();
}

void main() {
  tint_symbol();
  return;
}
Error parsing GLSL shader:
ERROR: 0:6: '' : array size required 
ERROR: 0:7: '' : compilation terminated 
ERROR: 2 compilation errors.  No code generated.



