488 Commits

Author SHA1 Message Date
David Benjamin
e7beafb2b1 Also define GTEST_ATTRIBUTE_PRINTF_ in clang-cl.
clang-cl is clang for Windows running in MSVC mode. Chromium uses it for
Windows builds. clang-cl is weird in that it defines __clang__ and
_MSC_VER, but *NOT* __GNUC__. This is vaguely analogous to how normal
clang defines __clang__ (what it is) and __GNUC__ (what it is compatible
with).

However, clang-cl still implements most GCC extensions, being clang.
Notably, the way to control -Wformat-literal is still with
__attribute__((__format__)). For better error-checking and strict
-Wformatl-literal compatibility (see
53c478d639b8eebd2942e88266610ebc79c541f6), define
GTEST_ATTRIBUTE_PRINTF_ in clang-cl too.
2018-01-03 14:55:52 -05:00
David Benjamin
57561c06f0 Pass the -Wmissing-declarations warning.
This makes it easier to use GTest in projects that build with the
-Wmissing-declarations warning. This fixes the warning in headers and
source files, though not GTest's own tests as it is rather noisy there.
2018-01-03 14:50:22 -05:00
Gennadiy Civil
4146dcfb8d Merge branch 'master' into fix-issue-776-support-autoconf-as-submodule 2018-01-03 14:15:14 -05:00
Gennadiy Civil
4c7697a958 Merge pull request #1374 from davidben/tuple-msvc
Fix testing::Combine on MSVC 2017.
2018-01-03 14:11:38 -05:00
Gennadiy Civil
5caedf5c38 Merge pull request #991 from davidben/uintptr
Pass MSVC's C4826 warning.
2018-01-03 14:10:29 -05:00
Gennadiy Civil
e6bcc9e722 Merge branch 'master' into tuple-msvc 2018-01-03 13:04:37 -05:00
Gennadiy Civil
7a649860fd Merge branch 'master' into fix-issue-776-support-autoconf-as-submodule 2018-01-03 12:51:09 -05:00
misterg
0ee1e9fccd OSS Sync, cl 163329677 2018-01-02 14:42:09 -05:00
David Benjamin
ce7f204275 Fix testing::Combine on MSVC 2017.
On platforms with std::tuple and not std::tr1::tuple, GTEST_HAS_COMBINE
gets turned off when it works fine (due to GTEST_TUPLE_NAMESPACE_).
Elsewhere in the project, several GTEST_HAS_TR1_TUPLE checks
additionally check GTEST_HAS_STD_TUPLE_, so use that formulation.

(The ones that don't are specific to std::tr1::tuple and are followed by
an identical GTEST_HAS_STD_TUPLE_ version underneath it.)

In particular, this fixes testing::Combine on MSVC 2017, which regressed
here:
https://github.com/google/googletest/pull/1348#issuecomment-353879010
2018-01-02 12:57:49 -05:00
Gennadiy Civil
98024c8cfd Merge branch 'master' into uintptr 2018-01-02 10:54:26 -05:00
David Benjamin
914dda29f4 Avoid warning C4619 in MSVC 2017.
C4800 has since been removed in MSVC 2017, so trying to silence it
throws warning C4619 when enabled.
2017-12-25 11:02:02 -05:00
Gennadiy Civil
bc5eddec4c Merge branch 'master' into fix-issue-776-support-autoconf-as-submodule 2017-12-22 14:47:25 -05:00
Gregory Pakosz
00c2c50f88 Re-enable MSVC++ C4389 warning in CmdHelperEq()
C4389 was inhibited in commit 4b83461 making behavior inconsistent with
other compilers.
2017-12-21 16:35:38 +01:00
bryanzim
508b23f964 Update internal_utils.cmake 2017-12-20 10:06:20 -05:00
bryanzim
52e12448a8 Merge branch 'master' into master 2017-12-20 08:21:22 -05:00
Gennadiy Civil
afcf3a5265 Merge branch 'master' into fix-issue-776-support-autoconf-as-submodule 2017-12-19 13:43:22 -05:00
Gennadiy Civil
e9c19a9abb Update gtest-param-test.h.pump 2017-12-19 10:58:37 -05:00
Gennadiy Civil
acb41a3e4a Update gtest-param-test.h.pump 2017-12-19 10:55:49 -05:00
Gennadiy Civil
9291399ef3 Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS 2017-12-18 12:02:12 -05:00
bryanzim
0e0dc8cdfb Merge branch 'master' into master 2017-12-15 16:52:50 -05:00
Gennadiy Civil
4f3a212568 Merge branch 'master' into fix-issue-776-support-autoconf-as-submodule 2017-12-15 15:49:46 -05:00
Carlos O'Ryan
414af0e8a5 Merge branch 'fix-top-level-license' of github.com:coryan/googletest into fix-top-level-license 2017-12-11 19:34:19 -05:00
Carlos O'Ryan
3c218ff29c Refactor docs about contributions to CONTRIBUTING.md.
Per the review comments.
2017-12-11 19:33:27 -05:00
Bryan Zimmerman
4136c40a6f remove implicit casts 2017-12-11 12:19:56 -05:00
bryanzim
0fb3f4c80b Merge branch 'master' into master 2017-12-11 09:37:55 -05:00
Gennadiy Civil
000582a49b Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS 2017-12-09 09:41:02 -05:00
Gennadiy Civil
7b956df687 Merge branch 'master' into use-system-includes 2017-12-08 15:11:13 -05:00
Gennadiy Civil
d70b7007c1 Merge branch 'master' into fix-issue-776-support-autoconf-as-submodule 2017-12-08 11:56:41 -05:00
bryanzim
5845063480 Merge branch 'master' into master 2017-12-08 11:31:31 -05:00
Wojciech Mamrak
8f178075b9 Remove C4996 warning in VS2017 2017-12-07 18:20:25 +01:00
Wojciech Mamrak
e858bd6b7c Improved description of VS std::tuple support 2017-12-07 18:17:43 +01:00
bryanzim
902957028b Merge branch 'master' into master 2017-12-06 11:09:00 -05:00
Carlos O'Ryan
ab6cd7a97f Run autoconf from top-level directory.
This is part (hopefully all) of the fixes for #776.  The top-level
configure.ac configures googletest first and then googlemock.
With this changes it is possible to embed googletest into another
project that uses autoconf.  For an example (though it is WIP), see
the commits (and soon PR) referenced from google/protobuf#236.
2017-12-03 14:07:35 -05:00
Gennadiy Civil
081432d865 Merge branch 'master' into master 2017-12-01 16:41:53 -05:00
Gennadiy Civil
33a58b153e Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS 2017-12-01 16:31:29 -05:00
Gennadiy Civil
aa5aee1235 Merge branch 'master' into use-system-includes 2017-12-01 16:29:28 -05:00
Sam Lunt
332bd657f9 make includes system 2017-11-27 17:31:07 -06:00
Bryan Zimmerman
f305481536 replaced back accidently removed static_cast with consistent ImplicitCast_ 2017-11-22 09:41:32 -05:00
Gennadiy Civil
04c7a28aac Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS 2017-11-07 10:32:23 -08:00
whame
d3d85627fb Fixes issue #826 by treating MinGW as "non-Windows" when determining colored output 2017-11-07 15:22:50 +01:00
bryanzim
c78cb68b2a Merge branch 'master' into master 2017-10-30 16:58:25 -04:00
Herbert Thielen
beabbc7da6 remove markdown stars (bold) from code examples 2017-10-29 17:12:00 +01:00
Bryan Zimmerman
bb417ab41e fix for VS2017 deprecation of ::tr1::tuple
change static_cast to ImplicitCast_ for consitency
fixes for building with path names containing spaces
2017-10-27 14:01:16 -04:00
m-gupta
30d58bcd31 Merge branch 'master' into gtestapifix 2017-10-25 10:24:56 -07:00
Arkadiy Shapkin
950e2805da Fix tests with VS2015 and VS2017 2017-10-25 16:04:01 +03:00
Arkadiy Shapkin
85e4858c92 Enable C++11 features for VS2015 and VS2017 2017-10-25 03:24:49 +03:00
Manoj Gupta
f4d7a04eb4 googletest: Add GTEST_API_ attribute to ThreadLocal class.
ThreadLocal class needs to be have default visibility.
Root cause is gtest uses typeinfo for the ThreadLocal class.
The problem manifests When gtest/gmock are built as a shared library
with libc++. When a class is used in typeinfo, it must have default
visibility.

There is an explanation about typeinfo and visibility here:
https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/CppRuntimeEnv/Articles/SymbolVisibility.html

When libc++ is used with gtest in shared library mode, any tests
that are compiled with -fvisibility=hidden and exercise the
macro EXPECT_CALL, it results in an abort like:
[ FATAL ] /usr/include/gtest/internal/gtest-port.h:1394::
Condition typeid(*base) == typeid(Derived) failed.
This is because the typeinfo for ThreadLocal class is not visible.
Therefore, linker failed to match it to the shared library symbol, creating a
new symbol instead.

This fixes https://github.com/google/googletest/issues/1207.
2017-10-20 14:41:06 -07:00
Gennadiy Civil
302cebfb6a Merge branch 'master' into master 2017-10-20 17:25:41 -04:00
Joe Alam
6d61583e81 Updated README with information about C runtime dynamic/static linking issues in Windows 2017-10-07 23:34:53 +01:00
Herbert Thielen
79f678b5ad Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS 2017-10-04 21:03:47 +02:00