gcc/libstdc++-v3
Patrick Palka 9ca1471540 c++: implement __remove_cv, __remove_reference and __remove_cvref
This implements builtins for std::remove_cv, std::remove_reference and
std::remove_cvref using TRAIT_TYPE from the previous patch.

gcc/c-family/ChangeLog:

	* c-common.cc (c_common_reswords): Add __remove_cv,
	__remove_reference and __remove_cvref.
	* c-common.h (enum rid): Add RID_REMOVE_CV, RID_REMOVE_REFERENCE
	and RID_REMOVE_CVREF.

gcc/cp/ChangeLog:

	* constraint.cc (diagnose_trait_expr): Handle CPTK_REMOVE_CV,
	CPTK_REMOVE_REFERENCE and CPTK_REMOVE_CVREF.
	* cp-objcp-common.cc (names_builtin_p): Likewise.
	* cp-tree.h (enum cp_trait_kind): Add CPTK_REMOVE_CV,
	CPTK_REMOVE_REFERENCE and CPTK_REMOVE_CVREF.
	* cxx-pretty-print.cc (pp_cxx_trait): Handle CPTK_REMOVE_CV,
	CPTK_REMOVE_REFERENCE and CPTK_REMOVE_CVREF.
	* parser.cc (cp_keyword_starts_decl_specifier_p): Return true
	for RID_REMOVE_CV, RID_REMOVE_REFERENCE and RID_REMOVE_CVREF.
	(cp_parser_trait): Handle RID_REMOVE_CV, RID_REMOVE_REFERENCE
	and RID_REMOVE_CVREF.
	(cp_parser_simple_type_specifier): Likewise.
	* semantics.cc (finish_trait_type): Likewise.

libstdc++-v3/ChangeLog:

	* include/bits/unique_ptr.h (unique_ptr<_Tp[], _Dp>): Remove
	__remove_cv and use __remove_cv_t instead.

gcc/testsuite/ChangeLog:

	* g++.dg/ext/has-builtin-1.C: Test existence of __remove_cv,
	__remove_reference and __remove_cvref.
	* g++.dg/ext/remove_cv.C: New test.
	* g++.dg/ext/remove_reference.C: New test.
	* g++.dg/ext/remove_cvref.C: New test.
2022-09-29 09:18:40 -04:00
..
config libstdc++: [_GLIBCXX_INLINE_VERSION] Cleanup gnu-versioned-namespace.ver 2022-09-15 18:58:50 +02:00
doc libstdc++: Disable volatile-qualified std::bind for C++20 2022-09-29 00:33:46 +01:00
include c++: implement __remove_cv, __remove_reference and __remove_cvref 2022-09-29 09:18:40 -04:00
libsupc++ libstdc++: small dynamic_cast optimization 2022-09-07 10:11:54 -04:00
po libstdc++: Define <stacktrace> header for C++23 2022-01-17 12:13:02 +00:00
python libstdc++: Remove useless gdb printer registrations 2022-09-22 06:22:59 +02:00
scripts libstdc++: use grep -E instead of egrep in scripts 2022-06-24 20:31:31 +08:00
src libstdc++: [_GLIBCXX_DEBUG] Add backtrace generation on demand 2022-08-31 20:51:10 +02:00
testsuite libstdc++: Disable volatile-qualified std::bind for C++20 2022-09-29 00:33:46 +01:00
acinclude.m4 libstdc++: Outline the overlapping case of string _M_replace into a separate function [PR105329] 2022-09-12 11:36:58 +02:00
aclocal.m4
ChangeLog Daily bump. 2022-09-29 00:16:38 +00:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020
ChangeLog-2021 Rotate ChangeLog files - part 1 - add ChangeLog-2021. 2022-01-03 10:18:16 +01:00
config.h.in libstdc++: check for openat 2022-06-23 23:28:14 -03:00
configure libstdc++: Outline the overlapping case of string _M_replace into a separate function [PR105329] 2022-09-12 11:36:58 +02:00
configure.ac RTEMS: Remove HAVE_POLL for libstdc++ 2022-07-19 14:10:26 +02:00
configure.host
crossconfig.m4 32-bit PA-RISC with HP-UX: remove deprecated ports 2022-08-31 22:14:34 +02:00
fragment.am
linkage.m4
Makefile.am Update copyright years. 2022-01-03 10:42:10 +01:00
Makefile.in libstdc++: Define <stacktrace> header for C++23 2022-01-17 12:13:02 +00:00
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.