From fe974c4c31333876b9548d7ffc7cb138fe74b2bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org>
Date: Mon, 6 Dec 2021 16:30:38 +0100
Subject: [PATCH] When looking for unused endos/exos, also search in equations
 marked [static]

---
 src/DynamicModel.cc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/DynamicModel.cc b/src/DynamicModel.cc
index 2249dcaf..1bae113b 100644
--- a/src/DynamicModel.cc
+++ b/src/DynamicModel.cc
@@ -4585,6 +4585,8 @@ DynamicModel::findUnusedEndogenous()
   set<int> usedEndo, unusedEndo;
   for (auto &equation : equations)
     equation->collectVariables(SymbolType::endogenous, usedEndo);
+  for (auto &equation : static_only_equations)
+    equation->collectVariables(SymbolType::endogenous, usedEndo);
   set<int> allEndo = symbol_table.getEndogenous();
   set_difference(allEndo.begin(), allEndo.end(),
                  usedEndo.begin(), usedEndo.end(),
@@ -4598,6 +4600,8 @@ DynamicModel::findUnusedExogenous()
   set<int> usedExo, unusedExo, unobservedExo;
   for (auto &equation : equations)
     equation->collectVariables(SymbolType::exogenous, usedExo);
+  for (auto &equation : static_only_equations)
+    equation->collectVariables(SymbolType::exogenous, usedExo);
   set<int> observedExo = symbol_table.getObservedExogenous();
   set<int> allExo = symbol_table.getExogenous();
   set_difference(allExo.begin(), allExo.end(),
-- 
GitLab