Remove workaround for bug in MinGW compiler

It would mishandle trailing slashes or backslashes in std::filesystem::path, see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88881

The bug is now fixed in the version of MinGW in Debian “bookworm” 12.

Ref. Madysson/estimation-codes#11
master
Sébastien Villemot 2023-12-08 18:20:52 +01:00
parent 378d00fc3a
commit 4790fa00d8
No known key found for this signature in database
GPG Key ID: 2CECE9350ECEBE4A
1 changed files with 0 additions and 13 deletions

View File

@ -103,20 +103,7 @@ IncludePath::interpret([[maybe_unused]] ostream& output, Environment& env,
StringPtr msp = dynamic_pointer_cast<String>(expr->eval(env));
if (!msp)
throw StackTrace("File name does not evaluate to a string");
#ifdef _WIN32
/* Trim trailing slashes and backslashes in the path. This is a
workaround for a GCC/MinGW bug present in version 10.2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88881, that affects
gcc-mingw-w64 in Debian Bullseye 11. It is fixed in GCC 10.3, and
thus should be fixed in Debian Bookworm 12.
See Madysson/estimation-codes#11. */
string ipstr = static_cast<string>(*msp);
while (ipstr.size() > 1 && (ipstr.back() == '/' || ipstr.back() == '\\'))
ipstr.pop_back();
path ip {ipstr};
#else
path ip = static_cast<string>(*msp);
#endif
if (!is_directory(ip))
throw StackTrace(ip.string() + " does not evaluate to a valid directory");
if (!exists(ip))