Assignment problem with doubles: turning into NaN under Leopard
Assignment problem with doubles: turning into NaN under Leopard
- Subject: Assignment problem with doubles: turning into NaN under Leopard
- From: Frank Illenberger <email@hidden>
- Date: Thu, 6 Dec 2007 19:11:07 +0100
Hi guys,
I am currently trying to track down a very strange problem that only
occurs on Intel Macs under Leopard. At various locations in my
application, assignments from a method return value to a local double
variable result in the variable containing NaN although the method
result is 0.0.
Example:
- (double)methodValue
{
return 0.0;
}
- (void)test
{
double value = [self methodValue];
if(isnan(value))
NSLog(@"PROBLEM!");
}
The problem does not always occur, but is rather following strange
patterns. It reproducibly occurs inside my application but not in any
test case I constructed. The problem does not occur if I put a NSLog
statement before the assignment. The problem in my case has definitely
nothing to do with nil-messaging or threading.
During today's research I found a similar case in the gcc mailing list
from 1999
http://gcc.gnu.org/ml/gcc-bugs/1999-10/msg00196.html
This case was described as libc corrupting the FP stack so that
following FP operations could fail.
Has anybody encountered a similar problem in applications running on
Intel machines under Leopard?
Cheers
Frank
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden