lttng-tools-2.14.0-rc1: ODR violation
Kienan Stewart
kstewart at efficios.com
Fri Jun 20 12:08:05 EDT 2025
Hi Nortbert,
thanks for the bug report. A change has been merged which addresses this
warning:
https://github.com/lttng/lttng-tools/commit/734b1cd20cb8390f9b0f6de9def9d5bccb621197
thanks,
kienan
On 6/17/25 7:00 AM, Norbert Lange via lttng-dev wrote:
> Hello,
>
> enum communication_state exists twice with already diverging definitions.
> I am not sure if its a functional issue now, but this sound like it
> can cause fun bughunts in the future.
>
> (enabling lto helps finding that kinda stuff)
>
> ../../../../src/lib/lttng-ctl/clear.cpp:26:6: warning: type
> 'communication_state' violates the C++ One Definition Rule [-Wodr]
> 26 | enum communication_state {
> | ^
> ../../../../src/lib/lttng-ctl/destruction-handle.cpp:25:6: note: an
> enum with different value name is defined in another translation unit
> 25 | enum communication_state {
> | ^
> ../../../../src/lib/lttng-ctl/clear.cpp:29:2: note: name
> 'COMMUNICATION_STATE_END' differs from name
> 'COMMUNICATION_STATE_RECEIVE_PAYLOAD' defined in another translation
> unit
> 29 | COMMUNICATION_STATE_END,
> | ^
> ../../../../src/lib/lttng-ctl/destruction-handle.cpp:28:2: note:
> mismatching definition
> 28 | COMMUNICATION_STATE_RECEIVE_PAYLOAD,
> | ^
>
> Regards, Norbert
More information about the lttng-dev
mailing list