3 /* Workaround PR90731 with GCC 9 when using ldbl redirects in C++. */
4 #include <bits/floatn.h>
5 #if defined __cplusplus && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1
6 # if __GNUC_PREREQ (9, 0) && !__GNUC_PREREQ (9, 3)
7 # pragma GCC system_header
11 #include <stdio-common/printf.h>
15 /* Internal interfaces for registered specifiers. */
16 extern printf_arginfo_size_function
**__printf_arginfo_table attribute_hidden
;
17 extern printf_function
**__printf_function_table attribute_hidden
;
18 extern printf_va_arg_function
**__printf_va_arg_table attribute_hidden
;
19 int __register_printf_specifier (int, printf_function
,
20 printf_arginfo_size_function
);
21 libc_hidden_proto (__register_printf_specifier
)
23 /* The various kinds of arguments that can be passed to printf. */
29 long long int pa_long_long_int
;
30 unsigned int pa_u_int
;
31 unsigned long int pa_u_long_int
;
32 unsigned long long int pa_u_long_long_int
;
34 long double pa_long_double
;
35 #if __HAVE_FLOAT128_UNLIKE_LDBL
36 _Float128 pa_float128
;
38 const char *pa_string
;
39 const wchar_t *pa_wstring
;
44 #include <bits/types/locale_t.h>
46 /* Now define the internal interfaces. */
47 extern int __printf_fphex (FILE *, const struct printf_info
*,
48 const void *const *) attribute_hidden
;
49 extern int __printf_fp (FILE *, const struct printf_info
*,
51 libc_hidden_proto (__printf_fp
)
52 extern int __printf_fp_l (FILE *, locale_t
, const struct printf_info
*,
54 libc_hidden_proto (__printf_fp_l
)
56 extern unsigned int __guess_grouping (unsigned int intdig_max
,
60 # endif /* !_ISOMAC */