osrf/osrf_testing_tools_cpp

Crash on build with clang 10 or later

rotu opened this issue · 0 comments

rotu commented

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 google/googletest@13c5230

--- 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
---