aboutsummaryrefslogtreecommitdiff
path: root/gcc/debug.h
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2009-06-04 23:12:27 +0000
committerCary Coutant <ccoutant@gcc.gnu.org>2009-06-04 16:12:27 -0700
commit6c52e687e487eb5bfc57399754d72e05845159d8 (patch)
tree62b2a3883be83cd19685457df195f788da6d5d99 /gcc/debug.h
parent535ff342b76110501c8673df1ae44db5e6ea55b4 (diff)
downloadgcc-6c52e687e487eb5bfc57399754d72e05845159d8.zip
gcc-6c52e687e487eb5bfc57399754d72e05845159d8.tar.gz
gcc-6c52e687e487eb5bfc57399754d72e05845159d8.tar.bz2
basic-block.h (struct basic_block_def): Add discriminator field.
* 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. From-SVN: r148191
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 6d49113..8f76aff 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);