Replace gnu::unique_ptr with std::unique_ptr
authorJonathan Wakely <jwakely@redhat.com>
Tue, 9 Nov 2021 12:56:43 +0000 (12:56 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Sun, 12 Dec 2021 22:51:12 +0000 (22:51 +0000)
commitb8f7ff76d6f0b7fdffc314a19425423606b5e296
treef19438f2a2a95503d4336e9c74de3912f6c896c4
parent0b52083ea2c2dd9897031fdc3802a68fd4aa45ef
Replace gnu::unique_ptr with std::unique_ptr

Now that GCC is compiled as C++11 there is no need to keep the C++03
implementation of gnu::unique_ptr.

This removes the unique-ptr.h header and replaces it with <memory> in
system.h, and changes the INCLUDE_UNIQUE_PTR macro to INCLUDE_MEMORY.
Uses of gnu::unique_ptr and gnu::move can be replaced with
std::unique_ptr and std::move. There are no uses of unique_xmalloc_ptr
or xmalloc_deleter in GCC.

gcc/analyzer/ChangeLog:

* engine.cc: Define INCLUDE_MEMORY instead of INCLUDE_UNIQUE_PTR.

gcc/c-family/ChangeLog:

* known-headers.cc: Define INCLUDE_MEMORY instead of
INCLUDE_UNIQUE_PTR.
* name-hint.h: Likewise.
(class name_hint): Use std::unique_ptr instead of gnu::unique_ptr.

gcc/c/ChangeLog:

* c-decl.c: Define INCLUDE_MEMORY instead of INCLUDE_UNIQUE_PTR.
* c-parser.c: Likewise.

gcc/cp/ChangeLog:

* error.c: Define INCLUDE_MEMORY instead of
INCLUDE_UNIQUE_PTR.
* lex.c: Likewise.
* name-lookup.c: Likewise.
(class namespace_limit_reached): Use std::unique_ptr instead of
gnu::unique_ptr.
(suggest_alternatives_for): Use std::move instead of gnu::move.
(suggest_alternatives_in_other_namespaces): Likewise.
* parser.c: Define INCLUDE_MEMORY instead of INCLUDE_UNIQUE_PTR.

gcc/ChangeLog:

* Makefile.in: Remove unique-ptr-tests.o.
* selftest-run-tests.c (selftest::run_tests): Remove
unique_ptr_tests_cc_tests.
* selftest.h (unique_ptr_tests_cc_tests): Remove.
* system.h: Check INCLUDE_MEMORY instead of INCLUDE_UNIQUE_PTR
and include <memory> instead of "unique-ptr.h".
* unique-ptr-tests.cc: Removed.

include/ChangeLog:

* unique-ptr.h: Removed.
15 files changed:
gcc/Makefile.in
gcc/analyzer/engine.cc
gcc/c-family/known-headers.cc
gcc/c-family/name-hint.h
gcc/c/c-decl.c
gcc/c/c-parser.c
gcc/cp/error.c
gcc/cp/lex.c
gcc/cp/name-lookup.c
gcc/cp/parser.c
gcc/selftest-run-tests.c
gcc/selftest.h
gcc/system.h
gcc/unique-ptr-tests.cc [deleted file]
include/unique-ptr.h [deleted file]