On 06/28/2011 04:23 PM, Jonas Maebe wrote:
On 28 Jun 2011, at 15:54, Michael Schnell wrote:
I believe that inserting some ptherad_mutex... calls will not force
the compiler to bother about some intermediate values of a non
volatile variable.
You believe wrongly.
As the compiler does not know anything about what pthread_mutex does
just the existence of a function call at that location can trigger that
it behaves different from the case that no function call is done.
And this has been discussed in the other message: If the variable in
fact is global the compiler needs to avoid caching it, if it is static
and the function is in another module it might still decide to cache it,
but you are right: it is not likely that it does make this difference.
-Michael
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel