summaryrefslogtreecommitdiff
path: root/gcc/gcov-dump.c
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2011-12-02 20:32:40 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2011-12-02 20:32:40 +0000
commit87ddc00c5ea657a444085cbc2424224dea27f66d (patch)
tree8ef74f6b3ac710dbaffba4b31b1cf46d2bbf5382 /gcc/gcov-dump.c
parent2178b2284c0b59b1800b3beea9948cabd0143b42 (diff)
downloadgcc-87ddc00c5ea657a444085cbc2424224dea27f66d.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181949 138bc75d-0d04-0410-961f-82ee72b054a4
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 a6c5b33c622..4c2913b4d96 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 (")");
+ }
}
}
}