http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54130
--- Comment #2 from Marc Glisse <glisse at gcc dot gnu.org> 2012-07-31 09:38:38 UTC --- (In reply to comment #1) > I think your non-matching prototype disables builtin recognition. Yes. > The C standard specifies isnan as returning int, so I think GCC is correct > here. Note the "component: C++" for this bug. The C++11 standard says it returns bool. I believe we want gcc to recognize both prototypes.