[clang] [Clang] diagnose deleted/default redeclaration of defined friend functions (PR #136717)

Younan Zhang via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 23 19:26:07 PDT 2025


================
@@ -142,6 +142,14 @@ NamedDecl *Parser::ParseCXXInlineMethodDef(
       SkipUntil(tok::semi);
     }
 
+    if (FunctionDecl *FD =
+            dyn_cast_if_present<FunctionDecl>(FnD->getPreviousDecl())) {
+      if (isa<CXXRecordDecl>(FD->getLexicalDeclContext()) ||
+          Actions.getDefaultedFunctionKind(FD).asComparison() ==
+              Sema::DefaultedComparisonKind::None)
----------------
zyn0217 wrote:

What makes it necessary that 1. we have to check the semantics on the parser side 2. we have to special-case the comparison operators?

I'd like some comments explaining the rationale behind this.

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


More information about the cfe-commits mailing list