1 /* -mlong-double-64 compatibility mode for <wchar.h> functions. 2 Copyright (C) 2006-2022 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 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. 9 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. 14 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/>. */ 18 19 #ifndef _WCHAR_H 20 # error "Never include <bits/wchar-ldbl.h> directly; use <wchar.h> instead." 21 #endif 22 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 __LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc99_fwscanf) 33 __LDBL_REDIR1_DECL (wscanf, __nldbl___isoc99_wscanf) 34 __LDBL_REDIR1_DECL (swscanf, __nldbl___isoc99_swscanf) 35 # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 36 __LDBL_REDIR1_DECL (fwscanf, __isoc99_fwscanfieee128) 37 __LDBL_REDIR1_DECL (wscanf, __isoc99_wscanfieee128) 38 __LDBL_REDIR1_DECL (swscanf, __isoc99_swscanfieee128) 39 # else 40 # error bits/stdlib-ldbl.h included when no ldbl redirections are required. 41 # endif 42 # else 43 __LDBL_REDIR_DECL (fwscanf); 44 __LDBL_REDIR_DECL (wscanf); 45 __LDBL_REDIR_DECL (swscanf); 46 # endif 47 #endif 48 49 #ifdef __USE_ISOC99 50 # ifdef __LDBL_COMPAT 51 __LDBL_REDIR1_DECL (wcstold, wcstod); 52 # else 53 __LDBL_REDIR1_DECL (wcstold, __wcstoieee128) 54 # endif 55 # if !__GLIBC_USE (DEPRECATED_SCANF) 56 # if defined __LDBL_COMPAT 57 __LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc99_vfwscanf) 58 __LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc99_vwscanf) 59 __LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc99_vswscanf) 60 # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 61 __LDBL_REDIR1_DECL (vfwscanf, __isoc99_vfwscanfieee128) 62 __LDBL_REDIR1_DECL (vwscanf, __isoc99_vwscanfieee128) 63 __LDBL_REDIR1_DECL (vswscanf, __isoc99_vswscanfieee128) 64 # else 65 # error bits/stdlib-ldbl.h included when no ldbl redirections are required. 66 # endif 67 # else 68 __LDBL_REDIR_DECL (vfwscanf); 69 __LDBL_REDIR_DECL (vwscanf); 70 __LDBL_REDIR_DECL (vswscanf); 71 # endif 72 #endif 73 74 #ifdef __USE_GNU 75 # ifdef __LDBL_COMPAT 76 __LDBL_REDIR1_DECL (wcstold_l, wcstod_l); 77 # else 78 __LDBL_REDIR1_DECL (wcstold_l, __wcstoieee128_l) 79 # endif 80 #endif 81 82 #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function 83 __LDBL_REDIR2_DECL (swprintf_chk) 84 __LDBL_REDIR2_DECL (vswprintf_chk) 85 # if __USE_FORTIFY_LEVEL > 1 86 __LDBL_REDIR2_DECL (fwprintf_chk) 87 __LDBL_REDIR2_DECL (wprintf_chk) 88 __LDBL_REDIR2_DECL (vfwprintf_chk) 89 __LDBL_REDIR2_DECL (vwprintf_chk) 90 # endif 91 #endif 92