--- stderr: osrf_testing_tools_cpp
In file included from /opt/ros/master/build/osrf_testing_tools_cpp/googletest-1.8.0-extracted/googletest-1.8.0-src/googletest/src/gtest-all.cc:39:
In file included from /opt/ros/master/build/osrf_testing_tools_cpp/googletest-1.8.0-extracted/googletest-1.8.0-src/googletest/include/gtest/gtest.h:62:
In file included from /opt/ros/master/build/osrf_testing_tools_cpp/googletest-1.8.0-extracted/googletest-1.8.0-src/googletest/include/gtest/gtest-param-test.h:193:
/opt/ros/master/build/osrf_testing_tools_cpp/googletest-1.8.0-extracted/googletest-1.8.0-src/googletest/include/gtest/internal/gtest-param-util-generated.h:107:8: error: definition of implicit copy constructor for 'ValueArray2<bool, bool>' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
void operator=(const ValueArray2& other);
^
/opt/ros/master/build/osrf_testing_tools_cpp/googletest-1.8.0-extracted/googletest-1.8.0-src/googletest/include/gtest/gtest-param-test.h:354:10: note: in implicit copy constructor for 'testing::internal::ValueArray2<bool, bool>' first required here
return internal::ValueArray2<T1, T2>(v1, v2);
^
/opt/ros/master/build/osrf_testing_tools_cpp/googletest-1.8.0-extracted/googletest-1.8.0-src/googletest/include/gtest/gtest-param-test.h:1221:10: note: in instantiation of function template specialization 'testing::Values<bool, bool>' requested here
return Values(false, true);
^
1 error generated.
make[2]: *** [googletest-1.8.0-extracted/googletest-1.8.0-build/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o] Error 1
make[1]: *** [googletest-1.8.0-extracted/googletest-1.8.0-build/googlemock/gtest/CMakeFiles/gtest.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2
---
osrf testing tools cpp builds fine with Clang 9 or earlier but breaks in Clang 10 with the below error. I believe this is because of a bug in googletest fixed in 1.8.1 https://github.com/google/googletest/commit/13c5230bbf2bd3404e48b7aee33a9af2514d1b9a