summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Bolvansky <david.bolvansky@gmail.com>2018-05-09 18:57:17 +0000
committerDavid Bolvansky <david.bolvansky@gmail.com>2018-05-09 18:57:17 +0000
commitb89605db0133ac8231304da31f7b4ac9d68a1984 (patch)
treee95af7a185652106fa033460111d40182c8e8a83
parent762d49880876eca14aa75a1bc893eba23ed50788 (diff)
downloadbcm5719-llvm-b89605db0133ac8231304da31f7b4ac9d68a1984.tar.gz
bcm5719-llvm-b89605db0133ac8231304da31f7b4ac9d68a1984.zip
Allow copy elision in path concatenation
Summary: Just port of libstdc++'s fix to libc++ fs: https://github.com/gcc-mirror/gcc/commit/e6ac4004fe49d785c63bf87aec4b095b5ce1d19f Author of fix: Jonathan Wakely Reviewers: EricWF, mclow.lists Reviewed By: EricWF Subscribers: smeenai, christof, cfe-commits, llvm-commits Differential Revision: https://reviews.llvm.org/D46593 llvm-svn: 331910
-rw-r--r--libcxx/include/experimental/filesystem4
1 files changed, 3 insertions, 1 deletions
diff --git a/libcxx/include/experimental/filesystem b/libcxx/include/experimental/filesystem
index a8518249dd8..f29e23e1816 100644
--- a/libcxx/include/experimental/filesystem
+++ b/libcxx/include/experimental/filesystem
@@ -1140,7 +1140,9 @@ bool operator>=(const path& __lhs, const path& __rhs) _NOEXCEPT
inline _LIBCPP_INLINE_VISIBILITY
path operator/(const path& __lhs, const path& __rhs) {
- return path(__lhs) /= __rhs;
+ path __result(__lhs);
+ __result /= __rhs;
+ return __result;
}
template <class _Source>
OpenPOWER on IntegriCloud