Create a new Serialization module that contains all the PCH code, and will contain all the module code in the future. Update the Makefiles, CMake projects and the Xcode project. I hope I did everything right for Xcode. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111258 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index bc2cd46..8ecfcbe 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -8,6 +8,7 @@
 add_subdirectory(Analysis)
 add_subdirectory(Rewrite)
 add_subdirectory(Driver)
+add_subdirectory(Serialization)
 add_subdirectory(Frontend)
 add_subdirectory(Index)
 add_subdirectory(Checker)
diff --git a/lib/Frontend/ASTUnit.cpp b/lib/Frontend/ASTUnit.cpp
index 428647f..019d25c 100644
--- a/lib/Frontend/ASTUnit.cpp
+++ b/lib/Frontend/ASTUnit.cpp
@@ -12,7 +12,6 @@
 //===----------------------------------------------------------------------===//
 
 #include "clang/Frontend/ASTUnit.h"
-#include "clang/Frontend/PCHWriter.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/AST/ASTConsumer.h"
 #include "clang/AST/DeclVisitor.h"
@@ -26,7 +25,8 @@
 #include "clang/Frontend/FrontendActions.h"
 #include "clang/Frontend/FrontendDiagnostic.h"
 #include "clang/Frontend/FrontendOptions.h"
-#include "clang/Frontend/PCHReader.h"
+#include "clang/Serialization/PCHReader.h"
+#include "clang/Serialization/PCHWriter.h"
 #include "clang/Lex/HeaderSearch.h"
 #include "clang/Lex/Preprocessor.h"
 #include "clang/Basic/TargetOptions.h"
diff --git a/lib/Frontend/CMakeLists.txt b/lib/Frontend/CMakeLists.txt
index a3fd17f..fa20aff 100644
--- a/lib/Frontend/CMakeLists.txt
+++ b/lib/Frontend/CMakeLists.txt
@@ -20,12 +20,6 @@
   InitHeaderSearch.cpp
   InitPreprocessor.cpp
   LangStandards.cpp
-  PCHReader.cpp
-  PCHReaderDecl.cpp
-  PCHReaderStmt.cpp
-  PCHWriter.cpp
-  PCHWriterDecl.cpp
-  PCHWriterStmt.cpp
   PrintPreprocessedOutput.cpp
   StmtXML.cpp
   TextDiagnosticBuffer.cpp
diff --git a/lib/Frontend/CompilerInstance.cpp b/lib/Frontend/CompilerInstance.cpp
index 8e1dbcb..aaa6780 100644
--- a/lib/Frontend/CompilerInstance.cpp
+++ b/lib/Frontend/CompilerInstance.cpp
@@ -21,11 +21,11 @@
 #include "clang/Lex/PTHManager.h"
 #include "clang/Frontend/ChainedDiagnosticClient.h"
 #include "clang/Frontend/FrontendAction.h"
-#include "clang/Frontend/PCHReader.h"
 #include "clang/Frontend/FrontendDiagnostic.h"
 #include "clang/Frontend/TextDiagnosticPrinter.h"
 #include "clang/Frontend/VerifyDiagnosticsClient.h"
 #include "clang/Frontend/Utils.h"
+#include "clang/Serialization/PCHReader.h"
 #include "clang/Sema/CodeCompleteConsumer.h"
 #include "llvm/LLVMContext.h"
 #include "llvm/Support/MemoryBuffer.h"
diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp
index 82cd75d..68b384f 100644
--- a/lib/Frontend/CompilerInvocation.cpp
+++ b/lib/Frontend/CompilerInvocation.cpp
@@ -18,7 +18,7 @@
 #include "clang/Driver/Option.h"
 #include "clang/Frontend/CompilerInvocation.h"
 #include "clang/Frontend/LangStandard.h"
-#include "clang/Frontend/PCHReader.h"
+#include "clang/Serialization/PCHReader.h"
 #include "llvm/ADT/OwningPtr.h"
 #include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/StringExtras.h"
diff --git a/lib/Frontend/FrontendActions.cpp b/lib/Frontend/FrontendActions.cpp
index 0a03ab4..8599efb 100644
--- a/lib/Frontend/FrontendActions.cpp
+++ b/lib/Frontend/FrontendActions.cpp
@@ -17,8 +17,8 @@
 #include "clang/Frontend/ASTUnit.h"
 #include "clang/Frontend/CompilerInstance.h"
 #include "clang/Frontend/FrontendDiagnostic.h"
-#include "clang/Frontend/PCHWriter.h"
 #include "clang/Frontend/Utils.h"
+#include "clang/Serialization/PCHWriter.h"
 #include "llvm/ADT/OwningPtr.h"
 #include "llvm/Support/MemoryBuffer.h"
 #include "llvm/Support/raw_ostream.h"
diff --git a/lib/Makefile b/lib/Makefile
index 4fca624..843b574 100755
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -9,7 +9,7 @@
 CLANG_LEVEL := ..
 
 PARALLEL_DIRS = Headers Basic Lex Parse AST Sema CodeGen Analysis \
-                Checker Rewrite Frontend Index Driver
+                Checker Rewrite Serialization Frontend Index Driver
 
 include $(CLANG_LEVEL)/Makefile
 
diff --git a/lib/Serialization/CMakeLists.txt b/lib/Serialization/CMakeLists.txt
new file mode 100644
index 0000000..a7cd4b5
--- /dev/null
+++ b/lib/Serialization/CMakeLists.txt
@@ -0,0 +1,19 @@
+set(LLVM_NO_RTTI 1)
+
+add_clang_library(clangSerialization
+  PCHReader.cpp
+  PCHReaderDecl.cpp
+  PCHReaderStmt.cpp
+  PCHWriter.cpp
+  PCHWriterDecl.cpp
+  PCHWriterStmt.cpp
+  )
+
+add_dependencies(clangSerialization
+  ClangAttrClasses
+  ClangAttrList
+  ClangDiagnosticFrontend
+  ClangDiagnosticLex
+  ClangDiagnosticSema
+  ClangDeclNodes
+  ClangStmtNodes)
diff --git a/lib/Frontend/GeneratePCH.cpp b/lib/Serialization/GeneratePCH.cpp
similarity index 97%
rename from lib/Frontend/GeneratePCH.cpp
rename to lib/Serialization/GeneratePCH.cpp
index 33f5ef5..55eaa9c 100644
--- a/lib/Frontend/GeneratePCH.cpp
+++ b/lib/Serialization/GeneratePCH.cpp
@@ -13,7 +13,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "clang/Frontend/ASTConsumers.h"
-#include "clang/Frontend/PCHWriter.h"
+#include "clang/Serialization/PCHWriter.h"
 #include "clang/Sema/SemaConsumer.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/AST/ASTConsumer.h"
diff --git a/lib/Serialization/Makefile b/lib/Serialization/Makefile
new file mode 100644
index 0000000..e89ddc3
--- /dev/null
+++ b/lib/Serialization/Makefile
@@ -0,0 +1,19 @@
+##===- clang/lib/Serialization/Makefile --------------------*- Makefile -*-===##
+# 
+#                     The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+# 
+##===----------------------------------------------------------------------===##
+#
+#  This implements the semantic analyzer and AST builder library for the 
+#  C-Language front-end.
+#
+##===----------------------------------------------------------------------===##
+
+CLANG_LEVEL := ../..
+LIBRARYNAME := clangSerialization
+
+include $(CLANG_LEVEL)/Makefile
+
diff --git a/lib/Frontend/PCHReader.cpp b/lib/Serialization/PCHReader.cpp
similarity index 99%
rename from lib/Frontend/PCHReader.cpp
rename to lib/Serialization/PCHReader.cpp
index 9491770..852bbaf 100644
--- a/lib/Frontend/PCHReader.cpp
+++ b/lib/Serialization/PCHReader.cpp
@@ -11,9 +11,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Frontend/PCHReader.h"
+#include "clang/Serialization/PCHReader.h"
+#include "clang/Serialization/PCHDeserializationListener.h"
 #include "clang/Frontend/FrontendDiagnostic.h"
-#include "clang/Frontend/PCHDeserializationListener.h"
 #include "clang/Frontend/Utils.h"
 #include "clang/Sema/Sema.h"
 #include "clang/AST/ASTConsumer.h"
diff --git a/lib/Frontend/PCHReaderDecl.cpp b/lib/Serialization/PCHReaderDecl.cpp
similarity index 99%
rename from lib/Frontend/PCHReaderDecl.cpp
rename to lib/Serialization/PCHReaderDecl.cpp
index aa5ce7a..9b27b03 100644
--- a/lib/Frontend/PCHReaderDecl.cpp
+++ b/lib/Serialization/PCHReaderDecl.cpp
@@ -12,7 +12,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Frontend/PCHReader.h"
+#include "clang/Serialization/PCHReader.h"
 #include "clang/AST/ASTConsumer.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/AST/DeclVisitor.h"
diff --git a/lib/Frontend/PCHReaderStmt.cpp b/lib/Serialization/PCHReaderStmt.cpp
similarity index 99%
rename from lib/Frontend/PCHReaderStmt.cpp
rename to lib/Serialization/PCHReaderStmt.cpp
index 41c8a9a..727dce3 100644
--- a/lib/Frontend/PCHReaderStmt.cpp
+++ b/lib/Serialization/PCHReaderStmt.cpp
@@ -12,7 +12,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Frontend/PCHReader.h"
+#include "clang/Serialization/PCHReader.h"
 #include "clang/AST/DeclCXX.h"
 #include "clang/AST/StmtVisitor.h"
 using namespace clang;
diff --git a/lib/Frontend/PCHWriter.cpp b/lib/Serialization/PCHWriter.cpp
similarity index 99%
rename from lib/Frontend/PCHWriter.cpp
rename to lib/Serialization/PCHWriter.cpp
index 76fd552..f75373a 100644
--- a/lib/Frontend/PCHWriter.cpp
+++ b/lib/Serialization/PCHWriter.cpp
@@ -11,7 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Frontend/PCHWriter.h"
+#include "clang/Serialization/PCHWriter.h"
 #include "clang/Sema/Sema.h"
 #include "clang/Sema/IdentifierResolver.h"
 #include "clang/AST/ASTContext.h"
@@ -20,7 +20,7 @@
 #include "clang/AST/Expr.h"
 #include "clang/AST/Type.h"
 #include "clang/AST/TypeLocVisitor.h"
-#include "clang/Frontend/PCHReader.h"
+#include "clang/Serialization/PCHReader.h"
 #include "clang/Lex/MacroInfo.h"
 #include "clang/Lex/PreprocessingRecord.h"
 #include "clang/Lex/Preprocessor.h"
diff --git a/lib/Frontend/PCHWriterDecl.cpp b/lib/Serialization/PCHWriterDecl.cpp
similarity index 99%
rename from lib/Frontend/PCHWriterDecl.cpp
rename to lib/Serialization/PCHWriterDecl.cpp
index 9893d25..a9ec527 100644
--- a/lib/Frontend/PCHWriterDecl.cpp
+++ b/lib/Serialization/PCHWriterDecl.cpp
@@ -11,7 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Frontend/PCHWriter.h"
+#include "clang/Serialization/PCHWriter.h"
 #include "clang/AST/DeclVisitor.h"
 #include "clang/AST/DeclCXX.h"
 #include "clang/AST/DeclTemplate.h"
diff --git a/lib/Frontend/PCHWriterStmt.cpp b/lib/Serialization/PCHWriterStmt.cpp
similarity index 99%
rename from lib/Frontend/PCHWriterStmt.cpp
rename to lib/Serialization/PCHWriterStmt.cpp
index 0c149f2..182a272 100644
--- a/lib/Frontend/PCHWriterStmt.cpp
+++ b/lib/Serialization/PCHWriterStmt.cpp
@@ -11,7 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/Frontend/PCHWriter.h"
+#include "clang/Serialization/PCHWriter.h"
 #include "clang/AST/DeclCXX.h"
 #include "clang/AST/DeclObjC.h"
 #include "clang/AST/StmtVisitor.h"