Skip to content
  1. Oct 23, 2012
    • Greg Clayton's avatar
      <rdar://problem/12493007> · 4a792072
      Greg Clayton authored
      Added a new API call to help efficiently determine if a SBValue could have children:
      
           bool
           SBValue::MightHaveChildren ();
           
      This is inteneded to be used bui GUI programs that need to show if a SBValue needs a disclosure triangle when displaying a hierarchical type in a tree view without having to complete the type (by calling SBValue::GetNumChildren()) as completing the type is expensive.
      
      llvm-svn: 166460
      4a792072
    • Sean Callanan's avatar
      Improved support for language types as command · d9477397
      Sean Callanan authored
      options:
      
      - added help ("help language") listing the
        possible options;
      
      - added the possibility of synonyms for language
        names, in this case "ObjC" for "Objective-C";
        and
      
      - made matching against language names case
        insensitive.
      
      This should improve discoverability.
      
      <rdar://problem/12552359>
      
      llvm-svn: 166457
      d9477397
    • Sean Callanan's avatar
      Added support for zero-length arrays at the end · ec979bae
      Sean Callanan authored
      of structures, and added a testcase.
      
      <rdar://problem/12551591>
      
      llvm-svn: 166450
      ec979bae
  2. Oct 22, 2012
    • Greg Clayton's avatar
      <rdar://problem/12524810> · e4c1ef55
      Greg Clayton authored
      Fixed a crasher where if an invalid SBTarget was passed to:
      
      lldb::addr_t
      SBAddress::GetLoadAddress (const SBTarget &target) const;
      
      We would crash.
      
      llvm-svn: 166439
      e4c1ef55
    • Enrico Granata's avatar
      <rdar://problem/12479701> Use the plain pydoc pager to work around Python... · f71a8399
      Enrico Granata authored
      <rdar://problem/12479701> Use the plain pydoc pager to work around Python help() pagination conflicts with our I/O management
      
      llvm-svn: 166432
      f71a8399
    • Enrico Granata's avatar
      <rdar://problem/12437442> · e3e91517
      Enrico Granata authored
      Given our implementation of ValueObjects we could have a scenario where a ValueObject has a dynamic type of Foo* at one point, and then its dynamic type changes to Bar*
      If Bar* has synthetic children enabled, by the time we figure that out, our public API is already vending SBValues wrapping a DynamicVO, instead of a SyntheticVO and there was
      no trivial way for us to change the SP inside an SBValue on the fly
      This checkin reimplements SBValue in terms of a wrapper, ValueImpl, that allows this substitutions on-the-fly by overriding GetSP() to do The Right Thing (TM)
      As an additional bonus, GetNonSyntheticValue() now works, and we can get rid of the ForceDisableSyntheticChildren idiom in ScriptInterpreterPython
      Lastly, this checkin makes sure the synthetic VOs get the correct m_value and m_data from their parents (prevented summaries from working in some cases)
      
      llvm-svn: 166426
      e3e91517
    • Greg Clayton's avatar
      <rdar://problem/12473003> · 7bc31332
      Greg Clayton authored
      Allow type searches to specify a type keyword when searching for type. Currently supported type keywords are: struct, class, union, enum, and typedef.
      
      So now you can search for types with a string like "struct foo".
      
      llvm-svn: 166420
      7bc31332
  3. Oct 20, 2012
  4. Oct 19, 2012
  5. Oct 18, 2012
    • Greg Clayton's avatar
      <rdar://problem/12462048> · a0ca6601
      Greg Clayton authored
      <rdar://problem/12068650>
      
      More fixes to how we handle paths that are used to create a target.
      
      This modification centralizes the location where and how what the user specifies gets resolved. Prior to this fix, the TargetList::CreateTarget variants took a FileSpec object which meant everyone had the opportunity to resolve the path their own way. Now both CreateTarget variants take a "const char *use_exe_path" which allows the TargetList::CreateTarget to centralize where the resolving happens and "do the right thing".
      
      llvm-svn: 166186
      a0ca6601
    • Greg Clayton's avatar
      <rdar://problem/12462048> · 45392553
      Greg Clayton authored
      LLDB changes argv[0] when debugging a symlink. Now we have the notion of argv0 in the target settings:
      
      target.arg0 (string) = 
      
      There is also the program argument that are separate from the first argument that have existed for a while:
      
      target.run-args (arguments) =
      
      When running "target create <exe>", we will place the untouched "<exe>" into target.arg0 to ensure when we run, we run with what the user typed. This has been added to the ProcessLaunchInfo and all other needed places so we always carry around the:
      - resolved executable path
      - argv0
      - program args
      
      Some systems may not support separating argv0 from the resolved executable path and the ProcessLaunchInfo needs to carry all of this information along so that each platform can make that decision.
      
      llvm-svn: 166137
      45392553
    • Enrico Granata's avatar
    • Sean Callanan's avatar
      Fixed ClangASTContext to own its TargetOptions · c5069ad2
      Sean Callanan authored
      using a reference-counted pointer.  This avoids
      memory-management problems when the TargetOptions
      are deleted.
      
      llvm-svn: 166132
      c5069ad2
    • Sean Callanan's avatar
      Added support for "bool", "true", and "false" to · aa0f9cbc
      Sean Callanan authored
      the expression parser (also wchar_t) and added a
      test case.
      
      llvm-svn: 166131
      aa0f9cbc
  6. Oct 17, 2012
  7. Oct 16, 2012
  8. Oct 15, 2012
  9. Oct 13, 2012
    • Greg Clayton's avatar
    • Greg Clayton's avatar
      <rdar://problem/12491387> · 998255bf
      Greg Clayton authored
      I added the ability for a process plug-in to implement custom commands. All the lldb_private::Process plug-in has to do is override:
      
      virtual CommandObject *
      GetPluginCommandObject();
      
      This object returned should be a multi-word command that vends LLDB commands. There is a sample implementation in ProcessGDBRemote that is hollowed out. It is intended to be used for sending a custom packet, though the body of the command execute function has yet to be implemented! 
      
      llvm-svn: 165861
      998255bf
    • Greg Clayton's avatar
      <rdar://problem/12490588> · eaafa732
      Greg Clayton authored
      From SBType, we can now get a lldb::BasicType enumeration out of an existing type.
      
      llvm-svn: 165857
      eaafa732
Loading