summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-11 02:48:49 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-11 02:48:49 +0000
commit3e301e70410c9cefbd2c5142f1106d207f7b1b9f (patch)
treee55c02856cfaf41545f0cb0935e0cc9bc5a97811
parentd4b4ef2109e01ed132575fac77046219fe73a2fa (diff)
downloadgcc-3e301e70410c9cefbd2c5142f1106d207f7b1b9f.tar.gz
Patch by Richard Biener
* coverage.c (coverage_obj_init): Delay building of type variant until the type is finished. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222990 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/coverage.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 73f6be6d390..d2db83475a7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2015-05-09 Jan Hubicka <hubicka@ucw.cz>
+ Patch by Richard Biener
+ * coverage.c (coverage_obj_init): Delay building of type variant
+ until the type is finished.
+
+2015-05-09 Jan Hubicka <hubicka@ucw.cz>
+
* ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
mismatch between C and C++ type; compoare correctly ARG_TYPES
for non-prototypes and output correctly parameter index for METHOD_TYPE.
diff --git a/gcc/coverage.c b/gcc/coverage.c
index e1d81ff2949..ff7249acaa7 100644
--- a/gcc/coverage.c
+++ b/gcc/coverage.c
@@ -1141,9 +1141,10 @@ coverage_obj_init (void)
/* Build the info and fn_info types. These are mutually recursive. */
gcov_info_type = lang_hooks.types.make_type (RECORD_TYPE);
gcov_fn_info_type = lang_hooks.types.make_type (RECORD_TYPE);
+ build_fn_info_type (gcov_fn_info_type, n_counters, gcov_info_type);
+ gcov_info_type = lang_hooks.types.make_type (RECORD_TYPE);
gcov_fn_info_ptr_type = build_pointer_type
(build_qualified_type (gcov_fn_info_type, TYPE_QUAL_CONST));
- build_fn_info_type (gcov_fn_info_type, n_counters, gcov_info_type);
build_info_type (gcov_info_type, gcov_fn_info_ptr_type);
/* Build the gcov info var, this is referred to in its own