glibc (2.38)

(root)/
include/
bits/
wchar-ldbl.h
       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.
       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  #   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)
      36  #   else
      37  __LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc99_fwscanf)
      38  __LDBL_REDIR1_DECL (wscanf, __nldbl___isoc99_wscanf)
      39  __LDBL_REDIR1_DECL (swscanf, __nldbl___isoc99_swscanf)
      40  #   endif
      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)
      46  #   else
      47  __LDBL_REDIR1_DECL (fwscanf, __isoc99_fwscanfieee128)
      48  __LDBL_REDIR1_DECL (wscanf, __isoc99_wscanfieee128)
      49  __LDBL_REDIR1_DECL (swscanf, __isoc99_swscanfieee128)
      50  #   endif
      51  #  else
      52  #   error bits/stdlib-ldbl.h included when no ldbl redirections are required.
      53  #  endif
      54  # else
      55  __LDBL_REDIR_DECL (fwscanf);
      56  __LDBL_REDIR_DECL (wscanf);
      57  __LDBL_REDIR_DECL (swscanf);
      58  # endif
      59  #endif
      60  
      61  #ifdef __USE_ISOC99
      62  # ifdef __LDBL_COMPAT
      63  __LDBL_REDIR1_DECL (wcstold, wcstod);
      64  # else
      65  __LDBL_REDIR1_DECL (wcstold, __wcstoieee128)
      66  # endif
      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)
      73  #   else
      74  __LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc99_vfwscanf)
      75  __LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc99_vwscanf)
      76  __LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc99_vswscanf)
      77  #   endif
      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)
      83  #   else
      84  __LDBL_REDIR1_DECL (vfwscanf, __isoc99_vfwscanfieee128)
      85  __LDBL_REDIR1_DECL (vwscanf, __isoc99_vwscanfieee128)
      86  __LDBL_REDIR1_DECL (vswscanf, __isoc99_vswscanfieee128)
      87  #   endif
      88  #  else
      89  #   error bits/stdlib-ldbl.h included when no ldbl redirections are required.
      90  #  endif
      91  # else
      92  __LDBL_REDIR_DECL (vfwscanf);
      93  __LDBL_REDIR_DECL (vwscanf);
      94  __LDBL_REDIR_DECL (vswscanf);
      95  # endif
      96  #endif
      97  
      98  #ifdef __USE_GNU
      99  # ifdef __LDBL_COMPAT
     100  __LDBL_REDIR1_DECL (wcstold_l, wcstod_l);
     101  # else
     102  __LDBL_REDIR1_DECL (wcstold_l, __wcstoieee128_l)
     103  # endif
     104  #endif
     105  
     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)
     114  # endif
     115  #endif