1 /* -mlong-double-64 compatibility mode for <wchar.h> functions.
2 Copyright (C) 2006-2023 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
20 # error "Never include <bits/wchar-ldbl.h> directly; use <wchar.h> instead."
23 #if defined __USE_ISOC95 || defined __USE_UNIX98
24 __LDBL_REDIR_DECL (fwprintf
);
25 __LDBL_REDIR_DECL (wprintf
);
26 __LDBL_REDIR_DECL (swprintf
);
27 __LDBL_REDIR_DECL (vfwprintf
);
28 __LDBL_REDIR_DECL (vwprintf
);
29 __LDBL_REDIR_DECL (vswprintf
);
30 # if !__GLIBC_USE (DEPRECATED_SCANF)
31 # if defined __LDBL_COMPAT
32 # if __GLIBC_USE (C2X_STRTOL)
33 __LDBL_REDIR1_DECL (fwscanf
, __nldbl___isoc23_fwscanf
)
34 __LDBL_REDIR1_DECL (wscanf
, __nldbl___isoc23_wscanf
)
35 __LDBL_REDIR1_DECL (swscanf
, __nldbl___isoc23_swscanf
)
37 __LDBL_REDIR1_DECL (fwscanf
, __nldbl___isoc99_fwscanf
)
38 __LDBL_REDIR1_DECL (wscanf
, __nldbl___isoc99_wscanf
)
39 __LDBL_REDIR1_DECL (swscanf
, __nldbl___isoc99_swscanf
)
41 # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
42 # if __GLIBC_USE (C2X_STRTOL)
43 __LDBL_REDIR1_DECL (fwscanf
, __isoc23_fwscanfieee128
)
44 __LDBL_REDIR1_DECL (wscanf
, __isoc23_wscanfieee128
)
45 __LDBL_REDIR1_DECL (swscanf
, __isoc23_swscanfieee128
)
47 __LDBL_REDIR1_DECL (fwscanf
, __isoc99_fwscanfieee128
)
48 __LDBL_REDIR1_DECL (wscanf
, __isoc99_wscanfieee128
)
49 __LDBL_REDIR1_DECL (swscanf
, __isoc99_swscanfieee128
)
52 # error bits/stdlib-ldbl.h included when no ldbl redirections are required.
55 __LDBL_REDIR_DECL (fwscanf
);
56 __LDBL_REDIR_DECL (wscanf
);
57 __LDBL_REDIR_DECL (swscanf
);
63 __LDBL_REDIR1_DECL (wcstold
, wcstod
);
65 __LDBL_REDIR1_DECL (wcstold
, __wcstoieee128
)
67 # if !__GLIBC_USE (DEPRECATED_SCANF)
68 # if defined __LDBL_COMPAT
69 # if __GLIBC_USE (C2X_STRTOL)
70 __LDBL_REDIR1_DECL (vfwscanf
, __nldbl___isoc23_vfwscanf
)
71 __LDBL_REDIR1_DECL (vwscanf
, __nldbl___isoc23_vwscanf
)
72 __LDBL_REDIR1_DECL (vswscanf
, __nldbl___isoc23_vswscanf
)
74 __LDBL_REDIR1_DECL (vfwscanf
, __nldbl___isoc99_vfwscanf
)
75 __LDBL_REDIR1_DECL (vwscanf
, __nldbl___isoc99_vwscanf
)
76 __LDBL_REDIR1_DECL (vswscanf
, __nldbl___isoc99_vswscanf
)
78 # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
79 # if __GLIBC_USE (C2X_STRTOL)
80 __LDBL_REDIR1_DECL (vfwscanf
, __isoc23_vfwscanfieee128
)
81 __LDBL_REDIR1_DECL (vwscanf
, __isoc23_vwscanfieee128
)
82 __LDBL_REDIR1_DECL (vswscanf
, __isoc23_vswscanfieee128
)
84 __LDBL_REDIR1_DECL (vfwscanf
, __isoc99_vfwscanfieee128
)
85 __LDBL_REDIR1_DECL (vwscanf
, __isoc99_vwscanfieee128
)
86 __LDBL_REDIR1_DECL (vswscanf
, __isoc99_vswscanfieee128
)
89 # error bits/stdlib-ldbl.h included when no ldbl redirections are required.
92 __LDBL_REDIR_DECL (vfwscanf
);
93 __LDBL_REDIR_DECL (vwscanf
);
94 __LDBL_REDIR_DECL (vswscanf
);
100 __LDBL_REDIR1_DECL (wcstold_l
, wcstod_l
);
102 __LDBL_REDIR1_DECL (wcstold_l
, __wcstoieee128_l
)
106 #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
107 __LDBL_REDIR2_DECL (swprintf_chk
)
108 __LDBL_REDIR2_DECL (vswprintf_chk
)
109 # if __USE_FORTIFY_LEVEL > 1
110 __LDBL_REDIR2_DECL (fwprintf_chk
)
111 __LDBL_REDIR2_DECL (wprintf_chk
)
112 __LDBL_REDIR2_DECL (vfwprintf_chk
)
113 __LDBL_REDIR2_DECL (vwprintf_chk
)