Patchwork Add new GCC 9 warnings to warnings.m4

login
register
mail settings
Submitter Tom Tromey
Date May 29, 2019, 2:17 p.m.
Message ID <877ea95oq9.fsf@tromey.com>
Download mbox | patch
Permalink /patch/32895/
State New
Headers show

Comments

Tom Tromey - May 29, 2019, 2:17 p.m.
>>>>> "Tom" == Tom Tromey <tromey@adacore.com> writes:

Tom> GCC 9 has a few new warnings that aren't enabled in the gdb build by
Tom> default: -Wdeprecated-copy, -Winit-list-lifetime, and
Tom> -Wredundant-move.  This patch enables them all.

I was going to land this today, but when reading the GCC 9 changes page:

    https://gcc.gnu.org/gcc-9/changes.html

... I noticed that -Winit-list-lifetime is enabled by default, and also
that I'd missed -Wdeprecated-copy-dtor before.

Here is v2 of the patch, which makes the appropriate changes.  In this
case one patch to the code was needed.

Tom

commit 260ad5fd3217d3df22c9771842f8863484f74e0e
Author: Tom Tromey <tromey@adacore.com>
Date:   Fri May 10 09:25:19 2019 -0600

    Add new GCC 9 warnings to warnings.m4
    
    GCC 9 has a few new warnings that aren't enabled in the gdb build by
    default: -Wdeprecated-copy, -Wdeprecated-copy-dtor, and
    -Wredundant-move.  This patch enables them all.
    
    Tested by rebuilding with a new GCC (git master) on x86-64 Fedora 29.
    
    gdb/ChangeLog
    2019-05-29  Tom Tromey  <tromey@adacore.com>
    
            * inflow.c (struct terminal_info): Add default operator=.
            * configure: Rebuild.
            * warning.m4 (AM_GDB_WARNINGS): Add -Wdeprecated-copy,
            -Wdeprecated-copy-dtor, -Wredundant-move.
    
    gdb/gdbserver/ChangeLog
    2019-05-29  Tom Tromey  <tromey@adacore.com>
    
            * configure: Rebuild.
Pedro Alves - May 29, 2019, 2:50 p.m.
On 5/29/19 3:17 PM, Tom Tromey wrote:
>>>>>> "Tom" == Tom Tromey <tromey@adacore.com> writes:
> 
> Tom> GCC 9 has a few new warnings that aren't enabled in the gdb build by
> Tom> default: -Wdeprecated-copy, -Winit-list-lifetime, and
> Tom> -Wredundant-move.  This patch enables them all.
> 
> I was going to land this today, but when reading the GCC 9 changes page:
> 
>     https://gcc.gnu.org/gcc-9/changes.html
> 
> ... I noticed that -Winit-list-lifetime is enabled by default, and also
> that I'd missed -Wdeprecated-copy-dtor before.
> 
> Here is v2 of the patch, which makes the appropriate changes.  In this
> case one patch to the code was needed.

Looks fine.

Thanks,
Pedro Alves

Patch

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f122f5b21f5..e67c92b2054 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@ 
+2019-05-29  Tom Tromey  <tromey@adacore.com>
+
+	* inflow.c (struct terminal_info): Add default operator=.
+	* configure: Rebuild.
+	* warning.m4 (AM_GDB_WARNINGS): Add -Wdeprecated-copy,
+	-Wdeprecated-copy-dtor, -Wredundant-move.
+
 2019-05-28  Tom Tromey  <tromey@adacore.com>
 
 	* ada-lang.c (ada_remove_Xbn_suffix)
diff --git a/gdb/configure b/gdb/configure
index 15a96afcca8..ff0971bc287 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -15436,7 +15436,10 @@  build_warnings="-Wall -Wpointer-arith \
 -Wsuggest-override \
 -Wimplicit-fallthrough=3 \
 -Wduplicated-cond \
--Wshadow=local"
+-Wshadow=local \
+-Wdeprecated-copy \
+-Wdeprecated-copy-dtor \
+-Wredundant-move"
 
 case "${host}" in
   *-*-mingw32*)
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 2e98158aa6f..e15395d6954 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,7 @@ 
+2019-05-29  Tom Tromey  <tromey@adacore.com>
+
+	* configure: Rebuild.
+
 2019-05-06  Kevin Buettner  <kevinb@redhat.com>
 
 	* linux-x86-low.c (x86_fill_gregset): Don't compile 64-bit
diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure
index 1ddbd6b27e0..5ffdeb0816b 100755
--- a/gdb/gdbserver/configure
+++ b/gdb/gdbserver/configure
@@ -7271,7 +7271,10 @@  build_warnings="-Wall -Wpointer-arith \
 -Wsuggest-override \
 -Wimplicit-fallthrough=3 \
 -Wduplicated-cond \
--Wshadow=local"
+-Wshadow=local \
+-Wdeprecated-copy \
+-Wdeprecated-copy-dtor \
+-Wredundant-move"
 
 case "${host}" in
   *-*-mingw32*)
diff --git a/gdb/inflow.c b/gdb/inflow.c
index eba7a931f46..621f69aa40f 100644
--- a/gdb/inflow.c
+++ b/gdb/inflow.c
@@ -61,6 +61,8 @@  struct terminal_info
   terminal_info () = default;
   ~terminal_info ();
 
+  terminal_info &operator= (const terminal_info &) = default;
+
   /* The name of the tty (from the `tty' command) that we gave to the
      inferior when it was started.  */
   char *run_terminal = nullptr;
diff --git a/gdb/warning.m4 b/gdb/warning.m4
index 98eb4ce7878..c9e64a1836a 100644
--- a/gdb/warning.m4
+++ b/gdb/warning.m4
@@ -46,7 +46,10 @@  build_warnings="-Wall -Wpointer-arith \
 -Wsuggest-override \
 -Wimplicit-fallthrough=3 \
 -Wduplicated-cond \
--Wshadow=local"
+-Wshadow=local \
+-Wdeprecated-copy \
+-Wdeprecated-copy-dtor \
+-Wredundant-move"
 
 case "${host}" in
   *-*-mingw32*)