]>
Commit | Line | Data |
---|---|---|
0a2e0225 AM |
1 | Index: libgcc/config.host |
2 | =================================================================== | |
3 | --- libgcc/config.host (.../tags/gcc_4_5_0_release) (wersja 158397) | |
4 | +++ libgcc/config.host (.../branches/gcc-4_5-branch) (wersja 158397) | |
5 | @@ -600,6 +600,7 @@ | |
6 | i[34567]86-*-darwin* | x86_64-*-darwin* | \ | |
7 | i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ | |
8 | i[34567]86-*-linux* | x86_64-*-linux* | \ | |
9 | + i[34567]86-*-gnu* | \ | |
10 | i[34567]86-*-solaris2* | \ | |
11 | i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*) | |
12 | if test "${host_address}" = 32; then | |
13 | Index: libgcc/ChangeLog | |
14 | =================================================================== | |
15 | --- libgcc/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 158397) | |
16 | +++ libgcc/ChangeLog (.../branches/gcc-4_5-branch) (wersja 158397) | |
17 | @@ -1,3 +1,10 @@ | |
18 | +2010-04-15 Thomas Schwinge <tschwinge@gnu.org> | |
46e0f1ff | 19 | + |
0a2e0225 AM |
20 | + Backport from mainline: |
21 | + 2010-04-15 Thomas Schwinge <tschwinge@gnu.org> | |
22 | + | |
23 | + * config.host <i[34567]86-*-gnu*>: Handle softfp as for Linux. | |
24 | + | |
25 | 2010-04-14 Release Manager | |
26 | ||
27 | * GCC 4.5.0 released. | |
28 | Index: gcc/tree-vrp.c | |
29 | =================================================================== | |
30 | --- gcc/tree-vrp.c (.../tags/gcc_4_5_0_release) (wersja 158397) | |
31 | +++ gcc/tree-vrp.c (.../branches/gcc-4_5-branch) (wersja 158397) | |
32 | @@ -2715,8 +2715,16 @@ | |
33 | || vr0.type == VR_ANTI_RANGE) | |
34 | && TREE_CODE (vr0.min) == INTEGER_CST | |
35 | && TREE_CODE (vr0.max) == INTEGER_CST | |
36 | - && !is_overflow_infinity (vr0.min) | |
37 | - && !is_overflow_infinity (vr0.max) | |
38 | + && (!is_overflow_infinity (vr0.min) | |
39 | + || (vr0.type == VR_RANGE | |
40 | + && TYPE_PRECISION (outer_type) > TYPE_PRECISION (inner_type) | |
41 | + && needs_overflow_infinity (outer_type) | |
42 | + && supports_overflow_infinity (outer_type))) | |
43 | + && (!is_overflow_infinity (vr0.max) | |
44 | + || (vr0.type == VR_RANGE | |
45 | + && TYPE_PRECISION (outer_type) > TYPE_PRECISION (inner_type) | |
46 | + && needs_overflow_infinity (outer_type) | |
47 | + && supports_overflow_infinity (outer_type))) | |
48 | && (TYPE_PRECISION (outer_type) >= TYPE_PRECISION (inner_type) | |
49 | || (vr0.type == VR_RANGE | |
50 | && integer_zerop (int_const_binop (RSHIFT_EXPR, | |
51 | @@ -2730,6 +2738,10 @@ | |
52 | new_max = force_fit_type_double (outer_type, | |
53 | TREE_INT_CST_LOW (vr0.max), | |
54 | TREE_INT_CST_HIGH (vr0.max), 0, 0); | |
55 | + if (is_overflow_infinity (vr0.min)) | |
56 | + new_min = negative_overflow_infinity (outer_type); | |
57 | + if (is_overflow_infinity (vr0.max)) | |
58 | + new_max = positive_overflow_infinity (outer_type); | |
59 | set_and_canonicalize_value_range (vr, vr0.type, | |
60 | new_min, new_max, NULL); | |
61 | return; | |
62 | Index: gcc/DATESTAMP | |
46e0f1ff | 63 | =================================================================== |
0a2e0225 AM |
64 | --- gcc/DATESTAMP (.../tags/gcc_4_5_0_release) (wersja 158397) |
65 | +++ gcc/DATESTAMP (.../branches/gcc-4_5-branch) (wersja 158397) | |
66 | @@ -1 +1 @@ | |
67 | -20100414 | |
68 | +20100416 | |
69 | Index: gcc/DEV-PHASE | |
46e0f1ff | 70 | =================================================================== |
0a2e0225 AM |
71 | --- gcc/DEV-PHASE (.../tags/gcc_4_5_0_release) (wersja 158397) |
72 | +++ gcc/DEV-PHASE (.../branches/gcc-4_5-branch) (wersja 158397) | |
73 | @@ -0,0 +1 @@ | |
74 | +prerelease | |
75 | Index: gcc/ChangeLog | |
46e0f1ff | 76 | =================================================================== |
0a2e0225 AM |
77 | --- gcc/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 158397) |
78 | +++ gcc/ChangeLog (.../branches/gcc-4_5-branch) (wersja 158397) | |
fb3cd5ca | 79 | @@ -1,3 +1,36 @@ |
0a2e0225 | 80 | +2010-04-01 Uros Bizjak <ubizjak@gmail.com> |
fb3cd5ca | 81 | + |
0a2e0225 AM |
82 | + Backport from mainline: |
83 | + 2010-04-14 Uros Bizjak <ubizjak@gmail.com> | |
46e0f1ff | 84 | + |
0a2e0225 AM |
85 | + * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from |
86 | + splitter condition. | |
87 | + (*udivmod<mode>4): Ditto. | |
fb3cd5ca | 88 | + |
0a2e0225 | 89 | + 2010-04-14 Uros Bizjak <ubizjak@gmail.com> |
fb3cd5ca | 90 | + |
0a2e0225 AM |
91 | + * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute |
92 | + from insn template. | |
fb3cd5ca | 93 | + |
0a2e0225 | 94 | +2010-04-15 Thomas Schwinge <tschwinge@gnu.org> |
fb3cd5ca | 95 | + |
0a2e0225 AM |
96 | + Backport from mainline: |
97 | + 2010-04-15 Thomas Schwinge <tschwinge@gnu.org> | |
fb3cd5ca | 98 | + |
0a2e0225 | 99 | + * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux. |
46e0f1ff | 100 | + |
0a2e0225 | 101 | +2010-04-15 Richard Guenther <rguenther@suse.de> |
46e0f1ff | 102 | + |
0a2e0225 AM |
103 | + PR tree-optimization/43627 |
104 | + * tree-vrp.c (extract_range_from_unary_expr): Widenings | |
105 | + of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type, | |
106 | + not varying. | |
46e0f1ff | 107 | + |
0a2e0225 | 108 | +2010-04-14 Richard Guenther <rguenther@suse.de> |
46e0f1ff | 109 | + |
0a2e0225 AM |
110 | + * DEV-PHASE: Set back to prerelease. |
111 | + * BASE-VER: Bump to 4.5.1. | |
f7836a4f | 112 | + |
0a2e0225 | 113 | 2010-04-14 Release Manager |
f7836a4f | 114 | |
0a2e0225 AM |
115 | * GCC 4.5.0 released. |
116 | @@ -100,7 +133,7 @@ | |
f7836a4f | 117 | |
0a2e0225 | 118 | 2010-04-02 Steven Bosscher <steven@gcc.gnu.org> |
46e0f1ff | 119 | |
0a2e0225 AM |
120 | - * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c, |
121 | + * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c, | |
122 | basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h, | |
123 | collect2.h, config/alpha/alpha.c, config/alpha/alpha.md, | |
124 | config/alpha/predicates.md, config/arm/arm.md, | |
125 | @@ -171,7 +204,7 @@ | |
126 | 2010-04-02 Richard Earnshaw <rearnsha@arm.com> | |
46e0f1ff | 127 | |
0a2e0225 AM |
128 | PR target/43469 |
129 | - * arm.c (legitimize_tls_address): Adjust call to | |
130 | + * arm.c (legitimize_tls_address): Adjust call to | |
131 | gen_tls_load_dot_plus_four. | |
132 | (arm_note_pic_base): New function. | |
133 | (arm_cannot_copy_insn_p): Use it. | |
134 | @@ -190,12 +223,12 @@ | |
46e0f1ff | 135 | |
0a2e0225 | 136 | 2010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org> |
fb3cd5ca | 137 | |
0a2e0225 AM |
138 | - * config.gcc (lm32-*-rtems*): Add t-lm32. |
139 | + * config.gcc (lm32-*-rtems*): Add t-lm32. | |
fb3cd5ca | 140 | |
0a2e0225 | 141 | 2010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com> |
46e0f1ff | 142 | |
0a2e0225 AM |
143 | - * config.gcc: Add lm32-*-rtems*. |
144 | - * config/lm32/rtems.h: New file. | |
145 | + * config.gcc: Add lm32-*-rtems*. | |
146 | + * config/lm32/rtems.h: New file. | |
f7836a4f | 147 | |
0a2e0225 | 148 | 2010-04-01 Dave Korn <dave.korn.cygwin@gmail.com> |
46e0f1ff | 149 | |
0a2e0225 | 150 | Index: gcc/testsuite/gcc.dg/tree-ssa/vrp49.c |
fb3cd5ca | 151 | =================================================================== |
0a2e0225 AM |
152 | --- gcc/testsuite/gcc.dg/tree-ssa/vrp49.c (.../tags/gcc_4_5_0_release) (wersja 0) |
153 | +++ gcc/testsuite/gcc.dg/tree-ssa/vrp49.c (.../branches/gcc-4_5-branch) (wersja 158397) | |
154 | @@ -0,0 +1,28 @@ | |
155 | +/* { dg-do link } */ | |
156 | +/* { dg-options "-O2" } */ | |
46e0f1ff | 157 | + |
0a2e0225 AM |
158 | +extern void link_error (void) __attribute__((noreturn)); |
159 | +int n; | |
160 | +float *x; | |
161 | +int main() | |
162 | +{ | |
163 | + if (n > 0) | |
46e0f1ff | 164 | + { |
0a2e0225 AM |
165 | + int i = 0; |
166 | + do | |
46e0f1ff | 167 | + { |
0a2e0225 AM |
168 | + long long index; |
169 | + i = i + 1; | |
170 | + index = i; | |
171 | + if (index <= 0) | |
172 | + link_error (); | |
173 | + x[index] = 0; | |
174 | + i = i + 1; | |
175 | + index = i; | |
176 | + if (index <= 0) | |
177 | + link_error (); | |
178 | + x[index] = 0; | |
46e0f1ff | 179 | + } |
0a2e0225 | 180 | + while (i < n); |
46e0f1ff | 181 | + } |
46e0f1ff | 182 | +} |
0a2e0225 AM |
183 | Index: gcc/testsuite/ChangeLog |
184 | =================================================================== | |
185 | --- gcc/testsuite/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 158397) | |
186 | +++ gcc/testsuite/ChangeLog (.../branches/gcc-4_5-branch) (wersja 158397) | |
187 | @@ -1,3 +1,13 @@ | |
188 | +2010-04-15 Richard Guenther <rguenther@suse.de> | |
46e0f1ff | 189 | + |
0a2e0225 AM |
190 | + PR tree-optimization/43627 |
191 | + * gcc.dg/tree-ssa/vrp49.c: New testcase. | |
46e0f1ff | 192 | + |
0a2e0225 | 193 | +2010-04-15 Richard Guenther <rguenther@suse.de> |
46e0f1ff | 194 | + |
0a2e0225 AM |
195 | + PR c++/43611 |
196 | + * g++.dg/torture/pr43611.C: New testcase. | |
f7836a4f | 197 | + |
0a2e0225 | 198 | 2010-04-14 Release Manager |
fb3cd5ca | 199 | |
0a2e0225 AM |
200 | * GCC 4.5.0 released. |
201 | Index: gcc/testsuite/g++.dg/torture/pr43611.C | |
f7836a4f | 202 | =================================================================== |
0a2e0225 AM |
203 | --- gcc/testsuite/g++.dg/torture/pr43611.C (.../tags/gcc_4_5_0_release) (wersja 0) |
204 | +++ gcc/testsuite/g++.dg/torture/pr43611.C (.../branches/gcc-4_5-branch) (wersja 158397) | |
205 | @@ -0,0 +1,22 @@ | |
206 | +// { dg-do compile } | |
207 | +// { dg-options "-fkeep-inline-functions" } | |
f7836a4f | 208 | + |
0a2e0225 AM |
209 | +template < typename > |
210 | +struct A { | |
211 | + void init (int); | |
212 | + A () | |
213 | + { | |
214 | + this->init (0); | |
215 | + } | |
216 | +}; | |
f7836a4f | 217 | + |
0a2e0225 AM |
218 | +template < typename > |
219 | +struct B : A < int > { | |
220 | + A < int > a; | |
221 | + B () {} | |
222 | +}; | |
46e0f1ff | 223 | + |
0a2e0225 AM |
224 | +extern template struct A < int >; |
225 | +extern template struct B < int >; | |
46e0f1ff | 226 | + |
0a2e0225 AM |
227 | +B < int > b; |
228 | Index: gcc/cp/ChangeLog | |
fb3cd5ca | 229 | =================================================================== |
0a2e0225 AM |
230 | --- gcc/cp/ChangeLog (.../tags/gcc_4_5_0_release) (wersja 158397) |
231 | +++ gcc/cp/ChangeLog (.../branches/gcc-4_5-branch) (wersja 158397) | |
232 | @@ -1,3 +1,9 @@ | |
233 | +2010-04-15 Richard Guenther <rguenther@suse.de> | |
234 | + | |
235 | + PR c++/43611 | |
236 | + * semantics.c (expand_or_defer_fn_1): Do not keep extern | |
237 | + template inline functions. | |
238 | + | |
239 | 2010-04-14 Release Manager | |
240 | ||
241 | * GCC 4.5.0 released. | |
242 | Index: gcc/cp/semantics.c | |
243 | =================================================================== | |
244 | --- gcc/cp/semantics.c (.../tags/gcc_4_5_0_release) (wersja 158397) | |
245 | +++ gcc/cp/semantics.c (.../branches/gcc-4_5-branch) (wersja 158397) | |
246 | @@ -3449,7 +3449,9 @@ | |
247 | this function as needed so that finish_file will make sure to | |
248 | output it later. Similarly, all dllexport'd functions must | |
249 | be emitted; there may be callers in other DLLs. */ | |
250 | - if ((flag_keep_inline_functions && DECL_DECLARED_INLINE_P (fn)) | |
251 | + if ((flag_keep_inline_functions | |
252 | + && DECL_DECLARED_INLINE_P (fn) | |
253 | + && !DECL_REALLY_EXTERN (fn)) | |
254 | || lookup_attribute ("dllexport", DECL_ATTRIBUTES (fn))) | |
255 | mark_needed (fn); | |
256 | } | |
257 | Index: gcc/BASE-VER | |
f7836a4f | 258 | =================================================================== |
0a2e0225 AM |
259 | --- gcc/BASE-VER (.../tags/gcc_4_5_0_release) (wersja 158397) |
260 | +++ gcc/BASE-VER (.../branches/gcc-4_5-branch) (wersja 158397) | |
261 | @@ -1 +1 @@ | |
262 | -4.5.0 | |
263 | +4.5.1 | |
264 | Index: gcc/config.gcc | |
fb3cd5ca | 265 | =================================================================== |
0a2e0225 AM |
266 | --- gcc/config.gcc (.../tags/gcc_4_5_0_release) (wersja 158397) |
267 | +++ gcc/config.gcc (.../branches/gcc-4_5-branch) (wersja 158397) | |
268 | @@ -3408,7 +3408,9 @@ | |
269 | i[34567]86-*-darwin* | x86_64-*-darwin*) | |
270 | tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp" | |
271 | ;; | |
272 | - i[34567]86-*-linux* | x86_64-*-linux* | i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu) | |
273 | + i[34567]86-*-linux* | x86_64-*-linux* | \ | |
274 | + i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ | |
275 | + i[34567]86-*-gnu*) | |
276 | tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux" | |
277 | ;; | |
278 | i[34567]86-*-solaris2*) | |
279 | Index: gcc/config/i386/i386.md | |
280 | =================================================================== | |
281 | --- gcc/config/i386/i386.md (.../tags/gcc_4_5_0_release) (wersja 158397) | |
282 | +++ gcc/config/i386/i386.md (.../branches/gcc-4_5-branch) (wersja 158397) | |
283 | @@ -8010,7 +8010,7 @@ | |
284 | (clobber (reg:CC FLAGS_REG))] | |
285 | "" | |
286 | "#" | |
287 | - "&& reload_completed" | |
288 | + "reload_completed" | |
289 | [(parallel [(set (match_dup 1) | |
290 | (ashiftrt:SWIM248 (match_dup 4) (match_dup 5))) | |
291 | (clobber (reg:CC FLAGS_REG))]) | |
292 | @@ -8069,7 +8069,7 @@ | |
293 | (clobber (reg:CC FLAGS_REG))] | |
294 | "" | |
295 | "#" | |
296 | - "&& reload_completed" | |
297 | + "reload_completed" | |
298 | [(set (match_dup 1) (const_int 0)) | |
299 | (parallel [(set (match_dup 0) | |
300 | (udiv:SWIM248 (match_dup 2) (match_dup 3))) | |
301 | @@ -14178,13 +14178,13 @@ | |
302 | (popcount:SI (match_operand:SI 1 "nonimmediate_operand" "rm")) | |
303 | (const_int 0))) | |
304 | (set (match_operand:DI 0 "register_operand" "=r") | |
305 | - (zero_extend:DI(popcount:SI (match_dup 1))))] | |
306 | + (zero_extend:DI (popcount:SI (match_dup 1))))] | |
307 | "TARGET_64BIT && TARGET_POPCNT && ix86_match_ccmode (insn, CCZmode)" | |
308 | { | |
309 | #if TARGET_MACHO | |
310 | return "popcnt\t{%1, %0|%0, %1}"; | |
311 | #else | |
312 | - return "popcnt{<imodesuffix>}\t{%1, %0|%0, %1}"; | |
313 | + return "popcnt{l}\t{%1, %0|%0, %1}"; | |
fb3cd5ca | 314 | #endif |
0a2e0225 AM |
315 | } |
316 | [(set_attr "prefix_rep" "1") |