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

via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 7 13:35:21 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.
----------------
cor3ntin wrote:

The comment  is incorrect, `UseOverrideRules` decides we check for overloads vs overrides (and we return true if it is)

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


More information about the cfe-commits mailing list