The global invariant pragma must not leak across compilations.

BUG=chromium:625363
TEST=conformance/glsl/bugs/global-invariant-does-not-leak-across-shaders.html

Change-Id: Ie8d38e44837fc87bb4c94e76e779ad41e8b79957
Reviewed-on: https://chromium-review.googlesource.com/358203
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
diff --git a/src/compiler/translator/Compiler.cpp b/src/compiler/translator/Compiler.cpp
index 3c7742a..73420d3 100644
--- a/src/compiler/translator/Compiler.cpp
+++ b/src/compiler/translator/Compiler.cpp
@@ -246,10 +246,7 @@
     if (success)
     {
         mPragma = parseContext.pragma();
-        if (mPragma.stdgl.invariantAll)
-        {
-            symbolTable.setGlobalInvariant();
-        }
+        symbolTable.setGlobalInvariant(mPragma.stdgl.invariantAll);
 
         root = parseContext.getTreeRoot();
         root = intermediate.postProcess(root);
diff --git a/src/compiler/translator/SymbolTable.h b/src/compiler/translator/SymbolTable.h
index 6de7c98..a3ca98f 100644
--- a/src/compiler/translator/SymbolTable.h
+++ b/src/compiler/translator/SymbolTable.h
@@ -469,8 +469,7 @@
               mInvariantVaryings.count(originalName) > 0);
     }
 
-    void setGlobalInvariant() { mGlobalInvariant = true; }
-    bool getGlobalInvariant() const { return mGlobalInvariant; }
+    void setGlobalInvariant(bool invariant) { mGlobalInvariant = invariant; }
 
     static int nextUniqueId()
     {