aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcov-dump.c
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2011-12-02 20:32:40 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2011-12-02 20:32:40 +0000
commit8919c0d984f1d98b612268e938668f177d5f835f (patch)
tree8ef74f6b3ac710dbaffba4b31b1cf46d2bbf5382 /gcc/gcov-dump.c
parent134dc576a298b36dbbe5048b0acdf11e53838464 (diff)
downloadgcc-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.c12
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 (")");
+ }
}
}
}