You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When compiling a package in ros2 that uses gmock, get the following compiler warnings. This is new with the latest ros2 rolling sync as of 2024-04-30. Note: this warning only shows up because we had -Wsign-conversion enabled in our test project.
In file included from /opt/ros/rolling/src/gmock_vendor/include/gmock/gmock.h:58,
from /opt/ros/rolling/src/gmock_vendor/src/gmock_main.cc:32:
/opt/ros/rolling/src/gmock_vendor/include/gmock/gmock-function-mocker.h:73:49: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
73 | constexpr bool StartsWith(const char (&prefix)[N], const char (&str)[M]) {
| ^
/opt/ros/rolling/src/gmock_vendor/include/gmock/gmock-function-mocker.h:73:71: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
73 | constexpr bool StartsWith(const char (&prefix)[N], const char (&str)[M]) {
| ^
/opt/ros/rolling/src/gmock_vendor/include/gmock/gmock-function-mocker.h:78:47: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
78 | constexpr bool EndsWith(const char (&suffix)[N], const char (&str)[M]) {
Steps to reproduce the problem
Build a ros2 package that uses gmock
What version of GoogleTest are you using?
Whatever version is included with the latest rolling version of ros2
It looks like this issue was fixed upstream in google#4374, but googletest hasn't yet made a new release. The current latest version of Google test is 1.14.0. Maybe that change could be pulled in here as a patch? 🧇
Describe the issue
When compiling a package in ros2 that uses gmock, get the following compiler warnings. This is new with the latest ros2 rolling sync as of 2024-04-30. Note: this warning only shows up because we had -Wsign-conversion enabled in our test project.
In file included from /opt/ros/rolling/src/gmock_vendor/include/gmock/gmock.h:58,
from /opt/ros/rolling/src/gmock_vendor/src/gmock_main.cc:32:
/opt/ros/rolling/src/gmock_vendor/include/gmock/gmock-function-mocker.h:73:49: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
73 | constexpr bool StartsWith(const char (&prefix)[N], const char (&str)[M]) {
| ^
/opt/ros/rolling/src/gmock_vendor/include/gmock/gmock-function-mocker.h:73:71: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
73 | constexpr bool StartsWith(const char (&prefix)[N], const char (&str)[M]) {
| ^
/opt/ros/rolling/src/gmock_vendor/include/gmock/gmock-function-mocker.h:78:47: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
78 | constexpr bool EndsWith(const char (&suffix)[N], const char (&str)[M]) {
Steps to reproduce the problem
Build a ros2 package that uses gmock
What version of GoogleTest are you using?
Whatever version is included with the latest rolling version of ros2
What operating system and version are you using?
Ubuntu 24.04 (Noble)
What compiler and version are you using?
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.2.0-23ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-uJ7kn6/gcc-13-13.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-uJ7kn6/gcc-13-13.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.0 (Ubuntu 13.2.0-23ubuntu4)
What build system are you using?
cmake version 3.28.3
Additional context
No response
The text was updated successfully, but these errors were encountered: