[clang] [clang] static operators should evaluate object argument (PR #68485)

Shafik Yaghmour via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 10 16:41:22 PDT 2023


================
@@ -7806,7 +7806,8 @@ class ExprEvaluatorBase
       // Overloaded operator calls to member functions are represented as normal
       // calls with '*this' as the first argument.
       const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD);
-      if (MD && MD->isImplicitObjectMemberFunction()) {
+      if (MD &&
+          (MD->isImplicitObjectMemberFunction() || (OCE && MD->isStatic()))) {
----------------
shafik wrote:

So in the static case, what value do we expect `ThisVal` to have and does that have consequences that the code after this is prepared for?

https://github.com/llvm/llvm-project/pull/68485


More information about the cfe-commits mailing list