1 #ifndef __BE_DBGOUT_H__
2 #define __BE_DBGOUT_H__
4 * Debug output support.
12 typedef struct dbg_handle dbg_handle;
17 typedef struct debug_ops {
18 /** close the stabs handler. */
19 void (*close)(dbg_handle *handle);
21 /** start a new source object (compilation unit) */
22 void (*so)(dbg_handle *handle, const char *filename);
25 void (*main_program)(dbg_handle *handle);
27 /** dumps the stabs for a function */
28 void (*method)(dbg_handle *handle, entity *ent);
30 /** dumps a line number */
31 void (*line)(dbg_handle *handle, unsigned lineno, const char *address);
34 void (*types)(dbg_handle *handle);
37 void (*global)(dbg_handle *h, struct obstack *obst, entity *ent);
41 /** The base class of all debug implementations. */
46 /** close a debug handler. */
47 void be_dbg_close(dbg_handle *handle);
49 /** start a new source object (compilation unit) */
50 void be_dbg_so(dbg_handle *handle, const char *filename);
53 void be_dbg_main_program(dbg_handle *handle);
55 /** debug for a function */
56 void be_dbg_method(dbg_handle *handle, entity *ent);
58 /** debug for line number */
59 void be_dbg_line(dbg_handle *handle, unsigned lineno, const char *address);
62 void be_dbg_types(dbg_handle *handle);
65 void be_dbg_global(dbg_handle *handle, struct obstack *obst, entity *ent);
67 /** Opens a stabs handler. */
68 dbg_handle *be_stabs_open(FILE *out);
70 #endif /* __BE_DBGOUT_H__ */