Commit Graph

987 Commits

Author SHA1 Message Date
Nico Weber
62d2a519ed Fix -Wmicrosoft-cast warnings when using gtest with clang on Windows.
This upstreams a Google-internal change.

Original CL description:
The C++ standard says that function pointers are not implicitly
convertible to object pointers. Visual Studio disregards that and allows
implicit conversion between function pointers and object points, and
enough code relies on this that clang follows suit in
Microsoft-compatibility mode.

However, clang emits a -Wmicrosoft-cast warning when such a conversion
is done:

E:\b\c\b\win_clang\src\sandbox\win\src\sync_dispatcher.cc(42,7):
    warning: implicit conversion between pointer-to-function and
             pointer-to-object is a Microsoft extension [-Wmicrosoft-cast]

This change fixes this warning in gtest, while hopefully not changing
any behavior. The change does two things:

1. It replaces the if in DefaultPrintTo with SFINAE
2. In C++11 mode, it uses enable_if<is_function<>> instead of
   ImplicitlyConvertible<T*, const void*> to check if the
   explicit cast is needed.

With this change, functions will use the branch with the reintpret_casts
with Visual Studio and clang/win, and clang no longer needs to warn
that it implicitly converts a function pointer to a void pointer.
2017-05-15 17:21:25 -04:00
Billy Donahue
5f11a1cfd6 Merge pull request #725 from donhuff/xcode-headers
Add missing headers to Xcode framework target.
2017-05-15 11:44:37 -04:00
Billy Donahue
7927e99b3e Merge pull request #1078 from pwnall/gtest_api_port
Pick up GTEST_API_ definition in gtest/internal/custom/gtest-port.h.
2017-05-10 22:10:01 -04:00
Billy Donahue
8005a0be06 Merge pull request #965 from davidben/format-attr
Annotate ColoredPrintf with the format attribute and fix bugs.
2017-05-07 01:07:16 -04:00
Victor Costan
ca56e42c44 Pick up GTEST_API_ definition in gtest/internal/custom/gtest-port.h.
This makes it possible for a port to define the specifier used for
exported symbols without having to change Google Test.
2017-05-04 10:19:47 -07:00
Billy Donahue
c374b339d5 Merge pull request #1034 from dankegel/master
Minimal changes to fix build failures on Microsoft Visual Studio 2015
2017-05-02 14:53:21 -04:00
Billy Donahue
98acbfd080 Merge pull request #1077 from gennadiycivil/make-temp-dir-public-issue-1076
Changes to make TempDir() public
2017-05-02 14:52:05 -04:00
Gennadiy Civil
a446e0fbe1 Changes to make TempDir() public
Fixes #1076.
2017-05-02 14:16:11 -04:00
Dan Kegel
1f92ec6cfd Minimal changes to fix build failures on Microsoft Visual Studio 2015
Fixes the following errors:

hash_map(17): error C2338: <hash_map> is deprecated and will be REMOVED. Please use <unordered_map>. You can define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS to acknowledge that you have received this warning. [googlemock\gtest\gtest-printers_test.vcxproj]
hash_set(17): error C2338: <hash_set> is deprecated and will be REMOVED. Please use <unordered_set>. You can define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS to acknowledge that you have received this warning. [googlemock\gtest\gtest-printers_test.vcxproj]
googletest\test\gtest_catch_exceptions_test_.cc(152): error C2220: warning treated as error - no 'object' file generated
googletest\test\gtest_catch_exceptions_test_.cc(152): warning C4297: 'CxxExceptionInDestructorTest::~CxxExceptionInDestructorTest': function assumed not to throw an exception but does
  googletest\test\gtest_catch_exceptions_test_.cc(152): note: destructor or deallocator has a (possibly implicit) non-throwing exception specification

There were already some checks for _MSC_VER in the code, so this commit
continues in that vein.
2017-03-01 18:40:48 -08:00
Billy Donahue
575214e286 Merge pull request #1029 from google/BillyDonahue-patch-3
Remove /tree/ from Readme.md links.
2017-02-25 20:47:57 -05:00
Billy Donahue
dc024dff2a Remove /tree/ from Readme.md links.
Issue #1028
2017-02-25 20:46:21 -05:00
Billy Donahue
72774933bf Merge pull request #996 from srz-zumix/fix-error
fix typo /GTEST_ATTRIBUTE_UNUSED/GTEST_ATTRIBUTE_UNUSED_/
2017-02-17 10:50:24 -05:00
srz_zumix
beedbbea89 fix typo /GTEST_ATTRIBUTE_UNUSED/GTEST_ATTRIBUTE_UNUSED_/ 2017-02-03 08:05:22 +09:00
Billy Donahue
505b9cf9c4 Merge pull request #982 from mbjorge/unused-variable-fix
Add GTEST_ATTRIBUTE_UNUSED_ to REGISTER_TYPED_TEST_CASE_P
2017-01-31 17:09:47 -05:00
Billy Donahue
4795be81ab Merge pull request #874 from sejr/master
Fixing broken relative links in Google Mock documentation
2017-01-23 16:13:43 -05:00
Sam Roth
b8cfea1b58 Merge pull request #1 from google/master
Syncing my branch
2017-01-23 13:49:32 -05:00
Mike Bjorge
8b6e202629 Add GTEST_ATTRIBUTE_UNUSED_ to REGISTER_TYPED_TEST_CASE_P
If REGISTER_TYPED_TEST_CASE_P is included in a header file, but
the .cc file does not declare INSTANTIATE_TYPED_TEST_CASE_P, an
unused-variable warning may be raised by the compiler.
2017-01-09 16:02:55 -08:00
David Benjamin
6d9c745ca4 Annotate ColoredPrintf with the format attribute and fix bugs.
googletest doesn't currently build with clang's very aggressive
-Wformat-nonliteral warning. It requires that all non-literal format
strings come from the argument of a function annotated with a compatible
format attribute.

Fixing that reports that ColoredPrintf's callers weren't passing the
normal -Wformat warning. Some messages were passed directly into the
format string rather than via "%s".
2016-12-21 20:57:21 -05:00
Billy Donahue
17a1f78f86 Merge pull request #658 from audiofanatic/ExternalProject_at_configure_time
Added docs for ExternalProject download during CMake step
2016-12-18 11:59:12 -05:00
Craig Scott
5fc61b8c25 2.6.4 is the minimum CMake version, so enforce it (#656) 2016-12-17 19:15:04 -05:00
Craig Scott
a0a7489cd4 Added CMake configure-time download instructions to docs
Adds instructions for how to add gtest and gmock to
another CMake project directly. Downloading of the
googletest sources happens as configure time, allowing
it to be added to the main build directly via the
add_subdirectory() command. This ensures googletest is
built with the same compiler settings, etc. and will
typically result in a more robust and more convenient
build arrangement.
2016-12-18 09:01:27 +11:00
Billy Donahue
824055a10e Merge pull request #918 from DanAlbert/fix-android-GTEST_HAS_CLONE
Fix detection of GTEST_HAS_CLONE for Android.
2016-11-03 16:36:28 -04:00
Billy Donahue
2def6d9054 Merge pull request #728 from DanAlbert/tuple-stlport
Fix a test to compile when tuple isn't available.
2016-11-02 13:54:19 -04:00
Dan Albert
cd955dc313 Fix detection of GTEST_HAS_CLONE for Android.
This was not in Gingerbread for anything but ARM (even though the
libs were hacked to lie about it being available in gingerbread).
2016-11-01 06:37:49 -07:00
Billy Donahue
d12a26a19d Merge pull request #876 from marco-m/patch-1
mock cookbook: fix broken relative link
2016-09-21 16:22:52 -04:00
Marco Molteni
b3f7f89f40 Cookbok: fix broken relative link 2016-09-13 20:53:41 +02:00
Samuel Roth
788443fd63 Fixed broken links 2016-09-12 12:34:50 -04:00
Samuel Roth
416ec6c6a3 blob vs tree 2016-09-12 12:33:44 -04:00
Samuel Roth
b4b16c92a4 Fixing relative links 2016-09-12 12:31:50 -04:00
Samuel Roth
9c3be37cc6 Fixing KnownIssues and FrequentlyAskedQuestions links 2016-09-12 12:27:36 -04:00
Samuel Roth
682cd77fe1 Broken relative links fixed 2016-09-12 12:24:08 -04:00
Samuel Roth
12e027bd4b Fixing ForDummies link 2016-09-12 12:19:26 -04:00
Samuel Roth
d33171dba7 One works 2016-09-12 12:15:49 -04:00
Samuel Roth
5b59ec63a9 Relative links 2016-09-12 12:14:53 -04:00
Samuel Roth
4701a32c6a Fixing relative links 2016-09-12 12:14:00 -04:00
Billy Donahue
5a78639dd2 Merge pull request #856 from KindDragon/mingw-appveyor
Fix Mingw-w64 build
2016-09-07 14:48:12 -04:00
Arkadiy Shapkin
76fad07f80 Fix build with MinGW-w64 2016-09-05 00:57:49 +03:00
Billy Donahue
58ec2e3ded Merge pull request #721 from ilmagico/fix-mingw-threads
Fix compilation of googletest with MinGW using Win32 threads
2016-08-24 08:15:38 -04:00
Billy Donahue
b28bef5068 Merge pull request #821 from mazong1123/master
Fixed issue #775. Mark the ConvertibleFromAny constructor as explicit, and fix operator overload issue for Unprintable
2016-07-14 13:15:38 -04:00
mazong1123
a51867e59b Reformatted the Unprintable operator== code style. 2016-07-14 16:49:42 +08:00
mazong1123
0b7987a646 Fixed issue #775 2016-07-14 14:09:05 +08:00
Billy Donahue
8397a62185 Merge pull request #814 from google/BillyDonahue-patch-2
Add Appveyor badge to Readme.md
2016-06-28 22:27:12 -04:00
Billy Donahue
ee075efa6b Add Appveyor badge to Readme.md 2016-06-28 22:26:30 -04:00
Billy Donahue
a7e3900676 Merge pull request #723 from KindDragon/master
Run MSVC tests on AppVeyor
2016-06-28 10:47:48 -04:00
Arkadiy Shapkin
f8269a99a8 Support running MSVC build on AppVeyour 2016-06-27 11:40:27 +03:00
Billy Donahue
4e940e23a4 Merge pull request #810 from google/rollback_808
Rollback change #808.
2016-06-26 19:09:45 -04:00
Billy Donahue
34b7cd3bf6 Rollback change #808. 2016-06-26 18:33:10 -04:00
Billy Donahue
8d6a2eec1a Merge pull request #808 from djmott/master
fix to operator precedence in GTEST_TEST_BOOLEAN_ with expressions th…
2016-06-26 11:15:54 -04:00
David Mott
b45748d0ab Fix to tests that return object which implement operator bool 2016-06-25 16:21:09 -05:00
David Mott
a8a1a0e041 fix to operator precedence in GTEST_TEST_BOOLEAN_ with expressions that implement operator bool 2016-06-25 15:41:19 -05:00