Skip to content

ATOMIC_VAR_INIT deprecated #553

@mosfet80

Description

@mosfet80

Generated by Generative AI

No response

Operating System:

Al OS with c++>= 20

ROS version or commit hash:

ROLLING

RMW implementation (if applicable):

No response

RMW Configuration (if applicable):

No response

Client library (if applicable):

No response

'ros2 doctor --report' output

ros2 doctor --report
<COPY OUTPUT HERE>

Steps to reproduce issue

build with last rolling source
colcon build --symlink-install

Expected behavior

.

Actual behavior

ros_rolling/src/ros2/rcutils/src/testing/fault_injection.c:19:63: error: implicit declaration of function ‘ATOMIC_VAR_INIT’; did you mean ‘ATOMIC_FLAG_INIT’? [-Wimplicit-function-declaration]
19 | static atomic_int_least64_t g_rcutils_fault_injection_count = ATOMIC_VAR_INIT(-1);
| ^~~~~~~~~~~~~~~

Additional information

After patch #548, it is possible to compile with the C++20 standard.
This causes compilation to fail due to the deprecation of the ATOMIC_VAR_INIT function.
https://en.cppreference.com/cpp/atomic/ATOMIC_VAR_INIT

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions