Translator: Fail compilation if built-in redeclared after qualified If a built-in is qualified then redeclared like so: invariant gl_FragDepth; out float gl_FragDepth; the translator would have to remove the previous qualification statement and apply its effect to the redeclared variable directly. While this is possible, it has always been broken (i.e. there are no users), and is not really useful to support, since the application could have done the following instead: invariant out float gl_FragDepth; The spec does not explicitly call this out as invalid, but this change generates a compile error for the above scenario anyway, as supporting it can get unnecessarily intrusive. Bug: angleproject:349994211 Change-Id: I9ddb181c8808f50aeed5b327a95b3df829206822 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6999640 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>