Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)

Change-Id: I73d9a2b9ad16f032be974b9c819de0dc1247c2ea
Reviewed-on: https://chromium-review.googlesource.com/264533
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/compiler/translator/SymbolTable.cpp b/src/compiler/translator/SymbolTable.cpp
index 0eb663f..9525040 100644
--- a/src/compiler/translator/SymbolTable.cpp
+++ b/src/compiler/translator/SymbolTable.cpp
@@ -152,10 +152,10 @@
 
     switch(type->getBasicType())
     {
-      case EbtGenType:  return new TType(EbtFloat, size);
-      case EbtGenIType: return new TType(EbtInt, size);
-      case EbtGenUType: return new TType(EbtUInt, size);
-      case EbtGenBType: return new TType(EbtBool, size);
+      case EbtGenType:  return new TType(EbtFloat, static_cast<unsigned char>(size));
+      case EbtGenIType: return new TType(EbtInt, static_cast<unsigned char>(size));
+      case EbtGenUType: return new TType(EbtUInt, static_cast<unsigned char>(size));
+      case EbtGenBType: return new TType(EbtBool, static_cast<unsigned char>(size));
       default: return type;
     }
 }
@@ -173,10 +173,10 @@
 
     switch(type->getBasicType())
     {
-      case EbtVec:  return new TType(EbtFloat, size);
-      case EbtIVec: return new TType(EbtInt, size);
-      case EbtUVec: return new TType(EbtUInt, size);
-      case EbtBVec: return new TType(EbtBool, size);
+      case EbtVec:  return new TType(EbtFloat, static_cast<unsigned char>(size));
+      case EbtIVec: return new TType(EbtInt, static_cast<unsigned char>(size));
+      case EbtUVec: return new TType(EbtUInt, static_cast<unsigned char>(size));
+      case EbtBVec: return new TType(EbtBool, static_cast<unsigned char>(size));
       default: return type;
     }
 }