Re: [fpc-pascal] inlining functions

2019-01-01 Thread Jonas Maebe
On 2019-01-02 00:19, Benito van der Zander wrote: procedure TStrBuilder.append(const s: RawByteString); begin append(pchar(pointer(s)), length(s)); //inlinetest.pas(24,3) Note: Call to subroutine "procedure TStrBuilder.append(const p:PChar;const l:Int64);" marked as inline is not inlined end;

Re: [fpc-pascal] inlining functions

2019-01-01 Thread Benito van der Zander
Hi Jonas, That is reasonable. Perhaps the hint should mention that? But why is this still not inlined:: type TStrBuilder = object   procedure append(const p: pchar; const l: SizeInt); inline;   procedure append(const s: RawByteString); end; implementation procedure TStrBuilder.append(const p:

Re: [fpc-pascal] inlining functions

2019-01-01 Thread Jonas Maebe
On 01/01/19 22:38, Benito van der Zander wrote: and why is it not inlining the count and append call of this string builder? It is not using any implementation only function Routines can only be inlined if they are called after their implementation has been parsed. FPC compiles everything in a

Re: [fpc-pascal] inlining functions

2019-01-01 Thread Benito van der Zander
Hi, and why is it not inlining the count and append call of this string builder? It is not using any implementation only function unit inlinetest; {$mode objfpc}{$H+} interface uses   Classes, SysUtils,math; type TStrBuilder = object protected   next, bufferend: pchar; //next empty pchar a

Re: [fpc-pascal] SetLength warnings - request

2019-01-01 Thread Ryan Joseph
> On Jan 1, 2019, at 5:15 AM, Michael Van Canneyt > wrote: > > One can discuss whether the 'variables are uninitialized' rule must be > abandoned, > and declare that the compiler should initialize all variables with known > values, but that is another discussion. I was going to say. Hasn’t

Re: [fpc-pascal] SetLength warnings - request

2019-01-01 Thread Michael Van Canneyt
On Tue, 1 Jan 2019, Martok wrote: I'm curious to see them, because all 'issues' reported here can be perfectly repeated (possibly with some modifications) in Delphi. The non-initialization of 'Result' has bitten me more than once in Delphi. Aye. But it's rather rare in Delphi and very common

Re: [fpc-pascal] SetLength warnings - request

2019-01-01 Thread Marco van de Voort
Op 2019-01-01 om 01:55 schreef Martok: The non-initialization of 'Result' has bitten me more than once in Delphi. Aye. But it's rather rare in Delphi and very common in FPC, so not everyone might have encountered it (that's how I'm justifying to myself putting it on the Portability List inst

Re: [fpc-pascal] Fixes 3.2: make all fails

2019-01-01 Thread Marco van de Voort
Op 2018-12-31 om 19:22 schreef Bart: OpenSuse Tumbleweed 64-bit (in a VirtualBox VM under Win10) I can compile the classic Hello World with fpc 3.0.4. Did: svn co https://svn.freepascal.org/svn/fpc/branches/fixes_3_2/ Start compiling package utils-h2pas for target x86_64-linux. Executing co