From 71a0b3395c71500137f63f3408a34b5b7f8283db Mon Sep 17 00:00:00 2001
From: MichelJuillard <michel.juillard@mjui.fr>
Date: Fri, 31 Mar 2023 14:46:11 +0200
Subject: [PATCH] clang doesn't support jthread

---
 src/DynareMain.cc | 3 +--
 src/ModelTree.cc  | 5 +++--
 src/ModelTree.hh  | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/DynareMain.cc b/src/DynareMain.cc
index e16c7697..4968cccb 100644
--- a/src/DynareMain.cc
+++ b/src/DynareMain.cc
@@ -503,8 +503,7 @@ main(int argc, char **argv)
     }
 
   if (mod_file->use_dll)
-    ModelTree::initializeMEXCompilationWorkers(max(jthread::hardware_concurrency(), 1U),
-                                               dynareroot, mexext);
+    ModelTree::initializeMEXCompilationWorkers(max(thread::hardware_concurrency(), 1U));
 
   if (json == JsonOutputPointType::parsing)
     mod_file->writeJsonOutput(basename, json, json_output_mode, onlyjson);
diff --git a/src/ModelTree.cc b/src/ModelTree.cc
index 408952eb..23c513d6 100644
--- a/src/ModelTree.cc
+++ b/src/ModelTree.cc
@@ -45,7 +45,7 @@ condition_variable_any ModelTree::mex_compilation_cv;
 mutex ModelTree::mex_compilation_mut;
 vector<tuple<filesystem::path, set<filesystem::path>, string>> ModelTree::mex_compilation_queue;
 set<filesystem::path> ModelTree::mex_compilation_ongoing, ModelTree::mex_compilation_done, ModelTree::mex_compilation_failed;
-vector<jthread> ModelTree::mex_compilation_workers;
+vector<thread> ModelTree::mex_compilation_workers;
 
 void
 ModelTree::copyHelper(const ModelTree &m)
@@ -1839,6 +1839,7 @@ void
 ModelTree::initializeMEXCompilationWorkers(int numworkers, const filesystem::path &dynareroot,
                                            const string &mexext)
 {
+  /*
   assert(numworkers > 0);
   assert(mex_compilation_workers.empty());
 
@@ -1925,7 +1926,7 @@ ModelTree::initializeMEXCompilationWorkers(int numworkers, const filesystem::pat
           exit(EXIT_FAILURE);
         }
     }
-#endif
+*/
 }
 
 void
diff --git a/src/ModelTree.hh b/src/ModelTree.hh
index 7098c0d6..88eccc00 100644
--- a/src/ModelTree.hh
+++ b/src/ModelTree.hh
@@ -410,7 +410,7 @@ private:
   vector<int> endo2eq;
 
   // Stores workers used for compiling MEX files in parallel
-  static vector<jthread> mex_compilation_workers;
+  static vector<thread> mex_compilation_workers;
 
   /* The following variables implement the thread synchronization mechanism for
      limiting the number of concurrent GCC processes and tracking dependencies
-- 
GitLab