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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions