lldb arm64 import.

These changes were written by Greg Clayton, Jim Ingham, Jason Molenda.

It builds cleanly against TOT llvm with xcodebuild.  I updated the
cmake files by visual inspection but did not try a build.  I haven't
built these sources on any non-Mac platforms - I don't think this
patch adds any code that requires darwin, but please let me know if
I missed something.

In debugserver, MachProcess.cpp and MachTask.cpp were renamed to
MachProcess.mm and MachTask.mm as they picked up some new Objective-C
code needed to launch processes when running on iOS.

llvm-svn: 205113
diff --git a/lldb/source/Expression/ClangExpressionParser.cpp b/lldb/source/Expression/ClangExpressionParser.cpp
index 44f1e53..bde2469 100644
--- a/lldb/source/Expression/ClangExpressionParser.cpp
+++ b/lldb/source/Expression/ClangExpressionParser.cpp
@@ -156,11 +156,15 @@
         m_compiler->getTargetOpts().Features.push_back("+sse2");
     }
     
-    if (m_compiler->getTargetOpts().Triple.find("ios") != std::string::npos)
+    // Any arm32 iOS environment, but not on arm64
+    if (m_compiler->getTargetOpts().Triple.find("arm64") == std::string::npos
+        && m_compiler->getTargetOpts().Triple.find("ios") != std::string::npos)
+    {
         m_compiler->getTargetOpts().ABI = "apcs-gnu";
-    
+    }
+
     m_compiler->createDiagnostics();
-    
+
     // Create the target instance.
     m_compiler->setTarget(TargetInfo::CreateTargetInfo(m_compiler->getDiagnostics(),
                                                        &m_compiler->getTargetOpts()));