diff --git a/src/DynareMain.cc b/src/DynareMain.cc index 67aefdb9259199dacb7b9eece45535a8b29a267e..ea63400a13a50b62558a178bbc8856a1a9a73862 100644 --- a/src/DynareMain.cc +++ b/src/DynareMain.cc @@ -444,9 +444,9 @@ main(int argc, char** argv) dynareroot = dynareroot.parent_path(); // Construct basename (i.e. remove file extension if there is one) - /* Calling `string()` method on filename because of bug in GCC/MinGW 10.2 - (shipped in Debian “Bullseye” 11), that fails to accept implicit - conversion to string from filename::path. */ + /* Calling string() method on filename.stem(): not necessary on GNU/Linux and macOS because there + is an implicit conversion from filesystem:path to string (i.e. basic_string<char>), but needed + on Windows because the implicit conversion is only to wstring (i.e. basic_string<wchar_t>). */ const string basename {filename.stem().string()}; // Forbid some basenames, since they will cause trouble (see preprocessor#62) diff --git a/src/MacroExpandModFile.cc b/src/MacroExpandModFile.cc index 6251ae25cf988f6f472a9ec274d2d51f03529e42..0cebcb2dc36f75f7d8999c21dcfe66b2b3f86097 100644 --- a/src/MacroExpandModFile.cc +++ b/src/MacroExpandModFile.cc @@ -34,9 +34,9 @@ macroExpandModFile(const filesystem::path& filename, const istream& modfile, boo stringstream macro_output; macro::Environment env = macro::Environment(); macro::Driver m; - /* Calling `string()` method on filename because of bug in GCC/MinGW 10.2 - (shipped in Debian “Bullseye” 11), that fails to accept implicit - conversion to string from filename::path. */ + /* Calling string() method on filename: not necessary on GNU/Linux and macOS because there is an + implicit conversion from filesystem:path to string (i.e. basic_string<char>), but needed on + Windows because the implicit conversion is only to wstring (i.e. basic_string<wchar_t>). */ m.parse(filename.string(), modfile, debug, defines, env, paths, macro_output); if (save_macro) { diff --git a/src/macro/Directives.cc b/src/macro/Directives.cc index 6191b1ccb050d69e70390da5f2efa2dcf0b65543..99d1cc32319de23aa472da2ba535c7d83a5b9c65 100644 --- a/src/macro/Directives.cc +++ b/src/macro/Directives.cc @@ -75,10 +75,10 @@ Include::interpret(ostream& output, Environment& env, vector<filesystem::path>& } } Driver m; - /* Calling `string()` method on filename and filename.stem() because of - bug in GCC/MinGW 10.2 (shipped in Debian “Bullseye” 11), that fails - to accept implicit conversion to string from filename::path. See - https://en.cppreference.com/w/cpp/filesystem/path/native. */ + /* Calling string() method on filename: not necessary on GNU/Linux and macOS because there is + an implicit conversion from from filesystem:path to string (i.e. basic_string<char>), but + needed on Windows because the implicit conversion is only to wstring (i.e. + basic_string<wchar_t>). */ m.parse(filename.string(), incfile, false, {}, env, paths, output); } catch (StackTrace& ex)