* inftarg.c (child_thread_alive): New function to see if a
[deliverable/binutils-gdb.git] / gdb / demangle.c
index e7c835646fc1457daba727a5f32dcb8af5f2566c..eecd3d3ed4297c5cb915771959450d09a55d5656 100644 (file)
@@ -31,7 +31,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 /* Select the default C++ demangling style to use.  The default is "auto",
    which allows gdb to attempt to pick an appropriate demangling style for
    the executable it has loaded.  It can be set to a specific style ("gnu",
-   "lucid", "cfront", etc.) in which case gdb will never attempt to do auto
+   "lucid", "arm", etc.) in which case gdb will never attempt to do auto
    selection of the style unless you do an explicit "set demangle auto".
    To select one of these as the default, set DEFAULT_DEMANGLING_STYLE in
    the appropriate target configuration file. */
@@ -64,23 +64,12 @@ static const struct demangler
   {LUCID_DEMANGLING_STYLE_STRING,
      lucid_demangling,
      "Lucid (lcc) style demangling"},
-  {CFRONT_DEMANGLING_STYLE_STRING,
-     cfront_demangling,
-     "ARM (cfront) style demangling"},
-  {NULL, 0, NULL}
+  {ARM_DEMANGLING_STYLE_STRING,
+     arm_demangling,
+     "ARM style demangling"},
+  {NULL, unknown_demangling, NULL}
 };
 
-/* show current demangling style. */
-
-static void
-show_demangling_command (ignore, from_tty)
-   char *ignore;
-   int from_tty;
-{
-  /* done automatically by show command. */
-}
-
-
 /* set current demangling style.  called by the "set demangling" command
    after it has updated the current_demangling_style_string to match
    what the user has entered.
@@ -98,9 +87,10 @@ show_demangling_command (ignore, from_tty)
    a malloc'd string, even if it is a null-string. */
 
 static void
-set_demangling_command (ignore, from_tty)
-   char *ignore;
-   int from_tty;
+set_demangling_command (ignore, from_tty, c)
+     char *ignore;
+     int from_tty;
+     struct cmd_list_element *c;
 {
   const struct demangler *dem;
 
@@ -111,8 +101,8 @@ set_demangling_command (ignore, from_tty)
 
   for (dem = demanglers; dem -> demangling_style_name != NULL; dem++)
     {
-      if (strcmp (current_demangling_style_string,
-                 dem -> demangling_style_name) == 0)
+      if (STREQ (current_demangling_style_string,
+                 dem -> demangling_style_name))
        {
          current_demangling_style = dem -> demangling_style;
          break;
@@ -127,19 +117,20 @@ set_demangling_command (ignore, from_tty)
     {
       if (*current_demangling_style_string != '\0')
        {
-         printf ("Unknown demangling style `%s'.\n",
+         printf_unfiltered ("Unknown demangling style `%s'.\n",
                  current_demangling_style_string);
        }
-      printf ("The currently understood settings are:\n\n");
+      printf_unfiltered ("The currently understood settings are:\n\n");
       for (dem = demanglers; dem -> demangling_style_name != NULL; dem++)
        {
-         printf ("%-10s %s\n", dem -> demangling_style_name,
+         printf_unfiltered ("%-10s %s\n", dem -> demangling_style_name,
                  dem -> demangling_style_doc);
          if (dem -> demangling_style == current_demangling_style)
            {
              free (current_demangling_style_string);
              current_demangling_style_string =
-               strdup (dem -> demangling_style_name);
+               savestring (dem -> demangling_style_name,
+                           strlen (dem -> demangling_style_name));
            }
        }
       if (current_demangling_style == unknown_demangling)
@@ -149,7 +140,8 @@ set_demangling_command (ignore, from_tty)
             one as the default. */
          current_demangling_style = demanglers[0].demangling_style;
          current_demangling_style_string =
-           strdup (demanglers[0].demangling_style_name);
+           savestring (demanglers[0].demangling_style_name,
+                       strlen (demanglers[0].demangling_style_name));
          warning ("`%s' style demangling chosen as the default.\n",
                   current_demangling_style_string);
        }
@@ -166,7 +158,7 @@ set_demangling_style (style)
     {
       free (current_demangling_style_string);
     }
-  current_demangling_style_string = strdup (style);
+  current_demangling_style_string = savestring (style, strlen (style));
   set_demangling_command ((char *) NULL, 0);
 }
 
@@ -177,11 +169,11 @@ _initialize_demangler ()
 
    set = add_set_cmd ("demangle-style", class_support, var_string_noescape,
                      (char *) &current_demangling_style_string,
-                     "Set the current C++ demangling style.",
+                     "Set the current C++ demangling style.\n\
+Use `set demangle-style' without arguments for a list of demangling styles.",
                      &setlist);
    show = add_show_from_set (set, &showlist);
-   set -> function.cfunc = set_demangling_command;
-   show -> function.cfunc = show_demangling_command;
+   set -> function.sfunc = set_demangling_command;
 
    /* Set the default demangling style chosen at compilation time. */
    set_demangling_style (DEFAULT_DEMANGLING_STYLE);
This page took 0.024376 seconds and 4 git commands to generate.