From 68e45962531a25a0fab63eab163a6c9f84c81f1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Mon, 9 Nov 2020 11:48:21 +0200 Subject: [libcxx] Fix the function name in exceptions from create_directories If the nested create_directory call fails, we'd still want to re-report the errors with the create_directories function name, which is what the caller called. This fixes one aspect from MS STL's tests for std::filesystem. Differential Revision: https://reviews.llvm.org/D102365 --- libcxx/src/filesystem/operations.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libcxx/src/filesystem/operations.cpp') diff --git a/libcxx/src/filesystem/operations.cpp b/libcxx/src/filesystem/operations.cpp index 99001a0..5179eea 100644 --- a/libcxx/src/filesystem/operations.cpp +++ b/libcxx/src/filesystem/operations.cpp @@ -1022,7 +1022,10 @@ bool __create_directories(const path& p, error_code* ec) { } else if (not is_directory(parent_st)) return err.report(errc::not_a_directory); } - return __create_directory(p, ec); + bool ret = __create_directory(p, &m_ec); + if (m_ec) + return err.report(m_ec); + return ret; } bool __create_directory(const path& p, error_code* ec) { -- cgit v1.1