Skip to content
  1. Jan 27, 2010
    • Douglas Gregor's avatar
      Fix a major oversight in the comparison of standard conversion · 3edc4d5e
      Douglas Gregor authored
      sequences, where we would occasionally determine (incorrectly) that
      one standard conversion sequence was a proper subset of another when,
      in fact, they contained completely incomparable conversions. 
      
      This change records the types in each step within a standard
      conversion sequence, so that we can check the specific comparison
      types to determine when one sequence is a proper subset of the
      other. Fixes this testcase (thanks, Anders!), which was distilled from
      PR6095 (also thanks to Anders).
      
      llvm-svn: 94660
      3edc4d5e
  2. Jan 23, 2010
    • John McCall's avatar
      Produce a special diagnostic when users call a function with an argument of · 6d174646
      John McCall authored
      incomplete type (or a pointer/reference to such).
      
      The causes of this problem are different enough to justify a different "design"
      for the diagnostic.  Most notably, it doesn't give an operand index:
      it's usually pretty obvious which operand is the problem, it adds a lot of
      clutter to mention it, and the fix is usually in a different part of the file
      anyway.
      
      This is yet another diagnostic that should really have an analogue in the
      non-overloaded case --- which should be much easier to write because of
      the weaker space constraints.
      
      llvm-svn: 94303
      6d174646
  3. Jan 14, 2010
  4. Jan 13, 2010
  5. Jan 12, 2010
  6. Dec 15, 2009
  7. Dec 13, 2009
  8. Dec 09, 2009
  9. Nov 06, 2009
  10. Mar 24, 2009
  11. Dec 12, 2008
  12. Nov 27, 2008
  13. Oct 29, 2008
    • Douglas Gregor's avatar
      Simplify and correct the check for function redefinitions. This does two things: · cad304ba
      Douglas Gregor authored
        - Allows definitions of overloaded functions :)
        - Eliminates extraneous error messages when we have a definition of a 
          function that isn't an overload but doesn't have exactly the same type
          as the original.
        
      
      llvm-svn: 58382
      cad304ba
    • Douglas Gregor's avatar
      Implement overloading rules for reference binding · ef30a5ff
      Douglas Gregor authored
      llvm-svn: 58381
      ef30a5ff
    • Douglas Gregor's avatar
      Tweak Sema::CheckReferenceInit so that it (optionally) computes an · 786ab211
      Douglas Gregor authored
      ImplicitConversionSequence and, when doing so, following the specific
      rules of [over.best.ics]. 
      
      The computation of the implicit conversion sequences implements C++
      [over.ics.ref], but we do not (yet) have ranking for implicit
      conversion sequences that use reference binding.
      
      llvm-svn: 58357
      786ab211
    • Douglas Gregor's avatar
      Implement initialization of a reference (C++ [dcl.init.ref]) as part · 8e1cf608
      Douglas Gregor authored
      of copy initialization. Other pieces of the puzzle:
      
        - Try/Perform-ImplicitConversion now handles implicit conversions
          that don't involve references.
        - Try/Perform-CopyInitialization uses
          CheckSingleAssignmentConstraints for C. PerformCopyInitialization
          is now used for all argument passing and returning values from a
          function.
        - Diagnose errors with declaring references and const values without
          an initializer. (Uses a new Action callback, ActOnUninitializedDecl).
        
      We do not yet have implicit conversion sequences for reference
      binding, which means that we don't have any overloading support for
      reference parameters yet.
      
      llvm-svn: 58353
      8e1cf608
  14. Oct 23, 2008
    • Douglas Gregor's avatar
      Add support for conversions from a pointer-to-derived to a · 5c407d9a
      Douglas Gregor authored
      pointer-to-base. Also, add overload ranking for pointer conversions
      (for both pointer-to-void and derived-to-base pointer conversions).
      
      Note that we do not yet diagnose derived-to-base pointer conversion
      errors that stem from ambiguous or inacessible base classes. These
      aren't handled during overload resolution; rather, when the conversion
      is actually used we go ahead and diagnose the error.
      
      llvm-svn: 58017
      5c407d9a
  15. Oct 22, 2008
  16. Oct 21, 2008
Loading