Allow 'defined' in define in non-WebGL.

This is needed to pass dEQP conformance. Several of the harder dEQP
tests around this behaviour are excluded from the mustpass list. This
is presumably because the behaviours weren't implemented portably.
Nevertheless we need to support conformant behaviour for GLES 2.0
Contexts for the most simple uses.

This also leaves the error behaviour intact for WebGL specs.

Bug: angleproject:1335
Change-Id: Ia80b4f71475efa928488ee6c2ee35c566d4602d4
Reviewed-on: https://chromium-review.googlesource.com/c/1242013
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/preprocessor/Token.h b/src/compiler/preprocessor/Token.h
index 6a613d6..7485ade 100644
--- a/src/compiler/preprocessor/Token.h
+++ b/src/compiler/preprocessor/Token.h
@@ -106,6 +106,8 @@
 
 std::ostream &operator<<(std::ostream &out, const Token &token);
 
+constexpr char kDefined[] = "defined";
+
 }  // namespace pp
 
 }  // namespace angle