1 #ifndef __BE_DBGOUT_H__
2 #define __BE_DBGOUT_H__
4 * Debug output support.
13 typedef struct dbg_handle dbg_handle;
18 typedef struct debug_ops {
19 /** close the stabs handler. */
20 void (*close)(dbg_handle *handle);
22 /** start a new source object (compilation unit) */
23 void (*so)(dbg_handle *handle, const char *filename);
26 void (*main_program)(dbg_handle *handle);
28 /** dumps the stabs for a function */
29 void (*method)(dbg_handle *handle, entity *ent, const be_stack_layout_t *layout);
31 /** dumps a line number */
32 void (*line)(dbg_handle *handle, unsigned lineno, const char *address);
35 void (*types)(dbg_handle *handle);
38 void (*global)(dbg_handle *h, struct obstack *obst, entity *ent);
42 /** The base class of all debug implementations. */
47 /** close a debug handler. */
48 void be_dbg_close(dbg_handle *handle);
50 /** start a new source object (compilation unit) */
51 void be_dbg_so(dbg_handle *handle, const char *filename);
54 void be_dbg_main_program(dbg_handle *handle);
56 /** debug for a function */
57 void be_dbg_method(dbg_handle *handle, entity *ent, const be_stack_layout_t *layout);
59 /** debug for line number */
60 void be_dbg_line(dbg_handle *handle, unsigned lineno, const char *address);
63 void be_dbg_types(dbg_handle *handle);
66 void be_dbg_global(dbg_handle *handle, struct obstack *obst, entity *ent);
68 /** Opens a stabs handler. */
69 dbg_handle *be_stabs_open(FILE *out);
71 #endif /* __BE_DBGOUT_H__ */