[clang] Reapply "[Clang][Sema] Diagnose function/variable templates that shadow their own template parameters (#78274)" (PR #79683)

via cfe-commits cfe-commits at lists.llvm.org
Sat Jan 27 05:30:45 PST 2024


================
@@ -885,16 +885,19 @@ bool Sema::DiagnoseUninstantiableTemplate(SourceLocation PointOfInstantiation,
 /// that the template parameter 'PrevDecl' is being shadowed by a new
 /// declaration at location Loc. Returns true to indicate that this is
 /// an error, and false otherwise.
-void Sema::DiagnoseTemplateParameterShadow(SourceLocation Loc, Decl *PrevDecl) {
+void Sema::DiagnoseTemplateParameterShadow(SourceLocation Loc, Decl *PrevDecl,
+                                           bool IssueWarning) {
----------------
cor3ntin wrote:

I don't care much about the exact name, although i agree with you my suggestion may not be great.  It can be `ShadowsNameOfFunctionOrVariableItIsAttachedTo` or whatever name you think is best describing of what it does. `IssueWarning` is a bit _too_ generic, or rather it forces us to think about warning in multiple places and especially someone calling `DiagnoseTemplateParameterShadow` should understand what the bool parameter does.

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


More information about the cfe-commits mailing list