glibc/stdlib
Joseph Myers 2072f5c34e Remove C++ namespace handling from glibc headers.
glibc headers include some code (not particularly consistent or
systematic) to put various declarations in C++ namespaces std and
__c99, if _GLIBCPP_USE_NAMESPACES is defined.

As noted in <https://gcc.gnu.org/ml/libstdc++/2017-03/msg00025.html>,
this macro was removed from libstdc++ in 2000.  I don't expect
compilation with such old versions of libstdc++ to work with current
glibc headers anyway (whereas old *binaries* are expected to stay
working with current glibc); this patch (which should be a no-op with
any libstdc++ version postdating that removal) removes all this code
from the glibc headers.

The begin-end-check.pl test, whose comments say it is about checking
these namespace macro calls, is also removed.  The code in that test
would have covered __BEGIN_DECLS / __END_DECLS as well, but if those
weren't properly matched it would show up with the
check-installed-headers-cxx tests, so I don't think there is an actual
use for keeping begin-end-check.pl with the namespace code removed.

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

	* misc/sys/cdefs.h (__BEGIN_NAMESPACE_STD): Remove macro.
	(__END_NAMESPACE_STD): Likewise.
	(__USING_NAMESPACE_STD): Likewise.
	(__BEGIN_NAMESPACE_C99): Likewise.
	(__END_NAMESPACE_C99): Likewise.
	(__USING_NAMESPACE_C99): Likewise.
	* math/math.h (_Mdouble_BEGIN_NAMESPACE): Do not define and
	undefine macro.
	(_Mdouble_END_NAMESPACE): Likewise.
	* ctype/ctype.h: Do not handle C++ namespaces.
	* libio/bits/stdio-ldbl.h: Likewise.
	* libio/stdio.h: Likewise.
	* locale/locale.h: Likewise.
	* math/bits/mathcalls.h: Likewise.
	* setjmp/setjmp.h: Likewise.
	* signal/signal.h: Likewise.
	* stdlib/bits/stdlib-float.h: Likewise.
	* stdlib/bits/stdlib-ldbl.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/string.h: Likewise.
	* sysdeps/x86/fpu/bits/mathinline.h: Likewise.
	* time/bits/types/clock_t.h: Likewise.
	* time/bits/types/struct_tm.h: Likewise.
	* time/bits/types/time_t.h: Likewise.
	* time/time.h: Likewise.
	* wcsmbs/bits/wchar-ldbl.h: Likewise.
	* wcsmbs/uchar.h: Likewise.
	* wcsmbs/wchar.h: Likewise.
	[_GLIBCPP_USE_NAMESPACES] (wint_t): Remove conditional definition.
	* wctype/wctype.h: Do not handle C++ namespaces.
	* scripts/begin-end-check.pl: Remove.
	* Makefile (installed-headers): Likewise.
	(tests-special): Do not add $(objpfx)begin-end-check.out.
	($(objpfx)begin-end-check.out): Remove.
2017-03-16 13:31:57 +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 environment traversal when an envvar value is empty 2017-01-20 00:45:09 +05:30
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 Remove C++ namespace handling from glibc headers. 2017-03-16 13:31:57 +00: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 Add getentropy, getrandom, <sys/random.h> [BZ #17252] 2016-12-12 17:28:04 +01: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