<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>I should ask actually... what's Delphi's support on 'inline'
      appearing just in the implementation section?</p>
    <p>Given how many units have "inline" in just the implementation
      section, and how some cross-platform units have "inline" on
      platforms that benefit from it on their particular implementation,
      I wonder if there's a better solution to the CRC problem than just
      demanding it appear in the interface section, such as having
      "inline" modify the body's CRC rather than the header's CRC (if my
      knowledge of CRCs are correct).<br>
    </p>
    <p>Gareth aka. Kit</p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 22/04/2019 17:46, J. Gareth Moreton
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:60669.1555951595@web-cluster.fastnet.co.uk">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div>
        <style> BODY { font-family:Arial, Helvetica, sans-serif;font-size:12px; }</style>Hi
        everyone,</div>
      <div><br>
      </div>
      <div>Jonas and I were talking today through e-mail and he
        mentioned on #35346 the following interesting point:<br>
        <br>
        "An inline directive in the implementation but not in the
        interface should be rejected by the compiler, because it changes
        the interface crc. I know it does not do that currently, but
        that is a compiler bug."<br>
        <br>
        With Jonas' blessing, I've taken it upon myself to experiment
        with changing the compiler so it catches the above situation,
        but then "make all" fails to build because a large number of
        functions in the System unit have "inline" in the implementation
        section but not the interface section.  Some of these are
        assembler functions and so should not be inlined anyway (the
        compiler will not inline them regardless), but there are a
        number of functions like ReadBarrier that are inlined on some
        platforms but not on others, so putting "inline" in the
        interface section may not be the best solution in these
        situations.  More obviously, not allowing "inline" to appear in
        the implementation section by itself will potentially cause a
        lot of third-party programs and units to now fail compilation.</div>
      <div><br>
      </div>
      <div>I'm attempting to change the functions in the System unit so
        the compiler at least builds on i386 and x86_64, but I can see
        this being a problem.  What's the best way of resolving this?<br>
        <br>
        Gareth aka. Kit<br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
fpc-devel maillist  -  <a class="moz-txt-link-abbreviated" href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a>
<a class="moz-txt-link-freetext" href="http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel">http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel</a>
</pre>
    </blockquote>
  <div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br />
<table style="border-top: 1px solid #D3D4DE;">
        <tr>
        <td style="width: 55px; padding-top: 13px;"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" width="46" height="29" style="width: 46px; height: 29px;" /></a></td>
                <td style="width: 470px; padding-top: 12px; color: #41424e; font-size: 13px; font-family: Arial, Helvetica, sans-serif; line-height: 18px;">Virus-free. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank" style="color: #4453ea;">www.avast.com</a>
                </td>
        </tr>
</table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"> </a></div></body>
</html>