[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 3/3] xen/MISRA: Remove nonstandard inline keywords
On Wed, 22 Nov 2023, Andrew Cooper wrote: > The differences between inline, __inline and __inline__ keywords are a > vestigial remnant of older C standards, and in Xen we use inline almost > exclusively. > > Replace __inline and __inline__ with regular inline, and remove their > exceptions from the MISRA configuration. > > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > > diff --git a/docs/misra/C-language-toolchain.rst > b/docs/misra/C-language-toolchain.rst > index 2866cb191b1a..b7c2000992ac 100644 > --- a/docs/misra/C-language-toolchain.rst > +++ b/docs/misra/C-language-toolchain.rst > @@ -84,7 +84,7 @@ The table columns are as follows: > see Sections "6.48 Alternate Keywords" and "6.47 How to Use Inline > Assembly Language in C Code" of GCC_MANUAL. > __volatile__: > see Sections "6.48 Alternate Keywords" and "6.47.2.1 Volatile" of > GCC_MANUAL. > - __const__, __inline__, __inline: > + __const__: > see Section "6.48 Alternate Keywords" of GCC_MANUAL. > typeof, __typeof__: > see Section "6.7 Referring to a Type with typeof" of GCC_MANUAL. Asking the Bugseng guys as well, do we need to add to C-language-toolchain.rst: inline __attribute__((__always_inline__)) inline __attribute__((__gnu_inline__)) Given that the problem was also present before this patch: Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h > index 04b8bc18df0e..16d554f2a593 100644 > --- a/xen/include/xen/compiler.h > +++ b/xen/include/xen/compiler.h > @@ -20,9 +20,8 @@ > #define likely(x) __builtin_expect(!!(x),1) > #define unlikely(x) __builtin_expect(!!(x),0) > > -#define inline __inline__ > -#define always_inline __inline__ __attribute__ ((__always_inline__)) > -#define gnu_inline __inline__ __attribute__ ((__gnu_inline__)) > +#define always_inline inline __attribute__((__always_inline__)) > +#define gnu_inline inline __attribute__((__gnu_inline__)) > #define noinline __attribute__((__noinline__)) > > #define noreturn __attribute__((__noreturn__)) This is where they are used. > @@ -83,7 +82,7 @@ > * inline functions not expanded inline get placed in .init.text. > */ > #include <xen/init.h> > -#define __inline__ __inline__ __init > +#define inline inline __init > #endif > > #define __attribute_pure__ __attribute__((__pure__)) > -- > 2.30.2 > >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |