]> git.pld-linux.org Git - packages/gcc.git/blame - gcc-pr29512.patch
- BR: perl-tools-pod (pod2man)
[packages/gcc.git] / gcc-pr29512.patch
CommitLineData
1f0f162c
PS
1--- gcc-4_1-branch/gcc/config/i386/i386.c.orig 2006-12-01 14:53:49.723600000 +0100
2+++ gcc-4_1-branch/gcc/config/i386/i386.c 2006-12-01 14:54:46.239132000 +0100
3@@ -2625,32 +2625,6 @@ classify_argument (enum machine_mode mod
514e49e5 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 {
1f0f162c 36@@ -2718,10 +2692,6 @@ classify_argument (enum machine_mode mod
514e49e5 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)
1f0f162c 47@@ -3401,18 +3371,7 @@ contains_128bit_aligned_vector_p (tree t
514e49e5 48 {
49 tree field;
1f0f162c 50
514e49e5 51- if (TYPE_BINFO (type))
52- {
53- tree binfo, base_binfo;
54- int i;
1f0f162c 55-
514e49e5 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.04124 seconds and 4 git commands to generate.