Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Google Test fails to compile if a standard library implements LWG 2221 #1616

Closed
BillyONeal opened this issue May 29, 2018 · 10 comments
Closed

Comments

@BillyONeal
Copy link

Hi folks!

I implemented LWG 2221 in MSVC++'s STL last week and now all projects that use Google Test to test things fail to compile, due to an ambiguity, see the operator<< here: https://github.com/google/googletest/blob/master/googletest/include/gtest/gtest-printers.h#L230

D:\PDFium\pdfium\third_party\googletest\src\googletest\include\gtest/gtest-printers.h(285): error C2593: 'operator <<' is ambiguous

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.12.25827\include\ostream(501): note: could be 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<<void>(std::nullptr_t)'

D:\PDFium\pdfium\third_party\googletest\src\googletest\include\gtest/gtest-printers.h(230): note: or       'std::basic_ostream<char,std::char_traits<char>> &testing::internal2::operator <<<char,std::char_traits<char>,T>(std::basic_ostream<char,std::char_traits<char>> &,const T &)'

Looking at what Google Test is doing, it doesn't seem like this attempt at adding overloads to std::'s operator<< is portable, as it's making assumptions about how the normal operator<<s are declared, and those are members. Standard libraries have broad latitude to change member function signatures, as long as an ordinary call would have the same behavior as the original signature; see http://eel.is/c++draft/member.functions#2 -- which makes attempting to add to an overload set the standard library declares perilous. Previously, it looks like this was working because the other operator<<s in our standard library implementation are not templates, so the last overloading ambiguity resolution rule (prefer the non-template) was preferring the standard ones; but there is no requirement that the standard library not implement those member functions as templates, and our nullptr_t bit needs to be a template to avoid getting exported.

Unfortunately as far as I can tell there isn't a portable way to do what Google Test wants to do in C++98/03. What you really want to do is something like:

#include <utility>
#include <type_traits>

template<class...>
struct gtest_void_ish {
    using type = void;
};

template<class T, class = void>
struct can_be_streamed_out : ::std::false_type {};

template<class T>
struct can_be_streamed_out<T, typename gtest_void_ish<decltype(
    ::std::declval<::std::ostream&>() << ::std::declval<const T&>()
    )>::type> : ::std::true_type {};


template<typename T>
::std::ostream& gtest_print_impl(::std::ostream& os, const T& x, ::std::true_type) {
    return os << x;
}

template<typename T>
::std::ostream& gtest_print_impl(::std::ostream& os, const T& x, ::std::false_type) {
  TypeWithoutFormatter<T, (internal::IsAProtocolMessage<T>::value
                               ? kProtobuf
                               : internal::ImplicitlyConvertible<
                                     const T&, internal::BiggestInt>::value
                                     ? kConvertibleToInteger
                                     :
#if GTEST_HAS_ABSL
                                     internal::ImplicitlyConvertible<
                                         const T&, absl::string_view>::value
                                         ? kConvertibleToStringView
                                         :
#endif
                                         kOtherType)>::PrintValue(x, &os);
  return os;
}

template <typename T>
::std::ostream& gtest_print(::std::ostream& os, const T& x) {
  return gtest_print_impl(os, x, can_be_streamed_out<T>());
}

Would Google Test consider using a strategy like this, at least on C++11 supporting compilers?

gennadiycivil added a commit to gennadiycivil/googletest that referenced this issue Jun 4, 2018
Add printer for std::nullptr_t, addressing google#1616
@gennadiycivil
Copy link
Contributor

How is this? #1616

gennadiycivil added a commit that referenced this issue Jun 4, 2018
Adress, #1616, add  printer for std::nullptr_t
@gennadiycivil
Copy link
Contributor

#1620

@Stannieman
Copy link

Stannieman commented Nov 16, 2018

@BillyONeal do you know who's maintaining this package: https://www.nuget.org/packages/Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dyn/?
It's installed by default when creating a Google Test project in Visual Studio, but it's stuck on GTest 1.8.0 and thus does not include the latest fixes including this one.

There's an alternative package that's more up to date but it would be nice if the official MS package also could follow the GTest release more closely.

@BillyONeal
Copy link
Author

@Stannieman I can poke some folks. What release do they need to update to to get this fixed?

Thanks!

@Stannieman
Copy link

@BillyONeal not sure actually, 1.8.1 probably if that includes the fix for this issue but I'm not sure it does.

@Stannieman
Copy link

Stannieman commented Dec 14, 2018

@BillyONeal I had time to check this package issue again and can confirm that GTest 1.8.1 resolves the issue.

What's a bit frustrating though is that this package I linked to seems to be some quick and dirty package to get GTest support in VS working.
If you look at it:
First VS gets GTest support and that GTest packages is made to support that.
Then LWG 2221 gets implemented and it becomes apparent that GTest does non-standard C++ things.
Then GTest is fixed and gets a new 1.8.1 release with that fix.
Then the package that's automatically referenced by the official GTest project template never gets updated with this fix.
Result: The built in official GTest support of VS does not work with newer MSVC versions.

So what are we supposed to do? Will this package be maintained in the future and get updates when GTest gets new releases? Should we make our own GTest builds + package and use that instead of the default one (this is easy)?
And if the package will be maintained by MS, then will there be a guarantee that it gets proper updates?

@BillyONeal
Copy link
Author

I just pinged folks that own this again.

@Stannieman
Copy link

Thank you sir!

@tsarevichdm
Copy link

tsarevichdm commented Feb 9, 2019

@Stannieman We just copied essential part of #1620 till MS package maintainers update gtest to 1.8.1+, like this:

#include "gtest/gtest.h"

// TODO(me): Workaround for https://github.com/google/googletest/issues/1616 till
// MS GTest package maintainers update to 1.8.1+.
namespace testing::internal {
#if GTEST_LANG_CXX11
inline void PrintTo(std::nullptr_t, ::std::ostream* os) { *os << "(nullptr)"; }
#endif  // GTEST_LANG_CXX11
}  // namespace testing::internal

Quite ugly, but still works.

@Stannieman
Copy link

@tsarevichdm we went the "build own package" route.

paulyc pushed a commit to paulyc/aosp-trusty-superproject that referenced this issue Mar 4, 2019
* Update external/googletest from branch 'master'
  to 435c4e8363c5e05414c45d5dc54ef4967bf4d42d
  - Merge "Merge remote-tracking branch 'aosp/upstream-master' into googletest"
  - Merge remote-tracking branch 'aosp/upstream-master' into googletest
    
    Test: m checkbuild
    Change-Id: Iaf49f1a382139e56506cbfc3cce0d8337d3e6fee
    
  - Merge pull request #1606 from m-tmatma/feature/fix-build-error-vs2017-win10-jp
    
    #1595: fix compiler error with Visual Studio 2017 on Win10 JP.
  - Merge branch 'master' into feature/fix-build-error-vs2017-win10-jp
  - Merge pull request #1678 from stianval/master
    
    Fixing some formatting in docs/primer
  - Update primer.md
  - Update primer.md
  - Update primer.md
  - Merge branch 'master' into feature/fix-build-error-vs2017-win10-jp
  - Merge pull request #1676 from gennadiycivil/master
    
    code merge
  - 
    
    code merge
  - Merge pull request #1668 from duxiuxing/googletest_for_asam
    
    Fix warning C4819 in Visual Studio
  - Merge branch 'master' into googletest_for_asam
  - Replace "…" with "..."(three dots) to fix warning C4819 in Visual Studio
    
  - Merge pull request #1674 from gennadiycivil/master
    
    Code Sync
  - Merge branch 'master' into master
  - 
    
    code sync
  - Merge branch 'master' into googletest_for_asam
  - Merge branch 'master' into feature/fix-build-error-vs2017-win10-jp
  - Merge pull request #1669 from syohex/ignore-ds-store
    
    Ignore .DS_Store file
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Merge branch 'master' into ignore-ds-store
  - Merge pull request #1671 from gennadiycivil/master
    
    Code merge
  - 
    
    Code sync
  - 
    
    Fix link
  - 
    
    Code sync, mostly formatting and removing outdates
  - 
    
    Formatting and a link
  - Merge pull request #1667 from hckr/patch-1
    
    Fix broken links to FAQ in primer.md
  - Merge pull request #1670 from gennadiycivil/master
    
    Docs sync
  - Merge branch 'master' into feature/fix-build-error-vs2017-win10-jp
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Docs sync
    
    
  - Ignore .DS_Store file
    
  - Fix warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
    
  - Fix broken links to FAQ in primer.md
  - Merge pull request #1655 from AdrianMoranMontes/master
    
    Fix issue #1654.
  - Merge branch 'master' into master
  - Put ifdef guard after the includes.
    
    Signed-off-by: Adrian Moran <amoran@ikerlan.es>
    
  - Merge pull request #1653 from derekmauro/stacktrace
    
    Adds stacktrace support from Abseil to Google Test
  - Merge branch 'master' into stacktrace
    
  - Merge pull request #1662 from derekmauro/variant
    
    Adds the UniversalPrinter for absl::variant.
  - Adds the UniversalPrinter for absl::variant.
    
  - Avoid full test in no exceptions are enabled.
    
    Signed-off-by: Adrian Moran <amoran@ikerlan.es>
    
  - Merge branch 'master' into master
  - Merge pull request #1647 from duxiuxing/googletest_for_asam
    
    VS2005 with SP1(_MSC_VER=1400) already supports __pragma
  - Merge branch 'master' into googletest_for_asam
  - Merge pull request #1656 from gennadiycivil/master
    
    docs sync, formatting
  - 
    
    more formatting [skip ci]
  - 
    
    formatting, [ci skip]
  - Fix issue #1654.
    
    Signed-off-by: Adrian Moran <amoran@ikerlan.es>
    
  - Fix heading 
    
    [skip ci] 
  - Docs sync
    
    [ci skip]
  - Pass the --no_stacktrace_support argument to the CMake tests
    
    This does the same thing to the CMake tests that is done to the
    Bazel tests, and now makes the CMake tests pass.
    
  - Adds stacktrace support from Abseil to Google Test
    
    This change adds the ability to generate stacktraces in Google Test on
    both failures of assertions/expectations and on crashes. The
    stacktrace support is conditionally available only when using Abseil
    with Google Test.
    
    To use this support, run the test under Bazel with a command like this:
    
    bazel test --define absl=1 --test_env=GTEST_INSTALL_FAILURE_SIGNAL_HANDLER=1 //path/to/your:test
    
    The "--define absl=1" part enables stacktraces on assertion/expectation
    failures.
    
    The "--test_env=GTEST_INSTALL_FAILURE_SIGNAL_HANDLER=1" part enables
    the signal handler that logs a stacktrace in the event of a crash
    (this also requires the "--define absl=1" part). This is not the
    default since it may interfere with existing tests.
    
  - This closes #1595: fix compiler error with Visual Studio 2017 on Win10 JP.
    
    non-ASCII charactors are interpreted as Shift-JIS on the environment.
    But the charators in the files are non Shift-JIS charactors and the compiler
    stops compiling with C4819.
    
    To fix the errors, remove non-ASCII charactors.
    
  - VS2005 with SP1(_MSC_VER=1400) already supports __pragma
    
  - Merge pull request #1622 from rohanjoyce/bazel_test_filter
    
    Support bazel test filtering
  - Eliminate GTEST_TEST_FILTER_ENV_VAR_.
    
    GTEST_TEST_FILTER_ENV_VAR_ was used to specify an environment variable to obtain
    the default test filter from. By default it was unset which broke
    "--test_filter" for bazel. This CL eliminates GTEST_TEST_FILTER_ENV_VAR_ and
    explicitly obtains the default test filter from the environment variable
    TESTBRIDGE_TEST_ONLY if it exists.
    
  - Merge pull request #1633 from gennadiycivil/master
    
    ignore .md for appveyor builds
  - Merge branch 'master' into master
  - Merge pull request #1627 from atetubou/stdstring
    
    Reduce the number of strcmp calling while initialization
  - Merge branch 'master' into stdstring
  - ignore .md for appveyor builds
    
    
  - Merge pull request #1631 from gennadiycivil/master
    
    doc sync
  - Docs sync/internal
    
    
  - Merge branch 'master' of https://github.com/google/googletest
    
  - 
    
    Doc sync/internal
  - Merge branch 'master' into stdstring
  - Merge pull request #1626 from gennadiycivil/master
    
    Sync with internal docs
  - Reduce the number of strcmp calling while initialization
    
    When we do parallel test execution with a process for a test,
    initialization of gtest become performance bottleneck when the test
    binary contains many testcases.
    
    Especially, some parameterlized test in chromium browser affected by
    largely when address sanitizer is enabled.
    Address sanitizer does not allow using optimized strcmp function and
    test addition in parameterized test require lookup of test case using
    strcmp.
    
    This patch reduces the number of strcmp, it is called when registering
    parameterized test. Using reverse iterator improves the time to find
    registered tests in such case.
    
    Some tests for chromium browser using address sanitizer finished 2x
    faster with this patch.
    
  - Sync with internal docs
    
    
  - Merge pull request #1625 from gennadiycivil/master
    
    doc sync
  - Merge branch 'master' of https://github.com/google/googletest
    
  - 
    
    Sync with internal docs
  - Merge pull request #1624 from gennadiycivil/master
    
    Adjust documentation files and links.
  - 
    
    Removed "Documentation.md" not adding value and not consitent with internal docs
  - Rename Samples.md to samples.md and adjust the links
    
    
  - Rename FAQ.md to faq.md and adjust the links. 
    
    Part of documentation rationalization
  - Merge branch 'master' of https://github.com/google/googletest
    
  - 
    
    Rename AdvancedGuide.md to advanced.md and adjust the links. 
    Part of documentation rationalization work
  - Merge pull request #1623 from Steelskin/fuchsia-fdio
    
    Fuchsia: Change fdio include path.
  - Rename "Primer.md" to "primer.md" and adjust links. Part of the documentaion rationalzation
    
    
  - Fuchsia: Change fdio include path.
    
  - Merge pull request #1619 from Steelskin/fuchsia-launchpad-removal
    
    Remove launchpad dependency from Fuchsia.
  - Merge branch 'master' into fuchsia-launchpad-removal
  - Merge pull request #1620 from gennadiycivil/master
    
    Adress, #1616, add  printer for std::nullptr_t
  - Merge branch 'master' into fuchsia-launchpad-removal
  - Upstream, cl/199129756
    
    Add printer for std::nullptr_t, addressing https://github.com/google/googletest/issues/1616
  - Merge pull request #1608 from gennadiycivil/master
    
    formatting changes
  - Clean up
    
  - Remvoe launchpad dependency from Fuchsia.
    
  - 
    
    formatting changes 
  - Merge pull request #1607 from gennadiycivil/master
    
    Formatting changes
  - Formatting changes 
    
    
  - Merge pull request #1603 from Steelskin/unused-variable-fuchsia
    
    Remove unused variable in Fuchsia.
  - Merge branch 'master' into unused-variable-fuchsia
  - Merge pull request #1591 from sgraham/disabled-rtti
    
    Fix gmock not building when -fno-rtti
  - Merge branch 'master' into disabled-rtti
  - Merge pull request #1601 from jdennett/StdLibVersioning
    
    Std lib versioning
  - Downgrade to C++98.
    
    Some projects cannot handle C++11 yet.
  - Downgrade to C++98 code.
    
    Some users are not ready for C++11 yet.
  - Merge branch 'master' into StdLibVersioning
  - Remove unused variable in Fuchsia.
    
  - Merge branch 'master' into disabled-rtti
  - Merge pull request #1597 from jaeheonlee/master
    
    Fix a bug with ad_hoc_test_result() functions of UnitTest and TestCase classes
  - Add support for versioned standard libraries.
    
    This canonicalizes demangled names by omitting a nested inline namespace within namespace std if the name of the nested namespace begins with a double underscore.  This improves compatibility with libc++.
  - Update generated code.
  - Add unit test for CanonicalizeForStdLibVersioning.
  - Use NULL instead of nullptr, for pre-C++11 builds.
    
  - Fix the bug where ad_hoc_test_result() functions of UnitTest and TestCase objects would return failures registered at TestCase and UnitTest scopes, respectively.
    
  - Merge pull request #1593 from Steelskin/fuchsia_death_test
    
    Add death test support for Fuchsia.
  - Remove magic number
    
  - Style fix
    
  - Fix comments
    
  - Fix more stuff and get tests to pass
    
  - Get all the things to work.
    
  - Fix gmock not building when -fno-rtti
    
    Fixes issue #1554. This is internal cl/195020996.
    
  - Fix stuff
    
  - Add Fuchsia support for death test.
    
  - Merge pull request #1589 from sgraham/rtti-build
    
    Add no-exception and no-rtti to build matrix
  - Add no-exception and no-rtti to build matrix
    
  - Merge pull request #1588 from gennadiycivil/master
    
    mostly 193547722
  - 
    
    merged
  - 
    
    merging, 
  - Merge pull request #1582 from dnsunderland/parameterless
    
    Introduce parameterless expectations
  - Merge branch 'master' into parameterless
  - Merge pull request #1580 from gennadiycivil/master
    
    merging
  - reverting, test
    
    
  - reverting just to test 
    
    
  - 
    
    testing
  - Fix friend declaration to use GTEST_API_ decl spec.
    
  - Revert useless use of GTEST_API_ on WithoutMatchers decl.
    
  - Add GTEST_API_ tag to WithoutMatchers class. Hopefully that fixes the problem on MSVC?
    
  - Mark new GetWithoutMatchers method as part of the exported API, to address MSVC linker errors.
    
  - Merge branch 'parameterless' of https://github.com/dnsunderland/googletest into parameterless
    
  - Don't use generalized initializer list; is C++11 extension.
    
  - Merge branch 'master' into parameterless
  - Clone of unsubmitted cr/176529515. Introduce parameterless expectations.
    
  - 
    
    more typos
  - msvc
    
    
  - more typos
    
    
  - 
    
    typo
  - 
    
    move only types docs
  - 
    
    typo
  - 
    
    typo
  - 
    
    http://cl/193386206
  - Merge branch 'master' of github.com:google/googletest
    
  - 
    
    merge, explicit, ( should be it)
  - Merge pull request #1579 from gennadiycivil/master
    
    193353312
  - Merge branch 'master' of github.com:google/googletest
    
  - 193353312
    
    
  - Merge pull request #1577 from gennadiycivil/master
    
    merging gmock generated matchers
  - cl/193060888
    
    
  - 
    
    http://cl/193060888
  - 
    
    http://cl/193060888
  - 
    
    test-meerging
  - typo
    
    
  - 
    
    more msvc
  - 
    
    typo
  - 
    
    msvc warnings
  - merging gmock generated matchers
    
    
  - Merge pull request #1576 from gennadiycivil/master
    
    merging
  - 
    
    merging, testing, this should be it
  - merging
    
    
  - merging
    
    
  - Merge pull request #1571 from gennadiycivil/master
    
     merging, gmock actions test
  - 
    
    more pizza
  - 
    
    more OSX pizzas
  - 
    
    osx pizzas
  - 
    
    merging gmock actions test 
  - 
    
    merging, gmock actions test 
  - Merge pull request #1569 from gennadiycivil/master
    
    merging
  - Merge branch 'master' of https://github.com/google/googletest
    
  - 
    
    merging
  - Merge pull request #1568 from gennadiycivil/master
    
    merging
  - 
    
    more fixing osx libstd++ bugs
  - 
    
    fixing 
  - 
    
    merging, fix OSX issue
  - 
    
    merging
  - Merge pull request #1567 from gennadiycivil/master
    
    merging
  - 
    
    merging 
  - Merge pull request #1566 from gennadiycivil/master
    
    merging
  - 
    
    merging 
  - Merge pull request #1562 from gennadiycivil/master
    
     small cleanup
  - 
    
    msvc
  - 
    
    revert this one
  - 
    
    merge, ... gmock-matchers test
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Merge pull request #1557 from pwnall/gmock-fix-ub
    
    Remove multiple inheritance from "unintesting call" mock classes.
  - Merge branch 'master' of https://github.com/google/googletest
    
  - small cleanup
    
    
  - Remove multiple inheritance from "unintesting call" mock classes.
    
    Internal CL 156157936, which was published in commit
    fe402c27790ff1cc9a7e17c5d0aea4ebe7fd8a71, introduced undefined behavior
    by casting a base class (internal::{Naggy,Nice,Strict}Base<MockClass>,
    using the curiously recurring template pattern) pointer to a derived
    class ({Naggy,Nice,Strict}Mock<MockClass>), in the base class'
    constructor. At that point, the object isn't guaranteed to have taken on
    the shape of the derived class, and casting is undefined behavior.
    
    The undefined behavior was caught by Chrome's CFI build bot [1], and
    prevents rolling googletest past that commit / CL.
    
    This commit simplifies the {Naggy,Nice,Strict}Mock class hierarchy in
    a way that removes the undefined behavior.
    
    [1] https://www.chromium.org/developers/testing/control-flow-integrity
    
  - Merge pull request #1561 from gennadiycivil/master
    
    Merging gmock-actions
  - 
    
    ...merging
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Merge pull request #1560 from gennadiycivil/master
    
    Upstream cl/192179348
  - merging
    
    
  - Merge branch 'master' of https://github.com/google/googletest
    
  - 
    
    Upstream cl/192179348
  - Merge pull request #1559 from gennadiycivil/master
    
    Upstream cl 191754725
  - Merge branch 'master' of https://github.com/google/googletest
    
  - merging
    
    
  - Merge pull request #1558 from gennadiycivil/master
    
    RE-Doing the merge, this time with gcc on mac in the PR 
  - ..and this should be it
    
    
  - more
    
    
  - 
    
    pizza work, cont
  - 
    
    osx pizzas, cont
  - 
    
    fixing osx pizza
  - merging
    
  - 
    
    merging
  - merging
    
    
  - 
    
    merge
  - 
    
    RE-Doing the merge, this time with gcc on mac in the PR so I can catch errors before merging the PR
  - Include gcc on mac into PR matrix
    
    There was an error that slipped through and only showed up on PR merge (https://travis-ci.org/google/googletest/jobs/364304396/config ) , we dont want that again
  - Merge pull request #1556 from google/revert-1551-master
    
    Revert "gmock actions 2"
  - Revert "gmock actions 2"
    
  - Merge pull request #1551 from gennadiycivil/master
    
    gmock actions 2
  - ... and this
    
    
  - 
    
    this should be it
  - 
    
    yet more
  - 
    
    formatting
  - 
    
    tuning
  - 
    
    tuning
  - 
    
    more
  - 
    
    cont
  - msvc
    
    
  - more msvc
    
    
  - msvc 14
    
    
  - 
    
    testing msvc again
  - 
    
    More msvc 14 
  - 
    
    And also silence for MSVS14
  - 
    
    preproc syntax ( I can never remember it)
  - 
    
    syntax
  - 
    
    cont.
  - 
    
    continued
  - Merge branch 'master' of github.com:google/googletest
    
  - Merge pull request #1552 from pwnall/mock-pump
    
    Sync gmock-generated-nice-strict.h.pump with gmock-generated-nice-strict.h
  - Sync gmock-generated-nice-strict.h.pump with gmock-generated-nice-strict.h.
    
    Commit fe402c27790ff1cc9a7e17c5d0aea4ebe7fd8a71 published the changes in
    internal CL 156157936, but missed the diff in
    gmock-generated-nice-strict.h.pump. This makes it difficult to reason
    about the change, because the .pump file is more concise than the
    generated file.
    
    This PR was tested by re-generating the .h file using the command below
    and checking the git diff.
    
    ./googletest/scripts/pump.py \
        googlemock/include/gmock/gmock-generated-nice-strict.h.pump
    
  - 
    
    more mcvs fixing
  - linkage, fixing MSVC
    
    
  - fixing MSVC
    
    
  - more warnings
    
    
  - 
    
    more warnings
  - 
    
    more MSVC warnings
  - 
    
    warnings
  - 
    
    cont - 2
  - cont
    
    
  - 
    
    more warnings
  - 
    
    deal with MSVC warn, cont 1
  - 
    
    Cont. deal with MCVS warnings
  - Deal with MCVS warnings
    
    
  - Merge branch 'master' of github.com:google/googletest
    
  - merging gmock-actions 2
    
    
  - Merge pull request #1549 from gennadiycivil/master
    
    Merging gMock, 2
  - Merge branch 'master' of github.com:google/googletest
    
  - Merging gMock, 2
    
    
  - Merge pull request #1547 from gennadiycivil/master
    
    Matchers testing
  - 
    
    formatting
  - And more MCVS warnings
    
  - fixing MCVS warn
    
  - Have to wait for this one
    
  - Have to wait for this one
    
  - 
    
    Merging matchers test
  - Merge branch 'master' of github.com:google/googletest
    
  - Merging matchers test
    
    
  - Merge pull request #1545 from gennadiycivil/master
    
     merging gmock matchers 1
  - Merge branch 'master' into master
  - bad cut/paste
    
    
  - 
    
    More on MSVC warning C4503, decorated name length exceeded
  - More on MSVC warning C4503, decorated name length exceeded
    
    
  - Address MSVC warning C4503, decorated name length exceeded, name was truncated
    
    
  - 
    
    Fixing build break on MSVC
  - Merge pull request #1543 from fo40225/fix_locale_win
    
    fix build break on locale windows
  - Merge branch 'master' of github.com:google/googletest
    
  - 
    
    merging gmock matchers 1
  - Merge branch 'master' into fix_locale_win
  - Merge pull request #1542 from gennadiycivil/master
    
    Tweaking #1523 to exclude nacl, cl 191591810
  - fix build break on locale windows
    
  - Tweaking https://github.com/google/googletest/pull/1523 to exclude nacl
    
  - Merge pull request #1523 from leissa/int3
    
    provide alternative for DebugBreak()
  - Merge branch 'master' into int3
  - Merge pull request #1541 from gennadiycivil/master
    
    Upstream, 191344765
  - Merge branch 'master' into int3
  - Merge branch 'master' of github.com:google/googletest
    
  - 
    
    Upstreaming, cl 191344765
  - Merge pull request #1539 from gennadiycivil/master
    
    merging port, continue
  - Merge branch 'master' into int3
  - merging port, cont. 191443078
    
    
  - Merge branch 'master' of github.com:google/googletest
    
  - 
    
    merging, cont - 2
  - Merge pull request #1538 from gennadiycivil/master
    
    merging , cont
  - Merge branch 'master' of github.com:google/googletest
    
  - merging gtest-port.h , 191439094
    
    
  - Merge pull request #1537 from gennadiycivil/master
    
    gtest-port.h merge
  - 
    
    merging, just comments format
  - 
    
    testing, merge
  - Merge branch 'master' of github.com:google/googletest
    
  - Testing, gtest-port.h merge
    
    
  - Merge pull request #1534 from gennadiycivil/master
    
    merging gtest-port.h, again - 1
  - merging gtest-port.h, again - 1
    
  - Merge branch 'master' into int3
  - Include OSX builds back into PR builds
    
    Had an instance where the breakage was not detected until the actual merge. Need to be better than that
  - Merge pull request #1527 from google/revert-1518-master
    
    Revert "merging gtest-port 1 of N"
  - Revert "merging gtest-port 1 of N"
    
  - Merge pull request #1526 from google/revert-1525-master
    
    Revert "merging gtest-port, 2"
  - Revert "merging gtest-port, 2"
    
  - Merge remote-tracking branch 'google/master' into int3
    
  - typo
    
  - Merge pull request #1525 from gennadiycivil/master
    
    merging gtest-port, 2
  - merging gtest-port, 2
    
  - provide alternative for DebugBreak()
    
    This uses asm("int3") for clang/gcc on x86 as alternative for DebugBreak()
    
  - Merge pull request #1518 from gennadiycivil/master
    
    merging gtest-port 1 of N
  - merging gtest-port 1 of N
    
  - Merge pull request #1515 from gennadiycivil/master
    
    merges
  - merges 1
    
  - Merge branch 'master' of https://github.com/google/googletest
    
  - merges, gtest
    
    
  - Merge pull request #1512 from gennadiycivil/master
    
    merges, gmock - 1
  - merging gmock-matchers.h 3
    
  - merging gmock-matchers.h 2
    
  - Upstreaming FloatingEq2Matcher,
    
  - Merging gmock-matchers.h -2 
    
    
  - 
    
    gmock-matchers merging -2 
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Merge pull request #1510 from gennadiycivil/master
    
    More merges, restruct some
  - merging, gmock -1
    
  - Merge branch 'master' into master
  - reverting gtest_list_tests_unittest.py
    
  - Update appveyor.yml
  - more merges
    
  - more merges
    
  - More merges
    
  - Merge pull request #1508 from gennadiycivil/master
    
    merge, again, IsRecursiveContainer
  - cl 189032107, again
    
  - cl 189032107
    
  - merge, again, IsRecursiveContainer
    
  - Merge pull request #1504 from gennadiycivil/master
    
    Merges
  - erging, cont
    
  - merging, merging
    
  - fixing, was removing too much
    
  - Merge branch 'master' of https://github.com/google/googletest
    
  - More merges, removing old dead code
    
  - Merge pull request #1503 from sheepmaster/upstream_188748737
    
    Allow macros inside of parametrized test names.
  - Merge branch 'master' into upstream_188748737
  - Allow macros inside of parametrized test names.
    
    This allows doing things like TEST_P(TestFixture, MAYBE(TestName))
    for nicer conditional test disabling.
    
    Upstream of cr/188748737.
    
    Tested:
    Added unit tests MacroNamingTest and MacroNamingTestNonParametrized.
    
  - Merge pull request #1502 from gennadiycivil/master
    
    merges-port(1)
  - 
    
    merges-port(1)
  - Merge pull request #1497 from gennadiycivil/master
    
    Merging, XML tests
  - Merging, XML tests
    
  - Merge pull request #1493 from gennadiycivil/master
    
    merges-8
  - merges-8
    
  - Merge pull request #1492 from gennadiycivil/master
    
    merges-7
  - merges-7
    
  - Merge pull request #1491 from gennadiycivil/master
    
    merges-6
  - 
    
    merges-6
  - Merge pull request #1490 from gennadiycivil/master
    
    merges-4
  - Merge branch 'master' of https://github.com/google/googletest
    
  - merges-3
    
    
  - Merge pull request #1489 from gennadiycivil/master
    
    Merges-2
  - Merge branch 'master' of https://github.com/google/googletest
    
  - 
    
    merges-2
  - Merge pull request #1488 from gennadiycivil/master
    
    Merges
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Merges-1
    
    
  - Merge pull request #1477 from sgraham/unsigned-wchar
    
    Try to handle unsigned wchar_t (arm) a bit better
  - Merge branch 'master' into unsigned-wchar
  - Merge pull request #1486 from petrhosek/json-stacktrace
    
    Use a full message in the JSON output for failures
  - Use a full message in the JSON output for failures
    
    The full message unlike summary also includes stack trace.
    
  - Merge branch 'master' into unsigned-wchar
  - Merge pull request #1485 from coryan/parallelize-appveyor
    
    Add options to parallelize builds.
  - Merge pull request #1479 from petrhosek/json
    
    Support JSON output format in addition to XML
  - Merge branch 'master' into json
  - Add options to parallelize builds.
    
    AppVeyor build servers have two cores, so why not use them?
    
  - Merge pull request #1481 from dneto0/debug-postfix
    
    Use DEBUG_POSTFIX instead of CMAKE_DEBUG_POSTFIX
  - Merge branch 'master' into debug-postfix
  - Support JSON output format in addition to XML
    
    This change allows emitting output in JSON format in addition to the
    already supported XML format. The implementation as well as the file
    structure is intentionally modelled after the XML one.
    
  - Merge pull request #1482 from zhangxy988/variant_matcher
    
    Add matcher for std::variant.
  - Merge branch 'variant_matcher' of https://github.com/zhangxy988/googletest into variant_matcher
    
  - Merge branch 'master' into variant_matcher
  - Merge branch 'variant_matcher' of https://github.com/zhangxy988/googletest into variant_matcher
    
  - Add documentation for VariantWith.
    
  - Merge pull request #1483 from gennadiycivil/master
    
    gmock merging -2
  - Merge branch 'master' into master
  - Merge pull request #1423 from pcc/win-libcxx2
    
    Use _CPPUNWIND instead of _HAS_EXCEPTIONS with MSVC.
  - gmock merging -2
    
  - Merge branch 'master' into unsigned-wchar
  - Merge branch 'master' into debug-postfix
  - Merge branch 'master' into variant_matcher
  - Merge pull request #1464 from pwnall/death-style
    
    Add preprocessor macro for default death test style.
  - Add matcher for std::variant.
    
  - Switch default death test style back to "fast".
    
    Google Test has recently (02/09/2018) switched the default death test
    style from "fast" to "threadsafe" in
    https://github.com/google/googletest/commit/ec7faa943d7817c81ce7bdf71a21ebc9244dc8de
    
    Threadsafe death tests have been used internally for a while, and are
    proven to be a better default.
    
    However, adopting this better default can be challenging for large
    projects with a significant investment in custom infrastructure built on
    top of Google Test. The same custom infrastructure can make it difficult
    for large projects to switch back to the old default by passing in
    --gtest_death_test_style=fast.
    
    For the reasons above, the default switch is considered too disruptive,
    and this CL reverts it. This CL also introduces the
    GTEST_DEFAULT_DEATH_TEST_STYLE preprocesor macro, which replaces the
    hard-coded default. The macro can be defined in
    gtest/internal/custom/gtest-port.h by projects that are ready to migrate
    to thread-safe death tests.
    
  - Merge branch 'master' into win-libcxx2
  - Use DEBUG_POSTFIX instead of CMAKE_DEBUG_POSTFIX
    
    CMAKE_DEBUG_POSTFIX is a global configuration parameter, and
    changing it pollutes the configuration space for other projects
    that enclose this project.
    
    DEBUG_POSTFIX is better to use since it is a target-specific poperty.
    
    Fixes #1334
    Fixes #1268
    
  - Merge branch 'master' into unsigned-wchar
  - Merge pull request #1472 from AndersSundmanTobii/master
    
    Removed trailing comma in enum
  - Merge branch 'master' into master
  - Merge pull request #1475 from gennadiycivil/master
    
    merge check - 3
  - merging unittests - 5
    
  - Try to handle unsigned wchar_t (arm) a bit better
    
  - merging unitests - check 4
    
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Merge pull request #1474 from gennadiycivil/master
    
    merging unittests - 2
  - merging unitests, check
    
  - 
    
    merging unittests - 2
  - Merge pull request #1473 from gennadiycivil/master
    
    merging unitests
  - 
    
    merging unitests
  - Merge pull request #1471 from aleksejkozin/patch-1
    
    TEST() arguments are invalid in an example
  - Removed trailing comma in enum
    
  - Merge branch 'master' into patch-1
  - Merge pull request #1466 from pwnall/fix-death-warn
    
    Fix unused function warning on Mac OS.
  - TEST() arguments are invalid in an example
    
    Both names must be valid C++ identifiers, and they should not contain underscore (`_`)
  - Merge branch 'master' into fix-death-warn
  - Merge pull request #1469 from gennadiycivil/master
    
    merges
  - merges
    
  - Fix unused function warning on Mac OS.
    
    As of recently, Google Test fails to compile with the warning below when
    used in projects with strict warning settings.
    
    googletest/src/gtest-death-test.cc:1004:13: error: unused function 'StackGrowsDown' [-Werror,-Wunused-function]
    
  - Merge pull request #1450 from pwnall/fix-printers
    
    Fix std::iscntrl use in gtest-printers.cc
  - Merge branch 'master' into fix-printers
  - Suppress clang 7.0 unused-private-field warnings. am: 23f59843db am: 487902d366
    am: 2f6c6beadb
    
    Change-Id: I1dcbeae0c78371dda2de2bdbe283d8abf3a5cce1
    
  - Suppress clang 7.0 unused-private-field warnings. am: 23f59843db
    am: 487902d366
    
    Change-Id: I1b9fe8274a23859cb20c206f355210ad9894dde2
    
  - Suppress clang 7.0 unused-private-field warnings.
    am: 23f59843db
    
    Change-Id: I229b95cc30fe93b29e30bb9b1fe137e673113405
    
  - Merge pull request #1459 from gennadiycivil/master
    
    cleanup, merges
  - Merge branch 'master' of https://github.com/google/googletest
    
  - cleanup, merges
    
  - Merge pull request #1458 from gennadiycivil/master
    
    cleanup, merges
  - Merge branch 'master' into fix-printers
  - Merge branch 'master' of https://github.com/google/googletest
    
  - cleanup/merges
    
  - Merge pull request #1457 from gennadiycivil/master
    
    merging, cleaning up
  - merging, cleaning up
    
  - Merge pull request #1456 from gennadiycivil/master
    
    merges
  - Merge branch 'master' of https://github.com/google/googletest
    
  - merges
    
  - Merge pull request #1454 from gennadiycivil/master
    
    merges
  - cxxx11
    
  - clang warnings
    
  - clang warnings
    
  - https://travis-ci.org/google/googletest/jobs/340995238
    
  - clang warning 'https://travis-ci.org/google/googletest/jobs/340987201'
    
  - clang warning https://travis-ci.org/google/googletest/jobs/340978022
    
  - merges
    
  - Merge pull request #1452 from gennadiycivil/master
    
     moving JoinAsTuple to internal
  - Merge branch 'master' of https://github.com/google/googletest
    
  - moving JoinAsTuple to internal
    
  - Fix std::iscntrl use in gtest-printers.cc
    
    ContainsUnprintableControlCodes() in gtest-printers.cc passes a char
    argument to std::iscntrl. Although its argument is an int, std::iscntrl
    produces undefined behavior if its argument is not representable as an
    unsigned char. The standard library on Windows asserts that the argument
    is an unsigned char, resulting in an assertion crash on debug builds.
    
  - Merge pull request #1451 from gennadiycivil/master
    
    merges
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Merging, coniniue
    
  - Merge pull request #1449 from gennadiycivil/master
    
    merges
  - merging
    
  - 
    
    merges
  - Merge pull request #1439 from DarthGandalf/assert
    
    Add ability to throw from ASSERT
  - Merge branch 'master' into assert
  - Merge pull request #1446 from tholsapp/master
    
    Fixed typos
  - Merge pull request #1448 from gennadiycivil/master
    
    merges
  - merges
    
    
  - Fixed typos
    
  - Add ability to throw from ASSERT
    
    while not losing benefits of EXPECT, and not killing the whole test,
    as with --gtest_throw_on_failure.
    
    183822976
    
  - Include MSVC14 on PRs as well
  - Merge pull request #1435 from gennadiycivil/master
    
    Code merges
  - Merges and also adding new bazel build mode
    
  - Code merges
    
  - Merge pull request #1434 from gennadiycivil/master
    
    Ability to optionally depend on Abseil plus upstream of 183716547
  - Ability to optionally depend on Abseil plus upstream of 183716547
    
  - Merge pull request #1430 from gennadiycivil/master
    
    Adding tests to googlemock bazel
  - Adding tests to googlemock bazel
    
  - Merge pull request #1429 from gennadiycivil/master
    
    Code merges
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Code merges
    
  - Merge pull request #1428 from lidaobing/patch-2
    
    Update Documentation.md
  - Merge pull request #1426 from stefanosoffia/fix_test_build_gcc7_2_0
    
    Fix test build issue with GCC7.2 (with -Wno-error=)
  - Update Documentation.md
  - Fix test build issue with GCC7.2.
    
  - Use _CPPUNWIND instead of _HAS_EXCEPTIONS with MSVC.
    
    _HAS_EXCEPTIONS is specific to the MSVC STL and defining it to 0 causes
    problems with libc++, so libc++ users may leave it undefined. This can
    cause GTEST_HAS_EXCEPTIONS to be defined incorrectly if the user has
    disabled exceptions via the compiler, which can lead to build errors.
    
    _CPPUNWIND is a builtin macro provided by the compiler so it should
    work with both STLs.
    
  - Pass -EHs-c- to disable exceptions with MSVC.
    
  - Update README.md
  - Remove Visual Studio 10,11,12 from build matrix
  - Merge pull request #1421 from gennadiycivil/master
    
     upstream cl 182543808
  - placating gcc and its overzeauls size comparison warnings
    
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Merge pull request #1418 from gennadiycivil/master
    
    Many code merge/upstream changes
  - upstream cl 182543808
    
  - Merge branch 'master' of https://github.com/google/googletest
    
  - revert, lets get this compiled
    
  - Merge pull request #1410 from pcc/win-libcxx
    
    Check whether _MSC_VER is defined when detecting presence of cxxabi.h…
  - 
    
    Many code merge/upstream changes
  - Merge branch 'master' into win-libcxx
  - Merge pull request #1417 from gennadiycivil/master
    
     merges, cl/155419551 and others
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Merging, upstream http://cl/182836545
    
    
  - 
    
    more code merge
  - merges, cl/155419551 and other
    
    
  - Merge pull request #1415 from gennadiycivil/master
    
    code merge
  - more merging
    
  - merging
    
  - 
    
    code merge
  - Merge pull request #1401 from eidosmontreal/support_xboxone
    
    Added support for WINAPI_PARTITION_TV_TITLE to support XboxOne applications
  - Merge branch 'master' into support_xboxone
  - Merge branch 'master' into win-libcxx
  - Merge pull request #1412 from gennadiycivil/master
    
    Adding python tests to Bazel build file.
  - 
    
    Adding python tests to Bazel build file. 
  - Merge pull request #1407 from ted-xp/master
    
    Expose ScopedTrace utility in public interface
  - Use fully qualified  in examples
    
  - Document ScopedTrace utility
    
  - Check whether _MSC_VER is defined when detecting presence of cxxabi.h under libc++.
    
    If _MSC_VER is defined, it means that we are using the Microsoft
    ABI, so cxxabi.h (which is associated with the Itanium ABI) will not
    be available.
    
  - Expose ScopedTrace utility in public interface
    
  - Merge pull request #1402 from gennadiycivil/master
    
    Code merging
  - Reverting some changes, need to make the merge compile
    
  - Reverting some changes, need to make the merge compile
    
  - Reverting some changes, need to make the merge compile
    
  - Reverting some changes, need to make the merge compile
    
  - Test files for corresponding changes
    
  - Test files for corresponding changes
    
  - Test files for corresponding changes
    
  - Test files for corresponding changes
    
  - Merge branch 'master' of github.com:gennadiycivil/googletest
    
  - More code merges
    
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Merge branch 'master' into master
  - Code merging
    
  - Merge pull request #1339 from Romain-Geissler/fix-core-dump-shared
    
    Fix double free when building Gtest/GMock in shared libraries and lin…
  - Merge branch 'master' into fix-core-dump-shared
  - Merge pull request #1400 from gennadiycivil/master
    
    Upstream/merge
  - Merge branch 'support_xboxone' of https://github.com/eidosmontreal/googletest into support_xboxone
    
  - Added support for WINAPI_PARTITION_TV_TITLE which is defined on XboxOne
    
  - Merge branch 'support_xboxone' of https://github.com/eidosmontreal/googletest into support_xboxone
    
  - Added support for WINAPI_PARTITION_TV_TITLE which is defined on XboxOne
    
  - continue upstream/merge, etc
    
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Update .travis.yml
    
    Trying to get around mongoDB expired keys, etc
  - Update .travis.yml
  - Update .travis.yml
  - Update .travis.yml
  - Trying to fix travis
    
  - Merge pull request #1399 from gennadiycivil/master
    
    Merging, Upstream cl 103120214
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Upstream cl 103120214
    
    
  - Merge pull request #1398 from gennadiycivil/master
    
    more cleanup
  - More merge, cleanup
    
  - Merge branch 'master' of https://github.com/google/googletest
    
  - More merge, cleanup
    
  - Merge pull request #1397 from gennadiycivil/master
    
    Code Merge, upsteam of accumulated changes, cleanup
  - Merge branch 'master' of https://github.com/google/googletest
    
  - 
    
    Code merge, upstreaming accumulated changes, cleanup
  - Merge pull request #1396 from gennadiycivil/master
    
    small cleanup/,merge
  - revert
    
  - 
    
    code merges, cleanup
  - Merge pull request #1395 from gennadiycivil/master
    
    code merge, cleanups
  - 
    
    revert googletest/test/gtest-param-test_test.cc
  - Merge branch 'master' of github.com:gennadiycivil/googletest
    
  - Merge branch 'master' of https://github.com/google/googletest
    
  - Merge branch 'master' into master
  - Update .travis.yml
  - Merge branch 'master' of https://github.com/google/googletest
    
  - 
    
    code merge, cleanups
  - Merge pull request #1394 from gennadiycivil/master
    
    wip, cleanups/merge
  - Upstream of cl 129104714
    
  - Revert one file
    
  - Merge branch 'master' into support_xboxone
    
  - 
    
    wip, cleanups/merge
  - Merge pull request #1393 from gennadiycivil/master
    
    cleanup, merge
  - Merge branch 'master' into master
  - 
    
    cleanup, merge
  - Merge branch 'master' into fix-core-dump-shared
  - Merge pull request #1388 from rongjiecomputer/bazel
    
    [Bazel] Detect Windows with cpu value x64_windows and x64_windows_msvc
  - [Bazel] Detect Windows with cpu value x64_windows and x64_windows_msvc
    
    and x64_windows_msvc
    
  - Merge pull request #1390 from gennadiycivil/master
    
    Small cleanups, merge
  - Small cleanups, merge
    
  - Remove stlport variants of gtest. am: 220810a546 am: 6faf4a7190
    am: d3fbe42643
    
    Change-Id: I678d3f6f27c3ab9230ad3060dfde5c3938eb4cf8
    
  - Move the gmock unit tests to libc++. am: fe11825fc5 am: 559c980506
    am: 429feb5faf
    
    Change-Id: Iaaf595939f357d62f04a05ac0cfb790156d16f31
    
  - Remove stlport variants of gtest. am: 220810a546
    am: 6faf4a7190
    
    Change-Id: I8624d331a5fe27cfa70cec3458002aed7b29f4c3
    
  - Move the gmock unit tests to libc++. am: fe11825fc5
    am: 559c980506
    
    Change-Id: Ibc9a279e5c2ad824978e6bbb35e5ef9c80386c8d
    
  - Merge pull request #1387 from coryan/optimize-build-matrix-ready
    
    Optimize build matrix on pull requests
  - Remove stlport variants of gtest.
    am: 220810a546
    
    Change-Id: I915ceb8f148b873f31ae4153acc833a595ebec54
    
  - Move the gmock unit tests to libc++.
    am: fe11825fc5
    
    Change-Id: I73ba01c928a8b6ea5f0f6b5ce114aa6bb37884fb
    
  - Merge pull request #1385 from gennadiycivil/master
    
    code cleanup in preparation for merges, cl 180857299
  - Merge branch 'master' into master
  - Use correct name for build event types.
    
  - Revert one file for now
    
  - Fixed test for pull request.
    
  - Merge pull request #1007 from davidben/missing-declarations
    
    Pass the -Wmissing-declarations warning.
  - Fixed output and test for 'enabled_on_pr'
    
  - Merge branch 'master' into missing-declarations
  - Merge pull request #1377 from davidben/clang-cl
    
    Also define GTEST_ATTRIBUTE_PRINTF_ in clang-cl.
  - code cleanup in preparation for merges, cl 180857299
    
  - Optimize build matrix (#1)
    
    Disable expensive builds on pull requests.
    
    
  - Merge pull request #1378 from gennadiycivil/master
    
    upstreaming cl 124976692
  - Merge branch 'master' into master
  - Remove gnustl gtest variant. am: ed9711f60f am: f0145fade2
    am: a3d0382ebd
    
    Change-Id: I5283b44857013b4cf3e9e126e2c96723ca37de8c
    
  - Move NDK gmock to libc++. am: 4b548699c6 am: 28c8815acd
    am: ecc2615ba6
    
    Change-Id: Ic814a90d42c74e708fe98934928280788a1d516f
    
  - Remove gnustl gtest variant. am: ed9711f60f
    am: f0145fade2
    
    Change-Id: Ib9c54519a0b41e0ae3020670a8ba01bb96be230b
    
  - Move NDK gmock to libc++. am: 4b548699c6
    am: 28c8815acd
    
    Change-Id: Ic5e498cb5f03a61ce5aa68d9ae7fa04bd225729d
    
  - Remove gnustl gtest variant.
    am: ed9711f60f
    
    Change-Id: Iafbedd5528b971e04ab1213f639729fc49291309
    
  - Move NDK gmock to libc++.
    am: 4b548699c6
    
    Change-Id: Ia5619dcbdbd504df7eda945b86736f2f0112386a
    
  - Merge pull request #1341 from coryan/fix-issue-776-support-autoconf-as-submodule
    
    Run autoconf from top-level directory.
  - upstreaming cl 124976692
    
  - 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.
    
  - 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.
    
  - Merge branch 'master' into fix-issue-776-support-autoconf-as-submodule
  - Merge pull request #1374 from davidben/tuple-msvc
    
    Fix testing::Combine on MSVC 2017.
  - Merge pull request #991 from davidben/uintptr
    
    Pass MSVC's C4826 warning.
  - Merge branch 'master' into tuple-msvc
  - Merge branch 'master' into fix-issue-776-support-autoconf-as-submodule
  - Merge pull request #1376 from gennadiycivil/master
    
    OSS Sync, cl 163329677
  - OSS Sync, cl 163329677
    
  - 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
    
  - Merge branch 'master' into uintptr
  - Merge pull request #1109 from davidben/vs2017
    
    Avoid warning C4619 in MSVC 2017.
  - Avoid warning C4619 in MSVC 2017.
    
    C4800 has since been removed in MSVC 2017, so trying to silence it
    throws warning C4619 when enabled.
    
  - Build both googletest and googlemock.
    
  - Create a autotools-based build for Travis.
    
    When this build works, we know the autoconf support is working.
    
  - Merge branch 'master' into fix-issue-776-support-autoconf-as-submodule
  - Merge pull request #778 from gpakosz/C4389
    
    Re-enable MSVC++ C4389 warning in CmdHelperEq()
  - Re-enable MSVC++ C4389 warning in CmdHelperEq()
    
    C4389 was inhibited in commit 4b83461 making behavior inconsistent with
    other compilers.
    
  - Merge pull request #1357 from bryanzim/master
    
    CMake fixes for paths with spaces
  - Update internal_utils.cmake
  - Merge branch 'master' into master
  - Merge branch 'master' into fix-issue-776-support-autoconf-as-submodule
  - Merge pull request #1248 from aninf-wo/hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS
    
    remove GTEST_HAS_PARAM_TESTS
  - Merge pull request #1212 from qzmfranklin/bazel
    
    Also build when included in source.
  - Update gtest-param-test.h.pump
  - Update gtest-param-test.h.pump
  - Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS
  - Merge branch 'master' into bazel
  - Merge branch 'master' into master
  - Merge branch 'master' into fix-issue-776-support-autoconf-as-submodule
  - Merge pull request #1354 from coryan/fix-top-level-license
    
    Add top-level LICENSE and CONTRIBUTING.md files [skip ci]
  - Merge remote-tracking branch 'aosp/upstream-master' into mymerge am: a713a12c9d am: 159f045e15
    am: d39419764f
    
    Change-Id: I40dcaf159e0346c5463eb10bca5f7445ac612070
    
  - Merge remote-tracking branch 'aosp/upstream-master' into mymerge am: a713a12c9d
    am: 159f045e15
    
    Change-Id: I7e2ef9c0e98a0453377b677c83c12709b6c8f301
    
  - Merge remote-tracking branch 'aosp/upstream-master' into mymerge
    am: a713a12c9d
    
    Change-Id: Ifd98c2c7df2be69f900daca51b995fac510dc660
    
  - Enable more tests now that the NDK can handle them. am: 906ba0a004 am: 5c682bd23d
    am: 885e694ec4
    
    Change-Id: Idf4d91e4190a8abc9c9d524d536c32adecf4a2aa
    
  - Enable more tests now that the NDK can handle them. am: 906ba0a004
    am: 5c682bd23d
    
    Change-Id: Id12736ac04c3011b7d86f30913424066dd0c557f
    
  - Enable more tests now that the NDK can handle them.
    am: 906ba0a004
    
    Change-Id: I3d2f63fca60cefb3dafd38d5b8031f56f971e02a
    
  - Merge branch 'fix-top-level-license' of github.com:coryan/googletest into fix-top-level-license
    
  - Refactor docs about contributions to CONTRIBUTING.md.
    
    Per the review comments.
    
  - Merge branch 'master' into master
  - Merge branch 'master' into fix-top-level-license
  - remove extra line
    
  - remove implicit casts
    
  - Merge branch 'master' into master
  - Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS
  - Also add documentation around becoming a contributor.
    
  - Wrong LICENSE file, sorry.  Corrected. [skip ci]
    
  - Add Apache-2.0 LICENSE file.
    
  - Merge branch 'master' into master
  - Merge branch 'master' into fix-issue-776-support-autoconf-as-submodule
  - Merge branch 'master' into master
  - Merge branch 'master' into fix-core-dump-shared
  - Merge branch 'master' into master
  - 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.
    
  - Fix double free when building Gtest/GMock in shared libraries and linking a test executable with both.
    
  - Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS
  - replaced back accidently removed static_cast with consistent ImplicitCast_
    
  - Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS
  - Merge branch 'master' into master
  - fix for VS2017 deprecation of ::tr1::tuple
    change static_cast to ImplicitCast_ for consitency
    fixes for building with path names containing spaces
    
  - Use -Werror in external/googletest am: 25fa0a7364 am: 6b6a5bdf2d am: d0b00c4be3
    am: d3b435e61a
    
    Change-Id: I55a8aecdacf85a674fe05579914865b53b0120a2
    
  - Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS
  - Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS
  - Build gmock for host bionic am: dd43b9998e am: 2d7736a499 am: a8e45249ea
    am: a32c740795
    
    Change-Id: I8e9bf3de724726d6659eb926d10db93bd12c22dd
    
  - Remove clang: true am: 8d80a97275 am: 59d2568ee0 am: 18405295ce
    am: 55e7c7b71f
    
    Change-Id: If28215d124fce0bba4d6790a34019bdcc09a7e4f
    
  - Merge branch 'master' into hethi/issue-360-remove-GTEST_HAS_PARAM_TESTS
  - Merge branch 'master' into support_xboxone
  - remove GTEST_HAS_PARAM_TESTS
    
    As mentioned in issue #360:
    "Now that all the platforms gtest supports work with value-parameterized
    tests, we should remove the uses of the GTEST_HAS_PARAM_TESTS macro from
    the codebase everywhere."
    https://github.com/google/googletest/issues/360
    
  - Merge branch 'master' into support_xboxone
  - Merge branch 'master' into bazel
  - Merge branch 'master' into bazel
  - Also can build when included in source.
    
  - Remove trailing whitespaces in BUILD.bazel
    
  - Merge branch 'master' into support_xboxone
  - Merge branch 'master' into support_xboxone
  - Merge remote-tracking branch 'origin/master' into support_xboxone
    
  - Added support for WINAPI_PARTITION_TV_TITLE which is defined on XboxOne
    
  - Pass MSVC's C4826 warning.
    
    MSVC has an optional warning which flags when 32-bit pointers get cast
    into a 64-bit value. This is a little overaggressive I think, but to
    ease compiling in projects with aggressive warnings, fix this by just
    casting to const void * directly. Modern GCCs seem to compile it just
    fine.
vladimirlaz added a commit to vladimirlaz/llvm that referenced this issue Apr 12, 2021
pvchupin pushed a commit to intel/llvm that referenced this issue Apr 16, 2021
* switch build of SYCL RT and SYCL unit tests to use C++17 standard;
* fix build issues exposed by build with VS 2017 compiler;
* workaround problem in googletest (google/googletest#1616);
* update documentation accordingly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants