]> git.pld-linux.org Git - packages/crossppc-gcc.git/blob - gcc-pr29512.patch
- fix for new gcc
[packages/crossppc-gcc.git] / gcc-pr29512.patch
1 --- trunk/gcc/config/i386/i386.c        (wersja 117926)
2 +++ trunk/gcc/config/i386/i386.c        (wersja 117927)
3 @@ -2951,32 +2951,6 @@
4        switch (TREE_CODE (type))
5         {
6         case RECORD_TYPE:
7 -         /* For classes first merge in the field of the subclasses.  */
8 -         if (TYPE_BINFO (type))
9 -           {
10 -             tree binfo, base_binfo;
11 -             int basenum;
12 -
13 -             for (binfo = TYPE_BINFO (type), basenum = 0;
14 -                  BINFO_BASE_ITERATE (binfo, basenum, base_binfo); basenum++)
15 -               {
16 -                  int num;
17 -                  int offset = tree_low_cst (BINFO_OFFSET (base_binfo), 0) * 8;
18 -                  tree type = BINFO_TYPE (base_binfo);
19 -
20 -                  num = classify_argument (TYPE_MODE (type),
21 -                                           type, subclasses,
22 -                                           (offset + bit_offset) % 256);
23 -                  if (!num)
24 -                    return 0;
25 -                  for (i = 0; i < num; i++)
26 -                    {
27 -                      int pos = (offset + (bit_offset % 64)) / 8 / 8;
28 -                      classes[i + pos] =
29 -                        merge_classes (subclasses[i], classes[i + pos]);
30 -                    }
31 -               }
32 -           }
33           /* And now merge the fields of structure.  */
34           for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field))
35             {
36 @@ -3044,10 +3018,6 @@
37         case QUAL_UNION_TYPE:
38           /* Unions are similar to RECORD_TYPE but offset is always 0.
39              */
40 -
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))
45             {
46               if (TREE_CODE (field) == FIELD_DECL)
47 @@ -3735,18 +3705,7 @@
48           {
49             tree field;
50  
51 -           if (TYPE_BINFO (type))
52 -             {
53 -               tree binfo, base_binfo;
54 -               int i;
55 -
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)))
60 -                   return true;
61 -             }
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))
65               {
66                 if (TREE_CODE (field) == FIELD_DECL
This page took 0.037853 seconds and 3 git commands to generate.