glibc/stdlib
Zack Weinberg f0be25b633 Rename xlocale.h to bits/types/__locale_t.h.
xlocale.h is already a single-type micro-header, defining struct
__locale_struct and the typedefs __locale_t and locale_t.  This patch
brings it into the bits/types/ scheme: there are now
bits/types/__locale_t.h which defines only __locale_struct and
__locale_t, and bits/types/locale_t.h which defines locale_t as well
as the other two.  None of *our* headers need __locale_t.h, but it
appears to me that libstdc++ could make use of it.

There are a lot of external uses of xlocale.h, but all the uses I
checked had an autoconf test or equivalent for its existence.  It has
never been available from other C libraries, and it has always
contained a comment reading "This file is not standardized, don't rely
on it, it can go away without warning" so I think dropping it is
pretty safe.

I also took the opportunity to clean up comments in various public
header files that still talk about the *_l interfaces as though they
were completely nonstandard.  There are a few of them, notably the
strtoX_l and wcstoX_l families, that haven't been standardized, but
the bulk are in POSIX.1-2008.

        * locale/xlocale.h: Rename to...
	* locale/bits/types/__locale_t.h: ...here.  Adjust commentary.
	Only define struct __locale_struct and __locale_t, not locale_t.
        * locale/bits/types/locale_t.h: New file; define locale_t here.
        * locale/Makefile (headers): Update to match.

        * include/xlocale.h: Delete wrapper.
        * include/bits/types/__locale_t.h: New wrapper.
        * include/bits/types/locale_t.h: New wrapper.

        * ctype/ctype.h, include/printf.h, include/time.h
        * locale/langinfo.h, locale/locale.h, stdlib/monetary.h
        * stdlib/stdlib.h, string/string.h, string/strings.h, time/time.h
        * wcsmbs/wchar.h, wctype/wctype.h: Use bits/types/locale_t.h.
        Correct outdated comments regarding the standardization status of
        the functions that take locale_t arguments.

        * stdlib/strtod_l.c, stdlib/strtof_l.c, stdlib/strtol_l.c
        * stdlib/strtold_l.c, stdlib/strtoul_l.c, stdlib/strtoull_l.c
        * sysdeps/ieee754/ldbl-128ibm/strtold_l.c
        * sysdeps/ieee754/ldbl-64-128/strtold_l.c
        * wcsmbs/wcstod.c, wcsmbs/wcstod_l.c, wcsmbs/wcstof.c
        * wcsmbs/wcstof_l.c, wcsmbs/wcstold.c, wcsmbs/wcstold_l.c:
        Don't include xlocale.h. If necessary, include locale.h instead.

        * stdlib/strtold_l.c: Unconditionally include wchar.h.
2017-06-20 20:28:11 -04: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
Depend
Makefile float128: Add strtof128, wcstof128, and related functions. 2017-06-12 14:48:53 -03:00
Versions Do not use wildcard symbol names for public versions in Versions files. 2017-04-20 20:35:21 +00:00
a64l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
abort.c Remove __need macros from signal.h. 2017-05-20 19:04:43 -04: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-strtod.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
bug-strtod2.c Refactor strtod tests 2016-10-25 17:05:47 -02: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
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-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
drand48_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
erand48_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
errno.h Remove __need macros from errno.h (__need_Emath, __need_error_t). 2017-06-14 08:14:34 -04: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 float128: Extend the power of ten tables 2017-06-07 16:58:42 -03:00
fpioconst.h float128: Add strfromf128 2017-06-07 17:08:21 -03: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 float128: Add conversion from float128 to mpn 2017-06-07 17:03:43 -03: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.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
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.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
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.c 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
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
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 Rename xlocale.h to bits/types/__locale_t.h. 2017-06-20 20:28:11 -04: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.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
mrand48_r.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.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
nrand48.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
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.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
random.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
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.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
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.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
stdlib.h Rename xlocale.h to bits/types/__locale_t.h. 2017-06-20 20:28:11 -04:00
strfmon.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strfmon_l.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strfrom-skeleton.c float128: Add strfromf128 2017-06-07 17:08:21 -03: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.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtod_l.c Rename xlocale.h to bits/types/__locale_t.h. 2017-06-20 20:28:11 -04:00
strtod_nan.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
strtof.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtof_l.c Rename xlocale.h to bits/types/__locale_t.h. 2017-06-20 20:28:11 -04:00
strtof_nan.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtoimax.c
strtol.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtol_l.c Rename xlocale.h to bits/types/__locale_t.h. 2017-06-20 20:28:11 -04:00
strtold.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtold_l.c Rename xlocale.h to bits/types/__locale_t.h. 2017-06-20 20:28:11 -04:00
strtold_nan.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
strtoll_l.c Rename xlocale.h to bits/types/__locale_t.h. 2017-06-20 20:28:11 -04:00
strtoul.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtoul_l.c Rename xlocale.h to bits/types/__locale_t.h. 2017-06-20 20:28:11 -04:00
strtoull.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strtoull_l.c Rename xlocale.h to bits/types/__locale_t.h. 2017-06-20 20:28:11 -04: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-canon.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
test-canon2.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
testdiv.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
testdiv.input
testmb.c
testmb2.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-makecontext.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
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-putenv.c
tst-putenvmod.c
tst-qsort.c
tst-qsort2.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-random.c
tst-random2.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-secure-getenv.c 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-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-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-strtod-nan-locale-main.c float128: Add strtof128, wcstof128, and related functions. 2017-06-12 14:48:53 -03: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 float128: Add strtof128, wcstof128, and related functions. 2017-06-12 14:48:53 -03: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 Suppress internal declarations for most of the testsuite. 2017-05-11 19:27:59 -04:00
tst-strtod.h float128: Add strtof128, wcstof128, and related functions. 2017-06-12 14:48:53 -03:00
tst-strtod1i.c Suppress internal declarations for most of the testsuite. 2017-05-11 19:27:59 -04:00
tst-strtod2.c
tst-strtod3.c
tst-strtod4.c
tst-strtod5.c Suppress internal declarations for most of the testsuite. 2017-05-11 19:27:59 -04:00
tst-strtod5i.c Suppress internal declarations for most of the testsuite. 2017-05-11 19:27:59 -04:00
tst-strtod6.c Refactor strtod tests 2016-10-25 17:05:47 -02: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 Convert 703 function definitions to prototype style. 2015-10-16 20:21:49 +00:00
tst-strtoll.c Convert 703 function definitions to prototype style. 2015-10-16 20:21:49 +00:00
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
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