Updated LLVM/Clang to pick up a fix for imports of
C++ vtables, fixing a record layout problem in the
expression parser.

Also fixed various problems with the generation 
and unpacking of llvm.zip given our new better
handling of multiple architectures in the LLVM
build.

(And added a log message that will hopefully catch
record layout problems in the future.)


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143741 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Core/ArchSpec.cpp b/source/Core/ArchSpec.cpp
index 089d2e9..5c179df 100644
--- a/source/Core/ArchSpec.cpp
+++ b/source/Core/ArchSpec.cpp
@@ -504,7 +504,7 @@
                 {
                     // No platform specified, fall back to the host system for
                     // the default vendor, os, and environment.
-                    llvm::Triple host_triple(llvm::sys::getHostTriple());
+                    llvm::Triple host_triple(llvm::sys::getDefaultTargetTriple());
                     normalized_triple.setVendor(host_triple.getVendor());
                     normalized_triple.setOS(host_triple.getOS());
                     normalized_triple.setEnvironment(host_triple.getEnvironment());
diff --git a/source/Expression/ClangExpressionParser.cpp b/source/Expression/ClangExpressionParser.cpp
index 4a8f941..d040cd8 100644
--- a/source/Expression/ClangExpressionParser.cpp
+++ b/source/Expression/ClangExpressionParser.cpp
@@ -270,7 +270,7 @@
     }
     else
     {
-        m_compiler->getTargetOpts().Triple = llvm::sys::getHostTriple();
+        m_compiler->getTargetOpts().Triple = llvm::sys::getDefaultTargetTriple();
     }
         
     // 3. Set up various important bits of infrastructure.
diff --git a/source/Symbol/ClangASTImporter.cpp b/source/Symbol/ClangASTImporter.cpp
index 4ad6f54..783b873 100644
--- a/source/Symbol/ClangASTImporter.cpp
+++ b/source/Symbol/ClangASTImporter.cpp
@@ -42,7 +42,21 @@
         minion_sp = GetMinion(src_ast, false);
     
     if (minion_sp)
-        return minion_sp->Import(decl);
+    {
+        clang::Decl *result = minion_sp->Import(decl);
+        
+        if (!result)
+        {
+            lldb::LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_EXPRESSIONS));
+
+            if (NamedDecl *named_decl = dyn_cast<NamedDecl>(decl))
+                log->Printf("  [ClangASTImporter] WARNING: Failed to import a %s '%s'", decl->getDeclKindName(), named_decl->getNameAsString().c_str());
+            else
+                log->Printf("  [ClangASTImporter] WARNING: Failed to import a %s", decl->getDeclKindName());
+        }
+        
+        return result;
+    }
     
     return NULL;
 }