From 7b4616e8538a8973d6b8cd330df5a54c49ee559f Mon Sep 17 00:00:00 2001
From: Houtan Bastani <houtan@dynare.org>
Date: Fri, 4 Oct 2019 14:41:48 +0200
Subject: [PATCH] fix cross compilation due to bug in MinGW 8.3.0

implicit conversion from `filesystem::path` to `string` not supported even though it's in the standard
---
 src/macro/Directives.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/macro/Directives.cc b/src/macro/Directives.cc
index eb7ad24e..07695925 100644
--- a/src/macro/Directives.cc
+++ b/src/macro/Directives.cc
@@ -73,7 +73,10 @@ Include::interpret(ostream &output, bool no_line_macro, vector<filesystem::path>
             }
         }
       Driver m(env, no_line_macro);
-      m.parse(filename, filename.stem(), incfile, output, false, vector<pair<string, string>>{}, paths);
+      // Calling `string()` method on filename and filename.stem() because of bug in
+      // MinGW 8.3.0 that ignores implicit conversion to string from filename::path.
+      // Test if bug exists when version of MinGW is upgraded on Debian runners
+      m.parse(filename.string(), filename.stem().string(), incfile, output, false, vector<pair<string, string>>{}, paths);
     }
   catch (StackTrace &ex)
     {
-- 
GitLab