mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-27 07:20:11 +00:00
5b17fd0da6
TS 18661-1 defines macros for the width of integer types, intended for use with the fromfp functions to convert from floating-point types to integer types of any width, in any rounding mode and with control over whether "inexact" is raised. Such macros are, of course, more generally useful than just with those functions. Those macros are added to <limits.h> and <stdint.h>. Having previously added the <limits.h> macros, this patch adds the <stdint.h> ones. I've also added these macros to GCC's headers for GCC 7, but for glibc systems, the definitions in GCC's <stdint.h> will only be used with -ffreestanding. Tested for x86_64 and x86. * sysdeps/generic/stdint.h: Define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION and include <bits/libc-header-start.h> instead of including <features.h>. [__GLIBC_USE (IEC_60559_BFP_EXT)] (INT8_WIDTH): New macro. [__GLIBC_USE (IEC_60559_BFP_EXT)] (UINT8_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (INT16_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (UINT16_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (INT32_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (UINT32_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (INT64_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (UINT64_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (INT_LEAST8_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (UINT_LEAST8_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (INT_LEAST16_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (UINT_LEAST16_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (INT_LEAST32_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (UINT_LEAST32_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (INT_LEAST64_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (UINT_LEAST64_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (INT_FAST8_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (UINT_FAST8_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (INT_FAST16_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (UINT_FAST16_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (INT_FAST32_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (UINT_FAST32_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (INT_FAST64_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (UINT_FAST64_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (INTPTR_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (UINTPTR_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (INTMAX_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (UINTMAX_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (PTRDIFF_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (SIG_ATOMIC_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (SIZE_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (WCHAR_WIDTH): Likewise. [__GLIBC_USE (IEC_60559_BFP_EXT)] (WINT_WIDTH): Likewise. * manual/arith.texi (Integers): Document these macros for types specified by width properties. * manual/lang.texi (Width of Type): Document these macros for other standard typedefs. * stdlib/tst-width-stdint.c: New file. * stdlib/Makefile (tests): Add tst-width-stdint. |
||
---|---|---|
.. | ||
net | ||
netinet | ||
nfs | ||
sys | ||
_G_config.h | ||
_itoa.h | ||
a.out.h | ||
abort-instr.h | ||
aio_misc.h | ||
allocalim.h | ||
asm-syntax.h | ||
atomic-machine.h | ||
c++-types.data | ||
confstr.h | ||
device-nrs.h | ||
dirstream.h | ||
dl-cache.h | ||
dl-dtprocnum.h | ||
dl-dtv.h | ||
dl-fcntl.h | ||
dl-fileid.h | ||
dl-fptr.h | ||
dl-hash.h | ||
dl-irel.h | ||
dl-librecon.h | ||
dl-lookupcfg.h | ||
dl-machine.h | ||
dl-mman.h | ||
dl-osinfo.h | ||
dl-procinfo.c | ||
dl-procinfo.h | ||
dl-sysdep.h | ||
dl-tls.h | ||
dl-unistd.h | ||
dwarf2.h | ||
elide.h | ||
eloop-threshold.h | ||
entry.h | ||
errqueue.h | ||
exit-thread.h | ||
fd_to_filename.h | ||
fips-private.h | ||
fix-fp-int-convert-overflow.h | ||
fix-int-fp-convert-zero.h | ||
fork.h | ||
fpu_control.h | ||
frame.h | ||
framestate.c | ||
gcc-compat.h | ||
gccframe.h | ||
get-rounding-mode.h | ||
gmp-mparam.h | ||
hp-timing-common.h | ||
hp-timing.h | ||
ifreq.h | ||
ifunc-sel.h | ||
intr-msg.h | ||
inttypes.h | ||
ld.abilist | ||
ldconfig.h | ||
ldsodefs.h | ||
libanl.abilist | ||
libBrokenLocale.abilist | ||
libc-lock.h | ||
libc-mmap.h | ||
libc-tsd.h | ||
libc.abilist | ||
libcidn.abilist | ||
libcrypt.abilist | ||
libdl.abilist | ||
libm-test-ulps | ||
libm.abilist | ||
libnsl.abilist | ||
libnss_compat.abilist | ||
libnss_db.abilist | ||
libnss_dns.abilist | ||
libnss_files.abilist | ||
libnss_hesiod.abilist | ||
libnss_nis.abilist | ||
libnss_nisplus.abilist | ||
libpthread.abilist | ||
libresolv.abilist | ||
librt.abilist | ||
libutil.abilist | ||
linkmap.h | ||
local-setxid.h | ||
localplt.data | ||
machine-gmon.h | ||
machine-lock.h | ||
machine-sp.h | ||
Makefile | ||
malloc-machine.h | ||
malloc-sysdep.h | ||
math_ldbl_opt.h | ||
math_ldbl.h | ||
math_private.h | ||
math-tests-arch.h | ||
math-tests.h | ||
math-type-macros-double.h | ||
math-type-macros-float.h | ||
math-type-macros-ldouble.h | ||
math-type-macros.h | ||
memcopy.h | ||
memusage.h | ||
not-cancel.h | ||
nscd-types.h | ||
pagecopy.h | ||
paths.h | ||
profil-counter.h | ||
pty-private.h | ||
register-dump.h | ||
rtld-lowlevel.h | ||
safe-fatal.h | ||
sigcontextinfo.h | ||
siglist.h | ||
sigset-cvt-mask.h | ||
stackguard-macros.h | ||
stackinfo.h | ||
stdint.h | ||
stdio-lock.h | ||
string_private.h | ||
symbol-hacks.h | ||
sysdep-cancel.h | ||
sysdep.h | ||
thread_state.h | ||
tininess.h | ||
tls-macros.h | ||
tls.h | ||
tst-audit.h | ||
tst-stack-align.h | ||
unsecvars.h | ||
unwind-dw2-fde-glibc.c | ||
unwind-dw2-fde.c | ||
unwind-dw2-fde.h | ||
unwind-dw2.c | ||
unwind-pe.c | ||
unwind-pe.h | ||
unwind-resume.h | ||
unwind.h | ||
utmp-equal.h |