Skip to content
  • Sean Callanan's avatar
    This change brings in the latest LLVM/Clang, and · cc427fad
    Sean Callanan authored
    completes the support in the LLDB expression parser
    for incomplete types.  Clang now imports types
    lazily, and we complete those types as necessary.
    
    Changes include:
    
    - ClangASTSource now supports three APIs which it
      passes to ClangExpressionDeclMap.  CompleteType
      completes a TagDecl or an ObjCInterfaceDecl when
      needed; FindExternalVisibleDecls finds named
      entities that are visible in the expression's
      scope; and FindExternalLexicalDecls performs a
      (potentially restricted) search for entities
      inside a lexical scope like a namespace.  These
      changes mean that entities in namespaces should
      work normally.
    
    - The SymbolFileDWARF code for searching a context
      for a specific name is now more general, and can
      search arbitrary contexts.
    
    - We are continuing to adapt our calls into LLVM
      from interfaces that take start and end iterators
      when accepting multiple items to interfaces that
      use ArrayRef.
    
    - I have cleaned up some code, especially our use
      of namespaces.
    
    This change is neutral for our testsuite and greatly
    improves correctness for large programs (like Clang)
    with complicated type systems.  It should also lay
    the groundwork for improving the expression parser's
    performance as we are lazier and lazier about
    providing type information.
    
    llvm-svn: 136555
    cc427fad
Loading