summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Barolak <mbar@google.com>2019-12-06 16:34:42 (GMT)
committerMark Barolak <mbar@google.com>2019-12-06 16:34:42 (GMT)
commit78fdd6c00b8fa5dd67066fbb796affc87ba0e075 (patch)
tree2a2d487c263a8ec6f1279919b7f90d321b1001de
parent9ed99c6c837ae1cbfcabd36959fc802ebb5ae07f (diff)
parent3957b8898b589fd335971e1bfc5aa5d886a131e5 (diff)
downloadgoogletest-78fdd6c00b8fa5dd67066fbb796affc87ba0e075.zip
googletest-78fdd6c00b8fa5dd67066fbb796affc87ba0e075.tar.gz
googletest-78fdd6c00b8fa5dd67066fbb796affc87ba0e075.tar.bz2
Merge pull request #2609 from kuzkry:revert-2596
PiperOrigin-RevId: 284041013
-rw-r--r--googlemock/src/gmock_main.cc13
-rw-r--r--googletest/src/gtest_main.cc11
2 files changed, 13 insertions, 11 deletions
diff --git a/googlemock/src/gmock_main.cc b/googlemock/src/gmock_main.cc
index d9e7170..18c500f 100644
--- a/googlemock/src/gmock_main.cc
+++ b/googlemock/src/gmock_main.cc
@@ -48,14 +48,21 @@ 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
- std::cout << "Running main() from " << __FILE__ << '\n';
+#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
// no need for calling testing::InitGoogleTest() separately.
diff --git a/googletest/src/gtest_main.cc b/googletest/src/gtest_main.cc
index 63b2cfd..46b27c3 100644
--- a/googletest/src/gtest_main.cc
+++ b/googletest/src/gtest_main.cc
@@ -27,7 +27,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#include <iostream>
+#include <cstdio>
#include "gtest/gtest.h"
#if GTEST_OS_ESP8266 || GTEST_OS_ESP32
@@ -45,14 +45,9 @@ void loop() { RUN_ALL_TESTS(); }
#endif
#else
-#if __MSC_VER
-# include <tchar.h> // NOLINT
-GTEST_API_ int _tmain(int argc, TCHAR** argv) {
-#else
-GTEST_API_ int main(int argc, char** argv) {
-#endif // __MSC_VER
- std::cout << "Running main() from " << __FILE__ << '\n';
+GTEST_API_ int main(int argc, char **argv) {
+ printf("Running main() from %s\n", __FILE__);
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}