From 2d7c919525570c43b4c4a851ed1a1e8480bbec90 Mon Sep 17 00:00:00 2001
From: Ben Cumming <bcumming@cscs.ch>
Date: Wed, 21 Dec 2022 16:42:57 +0100
Subject: [PATCH] Silence spurious unused variable warnings in generated code
 (#2073)

`[[maybe_unused]]` in generated code to silence warnings for mechanisms
with `net_receive` methods that do not use the connection weight.
---
 modcc/printer/cprinter.cpp   | 2 +-
 modcc/printer/gpuprinter.cpp | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/modcc/printer/cprinter.cpp b/modcc/printer/cprinter.cpp
index 40cb5dea..d95e97df 100644
--- a/modcc/printer/cprinter.cpp
+++ b/modcc/printer/cprinter.cpp
@@ -332,7 +332,7 @@ ARB_LIBMODCC_API std::string emit_cpp_source(const Module& module_, const printe
                                        "        auto end    = stream_ptr->events + stream_ptr->end[c];\n"
                                        "        for (auto p = begin; p<end; ++p) {{\n"
                                        "            auto i_     = p->mech_index;\n"
-                                       "            auto {1} = p->weight;\n"
+                                       "            [[maybe_unused]] auto {1} = p->weight;\n"
                                        "            if (p->mech_id=={0}mechanism_id) {{\n"),
                            pp_var_pfx,
                            net_receive_api->args().empty() ? "weight" : net_receive_api->args().front()->is_argument()->name());
diff --git a/modcc/printer/gpuprinter.cpp b/modcc/printer/gpuprinter.cpp
index 2150bf02..6c8d4d8e 100644
--- a/modcc/printer/gpuprinter.cpp
+++ b/modcc/printer/gpuprinter.cpp
@@ -234,7 +234,7 @@ ARB_LIBMODCC_API std::string emit_gpu_cu_source(const Module& module_, const pri
                                        "        for (auto p = begin; p<end; ++p) {{\n"
                                        "            if (p->mech_id=={1}mechanism_id) {{\n"
                                        "                auto tid_ = p->mech_index;\n"
-                                       "                auto {0} = p->weight;\n"),
+                                       "                [[maybe_unused]] auto {0} = p->weight;\n"),
                            net_receive_api->args().empty() ? "weight" : net_receive_api->args().front()->is_argument()->name(),
                            pp_var_pfx);
         out << indent << indent << indent << indent;
-- 
GitLab