#version 460 core

struct S {
    float f;
    vec4 v;
};

in S s;

void main()
{
    interpolateAtCentroid(s.v);
    bool b1;
    b1 = anyInvocation(b1);
    b1 = allInvocations(b1);
    b1 = allInvocationsEqual(b1);
}

void attExtBad()
{
    // ERRORs, not enabled
    [[dependency_length(1+3)]] for (int i = 0; i < 8; ++i) { }
    [[flatten]]                if (true) { } else { }
}

#extension GL_EXT_control_flow_attributes : enable

void attExt()
{
    [[dependency_length(-3)]] do {  } while(true); // ERROR, not positive
    [[dependency_length(0)]] do {  } while(true);  // ERROR, not positive
}
