From c7f4981a5122c9b1dfcbe4596b05515d055a4b17 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 29 Mar 2002 08:47:06 +0100 Subject: re PR c++/6073 ([Solaris] Internal compiler error in simplify_gen_subreg, at simplify-rtx.c:2711) PR c++/6073 * class.c (finish_struct_1): Update static field's DECL_MODE even if its type is a variant of t. * g++.dg/opt/static1.C: New test. From-SVN: r51549 --- gcc/cp/class.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/cp/class.c') diff --git a/gcc/cp/class.c b/gcc/cp/class.c index cd23a0e..1bba932 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -5191,7 +5191,7 @@ finish_struct_1 (t) working on. */ for (x = TYPE_FIELDS (t); x; x = TREE_CHAIN (x)) if (TREE_CODE (x) == VAR_DECL && TREE_STATIC (x) - && TREE_TYPE (x) == t) + && same_type_p (TYPE_MAIN_VARIANT (TREE_TYPE (x)), t)) DECL_MODE (x) = TYPE_MODE (t); /* Done with FIELDS...now decide whether to sort these for -- cgit v1.1