aboutsummaryrefslogtreecommitdiff
path: root/gcc/stor-layout.c
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2011-03-10 17:37:22 -0500
committerJason Merrill <jason@gcc.gnu.org>2011-03-10 17:37:22 -0500
commit18d920539d6d7f5be5a1eb58613da4f91f26fbfb (patch)
treeed11f647b03450960c8b2c0d83b0de6f831f7883 /gcc/stor-layout.c
parent67a2f76d4c054da755bd23ef9a08854b3340b715 (diff)
downloadgcc-18d920539d6d7f5be5a1eb58613da4f91f26fbfb.zip
gcc-18d920539d6d7f5be5a1eb58613da4f91f26fbfb.tar.gz
gcc-18d920539d6d7f5be5a1eb58613da4f91f26fbfb.tar.bz2
re PR c++/48029 (ICE in finish_member_declaration() with --param ggc-min-expand=0 --param ggc-min-heapsize=0)
PR c++/48029 * stor-layout.c (layout_type): Don't set structural equality on arrays of incomplete type. * tree.c (type_hash_eq): Handle comparing them properly. * cp/pt.c (iterative_hash_template_arg): Remove special case for ARRAY_TYPE. From-SVN: r170853
Diffstat (limited to 'gcc/stor-layout.c')
-rw-r--r--gcc/stor-layout.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c
index 9056d7e..ed36c5b 100644
--- a/gcc/stor-layout.c
+++ b/gcc/stor-layout.c
@@ -2028,11 +2028,6 @@ layout_type (tree type)
#else
TYPE_ALIGN (type) = MAX (TYPE_ALIGN (element), BITS_PER_UNIT);
#endif
- if (!TYPE_SIZE (element))
- /* We don't know the size of the underlying element type, so
- our alignment calculations will be wrong, forcing us to
- fall back on structural equality. */
- SET_TYPE_STRUCTURAL_EQUALITY (type);
TYPE_USER_ALIGN (type) = TYPE_USER_ALIGN (element);
SET_TYPE_MODE (type, BLKmode);
if (TYPE_SIZE (type) != 0