X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fdebug%2Fdbginfo.c;h=08fed6fb426a8aea35c84d7aeea4ca072b7958bc;hb=a226465c4f00c94b3e94a7c717e04061625e7a33;hp=ab6a2140f0aa4bc3b74ad0be0ca1cda205cf855f;hpb=3ef9bbfb7d7ce4ed80e988d2e78efadc50f71838;p=libfirm diff --git a/ir/debug/dbginfo.c b/ir/debug/dbginfo.c index ab6a2140f..08fed6fb4 100644 --- a/ir/debug/dbginfo.c +++ b/ir/debug/dbginfo.c @@ -1,17 +1,15 @@ /* -** Copyright (C) 2001 by Universitaet Karlsruhe -** All rights reserved. -** -** Authors: Goetz Lindenmaier -** -** dbginfo: This is a empty implementation of the Firm interface to -** debugging support. It only guarantees that the Firm library compiles -** and runs without any real debugging support. -** The functions herein are declared weak so that they can be overriden -** by a real implementation. -*/ - -/* $Id$ */ + * Project: libFIRM + * File name: ir/debug/dbginfo.c + * Purpose: Implements the Firm interface to debug information. + * Author: Goetz Lindenmaier + * Modified by: + * Created: 2001 + * CVS-ID: $Id$ + * Copyright: (c) 2001-2003 Universität Karlsruhe + * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + */ + #ifdef HAVE_CONFIG_H # include @@ -19,14 +17,16 @@ #include "dbginfo_t.h" #include "irnode_t.h" +#include "type_t.h" +#include "entity_t.h" -inline void +void dbg_info_merge_pair(ir_node *nw, ir_node *old, dbg_action info) { set_irn_dbg_info(nw, get_irn_dbg_info(old)); } -inline void +void dbg_info_merge_sets(ir_node **new_nodes, int n_new_nodes, ir_node **old_nodes, int n_old_nodes, dbg_action info) { @@ -42,22 +42,37 @@ void (*__dbg_info_merge_sets)(ir_node **new_nodes, int n_new_nodes, = &dbg_info_merge_sets; -void dbg_init( void (merge_pair)(ir_node *nw, ir_node *old, dbg_action info) , - void (merge_sets)(ir_node **new_nodes, int n_new_nodes, - ir_node **old_nodes, int n_old_nodes, - dbg_action info) - ) { - __dbg_info_merge_pair = merge_pair; - __dbg_info_merge_sets = merge_sets; +void dbg_init( merge_pair_func *mpf, merge_sets_func *msf ) +{ + __dbg_info_merge_pair = mpf; + __dbg_info_merge_sets = msf; } -inline void +void set_irn_dbg_info(ir_node *n, struct dbg_info* db) { n->dbi = db; } -inline struct dbg_info * +struct dbg_info * get_irn_dbg_info(ir_node *n) { return n->dbi; } + + +/* Routines to access the field of an entity containing the + debugging information. */ +void set_entity_dbg_info(entity *ent, dbg_info* db) { + ent->dbi = db; +} +dbg_info *get_entity_dbg_info(entity *ent) { + return ent->dbi; +} +/* Routines to access the field of a type containing the + debugging information. */ +void set_type_dbg_info(type *tp, dbg_info* db) { + tp->dbi = db; +} +dbg_info *get_type_dbg_info(type *tp) { + return tp->dbi; +}