This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
gcov-io.h type typo
- From: DJ Delorie <dj at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 22 Dec 2011 00:22:41 -0500
- Subject: gcov-io.h type typo
This field is built as a gcov_unsigned_t but declared
as a plain "unsigned", which breaks all int16 targets:
/* n_functions */
field = build_decl (BUILTINS_LOCATION, FIELD_DECL, NULL_TREE,
get_gcov_unsigned_t ());
DECL_CHAIN (field) = fields;
fields = field;
Assuming we want to support more then 65536 functions on int16
targets, how about this semi-obvious patch?
Index: gcov-io.h
===================================================================
--- gcov-io.h (revision 182614)
+++ gcov-io.h (working copy)
@@ -444,13 +444,13 @@ struct gcov_info
gcov_unsigned_t stamp; /* uniquifying time stamp */
const char *filename; /* output file name */
gcov_merge_fn merge[GCOV_COUNTERS]; /* merge functions (null for
unused) */
- unsigned n_functions; /* number of functions */
+ gcov_unsigned_t n_functions; /* number of functions */
const struct gcov_fn_info *const *functions; /* pointer to pointers
to function information */
};
/* Register a new object file module. */
extern void __gcov_init (struct gcov_info *) ATTRIBUTE_HIDDEN;