[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 5fff6115fe "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:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user