From 3acbe8145c60f4d1e7a180b4602a94269a489df5 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Thu, 27 Apr 2023 12:36:59 +0800 Subject: Fix most of the disabled warnings on gcc/clang (#2839) --- source/slang/slang-check-overload.cpp | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) (limited to 'source/slang/slang-check-overload.cpp') diff --git a/source/slang/slang-check-overload.cpp b/source/slang/slang-check-overload.cpp index eaa89c008..fbd8fb288 100644 --- a/source/slang/slang-check-overload.cpp +++ b/source/slang/slang-check-overload.cpp @@ -158,7 +158,7 @@ namespace Slang auto decl = candidate.item.declRef.decl; - if(auto prefixExpr = as(expr)) + if(const auto prefixExpr = as(expr)) { if(decl->hasModifier()) return true; @@ -171,7 +171,7 @@ namespace Slang return false; } - else if(auto postfixExpr = as(expr)) + else if(const auto postfixExpr = as(expr)) { if(decl->hasModifier()) return true; @@ -1007,7 +1007,8 @@ namespace Slang if (context.bestCandidates.getCount() != 0) { // We have multiple candidates right now, so filter them. - bool anyFiltered = false; + // This is only used in an assert in debug builds + [[maybe_unused]] bool anyFiltered = false; // Note that we are querying the list length on every iteration, // because we might remove things. for (Index cc = 0; cc < context.bestCandidates.getCount(); ++cc) @@ -1214,7 +1215,6 @@ namespace Slang // generic itself. // Substitutions* substForInnerDecl = genericDeclRef.substitutions; - Count knownGenericArgCount = 0; // // In the case where we have explicit/known arguments, // we will use those as our baseline substitutions. @@ -1222,7 +1222,6 @@ namespace Slang if (substWithKnownGenericArgs) { substForInnerDecl = substWithKnownGenericArgs; - knownGenericArgCount = substWithKnownGenericArgs->getArgs().getCount(); } auto innerDecl = getInner(genericDeclRef); @@ -1375,11 +1374,6 @@ namespace Slang auto genericDeclRef = genericItem.declRef.as(); SLANG_ASSERT(genericDeclRef); - if (substWithKnownGenericArgs) - { - substWithKnownGenericArgs = substWithKnownGenericArgs; - } - // Try to infer generic arguments, based on the context DeclRef innerRef = inferGenericArguments(genericDeclRef, context, substWithKnownGenericArgs); @@ -1412,8 +1406,6 @@ namespace Slang LookupResultItem item, OverloadResolveContext& context) { - auto declRef = item.declRef; - if (auto funcDeclRef = item.declRef.as()) { AddFuncOverloadCandidate(item, funcDeclRef, context); @@ -1560,18 +1552,9 @@ namespace Slang } else if (auto baseFuncGenericDeclRef = funcDeclRefExpr->declRef.as()) { - // Get inner function - DeclRef unspecializedInnerRef = DeclRef( - getInner(baseFuncGenericDeclRef), - baseFuncGenericDeclRef.substitutions); - // Process func type to generate JVP func type. auto diffFuncType = as(expr->type.type); - if (!diffFuncType) - { - // This shouldn't happen, but we check to be safe. - return; - } + SLANG_ASSERT(diffFuncType); // Extract parameter list from processed type. List paramTypes; -- cgit v1.2.3