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

Change-Id: Id0e06d7d6600344d858f00dabc219d79289bbc82
Reviewed-on: https://chromium-review.googlesource.com/265020
Tested-by: Minmin Gong <mgong@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@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;
     }
 }