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

            Bug ID: 111437
           Summary: Some always inline functions are incorrectly warn of
                    as "might not be inlinable"
           Product: gcc
           Version: 13.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gb2985 at gmail dot com
  Target Milestone: ---

Couldn't find a similar thread so my apologies if there actually was. For
starters a link to the code that made me cotton on to the issue:

https://gitlab.com/awsdert/dragonbuilder/-/blob/419c686fd59c0a40145154ef3d43b8d8b75aa29d/include/paw/pawidb.h#L34

In short it amounts to a simple LOAD, DIV, STORE set of instructions once
compiled which is undoubtedly inline-able in all situations. I had marked the
function as always inline but when gcc got to it it decided that no, those
measly few instructions are somehow not inlinable. The issue also occurs for
wrapped calls such as pawcv_gettop() calling the template generated
_pawcv_gettop(), the former existing for intellisense purposes while the latta
being what does the actual work.

I seriously doubt my system or any other details are relevant here but for what
I need to provide I'll add below (only remember one at time of posting, will
edit in rest if I can):

OS: Manjaro x64 XFCE (4.18)

Reply via email to