Use arrays and SmallVectors instead of std::vectors when building function
types.  Also, cache a translation of 'void' in CGM and provide a ptrdiff_t
alias.  No functionality change.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131373 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CodeGenModule.h b/lib/CodeGen/CodeGenModule.h
index ce708c8..779a352 100644
--- a/lib/CodeGen/CodeGenModule.h
+++ b/lib/CodeGen/CodeGenModule.h
@@ -97,16 +97,20 @@
   };
 
   struct CodeGenTypeCache {
+    /// void
+    const llvm::Type *VoidTy;
+
     /// i8, i32, and i64
     const llvm::IntegerType *Int8Ty, *Int32Ty, *Int64Ty;
 
     /// int
     const llvm::IntegerType *IntTy;
 
-    /// intptr_t and size_t, which we assume are the same
+    /// intptr_t, size_t, and ptrdiff_t, which we assume are the same size.
     union {
       const llvm::IntegerType *IntPtrTy;
       const llvm::IntegerType *SizeTy;
+      const llvm::IntegerType *PtrDiffTy;
     };
 
     /// void* in address space 0