glibc/stdlib
Joseph Myers 176804300b Fix network headers stdint.h namespace (bug 21455).
conform/ namespace tests of arpa/inet.h, netdb.h and netinet/in.h fail
for UNIX98 and XPG42 because of inclusion of stdint.h, which defines
macros not permitted in those headers for those standards.  UNIX98
allows them to include inttypes.h, but (predating C99) has restricted
inttypes.h contents (not yet tested in the conform/ tests) not
including those macros; XPG4.2 has no such permission and no
inttypes.h / stdint.h at all.

This patch rearranges the headers to avoid this issue.  intN_t
definitions move to bits/stdint-intn.h, and uintN_t definitions to
bits/stdint-uintn.h.  (These are not bits/types/ headers because they
each define four types.  They are separate rather than just a single
header because sys/types.h defines intN_t but u_intN_t rather than
uintN_t - and while sys/types.h could define uintN_t because of the
POSIX reservation of *_t, existing practice there is largely to
condition types on appropriate feature test macros, and indeed there
is at least one open bug report (14553) about a type that's not
so-conditioned, so maybe types there should actually have conditions
added where appropriate.)  The affected network headers are then made
to include bits/stdint-uintn.h instead of stdint.h.  This allows six
XFAILs to be removed.

This doesn't do anything about inttypes.h defining more than it should
for UNIX98, but we don't have conformtest expectations for that case
at present (and my inclination is that a fix for that should be as
local as possible - affecting only inttypes.h, not stdint.h, only for
the case of __USE_UNIX98 && !__USE_ISOC99).

Tested for x86_64.

	[BZ #21455]
	* bits/stdint-intn.h: New file.
	* bits/stdint-uintn.h: Likewise.
	* stdlib/Makefile (headers): Add bits/stdint-intn.h and
	bits/stdint-uintn.h.
	* inet/netinet/in.h: Include <bits/stdint-uintn.h> instead of
	<stdint.h>.
	* posix/sys/types.h: Include <bits/stdint-intn.h>.
	(__int8_t_defined): Do not define here.
	(int8_t): Likewise.
	(int16_t): Likewise.
	(int32_t): Likewise.
	(int64_t): Likewise.
	[__GNUC_PREREQ (2, 7)] (__intN_t): Likewise.
	* resolv/netdb.h: Include <bits/stdint-uintn.h> instead of
	<stdint.h>.
	* include/netdb.h [_ISOMAC]: Do not include <stdint.h>.
	* sysdeps/generic/stdint.h: Include <bits/stdint-intn.h> and
	<bits/stdint-uintn.h>.
	(int8_t): Do not define here.
	(int16_t): Likewise.
	(int32_t): Likewise.
	(int64_t): Likewise.
	(uint8_t): Likewise.
	(uint16_t): Likewise.
	(uint32_t): Likewise.
	(uint64_t): Likewise.
	* conform/Makefile (test-xfail-XPG42/arpa/inet.h/conform): Remove
	variable.
	(test-xfail-XPG42/netdb.h/conform): Likewise.
	(test-xfail-XPG42/netinet/in.h/conform): Likewise.
	(test-xfail-UNIX98/arpa/inet.h/conform): Likewise.
	(test-xfail-UNIX98/netdb.h/conform): Likewise.
	(test-xfail-UNIX98/netinet/in.h/conform): Likewise.
2017-05-04 20:36:42 +00:00
..
bits Remove C++ namespace handling from glibc headers. 2017-03-16 13:31:57 +00:00
sys Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
a64l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
abort.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
abs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
add_n.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
addmul_1.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
alloca.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
at_quick_exit.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
atexit.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
atof.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
atoi.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
atol.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
atoll.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
bsearch.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
bug-fmtmsg1.c
bug-getcontext.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
bug-strtod2.c Refactor strtod tests 2016-10-25 17:05:47 -02:00
bug-strtod.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
canonicalize.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
cmp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
cxa_at_quick_exit.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
cxa_atexit.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
cxa_finalize.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
cxa_thread_atexit_impl.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
dbl2mpn.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Depend
div.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
divmod_1.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
divrem.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
drand48_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
drand48-iter.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
drand48.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
erand48_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
erand48.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
errno.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
exit.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
exit.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fmtmsg.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fmtmsg.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fpioconst.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fpioconst.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
gen-fpioconst.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
gen-tst-strtod-round.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getcontext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getentropy.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getenv.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getrandom.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getsubopt.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
gmp-impl.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
gmp.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
grouping.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
grouping.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
groupingwc.c
inlines.c
isomac.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
jrand48_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
jrand48.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
l64a.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
labs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
lcong48_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
lcong48.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ldbl2mpn.c
ldiv.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
llabs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
lldiv.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
longlong.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
lrand48_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
lrand48.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
lshift.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
makecontext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Makefile Fix network headers stdint.h namespace (bug 21455). 2017-05-04 20:36:42 +00:00
mblen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mbstowcs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mbtowc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mod_1.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
monetary.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mp_clz_tab.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mpn2dbl.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mpn2flt.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mpn2ldbl.c
mrand48_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mrand48.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
msort.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mul_1.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mul_n.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mul.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
nrand48_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
nrand48.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
old_atexit.c
on_exit.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
putenv.c Remove the str(n)dup inlines from string/bits/string2.h. Although inlining 2017-03-13 18:45:42 +00:00
qsort.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
quick_exit.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
rand_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
rand.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
random_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
random.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
rpmatch.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
rshift.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
secure-getenv.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
seed48_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
seed48.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
setcontext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
setenv.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
srand48_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
srand48.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
stdlib.h malloc: Turn cfree into a compatibility symbol 2017-04-18 11:50:58 +02:00
strfmon_l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strfmon.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strfrom-skeleton.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strfromd.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strfromf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strfroml.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtod_l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtod_nan_double.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtod_nan_float.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtod_nan_main.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtod_nan_narrow.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtod_nan_wide.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtod_nan.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtod.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtof_l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtof_nan.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtof.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtoimax.c
strtol_l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtol.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtold_l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtold_nan.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtold.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtoll_l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtoll.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtoul_l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtoul.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtoull_l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtoull.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtoumax.c
sub_n.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
submul_1.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
swapcontext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
system.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tens_in_limb.c
test-a64l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-canon2.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-canon.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
testdiv.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
testdiv.input
testmb2.c
testmb.c
testrand.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
testsort.c
tst-atof1.c
tst-atof2.c
tst-bsearch.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-empty-env.c Fix environment traversal when an envvar value is empty 2017-01-20 00:45:09 +05:30
tst-environ.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
tst-fmtmsg.c
tst-fmtmsg.sh Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-getrandom.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-limits.c
tst-makecontext2.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-makecontext3.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-makecontext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-putenv.c
tst-putenvmod.c
tst-qsort2.c
tst-qsort.c
tst-quick_exit.cc Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-rand48-2.c
tst-rand48.c
tst-random2.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-random.c
tst-secure-getenv.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-setcontext2.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-setcontext3.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-setcontext3.sh Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-setcontext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strfmon_l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strfrom-locale.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strfrom.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strfrom.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strtod2.c
tst-strtod3.c
tst-strtod4.c
tst-strtod5.c
tst-strtod6.c Refactor strtod tests 2016-10-25 17:05:47 -02:00
tst-strtod-nan-locale-main.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strtod-nan-locale.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strtod-overflow.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strtod-round-data
tst-strtod-round-data.h Make strtod raise "inexact" exceptions (bug 19380). 2016-10-28 00:40:23 +00:00
tst-strtod-round-skeleton.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strtod-round.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strtod-underflow.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strtod.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strtod.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strtol-locale-main.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strtol-locale.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-strtol.c
tst-strtoll.c
tst-system.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-thread-quick_exit.cc Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-tininess.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-tls-atexit-lib.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-tls-atexit-nodelete.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-tls-atexit.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-unsetenv1.c
tst-width-stdint.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-width.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-xpg-basename.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ucontext.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
udiv_qrnnd.c
Versions Do not use wildcard symbol names for public versions in Versions files. 2017-04-20 20:35:21 +00:00
wcstoimax.c
wcstombs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wcstoumax.c
wctomb.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
xpg_basename.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00