SuccessChanges

Summary

  1. [Concepts] Constraint Satisfaction Caching (details)
  2. [libc++] Make sure std::is_scalar returns true for block types (details)
Commit b933d37cd3774e5431b35e82187eebb59b1ff59e by saar
[Concepts] Constraint Satisfaction Caching
Add a simple cache for constraint satisfaction results. Whether or not
this simple caching would be permitted in final C++2a is currently being
discussed but it is required for acceptable performance so we use it in
the meantime, with the possibility of adding some cache invalidation
mechanisms later.
Differential Revision: https://reviews.llvm.org/D72552
The file was modifiedclang/include/clang/Sema/TemplateDeduction.h (diff)
The file was addedclang/test/SemaTemplate/cxx2a-constraint-caching.cpp
The file was modifiedclang/include/clang/AST/ASTConcept.h (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/lib/Sema/Sema.cpp (diff)
The file was modifiedclang/include/clang/Basic/LangOptions.def (diff)
The file was modifiedclang/include/clang/Driver/CC1Options.td (diff)
The file was modifiedclang/lib/AST/ASTConcept.cpp (diff)
The file was modifiedclang/lib/Sema/SemaConcept.cpp (diff)
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp (diff)
Commit 8ae404a2f6ba553368498870c2b3e39484a6312d by Louis Dionne
[libc++] Make sure std::is_scalar returns true for block types
Summary: The compiler already treats them as scalar types, so the
library should too. Furthermore, this allows blocks to be used in more
places, for example in std::optional, which requires an object type.
rdar://problem/57892832
Reviewers: dexonsmith, EricWF, mclow.lists Differential Revision:
https://reviews.llvm.org/D72708
The file was addedlibcxx/test/libcxx/utilities/optional/block.objc.pass.mm
The file was modifiedlibcxx/include/type_traits (diff)
The file was addedlibcxx/test/libcxx/type_traits/is_scalar.objc.pass.mm
The file was modifiedlibcxx/include/__config (diff)