index
:
riscv-gnu-toolchain/glibc.git
aaribaud/bugzilla/23789/v2
aaribaud/bugzilla/23789/v4
aaribaud/y2038
aaribaud/y2038-submitted-v1
aj/revert-sunrpc
aj/shared-linux-fcntl
akhuettel/tests-libgcc-3
alistair/rv32.next
alistair/rv32.wip
allan/config-files
andros/avx512f-mem
andros/libmvec
andros/pr19654
archlinux/2.18/master
arm/gcs
arm/gcs-v2
arm/ilp32
arm/morello/main
arm/morello/v1
arm/morello/v2
arm/morello/v3
azanella/bz23960-dirent
azanella/bz25263-loader-realpath
azanella/bz30558-posix_timer
azanella/bz31664-openat2
azanella/cancel-wrappers-inline
azanella/clang
azanella/memory-seal-v6
azanella/mips-hw-fp-round
carlos/dlmopen
carlos/master
cmetcalf/tile-2.15
codonell/c-utf8
codonell/ld-audit
cvs/fedora-2_3-branch
cvs/fedora-2_5-branch
cvs/fedora-branch
cvs/glibc-2-1-branch
cvs/glibc-2-2-branch
cvs/glibc-2_0_x
cvs/glibc-2_10-branch
cvs/glibc-2_3-branch
cvs/glibc-2_5-branch
cvs/glibc-2_6-branch
cvs/glibc-2_7-branch
cvs/glibc-2_8-branch
cvs/glibc-2_9-branch
cvs/master
cvs/sparc-2_0_x-branch
cvs/thomas-posix1996
davem/sparc
dj/malloc
dj/malloc-tcache
fedora/2.10/master
fedora/2.11/master
fedora/2.12/master
fedora/2.13/master
fedora/2.14/master
fedora/2.22/master
fedora/master
fw/bug16145
fw/bug20018-backport
fw/bug21041
fw/bug21242
fw/bug24214
fw/bug24562
fw/bug25097
fw/bug25112
fw/bug25157
fw/bug25225
fw/bug30619
fw/bug31943-with-test
fw/dl-bind-performance
fw/dlopen-nodelete-reloc
fw/elf-fixups
fw/gcc-10-fixes
fw/getdents64
fw/libc-early-init-2
fw/libm-noprivate-2.27
fw/linux-5.2
fw/localedef-utf8
fw/math-split-tests
fw/no-symlinks
fw/nss-declare
fw/resolv-cleanups
fw/syscall-cleanups
fw/tst-gmon
fw/tst-lchmod
fw/tst-mallocfork2
fw/twalk_r-iconv
fw/vfprintf-2
fw/x86-diagnostics
fw/x86-shstk-backtrace
gabriel/powerpc-ieee128-printscan
gentoo/2.18
gentoo/2.19
gentoo/2.20
gentoo/2.21
gentoo/2.22
gentoo/2.23
gentoo/2.24
gentoo/2.25
google/grte/v4-2.19/master
google/grte/v5-2.27/master
google/grte/v6-2.29/master
hjl/2.17/memset
hjl/32bit/2.22
hjl/32bit/master
hjl/cache/master
hjl/cacheinfo/master
hjl/cacheline/ifunc
hjl/cacheline/master
hjl/ctor/release/2.11
hjl/ctor/release/2.12
hjl/erms/2.22
hjl/erms/2.23
hjl/erms/i386
hjl/erms/ifunc
hjl/erms/master
hjl/erms/nt
hjl/fma/2.26
hjl/fma/master
hjl/global
hjl/gmp
hjl/hwcap/master
hjl/i386/master
hjl/i486/multiarch
hjl/i486/multiarch-old
hjl/implies
hjl/init
hjl/ld.so/master
hjl/memcpy/dpdk/master
hjl/mempcpy
hjl/nsz/math
hjl/plt/2.21
hjl/plt/2.22
hjl/plt/master
hjl/pr14370
hjl/pr14562/2.16
hjl/pr14562/master
hjl/pr14654
hjl/pr14716
hjl/pr14831
hjl/pr14937
hjl/pr14941
hjl/pr14955
hjl/pr14995
hjl/pr17711/2.18
hjl/pr17711/2.19
hjl/pr17711/2.20
hjl/pr17711/2.21
hjl/pr17841/2.21
hjl/pr17841/master
hjl/pr18078
hjl/pr18422
hjl/pr18661
hjl/pr18696
hjl/pr19122
hjl/pr19178/master
hjl/pr19363/2.22
hjl/pr19363/clobber
hjl/pr19363/master
hjl/pr19371/master
hjl/pr19463
hjl/pr19583
hjl/pr19590
hjl/pr19679/2.23
hjl/pr20309/master
hjl/pr21120/2.24
hjl/pr21120/2.25
hjl/pr21120/master
hjl/pr21258/2.23
hjl/pr21666/2.25
hjl/pr21666/master
hjl/pr21752/master
hjl/pr21815/master
hjl/pr21864/master
hjl/pr21913/master
hjl/pr21967/master
hjl/pr22053/master
hjl/pr22298/master
hjl/pr22353/master
hjl/pr22362/master
hjl/pr22363/master
hjl/pr23240/fw
hjl/pthread/2.21
hjl/pthread/2.22
hjl/release/2.20/master
hjl/size/master
hjl/tst-plt
hjl/unaligned
ibm/2.10/master
ibm/2.11/master
ibm/2.12/master
ibm/2.13/master
ibm/2.16/master
ibm/2.18/master
ibm/2.19/master
ibm/2.20/master
ibm/2.22/master
ibm/2.24/master
ibm/2.26/master
ibm/2.28/master
ibm/2.30/master
ibm/2.32/master
ibm/2.8/master
ibm/master
ldmitrie/intel_mpx
linaro/2.21/master
linaro/2.23/master
linaro/master
lxoliva/getaddrinfo
maskray/relr
maskray/stack_chk_guard
maskray/x86-mpx
master
mfabian/collation-update-2.27
neleai/string-x64
neleai/strlen
nsz/bti-1
nsz/btifix-v3
nsz/bug19329
nsz/bug19329-v2
nsz/bug23293
nsz/bug23293-v5
nsz/bug23293-v6
nsz/bug27072
nsz/math
nsz/mathvec
nsz/mtag
nsz/mtag-2
nsz/pacbti-v4
nsz/pacbti-v5
nsz/pacbti-v6
nsz/pacbti-v7
pasky/fixes
pasky/fixes-overdue
pranavk/grte_v5_plus
rearnsha/mte-v3.0
rearnsha/mte-v4.0
release/2.10/master
release/2.11/master
release/2.12/master
release/2.13/master
release/2.14/master
release/2.15/master
release/2.16/master
release/2.17/master
release/2.18/master
release/2.19/master
release/2.20/master
release/2.21/master
release/2.22/master
release/2.23/master
release/2.24/master
release/2.25/master
release/2.26/master
release/2.27/master
release/2.28/master
release/2.29/master
release/2.30/master
release/2.31/master
release/2.32/master
release/2.33/master
release/2.34/master
print_table
(),
next if
$_
eq
"[table]"
;
print
;
}
sub
print_table
{
my
(
$lo
,
$hi
);
my
$prevname
=
""
;
for
(
$lo
=
0
;
$lo
<=
$#tags
;
$lo
=
$hi
) {
$hi
=
$lo
;
$hi
++
while
$hi
<=
$#tags
&&
$tags
[
$hi
]
eq
$tags
[
$lo
]
&&
$names
[
$hi
]
eq
$names
[
$lo
];
# Range from $lo to $hi-1.
# Don't make entries for ranges that are not valid idchars.
next if
(
$tags
[
$lo
]
eq
""
);
my
$tag
=
$tags
[
$lo
];
$tag
=
" "
.
$tag
if
$tag
=~
/^C99/
;
if
(
$names
[
$lo
]
eq
$prevname
) {
printf
(
" { 0x
%04x
, 0x
%04x
, %-11s },
\n
"
,
$lo
,
$hi
-
1
,
$tag
);
}
else
{
printf
(
" { 0x
%04x
, 0x
%04x
, %-11s }, /*
%s
*/
\n
"
,
$lo
,
$hi
-
1
,
$tag
,
$names
[
$lo
]);
}
$prevname
=
$names
[
$lo
];
}
}
# The line is a list of four-digit hexadecimal numbers or
# pairs of such numbers. Each is a valid identifier character
# from the given language, under the given standard.
sub
process_range
{
for
my
$range
(
@_
) {
if
(
$range
=~
/^[0-9a-f]{4}$/
) {
my
$i
=
hex
(
$range
);
if
(
$tags
[
$i
]
eq
""
) {
$tags
[
$i
] =
$curstd
;
}
else
{
$tags
[
$i
] =
$curstd
.
"|"
.
$tags
[
$i
];
}
if
(
$names
[
$i
]
ne
""
&&
$names
[
$i
]
ne
$curlang
) {
warn sprintf
(
"language overlap:
%s
/
%s
at
%x
(tag
%d
)"
,
$names
[
$i
],
$curlang
,
$i
,
$tags
[
$i
]);
next
;
}
$names
[
$i
] =
$curlang
;
}
elsif
(
$range
=~
/^ ([0-9a-f]{4}) - ([0-9a-f]{4}) $/x
) {
my
(
$start
,
$end
) = (
hex
(
$1
),
hex
(
$2
));
my
$i
;
for
/* Fused multiply-add of long double (ldbl-128) values, narrowing the result to
double, using soft-fp.
Copyright (C) 2021-2025 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
#define f32xfmaf64x __hide_f32xfmaf64x
#define f32xfmaf128 __hide_f32xfmaf128
#define f64fmaf64x __hide_f64fmaf64x
#define f64fmaf128 __hide_f64fmaf128
#include <math.h>
#undef f32xfmaf64x
#undef f32xfmaf128
#undef f64fmaf64x
#undef f64fmaf128
#include <math-narrow.h>
#include <libc-diag.h>
/* R_e is not set in cases where it is not used in packing, but the
compiler does not see that it is set in all cases where it is
used, resulting in warnings that it may be used uninitialized.
The location of the warning differs in different versions of GCC,
it may be where R is defined using a macro or it may be where the
macro is defined. */
DIAG_PUSH_NEEDS_COMMENT
;
DIAG_IGNORE_NEEDS_COMMENT
(
4.9
,
"-Wmaybe-uninitialized"
);
#include <soft-fp.h>
#include <double.h>
#include <quad.h>
double
__dfmal
(
_Float128 x
,
_Float128 y
,
_Float128 z
)
{
FP_DECL_EX
;
FP_DECL_Q
(
X
);
FP_DECL_Q
(
Y
);
FP_DECL_Q
(
Z
);
FP_DECL_Q
(
R
);
FP_DECL_D
(
RN
);
double
ret
;
FP_INIT_ROUNDMODE
;
FP_UNPACK_Q
(
X
,
x
);
FP_UNPACK_Q
(
Y
,
y
);
FP_UNPACK_Q
(
Z
,
z
);
FP_FMA_Q
(
R
,
X
,
Y
,
Z
);
#if _FP_W_TYPE_SIZE < 64
FP_TRUNC_COOKED
(
D
,
Q
,
2
,
4
,
RN
,
R
);
#else
FP_TRUNC_COOKED
(
D
,
Q
,
1
,
2
,
RN
,
R
);
#endif
FP_PACK_D
(
ret
,
RN
);
FP_HANDLE_EXCEPTIONS
;
CHECK_NARROW_FMA
(
ret
,
x
,
y
,
z
);
return
ret
;
}
DIAG_POP_NEEDS_COMMENT
;
libm_alias_double_ldouble
(
fma
)