Le mardi 14 juin 2022 à 10:04 +0200, Philippe Gerum a écrit :
> Julien Blanc <
> [email protected]
> > writes:
>
> > Le mardi 14 juin 2022 à 08:54 +0200, Philippe Gerum a écrit :
> > > Julien Blanc via Xenomai
> > > > #define __fallthrough __attribute__((fallthrough))
> > > >
> > >
> > > 6.39. attribute syntax
> > > https://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html#Attribute-Syntax
> > >
> > >
> >
> > Not sure what you mean with this link. The relevant attribute is
> > documented here:
> > https://gcc.gnu.org/onlinedocs/gcc/Statement-Attributes.html
> >
> >
> > > PS: fixes go with patches.
> >
> > Indeed, but i'll let Russel do this one as i don't have the
> > opportunity
> > to test it right now.
> >
>
> The documentation (paragraph 6.39) states that "You may optionally
> specify attribute names with ‘__’ preceding and following the name.
> This allows you to use them in header files without being concerned
> about a possible macro of the same name. For example, you may use the
> attribute name __noreturn__ instead of noreturn.".
>
> This is generally used with C attributes as a precaution against
> namespace conflicts in the C language space. IOW, making a C++ parser
> happy is ok with me as long as this does not introduce potential
> issues down the road with regular C code.
Missed that part, thanks. The issue here is thus not within the
attribute part, which can be either fallthrough or __fallthrough__, but
only in the macro name, which should be __fallthrough instead of just
fallthrough.
(following untested, although it should be ok, pretty straightforward)
Fix fallthrough macro
Signed-off-by: Julien Blanc <[email protected]>
diff --git a/vendor/evl/compiler.h b/vendor/evl/compiler.h
index fce2766..8e6ad8c 100644
--- a/vendor/evl/compiler.h
+++ b/vendor/evl/compiler.h
@@ -61,7 +61,7 @@
#endif
#ifndef __fallthrough
-#define fallthrough __attribute__((__fallthrough__))
+#define __fallthrough __attribute__((__fallthrough__))
#endif
#ifndef __alloc_size