glsl: introduce data section to ir_variable

Data section helps serialization and cloning of a ir_variable. This
patch includes the helper bits used for read only ir_variables.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index 9e8eca5..38bf579 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -753,19 +753,19 @@
 	       existing->has_initializer = true;
 	    }
 
-	    if (existing->invariant != var->invariant) {
+	    if (existing->data.invariant != var->data.invariant) {
 	       linker_error(prog, "declarations for %s `%s' have "
 			    "mismatching invariant qualifiers\n",
 			    mode_string(var), var->name);
 	       return;
 	    }
-            if (existing->centroid != var->centroid) {
+            if (existing->data.centroid != var->data.centroid) {
                linker_error(prog, "declarations for %s `%s' have "
 			    "mismatching centroid qualifiers\n",
 			    mode_string(var), var->name);
                return;
             }
-            if (existing->sample != var->sample) {
+            if (existing->data.sample != var->data.sample) {
                linker_error(prog, "declarations for %s `%s` have "
                             "mismatching sample qualifiers\n",
                             mode_string(var), var->name);