[fpc-pascal] why fpc do not use a known return function value
    Mark Morgan Lloyd 
    markMLl.fpc-pascal at telemetry.co.uk
       
    Tue Feb  3 10:23:18 CET 2015
    
    
  
misu kun wrote:
> Hi
> in this program test function has a known return value , and should be
> calculated in compile time , but fpc make it in real time !!!
> ---------------------
> program test;
> var c : int32;
> function test( p: int32): int32; inline;
> var i : int32;
> begin
>   i := p;
>   test := i+2+c+2+c+2+c;
> end;
> begin
>   c:= test(128);
> end.
The initial value of c is undefined. How do you expect the compiler to 
optimise it?
In the more general case, my recollection is that C has simpler scoping 
rules, so there may be cases where it can optimise where a Pascal 
compiler would be more cautious.
-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
    
    
More information about the fpc-pascal
mailing list