On Mon, Mar 11, 2024 at 8:44 AM Michael S. Tsirkin <mst@xxxxxxxxxx> wrote: > > On Sat, Mar 09, 2024 at 06:05:08PM -0800, Ian Rogers wrote: > > An issue was reported with clang and llvm libc where the noinline > > attribute [1] was being expanded due to the #define in > > linux/compiler.h (now in compiler_attributes.h). The expansion caused > > the __attribute__ to appear twice and break the build. To avoid this > > conflict, rename noinline to __noinline which is more consistent with > > other compiler attributes. > > > > [1] https://clang.llvm.org/docs/AttributeReference.html#noinline > > Following this link, I don't see __noinline there - only __noinline__ and > noinline. What's up? __noinline (which is what this patch is changing the preprocessor define to) will not be expanded in the presence of __attribute__((__noinline__)), __attribute__((noinline)), or [[gnu::inline]], unlike the previous macro definition. -- Thanks, ~Nick Desaulniers