================ @@ -12163,6 +12163,23 @@ bool Sema::CheckFunctionDeclaration(Scope *S, FunctionDecl *NewFD, } } + // C++11 [dcl.constexpr]p1: An explicit specialization of a constexpr + // function can differ from the template declaration with respect to + // the constexpr specifier. + if (IsMemberSpecialization) { + FunctionDecl *InstantiationFunction = + OldDecl ? OldDecl->getAsFunction() : nullptr; + if (InstantiationFunction && + InstantiationFunction->getTemplateSpecializationKind() == + TSK_ImplicitInstantiation && ---------------- erichkeane wrote:
The old-decl should be a primary template, right? What sort of thigns are we looking to avoid here? https://github.com/llvm/llvm-project/pull/145272 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits