What's strange about this is that it only seems happens when I'm building in release mode in mingw, which uses -O2. Or at least, I haven't had it happen in debug mode yet I don't think... Needless to say it makes finding all the details about what is going on to cause this very difficult, as the variables in this function keep getting optimized out in gdb it seems...
The offending line of code (where the floating point exception is getting fired) is this one (inside of btQuaternion slerp, of course):
Code: Select all
const btScalar d = btScalar(1.0) / btSin(theta);