Split all of the core of LLDB.framework/lldb.so into a
static archive that can be linked against. LLDB.framework/lldb.so
exports a very controlled API. Splitting the API into a static
library allows other tools (debugserver for now) to use the power
of the LLDB debugger core, yet not export it as its API is not
portable or maintainable. The Host layer and many of the other
internal only APIs can now be statically linked against.

Now LLDB.framework/lldb.so links against "liblldb-core.a" instead
of compiling the .o files only for the shared library. This fix
is only for compiling with Xcode as the Makefile based build already
does this.

The Xcode projecdt compiler has been changed to LLVM. Anyone using
Xcode 3 will need to manually change the compiler back to GCC 4.2,
or update to Xcode 4.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@127963 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Commands/CommandObjectMemory.cpp b/source/Commands/CommandObjectMemory.cpp
index 4a66dd6..8c8b6bf 100644
--- a/source/Commands/CommandObjectMemory.cpp
+++ b/source/Commands/CommandObjectMemory.cpp
@@ -711,6 +711,8 @@
             case eFormatVectorOfFloat32:
             case eFormatVectorOfFloat64:
             case eFormatVectorOfUInt128:
+            case eFormatOSType:
+            case eFormatComplexInteger:
                 result.AppendError("unsupported format for writing memory");
                 result.SetStatus(eReturnStatusFailed);
                 return false;
diff --git a/source/Core/Communication.cpp b/source/Core/Communication.cpp
index 089daac..a12927e2 100644
--- a/source/Core/Communication.cpp
+++ b/source/Core/Communication.cpp
@@ -419,6 +419,7 @@
     case eConnectionStatusTimedOut:       return "timed out";
     case eConnectionStatusNoConnection:   return "no connection";
     case eConnectionStatusLostConnection: return "lost connection";
+    case eConnectionStatusEndOfFile:      return "end of file";
     }
 
     static char unknown_state_string[64];
diff --git a/source/Expression/DWARFExpression.cpp b/source/Expression/DWARFExpression.cpp
index 557095c..2b7832e 100644
--- a/source/Expression/DWARFExpression.cpp
+++ b/source/Expression/DWARFExpression.cpp
@@ -2291,6 +2291,10 @@
                             
                             switch (source_value_type)
                             {
+                            case Value::eValueTypeScalar:
+                            case Value::eValueTypeFileAddress:
+                                break;
+
                             case Value::eValueTypeLoadAddress:
                                 switch (target_value_type)
                                 {
diff --git a/source/Interpreter/CommandObject.cpp b/source/Interpreter/CommandObject.cpp
index c4a0950..6503e29 100644
--- a/source/Interpreter/CommandObject.cpp
+++ b/source/Interpreter/CommandObject.cpp
@@ -232,7 +232,7 @@
             
             switch (state)
             {
-            
+            case eStateInvalid:
             case eStateSuspended:
             case eStateCrashed:
             case eStateStopped:
diff --git a/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp b/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
index 4ef3d52..a459de9 100644
--- a/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
+++ b/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
@@ -10214,7 +10214,7 @@
         reg_num  = LLDB_REGNUM_GENERIC_PC;
         break;
     default:
-        if (0 <= num && num < SP_REG)
+        if (num < SP_REG)
         {
             reg_kind = eRegisterKindDWARF;
             reg_num  = dwarf_r0 + num;
@@ -10223,7 +10223,7 @@
         {
             assert(0 && "Invalid register number");
             *success = false;
-            return ~0u;
+            return UINT32_MAX;
         }
         break;
     }
diff --git a/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp b/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp
index 03af1dd..c0bece1 100644
--- a/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp
+++ b/source/Plugins/Platform/MacOSX/PlatformRemoteiOS.cpp
@@ -307,8 +307,7 @@
                                 "%s/%i.%i", 
                                 m_device_support_directory_for_os_version.c_str(), 
                                 major, 
-                                minor, 
-                                update);
+                                minor);
                     
                     file_spec.SetFile(resolved_path, resolve_path);
                     if (file_spec.Exists() && file_spec.GetPath(resolved_path, sizeof(resolved_path)))
diff --git a/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp b/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp
index 68a207c..4a84e46 100644
--- a/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp
+++ b/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp
@@ -111,6 +111,10 @@
     
     switch (reg_info->encoding)
     {
+    case eEncodingInvalid:
+    case eEncodingVector:
+        break;
+
     case eEncodingUint:
         switch (reg_info->byte_size)
         {
diff --git a/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp b/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
index fd8f0bf..880d826 100644
--- a/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
+++ b/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
@@ -295,6 +295,9 @@
 
                         switch (exe_symbol->GetType())
                         {
+                        default:
+                            break;
+
                         case eSymbolTypeCode:
                             {
                                 // For each N_FUN, or function that we run into in the debug map
diff --git a/source/Symbol/Type.cpp b/source/Symbol/Type.cpp
index 1ac429d..7cd9857 100644
--- a/source/Symbol/Type.cpp
+++ b/source/Symbol/Type.cpp
@@ -124,6 +124,7 @@
         s->Printf(", type_uid = 0x%8.8x", m_encoding_uid);
         switch (m_encoding_uid_type)
         {
+        case eEncodingInvalid: break;
         case eEncodingIsUID: s->PutCString(" (unresolved type)"); break;
         case eEncodingIsConstUID: s->PutCString(" (unresolved const type)"); break;
         case eEncodingIsRestrictUID: s->PutCString(" (unresolved restrict type)"); break;
@@ -171,6 +172,7 @@
         *s << ", type_data = " << (uint64_t)m_encoding_uid;
         switch (m_encoding_uid_type)
         {
+        case eEncodingInvalid: break;
         case eEncodingIsUID: s->PutCString(" (unresolved type)"); break;
         case eEncodingIsConstUID: s->PutCString(" (unresolved const type)"); break;
         case eEncodingIsRestrictUID: s->PutCString(" (unresolved restrict type)"); break;
@@ -269,6 +271,9 @@
     {
         switch (m_encoding_uid_type)
         {
+        case eEncodingInvalid:
+        case eEncodingIsSyntheticUID:
+            break;
         case eEncodingIsUID:
         case eEncodingIsConstUID:
         case eEncodingIsRestrictUID:
diff --git a/source/Target/Process.cpp b/source/Target/Process.cpp
index a8bd19e..c5d470d 100644
--- a/source/Target/Process.cpp
+++ b/source/Target/Process.cpp
@@ -1586,7 +1586,7 @@
 
                         DidLaunch ();
 
-                        m_dyld_ap.reset (DynamicLoader::FindPlugin(this, false));
+                        m_dyld_ap.reset (DynamicLoader::FindPlugin(this, NULL));
                         if (m_dyld_ap.get())
                             m_dyld_ap->DidLaunch();
 
@@ -1796,7 +1796,7 @@
 
     // We have complete the attach, now it is time to find the dynamic loader
     // plug-in
-    m_dyld_ap.reset (DynamicLoader::FindPlugin(this, false));
+    m_dyld_ap.reset (DynamicLoader::FindPlugin(this, NULL));
     if (m_dyld_ap.get())
         m_dyld_ap->DidAttach();
 
diff --git a/source/Target/RegisterContext.cpp b/source/Target/RegisterContext.cpp
index 8e8986b..f884ec0 100644
--- a/source/Target/RegisterContext.cpp
+++ b/source/Target/RegisterContext.cpp
@@ -285,6 +285,10 @@
     uint32_t offset = 0;
     switch (reg_info->encoding)
     {
+    case eEncodingInvalid:
+    case eEncodingVector:
+        break;
+
     case eEncodingUint:
         switch (reg_info->byte_size)
         {