Skip to content
Snippets Groups Projects
  1. Aug 29, 2014
    • David Blaikie's avatar
      Provide a BuryPointer for unique_ptrs. · 680b6c0b
      David Blaikie authored
      In theory, it'd be nice if we could move to a case where all buried
      pointers were buried via unique_ptr to demonstrate that the program had
      finished with the value (that we could really have cleanly deallocated
      it) but instead chose to bury it.
      
      I think the main reason that's not possible right now is the various
      IntrusiveRefCntPtrs in the Frontend, sharing ownership for a variety of
      compiler bits (see the various similar
      "CompilerInstance::releaseAndLeak*" functions). I have yet to figure out
      their correct ownership semantics - but perhaps, even if the
      intrusiveness can be removed, the shared ownership may yet remain and
      that would lead to a non-unique burying as is there today. (though we
      could model that a little better - by passing in a shared_ptr, etc -
      rather than needing the two step that's currently used in those other
      releaseAndLeak* functions)
      
      This might be a bit more robust if BuryPointer took the boolean:
      
      BuryPointer(bool, unique_ptr<T>)
      
      and the choice to bury was made internally - that way, even when
      DisableFree was not set, the unique_ptr would still be null in the
      caller and there'd be no chance of accidentally having a different
      codepath where the value is used after burial in !DisableFree, but it
      becomes null only in DisableFree, etc...
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216742 91177308-0d34-0410-b5e6-96231b3b80d8
      680b6c0b
  2. Jul 16, 2014
    • Alp Toker's avatar
      Make clang's rewrite engine a core feature · 6c4abb16
      Alp Toker authored
      The rewrite facility's footprint is small so it's not worth going to these
      lengths to support disabling at configure time, particularly since key compiler
      features now depend on it.
      
      Meanwhile the Objective-C rewriters have been moved under the
      ENABLE_CLANG_ARCMT umbrella for now as they're comparatively heavy and still
      potentially worth excluding from lightweight builds.
      
      Tests are now passing with any combination of feature flags. The flags
      historically haven't been tested by LLVM's build servers so caveat emptor.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213171 91177308-0d34-0410-b5e6-96231b3b80d8
      6c4abb16
  3. May 26, 2014
  4. May 17, 2014
  5. May 03, 2014
  6. Mar 07, 2014
  7. Feb 26, 2014
  8. Feb 23, 2014
  9. Feb 21, 2014
    • NAKAMURA Takumi's avatar
      [CMake] Get rid of explicit dependencies to include/clang/*.inc and introduce... · 0eed94f6
      NAKAMURA Takumi authored
      [CMake] Get rid of explicit dependencies to include/clang/*.inc and introduce CLANG_TABLEGEN_TARGETS.
      
      This does;
        - clang_tablegen() adds each tblgen'd target to global property CLANG_TABLEGEN_TARGETS as list.
        - List of targets is added to LLVM_COMMON_DEPENDS.
        - all clang libraries and targets depend on generated headers.
      
      You might wonder this would be regression, but in fact, this is little loss.
        - Almost all of clang libraries depend on tblgen'd files and clang-tblgen.
        - clang-tblgen may cause short stall-out but doesn't cause unconditional rebuild.
        - Each library's dependencies to tblgen'd files might vary along headers' structure.
          It made hard to track and update *really optimal* dependencies.
      
      Each dependency to intrinsics_gen and ClangSACheckers is left as DEPENDS.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201842 91177308-0d34-0410-b5e6-96231b3b80d8
      0eed94f6
  10. Feb 05, 2014
  11. Dec 27, 2013
  12. Dec 10, 2013
  13. Dec 09, 2013
  14. Nov 27, 2013
  15. Nov 14, 2013
  16. Oct 07, 2013
  17. Oct 02, 2013
  18. Aug 29, 2013
  19. Aug 22, 2013
  20. Aug 07, 2013
  21. Jul 09, 2013
  22. Jul 03, 2013
  23. Jun 14, 2013
  24. Mar 27, 2013
  25. Jan 06, 2013
  26. Dec 13, 2012
  27. Dec 04, 2012
  28. Nov 09, 2012
  29. Sep 01, 2012
  30. Aug 31, 2012
  31. Jul 31, 2012
  32. Jul 27, 2012
  33. Jun 21, 2012
  34. Jun 14, 2012
  35. Jun 06, 2012
  36. May 02, 2012
  37. May 01, 2012
  38. Apr 13, 2012
Loading