Fix build with clang 16

Message ID 20231211170539.1154291-1-tromey@adacore.com
State New
Headers
Series Fix build with clang 16 |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_gdb_build--master-arm success Testing passed
linaro-tcwg-bot/tcwg_gdb_check--master-arm success Testing passed
linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 success Testing passed

Commit Message

Tom Tromey Dec. 11, 2023, 5:05 p.m. UTC
  clang 16 reports a missing declaration in new-op.cc.  We believed
these operators to be declared starting with C++14, but apparently
that is not the case.

This patch reverts the earlier change and then updates the comment to
reflect the current state.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31141
---
 gdbsupport/new-op.cc | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Tom Tromey Dec. 22, 2023, 4:35 p.m. UTC | #1
>>>>> "Tom" == Tom Tromey <tromey@adacore.com> writes:

Tom> clang 16 reports a missing declaration in new-op.cc.  We believed
Tom> these operators to be declared starting with C++14, but apparently
Tom> that is not the case.

Tom> This patch reverts the earlier change and then updates the comment to
Tom> reflect the current state.

Tom> Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31141

I'm pushing this now.

Tom
  

Patch

diff --git a/gdbsupport/new-op.cc b/gdbsupport/new-op.cc
index 181fc4957fa..12bd5d263a6 100644
--- a/gdbsupport/new-op.cc
+++ b/gdbsupport/new-op.cc
@@ -27,6 +27,11 @@ 
 #include "host-defs.h"
 #include <new>
 
+/* These are declared in <new> starting C++14, but removing them
+   caused a build failure with clang.  See PR build/31141.  */
+extern void operator delete (void *p, std::size_t) noexcept;
+extern void operator delete[] (void *p, std::size_t) noexcept;
+
 /* Override operator new / operator new[], in order to internal_error
    on allocation failure and thus query the user for abort/core
    dump/continue, just like xmalloc does.  We don't do this from a