From cee00f171520eb85867230d4cbed34480c64e71e Mon Sep 17 00:00:00 2001 From: Gary Benson Date: Thu, 28 May 2020 14:18:36 +0100 Subject: [PATCH] Fix "'operator new' should not return NULL" errors in testsuite When running the testsuite with clang, gdb.linespec/cpls-ops.cc fails to compile with the following errors: warning: 'operator new' should not return a null pointer unless it is declared 'throw()' or 'noexcept' [-Wnew-returns-null] warning: 'operator new[]' should not return a null pointer unless it is declared 'throw()' or 'noexcept' [-Wnew-returns-null] This prevents the gdb.linespec/cpls-ops.exp testcase from executing. This commit fixes. gdb/testsuite/ChangeLog: * gdb.linespec/cpls-ops.cc (dummy): New static global. (test_op_new::operator new): Add return statement. (test_op_new_array::operator new[]): Likewise. --- gdb/testsuite/ChangeLog | 6 ++++++ gdb/testsuite/gdb.linespec/cpls-ops.cc | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 41224f9db29..d5554430bf5 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2020-05-28 Gary Benson + + * gdb.linespec/cpls-ops.cc (dummy): New static global. + (test_op_new::operator new): Add return statement. + (test_op_new_array::operator new[]): Likewise. + 2020-05-27 Pedro Alves * gdb.linespec/cp-completion-aliases.exp: Remove readline_is_used diff --git a/gdb/testsuite/gdb.linespec/cpls-ops.cc b/gdb/testsuite/gdb.linespec/cpls-ops.cc index 283e188e6c7..e9dce59e153 100644 --- a/gdb/testsuite/gdb.linespec/cpls-ops.cc +++ b/gdb/testsuite/gdb.linespec/cpls-ops.cc @@ -91,6 +91,8 @@ test_op_array::operator[] (T *t) /* Code for operator new tests. */ +static int dummy; + struct test_op_new { void *operator new (size_t); @@ -99,7 +101,7 @@ struct test_op_new void * test_op_new::operator new (size_t) { - return NULL; + return &dummy; } /* Code for operator delete tests. */ @@ -124,7 +126,7 @@ struct test_op_new_array void * test_op_new_array::operator new[] (size_t) { - return NULL; + return &dummy; } /* Code for operator delete[] tests. */ -- 2.30.2