summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGennadiy Rozental <rogeeff@google.com>2019-11-26 20:47:30 (GMT)
committerGennadiy Rozental <rogeeff@google.com>2019-11-26 20:47:30 (GMT)
commit0361bdf591dd36d488b9d026f6f6cbd52593036e (patch)
treebb28478a0f05a472fdfc46ff061cb7a2d99ba2a5
parentdb13ff1f0bd5a94e1e81c656df3ac7bd70bc3c06 (diff)
parenta909becdc599c46bcb57346b6123cb57cd07d15d (diff)
downloadgoogletest-0361bdf591dd36d488b9d026f6f6cbd52593036e.zip
googletest-0361bdf591dd36d488b9d026f6f6cbd52593036e.tar.gz
googletest-0361bdf591dd36d488b9d026f6f6cbd52593036e.tar.bz2
Merge pull request #2596 from kuzkry:remove-workaround_msvc-wmain-link-error
PiperOrigin-RevId: 282589492
-rw-r--r--googlemock/src/gmock_main.cc13
-rw-r--r--googletest/src/gtest_main.cc11
2 files changed, 11 insertions, 13 deletions
diff --git a/googlemock/src/gmock_main.cc b/googlemock/src/gmock_main.cc
index 18c500f..d9e7170 100644
--- a/googlemock/src/gmock_main.cc
+++ b/googlemock/src/gmock_main.cc
@@ -48,21 +48,14 @@ void loop() { RUN_ALL_TESTS(); }
#endif
#else
-
-// 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
+#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 // GTEST_OS_WINDOWS_MOBILE
- std::cout << "Running main() from gmock_main.cc\n";
+#endif // __MSC_VER
+ std::cout << "Running main() from " << __FILE__ << '\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 46b27c3..63b2cfd 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 <cstdio>
+#include <iostream>
#include "gtest/gtest.h"
#if GTEST_OS_ESP8266 || GTEST_OS_ESP32
@@ -45,9 +45,14 @@ void loop() { RUN_ALL_TESTS(); }
#endif
#else
+#if __MSC_VER
+# include <tchar.h> // NOLINT
-GTEST_API_ int main(int argc, char **argv) {
- printf("Running main() from %s\n", __FILE__);
+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';
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}