Skip to content
  1. Feb 28, 2012
  2. 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
  3. Feb 25, 2012
  4. Feb 19, 2012
  5. 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
  6. Feb 16, 2012
  7. Feb 14, 2012
  8. Feb 07, 2012
  9. Feb 01, 2012
  10. Jan 26, 2012
  11. Dec 03, 2011
  12. 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
  13. Oct 12, 2011
  14. Sep 29, 2011
  15. Sep 26, 2011
  16. Sep 22, 2011
  17. Sep 18, 2011
  18. Sep 15, 2011
  19. Aug 30, 2011
  20. Aug 26, 2011
    • John McCall's avatar
      Track whether an AggValueSlot is potentially aliased, and do not · a5efa738
      John McCall authored
      emit call results into potentially aliased slots.  This allows us
      to properly mark indirect return slots as noalias, at the cost
      of requiring an extra memcpy when assigning an aggregate call
      result into a l-value.  It also brings us into compliance with
      the x86-64 ABI.
      
      llvm-svn: 138599
      a5efa738
  21. Aug 25, 2011
  22. Aug 09, 2011
  23. Jul 23, 2011
  24. Jul 18, 2011
  25. Jul 13, 2011
  26. Jul 12, 2011
Loading