Change over to using the definitions for mach-o types and defines to the
defines that are in "llvm/Support/MachO.h". This should allow ObjectFileMachO
and ObjectContainerUniversalMachO to be able to be cross compiled in Linux.

Also did some cleanup on the ASTType by renaming it to ClangASTType and
renaming the header file. Moved a lot of "AST * + opaque clang type *"
functionality from lldb_private::Type over into ClangASTType.

llvm-svn: 109046
diff --git a/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp b/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
index 015e498..f9bf3eb 100644
--- a/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
+++ b/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
@@ -16,7 +16,7 @@
 
 using namespace lldb;
 using namespace lldb_private;
-
+using namespace llvm::MachO;
 
 void
 ObjectContainerUniversalMachO::Initialize()
@@ -75,7 +75,7 @@
     DataExtractor data(dataSP, eByteOrderHost, 4);
     uint32_t offset = 0;
     uint32_t magic = data.GetU32(&offset);
-    return magic == FAT_MAGIC || magic == FAT_CIGAM;
+    return magic == UniversalMagic || magic == UniversalMagicSwapped;
 }
 
 ObjectContainerUniversalMachO::ObjectContainerUniversalMachO
@@ -108,20 +108,20 @@
     m_data.SetByteOrder (eByteOrderBig);
     m_header.magic = m_data.GetU32(&offset);
 
-    if (m_header.magic == FAT_MAGIC)
+    if (m_header.magic == UniversalMagic)
     {
         m_data.SetAddressByteSize(4);
 
         m_header.nfat_arch = m_data.GetU32(&offset);
 
-        const size_t nfat_arch_size = sizeof(fat_arch_t) * m_header.nfat_arch;
+        const size_t nfat_arch_size = sizeof(fat_arch) * m_header.nfat_arch;
         // See if the current data we have is enough for all of the fat headers?
         if (!m_data.ValidOffsetForDataOfSize(offset, nfat_arch_size))
         {
             // The fat headers are larger than the number of bytes we have been
             // given when this class was constructed. We will read the exact number
             // of bytes that we need.
-            DataBufferSP data_sp(m_file.ReadFileContents(m_offset, nfat_arch_size + sizeof(fat_header_t)));
+            DataBufferSP data_sp(m_file.ReadFileContents(m_offset, nfat_arch_size + sizeof(fat_header)));
             m_data.SetData (data_sp);
         }
 
@@ -130,10 +130,10 @@
         uint32_t arch_idx = 0;
         for (arch_idx = 0; arch_idx < m_header.nfat_arch; ++arch_idx)
         {
-            if (m_data.ValidOffsetForDataOfSize(offset, sizeof(fat_arch_t)))
+            if (m_data.ValidOffsetForDataOfSize(offset, sizeof(fat_arch)))
             {
-                fat_arch_t arch;
-                if (m_data.GetU32(&offset, &arch, sizeof(fat_arch_t)/sizeof(uint32_t)))
+                fat_arch arch;
+                if (m_data.GetU32(&offset, &arch, sizeof(fat_arch)/sizeof(uint32_t)))
                 {
                     m_fat_archs.push_back(arch);
                 }
diff --git a/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h b/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h
index 8a7f975..55a8827 100644
--- a/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h
+++ b/lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h
@@ -10,11 +10,11 @@
 #ifndef liblldb_ObjectContainerUniversalMachO_h_
 #define liblldb_ObjectContainerUniversalMachO_h_
 
-#include <mach-o/fat.h>
-
 #include "lldb/Symbol/ObjectContainer.h"
 #include "lldb/Core/FileSpec.h"
 
+#include "llvm/Support/MachO.h"
+
 class ObjectContainerUniversalMachO :
     public lldb_private::ObjectContainer
 {
@@ -94,10 +94,8 @@
 
 
 protected:
-    typedef struct fat_header fat_header_t;
-    typedef struct fat_arch fat_arch_t;
-    fat_header_t m_header;
-    std::vector<fat_arch_t> m_fat_archs;
+    llvm::MachO::fat_header m_header;
+    std::vector<llvm::MachO::fat_arch> m_fat_archs;
 };
 
 #endif  // liblldb_ObjectContainerUniversalMachO_h_