diff --git a/lib/CodeGen/CGRecordLayoutBuilder.cpp b/lib/CodeGen/CGRecordLayoutBuilder.cpp
index 43088b4a2019fb6b0d49af6235e29b7fd651c7d9..90c338702961f582b0ed9dde9f2a25206789fb4e 100644
--- a/lib/CodeGen/CGRecordLayoutBuilder.cpp
+++ b/lib/CodeGen/CGRecordLayoutBuilder.cpp
@@ -1088,7 +1088,7 @@ CGRecordLayout *CodeGenTypes::ComputeRecordLayout(const RecordDecl *D,
              "Storage size does not match the element type size");
     }
     assert(Info.Size > 0 && "Empty bitfield!");
-    assert(Info.Offset + Info.Size <= Info.StorageSize &&
+    assert(static_cast<unsigned>(Info.Offset) + Info.Size <= Info.StorageSize &&
            "Bitfield outside of its allocated storage");
   }
 #endif