X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=include%2Furcu%2Fwfcqueue.h;h=bd920ca488b6b0feedb243383fe641b0741842a2;hp=2119e8d24ce49a431d70e133d5bf766e4eb2cec4;hb=087bce43020d2b45dab2dd8ecd6b0d6949c626f3;hpb=e915ab84fd0c02d37504f3eb1e1f3be93ea6dc37 diff --git a/include/urcu/wfcqueue.h b/include/urcu/wfcqueue.h index 2119e8d..bd920ca 100644 --- a/include/urcu/wfcqueue.h +++ b/include/urcu/wfcqueue.h @@ -80,11 +80,21 @@ struct cds_wfcq_head { * * In C++, implement static inline wrappers using function overloading * to obtain an API similar to C. + * + * Avoid complaints from clang++ not knowing the transparent union + * attribute. */ +#if defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wignored-attributes" +#endif typedef union { struct __cds_wfcq_head *_h; struct cds_wfcq_head *h; -} caa_c_transparent_union cds_wfcq_head_ptr_t; +} __attribute__((__transparent_union__)) cds_wfcq_head_ptr_t; +#if defined(__clang__) +#pragma clang diagnostic pop +#endif #ifndef __cplusplus /*