[fpc-pascal] Arguments gets corrupted with anonymous nested function
    Jonas Maebe 
    jonas at freepascal.org
       
    Wed Sep  7 20:35:30 CEST 2022
    
    
  
On 2022-09-07 17:09, Benito van der Zander via fpc-pascal wrote:
> Hi,
> 
>> https://gitlab.com/freepascal.org/fpc/source/-/issues/38703
> 
>> I'm afraid that with -O4 it is by design.
>> -O4 enables -OoUNCERTAIN, and the documentation about -OoUNCERTAIN 
>> notes that:
>> 
>> "If uncertain optimizations are enabled, the CSE algorithm assumes 
>> that
>> -- If something is written to a local/global register or a 
>> procedure/function parameter, this value doesn't overwrite the value 
>> to which a pointer points.
>> -- If something is written to memory pointed to by a pointer variable, 
>> this value doesn't overwrite the value of a local/global variable or a 
>> procedure/function parameter."
> 
> is it doing that? did it ever do that?
It did that when the old assembler-level CSE optimiser still existed. 
It's been removed for a long time now.
Jonas
    
    
More information about the fpc-pascal
mailing list