X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Fdbginfo.h;h=9778aea9e461659c059ed06675f15db001dc7754;hb=64252961a7d41265ff28353949e63f0662a1cd03;hp=785fb6e9c42a263e443ec07b45c10444a3350e0b;hpb=d217f68a9e53ec6e800ae31ca3af8ed8b6f9ece9;p=libfirm diff --git a/include/libfirm/dbginfo.h b/include/libfirm/dbginfo.h index 785fb6e9c..9778aea9e 100644 --- a/include/libfirm/dbginfo.h +++ b/include/libfirm/dbginfo.h @@ -144,13 +144,21 @@ typedef void merge_sets_func(ir_node **new_node_array, int new_num_entries, ir_n FIRM_API void dbg_init(merge_pair_func *dbg_info_merge_pair, merge_sets_func *dbg_info_merge_sets); +/** A sourcecode location */ +typedef struct src_loc_t { + char const *file; /**< the name of the source (usually a file) */ + unsigned line; /**< line number (starting at 1; 0 if unknown) */ + unsigned column; /**< column number (starting at 1; 0 if unknown) */ +} src_loc_t; + /** * The type of the debug info retriever function. - * When given a dbg_info returns the name (usually the filename) of the - * compilation unit defining it. @p line is set to the line number of the - * definition. + * When given a dbg_info returns the name (usually the filename), line number + * and column number of the definition. + * Any part of the returned information may be NULL/0, which means it is not + * available. */ -typedef const char *(*retrieve_dbg_func)(const dbg_info *dbg, unsigned *line); +typedef src_loc_t (*retrieve_dbg_func)(dbg_info const *dbg); /** * Sets a debug info retriever. @@ -175,7 +183,7 @@ FIRM_API void ir_set_type_debug_retrieve(retrieve_type_dbg_func func); /** * Retrieve the debug info. */ -FIRM_API const char *ir_retrieve_dbg_info(const dbg_info *dbg, unsigned *line); +FIRM_API src_loc_t ir_retrieve_dbg_info(dbg_info const *dbg); /** * Retrieve type debug info