From b3ca4f9ad18220b2f56cd6af7df5cf1e671d39a8 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 22 Apr 2021 14:06:48 -0400 Subject: cm/filesystem: Work around crash when compiled for CYGWIN/MSYS runtime Issue: #22090 --- Utilities/std/cm/filesystem | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Utilities/std/cm/filesystem b/Utilities/std/cm/filesystem index 6cbdea9..ce52fbf 100644 --- a/Utilities/std/cm/filesystem +++ b/Utilities/std/cm/filesystem @@ -809,6 +809,10 @@ public: path& remove_filename() { +# if defined(__CYGWIN__) + // FIXME: Avoid crash due to CYGWIN/MSYS bug(?). See CMake Issue 22090. + static_cast(this->path_.data()); +# endif auto fname = this->get_filename(); if (!fname.empty()) { this->path_.erase(fname.data() - this->path_.data()); @@ -825,6 +829,10 @@ public: path& replace_extension(const path& replacement = path()) { +# if defined(__CYGWIN__) + // FIXME: Avoid crash due to CYGWIN/MSYS bug(?). See CMake Issue 22090. + static_cast(this->path_.data()); +# endif auto ext = this->get_filename_fragment(filename_fragment::extension); if (!ext.empty()) { this->path_.erase(ext.data() - this->path_.data()); -- cgit v0.12