1 /* -mlong-double-64 compatibility mode for stdio 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 _STDIO_H 20 # error "Never include <bits/stdio-ldbl.h> directly; use <stdio.h> instead." 21 #endif 22 23 __LDBL_REDIR_DECL (fprintf) 24 __LDBL_REDIR_DECL (printf) 25 __LDBL_REDIR_DECL (sprintf) 26 __LDBL_REDIR_DECL (vfprintf) 27 __LDBL_REDIR_DECL (vprintf) 28 __LDBL_REDIR_DECL (vsprintf) 29 #if !__GLIBC_USE (DEPRECATED_SCANF) 30 # if defined __LDBL_COMPAT 31 __LDBL_REDIR1_DECL (fscanf, __nldbl___isoc99_fscanf) 32 __LDBL_REDIR1_DECL (scanf, __nldbl___isoc99_scanf) 33 __LDBL_REDIR1_DECL (sscanf, __nldbl___isoc99_sscanf) 34 # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 35 __LDBL_REDIR1_DECL (fscanf, __isoc99_fscanfieee128) 36 __LDBL_REDIR1_DECL (scanf, __isoc99_scanfieee128) 37 __LDBL_REDIR1_DECL (sscanf, __isoc99_sscanfieee128) 38 # else 39 # error bits/stdlib-ldbl.h included when no ldbl redirections are required. 40 # endif 41 #else 42 __LDBL_REDIR_DECL (fscanf) 43 __LDBL_REDIR_DECL (scanf) 44 __LDBL_REDIR_DECL (sscanf) 45 #endif 46 47 #if defined __USE_ISOC99 || defined __USE_UNIX98 48 __LDBL_REDIR_DECL (snprintf) 49 __LDBL_REDIR_DECL (vsnprintf) 50 #endif 51 52 #ifdef __USE_ISOC99 53 # if !__GLIBC_USE (DEPRECATED_SCANF) 54 # if defined __LDBL_COMPAT 55 __LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc99_vfscanf) 56 __LDBL_REDIR1_DECL (vscanf, __nldbl___isoc99_vscanf) 57 __LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc99_vsscanf) 58 # elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 59 __LDBL_REDIR1_DECL (vfscanf, __isoc99_vfscanfieee128) 60 __LDBL_REDIR1_DECL (vscanf, __isoc99_vscanfieee128) 61 __LDBL_REDIR1_DECL (vsscanf, __isoc99_vsscanfieee128) 62 # else 63 # error bits/stdlib-ldbl.h included when no ldbl redirections are required. 64 # endif 65 # else 66 __LDBL_REDIR_DECL (vfscanf) 67 __LDBL_REDIR_DECL (vsscanf) 68 __LDBL_REDIR_DECL (vscanf) 69 # endif 70 #endif 71 72 #ifdef __USE_XOPEN2K8 73 __LDBL_REDIR_DECL (vdprintf) 74 __LDBL_REDIR_DECL (dprintf) 75 #endif 76 77 #ifdef __USE_GNU 78 __LDBL_REDIR_DECL (vasprintf) 79 __LDBL_REDIR2_DECL (asprintf) 80 __LDBL_REDIR_DECL (asprintf) 81 __LDBL_REDIR_DECL (obstack_printf) 82 __LDBL_REDIR_DECL (obstack_vprintf) 83 #endif 84 85 #if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function 86 __LDBL_REDIR2_DECL (sprintf_chk) 87 __LDBL_REDIR2_DECL (vsprintf_chk) 88 # if defined __USE_ISOC99 || defined __USE_UNIX98 89 __LDBL_REDIR2_DECL (snprintf_chk) 90 __LDBL_REDIR2_DECL (vsnprintf_chk) 91 # endif 92 # if __USE_FORTIFY_LEVEL > 1 93 __LDBL_REDIR2_DECL (fprintf_chk) 94 __LDBL_REDIR2_DECL (printf_chk) 95 __LDBL_REDIR2_DECL (vfprintf_chk) 96 __LDBL_REDIR2_DECL (vprintf_chk) 97 # ifdef __USE_XOPEN2K8 98 __LDBL_REDIR2_DECL (dprintf_chk) 99 __LDBL_REDIR2_DECL (vdprintf_chk) 100 # endif 101 # ifdef __USE_GNU 102 __LDBL_REDIR2_DECL (asprintf_chk) 103 __LDBL_REDIR2_DECL (vasprintf_chk) 104 __LDBL_REDIR2_DECL (obstack_printf_chk) 105 __LDBL_REDIR2_DECL (obstack_vprintf_chk) 106 # endif 107 # endif 108 #endif 109