Ignore:
Timestamp:
Aug 16, 2003, 6:59:22 PM (22 years ago)
Author:
bird
Message:

binutils v2.14 - offical sources.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GNU/src/binutils/include/demangle.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.1.1.2
    r608 r609  
    11/* Defs for interface to demanglers.
    2    Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000
     2   Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002
    33   Free Software Foundation, Inc.
    44   
     
    2222#define DEMANGLE_H
    2323
    24 #include <ansidecl.h>
     24#include "ansidecl.h"
    2525
    2626/* Options passed to cplus_demangle (in 2nd parameter). */
     
    3030#define DMGL_ANSI        (1 << 1)       /* Include const, volatile, etc */
    3131#define DMGL_JAVA        (1 << 2)       /* Demangle as Java rather than C++. */
     32#define DMGL_VERBOSE     (1 << 3)       /* Include implementation details.  */
     33#define DMGL_TYPES       (1 << 4)       /* Also try to demangle type encodings.  */
    3234
    3335#define DMGL_AUTO        (1 << 8)
     
    5557extern enum demangling_styles
    5658{
     59  no_demangling = -1,
    5760  unknown_demangling = 0,
    5861  auto_demangling = DMGL_AUTO,
     
    6972/* Define string names for the various demangling styles. */
    7073
     74#define NO_DEMANGLING_STYLE_STRING            "none"
    7175#define AUTO_DEMANGLING_STYLE_STRING          "auto"
    7276#define GNU_DEMANGLING_STYLE_STRING           "gnu"
     
    9599   pulled from gdb into libiberty because it is useful to binutils also.  */
    96100
    97 extern struct demangler_engine
     101extern const struct demangler_engine
    98102{
    99   const char *demangling_style_name;
    100   enum demangling_styles demangling_style;
    101   const char *demangling_style_doc;
     103  const char *const demangling_style_name;
     104  const enum demangling_styles demangling_style;
     105  const char *const demangling_style_doc;
    102106} libiberty_demanglers[];
    103107
     
    122126cplus_demangle_name_to_style PARAMS ((const char *name));
    123127
    124 /* V3 ABI demangling entry point, defined in cp-demangle.c.  */
     128/* V3 ABI demangling entry points, defined in cp-demangle.c.  */
    125129extern char*
    126 cplus_demangle_v3 PARAMS ((const char* mangled));
     130cplus_demangle_v3 PARAMS ((const char* mangled, int options));
     131
     132extern char*
     133java_demangle_v3 PARAMS ((const char* mangled));
     134
     135
     136enum gnu_v3_ctor_kinds {
     137  gnu_v3_complete_object_ctor = 1,
     138  gnu_v3_base_object_ctor,
     139  gnu_v3_complete_object_allocating_ctor
     140};
     141
     142/* Return non-zero iff NAME is the mangled form of a constructor name
     143   in the G++ V3 ABI demangling style.  Specifically, return an `enum
     144   gnu_v3_ctor_kinds' value indicating what kind of constructor
     145   it is.  */
     146extern enum gnu_v3_ctor_kinds
     147        is_gnu_v3_mangled_ctor PARAMS ((const char *name));
     148
     149
     150enum gnu_v3_dtor_kinds {
     151  gnu_v3_deleting_dtor = 1,
     152  gnu_v3_complete_object_dtor,
     153  gnu_v3_base_object_dtor
     154};
     155
     156/* Return non-zero iff NAME is the mangled form of a destructor name
     157   in the G++ V3 ABI demangling style.  Specifically, return an `enum
     158   gnu_v3_dtor_kinds' value, indicating what kind of destructor
     159   it is.  */
     160extern enum gnu_v3_dtor_kinds
     161        is_gnu_v3_mangled_dtor PARAMS ((const char *name));
    127162
    128163#endif  /* DEMANGLE_H */
Note: See TracChangeset for help on using the changeset viewer.