From 5d0c47c828ed4fd183423d9d6e64f6653090c8ea Mon Sep 17 00:00:00 2001 From: MoonlightSentinel Date: Fri, 27 Dec 2019 18:56:29 +0100 Subject: [PATCH 1/6] DScanner: Enable warnings for unused parameters --- src/.dscanner.ini | 58 +++++++++++++++++++++++++++++++++++++++++++- src/dmd/backend/os.d | 1 + 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/src/.dscanner.ini b/src/.dscanner.ini index b6ece6e99385..8b69e1b2ad66 100644 --- a/src/.dscanner.ini +++ b/src/.dscanner.ini @@ -23,7 +23,7 @@ if_else_same_check="enabled" ; Checks for some problems with constructors constructor_check="enabled" ; Checks for unused function parameters -unused_parameter_check="disabled" +unused_parameter_check="enabled" ; Checks for unused variables unused_variable_check="enabled" ; Checks for unused labels @@ -119,3 +119,59 @@ builtin_property_names_check="-dmd.backend.obj,-dmd.backend.code,-dmd.backend.cc object_const_check="-dmd.dtemplate,-dmd.backend.outbuf" enum_array_literal_check="-dmd.backend.oper,-dmd.backend.var" unused_variable_check="-dmd.backend.aarray,-dmd.backend.blockopt,-dmd.backend.cg,-dmd.backend.cg87,-dmd.backend.cgelem,-dmd.backend.cgobj,-dmd.backend.cgsched,-dmd.backend.cgxmm,-dmd.backend.cod1,-dmd.backend.cod2,-dmd.backend.cod3,-dmd.backend.dcgcv,-dmd.backend.dout,-dmd.backend.dwarfdbginf,-dmd.backend.elfobj,-dmd.backend.elpicpie,-dmd.backend.gother,-dmd.backend.gsroa,-dmd.backend.machobj,-dmd.backend.mscoffobj,-dmd.backend.newman,-dmd.backend.symbol,-dmd.dinterpret,-dmd.dmangle,-dmd.dsymbolsem,-dmd.dtemplate,-dmd.dump,-dmd.e2ir,-dmd.libmscoff,-dmd.mars,-dmd.ob,-dmd.objc_glue,-dmd.root.longdouble,-dmd.semantic2,-dmd.tocvdebug" + +unused_parameter_check="-dmd.access,\ +-dmd.astbase,\ +-dmd.backend.aarray,\ +-dmd.backend.blockopt,\ +-dmd.backend.cc,\ +-dmd.backend.cg,\ +-dmd.backend.cg87,\ +-dmd.backend.cgcod,\ +-dmd.backend.cgelem,\ +-dmd.backend.cgobj,\ +-dmd.backend.cgsched,\ +-dmd.backend.cgxmm,\ +-dmd.backend.cod1,\ +-dmd.backend.cod2,\ +-dmd.backend.cod3,\ +-dmd.backend.cv8,\ +-dmd.backend.dcgcv,\ +-dmd.backend.dlist,\ +-dmd.backend.dtype,\ +-dmd.backend.dwarfdbginf,\ +-dmd.backend.dwarfeh,\ +-dmd.backend.el,\ +-dmd.backend.elfobj,\ +-dmd.backend.elpicpie,\ +-dmd.backend.gother,\ +-dmd.backend.gsroa,\ +-dmd.backend.machobj,\ +-dmd.backend.mscoffobj,\ +-dmd.backend.newman,\ +-dmd.backend.os,\ +-dmd.backend.dout,\ +-dmd.backend.symbol,\ +-dmd.backend.util2,\ +-dmd.builtin,\ +-dmd.compiler,\ +-dmd.console,\ +-dmd.cppmangle,\ +-dmd.dmangle,\ +-dmd.dsymbol,\ +-dmd.dtemplate,\ +-dmd.expression,\ +-dmd.func,\ +-dmd.gluelayer,\ +-dmd.hdrgen,\ +-dmd.iasmdmd,\ +-dmd.inline,\ +-dmd.intrange,\ +-dmd.lexer,\ +-dmd.mtype,\ +-dmd.ob,\ +-dmd.target,\ +-dmd.tocvdebug,\ +-dmd.todt,\ +-dmd.traits,\ +-dmd.typesem" diff --git a/src/dmd/backend/os.d b/src/dmd/backend/os.d index f03bd3ddf593..82aedd1110f7 100644 --- a/src/dmd/backend/os.d +++ b/src/dmd/backend/os.d @@ -8,6 +8,7 @@ * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) * Source: $(LINK2 https://github.com/dlang/dmd/blob/master/src/dmd/backend/os.d, backend/os.d) */ +module dmd.backend.os; /* * Operating system specific routines. From e02ce55d9f9a0d82b2b79c297e3a3abec2caad27 Mon Sep 17 00:00:00 2001 From: MoonlightSentinel Date: Fri, 27 Dec 2019 20:27:09 +0100 Subject: [PATCH 2/6] Remove unused parameters from access.d --- src/.dscanner.ini | 3 +-- src/dmd/access.d | 3 +-- src/dmd/expressionsem.d | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/.dscanner.ini b/src/.dscanner.ini index 8b69e1b2ad66..714c867aef11 100644 --- a/src/.dscanner.ini +++ b/src/.dscanner.ini @@ -120,8 +120,7 @@ object_const_check="-dmd.dtemplate,-dmd.backend.outbuf" enum_array_literal_check="-dmd.backend.oper,-dmd.backend.var" unused_variable_check="-dmd.backend.aarray,-dmd.backend.blockopt,-dmd.backend.cg,-dmd.backend.cg87,-dmd.backend.cgelem,-dmd.backend.cgobj,-dmd.backend.cgsched,-dmd.backend.cgxmm,-dmd.backend.cod1,-dmd.backend.cod2,-dmd.backend.cod3,-dmd.backend.dcgcv,-dmd.backend.dout,-dmd.backend.dwarfdbginf,-dmd.backend.elfobj,-dmd.backend.elpicpie,-dmd.backend.gother,-dmd.backend.gsroa,-dmd.backend.machobj,-dmd.backend.mscoffobj,-dmd.backend.newman,-dmd.backend.symbol,-dmd.dinterpret,-dmd.dmangle,-dmd.dsymbolsem,-dmd.dtemplate,-dmd.dump,-dmd.e2ir,-dmd.libmscoff,-dmd.mars,-dmd.ob,-dmd.objc_glue,-dmd.root.longdouble,-dmd.semantic2,-dmd.tocvdebug" -unused_parameter_check="-dmd.access,\ --dmd.astbase,\ +unused_parameter_check="-dmd.astbase,\ -dmd.backend.aarray,\ -dmd.backend.blockopt,\ -dmd.backend.cc,\ diff --git a/src/dmd/access.d b/src/dmd/access.d index 0f30a51da02e..543afe43cc67 100644 --- a/src/dmd/access.d +++ b/src/dmd/access.d @@ -211,7 +211,6 @@ bool checkAccess(Loc loc, Scope* sc, Expression e, Declaration d) * Check access to package/module `p` from scope `sc`. * * Params: - * loc = source location for issued error message * sc = scope from which to access to a fully qualified package name * p = the package/module to check access for * Returns: true if the package is not accessible. @@ -221,7 +220,7 @@ bool checkAccess(Loc loc, Scope* sc, Expression e, Declaration d) * (see https://issues.dlang.org/show_bug.cgi?id=313). * */ -bool checkAccess(Loc loc, Scope* sc, Package p) +bool checkAccess(Scope* sc, Package p) { if (sc._module == p) return false; diff --git a/src/dmd/expressionsem.d b/src/dmd/expressionsem.d index 9c0bd8a74f41..513f381372cc 100644 --- a/src/dmd/expressionsem.d +++ b/src/dmd/expressionsem.d @@ -11442,7 +11442,7 @@ Expression semanticY(DotIdExp exp, Scope* sc, int flag) if (s) { auto p = s.isPackage(); - if (p && checkAccess(exp.loc, sc, p)) + if (p && checkAccess(sc, p)) { s = null; } From a8ea7a8f292657b09863b4f493fe613039c2334b Mon Sep 17 00:00:00 2001 From: MoonlightSentinel Date: Fri, 27 Dec 2019 20:27:43 +0100 Subject: [PATCH 3/6] Remove unused parameters from typesem.d --- src/.dscanner.ini | 3 +-- src/dmd/typesem.d | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/.dscanner.ini b/src/.dscanner.ini index 714c867aef11..33466a2c6950 100644 --- a/src/.dscanner.ini +++ b/src/.dscanner.ini @@ -172,5 +172,4 @@ unused_parameter_check="-dmd.astbase,\ -dmd.target,\ -dmd.tocvdebug,\ -dmd.todt,\ --dmd.traits,\ --dmd.typesem" +-dmd.traits" diff --git a/src/dmd/typesem.d b/src/dmd/typesem.d index 21a50b35de58..53e733b91f1a 100644 --- a/src/dmd/typesem.d +++ b/src/dmd/typesem.d @@ -4446,7 +4446,7 @@ Expression defaultInit(Type mt, const ref Loc loc) return mt.next.defaultInit(loc); } - Expression visitFunction(TypeFunction mt) + Expression visitFunction(TypeFunction /* mt */) { error(loc, "`function` does not have a default initializer"); return new ErrorExp(); From 07f5b99ff21bbab66feb57595df70eca97bc5e40 Mon Sep 17 00:00:00 2001 From: MoonlightSentinel Date: Fri, 27 Dec 2019 19:27:10 +0100 Subject: [PATCH 4/6] Remove unused parameters from traits.d --- src/.dscanner.ini | 3 +-- src/dmd/traits.d | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/.dscanner.ini b/src/.dscanner.ini index 33466a2c6950..88101d03152c 100644 --- a/src/.dscanner.ini +++ b/src/.dscanner.ini @@ -171,5 +171,4 @@ unused_parameter_check="-dmd.astbase,\ -dmd.ob,\ -dmd.target,\ -dmd.tocvdebug,\ --dmd.todt,\ --dmd.traits" +-dmd.todt" diff --git a/src/dmd/traits.d b/src/dmd/traits.d index b66a750afaa0..736f4749526a 100644 --- a/src/dmd/traits.d +++ b/src/dmd/traits.d @@ -1437,7 +1437,7 @@ Expression semanticTraits(TraitsExp e, Scope* sc) auto idents = new Identifiers(); - int pushIdentsDg(size_t n, Dsymbol sm) + int pushIdentsDg(size_t /* n */, Dsymbol sm) { if (!sm) return 1; From f275dbb69c3cf1bb8e662fa0d2345b3c603cc541 Mon Sep 17 00:00:00 2001 From: MoonlightSentinel Date: Fri, 27 Dec 2019 19:29:24 +0100 Subject: [PATCH 5/6] Remove unused parameters from todt.d --- src/.dscanner.ini | 3 +-- src/dmd/todt.d | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/.dscanner.ini b/src/.dscanner.ini index 88101d03152c..f82a87abf1dc 100644 --- a/src/.dscanner.ini +++ b/src/.dscanner.ini @@ -170,5 +170,4 @@ unused_parameter_check="-dmd.astbase,\ -dmd.mtype,\ -dmd.ob,\ -dmd.target,\ --dmd.tocvdebug,\ --dmd.todt" +-dmd.tocvdebug" diff --git a/src/dmd/todt.d b/src/dmd/todt.d index 824d59f6bbe1..3fdfa0583dd2 100644 --- a/src/dmd/todt.d +++ b/src/dmd/todt.d @@ -76,7 +76,7 @@ extern (C++) void Initializer_toDt(Initializer init, ref DtBuilder dtb) dtb.nzeros(cast(uint)vi.type.size()); } - void visitStruct(StructInitializer si) + void visitStruct(StructInitializer /* si */) { //printf("StructInitializer.toDt('%s')\n", si.toChars()); assert(0); From 5b9072fa7f5ee3ac6c7fba2e863e2509f24ad26a Mon Sep 17 00:00:00 2001 From: MoonlightSentinel Date: Fri, 27 Dec 2019 19:43:44 +0100 Subject: [PATCH 6/6] Remove unused parameters from astbase.d --- src/.dscanner.ini | 3 +-- src/dmd/astbase.d | 8 ++++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/.dscanner.ini b/src/.dscanner.ini index f82a87abf1dc..cad49951964a 100644 --- a/src/.dscanner.ini +++ b/src/.dscanner.ini @@ -120,8 +120,7 @@ object_const_check="-dmd.dtemplate,-dmd.backend.outbuf" enum_array_literal_check="-dmd.backend.oper,-dmd.backend.var" unused_variable_check="-dmd.backend.aarray,-dmd.backend.blockopt,-dmd.backend.cg,-dmd.backend.cg87,-dmd.backend.cgelem,-dmd.backend.cgobj,-dmd.backend.cgsched,-dmd.backend.cgxmm,-dmd.backend.cod1,-dmd.backend.cod2,-dmd.backend.cod3,-dmd.backend.dcgcv,-dmd.backend.dout,-dmd.backend.dwarfdbginf,-dmd.backend.elfobj,-dmd.backend.elpicpie,-dmd.backend.gother,-dmd.backend.gsroa,-dmd.backend.machobj,-dmd.backend.mscoffobj,-dmd.backend.newman,-dmd.backend.symbol,-dmd.dinterpret,-dmd.dmangle,-dmd.dsymbolsem,-dmd.dtemplate,-dmd.dump,-dmd.e2ir,-dmd.libmscoff,-dmd.mars,-dmd.ob,-dmd.objc_glue,-dmd.root.longdouble,-dmd.semantic2,-dmd.tocvdebug" -unused_parameter_check="-dmd.astbase,\ --dmd.backend.aarray,\ +unused_parameter_check="-dmd.backend.aarray,\ -dmd.backend.blockopt,\ -dmd.backend.cc,\ -dmd.backend.cg,\ diff --git a/src/dmd/astbase.d b/src/dmd/astbase.d index fa553ccfbc37..f92c925cb23f 100644 --- a/src/dmd/astbase.d +++ b/src/dmd/astbase.d @@ -346,7 +346,7 @@ struct ASTBase return ident ? ident.toChars() : "__anonymous"; } - bool oneMember(Dsymbol *ps, Identifier ident) + bool oneMember(Dsymbol *ps, Identifier /* ident */) { *ps = this; return true; @@ -464,7 +464,7 @@ struct ASTBase return null; } - Dsymbol syntaxCopy(Dsymbol s) + Dsymbol syntaxCopy(Dsymbol /* s */) { return null; } @@ -1793,7 +1793,7 @@ struct ASTBase { size_t nargs = 0; - int dimDg(size_t n, Parameter p) + int dimDg(size_t /* n */, Parameter /* p */) { ++nargs; return 0; @@ -6180,7 +6180,7 @@ struct ASTBase } // this should be abstract and implemented in child classes - Expression toExpression(Type t = null) + Expression toExpression(Type /* t */ = null) { return null; }