glibc/sysdeps
Joseph Myers 769998892d Define __intmax_t, __uintmax_t in bits/types.h.
TS 18661-1 defines *fromfp* functions, which are declared in math.h
and whose return types are intmax_t and uintmax_t, without allowing
math.h to define those typedefs.  (This is similar to e.g. ISO C
declaring vprintf in stdio.h without allowing that header to define
va_list.)  Thus, math.h needs to access those typedefs under internal
names.

This patch accordingly arranges for bits/types.h (which defines only
internal names, not public *_t typedefs) to define __intmax_t and
__uintmax_t.  stdint.h is made to use bits/types.h and define intmax_t
and uintmax_t using __intmax_t and __uintmax_t, to avoid duplication
of information.  (It would be reasonable to define more of the types
in stdint.h - and in sys/types.h, where it duplicates such types -
using information already available in bits/types.h.)  The idea is
that the subsequent addition of fromfp functions would then make
math.h include bits/types.h and use __intmax_t and __uintmax_t as the
return types of those functions.

Tested for x86_64 and x86 (testsuite, and that installed stripped
shared libraries are unchanged by the patch).

	* bits/types.h (__intmax_t): New typedef.
	(__uintmax_t): Likewise.
	* sysdeps/generic/stdint.h: Include <bits/types.h>.
	(intmax_t): Define using __intmax_t.
	(uintmax_t): Define using __uintmax_t.
2016-12-30 13:41:40 +00:00
..
aarch64 Refactor long double information into bits/long-double.h. 2016-12-14 18:27:56 +00:00
alpha Refactor long double information into bits/long-double.h. 2016-12-14 18:27:56 +00:00
arm New string function explicit_bzero (from OpenBSD). 2016-12-16 16:21:54 -05:00
generic Define __intmax_t, __uintmax_t in bits/types.h. 2016-12-30 13:41:40 +00:00
gnu Define wordsize.h macros everywhere 2016-11-04 09:37:44 -07:00
hppa Add missing hidden_def (__sigsetjmp). 2016-12-01 20:49:25 +00:00
i386 Fix typos in the spelling of "implementation" 2016-12-27 20:13:35 +00:00
ia64 Refactor long double information into bits/long-double.h. 2016-12-14 18:27:56 +00:00
ieee754 Add roundeven, roundevenf, roundevenl. 2016-12-21 01:48:27 +00:00
init_array Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
m68k Refactor long double information into bits/long-double.h. 2016-12-14 18:27:56 +00:00
mach Fix hurd __access_noerrno implementation. 2016-11-18 16:49:08 -02:00
microblaze Remove cached PID/TID in clone 2016-11-24 19:38:51 -02:00
mips Refactor long double information into bits/long-double.h. 2016-12-14 18:27:56 +00:00
nacl Do not stack-protect ifunc resolvers [BZ #7065] 2016-12-26 10:08:41 +01:00
nios2 Remove cached PID/TID in clone 2016-11-24 19:38:51 -02:00
nptl Remove cached PID/TID in clone 2016-11-24 19:38:51 -02:00
posix hurd: fix fcntl visibility 2016-09-18 23:48:55 +02:00
powerpc powerpc: Fix powerpc32/power7 memchr for large input sizes 2016-12-28 11:44:31 -02:00
pthread Installed-header hygiene (BZ#20366): time.h types. 2016-09-23 08:43:56 -04:00
s390 Fix typos in the spelling of "implementation" 2016-12-27 20:13:35 +00:00
sh Add missing hidden_def (__sigsetjmp). 2016-12-01 20:49:25 +00:00
sparc Fix typos in the spelling of "implementation" 2016-12-27 20:13:35 +00:00
tile Add missing hidden_def (__sigsetjmp). 2016-12-01 20:49:25 +00:00
unix Use shmget syscall for linux implementation 2016-12-28 20:31:05 -02:00
wordsize-32 Define wordsize.h macros everywhere 2016-11-04 09:37:44 -07:00
wordsize-64 Define wordsize.h macros everywhere 2016-11-04 09:37:44 -07:00
x86 Disable TSX on some Haswell processors. 2016-12-19 14:15:57 +03:00
x86_64 Fix x86_64 memchr for large input sizes 2016-12-27 10:50:41 -02:00