/*
 * [config]
 * expect_result: fail
 * glsl_version: 1.50
 * require_extensions: GL_ARB_shader_image_load_store
 * [end config]
 */
#version 150
#extension GL_ARB_shader_image_load_store: require

/*
 * From the ARB_shader_image_load_store spec:
 *
 * "The values of image variables qualified with 'coherent',
 *  'volatile', 'restrict', 'readonly', or 'writeonly' may not be
 *  passed to functions whose formal parameters lack such
 *  qualifiers. [...] It is legal to have additional qualifiers on a
 *  formal parameter, but not to have fewer."
 */
layout(rgba32f) coherent uniform image2D x;

void f(restrict image2D y)
{
}

void main()
{
    f(x);
}
