]> git.pld-linux.org Git - packages/crossppc-gcc.git/blame - gcc-pr29512.patch
- fix for new gcc
[packages/crossppc-gcc.git] / gcc-pr29512.patch
CommitLineData
eb14aa97
PS
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.045062 seconds and 4 git commands to generate.