[clang] [CUDA][HIP] Fix overriding of constexpr virtual function (PR #121986)

Yaxun Liu via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 8 07:50:32 PST 2025


================
@@ -1309,6 +1309,16 @@ Sema::CheckOverload(Scope *S, FunctionDecl *New, const LookupResult &Old,
   return Ovl_Overload;
 }
 
+template <typename AttrT> static bool hasExplicitAttr(const FunctionDecl *D) {
+  if (!D)
+    return false;
+  if (auto *A = D->getAttr<AttrT>())
+    return !A->isImplicit();
+  return false;
+}
+/// Assuming \p New is either an overload or override of \p Old.
+/// \returns true if \p New is an overload of \p Old,
+///          false if \p New is an override of \p Old.
----------------
yxsamliu wrote:

Can you clarify? You mean when UseOverrideRules is true, the function will return true if the two function decls are overrides?

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


More information about the cfe-commits mailing list