diff --git a/lib/AST/TypeLoc.cpp b/lib/AST/TypeLoc.cpp
index 0ac50b31aceced2e9f9f23d9c9334db190679de0..84f607b824ff66514d0d95053ca77620117ed7a7 100644
--- a/lib/AST/TypeLoc.cpp
+++ b/lib/AST/TypeLoc.cpp
@@ -311,19 +311,19 @@ TypeSpecifierType BuiltinTypeLoc::getWrittenTypeSpec() const {
     return static_cast<TypeSpecifierType>(getWrittenBuiltinSpecs().Type);
   switch (getTypePtr()->getKind()) {
   case BuiltinType::Void:
-    return TST_void;
+    return TypeSpecifierType::TST_void;
   case BuiltinType::Bool:
-    return TST_bool;
+    return TypeSpecifierType::TST_bool;
   case BuiltinType::Char_U:
   case BuiltinType::Char_S:
-    return TST_char;
+    return TypeSpecifierType::TST_char;
   case BuiltinType::Char16:
-    return TST_char16;
+    return TypeSpecifierType::TST_char16;
   case BuiltinType::Char32:
-    return TST_char32;
+    return TypeSpecifierType::TST_char32;
   case BuiltinType::WChar_S:
   case BuiltinType::WChar_U:
-    return TST_wchar;
+    return TypeSpecifierType::TST_wchar;
   case BuiltinType::UChar:
   case BuiltinType::UShort:
   case BuiltinType::UInt:
@@ -365,7 +365,7 @@ TypeSpecifierType BuiltinTypeLoc::getWrittenTypeSpec() const {
   case BuiltinType::OCLReserveID:
   case BuiltinType::BuiltinFn:
   case BuiltinType::OMPArraySection:
-    return TST_unspecified;
+    return TypeSpecifierType::TST_unspecified;
   }
 
   llvm_unreachable("Invalid BuiltinType Kind!");
diff --git a/lib/Serialization/ASTWriter.cpp b/lib/Serialization/ASTWriter.cpp
index 1e72ced2ee364bdee8e8f7c8d32e4ada1f590e68..038470efeb2a4860fbaa47c154f9fadfdc5e7e62 100644
--- a/lib/Serialization/ASTWriter.cpp
+++ b/lib/Serialization/ASTWriter.cpp
@@ -590,9 +590,9 @@ void TypeLocWriter::VisitQualifiedTypeLoc(QualifiedTypeLoc TL) {
 void TypeLocWriter::VisitBuiltinTypeLoc(BuiltinTypeLoc TL) {
   Record.AddSourceLocation(TL.getBuiltinLoc());
   if (TL.needsExtraLocalData()) {
-    Record.push_back(TL.getWrittenTypeSpec());
-    Record.push_back(TL.getWrittenSignSpec());
-    Record.push_back(TL.getWrittenWidthSpec());
+    Record.push_back(static_cast<int>(TL.getWrittenTypeSpec()));
+    Record.push_back(static_cast<int>(TL.getWrittenSignSpec()));
+    Record.push_back(static_cast<int>(TL.getWrittenWidthSpec()));
     Record.push_back(TL.hasModeAttr());
   }
 }