From 6063304cb8d73d430e7ef81c62cd9822302fcc19 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Thu, 6 Jul 2023 03:18:14 +0800 Subject: Squash some warnings (#2956) * restrict -Wno-assume to clang (gcc does not have this warning) * Add move where possible Annoyingly this warns for c++17, but will not be necessary with c++20 * Do not partially initialize struct * Remove unused variable * Silence unused var warning It is actually still referenced from an uninstantiated (for now) template * Use unused var --------- Co-authored-by: jsmall-nvidia --- source/compiler-core/slang-source-embed-util.cpp | 2 +- source/slang/slang-check-impl.h | 4 ++-- source/slang/slang-ir-autodiff-transpose.h | 4 ++-- source/slang/slang-lower-to-ir.cpp | 3 +-- 4 files changed, 6 insertions(+), 7 deletions(-) (limited to 'source') diff --git a/source/compiler-core/slang-source-embed-util.cpp b/source/compiler-core/slang-source-embed-util.cpp index ec0c005cf..45fd9c4b3 100644 --- a/source/compiler-core/slang-source-embed-util.cpp +++ b/source/compiler-core/slang-source-embed-util.cpp @@ -73,7 +73,7 @@ static bool _isHeaderExtension(const UnownedStringSlice& in) // Assume it's a header, and just use the .h extension StringBuilder buf; buf << path << toSlice(".h"); - return buf; + return std::move(buf); } /* static */SourceEmbedUtil::Style SourceEmbedUtil::getDefaultStyle(const ArtifactDesc& desc) diff --git a/source/slang/slang-check-impl.h b/source/slang/slang-check-impl.h index 26c96a72e..e710f93ec 100644 --- a/source/slang/slang-check-impl.h +++ b/source/slang/slang-check-impl.h @@ -57,13 +57,13 @@ namespace Slang { return getRaw() == other.getRaw(); } - static BasicTypeKey invalid() { return BasicTypeKey{ 0xff, 0, 0 }; } + static BasicTypeKey invalid() { return BasicTypeKey{ 0xff, 0, 0, 0, 0, 0 }; } }; SLANG_FORCE_INLINE BasicTypeKey makeBasicTypeKey(BaseType baseType, IntegerLiteralValue dim1 = 0, IntegerLiteralValue dim2 = 0) { SLANG_ASSERT(dim1 >= 0 && dim2 >= 0); - return BasicTypeKey{ uint8_t(baseType), uint8_t(dim1), uint8_t(dim2) }; + return BasicTypeKey{ uint8_t(baseType), uint8_t(dim1), uint8_t(dim2), 0, 0, 0 }; } inline BasicTypeKey makeBasicTypeKey(Type* typeIn, Expr* exprIn = nullptr) diff --git a/source/slang/slang-ir-autodiff-transpose.h b/source/slang/slang-ir-autodiff-transpose.h index a0f888931..843612df9 100644 --- a/source/slang/slang-ir-autodiff-transpose.h +++ b/source/slang/slang-ir-autodiff-transpose.h @@ -2295,8 +2295,8 @@ struct DiffTransposePass if (auto vectorType = as(baseType)) { - IRInst* elementCountInst = as(baseType)->getElementCount(); - elementType = as(baseType)->getElementType(); + IRInst* elementCountInst = vectorType->getElementCount(); + elementType = vectorType->getElementType(); primalElementType = as(aggPrimalType)->getElementType(); SLANG_ASSERT(as(elementCountInst)); elementCount = as(elementCountInst)->getValue(); diff --git a/source/slang/slang-lower-to-ir.cpp b/source/slang/slang-lower-to-ir.cpp index cb2c9129a..c70cdb948 100644 --- a/source/slang/slang-lower-to-ir.cpp +++ b/source/slang/slang-lower-to-ir.cpp @@ -872,7 +872,7 @@ static LoweredValInfo _emitCallToAccessor( /// encapsulates the reference to the storage so that downstream /// code can decide which accessor(s) to invoke. /// - +[[maybe_unused]] static LoweredValInfo lowerStorageReference( IRGenContext* context, IRType* type, @@ -1448,7 +1448,6 @@ struct ValLoweringVisitor : ValVisitorbase); SLANG_ASSERT(baseVal.flavor == LoweredValInfo::Flavor::Simple); auto type = lowerType(context, val->type); -- cgit v1.2.3