]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - include/demangle.h
* libiberty/cplus-dem.c
[thirdparty/gcc.git] / include / demangle.h
index 2b9d179c74e5c7fd46a87f587af59aaab54090bf..2ebc2a5043f4beacf721daea688602747b2e3e23 100644 (file)
@@ -20,9 +20,7 @@
 #if !defined (DEMANGLE_H)
 #define DEMANGLE_H
 
-#ifndef IN_GCC
 #include <ansidecl.h>
-#endif /* ! IN_GCC */
 
 /* Options passed to cplus_demangle (in 2nd parameter). */
 
@@ -80,6 +78,16 @@ extern enum demangling_styles
 #define HP_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_HP)
 #define EDG_DEMANGLING (((int) CURRENT_DEMANGLING_STYLE) & DMGL_EDG)
 
+/* Provide information about the available demangle styles. This code is
+   pulled from gdb into libiberty because it is useful to binutils also.  */
+
+extern struct demangler_engine
+{
+  char *demangling_style_name;
+  enum demangling_styles demangling_style;
+  char *demangling_style_doc;
+} libiberty_demanglers[];
+
 extern char *
 cplus_demangle PARAMS ((const char *mangled, int options));
 
@@ -94,4 +102,9 @@ cplus_mangle_opname PARAMS ((const char *opname, int options));
 extern void
 set_cplus_marker_for_demangling PARAMS ((int ch));
 
+extern enum demangling_styles 
+cplus_demangle_set_style PARAMS ((enum demangling_styles style));
+
+extern enum demangling_styles 
+cplus_demangle_name_to_style PARAMS ((const char *name));
 #endif /* DEMANGLE_H */