// Expect 10 errors

struct S { int i; };

mediump highp int no_multiple_qualifiers;
mediump lowp int no_multiple_qualifiers_2;
highp lowp int no_multiple_qualifiers_3;
highp mediump lowp int no_multiple_qualifiers_4;
highp S no_structs;
mediump bool no_bools;
uniform lowp colorFilter no_opaque;
uniform highp half no_half_highp;
uniform mediump half no_half_mediump;
uniform lowp half no_lowp_mediump;

/*%%*
only one precision qualifier can be used
only one precision qualifier can be used
only one precision qualifier can be used
only one precision qualifier can be used
type 'S' does not support precision qualifiers
type 'bool' does not support precision qualifiers
type 'colorFilter' does not support precision qualifiers
type 'half' does not support precision qualifiers
type 'half' does not support precision qualifiers
type 'half' does not support precision qualifiers
*%%*/
