[all-commits] [llvm/llvm-project] 6c2907: PR45589: Properly decompose overloaded `&&` and `|...

Richard Smith via All-commits all-commits at lists.llvm.org
Tue May 12 13:46:04 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6c29073efb0c22045868bc3622f8fc27f43fca41
      https://github.com/llvm/llvm-project/commit/6c29073efb0c22045868bc3622f8fc27f43fca41
  Author: Richard Smith <richard at metafoo.co.uk>
  Date:   2020-05-12 (Tue, 12 May 2020)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/SemaTemplate/constraints.cpp

  Log Message:
  -----------
  PR45589: Properly decompose overloaded `&&` and `||` operators in
constraint expressions.

We create overloaded `&&` and `||` operators to hold the possible
unqualified lookup results (if any) when the operands are dependent. We
could avoid building these in some cases (we will never use the stored
lookup results, and it would be better to not store them or perform the
lookups), but in the general case we will probably still need to handle
overloaded operators even with that optimization.




More information about the All-commits mailing list