-/* List of supported demangling styles. Contains the name of the style as
- seen by the user, and the enum value that corresponds to that style. */
-
-static const struct demangler
-{
- char *demangling_style_name;
- enum demangling_styles demangling_style;
- char *demangling_style_doc;
-} demanglers [] =
-{
- {AUTO_DEMANGLING_STYLE_STRING,
- auto_demangling,
- "Automatic selection based on executable"},
- {GNU_DEMANGLING_STYLE_STRING,
- gnu_demangling,
- "GNU (g++) style demangling"},
- {LUCID_DEMANGLING_STYLE_STRING,
- lucid_demangling,
- "Lucid (lcc) style demangling"},
- {ARM_DEMANGLING_STYLE_STRING,
- arm_demangling,
- "ARM style demangling"},
- {NULL, unknown_demangling, NULL}
-};
-
-/* 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.
-
- if the user has entered a string that matches a known demangling style
+/* The array of names of the known demanglyng styles. Generated by
+ _initialize_demangler from libiberty_demanglers[] array. */
+
+static const char **demangling_style_names;
+
+static void set_demangling_command (char *, int, struct cmd_list_element *);
+
+/* Set current demangling style. Called by the "set demangle-style"
+ command after it has updated the current_demangling_style_string to
+ match what the user has entered.
+
+ If the user has entered a string that matches a known demangling style