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:
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/ (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.
Reviewers: dexonsmith, EricWF, mclow.lists Differential Revision:
The file was addedlibcxx/test/libcxx/utilities/optional/
The file was modifiedlibcxx/include/type_traits (diff)
The file was addedlibcxx/test/libcxx/type_traits/
The file was modifiedlibcxx/include/__config (diff)