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)