[llvm-dev] [RFC] Updating googletest to non-release tagged version

James Henderson via llvm-dev llvm-dev at lists.llvm.org
Mon Mar 12 09:00:55 PDT 2018

Hi all,

I'm currently writing some unit tests for some debug line error handling
code I'm working on (see e.g. https://reviews.llvm.org/D44382), and I just
ran into an annoying disabled feature in gtest, specifically the "Combine"
feature for use in combinatorially generating parameterised tests. A FIXME
comment in ProfileData\CoverageMappingTest.cpp suggests that I'm not the
only one to have tried and discovered that they cannot use this feature.
The problem is that the version of googletest (v 1.8.0, released in Aug
2016) in the LLVM tree requires TR1 tuple support for this feature, which
is not really supported in recent compilers, and has been explicitly
disabled in our googletest CMakeLists.txt, thus disabling "Combine".

I did a bit of looking around, and v 1.8.0 is indeed the last officially
tagged release of googletest. However, there has been a lot of development
on the framework since that point, including a fix to enable use of Combine
with std::tuple-supporting compilers. There have been a number of issue
raised on the googletest issue tracker (see e.g.
https://github.com/google/googletest/issues/1467 or
https://github.com/google/googletest/issues/1079) asking about a 1.9.0
release, and there has been zero response from anybody answering the query
of when/if it will happen. In the meantime, the last release gets older and

I'd therefore like to propose something that might be seen as slightly
controversial: update to use ToT googletest (or at least some reasonably
recent version of master), at least until a new release is created.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180312/45de75de/attachment-0001.html>

More information about the llvm-dev mailing list