[gdb/build] Fix build with -std=c++11
authorTom de Vries <tdevries@suse.de>
Thu, 11 Nov 2021 10:22:39 +0000 (11:22 +0100)
committerTom de Vries <tdevries@suse.de>
Thu, 11 Nov 2021 10:22:39 +0000 (11:22 +0100)
commitb038b53f1ff4bf00ecdead1db23eddc4fd654305
tree3f69df97806d3607f9649b0f05820066dce90cf1
parent585d6e39eb4662b4c725e7ed297783529130e598
[gdb/build] Fix build with -std=c++11

When building with -std=c++11, we run into two Werror=missing-declarations:
...
new-op.cc: In function 'void operator delete(void*, std::size_t)':
new-op.cc:114:1: error: no previous declaration for \
  'void operator delete(void*, std::size_t)' [-Werror=missing-declarations]
 operator delete (void *p, std::size_t) noexcept
 ^~~~~~~~
new-op.cc: In function 'void operator delete [](void*, std::size_t)':
new-op.cc:132:1: error: no previous declaration for \
  'void operator delete [](void*, std::size_t)' [-Werror=missing-declarations]
 operator delete[] (void *p, std::size_t) noexcept
 ^~~~~~~~
...

These are due to recent commit 5fff6115fea "Fix
LD_PRELOAD=/usr/lib64/libasan.so.6 gdb".

The declarations are provided by <new> (which is included) for c++14 onwards,
but they are missing for c++11.

Fix this by adding the missing declarations.

Tested on x86_64-linux, with gcc 7.5.0, both without (implying -std=gnu++14) and
with -std=c++11.
gdbsupport/new-op.cc