From b86ba683d9e3d87b934db6cd2a06bcc0408ed4cc Mon Sep 17 00:00:00 2001 From: MichelJuillard <michel.juillard@mjui.fr> Date: Wed, 6 Dec 2023 16:33:32 +0100 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 4e9ff55a..8b0b6a45 100644 --- a/src/DynareMain.cc +++ b/src/DynareMain.cc @@ -509,8 +509,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 41bed024..2e799765 100644 --- a/src/ModelTree.cc +++ b/src/ModelTree.cc @@ -46,7 +46,7 @@ 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) @@ -1921,6 +1921,7 @@ void ModelTree::initializeMEXCompilationWorkers(int numworkers, const filesystem::path& dynareroot, const string& mexext) { + /* assert(numworkers > 0); assert(mex_compilation_workers.empty()); @@ -2012,7 +2013,7 @@ ModelTree::initializeMEXCompilationWorkers(int numworkers, const filesystem::pat exit(EXIT_FAILURE); } } -#endif +*/ } void diff --git a/src/ModelTree.hh b/src/ModelTree.hh index 8d068593..72fcb700 100644 --- a/src/ModelTree.hh +++ b/src/ModelTree.hh @@ -433,7 +433,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