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