[PATCH] Remove stale "register" bits from gdb.cp/misc.cc (Re: [PATCH] Move "register" test out of classes.exp to a separate testcase)
Pedro Alves
pedro@palves.net
Sat Aug 22 17:11:49 GMT 2020
On 8/22/20 6:08 PM, Pedro Alves wrote:
> See patch below. I propose we push this in instead.
And then this on top.
>From 4b75bb6d0a2d171f3a1531de2e820c7e32c2ca72 Mon Sep 17 00:00:00 2001
From: Pedro Alves <pedro@palves.net>
Date: Sat, 22 Aug 2020 18:00:55 +0100
Subject: [PATCH] Remove stale "register" bits from gdb.cp/misc.cc
gdb.cp/misc.cc seems to have been originally copied from
gdb.cp/classes.cc. The testcases that use it, misc.exp and
inherit.exp don't reference the "register" bits anywhere. Remove
them, since they trigger warnings with newer GCCs, given "register" is
being removed in C++17.
gdb/testsuite/ChangeLog:
* gdb.cp/inherit.exp: No longer pass -Wno-deprecated-register.
* gdb.cp/misc.exp: No longer pass -Wno-deprecated-register.
* gdb.cp/misc.cc (class small, small::method, marker_reg1)
(register_class): Delete.
(main): Don't call register_class.
---
gdb/testsuite/gdb.cp/inherit.exp | 3 +--
gdb/testsuite/gdb.cp/misc.cc | 37 -------------------------------------
gdb/testsuite/gdb.cp/misc.exp | 3 +--
3 files changed, 2 insertions(+), 41 deletions(-)
diff --git a/gdb/testsuite/gdb.cp/inherit.exp b/gdb/testsuite/gdb.cp/inherit.exp
index 2d4635c96ad..e9549d3ebe0 100644
--- a/gdb/testsuite/gdb.cp/inherit.exp
+++ b/gdb/testsuite/gdb.cp/inherit.exp
@@ -26,8 +26,7 @@ load_lib "cp-support.exp"
standard_testfile misc.cc
-if {[prepare_for_testing "failed to prepare" $testfile $srcfile \
- {debug c++ additional_flags=-Wno-deprecated-register}]} {
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug c++}]} {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/misc.cc b/gdb/testsuite/gdb.cp/misc.cc
index 41fb9d2f2db..24d40c461ae 100644
--- a/gdb/testsuite/gdb.cp/misc.cc
+++ b/gdb/testsuite/gdb.cp/misc.cc
@@ -511,42 +511,6 @@ typedef struct {
} tagless_struct;
tagless_struct v_tagless;
-/* Try to get the compiler to allocate a class in a register. */
-class small {
- public:
- int x;
- int method ();
-};
-
-int
-small::method ()
-{
- return x + 5;
-}
-
-void marker_reg1 () {}
-
-int
-register_class ()
-{
- /* We don't call any methods for v, so gcc version cygnus-2.3.3-930220
- might put this variable in a register. This is a lose, though, because
- it means that GDB can't call any methods for that variable. */
- register small v;
-
- int i;
-
- /* Perform a computation sufficiently complicated that optimizing compilers
- won't optimized out the variable. If some compiler constant-folds this
- whole loop, maybe using a parameter to this function here would help. */
- v.x = 0;
- for (i = 0; i < 13; ++i)
- v.x += i;
- --v.x; /* v.x is now 77 */
- marker_reg1 ();
- return v.x + 5;
-}
-
void dummy()
{
v_bool = true;
@@ -574,7 +538,6 @@ main()
inheritance1 ();
inheritance3 ();
enums1 ();
- register_class ();
/* FIXME: pmi gets optimized out. Need to do some more computation with
it or something. (No one notices, because the test is xfail'd anyway,
diff --git a/gdb/testsuite/gdb.cp/misc.exp b/gdb/testsuite/gdb.cp/misc.exp
index 61034bf8088..cd6f0f7070a 100644
--- a/gdb/testsuite/gdb.cp/misc.exp
+++ b/gdb/testsuite/gdb.cp/misc.exp
@@ -19,8 +19,7 @@ if { [skip_cplus_tests] } { continue }
standard_testfile .cc
-if {[prepare_for_testing "failed to prepare" $testfile $srcfile \
- {debug c++ additional_flags=-Wno-deprecated-register}]} {
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug c++}]} {
return -1
}
base-commit: 33bf4c5c10d246543c7a9a8ba4bbbe173d7f3367
prerequisite-patch-id: 3b9e228c420206fff81de20b3f1eb0e11f6a210b
--
2.14.5
More information about the Gdb-patches
mailing list