<div dir="auto"><div class="gmail_quote" dir="auto"><div dir="ltr">Am Sa., 29. Dez. 2018, 15:23 hat Benito van der Zander <<a href="mailto:benito@benibela.de">benito@benibela.de</a>> geschrieben:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
after updating from fpc 3.1 to fpc 3.3, I am getting a lot of "function <br>
was not inlined" warnings, e.g. when an inline function depends on a <br>
function not declared in the interface part like:<br>
<br>
unit inlinetest;<br>
<br>
{$mode objfpc}{$H+}<br>
<br>
interface<br>
<br>
uses<br>
   Classes, SysUtils;<br>
<br>
<br>
function strContains(const str, searched: string): boolean; inline;<br>
<br>
implementation<br>
<br>
function strContainsFrom(const str, searched: string; from: SizeInt): <br>
boolean;<br>
begin<br>
   result:=Pos(searched, str, from) > 0;<br>
end;<br>
<br>
<br>
function strContains(const str, searched: string): boolean; inline;<br>
begin<br>
   result := strContainsFrom(str, searched, 1);<br>
end;<br>
<br>
end.<br>
<br>
<br>
<br>
Is that supposed to happen?<br>
<br>
Fpc 3.1 did not show any warning in this case (although now that I <br>
investigate it, fpc 3.1 also did not seem to inline it despite not <br>
showing the warning)<br></blockquote></div><div dir="auto"><br></div><div dir="auto">Correct. FPC 3.1.1 did neither warn nor inline in this case, 3.3.1 at least warns (I think 3.2 already warns as well). </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div>