Build enough support for aggregates to be able to compile this:

void test(int A, _Complex float Y) {
  _Complex float X;
  X = X;

}

llvm-svn: 39669
diff --git a/clang/CodeGen/CodeGenModule.h b/clang/CodeGen/CodeGenModule.h
index 8e40483..885fb97 100644
--- a/clang/CodeGen/CodeGenModule.h
+++ b/clang/CodeGen/CodeGenModule.h
@@ -20,6 +20,7 @@
 namespace llvm {
   class Module;
   class Constant;
+  class Function;
 }
 
 namespace clang {
@@ -36,6 +37,7 @@
   llvm::Module &TheModule;
   CodeGenTypes Types;
 
+  llvm::Function *MemCpyFn;
   llvm::DenseMap<const Decl*, llvm::Constant*> GlobalDeclMap;
 public:
   CodeGenModule(ASTContext &C, llvm::Module &M);
@@ -46,6 +48,8 @@
   
   llvm::Constant *GetAddrOfGlobalDecl(const Decl *D);
   
+  llvm::Function *getMemCpyFn();
+  
   void EmitFunction(FunctionDecl *FD);
   
   void PrintStats() {}