glibc/sysdeps
Joseph Myers 9596fc69b1 Make min_of_type_ macros function-like.
math_private.h uses __MATH_TG in defining the min_of_type macro used
within libm, with min_of_type_<suffix> macros for each type.  This
runs into problems with __MATH_TG expansions used with additional
_FloatN and _FloatNx type support, because those can end up
macro-expanding the FUNC argument to __MATH_TG before it gets
concatenated with a suffix - meaning that min_of_type_ can't
simultaneously be the macro name for double, and a prefix to other
macro names, since the latter case requires such premature macro
expansion not to occur.  (This is not a problem for the uses of
__MATH_TG in installed headers because FUNC there is a function name
in the implementation namespace, and the suffixes themselves don't get
macro-expanded.)

This patch fixes the problem by making min_of_type_<suffix> macros
function-like, so no macro expansion occurs when min_of_type_ is
expanded on its own as a macro argument, only later when followed by
() after expansion.

Tested for x86_64, including in conjunction with _Float64x support
patches.

	* sysdeps/generic/math_private.h (min_of_type_f): Make into a
	function-like macro.
	(min_of_type_): Likewise.
	(min_of_type_l): Likewise.
	(min_of_type_f128): Likewise.
	(min_of_type): Pass () as last argument of __MATH_TG.
2017-11-24 22:03:35 +00:00
..
aarch64 aarch64: Optimized memset for falkor 2017-11-20 18:25:04 +05:30
alpha nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 09:48:41 -02:00
arm Prefer https for Sourceware links 2017-11-16 11:49:26 +05:30
generic Make min_of_type_ macros function-like. 2017-11-24 22:03:35 +00:00
gnu The -Wstringop-truncation option new in GCC 8 detects common misuses 2017-11-15 17:39:59 -07:00
hppa Fix clog10_downward ulps on hppa. 2017-11-11 12:12:28 -05:00
i386 Use libm_alias_ldouble in sysdeps/i386/fpu. 2017-11-17 22:54:39 +00:00
ia64 Use libm_alias_ldouble macros in sysdeps/ia64/fpu. 2017-11-23 23:34:54 +00:00
ieee754 Support bits/floatn.h inclusion from .S files. 2017-11-17 22:01:43 +00:00
init_array Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
m68k nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 09:48:41 -02:00
mach Introduce NO_RTLD_HIDDEN, make hurd use it instead of NO_HIDDEN 2017-10-03 01:33:38 +02:00
microblaze nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 09:48:41 -02:00
mips Support bits/floatn.h inclusion from .S files. 2017-11-17 22:01:43 +00:00
nios2 nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 09:48:41 -02:00
nptl nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 09:48:41 -02:00
posix posix: Fix generic p{read,write}v buffer allocation (BZ#22457) 2017-11-24 12:16:15 -02:00
powerpc powerpc: Update AT_HWCAP2 bits 2017-11-17 21:49:02 -02:00
pthread aio: Remove internal_function function attribute 2017-08-31 15:59:06 +02:00
s390 S390: Add cfi information for start routines in order to stop unwinding. 2017-11-21 08:45:28 +01:00
sh nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 09:48:41 -02:00
sparc Remove unused sparc64/soft-fp libm function implementations. 2017-11-22 21:11:00 +00:00
tile nptl: Define __PTHREAD_MUTEX_{NUSERS_AFTER_KIND,USE_UNION} 2017-11-07 09:48:41 -02:00
unix Linux: Introduce <bits/mman-shared.h> 2017-11-24 17:55:59 +01:00
wordsize-32 Build divdi3 only for architecture that required it 2017-04-06 15:14:34 -03:00
wordsize-64 posix: Consolidate Linux glob implementation 2017-09-08 16:34:02 +02:00
x86 Support bits/floatn.h inclusion from .S files. 2017-11-17 22:01:43 +00:00
x86_64 Use libm_alias_ldouble in sysdeps/x86_64/fpu. 2017-11-17 23:39:11 +00:00