[Lldb-commits] [lldb] r119677 - in /lldb/trunk: include/lldb/Core/ClangForward.h include/lldb/Expression/ClangASTSource.h include/lldb/Expression/ClangExpressionParser.h include/lldb/Symbol/ClangASTContext.h llvm.zip scripts/build-llvm.pl source/Expression/ClangASTSource.cpp source/Expression/ClangExpressionParser.cpp source/Symbol/ClangASTContext.cpp source/Symbol/ClangASTType.cpp

Sean Callanan scallanan at apple.com
Wed Nov 17 18:56:28 PST 2010


Author: spyffe
Date: Wed Nov 17 20:56:27 2010
New Revision: 119677

URL: http://llvm.org/viewvc/llvm-project?rev=119677&view=rev
Log:
Updated to the LLVM/Clang of 2010-11-17 at 3:30pm.

Modified:
    lldb/trunk/include/lldb/Core/ClangForward.h
    lldb/trunk/include/lldb/Expression/ClangASTSource.h
    lldb/trunk/include/lldb/Expression/ClangExpressionParser.h
    lldb/trunk/include/lldb/Symbol/ClangASTContext.h
    lldb/trunk/llvm.zip
    lldb/trunk/scripts/build-llvm.pl
    lldb/trunk/source/Expression/ClangASTSource.cpp
    lldb/trunk/source/Expression/ClangExpressionParser.cpp
    lldb/trunk/source/Symbol/ClangASTContext.cpp
    lldb/trunk/source/Symbol/ClangASTType.cpp

Modified: lldb/trunk/include/lldb/Core/ClangForward.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/ClangForward.h?rev=119677&r1=119676&r2=119677&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Core/ClangForward.h (original)
+++ lldb/trunk/include/lldb/Core/ClangForward.h Wed Nov 17 20:56:27 2010
@@ -57,6 +57,8 @@
     class ExternalASTSource;
     class ExtVectorElementExpr;
     class FieldDecl;
+    class FileManager;
+    class FileSystemOptions;
     class FloatingLiteral;
     class FrontendOptions;
     class FunctionDecl;

Modified: lldb/trunk/include/lldb/Expression/ClangASTSource.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Expression/ClangASTSource.h?rev=119677&r1=119676&r2=119677&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Expression/ClangASTSource.h (original)
+++ lldb/trunk/include/lldb/Expression/ClangASTSource.h Wed Nov 17 20:56:27 2010
@@ -76,6 +76,11 @@
     /// Interface stub that returns 0.
     //------------------------------------------------------------------
 	uint32_t GetNumExternalSelectors();
+    
+    //------------------------------------------------------------------
+    /// Interface stub that returns NULL.
+    //------------------------------------------------------------------
+    clang::CXXBaseSpecifier *GetExternalCXXBaseSpecifiers(uint64_t Offset);
 	
     //------------------------------------------------------------------
     /// Look up all Decls that match a particular name.  Only handles

Modified: lldb/trunk/include/lldb/Expression/ClangExpressionParser.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Expression/ClangExpressionParser.h?rev=119677&r1=119676&r2=119677&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Expression/ClangExpressionParser.h (original)
+++ lldb/trunk/include/lldb/Expression/ClangExpressionParser.h Wed Nov 17 20:56:27 2010
@@ -173,6 +173,8 @@
     ClangExpression                            &m_expr;                 ///< The expression to be parsed
     
     std::string                                 m_target_triple;        ///< The target triple used to initialize LLVM
+    std::auto_ptr<clang::FileManager>           m_file_manager;         ///< The Clang file manager object used by the compiler
+    std::auto_ptr<clang::FileSystemOptions>     m_file_system_options;  ///< The Clang file system options object used by the compiler
     std::auto_ptr<clang::CompilerInstance>      m_compiler;             ///< The Clang compiler used to parse expressions into IR
     std::auto_ptr<clang::Builtin::Context>      m_builtin_context;      ///< Context for Clang built-ins
     std::auto_ptr<clang::ASTContext>            m_ast_context;          ///< The AST context used to hold types and names for the parser

Modified: lldb/trunk/include/lldb/Symbol/ClangASTContext.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Symbol/ClangASTContext.h?rev=119677&r1=119676&r2=119677&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Symbol/ClangASTContext.h (original)
+++ lldb/trunk/include/lldb/Symbol/ClangASTContext.h Wed Nov 17 20:56:27 2010
@@ -72,6 +72,12 @@
     clang::SelectorTable *
     getSelectorTable();
 
+    clang::FileManager *
+    getFileManager();
+    
+    clang::FileSystemOptions *
+    getFileSystemOptions();
+    
     clang::SourceManager *
     getSourceManager();
 
@@ -604,6 +610,8 @@
     std::string                             m_target_triple;
     std::auto_ptr<clang::ASTContext>        m_ast_context_ap;
     std::auto_ptr<clang::LangOptions>       m_language_options_ap;
+    std::auto_ptr<clang::FileManager>       m_file_manager_ap;
+    std::auto_ptr<clang::FileSystemOptions> m_file_system_options_ap;
     std::auto_ptr<clang::SourceManager>     m_source_manager_ap;
     std::auto_ptr<clang::Diagnostic>        m_diagnostic_ap;
     std::auto_ptr<clang::TargetOptions>     m_target_options_ap;

Modified: lldb/trunk/llvm.zip
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/llvm.zip?rev=119677&r1=119676&r2=119677&view=diff
==============================================================================
Binary files - no diff available.

Modified: lldb/trunk/scripts/build-llvm.pl
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/build-llvm.pl?rev=119677&r1=119676&r2=119677&view=diff
==============================================================================
--- lldb/trunk/scripts/build-llvm.pl (original)
+++ lldb/trunk/scripts/build-llvm.pl Wed Nov 17 20:56:27 2010
@@ -25,7 +25,7 @@
 
 our $llvm_configuration = $ENV{LLVM_CONFIGURATION};
 
-our $llvm_revision = "'{2010-10-28T19:00}'";
+our $llvm_revision = "'{2010-11-17T15:30}'";
 our $llvm_source_dir = "$ENV{SRCROOT}";
 our $cc = "$ENV{DEVELOPER_BIN_DIR}/gcc-4.2";
 our $cxx = "$ENV{DEVELOPER_BIN_DIR}/g++-4.2";

Modified: lldb/trunk/source/Expression/ClangASTSource.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/ClangASTSource.cpp?rev=119677&r1=119676&r2=119677&view=diff
==============================================================================
--- lldb/trunk/source/Expression/ClangASTSource.cpp (original)
+++ lldb/trunk/source/Expression/ClangASTSource.cpp Wed Nov 17 20:56:27 2010
@@ -36,6 +36,7 @@
 // for method signatures!) might help.
 Selector ClangASTSource::GetExternalSelector(uint32_t) { return Selector(); }
 uint32_t ClangASTSource::GetNumExternalSelectors() { return 0; }
+CXXBaseSpecifier *ClangASTSource::GetExternalCXXBaseSpecifiers(uint64_t Offset) { return NULL; }
 
 // The core lookup interface.
 DeclContext::lookup_result ClangASTSource::FindExternalVisibleDeclsByName

Modified: lldb/trunk/source/Expression/ClangExpressionParser.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/ClangExpressionParser.cpp?rev=119677&r1=119676&r2=119677&view=diff
==============================================================================
--- lldb/trunk/source/Expression/ClangExpressionParser.cpp (original)
+++ lldb/trunk/source/Expression/ClangExpressionParser.cpp Wed Nov 17 20:56:27 2010
@@ -243,8 +243,11 @@
     
     // 5. Set up the source management objects inside the compiler
     
+    m_file_manager.reset(new clang::FileManager());
+    m_file_system_options.reset(new clang::FileSystemOptions());
+    
     if (!m_compiler->hasSourceManager())
-        m_compiler->createSourceManager();
+        m_compiler->createSourceManager(*m_file_manager.get(), *m_file_system_options.get());
     
     m_compiler->createFileManager();
     m_compiler->createPreprocessor();

Modified: lldb/trunk/source/Symbol/ClangASTContext.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/ClangASTContext.cpp?rev=119677&r1=119676&r2=119677&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/ClangASTContext.cpp (original)
+++ lldb/trunk/source/Symbol/ClangASTContext.cpp Wed Nov 17 20:56:27 2010
@@ -23,6 +23,7 @@
 #include "clang/AST/Type.h"
 #include "clang/Basic/Builtins.h"
 #include "clang/Basic/FileManager.h"
+#include "clang/Basic/FileSystemOptions.h"
 #include "clang/Basic/SourceManager.h"
 #include "clang/Basic/TargetInfo.h"
 #include "clang/Basic/TargetOptions.h"
@@ -351,11 +352,27 @@
     return m_selector_table_ap.get();
 }
 
+clang::FileManager *
+ClangASTContext::getFileManager()
+{
+    if (m_file_manager_ap.get() == NULL)
+        m_file_manager_ap.reset(new clang::FileManager());
+    return m_file_manager_ap.get();
+}
+
+clang::FileSystemOptions *
+ClangASTContext::getFileSystemOptions()
+{
+    if (m_file_system_options_ap.get() == NULL)
+        m_file_system_options_ap.reset(new clang::FileSystemOptions());
+    return m_file_system_options_ap.get();
+}
+
 clang::SourceManager *
 ClangASTContext::getSourceManager()
 {
     if (m_source_manager_ap.get() == NULL)
-        m_source_manager_ap.reset(new clang::SourceManager(*getDiagnostic()));
+        m_source_manager_ap.reset(new clang::SourceManager(*getDiagnostic(), *getFileManager(), *getFileSystemOptions()));
     return m_source_manager_ap.get();
 }
 
@@ -730,9 +747,10 @@
     NullDiagnosticClient *null_client = new NullDiagnosticClient;
     Diagnostic diagnostics(null_client);
     FileManager file_manager;
+    FileSystemOptions file_system_options;
     ASTImporter importer(diagnostics,
-                         *dest_context, file_manager,
-                         *source_context, file_manager);
+                         *dest_context, file_manager, file_system_options,
+                         *source_context, file_manager, file_system_options);
     
     QualType src = QualType::getFromOpaquePtr(clang_type);
     QualType dst = importer.Import(src);
@@ -750,9 +768,10 @@
     NullDiagnosticClient *null_client = new NullDiagnosticClient;
     Diagnostic diagnostics(null_client);
     FileManager file_manager;
+    FileSystemOptions file_system_options;
     ASTImporter importer(diagnostics,
-                         *dest_context, file_manager,
-                         *source_context, file_manager);
+                         *dest_context, file_manager, file_system_options,
+                         *source_context, file_manager, file_system_options);
     
     return importer.Import(source_decl);
 }
@@ -2095,9 +2114,9 @@
 
 
                             if (base_class->isVirtual())
-                                bit_offset = record_layout.getVBaseClassOffset(base_class_decl);
+                                bit_offset = record_layout.getVBaseClassOffset(base_class_decl).getQuantity();
                             else
-                                bit_offset = record_layout.getBaseClassOffset(base_class_decl);
+                                bit_offset = record_layout.getBaseClassOffset(base_class_decl).getQuantity();
 
                             // Base classes should be a multiple of 8 bits in size
                             assert (bit_offset % 8 == 0);

Modified: lldb/trunk/source/Symbol/ClangASTType.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/ClangASTType.cpp?rev=119677&r1=119676&r2=119677&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/ClangASTType.cpp (original)
+++ lldb/trunk/source/Symbol/ClangASTType.cpp Wed Nov 17 20:56:27 2010
@@ -367,9 +367,9 @@
                         continue;
 
                     if (base_class->isVirtual())
-                        field_bit_offset = record_layout.getVBaseClassOffset(base_class_decl);
+                        field_bit_offset = record_layout.getVBaseClassOffset(base_class_decl).getQuantity();
                     else
-                        field_bit_offset = record_layout.getBaseClassOffset(base_class_decl);
+                        field_bit_offset = record_layout.getBaseClassOffset(base_class_decl).getQuantity();
                     field_byte_offset = field_bit_offset / 8;
                     assert (field_bit_offset % 8 == 0);
                     if (child_idx == 0)





More information about the lldb-commits mailing list