[libcxx] Use the allocating form of getcwd() on Glibc and Apple platforms
This avoids having to query pathconf for a max size for
preallocating a buffer for the return value.
This is an extension to the POSIX getcwd() spec.
Differential Revision: https://reviews.llvm.org/D97460
GitOrigin-RevId: c7d46f221e829411b0f0dec41409ed626646cdd2
diff --git a/src/filesystem/operations.cpp b/src/filesystem/operations.cpp
index d0f0d5b..06efb72 100644
--- a/src/filesystem/operations.cpp
+++ b/src/filesystem/operations.cpp
@@ -1095,7 +1095,7 @@
path __current_path(error_code* ec) {
ErrorHandler<path> err("current_path", ec);
-#if defined(_LIBCPP_WIN32API)
+#if defined(_LIBCPP_WIN32API) || defined(__GLIBC__) || defined(__APPLE__)
// Common extension outside of POSIX getcwd() spec, without needing to
// preallocate a buffer. Also supported by a number of other POSIX libcs.
int size = 0;