diff options
author | Nathan Sidwell <nathan@acm.org> | 2011-12-02 20:32:40 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2011-12-02 20:32:40 +0000 |
commit | 8919c0d984f1d98b612268e938668f177d5f835f (patch) | |
tree | 8ef74f6b3ac710dbaffba4b31b1cf46d2bbf5382 /gcc/gcov-dump.c | |
parent | 134dc576a298b36dbbe5048b0acdf11e53838464 (diff) | |
download | gcc-8919c0d984f1d98b612268e938668f177d5f835f.zip gcc-8919c0d984f1d98b612268e938668f177d5f835f.tar.gz gcc-8919c0d984f1d98b612268e938668f177d5f835f.tar.bz2 |
gcov.c (struct arc_info): Add is_throw field.
* gcov.c (struct arc_info): Add is_throw field.
(struct (block_info): Add exceptional field, reduce flags size to
account for it.
(struct function_info): Add has_catch field.
(struct line_info): Add unexceptional field.
(process_file): Call find_exception_blocks if necessary.
(read_graph_file): Adjust. Note if an exceptional edge is seen.
(find_exception_blocks): New.
(add_line_counts): Set line's unexceptional flag if not
exceptional.
(output_branch_count): Note exceptional arcs, lines and blocks.
* gcov-dump.c (tag_arcs): Decode arc flags.
* doc/gcov.texi: Document '=====' lines.
testsuite/
* lib/gcov.exp (verify-lines): Allow = as a count char.
* g++.dg/gcov/gcov-13.C: New.
From-SVN: r181949
Diffstat (limited to 'gcc/gcov-dump.c')
-rw-r--r-- | gcc/gcov-dump.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/gcov-dump.c b/gcc/gcov-dump.c index a6c5b33..4c2913b 100644 --- a/gcc/gcov-dump.c +++ b/gcc/gcov-dump.c @@ -351,6 +351,18 @@ tag_arcs (const char *filename ATTRIBUTE_UNUSED, dst = gcov_read_unsigned (); flags = gcov_read_unsigned (); printf (" %u:%04x", dst, flags); + if (flags) + { + char c = '('; + + if (flags & GCOV_ARC_ON_TREE) + printf ("%ctree", c), c = ','; + if (flags & GCOV_ARC_FAKE) + printf ("%cfake", c), c = ','; + if (flags & GCOV_ARC_FALLTHROUGH) + printf ("%cfall", c), c = ','; + printf (")"); + } } } } |