[ltt-dev] [PATCH] Fixes container_of macro redefinition warnings
Pierre-Marc Fournier
pierre-marc.fournier at polymtl.ca
Wed Aug 18 00:13:28 EDT 2010
Nack.
There's no need for this. UST has explicit minimum requirements on
liburcu versions. So when the next liburcu is released, the next version
of UST will simply remove container_of and depend on that new version of
liburcu. container_of was anyway just a leftover from the port of the
kernel code.
pmf
On 08/16/2010 10:24 AM, David Goulet wrote:
> On urcu commit 453629a9317adef5b96c3d55e4dcd98db680997a, the
> container_of macro was moved to urcu/compiler.h. Since, multiple
> warnings appear about redefinition
>
> Signed-off-by: David Goulet<david.goulet at polymtl.ca>
> ---
> include/ust/core.h | 2 ++
> include/ust/kcompat/simple.h | 3 ++-
> 2 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/include/ust/core.h b/include/ust/core.h
> index 0172614..d5a1f4d 100644
> --- a/include/ust/core.h
> +++ b/include/ust/core.h
> @@ -141,8 +141,10 @@ static __inline__ int get_count_order(unsigned int count)
> return order;
> }
>
> +#ifndef container_of
> #define container_of(ptr, type, member) ({ \
> const typeof( ((type *)0)->member ) *__mptr = (ptr); \
> (type *)( (char *)__mptr - offsetof(type,member) );})
> +#endif /* containter_of */
>
> #endif /* UST_CORE_H */
> diff --git a/include/ust/kcompat/simple.h b/include/ust/kcompat/simple.h
> index 762d802..586b2ed 100644
> --- a/include/ust/kcompat/simple.h
> +++ b/include/ust/kcompat/simple.h
> @@ -28,10 +28,11 @@
> * @member: the name of the member within the struct.
> *
> */
> +#ifndef container_of
> #define container_of(ptr, type, member) ({ \
> const typeof( ((type *)0)->member ) *__mptr = (ptr); \
> (type *)( (char *)__mptr - offsetof(type,member) );})
> -
> +#endif /* container_of */
>
> /* libkcompat: from rcupdate.h */
>
More information about the lttng-dev
mailing list