[v2] Deprecate MI version 1

Message ID 20221021161918.1207183-1-tom@tromey.com
State Committed
Commit 560f8d05a1d6b09305bac8e992c1a95367e9778e
Headers
Series [v2] Deprecate MI version 1 |

Commit Message

Tom Tromey Oct. 21, 2022, 4:19 p.m. UTC
  MI version 1 is long since obsolete.  Rather than remove it
immediately (though I did send a patch for that), instead let's
deprecate it in GDB 13 and then remove it for GDB 14.

This version of the patch incorporates Simon's warning change, and
Luis' recommendation to mention the gdb versions here.
---
 gdb/NEWS      |  2 ++
 gdb/interps.c | 10 ++++++++++
 2 files changed, 12 insertions(+)
  

Comments

Eli Zaretskii Oct. 21, 2022, 5:15 p.m. UTC | #1
> From: Tom Tromey <tom@tromey.com>
> Date: Fri, 21 Oct 2022 10:19:18 -0600
> Cc: Tom Tromey <tom@tromey.com>
> 
> MI version 1 is long since obsolete.  Rather than remove it
> immediately (though I did send a patch for that), instead let's
> deprecate it in GDB 13 and then remove it for GDB 14.
> 
> This version of the patch incorporates Simon's warning change, and
> Luis' recommendation to mention the gdb versions here.
> ---
>  gdb/NEWS      |  2 ++
>  gdb/interps.c | 10 ++++++++++
>  2 files changed, 12 insertions(+)

OK for the NEWS part.

Thanks.
  
Tom Tromey Nov. 5, 2022, 11:14 p.m. UTC | #2
>>>>> "Tom" == Tom Tromey <tom@tromey.com> writes:

Tom> MI version 1 is long since obsolete.  Rather than remove it
Tom> immediately (though I did send a patch for that), instead let's
Tom> deprecate it in GDB 13 and then remove it for GDB 14.

Tom> This version of the patch incorporates Simon's warning change, and
Tom> Luis' recommendation to mention the gdb versions here.

I'm checking this in.

Tom
  

Patch

diff --git a/gdb/NEWS b/gdb/NEWS
index 8b519a648f7..0642d7637b8 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -3,6 +3,8 @@ 
 
 *** Changes since GDB 12
 
+* MI version 1 is deprecated, and will be removed in GDB 14.
+
 * GDB now supports dumping memory tag data for AArch64 MTE.  It also supports
   reading memory tag data for AArch64 MTE from core files generated by
   the gcore command or the Linux kernel.
diff --git a/gdb/interps.c b/gdb/interps.c
index a8bd67258e4..56d47906770 100644
--- a/gdb/interps.c
+++ b/gdb/interps.c
@@ -170,11 +170,16 @@  interp_set (struct interp *interp, bool top_level)
   if (interpreter_p != interp->name ())
     interpreter_p = interp->name ();
 
+  bool warn_about_mi1 = false;
+
   /* Run the init proc.  */
   if (!interp->inited)
     {
       interp->init (top_level);
       interp->inited = true;
+
+      if (streq (interp->name (), "mi1"))
+	warn_about_mi1 = true;
     }
 
   /* Do this only after the interpreter is initialized.  */
@@ -184,6 +189,11 @@  interp_set (struct interp *interp, bool top_level)
   clear_interpreter_hooks ();
 
   interp->resume ();
+
+  if (warn_about_mi1)
+    warning (_("MI version 1 is deprecated in GDB 13 and "
+	       "will be removed in GDB 14.  Please upgrade "
+	       "to a newer version of MI."));
 }
 
 /* Look up the interpreter for NAME.  If no such interpreter exists,