aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcov-dump.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2017-12-21 15:22:08 +0100
committerMartin Liska <marxin@gcc.gnu.org>2017-12-21 14:22:08 +0000
commitbb5307a6aecb937079339bccba5608924b7ab634 (patch)
tree497e6e853be592694c5487c206a33a7adb55d84f /gcc/gcov-dump.c
parent63987ca445d31c4489f09881e3ff007294896ea2 (diff)
downloadgcc-bb5307a6aecb937079339bccba5608924b7ab634.zip
gcc-bb5307a6aecb937079339bccba5608924b7ab634.tar.gz
gcc-bb5307a6aecb937079339bccba5608924b7ab634.tar.bz2
Fix gcov-dump tool for GCDA files (PR gcov-profile/83509).
2017-12-21 Martin Liska <mliska@suse.cz> PR gcov-profile/83509 * gcov-dump.c (dump_gcov_file): Do not read info about support_unexecuted_blocks for gcda files. From-SVN: r255941
Diffstat (limited to 'gcc/gcov-dump.c')
-rw-r--r--gcc/gcov-dump.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/gcc/gcov-dump.c b/gcc/gcov-dump.c
index e5e649c..7dc28bb 100644
--- a/gcc/gcov-dump.c
+++ b/gcc/gcov-dump.c
@@ -170,6 +170,7 @@ dump_gcov_file (const char *filename)
{
unsigned tags[4];
unsigned depth = 0;
+ bool is_data_type;
if (!gcov_open (filename, 1))
{
@@ -181,14 +182,13 @@ dump_gcov_file (const char *filename)
{
unsigned magic = gcov_read_unsigned ();
unsigned version;
- const char *type = NULL;
int endianness = 0;
char m[4], v[4];
if ((endianness = gcov_magic (magic, GCOV_DATA_MAGIC)))
- type = "data";
+ is_data_type = true;
else if ((endianness = gcov_magic (magic, GCOV_NOTE_MAGIC)))
- type = "note";
+ is_data_type = false;
else
{
printf ("%s:not a gcov file\n", filename);
@@ -199,7 +199,8 @@ dump_gcov_file (const char *filename)
GCOV_UNSIGNED2STRING (v, version);
GCOV_UNSIGNED2STRING (m, magic);
- printf ("%s:%s:magic `%.4s':version `%.4s'%s\n", filename, type,
+ printf ("%s:%s:magic `%.4s':version `%.4s'%s\n", filename,
+ is_data_type ? "data" : "note",
m, v, endianness < 0 ? " (swapped endianness)" : "");
if (version != GCOV_VERSION)
{
@@ -217,10 +218,13 @@ dump_gcov_file (const char *filename)
printf ("%s:stamp %lu\n", filename, (unsigned long)stamp);
}
- /* Support for unexecuted basic blocks. */
- unsigned support_unexecuted_blocks = gcov_read_unsigned ();
- if (!support_unexecuted_blocks)
- printf ("%s: has_unexecuted_block is not supported\n", filename);
+ if (!is_data_type)
+ {
+ /* Support for unexecuted basic blocks. */
+ unsigned support_unexecuted_blocks = gcov_read_unsigned ();
+ if (!support_unexecuted_blocks)
+ printf ("%s: has_unexecuted_block is not supported\n", filename);
+ }
while (1)
{