diff options
Diffstat (limited to 'Source/Checks/cm_cxx_filesystem.cxx')
-rw-r--r-- | Source/Checks/cm_cxx_filesystem.cxx | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/Source/Checks/cm_cxx_filesystem.cxx b/Source/Checks/cm_cxx_filesystem.cxx index e508d1c..ae8acc5 100644 --- a/Source/Checks/cm_cxx_filesystem.cxx +++ b/Source/Checks/cm_cxx_filesystem.cxx @@ -3,8 +3,25 @@ int main() { + std::filesystem::path p0(L"/a/b/c"); + std::filesystem::path p1("/a/b/c"); std::filesystem::path p2("/a/b/c"); + if (p1 != p2) { + return 1; + } + +#if defined(_WIN32) + std::filesystem::path p3("//host/a/b/../c"); + if (p3.lexically_normal().generic_string() != "//host/a/c") { + return 1; + } + + std::filesystem::path p4("c://a/.///b/../"); + if (p4.lexically_normal().generic_string() != "c:/a/") { + return 1; + } +#endif - return p1 == p2 ? 0 : 1; + return 0; } |