aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrystian Kuzniarek <krystian.kuzniarek@gmail.com>2019-11-27 15:01:03 +0100
committerKrystian Kuzniarek <krystian.kuzniarek@gmail.com>2019-11-27 15:01:03 +0100
commit3957b8898b589fd335971e1bfc5aa5d886a131e5 (patch)
tree874bc7c8d8fd1a3c29e61c4261a732071950ca7b
parent967d8e05c2f006dc0bcebb3b0b28ecc637204b8d (diff)
downloadgoogletest-3957b8898b589fd335971e1bfc5aa5d886a131e5.tar.gz
googletest-3957b8898b589fd335971e1bfc5aa5d886a131e5.tar.bz2
googletest-3957b8898b589fd335971e1bfc5aa5d886a131e5.zip
Revert "remove MSVC workaround: wmain link error in the static library"
This reverts commit 298a40f023e6813d2bf73847c3a38ceaf5e46320.
-rw-r--r--googlemock/src/gmock_main.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/googlemock/src/gmock_main.cc b/googlemock/src/gmock_main.cc
index 89c81831..18c500f6 100644
--- a/googlemock/src/gmock_main.cc
+++ b/googlemock/src/gmock_main.cc
@@ -48,13 +48,20 @@ void loop() { RUN_ALL_TESTS(); }
#endif
#else
-#if __MSC_VER
+
+// MS C++ compiler/linker has a bug on Windows (not on Windows CE), which
+// causes a link error when _tmain is defined in a static library and UNICODE
+// is enabled. For this reason instead of _tmain, main function is used on
+// Windows. See the following link to track the current status of this bug:
+// https://web.archive.org/web/20170912203238/connect.microsoft.com/VisualStudio/feedback/details/394464/wmain-link-error-in-the-static-library
+// // NOLINT
+#if GTEST_OS_WINDOWS_MOBILE
# include <tchar.h> // NOLINT
GTEST_API_ int _tmain(int argc, TCHAR** argv) {
#else
GTEST_API_ int main(int argc, char** argv) {
-#endif // __MSC_VER
+#endif // GTEST_OS_WINDOWS_MOBILE
std::cout << "Running main() from gmock_main.cc\n";
// Since Google Mock depends on Google Test, InitGoogleMock() is
// also responsible for initializing Google Test. Therefore there's