Skip to content
Snippets Groups Projects
  1. Dec 01, 2017
  2. Nov 11, 2017
  3. Oct 23, 2017
  4. Sep 09, 2017
  5. Sep 07, 2017
  6. Aug 31, 2017
  7. Aug 28, 2017
  8. Aug 25, 2017
  9. Aug 19, 2017
  10. Aug 11, 2017
  11. Jul 15, 2017
  12. Jul 06, 2017
  13. May 28, 2017
  14. May 26, 2017
  15. Mar 16, 2017
  16. Feb 22, 2017
  17. Feb 16, 2017
  18. Feb 14, 2017
  19. Feb 09, 2017
  20. Jan 13, 2017
  21. Dec 31, 2016
    • Richard Smith's avatar
      [c++17] Implement P0522R0 as written. This allows a template template argument · 2faed1c4
      Richard Smith authored
      to be specified for a template template parameter whenever the parameter is at
      least as specialized as the argument (when there's an obvious and correct
      mapping from uses of the parameter to uses of the argument). For example, a
      template with more parameters can be passed to a template template parameter
      with fewer, if those trailing parameters have default arguments.
      
      This is disabled by default, despite being a DR resolution, as it's fairly
      broken in its current state: there are no partial ordering rules to cope with
      template template parameters that have different parameter lists, meaning that
      code that attempts to decompose template-ids based on arity can hit unavoidable
      ambiguity issues.
      
      The diagnostics produced on a non-matching argument are also pretty bad right
      now, but I aim to improve them in a subsequent commit.
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290792 91177308-0d34-0410-b5e6-96231b3b80d8
      2faed1c4
  22. Dec 19, 2016
  23. Dec 14, 2016
  24. Dec 08, 2016
    • Richard Smith's avatar
      [c++1z] P0003R5: Removing dynamic exception specifications. · 1f0155f2
      Richard Smith authored
      We continue to support dynamic exception specifications in C++1z as an
      extension, but produce an error-by-default warning when we encounter one. This
      allows users to opt back into the feature with a warning flag, and implicitly
      opts system headers back into the feature should they happen to use it.
      
      There is one semantic change implied by P0003R5 but not implemented here:
      violating a throw() exception specification should now call std::terminate
      directly instead of calling std::unexpected(), but since P0003R5 also removes
      std::unexpected() and std::set_unexpected, and the default unexpected handler
      calls std::terminate(), a conforming C++1z program cannot tell that we are
      still calling it. The upside of this strategy is perfect backwards
      compatibility; the downside is that we don't get the more efficient 'noexcept'
      codegen for 'throw()'.
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@289019 91177308-0d34-0410-b5e6-96231b3b80d8
      1f0155f2
  25. Dec 07, 2016
  26. Dec 01, 2016
  27. Nov 12, 2016
  28. Nov 11, 2016
  29. Nov 01, 2016
  30. Oct 26, 2016
  31. Oct 22, 2016
  32. Oct 10, 2016
Loading