Remove stale "register" bits from gdb.cp/misc.cc
authorPedro Alves <pedro@palves.net>
Sat, 22 Aug 2020 17:00:55 +0000 (18:00 +0100)
committerPedro Alves <pedro@palves.net>
Sun, 13 Sep 2020 14:46:21 +0000 (15:46 +0100)
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/ChangeLog
gdb/testsuite/gdb.cp/inherit.exp
gdb/testsuite/gdb.cp/misc.cc
gdb/testsuite/gdb.cp/misc.exp

index cd93827a9a40833604a0e79f4740bb123ae1063d..c339151f61608bc8db2e51837d133fd9bc397442 100644 (file)
@@ -1,3 +1,11 @@
+2020-09-13  Pedro Alves  <pedro@palves.net>
+
+       * 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.
+
 2020-09-13  Pedro Alves  <pedro@palves.net>
 
        * gdb.cp/classes.exp: No longer pass -Wno-deprecated-register.
index 2d4635c96ad0416987041800284d9ee835351c68..e9549d3ebe0705fdf2913c2a2c10c0acccc78bd9 100644 (file)
@@ -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
 }
 
index 41fb9d2f2db939c905f7d1a3ab2e831564898766..24d40c461ae1c849270c898751b19c004c64db99 100644 (file)
@@ -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,
index 61034bf808866ab1acd82d80f92987bf1e2fbdf2..cd6f0f7070abcf20540c2dd6b705cfee31f7a11d 100644 (file)
@@ -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
 }