Closed JanStaschulat closed 1 year ago
The suggested NON_INITIALIZED_EXECUTOR
(for NONE)
and LOGICAL_EXECUTION_TIME
(for LET
) would solve the immediate issue I have (ie: the name clash).
As I wrote in https://github.com/ros2/rclc/pull/355#issuecomment-1607218381, some of the other members (SINGLE_THREADED
and MULTI_THREADED
) are rather generically named as well.
Seeing as there is no enum scope in C11, prefixing those might also be a good idea.
I'll close this with #379 and #382 merged.
O wait, it's your issue @JanStaschulat. Can't close it.
One of my platform headers already
#define
s aNONE
, leading to problems with the value in therclc_executor_type_t
enum
(here).While I would agree with a statement along the lines of "that's not a very good idea to globally
#define
something calledNONE
", unfortunately I can't change my platform's header.Would it perhaps be possible to prefix the names in the
enum
inexecutor.h
, such that the chances of clashing with existing/platform#define
s are reduced? Perhaps anEXECUTOR_
prefix?Edit: the
LET
member inrclc_executor_semantics_t
is also perhaps a candidate for a prefix, although I haven't yet ran into an issue with that.Originally posted by @gavanderhoorn in https://github.com/ros2/rclc/issues/355#issuecomment-1605652975