https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111437

zxuiji <gb2985 at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|INVALID                     |FIXED

--- Comment #5 from zxuiji <gb2985 at gmail dot com> ---
(In reply to Andrew Pinski from comment #4)
> One definition has:
> __attribute__((hot)) __attribute__((always_inline)) pawd pawmsg_SIGKILL(
> pawexe pid )
>  { return pawtrigger( 
> # 127 "/mnt/CODE/gitlab/dragonbuilder/include/paw/pawint/../pawmsg.h" 3 4
>                      ((void *)0)
> # 127 "/mnt/CODE/gitlab/dragonbuilder/include/paw/pawint/../pawmsg.h"
>                          , PAWMSGID_KILL_NOW, PAWMSG_CLSID_APP, 0, pid ); }
> 
> Yes without inline the always_inline might be not be inlinable ...
> 
> The preprocessed source is full of issues; redefinitions:
> /mnt/CODE/gitlab/dragonbuilder/src/libpaw/pawaio.c:50:28: error:
> redefinition of ‘pawabspath_putroot’
> In file included from /mnt/CODE/gitlab/dragonbuilder/src/libpaw/libpaw.h:19,
>                  from /mnt/CODE/gitlab/dragonbuilder/src/libpaw/pawaio.c:1:
> /mnt/CODE/gitlab/dragonbuilder/include/paw/pawaio.h:554:28: note: previous
> definition of ‘pawabspath_putroot’ with type ‘pawjd(pawmbcd *, pawmbctxt, 
> pawmbctxt)’ {aka ‘long int(pawmbcd *, pawmbc_txt,  pawmbc_txt)’}
> 
> 
> etc.
> 
> But the pattern for the "might not be inlinable" is all the same as what I
> mentioned first. There is only always_inline without an inline ...

You mean I should add __inline to the definition of PAWANT_QCK so it follows
the always_inline attribute? Well that's easy enough however that does beg the
question, why is inline not implicit with the always_inline attribute? That
aside, yeah I'm aware there are issues with the code itself, in the middle of a
redesign and using the compiler to identify where the surface level issues are,
I'll get on the runtime ones after I finish putting together the library and
the unit tests thereafter.

Reply via email to