diff options
author | Khem Raj <raj.khem@gmail.com> | 2011-06-17 17:11:43 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-06-23 11:50:07 +0100 |
commit | 0faa5f72999fea82fadda8bab70abea2303216c7 (patch) | |
tree | 05a8c18d2f67d883f94d2bd6f060ab0f4ac7f156 /meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0014-2011-03-28-Richard-Guenther-rguenther-suse.de.patch | |
parent | c2007ba4cdb64fa9e308d3dae395c03ef4cc9161 (diff) | |
download | poky-0faa5f72999fea82fadda8bab70abea2303216c7.tar.gz |
gcc-4.6: Switch to using svn SRC_URI for recipe
We call the recipes 4.6
Remove the backport patches
(From OE-Core rev: 68b545f4ff719f2b6e57d68b002dc9845c7a14ae)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0014-2011-03-28-Richard-Guenther-rguenther-suse.de.patch')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0014-2011-03-28-Richard-Guenther-rguenther-suse.de.patch | 246 |
1 files changed, 0 insertions, 246 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0014-2011-03-28-Richard-Guenther-rguenther-suse.de.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0014-2011-03-28-Richard-Guenther-rguenther-suse.de.patch deleted file mode 100644 index f2a48eb360..0000000000 --- a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0014-2011-03-28-Richard-Guenther-rguenther-suse.de.patch +++ /dev/null | |||
@@ -1,246 +0,0 @@ | |||
1 | From 2631216d2fedc5339a5edcac64db1ab5d9269498 Mon Sep 17 00:00:00 2001 | ||
2 | From: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | ||
3 | Date: Mon, 28 Mar 2011 10:14:34 +0000 | ||
4 | Subject: [PATCH] 2011-03-28 Richard Guenther <rguenther@suse.de> | ||
5 | |||
6 | Backport from mainline | ||
7 | 2011-03-24 Richard Guenther <rguenther@suse.de> | ||
8 | |||
9 | PR middle-end/48269 | ||
10 | * tree-object-size.c (addr_object_size): Do not double-account | ||
11 | for MEM_REF offsets. | ||
12 | |||
13 | * gcc.dg/builtin-object-size-10.c: New testcase. | ||
14 | |||
15 | 2011-03-22 Richard Guenther <rguenther@suse.de> | ||
16 | |||
17 | PR tree-optimization/48228 | ||
18 | * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating | ||
19 | for single-arg PHIs. | ||
20 | |||
21 | * gcc.dg/Wstrict-overflow-23.c: New testcase. | ||
22 | |||
23 | 2011-03-17 Richard Guenther <rguenther@suse.de> | ||
24 | |||
25 | PR middle-end/48134 | ||
26 | * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated | ||
27 | a value make sure to fold the statement. | ||
28 | |||
29 | * gcc.dg/pr48134.c: New testcase. | ||
30 | |||
31 | 2011-03-15 Richard Guenther <rguenther@suse.de> | ||
32 | |||
33 | PR middle-end/48031 | ||
34 | * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized | ||
35 | or variable-indexed array accesses when in gimple form. | ||
36 | |||
37 | |||
38 | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171595 138bc75d-0d04-0410-961f-82ee72b054a4 | ||
39 | |||
40 | index 957049c..9a2f31f 100644 | ||
41 | --- a/gcc/fold-const.c | ||
42 | +++ b/gcc/fold-const.c | ||
43 | @@ -15554,12 +15554,17 @@ fold_indirect_ref_1 (location_t loc, tree type, tree op0) | ||
44 | } | ||
45 | /* *(foo *)&fooarray => fooarray[0] */ | ||
46 | else if (TREE_CODE (optype) == ARRAY_TYPE | ||
47 | - && type == TREE_TYPE (optype)) | ||
48 | + && type == TREE_TYPE (optype) | ||
49 | + && (!in_gimple_form | ||
50 | + || TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST)) | ||
51 | { | ||
52 | tree type_domain = TYPE_DOMAIN (optype); | ||
53 | tree min_val = size_zero_node; | ||
54 | if (type_domain && TYPE_MIN_VALUE (type_domain)) | ||
55 | min_val = TYPE_MIN_VALUE (type_domain); | ||
56 | + if (in_gimple_form | ||
57 | + && TREE_CODE (min_val) != INTEGER_CST) | ||
58 | + return NULL_TREE; | ||
59 | return build4_loc (loc, ARRAY_REF, type, op, min_val, | ||
60 | NULL_TREE, NULL_TREE); | ||
61 | } | ||
62 | @@ -15633,7 +15638,9 @@ fold_indirect_ref_1 (location_t loc, tree type, tree op0) | ||
63 | |||
64 | /* *(foo *)fooarrptr => (*fooarrptr)[0] */ | ||
65 | if (TREE_CODE (TREE_TYPE (subtype)) == ARRAY_TYPE | ||
66 | - && type == TREE_TYPE (TREE_TYPE (subtype))) | ||
67 | + && type == TREE_TYPE (TREE_TYPE (subtype)) | ||
68 | + && (!in_gimple_form | ||
69 | + || TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST)) | ||
70 | { | ||
71 | tree type_domain; | ||
72 | tree min_val = size_zero_node; | ||
73 | @@ -15641,6 +15648,9 @@ fold_indirect_ref_1 (location_t loc, tree type, tree op0) | ||
74 | type_domain = TYPE_DOMAIN (TREE_TYPE (sub)); | ||
75 | if (type_domain && TYPE_MIN_VALUE (type_domain)) | ||
76 | min_val = TYPE_MIN_VALUE (type_domain); | ||
77 | + if (in_gimple_form | ||
78 | + && TREE_CODE (min_val) != INTEGER_CST) | ||
79 | + return NULL_TREE; | ||
80 | return build4_loc (loc, ARRAY_REF, type, sub, min_val, NULL_TREE, | ||
81 | NULL_TREE); | ||
82 | } | ||
83 | new file mode 100644 | ||
84 | index 0000000..16014bb | ||
85 | --- /dev/null | ||
86 | +++ b/gcc/testsuite/gcc.dg/Wstrict-overflow-23.c | ||
87 | @@ -0,0 +1,31 @@ | ||
88 | +/* { dg-do compile } */ | ||
89 | +/* { dg-options "-O2 -Wstrict-overflow" } */ | ||
90 | + | ||
91 | +unsigned int | ||
92 | +do_scrolling (unsigned int window_size, unsigned int writecost) | ||
93 | +{ | ||
94 | + unsigned int i = window_size; | ||
95 | + | ||
96 | + int terminal_window_p = 0; | ||
97 | + unsigned int queue = 0; | ||
98 | + | ||
99 | + for (i = window_size; i; i--) | ||
100 | + { | ||
101 | + if (writecost < i) | ||
102 | + ++queue; | ||
103 | + else if (writecost & 1) | ||
104 | + terminal_window_p = 1; | ||
105 | + } | ||
106 | + | ||
107 | + if (queue > 0) | ||
108 | + { | ||
109 | + if (!terminal_window_p) | ||
110 | + { | ||
111 | + terminal_window_p = 1; | ||
112 | + } | ||
113 | + } | ||
114 | + | ||
115 | + if (terminal_window_p) | ||
116 | + return 100; | ||
117 | + return 0; | ||
118 | +} | ||
119 | diff --git a/gcc/testsuite/gcc.dg/builtin-object-size-10.c b/gcc/testsuite/gcc.dg/builtin-object-size-10.c | ||
120 | new file mode 100644 | ||
121 | index 0000000..6c7ed45 | ||
122 | --- /dev/null | ||
123 | +++ b/gcc/testsuite/gcc.dg/builtin-object-size-10.c | ||
124 | @@ -0,0 +1,26 @@ | ||
125 | +/* { dg-do compile } */ | ||
126 | +/* { dg-options "-O2 -fdump-tree-objsz-details" } */ | ||
127 | + | ||
128 | +typedef struct { | ||
129 | + char sentinel[4]; | ||
130 | + char data[0]; | ||
131 | +} drone_packet; | ||
132 | +typedef struct { | ||
133 | + char type_str[16]; | ||
134 | + char channel_hop; | ||
135 | +} drone_source_packet; | ||
136 | +drone_packet * | ||
137 | +foo(char *x) | ||
138 | +{ | ||
139 | + drone_packet *dpkt = __builtin_malloc(sizeof(drone_packet) | ||
140 | + + sizeof(drone_source_packet)); | ||
141 | + drone_source_packet *spkt = (drone_source_packet *) dpkt->data; | ||
142 | + __builtin___snprintf_chk (spkt->type_str, 16, | ||
143 | + 1, __builtin_object_size (spkt->type_str, 1), | ||
144 | + "%s", x); | ||
145 | + return dpkt; | ||
146 | +} | ||
147 | + | ||
148 | +/* { dg-final { scan-tree-dump "maximum object size 21" "objsz" } } */ | ||
149 | +/* { dg-final { scan-tree-dump "maximum subobject size 16" "objsz" } } */ | ||
150 | +/* { dg-final { cleanup-tree-dump "objsz" } } */ | ||
151 | diff --git a/gcc/testsuite/gcc.dg/pr48134.c b/gcc/testsuite/gcc.dg/pr48134.c | ||
152 | new file mode 100644 | ||
153 | index 0000000..8dc5a6d | ||
154 | --- /dev/null | ||
155 | +++ b/gcc/testsuite/gcc.dg/pr48134.c | ||
156 | @@ -0,0 +1,31 @@ | ||
157 | +/* { dg-do compile } */ | ||
158 | +/* { dg-options "-O2 -fstack-check=specific -fno-tree-dse -fno-tree-fre -fno-tree-loop-optimize -g" } */ | ||
159 | + | ||
160 | +struct S | ||
161 | +{ | ||
162 | + int w, z; | ||
163 | +}; | ||
164 | +struct T | ||
165 | +{ | ||
166 | + struct S s; | ||
167 | +}; | ||
168 | + | ||
169 | +int i; | ||
170 | + | ||
171 | +static inline struct S | ||
172 | +bar (struct S x) | ||
173 | +{ | ||
174 | + i++; | ||
175 | + return x; | ||
176 | +} | ||
177 | + | ||
178 | +int | ||
179 | +foo (struct T t, struct S s) | ||
180 | +{ | ||
181 | + struct S *c = &s; | ||
182 | + if (i) | ||
183 | + c = &t.s; | ||
184 | + t.s.w = 3; | ||
185 | + s = bar (*c); | ||
186 | + return t.s.w; | ||
187 | +} | ||
188 | diff --git a/gcc/tree-object-size.c b/gcc/tree-object-size.c | ||
189 | index 6a74d19..043b445 100644 | ||
190 | --- a/gcc/tree-object-size.c | ||
191 | +++ b/gcc/tree-object-size.c | ||
192 | @@ -348,8 +348,6 @@ addr_object_size (struct object_size_info *osi, const_tree ptr, | ||
193 | tree bytes2 = compute_object_offset (TREE_OPERAND (ptr, 0), pt_var); | ||
194 | if (bytes2 != error_mark_node) | ||
195 | { | ||
196 | - bytes2 = size_binop (PLUS_EXPR, bytes2, | ||
197 | - TREE_OPERAND (pt_var, 1)); | ||
198 | if (TREE_CODE (bytes2) == INTEGER_CST | ||
199 | && tree_int_cst_lt (pt_var_size, bytes2)) | ||
200 | bytes2 = size_zero_node; | ||
201 | diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c | ||
202 | index 5c9e0d8..eaf3ef9 100644 | ||
203 | --- a/gcc/tree-ssa.c | ||
204 | +++ b/gcc/tree-ssa.c | ||
205 | @@ -455,13 +455,19 @@ insert_debug_temp_for_var_def (gimple_stmt_iterator *gsi, tree var) | ||
206 | continue; | ||
207 | |||
208 | if (value) | ||
209 | - FOR_EACH_IMM_USE_ON_STMT (use_p, imm_iter) | ||
210 | - /* unshare_expr is not needed here. vexpr is either a | ||
211 | - SINGLE_RHS, that can be safely shared, some other RHS | ||
212 | - that was unshared when we found it had a single debug | ||
213 | - use, or a DEBUG_EXPR_DECL, that can be safely | ||
214 | - shared. */ | ||
215 | - SET_USE (use_p, value); | ||
216 | + { | ||
217 | + FOR_EACH_IMM_USE_ON_STMT (use_p, imm_iter) | ||
218 | + /* unshare_expr is not needed here. vexpr is either a | ||
219 | + SINGLE_RHS, that can be safely shared, some other RHS | ||
220 | + that was unshared when we found it had a single debug | ||
221 | + use, or a DEBUG_EXPR_DECL, that can be safely | ||
222 | + shared. */ | ||
223 | + SET_USE (use_p, value); | ||
224 | + /* If we didn't replace uses with a debug decl fold the | ||
225 | + resulting expression. Otherwise we end up with invalid IL. */ | ||
226 | + if (TREE_CODE (value) != DEBUG_EXPR_DECL) | ||
227 | + fold_stmt_inplace (stmt); | ||
228 | + } | ||
229 | else | ||
230 | gimple_debug_bind_reset_value (stmt); | ||
231 | |||
232 | diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c | ||
233 | index 65d249f..280e6da 100644 | ||
234 | --- a/gcc/tree-vrp.c | ||
235 | +++ b/gcc/tree-vrp.c | ||
236 | @@ -6619,6 +6619,7 @@ vrp_visit_phi_node (gimple phi) | ||
237 | edge; this helps us avoid an overflow infinity for conditionals | ||
238 | which are not in a loop. */ | ||
239 | if (edges > 0 | ||
240 | + && gimple_phi_num_args (phi) > 1 | ||
241 | && edges == old_edges) | ||
242 | { | ||
243 | int cmp_min = compare_values (lhs_vr->min, vr_result.min); | ||
244 | -- | ||
245 | 1.7.0.4 | ||
246 | |||