Fix crash when indexing unsupported interface blocks by variable

This patch intends to fix a compiler crash when indexing an
unsupported interface blocks. We should not use UNREACHABLE() here
because the compiler will continue parsing when this kind of error
is generated. Instead, we use an ASSERT to ensure the compile error
must have been reported before when the parsing reaches here.

BUG=chromium:758159

Change-Id: I4bc63316d156d51f721123fe963106d1e81d8d32
Reviewed-on: https://chromium-review.googlesource.com/631797
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/compiler/translator/ParseContext.cpp b/src/compiler/translator/ParseContext.cpp
index 6a312b6..23f4a3a 100644
--- a/src/compiler/translator/ParseContext.cpp
+++ b/src/compiler/translator/ParseContext.cpp
@@ -3799,7 +3799,9 @@
                           "[");
                     break;
                 default:
-                    UNREACHABLE();
+                    // We can reach here only in error cases.
+                    ASSERT(mDiagnostics->numErrors() > 0);
+                    break;
             }
         }
         else if (baseExpression->getQualifier() == EvqFragmentOut)