summaryrefslogtreecommitdiffstats
path: root/googletest/src/gtest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'googletest/src/gtest.cc')
-rw-r--r--googletest/src/gtest.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/googletest/src/gtest.cc b/googletest/src/gtest.cc
index 749e829..41ed48b 100644
--- a/googletest/src/gtest.cc
+++ b/googletest/src/gtest.cc
@@ -146,6 +146,12 @@
# define vsnprintf _vsnprintf
#endif // GTEST_OS_WINDOWS
+#if GTEST_OS_MAC
+# ifndef GTEST_OS_IOS
+# include <crt_externs.h>
+# endif
+#endif
+
namespace testing {
using internal::CountIf;
@@ -5341,6 +5347,16 @@ void ParseGoogleTestFlagsOnlyImpl(int* argc, CharType** argv) {
}
}
+// Fix the value of *_NSGetArgc() on macOS, but iff
+// *_NSGetArgv() == argv
+#if GTEST_OS_MAC
+# ifndef GTEST_OS_IOS
+ if (*_NSGetArgv() == argv) {
+ *_NSGetArgc() = *argc;
+ }
+# endif
+#endif
+
if (g_help_flag) {
// We print the help here instead of in RUN_ALL_TESTS(), as the
// latter may not be called at all if the user is using Google