X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=include%2Furcu%2Fwfstack.h;h=016d9f2207df89a37cca8d7ca49847b829c8bf23;hb=e93490203293561d8f1366fa515eeefd5728e53d;hp=9d693053117ceb93e69034e433f2196a22c3070d;hpb=6893800a4d1cc14dff0395ddcd660a5138db183d;p=urcu.git diff --git a/include/urcu/wfstack.h b/include/urcu/wfstack.h index 9d69305..016d9f2 100644 --- a/include/urcu/wfstack.h +++ b/include/urcu/wfstack.h @@ -24,7 +24,6 @@ */ #include -#include #include #include @@ -58,7 +57,7 @@ extern "C" { * synchronization. */ -#define CDS_WFS_WOULDBLOCK ((void *) -1UL) +#define CDS_WFS_WOULDBLOCK ((struct cds_wfs_node *) -1UL) enum cds_wfs_state { CDS_WFS_STATE_LAST = (1U << 0), @@ -96,11 +95,13 @@ struct cds_wfs_stack { * The transparent union allows calling functions that work on both * struct cds_wfs_stack and struct __cds_wfs_stack on any of those two * types. + * + * Avoid complaints from clang++ not knowing this attribute. */ typedef union { struct __cds_wfs_stack *_s; struct cds_wfs_stack *s; -} __attribute__((__transparent_union__)) cds_wfs_stack_ptr_t; +} caa_c_transparent_union cds_wfs_stack_ptr_t; #ifdef _LGPL_SOURCE