Project

General

Profile

« Previous | Next » 

Revision b5d6db65

Added by shyouhei (Shyouhei Urabe) almost 6 years ago

int isnan(double) is a POSIXism

  • isnan is something relatively new. We need to provide one for
    those systems without it. However:
  • X/Open defines int isnan(double). Note the int.
  • C99 defines isnan(x) to be a macro.
  • C++11 nukes them all, undefines all the "masking macro"s, and
    defines its own bool isnan(double). Note the bool.
  • In C++, int isnan(double) and bool isnan(double) are
    incompatible.
  • So the mess.

[Bug #14816][ruby-core:87364]
further reading: https://developers.redhat.com/blog/2016/02/29/why-cstdlib-is-more-complicated-than-you-might-think/

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e