X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbe_dbgout.h;h=609b4bd85293c73d0ca436adecbbaefed031b1b4;hb=dfc341ac6f54b4b0922d605e28333be76f487c68;hp=c2c179d4f211a739aa3780109749c8337623fa26;hpb=60dc045e7978b16a7ca18a790c5a8517016e2bbe;p=libfirm diff --git a/ir/be/be_dbgout.h b/ir/be/be_dbgout.h index c2c179d4f..609b4bd85 100644 --- a/ir/be/be_dbgout.h +++ b/ir/be/be_dbgout.h @@ -1,12 +1,32 @@ -#ifndef __BE_DBGOUT_H__ -#define __BE_DBGOUT_H__ -/** - * Debug output support. +/* + * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * + * This file is part of libFirm. + * + * This file may be distributed and/or modified under the terms of the + * GNU General Public License version 2 as published by the Free Software + * Foundation and appearing in the file LICENSE.GPL included in the + * packaging of this file. + * + * Licensees holding valid libFirm Professional Edition licenses may use + * this file in accordance with the libFirm Commercial License. + * Agreement provided with the Software. * - * @author Michael Beck - * @date 11.9.2006 - * @cvsid $Id$ + * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE + * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. */ + +/** + * @file + * @brief Debug output support. + * @author Michael Beck + * @date 11.9.2006 + * @version $Id$ + */ +#ifndef FIRM_BE_BE_DBGOUT_H +#define FIRM_BE_BE_DBGOUT_H + #include "obst.h" #include "beabi_t.h" @@ -22,11 +42,20 @@ typedef struct debug_ops { /** start a new source object (compilation unit) */ void (*so)(dbg_handle *handle, const char *filename); + /** start an include file */ + void (*include_begin)(dbg_handle *handle, const char *filename); + + /** end an include file */ + void (*include_end)(dbg_handle *handle); + /** Main Program */ void (*main_program)(dbg_handle *handle); - /** dumps the stabs for a function */ - void (*method)(dbg_handle *handle, entity *ent, const be_stack_layout_t *layout); + /** dumps the stabs for a method begin */ + void (*method_begin)(dbg_handle *handle, ir_entity *ent, const be_stack_layout_t *layout); + + /** dumps the stabs for a method end */ + void (*method_end)(dbg_handle *handle); /** dumps a line number */ void (*line)(dbg_handle *handle, unsigned lineno, const char *address); @@ -34,8 +63,8 @@ typedef struct debug_ops { /** dump types */ void (*types)(dbg_handle *handle); - /** dump a global */ - void (*global)(dbg_handle *h, struct obstack *obst, entity *ent); + /** dump a variable in the global type */ + void (*variable)(dbg_handle *h, struct obstack *obst, ir_entity *ent); } debug_ops; @@ -50,11 +79,20 @@ void be_dbg_close(dbg_handle *handle); /** start a new source object (compilation unit) */ void be_dbg_so(dbg_handle *handle, const char *filename); +/** start an include file */ +void be_dbg_include_begin(dbg_handle *handle, const char *filename); + +/** end an include file */ +void be_dbg_include_end(dbg_handle *handle); + /** Main program */ void be_dbg_main_program(dbg_handle *handle); -/** debug for a function */ -void be_dbg_method(dbg_handle *handle, entity *ent, const be_stack_layout_t *layout); +/** debug for a method begin */ +void be_dbg_method_begin(dbg_handle *handle, ir_entity *ent, const be_stack_layout_t *layout); + +/** debug for a method end */ +void be_dbg_method_end(dbg_handle *handle); /** debug for line number */ void be_dbg_line(dbg_handle *handle, unsigned lineno, const char *address); @@ -62,10 +100,13 @@ void be_dbg_line(dbg_handle *handle, unsigned lineno, const char *address); /** dump types */ void be_dbg_types(dbg_handle *handle); -/** dump a global */ -void be_dbg_global(dbg_handle *handle, struct obstack *obst, entity *ent); +/** dump a variable in the global type */ +void be_dbg_variable(dbg_handle *handle, struct obstack *obst, ir_entity *ent); + +/** Opens the NULL handler: no debug support. */ +dbg_handle *be_nulldbg_open(void); /** Opens a stabs handler. */ dbg_handle *be_stabs_open(FILE *out); -#endif /* __BE_DBGOUT_H__ */ +#endif /* FIRM_BE_BE_DBGOUT_H */