1 --- trunk/gcc/config/i386/i386.c (wersja 117926)
2 +++ trunk/gcc/config/i386/i386.c (wersja 117927)
4 switch (TREE_CODE (type))
7 - /* For classes first merge in the field of the subclasses. */
8 - if (TYPE_BINFO (type))
10 - tree binfo, base_binfo;
13 - for (binfo = TYPE_BINFO (type), basenum = 0;
14 - BINFO_BASE_ITERATE (binfo, basenum, base_binfo); basenum++)
17 - int offset = tree_low_cst (BINFO_OFFSET (base_binfo), 0) * 8;
18 - tree type = BINFO_TYPE (base_binfo);
20 - num = classify_argument (TYPE_MODE (type),
22 - (offset + bit_offset) % 256);
25 - for (i = 0; i < num; i++)
27 - int pos = (offset + (bit_offset % 64)) / 8 / 8;
29 - merge_classes (subclasses[i], classes[i + pos]);
33 /* And now merge the fields of structure. */
34 for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field))
36 @@ -3044,10 +3018,6 @@
38 /* Unions are similar to RECORD_TYPE but offset is always 0.
41 - /* Unions are not derived. */
42 - gcc_assert (!TYPE_BINFO (type)
43 - || !BINFO_N_BASE_BINFOS (TYPE_BINFO (type)));
44 for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field))
46 if (TREE_CODE (field) == FIELD_DECL)
47 @@ -3735,18 +3705,7 @@
51 - if (TYPE_BINFO (type))
53 - tree binfo, base_binfo;
56 - for (binfo = TYPE_BINFO (type), i = 0;
57 - BINFO_BASE_ITERATE (binfo, i, base_binfo); i++)
58 - if (contains_128bit_aligned_vector_p
59 - (BINFO_TYPE (base_binfo)))
62 - /* And now merge the fields of structure. */
63 + /* Walk all the structure fields. */
64 for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field))
66 if (TREE_CODE (field) == FIELD_DECL