On 20 Oct 2013, at 19:33, Martin wrote:

> I see there are still open related issues, so maybe some hope...
> 
>> That is how the inlining is implemented by design currently. The 
>> availability of an inline function body changes the unit interface checksum, 
>> so that other units using that unit will be recompiled the next time and can 
>> use the inline body (since the first time the inline body was not yet 
>> available, it could not yet be inlined). 
> 
> I have a very limited understanding of this, but I think I disagree (well I 
> do disagree, I think tha I am correct to do so...)
> 
> AFAIX, ppu already have more than one checksum?
> 
> Then it would just be a question to make that yet another checksum. And if 
> *only* this new checksum has changed, then recompile *if* the source is 
> available.
> If not, than keep things as they are.

Changing the behaviour of the compiler depending on whether or not the source 
code is available is not acceptable. The only reasonable alternative in my eyes 
would be to never inline anything in case of mutually dependent units (like 
Delphi does). Additionally, afaik compiling with -Ur already works around the 
problem today.


Jonas_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to