[PATCH] Move M_DECL_FUNC_R* to math-type-macros.h

Joseph Myers joseph@codesourcery.com
Fri May 11 21:08:00 GMT 2018


On Fri, 11 May 2018, Tulio Magno Quites Machado Filho wrote:

> There is also gamma_r.  Let me try to explain...

There's no gamma_r public API at all.  __gamma_r_finite is a bad ABI 
(__tgamma_finite would have been better, there's absolutely no need to 
handle the sign separately for tgamma) that unfortunately we're stuck 
with, but it's not type-generic because no wrapper is involved.

> We can apply the same template techniques to provide *ibm128 functions that:

But if you want to provide __*ibm128 (which seems to me to add ABIs 
unnecessarily), the right way is (a) to make ldbl-128ibm use 
libm_alias_ldouble (or similar) and (b) redefine that in the relevant case 
to define the additional aliases.  (In any case, no new *ibm128_finite 
symbols should be added, because exported implementation-namespace libm 
functions are always once-per-format so you shouldn't need to add any more 
other than for obsolescent functions provided for long double but not 
float128.)

-- 
Joseph S. Myers
joseph@codesourcery.com



More information about the Libc-alpha mailing list