================
@@ -1008,6 +1008,15 @@ class FunctionTemplateDecl : public 
RedeclarableTemplateDecl {
     return getTemplatedDecl()->isThisDeclarationADefinition();
   }
 
+  bool isCompatibleWithDefinition() const {
+    return getTemplatedDecl()->isInstantiatedFromMemberTemplate() ||
+           isThisDeclarationADefinition();
+  }
+  void setInstantiatedFromMemberTemplate(FunctionTemplateDecl *D) {
+    getTemplatedDecl()->setInstantiatedFromMemberTemplate();
+    RedeclarableTemplateDecl::setInstantiatedFromMemberTemplate(D);
+  }
----------------
mizvekov wrote:

getInstantiatedFromMemberTemplate() uses the common area, which means whenever 
you set it for one declaration, it's set the same for all its redeclarations.
But the flag does not use the common area, it's a separate flag per 
redeclaration.

https://github.com/llvm/llvm-project/pull/110387
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to