Skip to content
  1. Jun 20, 2009
  2. Jun 19, 2009
  3. Jun 18, 2009
  4. Jun 17, 2009
  5. Jun 16, 2009
  6. Jun 15, 2009
  7. Jun 14, 2009
    • Douglas Gregor's avatar
      Introduce a SFINAE "trap" that keeps track of the number of errors · e141633f
      Douglas Gregor authored
      that were suppressed due to SFINAE. By checking whether any errors
      occur at the end of template argument deduction, we avoid the
      possibility of suppressing an error (due to SFINAE) and then
      recovering so well that template argument deduction never detects that
      there was a problem. Thanks to Eli for the push in this direction.
      
      llvm-svn: 73336
      e141633f
    • Douglas Gregor's avatar
      Update LLVM. · 33834516
      Douglas Gregor authored
      Implement support for C++ Substitution Failure Is Not An Error
      (SFINAE), which says that errors that occur during template argument
      deduction do *not* produce diagnostics and do not necessarily make a
      program ill-formed. Instead, template argument deduction silently
      fails. This is currently implemented for template argument deduction
      during matching of class template partial specializations, although
      the mechanism will also apply to template argument deduction for
      function templates. The scheme is simple:
      
        - If we are in a template argument deduction context, any diagnostic
          that is considered a SFINAE error (or warning) will be
          suppressed. The error will be propagated up the call stack via the
          normal means.
        - By default, all warnings and errors are SFINAE errors. Add the
          NoSFINAE class to a diagnostic in the .td file to make it a hard
          error (e.g., for access-control violations).
      
      Note that, to make this fully work, every place in Sema that emits an
      error *and then immediately recovers* will need to check
      Sema::isSFINAEContext() to determine whether it must immediately
      return an error rather than recovering.
      
      llvm-svn: 73332
      33834516
    • Chris Lattner's avatar
      Sink the BuiltinInfo object from ASTContext into the · 15ba9498
      Chris Lattner authored
      preprocessor and initialize it early in clang-cc.  This
      ensures that __has_builtin works in all modes, not just
      when ASTContext is around.
      
      llvm-svn: 73319
      15ba9498
    • Chris Lattner's avatar
      move GetBuiltinType from Builtin::Context to ASTContext. · ecd79c63
      Chris Lattner authored
      llvm-svn: 73316
      ecd79c63
  8. Jun 13, 2009
Loading