gdb: add gdb::make_unique function
authorAndrew Burgess <aburgess@redhat.com>
Thu, 10 Aug 2023 16:57:46 +0000 (17:57 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Wed, 23 Aug 2023 08:50:30 +0000 (09:50 +0100)
commit0b72cde372f4ac58d3027e94ac48672a5698d80a
treecca170156597d2c810e1af924fdfeb2cd8e81c31
parentadc5f8b99a9d1ec96b5bf2492ad5516db580839a
gdb: add gdb::make_unique function

While GDB is still C++11, lets add a gdb::make_unique template
function that can be used to create std::unique_ptr objects, just like
the C++14 std::make_unique.

If GDB is being compiled with a C++14 compiler then the new
gdb::make_unique function will delegate to the std::make_unique.  I
checked with gcc, and at -O1 and above gdb::make_unique will be
optimised away completely in this case.

If C++14 (or later) becomes our minimum, then it will be easy enough
to go through the code and replace gdb::make_unique with
std::make_unique later on.

I've make use of this function in all the places I think this can
easily be used, though I'm sure I've probably missed some.

Should be no user visible changes after this commit.

Approved-By: Tom Tromey <tom@tromey.com>
15 files changed:
gdb/addrmap.c
gdb/break-catch-load.c
gdb/compile/compile-c-support.c
gdb/cp-name-parser.y
gdb/cp-support.c
gdb/dwarf2/frame.c
gdb/dwarf2/read-debug-names.c
gdb/dwarf2/read-gdb-index.c
gdb/dwarf2/read.c
gdb/gdbtypes.c
gdb/python/py-varobj.c
gdb/ui-out.c
gdb/unittests/parallel-for-selftests.c
gdb/varobj.c
gdbsupport/gdb_unique_ptr.h