move the various builtins stuff from libast to libbasic.  This
fixes a layering violation in lib/Basic/Targets.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73318 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/CMakeLists.txt b/lib/AST/CMakeLists.txt
index 19ab9f6..ac4cbb2 100644
--- a/lib/AST/CMakeLists.txt
+++ b/lib/AST/CMakeLists.txt
@@ -4,7 +4,6 @@
   APValue.cpp
   ASTConsumer.cpp
   ASTContext.cpp
-  Builtins.cpp
   CFG.cpp
   DeclarationName.cpp
   DeclBase.cpp
diff --git a/lib/AST/Builtins.cpp b/lib/Basic/Builtins.cpp
similarity index 97%
rename from lib/AST/Builtins.cpp
rename to lib/Basic/Builtins.cpp
index bdf5dc4..7f91226 100644
--- a/lib/AST/Builtins.cpp
+++ b/lib/Basic/Builtins.cpp
@@ -11,7 +11,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/AST/Builtins.h"
+#include "clang/Basic/Builtins.h"
 #include "clang/Basic/IdentifierTable.h"
 #include "clang/Basic/TargetInfo.h"
 using namespace clang;
@@ -20,7 +20,7 @@
   { "not a builtin function", 0, 0, 0, false },
 #define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, false },
 #define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER, false },
-#include "clang/AST/Builtins.def"
+#include "clang/Basic/Builtins.def"
 };
 
 const Builtin::Info &Builtin::Context::GetRecord(unsigned ID) const {
diff --git a/lib/Basic/CMakeLists.txt b/lib/Basic/CMakeLists.txt
index 1cbf11c..e0e9a10 100644
--- a/lib/Basic/CMakeLists.txt
+++ b/lib/Basic/CMakeLists.txt
@@ -1,6 +1,7 @@
 set(LLVM_NO_RTTI 1)
 
 add_clang_library(clangBasic
+  Builtins.cpp
   ConvertUTF.c
   Diagnostic.cpp
   FileManager.cpp
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index 8b04920..13758ad 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -12,9 +12,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-// FIXME: Layering violation
-#include "clang/AST/Builtins.h"
-#include "clang/AST/TargetBuiltins.h"
+#include "clang/Basic/Builtins.h"
+#include "clang/Basic/TargetBuiltins.h"
 #include "clang/Basic/TargetInfo.h"
 #include "clang/Basic/LangOptions.h"
 #include "llvm/ADT/STLExtras.h"
@@ -315,7 +314,7 @@
 const Builtin::Info PPCTargetInfo::BuiltinInfo[] = {
 #define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, false },
 #define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER, false },
-#include "clang/AST/PPCBuiltins.def"
+#include "clang/Basic/BuiltinsPPC.def"
 };
 
 
@@ -489,7 +488,7 @@
 const Builtin::Info BuiltinInfo[] = {
 #define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, false },
 #define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER, false },
-#include "clang/AST/X86Builtins.def"
+#include "clang/Basic/BuiltinsX86.def"
 };
 
 const char *GCCRegNames[] = {
diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp
index f9c44c8..a919dfa 100644
--- a/lib/CodeGen/CGBuiltin.cpp
+++ b/lib/CodeGen/CGBuiltin.cpp
@@ -17,7 +17,7 @@
 #include "clang/AST/APValue.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/AST/Decl.h"
-#include "clang/AST/TargetBuiltins.h"
+#include "clang/Basic/TargetBuiltins.h"
 #include "llvm/Intrinsics.h"
 using namespace clang;
 using namespace CodeGen;