mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	Several wrappers for IEEE functions use _LIB_VERSION / matherr / __kernel_standard functionality, which we want to obsolete. New wrappers, such as for float128, must not use this functionality. This patch adds new wrappers that only __set_errno and can be used by the new float128 wrappers. Tested for powerpc64le. * math/Makefile: Add wrappers to gen-libm-calls. * math/w_acos_template.c: New file. * math/w_acosh_template.c: Likewise. * math/w_asin_template.c: Likewise. * math/w_atan2_template.c: Likewise. * math/w_atanh_template.c: Likewise. * math/w_cosh_template.c: Likewise. * math/w_exp10_template.c: Likewise. * math/w_exp2_template.c: Likewise. * math/w_exp_template.c: Likewise. * math/w_fmod_template.c: Likewise. * math/w_hypot_template.c: Likewise. * math/w_j0_template.c: Likewise. * math/w_j1_template.c: Likewise. * math/w_jn_template.c: Likewise. * math/w_lgamma_r_template.c: Likewise. * math/w_lgamma_template.c: Likewise. * math/w_log10_template.c: Likewise. * math/w_log2_template.c: Likewise. * math/w_log_template.c: Likewise. * math/w_pow_template.c: Likewise. * math/w_remainder_template.c: Likewise. * math/w_sinh_template.c: Likewise. * math/w_sqrt_template.c: Likewise. * math/w_tgamma_template.c: Likewise.: Likewise. * sysdeps/generic/math-type-macros-double.h (__USE_WRAPPER_TEMPLATE): New macro to control inclusion of the new wrappers. * sysdeps/generic/math-type-macros-float.h: Likewise. * sysdeps/generic/math-type-macros-ldouble.h: Likewise.
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* Helper macros for double variants of type generic functions of libm.
 | 
						|
   Copyright (C) 2016-2017 Free Software Foundation, Inc.
 | 
						|
   This file is part of the GNU C Library.
 | 
						|
 | 
						|
   The GNU C Library is free software; you can redistribute it and/or
 | 
						|
   modify it under the terms of the GNU Lesser General Public
 | 
						|
   License as published by the Free Software Foundation; either
 | 
						|
   version 2.1 of the License, or (at your option) any later version.
 | 
						|
 | 
						|
   The GNU C Library is distributed in the hope that it will be useful,
 | 
						|
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
						|
   Lesser General Public License for more details.
 | 
						|
 | 
						|
   You should have received a copy of the GNU Lesser General Public
 | 
						|
   License along with the GNU C Library; if not, see
 | 
						|
   <http://www.gnu.org/licenses/>.  */
 | 
						|
 | 
						|
#ifndef _MATH_TYPE_MACROS_DOUBLE
 | 
						|
#define _MATH_TYPE_MACROS_DOUBLE
 | 
						|
 | 
						|
#define M_LIT(c) c
 | 
						|
#define M_MLIT(c) c
 | 
						|
#define M_PFX DBL
 | 
						|
#define M_SUF(c) c
 | 
						|
#define FLOAT double
 | 
						|
#define CFLOAT _Complex double
 | 
						|
#define M_STRTO_NAN __strtod_nan
 | 
						|
 | 
						|
/* Machines without a distinct long double type
 | 
						|
   alias long double functions to their double
 | 
						|
   equivalent.  */
 | 
						|
#if defined NO_LONG_DOUBLE && !defined declare_mgen_alias
 | 
						|
# define declare_mgen_alias(from, to)	    \
 | 
						|
   weak_alias (from, to)		    \
 | 
						|
   strong_alias (from, from ## l)	    \
 | 
						|
   weak_alias (from, to ## l)
 | 
						|
#endif
 | 
						|
 | 
						|
#if defined NO_LONG_DOUBLE && !defined declare_mgen_alias_2
 | 
						|
# define declare_mgen_alias_2(from, to, to2) \
 | 
						|
   declare_mgen_alias (from, to)	     \
 | 
						|
   weak_alias (from, to2)		     \
 | 
						|
   weak_alias (from, to2 ## l)
 | 
						|
#endif
 | 
						|
 | 
						|
/* Supply the generic macros.  */
 | 
						|
#include <math-type-macros.h>
 | 
						|
 | 
						|
/* Do not use the type-generic wrapper templates.  */
 | 
						|
#define __USE_WRAPPER_TEMPLATE 0
 | 
						|
 | 
						|
#endif
 |