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

[Bug]: New gmock compile warning with latest ros2 rolling sync #28

Open
bijoua29 opened this issue May 9, 2024 · 1 comment
Open

[Bug]: New gmock compile warning with latest ros2 rolling sync #28

bijoua29 opened this issue May 9, 2024 · 1 comment
Labels

Comments

@bijoua29
Copy link

bijoua29 commented May 9, 2024

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:https:///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

@sloretz
Copy link

sloretz commented May 16, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants