Skip to content
  1. Apr 30, 2012
    • David Blaikie's avatar
      Remove the ref/value inconsistency in filter_decl_iterator. · 2d7c57ec
      David Blaikie authored
      filter_decl_iterator had a weird mismatch where both op* and op-> returned T*
      making it difficult to generalize this filtering behavior into a reusable
      library of any kind.
      
      This change errs on the side of value, making op-> return T* and op* return
      T&.
      
      (reviewed by Richard Smith)
      
      llvm-svn: 155808
      2d7c57ec
  2. Apr 27, 2012
  3. Apr 20, 2012
  4. Apr 16, 2012
  5. Mar 30, 2012
  6. Mar 29, 2012
  7. Mar 26, 2012
  8. Mar 11, 2012
  9. Mar 01, 2012
    • Eli Friedman's avatar
      Implement "optimization" for lambda-to-block conversion which inlines the... · 98b01edc
      Eli Friedman authored
      Implement "optimization" for lambda-to-block conversion which inlines the generated block literal for lambdas which are immediately converted to block pointer type.  This simplifies the AST, avoids an unnecessary copy of the lambda and makes it much easier to avoid copying the result onto the heap.
      
      Note that this transformation has a substantial semantic effect outside of ARC: it gives the converted lambda lifetime semantics similar to a block literal.  With ARC, the effect is much less obvious because the lifetime of blocks is already managed.
      
      llvm-svn: 151797
      98b01edc
  10. Feb 28, 2012
  11. Feb 26, 2012
    • Richard Smith's avatar
      Ensure that we delete destructors in the right cases. Specifically: · 921bd20d
      Richard Smith authored
       - variant members with nontrivial destructors make the containing class's
         destructor deleted
       - check for a virtual destructor after checking for overridden methods in the
         base class(es)
       - check for an inaccessible operator delete for a class with a virtual
         destructor.
      
      Do not try to call an anonymous union field's destructor from the destructor of
      the containing class.
      
      llvm-svn: 151483
      921bd20d
  12. Feb 25, 2012
  13. Feb 19, 2012
  14. Feb 17, 2012
    • John McCall's avatar
      Whether an argument is required (in contrast with being an · a729c62b
      John McCall authored
      optional argument passed through the variadic ellipsis)
      potentially affects how we need to lower it.  Propagate
      this information down to the various getFunctionInfo(...)
      overloads on CodeGenTypes.  Furthermore, rename those
      overloads to clarify their distinct purposes, and make
      sure we're calling the right one in the right place.
      This has a nice side-effect of making it easier to construct
      a function type, since the 'variadic' bit is no longer
      separable.
      
      This shouldn't really change anything for our existing
      platforms, with one minor exception --- we should now call
      variadic ObjC methods with the ... in the "right place"
      (see the test case), which I guess matters for anyone
      running GNUStep on MIPS.  Mostly it's just a substantial
      clean-up.
      
      llvm-svn: 150788
      a729c62b
    • Douglas Gregor's avatar
      Rework the Sema/AST/IRgen dance for the lambda closure type's · 355efbb2
      Douglas Gregor authored
      conversion to function pointer. Rather than having IRgen synthesize
      the body of this function, we instead introduce a static member
      function "__invoke" with the same signature as the lambda's
      operator() in the AST. Sema then generates a body for the conversion
      to function pointer which simply returns the address of __invoke. This
      approach makes it easier to evaluate a call to the conversion function
      as a constant, makes the linkage of the __invoke function follow the
      normal rules for member functions, and may make life easier down the
      road if we ever want to constexpr'ify some of lambdas.
      
      Note that IR generation is responsible for filling in the body of
      __invoke (Sema just adds a dummy body), because the body can't
      generally be expressed in C++.
      
      Eli, please review!
      
      llvm-svn: 150783
      355efbb2
  15. Feb 16, 2012
  16. Feb 14, 2012
  17. Feb 07, 2012
  18. Feb 01, 2012
  19. Jan 26, 2012
  20. Dec 03, 2011
  21. Oct 13, 2011
    • Eric Christopher's avatar
      Recommit: · 7cdf9486
      Eric Christopher authored
          Start handling debug line and scope information better:
      
          Migrate most of the location setting within the larger API in CGDebugInfo and
          update a lot of callers.
          Remove the existing file/scope change machinery in UpdateLineDirectiveRegion
          and replace it with DILexicalBlockFile usage.
      
          Finishes off the rest of rdar://10246360
      
      after fixing a few bugs that were exposed in gdb testsuite testing.
      
      llvm-svn: 141893
      7cdf9486
  22. Oct 12, 2011
  23. Sep 29, 2011
  24. Sep 26, 2011
  25. Sep 22, 2011
  26. Sep 18, 2011
  27. Sep 15, 2011
Loading