aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Benson <gbenson@redhat.com>2020-05-28 14:18:36 +0100
committerGary Benson <gbenson@redhat.com>2020-05-28 14:18:36 +0100
commitcee00f171520eb85867230d4cbed34480c64e71e (patch)
tree599a8b9d336040b1114d6e810cb978b6d0b2263a
parentefcf5fb585cdb6b7304a5a61a2d1e7db7d4bec6b (diff)
downloadgdb-cee00f171520eb85867230d4cbed34480c64e71e.zip
gdb-cee00f171520eb85867230d4cbed34480c64e71e.tar.gz
gdb-cee00f171520eb85867230d4cbed34480c64e71e.tar.bz2
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.
-rw-r--r--gdb/testsuite/ChangeLog6
-rw-r--r--gdb/testsuite/gdb.linespec/cpls-ops.cc6
2 files changed, 10 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 41224f9..d555443 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2020-05-28 Gary Benson <gbenson@redhat.com>
+
+ * 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 <palves@redhat.com>
* 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 283e188..e9dce59 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. */