2 Below is the subset of gnulib commit
3 776af40e09b476a41073131a90022572f448c189 which deals with long double
4 redirects. The rest of that commit has been removed.
6 diff --git a/lib/cdefs.h b/lib/cdefs.h
7 index fd72b7b..4383e70 100644
11 # include <bits/long-double.h>
14 -#if defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
15 +#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
18 +/* Alias name defined automatically. */
19 +# define __LDBL_REDIR(name, proto) ... unused__ldbl_redir
20 +# define __LDBL_REDIR_DECL(name) \
21 + extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128"));
23 +/* Alias name defined automatically, with leading underscores. */
24 +# define __LDBL_REDIR2_DECL(name) \
25 + extern __typeof (__##name) __##name \
26 + __asm (__ASMNAME ("__" #name "ieee128"));
28 +/* Alias name defined manually. */
29 +# define __LDBL_REDIR1(name, proto, alias) ... unused__ldbl_redir1
30 +# define __LDBL_REDIR1_DECL(name, alias) \
31 + extern __typeof (name) name __asm (__ASMNAME (#alias));
33 +# define __LDBL_REDIR1_NTH(name, proto, alias) \
34 + __REDIRECT_NTH (name, proto, alias)
35 +# define __REDIRECT_NTH_LDBL(name, proto, alias) \
36 + __LDBL_REDIR1_NTH (name, proto, __##alias##ieee128)
39 +# define __REDIRECT_LDBL(name, proto, alias) ... unused__redirect_ldbl
40 +# define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth
43 +_Static_assert (0, "IEEE 128-bits long double requires redirection on this platform");
45 +#elif defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH
46 # define __LDBL_COMPAT 1
48 # define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias)
50 # define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias)
51 # define __LDBL_REDIR_NTH(name, proto) \
52 __LDBL_REDIR1_NTH (name, proto, __nldbl_##name)
53 +# define __LDBL_REDIR2_DECL(name) \
54 + extern __typeof (__##name) __##name __asm (__ASMNAME ("__nldbl___" #name));
55 # define __LDBL_REDIR1_DECL(name, alias) \
56 extern __typeof (name) name __asm (__ASMNAME (#alias));
57 # define __LDBL_REDIR_DECL(name) \
59 __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias)
62 -#if !defined __LDBL_COMPAT || !defined __REDIRECT
63 +#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \
64 + || !defined __REDIRECT
65 # define __LDBL_REDIR1(name, proto, alias) name proto
66 # define __LDBL_REDIR(name, proto) name proto
67 # define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW
68 # define __LDBL_REDIR_NTH(name, proto) name proto __THROW
69 +# define __LDBL_REDIR2_DECL(name)
70 # define __LDBL_REDIR_DECL(name)
72 # define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias)