Deprecate MI version 1
authorTom Tromey <tom@tromey.com>
Wed, 21 Sep 2022 16:46:51 +0000 (10:46 -0600)
committerTom Tromey <tom@tromey.com>
Sat, 5 Nov 2022 18:13:06 +0000 (12:13 -0600)
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
gdb/interps.c

index 8b519a648f72c4bda50f27ee729997f4991419f6..0642d7637b8103666cf8d0369613a9c776dc9d81 100644 (file)
--- 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.
index a8bd67258e4daf932245dd5ac672bd877f3939b7..56d47906770f4803daaa31bbddfed00bbf867788 100644 (file)
@@ -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,