From 364613408363334036d8f182ea2aba5d71d894fe Mon Sep 17 00:00:00 2001
From: Richard Guenther <rguenther@suse.de>
Date: Tue, 17 May 2011 10:29:36 +0000
Subject: [PATCH] re PR bootstrap/49013 (LTO bootstrap failed with
 bootstrap-profiled)

2011-05-17  Richard Guenther  <rguenther@suse.de>

        PR bootstrap/49013
        Revert
        2011-05-16  Richard Guenther  <rguenther@suse.de>

        * gimple.c (gimple_types_compatible_p_1): Use names of the
        type itself, not its main variant.
        (iterative_hash_gimple_type): Likewise.

From-SVN: r173827
---
 gcc/ChangeLog | 10 ++++++++++
 gcc/gimple.c  |  5 +++--
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 178f563754e5..4ffe71177167 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+2011-05-17  Richard Guenther  <rguenther@suse.de>
+
+	PR bootstrap/49013
+	Revert
+	2011-05-16  Richard Guenther  <rguenther@suse.de>
+
+	* gimple.c (gimple_types_compatible_p_1): Use names of the
+	type itself, not its main variant.
+	(iterative_hash_gimple_type): Likewise.
+
 2011-05-17  Richard Guenther  <rguenther@suse.de>
 
 	* gimple.c (gimple_register_canonical_type): Use the main-variant
diff --git a/gcc/gimple.c b/gcc/gimple.c
index 1daa13316fca..b97fc8c9e101 100644
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -3817,7 +3817,8 @@ gimple_types_compatible_p_1 (tree t1, tree t2, type_pair_t p,
 	tree f1, f2;
 
 	/* The struct tags shall compare equal.  */
-	if (!compare_type_names_p (t1, t2, false))
+	if (!compare_type_names_p (TYPE_MAIN_VARIANT (t1),
+				   TYPE_MAIN_VARIANT (t2), false))
 	  goto different_types;
 
 	/* For aggregate types, all the fields must be the same.  */
@@ -4192,7 +4193,7 @@ iterative_hash_gimple_type (tree type, hashval_t val,
       unsigned nf;
       tree f;
 
-      v = iterative_hash_name (TYPE_NAME (type), v);
+      v = iterative_hash_name (TYPE_NAME (TYPE_MAIN_VARIANT (type)), v);
 
       for (f = TYPE_FIELDS (type), nf = 0; f; f = TREE_CHAIN (f))
 	{
-- 
GitLab