[all-commits] [llvm/llvm-project] 73eaf6: [Concepts] Make constraint expressions unevaluated...

Saar Raz via All-commits all-commits at lists.llvm.org
Thu Jan 23 16:24:34 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 73eaf62463b4a29adf4194685af12d1a5d172987
      https://github.com/llvm/llvm-project/commit/73eaf62463b4a29adf4194685af12d1a5d172987
  Author: Saar Raz <saar at raz.email>
  Date:   2020-01-24 (Fri, 24 Jan 2020)

  Changed paths:
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
    A clang/test/SemaTemplate/cxx2a-constraint-exprs.cpp

  Log Message:
  -----------
  [Concepts] Make constraint expressions unevaluated until satisfaction checking

As per P1980R0, constraint expressions are unevaluated operands, and their constituent atomic
constraints only become constant evaluated during satisfaction checking.

Change the evaluation context during parsing and instantiation of constraints to unevaluated.




More information about the All-commits mailing list