diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-03-10 22:37:22 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-03-10 22:37:22 +0000 |
commit | 47c2386f65e479fad83139ff489b4006ac585286 (patch) | |
tree | ed11f647b03450960c8b2c0d83b0de6f831f7883 /gcc/stor-layout.c | |
parent | 54cb44a3fb4e6c4b11a860835860a70076545069 (diff) | |
download | gcc-47c2386f65e479fad83139ff489b4006ac585286.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170853 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/stor-layout.c')
-rw-r--r-- | gcc/stor-layout.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 9056d7e27c9..ed36c5b3a5a 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 |