Re: Adding isinfl() and isnanl()
Corinna Vinschen <[email protected]> Thu, 5 Feb 2026 16:28:02 +0100
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
On Feb 5 09:09, Joel Sherrill wrote: > Hi > > math.h:123 has isinfl () and isnanl() as this: > > 123 > <https://sourceware.org/git?p=newlib-cygwin.git;a=blob;f=newlib/libc/include/math.h;h=5e92d2662da145cabad51e5946051aa34e9092b6;hb=HEAD#l123> > #ifdef __CYGWIN__ /* not implemented in newlib yet */ > 124 > <https://sourceware.org/git?p=newlib-cygwin.git;a=blob;f=newlib/libc/include/math.h;h=5e92d2662da145cabad51e5946051aa34e9092b6;hb=HEAD#l124> > extern int isinfl (long double); > 125 > <https://sourceware.org/git?p=newlib-cygwin.git;a=blob;f=newlib/libc/include/math.h;h=5e92d2662da145cabad51e5946051aa34e9092b6;hb=HEAD#l125> > extern int isnanl (long double); > 126 > <https://sourceware.org/git?p=newlib-cygwin.git;a=blob;f=newlib/libc/include/math.h;h=5e92d2662da145cabad51e5946051aa34e9092b6;hb=HEAD#l126> > #endif > > The winsup implementation has them as simple wrappers for the > corresponding built-in functions such as __builtin_isinf_sign(). > > If I copied the winsup/ implementation and put each in a new file > in newlib/libm so they are always available, is that OK? Barring other problems, you should just move them out of winsup into newlib. > If so, any suggestions on location inside libm for simple wrappers > for the corresponding builtin? libm/common > What would the conditional guard need to be? Just Cygwin and RTEMS? > or more? I think this would have to be target cpu dependent. > Anything I am missing? Is it a safe bet that these builtins are available as inline functions on all supported target cpus and compilers? Unimplemented builtins just point to their corresponding C lib function, isn't it? Corinna