Skip to content
  1. Jun 16, 2009
  2. Jun 15, 2009
  3. Jun 14, 2009
    • Eli Friedman's avatar
      PR4390: Make sure to handle anonymous unions correctly while building · 6282b3cf
      Eli Friedman authored
      static intializers for structs.
      
      llvm-svn: 73349
      6282b3cf
    • Fariborz Jahanian's avatar
      Test modification. · 45da0c90
      Fariborz Jahanian authored
      Patch by Jean-Daniel Dupas
      
      llvm-svn: 73343
      45da0c90
    • Nuno Lopes's avatar
      fix the menu's links · 52c17e72
      Nuno Lopes authored
      llvm-svn: 73341
      52c17e72
    • 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
    • Nick Lewycky's avatar
      Fix "for all intensive purposes" to "for all intents and purposes". · be42c111
      Nick Lewycky authored
      llvm-svn: 73323
      be42c111
    • Eli Friedman's avatar
      PR4351: Add constant evaluation for constructs like "foo == NULL", where · 334046a1
      Eli Friedman authored
      foo has a constant address.
      
      llvm-svn: 73321
      334046a1
    • 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 the various builtins stuff from libast to libbasic. This · 5abdec79
      Chris Lattner authored
      fixes a layering violation in lib/Basic/Targets.cpp.
      
      llvm-svn: 73318
      5abdec79
Loading