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

Clang warning: ordered comparison of function pointers (Rolling) #2488

Open
ahcorde opened this issue Apr 5, 2024 · 1 comment
Open

Clang warning: ordered comparison of function pointers (Rolling) #2488

ahcorde opened this issue Apr 5, 2024 · 1 comment
Labels
backlog help wanted Extra attention is needed

Comments

@ahcorde
Copy link
Contributor

ahcorde commented Apr 5, 2024

Related build https://ci.ros2.org/view/nightly/job/nightly_linux_clang_libcxx/1848/consoleText

In file included from /home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/src/ros2/rclcpp/rclcpp/test/rclcpp/test_utilities.cpp:28:
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/src/ros2/rclcpp/rclcpp/test/rclcpp/../mocking_utils/patch.hpp:141:3: warning: ordered comparison of function pointers ('void (*)(const rcutils_log_location_s *, int, const char *, long, const char *, __va_list_tag (*)[1])' and 'void (*)(const rcutils_log_location_s *, int, const char *, long, const char *, __va_list_tag (*)[1])') [-Wordered-compare-function-pointers]
  mmk_mock_define(mock_type, ReturnT, ArgT0, ArgT1, ArgT2);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/mock.h:434:16: note: expanded from macro 'mmk_mock_define'
    MMK_EXPAND(MMK_MOCK_DEFINE_IMPL(Id,                     \
    ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/mock.h:444:9: note: expanded from macro 'MMK_MOCK_DEFINE_IMPL'
        MMK_MOCK_DEFINE,                                    \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:604:81: note: expanded from macro 'MMK_COND_VOID'
# define MMK_COND_VOID(Macro, Params1, Params2, ...) MMK_EXPAND(MMK_VOID_SELECT(Macro, Params1, Params2, __VA_ARGS__))
                                                                ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 48 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:40:24: note: expanded from macro 'MMK_EXPAND'
# define MMK_EXPAND(x) x
                       ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:40:24: note: expanded from macro 'MMK_EXPAND'
# define MMK_EXPAND(x) x
                       ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:40:24: note: expanded from macro 'MMK_EXPAND'
# define MMK_EXPAND(x) x
                       ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/src/ros2/rclcpp/rclcpp/test/rclcpp/../mocking_utils/patch.hpp:141:3: note: in instantiation of member function 'mocking_utils::PatchTraits<5, int (const rcl_arguments_s *, const rcutils_allocator_s *, void (*)(const rcutils_log_location_s *, int, const char *, long, const char *, __va_list_tag (*)[1]))>::mmkuser_mock_type_stub' requested here
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/mock.h:434:16: note: expanded from macro 'mmk_mock_define'
    MMK_EXPAND(MMK_MOCK_DEFINE_IMPL(Id,                     \
               ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/mock.h:444:9: note: expanded from macro 'MMK_MOCK_DEFINE_IMPL'
        MMK_MOCK_DEFINE,                                    \
        ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/src/ros2/rclcpp/rclcpp/test/rclcpp/../mocking_utils/patch.hpp:462:43: note: in instantiation of member function 'mocking_utils::PatchTraits<5, int (const rcl_arguments_s *, const rcutils_allocator_s *, void (*)(const rcutils_log_location_s *, int, const char *, long, const char *, __va_list_tag (*)[1]))>::mmkuser_mock_type_create' requested here
      PatchTraits<ID, ReturnT(ArgTs...)>::MMK_MANGLE(mock_type, create);
                                          ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/mock.h:95:31: note: expanded from macro 'MMK_MANGLE'
# define MMK_MANGLE(Id, Name) MMK_MANGLE_(Id, Name)
                              ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/mock.h:94:32: note: expanded from macro 'MMK_MANGLE_'
# define MMK_MANGLE_(Id, Name) mmkuser_ ## Id ## _ ## Name
                               ^
<scratch space>:211:1: note: expanded from here
mmkuser_mock_type_create
^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/src/ros2/rclcpp/rclcpp/test/rclcpp/../mocking_utils/patch.hpp:444:5: note: in instantiation of member function 'mocking_utils::Patch<5, int (const rcl_arguments_s *, const rcutils_allocator_s *, void (*)(const rcutils_log_location_s *, int, const char *, long, const char *, __va_list_tag (*)[1]))>::replace_with' requested here
    replace_with(replacement);
    ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/src/ros2/rclcpp/rclcpp/test/rclcpp/test_utilities.cpp:177:32: note: in instantiation of member function 'mocking_utils::Patch<5, int (const rcl_arguments_s *, const rcutils_allocator_s *, void (*)(const rcutils_log_location_s *, int, const char *, long, const char *, __va_list_tag (*)[1]))>::then_call' requested here
    auto mock = mocking_utils::patch_and_return(
                               ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/src/ros2/rclcpp/rclcpp/test/rclcpp/../mocking_utils/patch.hpp:537:3: note: expanded from macro 'patch_and_return'
  patch(scope, function, [&](auto && ...) {return return_code;})
  ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/src/ros2/rclcpp/rclcpp/test/rclcpp/../mocking_utils/patch.hpp:533:34: note: expanded from macro 'patch'
  prepare_patch(scope, function).then_call(replacement)
                                 ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/src/ros2/rclcpp/rclcpp/test/rclcpp/../mocking_utils/patch.hpp:141:3: warning: ordered comparison of function pointers ('void (*)(const rcutils_log_location_s *, int, const char *, long, const char *, __va_list_tag (*)[1])' and 'void (*)(const rcutils_log_location_s *, int, const char *, long, const char *, __va_list_tag (*)[1])') [-Wordered-compare-function-pointers]
  mmk_mock_define(mock_type, ReturnT, ArgT0, ArgT1, ArgT2);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/mock.h:434:16: note: expanded from macro 'mmk_mock_define'
    MMK_EXPAND(MMK_MOCK_DEFINE_IMPL(Id,                     \
    ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/mock.h:444:9: note: expanded from macro 'MMK_MOCK_DEFINE_IMPL'
        MMK_MOCK_DEFINE,                                    \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:604:81: note: expanded from macro 'MMK_COND_VOID'
# define MMK_COND_VOID(Macro, Params1, Params2, ...) MMK_EXPAND(MMK_VOID_SELECT(Macro, Params1, Params2, __VA_ARGS__))
                                                                ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 48 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:40:24: note: expanded from macro 'MMK_EXPAND'
# define MMK_EXPAND(x) x
                       ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:40:24: note: expanded from macro 'MMK_EXPAND'
# define MMK_EXPAND(x) x
                       ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:40:24: note: expanded from macro 'MMK_EXPAND'
# define MMK_EXPAND(x) x
                       ^
In file included from /home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/src/ros2/rclcpp/rclcpp/test/rclcpp/test_utilities.cpp:28:
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/src/ros2/rclcpp/rclcpp/test/rclcpp/../mocking_utils/patch.hpp:141:3: warning: ordered comparison of function pointers ('void (*)(const rcutils_log_location_s *, int, const char *, long, const char *, __va_list_tag (*)[1])' and 'void (*)(const rcutils_log_location_s *, int, const char *, long, const char *, __va_list_tag (*)[1])') [-Wordered-compare-function-pointers]
  mmk_mock_define(mock_type, ReturnT, ArgT0, ArgT1, ArgT2);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/mock.h:434:16: note: expanded from macro 'mmk_mock_define'
    MMK_EXPAND(MMK_MOCK_DEFINE_IMPL(Id,                     \
    ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/mock.h:444:9: note: expanded from macro 'MMK_MOCK_DEFINE_IMPL'
        MMK_MOCK_DEFINE,                                    \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:604:81: note: expanded from macro 'MMK_COND_VOID'
# define MMK_COND_VOID(Macro, Params1, Params2, ...) MMK_EXPAND(MMK_VOID_SELECT(Macro, Params1, Params2, __VA_ARGS__))
                                                                ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 48 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:40:24: note: expanded from macro 'MMK_EXPAND'
# define MMK_EXPAND(x) x
                       ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:40:24: note: expanded from macro 'MMK_EXPAND'
# define MMK_EXPAND(x) x
                       ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:40:24: note: expanded from macro 'MMK_EXPAND'
# define MMK_EXPAND(x) x
                       ^
In file included from /home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/src/ros2/rclcpp/rclcpp/test/rclcpp/test_utilities.cpp:28:
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/src/ros2/rclcpp/rclcpp/test/rclcpp/../mocking_utils/patch.hpp:141:3: warning: ordered comparison of function pointers ('void (*)(const rcutils_log_location_s *, int, const char *, long, const char *, __va_list_tag (*)[1])' and 'void (*)(const rcutils_log_location_s *, int, const char *, long, const char *, __va_list_tag (*)[1])') [-Wordered-compare-function-pointers]
  mmk_mock_define(mock_type, ReturnT, ArgT0, ArgT1, ArgT2);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/mock.h:434:16: note: expanded from macro 'mmk_mock_define'
    MMK_EXPAND(MMK_MOCK_DEFINE_IMPL(Id,                     \
    ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/mock.h:444:9: note: expanded from macro 'MMK_MOCK_DEFINE_IMPL'
        MMK_MOCK_DEFINE,                                    \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:604:81: note: expanded from macro 'MMK_COND_VOID'
# define MMK_COND_VOID(Macro, Params1, Params2, ...) MMK_EXPAND(MMK_VOID_SELECT(Macro, Params1, Params2, __VA_ARGS__))
                                                                ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 48 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:40:24: note: expanded from macro 'MMK_EXPAND'
# define MMK_EXPAND(x) x
                       ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:40:24: note: expanded from macro 'MMK_EXPAND'
# define MMK_EXPAND(x) x
                       ^
/home/jenkins-agent/workspace/nightly_linux_clang_libcxx/ws/install/mimick_vendor/opt/mimick_vendor/include/mimick/preprocess.h:40:24: note: expanded from macro 'MMK_EXPAND'
# define MMK_EXPAND(x) x
@clalancette
Copy link
Contributor

This is definitely an issue, but one that has been there for quite a while. I'm going to mark it as backlog/help-wanted, in case someone has time to dig into this in the future.

@clalancette clalancette added help wanted Extra attention is needed backlog labels Apr 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants