Revert "Don't mark all macros with double underscores as reserved."
Fails a WebGL CTS test.
BUG=angleproject:989
This reverts commit 942e36254a1e3537371c39f3f23d1ce12f4c87e8.
Change-Id: I9f833366d5b69535ef74e358ac21efaccb1f1a3d
Reviewed-on: https://chromium-review.googlesource.com/268751
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/compiler/preprocessor/DirectiveParser.cpp b/src/compiler/preprocessor/DirectiveParser.cpp
index 64b48b4..b38f332 100644
--- a/src/compiler/preprocessor/DirectiveParser.cpp
+++ b/src/compiler/preprocessor/DirectiveParser.cpp
@@ -118,28 +118,13 @@
bool isMacroNameReserved(const std::string &name)
{
- const char *kPredefinedMacros[] =
- {
- "__LINE__",
- "__FILE__",
- "__VERSION__",
- "GL_ES",
- };
- const size_t kPredefinedMacrosCount = sizeof(kPredefinedMacros) / sizeof(*kPredefinedMacros);
-
- for (size_t i = 0; i < kPredefinedMacrosCount; i++)
- {
- if (name == kPredefinedMacros[i])
- {
- return true;
- }
- }
-
// Names prefixed with "GL_" are reserved.
- if (name.compare(0, 3, "GL_") == 0)
- {
+ if (name.substr(0, 3) == "GL_")
return true;
- }
+
+ // Names containing two consecutive underscores are reserved.
+ if (name.find("__") != std::string::npos)
+ return true;
return false;
}