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

Artem Belevich via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 7 12:04:07 PST 2025


================
@@ -1595,8 +1606,21 @@ static bool IsOverloadOrOverrideImpl(Sema &SemaRef, FunctionDecl *New,
 
         // Allow overloading of functions with same signature and different CUDA
         // target attributes.
-        if (NewTarget != OldTarget)
+        if (NewTarget != OldTarget) {
+          // Special case: non-constexpr function is allowed to override
+          // constexpr virtual function
----------------
Artem-B wrote:

Would it make sense to make this relaxation a bit more generic and consider functions to be the same if NewTarget/OldTarget are the same if we ignore implicit attributes?


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


More information about the cfe-commits mailing list