llvm-project
2751c7ed - Reland [C++20] [Modules] Don't profiling the callee of CXXFoldExpr (#190732) (#195983)

Commit
18 hours ago
Reland [C++20] [Modules] Don't profiling the callee of CXXFoldExpr (#190732) (#195983) Close https://github.com/llvm/llvm-project/issues/190333 For the test case, the root cause of the problem is, the compiler thought the declaration of `operator &&` in consumer.cpp may change the meaning of '&&' in the requrie clause of `F::operator()`. But it doesn't make sense. Here we skip profiling the callee to solve the problem. Note that we've already record the kind of the operator. So '&&' and '||' won't be confused. --- See the discussion in https://github.com/llvm/llvm-project/pull/194283 For the new found pattern that we may have other binary operator (e.g., operator +) in the require clause, e.g., ```C++ template <typename T, typename U> requires requires(T t, U u) { t + u; } void operator()(T, U) {} ``` This is a new problem and we need to solve it in other PR.
Author
Parents
Loading