Fix a couple -Wdeprecated-copy issues
authorPedro Alves <pedro@palves.net>
Mon, 7 Jun 2021 22:59:17 +0000 (23:59 +0100)
committerPedro Alves <pedro@palves.net>
Mon, 7 Jun 2021 23:25:47 +0000 (00:25 +0100)
Building GDB with current git (future 13) Clang runs into these two
issues:

#1:

 src/gdb/symtab.h:1139:3: error: definition of implicit copy assignment operator for 'symbol' is deprecated because it has a user-declared copy constructor [-Werror,-Wdeprecated-copy]
   symbol (const symbol &) = default;
   ^

#2:

 src/gdb/dwarf2/read.c:834:23: error: definition of implicit copy constructor for 'partial_die_info' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated-copy]
     partial_die_info& operator=(const partial_die_info& rhs) = delete;
       ^

Fix them by adding the explicit defaulted versions of copy ctor and
copy-assign op appropriately.

gdb/ChangeLog:
yyyy-mm-dd  Pedro Alves  <pedro@palves.net>

* dwarf2/read.c (struct partial_die_info): Add defaulted copy
ctor.
* symtab.h (struct symbol): Add defaulted copy assignment
operator.

gdb/ChangeLog
gdb/dwarf2/read.c
gdb/symtab.h

index 3026d383dd00a4291d202356976f811205b9073e..53d77aab62a70f2e8f8339dd454666b7de7bdc05 100644 (file)
@@ -1,3 +1,10 @@
+2021-06-07  Pedro Alves  <pedro@palves.net>
+
+       * dwarf2/read.c (struct partial_die_info): Add defaulted copy
+       ctor.
+       * symtab.h (struct symbol): Add defaulted copy assignment
+       operator.
+
 2021-06-07  Pedro Alves  <pedro@palves.net>
 
        * completer.c (RL_QF_SINGLE_QUOTE, RL_QF_DOUBLE_QUOTE)
index de79454a85fd8f294be4756c39e0b317db47e4f6..96009f1418f01ec09f64b9758fa2644a4b964c63 100644 (file)
@@ -832,6 +832,7 @@ struct partial_die_info : public allocate_on_obstack
     /* Disable assign but still keep copy ctor, which is needed
        load_partial_dies.   */
     partial_die_info& operator=(const partial_die_info& rhs) = delete;
+    partial_die_info (const partial_die_info &) = default;
 
     /* Adjust the partial die before generating a symbol for it.  This
        function may set the is_external flag or change the DIE's
index efdbada976183944befe725525378111de8c6e87..a5d0168faf08f36418187fa2b8acec3256f62739 100644 (file)
@@ -1137,6 +1137,7 @@ struct symbol : public general_symbol_info, public allocate_on_obstack
     }
 
   symbol (const symbol &) = default;
+  symbol &operator= (const symbol &) = default;
 
   /* Data type of value */