summaryrefslogtreecommitdiff
path: root/gcc/debug.h
diff options
context:
space:
mode:
authorccoutant <ccoutant@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-04 23:12:27 +0000
committerccoutant <ccoutant@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-04 23:12:27 +0000
commitd01c707b0a327e54438e75b461c5991dfaa50c8f (patch)
tree62b2a3883be83cd19685457df195f788da6d5d99 /gcc/debug.h
parentfc509e4c0b88bebe41b103695c3cfeab4f295766 (diff)
downloadgcc-d01c707b0a327e54438e75b461c5991dfaa50c8f.tar.gz
* basic-block.h (struct basic_block_def): Add discriminator field.
* dbxout.c (dbxout_source_line): Add new parameter. Change all callers. * debug.c (do_nothing_debug_hooks): Add additional entry. (debug_nothing_int_charstar_int): New function. * debug.h (struct gcc_debug_hooks): Add parameter to source_line hook. (debug_nothing_int_charstar_int): New declaration. * dwarf2out.c (dwarf2out_source_line): Add new parameter. Write discriminator value in .loc directive. * final.c (last_discriminator): New variable. (discriminator): New variable. (final_start_function): Initialize above variables, pass current discriminator to debug hook. (notice_source_line): Check for discriminator change. * gimple-pretty-print.c (dump_bb_header): Print discriminator value. * sdbout.c (sdbout_source_line): New parameter. * tree-cfg.c (struct locus_discrim_map): New structure type. (discriminator_per_locus): New hash table. (build_gimple_cfg): Allocate and free discriminator hash table. (make_edges): Call assign_discriminator. (locus_map_hash): New function. (locus_map_eq): New function. (next_discriminator_for_locus): New function. (same_line_p): New function. (assign_discriminator): New function. (make_cond_expr_edges): Call assign_discriminator. (make_gimple_switch_edges): Likewise. (first_non_label_stmt): New function. * vmsdbgout.c (vmsdbgout_source_line): Add new parameter. Change all callers. * xcoffout.c (xcoffout_source_line): Add new parameter. * configure.ac (gcc_cv_as_discriminator): New configury check for gas support for discriminator. * configure: Regenerate. * config.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148191 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/debug.h')
-rw-r--r--gcc/debug.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/debug.h b/gcc/debug.h
index 6d4911302d0..8f76aff04a4 100644
--- a/gcc/debug.h
+++ b/gcc/debug.h
@@ -59,8 +59,9 @@ struct gcc_debug_hooks
though the BLOCK information is messed up. Defaults to true. */
bool (* ignore_block) (const_tree);
- /* Record a source file location at (FILE, LINE). */
- void (* source_line) (unsigned int line, const char *file);
+ /* Record a source file location at (FILE, LINE, DISCRIMINATOR). */
+ void (* source_line) (unsigned int line, const char *file,
+ int discriminator);
/* Called at start of prologue code. LINE is the first line in the
function. This has been given the same prototype as source_line,
@@ -141,6 +142,7 @@ extern const struct gcc_debug_hooks *debug_hooks;
extern void debug_nothing_void (void);
extern void debug_nothing_charstar (const char *);
extern void debug_nothing_int_charstar (unsigned int, const char *);
+extern void debug_nothing_int_charstar_int (unsigned int, const char *, int);
extern void debug_nothing_int (unsigned int);
extern void debug_nothing_int_int (unsigned int, unsigned int);
extern void debug_nothing_tree (tree);