[gdb/build] Fix Wimplicit-exception-spec-mismatch in clang build

When building with clang 13 (and -std=gnu++17 to work around an issue in
string_view-selftests.c), we run into a few Wimplicit-exception-spec-mismatch
warnings:
...
src/gdbsupport/new-op.cc:102:1: error: function previously declared with an \
  explicit exception specification redeclared with an implicit exception \
  specification [-Werror,-Wimplicit-exception-spec-mismatch]
operator delete (void *p)
^
/usr/include/c++/11/new:130:6: note: previous declaration is here
void operator delete(void*) _GLIBCXX_USE_NOEXCEPT
     ^
...

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

Fix this by adding the missing noexcept.

Build on x86_64-linux, using gcc 7.5.0 and clang 13.0.0.
This commit is contained in:
Tom de Vries 2021-11-11 11:22:39 +01:00
parent b038b53f1f
commit fdf95218bc

View File

@ -104,7 +104,7 @@ operator new[] (std::size_t sz, const std::nothrow_t&) noexcept
errors from AddressSanitizers. */
void
operator delete (void *p)
operator delete (void *p) noexcept
{
free (p);
}
@ -122,7 +122,7 @@ operator delete (void *p, std::size_t) noexcept
}
void
operator delete[] (void *p)
operator delete[] (void *p) noexcept
{
return ::operator delete (p);
}