PR c/25309
[official-gcc.git] / gcc / ChangeLog
blobc5a4319df779fd26d0b4b5c0ca9b977d7bc23796
1 2007-10-10  Joseph Myers  <joseph@codesourcery.com>
3         PR c/25309
4         * c-common.c (complete_array_type): Diagnose too-large arrays and
5         set type to error_mark_node.
7 2007-10-10  Joseph Myers  <joseph@codesourcery.com>
9         PR c/32295
10         * c-typeck.c (default_conversion): Call require_complete_type
11         before perform_integral_promotions.
12         (build_unary_op): Call require_complete_type except for ADDR_EXPR.
13         (build_c_cast): Call require_complete_type except for casts to
14         void types.
15         (convert_for_assignment): Call require_complete_type.
17 2007-10-10  Uros Bizjak  <ubizjak@gmail.com>
19         Backport from mainline:
20         2007-09-14  Uros Bizjak  <ubizjak@gmail.com>
22         PR target/33438
23         * config/i386/i386.md (fmodxf3): Copy operands[2] to temporary
24         register when operands[2] equals operands[1].
25         (dremxf3): Ditto.
27         2007-09-10  Uros Bizjak  <ubizjak@gmail.com>
29         PR target/33369
30         * gcc/config/i386/sse.md (ashr<mode>3): Change op2 mode to SImode.
31         Use 'N' operand constraint for op2.
32         (lshr<mode>3): Ditto.
33         (ashl<mode>3): Ditto.
34         (vec_shl_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
35         (vec_shr_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
37         * gcc/config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLL?128,
38         IX86_BUILTIN_PSRA*?128, IX86_BUILTIN_PSRL?128]: Convert op1 to SImode.
40 2007-10-10  Richard Guenther  <rguenther@suse.de>
42         Backport from mainline:
43         2007-10-03  Doug Kwan  <dougkwan@google.com>
44                 Richard Guenther  <rguenther@suse.de>
46         PR debug/31899
47         * dwarf2out.c (reference_to_unused): Disable sanity checking,
48         be conservative instead.
50 2007-10-10  Richard Guenther  <rguenther@suse.de>
52         PR tree-optimization/33099
53         PR tree-optimization/33381
54         * tree-vrp.c (adjust_range_with_scev): Do not adjust ranges
55         from pointer typed chrecs.
57 2007-10-08  Mark Mitchell  <mark@codesourcery.com>
59         * BASE-VER: Bump.
60         * DEV-PHASE: Mark as prerelease.
62 2007-10-07  Release Manager
64         * GCC 4.2.2 released.
66 2007-09-25  Jakub Jelinek  <jakub@redhat.com>
68         PR tree-optimization/32694
69         2006-11-08  Roger Sayle  <roger@eyesopen.com>
70         * tree-ssa-propagate.c (set_rhs): Verify tcc_comparison the same way
71         as tcc_binary.
72         * tree-ssa-ccp.c (fold_stmt_r) <COND_EXPR>: Use set_rhs to modify
73         the condition after calling fold_binary.
75 2007-09-24  Jakub Jelinek  <jakub@redhat.com>
77         PR debug/33316
78         * dwarf2out.c (modified_type_die): Handle TYPE_DECL with NULL
79         DECL_NAME.
80         * dbxout.c (dbxout_type): Likewise.
82 2007-09-23  H.J. Lu  <hongjiu.lu@intel.com>
84         * configure.ac (ld_vers): Support GNU linker version xx.xx.*
85         * configure: Regenerated.
87 2007-09-23  Jakub Jelinek  <jakub@redhat.com>
89         * configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above.
90         * configure: Regenerated.
92 2007-09-13  H.J. Lu  <hongjiu.lu@intel.com>
94         PR bootstrap/33418
95         * configure.ac (ld_vers): Support Linux linker.
96         * configure: Regenerated.
98 2007-09-13  Seongbae Park <seongbae.park@gmail.com>
100         * common.opt (femit-class-debug-always): Turn off by default.
102 2007-09-12  Bob Wilson  <bob.wilson@acm.org>
104         * config/xtensa/xtensa.c (machine_function): Add vararg_a7_copy.
105         (xtensa_copy_incoming_a7): Use start_sequence instead of
106         push_to_sequence.  Stash insns in vararg_a7_copy for builtin_saveregs.
107         (xtensa_builtin_saveregs): Place code from vararg_a7_copy at the start
108         of the saveregs sequence.
110 2007-09-12  Richard Guenther  <rguenther@suse.de>
112         PR middle-end/33382
113         * tree-ssa-structalias.c (get_constraint_for_component_ref):
114         Note that accesses to a whole flexible array member may not lead
115         to a subvariable.
117 2007-09-10  Bob Wilson  <bob.wilson@acm.org>
118         
119         * config/xtensa/xtensa.c (xtensa_output_literal): Mask out high bits
120         for floating-point values if HOST_BITS_PER_LONG > 32.  Use
121         split_double instead of operand_subword.
122         
123 2007-09-10  Bob Wilson  <bob.wilson@acm.org>
125         * config/xtensa/xtensa.md (adddi3, adddi_carry): Delete.
126         (subdi3, subdi_carry): Delete.
128 2007-09-07  Tobias Burnus  <burnus@net-b.de>
130         PR middle-end/33321
131         * doc/invoke.texi: Fix -Wstrict-overflow= table.
133 2007-09-06  Richard Sandiford  <richard@codesourcery.com>
135         PR target/33256
136         * config/mips/mips.c (mips_classify_symbolic_expression): New function.
137         (mips_classify_address): Use it instead of mips_symbolic_constant_p.
138         (print_operand_reloc): Likewise.
140 2007-09-03  Anatoly Sokolov <aesok@post.ru>
142         PR target/28902
143         * config/avr/avr.h (TARGET_VTABLE_ENTRY_ALIGN): Define.
145 2007-09-01  Nick Clifton  <nickc@redhat.com>
147         * COPYING3, COPYING3.LIB: New files.
148         * tree-ssa-operands.h: Change copyright header to refer to version
149         3 of the GNU General Public License and to point readers at the
150         COPYING3 file and the FSF's license web page.
151         * tree-vrp.c, regrename.c, attribs.c, loop-unswitch.c, sched-ebb.c,
152         tree-loop-linear.c, dwarf2asm.c, tree-into-ssa.c, dwarf2asm.h,
153         tree-ssa-loop-im.c, sbitmap.c, targhooks.c, tree-dump.c,
154         tree-complex.c, sbitmap.h, targhooks.h, tree-dump.h, see.c,
155         machmode.h, hooks.c, hooks.h, genrecog.c, tree-ssa-threadupdate.c,
156         gen-protos.c, flags.h, rtlhooks.c, gencheck.c,
157         tree-ssa-loop-niter.c, opts-common.c, tree-pretty-print.c, tracer.c,
158         gengtype.c, mkconfig.sh, gengtype.h, tree-ssa-loop-unswitch.c,
159         cgraph.c, c-lex.c, cgraph.h, libfuncs.h, cfgloopmanip.c,
160         rtl-error.c, optabs.c, postreload-gcse.c, tree-ssa-loop-manip.c,
161         optabs.h, genmddeps.c, defaults.h, postreload.c, value-prof.c,
162         tree-ssa-loop-ch.c, tree-tailcall.c, gengenrtl.c, value-prof.h,
163         genopinit.c, tree.c, tree.h, reload.c, tree-pass.h, ipa-cp.c,
164         reload.h, bitmap.c, bitmap.h, tree-scalar-evolution.c,
165         c-config-lang.in, tree-scalar-evolution.h, target.h, cppspec.c,
166         rtlanal.c, ddg.c, lambda-mat.c, mips-tdump.c, ddg.h,tree-phinodes.c,
167         mips-tfile.c, pointer-set.c, pointer-set.h, diagnostic.c, final.c,
168         diagnostic.h, builtins.c, genoutput.c, gcc.c, lists.c, gcc.h,
169         cfghooks.c, input.h, gensupport.c, fold-const.c, cfghooks.h,
170         insn-notes.def, gensupport.h, builtin-attrs.def, sync-builtins.def,
171         params.c, cfgloopanal.c, params.h, omp-low.c, tree-ssa-dse.c,
172         gcov.c, cfg.c, genextract.c, ipa-reference.c, genautomata.c,
173         tree-ssa-uncprop.c, toplev.c, tree-gimple.c, ipa-reference.h,
174         vmsdbgout.c, errors.c, toplev.h, reorg.c, tree-gimple.h,
175         tree-chrec.c, pretty-print.c, errors.h, real.c, tree-chrec.h,
176         pretty-print.h, debug.c, real.h, genemit.c, c-cppbuiltin.c,
177         genmultilib, debug.h, genconfig.c, cgraphunit.c, regs.h, df-scan.c,
178         vec.c, hosthooks-def.h, vec.h, tree-ssa-copyrename.c, scan.c,
179         builtin-types.def, tree-ssa-ccp.c, scan.h, mode-classes.def,
180         haifa-sched.c, dominance.c, dojump.c, double-int.c, gcov-io.c,
181         dbxout.c, builtins.def, double-int.h, dbxout.h,
182         tree-ssa-loop-ivopts.c, df-core.c, mode-switching.c, gengtype-lex.l,
183         tree-nomudflap.c, modulo-sched.c, c-objc-common.c, hosthooks.h,
184         c-objc-common.h, caller-save.c, graph.c, ipa-pure-const.c, graph.h,
185         c-format.c, cse.c, fix-header.c, c-format.h, web.c, tree-stdarg.c,
186         genpeep.c, tree-stdarg.h, tree-ssa-math-opts.c, xcoffout.c,
187         tree-ssa-dom.c, tree-nrv.c, xcoffout.h, tree-ssa-propagate.c,
188         ipa-utils.c, tree-ssa-propagate.h, tree-ssa-alias.c, loop-init.c,
189         ipa-utils.h, gimple-low.c, rtl.def, c-tree.h, tree-ssa-sink.c,
190         ipa-inline.c, mkmap-symver.awk, machmode.def, c-pch.c, cfganal.c,
191         global.c, alloc-pool.c, c-semantics.c, alloc-pool.h, jump.c,
192         ifcvt.c, dwarf2out.c, expr.c, cfgbuild.c, tree-browser.c,
193         dwarf2out.h, expr.h, longlong.h, opts.c, gcov-iov.c, opts.h,
194         dwarf2.h, genattrtab.c, genconditions.c, genattr.c, optc-gen.awk,
195         timevar.def, tree-ssa-loop-ivcanon.c, hard-reg-set.h, predict.c,
196         tree-ssa-loop.c, host-default.c, predict.h, recog.c, recog.h,
197         c-aux-info.c, tree-ssa-address.c, timevar.c, lcm.c, timevar.h,
198         tree-vn.c, treestruct.def, fp-test.c, c-decl.c, tree-eh.c,
199         c-errors.c, c-pretty-print.c, regmove.c, lambda-trans.c,
200         c-pretty-print.h, et-forest.c, et-forest.h, local-alloc.c,
201         function.c, langhooks.c, cppdefault.c, tree-vectorizer.c,
202         function.h, langhooks.h, print-rtl.c, cppdefault.h, df.h,
203         tree-vectorizer.h, sdbout.c, stor-layout.c, sdbout.h,
204         rtlhooks-def.h, read-rtl.c, gcse.c, ipa-type-escape.c, vmsdbg.h,
205         alias.c, ipa-type-escape.h, domwalk.c, alias.h, tree-if-conv.c,
206         profile.c, domwalk.h, ipa.c, gccbug.in, tree-data-ref.c,
207         loop-unroll.c, tree-data-ref.h, tree-flow-inline.h, mkmap-flat.awk,
208         tree-vect-analyze.c, c.opt, ggc.h, opt-gather.awk, c-typeck.c,
209         gimplify.c, coretypes.h, insn-addr.h, tree-ssa-phiopt.c, c-pragma.c,
210         c-pragma.h, calls.c, genmodes.c, loop-doloop.c, predict.def,
211         dwarf.h, tree.def, rtl-factoring.c, expmed.c, bt-load.c,
212         ggc-common.c, genflags.c, tree-dfa.c, except.c, coverage.c,
213         except.h, emit-rtl.c, cfgexpand.c, coverage.h, stringpool.c,
214         cselib.c, emit-rtl.h, tree-cfgcleanup.c, c-opts.c, cselib.h,
215         cfgcleanup.c, simplify-rtx.c, tree-ssa-pre.c, explow.c,
216         tree-ssa-live.c, tree-sra.c, tree-ssa-live.h, loop-invariant.c,
217         genpreds.c, protoize.c, opth-gen.awk, c-dump.c, lambda.h, loop-iv.c,
218         tree-mudflap.c, ipa-prop.c, print-tree.c, tree-mudflap.h,
219         tree-ssa-copy.c, ipa-prop.h, cfglayout.c, tree-ssa-forwprop.c,
220         c-convert.c, cfglayout.h, common.opt, ggc-zone.c, ggc-page.c,
221         c-omp.c, tree-ssa-dce.c, gencodes.c, varasm.c, tree-vect-patterns.c,
222         libada-mk.in, sched-deps.c, tree-nested.c, c-ppoutput.c, tree-ssa.c,
223         target-def.h, tree-ssa-loop-prefetch.c, lambda-code.c,
224         omp-builtins.def, rtl.c, regclass.c, stab.def, intl.c, rtl.h,
225         intl.h, tree-inline.c, conditions.h, tree-inline.h, integrate.c,
226         sched-int.h, tree-iterator.c, integrate.h, tree-iterator.h,
227         genchecksum.c, tree-optimize.c, output.h, tree-vect-transform.c,
228         tree-object-size.c, combine.c, tree-outof-ssa.c, addresses.h,
229         bb-reorder.c, resource.c, var-tracking.c, cfgloop.c, system.h,
230         resource.h, ggc-none.c, tree-profile.c, cfgloop.h, c-gimplify.c,
231         c-common.c, opt-functions.awk, tree-vect-generic.c, tree-flow.h,
232         df-problems.c, scan-decls.c, c-common.h, config.gcc, reg-stack.c,
233         tlink.c, main.c, stub-objc.c, fixproto, config.host, Makefile.in,
234         gccspec.c, sched-rgn.c, vecprim.h, basic-block.h,
235         tree-ssa-structalias.c, tree-ssa-structalias.h, c-common.def,
236         sched-vis.c, tree-cfg.c, passes.c, genconstants.c, c-incpath.c,
237         c-incpath.h, struct-equiv.c, c-parser.c, tree-ssa-reassoc.c,
238         varray.c, sreal.c, varray.h, dfp.c, sreal.h, dfp.h, flow.c,
239         conflict.c reg-notes.def, cfgrtl.c, config.build, gengtype-yacc.y,
240         stmt.c, tree-browser.def, prefix.c, statistics.h, params.def,
241         c-lang.c, gcov-dump.c, prefix.h, tree-ssanames.c, collect2.c,
242         collect2.h, tree-ssa-threadedge.c, convert.c, convert.h,
243         langhooks-def.h, reload1.c, tree-ssa-operands.c: Likewise.
245 2007-09-01  Nick Clifton  <nickc@redhat.com>
247         * host-hpux.c: Change copyright header to refer to version 3 of
248         the GNU General Public License and to point readers at the
249         COPYING3 file and the FSF's license web page.
250         * alpha/predicates.md, alpha/vms-ld.c, alpha/linux.h,
251         alpha/alpha.opt, alpha/linux-elf.h, alpha/vms.h, alpha/elf.h,
252         alpha/vms-unwind.h, alpha/ev4.md, alpha/ev6.md, alpha/alpha.c,
253         alpha/vms-cc.c, alpha/alpha.h, alpha/sync.md, alpha/openbsd.h,
254         alpha/alpha.md, alpha/alpha-modes.def, alpha/ev5.md,
255         alpha/alpha-protos.h, alpha/freebsd.h, alpha/osf5.h,
256         alpha/netbsd.h, alpha/vms64.h, alpha/constraints.md, alpha/osf.h,
257         alpha/xm-vms.h, alpha/unicosmk.h, linux.h, frv/predicates.md,
258         frv/frv.h, frv/linux.h, frv/frv.md, frv/frv.opt,
259         frv/frv-modes.def, frv/frv-asm.h, frv/frv-protos.h, frv/frv-abi.h,
260         frv/frv.c, s390/tpf.h, s390/s390.c, s390/predicates.md,
261         s390/s390.h, s390/linux.h, s390/tpf.md, s390/tpf.opt,
262         s390/2064.md, s390/2084.md, s390/s390.md, s390/s390.opt,
263         s390/s390-modes.def, s390/fixdfdi.h, s390/constraints.md,
264         s390/s390-protos.h, s390/s390x.h, elfos.h, dbxcoff.h,
265         m32c/predicates.md, m32c/cond.md, m32c/m32c.c, m32c/minmax.md,
266         m32c/blkmov.md, m32c/m32c-pragma.c, m32c/m32c.h, m32c/prologue.md,
267         m32c/m32c.abi, m32c/muldiv.md, m32c/bitops.md, m32c/mov.md,
268         m32c/addsub.md, m32c/m32c.md, m32c/m32c.opt, m32c/t-m32c,
269         m32c/m32c-modes.def, m32c/jump.md, m32c/shift.md,
270         m32c/m32c-protos.h, libgloss.h, interix.h, sparc/hypersparc.md,
271         sparc/predicates.md, sparc/linux.h, sparc/sp64-elf.h,
272         sparc/supersparc.md, sparc/cypress.md, sparc/openbsd1-64.h,
273         sparc/openbsd64.h, sparc/niagara.md, sparc/sparc.md,
274         sparc/long-double-switch.opt, sparc/ultra3.md, sparc/sparc.opt,
275         sparc/sync.md, sparc/sp-elf.h, sparc/sparc-protos.h,
276         sparc/ultra1_2.md, sparc/biarch64.h, sparc/sparc.c,
277         sparc/little-endian.opt, sparc/sysv4-only.h, sparc/sparc.h,
278         sparc/linux64.h, sparc/freebsd.h, sparc/sol2.h, sparc/rtemself.h,
279         sparc/netbsd-elf.h, sparc/sparc-modes.def, sparc/sparclet.md,
280         sparc/sysv4.h, vx-common.h, netbsd-aout.h, m32r/m32r.md,
281         m32r/predicates.md, m32r/little.h, m32r/m32r.c, m32r/m32r.opt,
282         m32r/linux.h, m32r/m32r.h, m32r/m32r-protos.h, vxworks.opt,
283         darwin-c.c, darwin.opt, i386/i386.h, i386/cygming.h, i386/linux.h,
284         i386/cygwin.h, i386/i386.md, i386/netware-crt0.c, i386/sco5.h,
285         i386/mmx.md, i386/kaos-i386.h, i386/winnt-stubs.c,
286         i386/netbsd64.h, i386/djgpp.h, i386/gas.h, i386/sol2.h,
287         i386/constraints.md, i386/netware-libgcc.c, i386/sysv5.h,
288         i386/predicates.md, i386/x86-64.h, i386/kfreebsd-gnu.h,
289         i386/freebsd64.h, i386/vxworksae.h, i386/pentium.md, i386/lynx.h,
290         i386/i386elf.h, i386/rtemself.h, i386/netbsd-elf.h, i386/ppro.md,
291         i386/k6.md, i386/netware.c, i386/netware.h, i386/i386-modes.def,
292         i386/sysv4-cpp.h, i386/i386-interix.h, i386/cygwin1.c,
293         i386/djgpp.opt, i386/uwin.h, i386/unix.h, i386/ptx4-i.h,
294         i386/xm-djgpp.h, i386/att.h, i386/winnt.c, i386/beos-elf.h,
295         i386/sol2-10.h, i386/darwin64.h, i386/sse.md, i386/i386.opt,
296         i386/bsd.h, i386/cygming.opt, i386/xm-mingw32.h, i386/linux64.h,
297         i386/openbsdelf.h, i386/xm-cygwin.h, i386/sco5.opt, i386/darwin.h,
298         i386/mingw32.h, i386/winnt-cxx.c, i386/i386-interix3.h,
299         i386/nwld.c, i386/nwld.h, i386/host-cygwin.c, i386/cygwin2.c,
300         i386/i386-protos.h, i386/sync.md, i386/openbsd.h,
301         i386/host-mingw32.c, i386/i386-aout.h, i386/nto.h,
302         i386/biarch64.h, i386/i386-coff.h, i386/freebsd.h,
303         i386/driver-i386.c, i386/knetbsd-gnu.h, i386/host-i386-darwin.c,
304         i386/vxworks.h, i386/crtdll.h, i386/i386.c, i386/sysv4.h,
305         darwin-protos.h, linux.opt, sol2.c, sol2.h, sh/symbian.c,
306         sh/sh-protos.h, sh/linux.h, sh/elf.h, sh/superh.h, sh/sh4.md,
307         sh/coff.h, sh/newlib.h, sh/embed-elf.h, sh/symbian-pre.h,
308         sh/rtems.h, sh/kaos-sh.h, sh/sh4a.md, sh/sh64.h, sh/sh.opt,
309         sh/symbian-post.h, sh/sh-c.c, sh/predicates.md, sh/sh.c, sh/sh.h,
310         sh/shmedia.md, sh/sh-modes.def, sh/little.h, sh/sh1.md,
311         sh/superh64.h, sh/rtemself.h, sh/netbsd-elf.h, sh/sh.md,
312         sh/vxworks.h, usegas.h, svr3.h, pdp11/pdp11-protos.h,
313         pdp11/2bsd.h, pdp11/pdp11.md, pdp11/pdp11.c, pdp11/pdp11.opt,
314         pdp11/pdp11-modes.def, pdp11/pdp11.h, avr/rtems.h,
315         avr/avr-protos.h, avr/predicates.md, avr/constraints.md,
316         avr/avr.md, avr/avr.c, avr/avr.opt, avr/avr.h, sol2-protos.h,
317         dbxelf.h, lynx.opt, crx/crx.h, crx/crx-protos.h, crx/crx.md,
318         crx/crx.c, crx/crx.opt, c4x/c4x-c.c, c4x/c4x.c, c4x/c4x.opt,
319         c4x/c4x-modes.def, c4x/rtems.h, c4x/predicates.md, c4x/c4x.h,
320         c4x/c4x-protos.h, c4x/c4x.md, kfreebsd-gnu.h,
321         xtensa/predicates.md, xtensa/xtensa.c, xtensa/linux.h,
322         xtensa/xtensa.h, xtensa/elf.h, xtensa/xtensa.md,
323         xtensa/xtensa.opt, xtensa/xtensa-protos.h, dbx.h,
324         stormy16/predicates.md, stormy16/stormy16.md, stormy16/stormy16.c,
325         stormy16/stormy16.opt, stormy16/stormy16.h,
326         stormy16/stormy16-protos.h, host-solaris.c, fr30/fr30.h,
327         fr30/predicates.md, fr30/fr30-protos.h, fr30/fr30.md, fr30/fr30.c,
328         fr30/fr30.opt, vxworksae.h, sol2-c.c, lynx.h,
329         m68hc11/m68hc11-protos.h, m68hc11/predicates.md,
330         m68hc11/m68hc11.md, m68hc11/m68hc11.c, m68hc11/m68hc11.opt,
331         m68hc11/m68hc11.h, m68hc11/m68hc12.h, openbsd-oldgas.h,
332         host-linux.c, interix3.h, cris/cris.c, cris/predicates.md,
333         cris/linux.h, cris/cris.h, cris/aout.h, cris/cris.md,
334         cris/linux.opt, cris/cris.opt, cris/elf.opt, cris/aout.opt,
335         cris/cris-protos.h, netbsd.h, netbsd-elf.h, iq2000/iq2000.h,
336         iq2000/predicates.md, iq2000/iq2000-protos.h, iq2000/iq2000.md,
337         iq2000/iq2000.c, iq2000/iq2000.opt, host-darwin.c, mt/mt.md,
338         mt/mt.c, mt/mt.opt, mt/t-mt, mt/mt.h, mt/mt-protos.h, svr4.h,
339         host-darwin.h, chorus.h, mn10300/mn10300.c, mn10300/mn10300.opt,
340         mn10300/predicates.md, mn10300/mn10300.h, mn10300/linux.h,
341         mn10300/mn10300-protos.h, mn10300/mn10300.md, ia64/predicates.md,
342         ia64/itanium1.md, ia64/unwind-ia64.h, ia64/ia64-c.c, ia64/sync.md,
343         ia64/ia64.c, ia64/itanium2.md, ia64/ia64.h, ia64/vect.md,
344         ia64/freebsd.h, ia64/ia64.md, ia64/ia64-modes.def, ia64/hpux.h,
345         ia64/ia64-protos.h, windiss.h, gofast.h, rtems.h, sol2-10.h,
346         m68k/predicates.md, m68k/m68k.md, m68k/linux.h,
347         m68k/m68k-modes.def, m68k/m68k-protos.h, m68k/coff.h,
348         m68k/m68k-none.h, m68k/ieee.opt, m68k/openbsd.h, m68k/m68k-aout.h,
349         m68k/m68k.opt, m68k/m68020-elf.h, m68k/m68kelf.h, m68k/m68k.c,
350         m68k/rtemself.h, m68k/netbsd-elf.h, m68k/m68k.h, m68k/uclinux.h,
351         rs6000/power4.md, rs6000/host-darwin.c, rs6000/6xx.md,
352         rs6000/linux.h, rs6000/eabi.h, rs6000/aix41.opt, rs6000/xcoff.h,
353         rs6000/secureplt.h, rs6000/linuxspe.h, rs6000/eabialtivec.h,
354         rs6000/8540.md, rs6000/darwin8.h, rs6000/kaos-ppc.h,
355         rs6000/windiss.h, rs6000/603.md, rs6000/aix41.h, rs6000/mpc.md,
356         rs6000/aix43.h, rs6000/beos.h, rs6000/gnu.h, rs6000/rtems.h,
357         rs6000/aix.opt, rs6000/darwin.md, rs6000/darwin64.h,
358         rs6000/default64.h, rs6000/7xx.md, rs6000/darwin.opt,
359         rs6000/spe.md, rs6000/rs6000.opt, rs6000/rs6000-c.c,
360         rs6000/rios2.md, rs6000/linuxaltivec.h, rs6000/7450.md,
361         rs6000/linux64.h, rs6000/constraints.md, rs6000/440.md,
362         rs6000/darwin.h, rs6000/host-ppc64-darwin.c, rs6000/rs6000.c,
363         rs6000/aix52.h, rs6000/rs6000.h, rs6000/predicates.md,
364         rs6000/altivec.md, rs6000/aix64.opt, rs6000/rios1.md,
365         rs6000/rs6000-modes.def, rs6000/rs64.md, rs6000/eabisim.h,
366         rs6000/sysv4le.h, rs6000/darwin7.h, rs6000/linux64.opt,
367         rs6000/sync.md, rs6000/vxworksae.h, rs6000/power5.md,
368         rs6000/lynx.h, rs6000/biarch64.h, rs6000/rs6000.md,
369         rs6000/sysv4.opt, rs6000/eabispe.h, rs6000/freebsd.h,
370         rs6000/rs6000-protos.h, rs6000/netbsd.h, rs6000/e500-double.h,
371         rs6000/aix.h, rs6000/vxworks.h, rs6000/40x.md, rs6000/aix51.h,
372         rs6000/sysv4.h, arc/arc-protos.h, arc/arc.md, arc/arc.c,
373         arc/arc.opt, arc/arc-modes.def, arc/arc.h, mcore/mcore-elf.h,
374         mcore/mcore-protos.h, mcore/predicates.md, mcore/mcore.md,
375         mcore/mcore.c, mcore/mcore.opt, mcore/mcore.h, mcore/mcore-pe.h,
376         darwin.c, freebsd-nthr.h, score/predicates.md,
377         score/score-version.h, score/score-protos.h, score/misc.md,
378         score/elf.h, score/score.c, score/mac.md, score/score7.md,
379         score/score.h, score/score-conv.h, score/score-mdaux.c,
380         score/score.md, score/score.opt, score/score-modes.def,
381         score/score-mdaux.h, score/mul-div.S, arm/uclinux-elf.h,
382         arm/semi.h, arm/ecos-elf.h, arm/arm1020e.md, arm/symbian.h,
383         arm/linux-elf.h, arm/arm1026ejs.md, arm/arm1136jfs.md, arm/elf.h,
384         arm/aout.h, arm/arm.c, arm/coff.h, arm/strongarm-pe.h, arm/arm.h,
385         arm/semiaof.h, arm/arm-modes.def, arm/linux-eabi.h,
386         arm/rtems-elf.h, arm/arm-cores.def, arm/arm-protos.h, arm/vfp.md,
387         arm/aof.h, arm/linux-gas.h, arm/wince-pe.h, arm/constraints.md,
388         arm/xscale-elf.h, arm/strongarm-coff.h, arm/arm.opt,
389         arm/arm926ejs.md, arm/predicates.md, arm/iwmmxt.md,
390         arm/unknown-elf.h, arm/kaos-arm.h, arm/bpabi.h, arm/pe.opt,
391         arm/arm.md, arm/xscale-coff.h, arm/pe.c, arm/arm-generic.md,
392         arm/pe.h, arm/kaos-strongarm.h, arm/freebsd.h, arm/netbsd.h,
393         arm/fpa.md, arm/strongarm-elf.h, arm/cirrus.md, arm/netbsd-elf.h,
394         arm/vxworks.h, kaos.h, pa/predicates.md, pa/pa64-hpux.h,
395         pa/pa-hpux.opt, pa/som.h, pa/pa-hpux1010.opt, pa/pa-hpux1111.opt,
396         pa/pa-pro-end.h, pa/elf.h, pa/fptr.c, pa/pa64-linux.h, pa/pa.md,
397         pa/pa.opt, pa/pa-hpux.h, pa/pa-hpux10.h, pa/pa-hpux11.h,
398         pa/pa-hpux1010.h, pa/pa-protos.h, pa/pa-osf.h, pa/pa-hpux1111.h,
399         pa/pa-64.h, pa/milli64.S, pa/pa.c, pa/pa-linux.h, pa/pa.h,
400         pa/pa32-linux.h, pa/pa64-hpux.opt, pa/pa64-regs.h,
401         pa/pa-modes.def, darwin9.h, mips/4100.md, mips/linux.h,
402         mips/elf.h, mips/sdb.h, mips/windiss.h, mips/rtems.h,
403         mips/3000.md, mips/iris5.h, mips/5000.md, mips/7000.md,
404         mips/9000.md, mips/4600.md, mips/linux64.h, mips/elforion.h,
405         mips/constraints.md, mips/generic.md, mips/predicates.md,
406         mips/4300.md,mips/mips-ps-3d.md, mips/iris.h, mips/24k.md,
407         mips/mips.md, mips/mips.opt, mips/4k.md, mips/5k.md,
408         mips/vr4120-div.S, mips/openbsd.h, mips/iris6.h, mips/4000.md,
409         mips/mips-protos.h, mips/6000.md, mips/mips.c, mips/mips.h,
410         mips/r3900.h, mips/netbsd.h, mips/vxworks.h, mips/mips-modes.def,
411         mips/vr.h, soft-fp/t-softfp, openbsd.h, ptx4.h, freebsd-spec.h,
412         vax/vax.c, vax/openbsd.h, vax/vax.h, vax/elf.h, vax/vax.md,
413         vax/bsd.h, vax/vax.opt, vax/vax-modes.def, vax/openbsd1.h,
414         vax/netbsd.h, vax/vax-protos.h, vax/netbsd-elf.h, vax/vaxv.h,
415         vax/ultrix.h, freebsd.h, h8300/rtems.h, h8300/predicates.md,
416         h8300/h8300.c, h8300/h8300.h, h8300/elf.h, h8300/h8300.md,
417         h8300/h8300.opt, h8300/coff.h, h8300/h8300-protos.h, v850/v850.md,
418         v850/predicates.md, v850/v850-c.c, v850/v850.c, v850/v850.opt,
419         v850/v850.h, v850/v850-protos.h, knetbsd-gnu.h, sol2-6.h,
420         vxworks.h, mmix/mmix.h, mmix/predicates.md, mmix/mmix-protos.h,
421         mmix/mmix.md, mmix/mmix.c, mmix/mmix.opt, mmix/mmix-modes.def,
422         bfin/bfin.opt, bfin/rtems.h, bfin/bfin-modes.def,
423         bfin/predicates.md, bfin/bfin-protos.h, bfin/bfin.c, bfin/bfin.h,
424         bfin/bfin.md: Likewise.
426 2007-08-31  Jakub Jelinek  <jakub@redhat.com>
428         PR rtl-optimization/33148
429         * simplify-rtx.c (simplify_unary_operation_1): Only optimize
430         (neg (lt X 0)) if X has scalar int mode.
432         PR debug/32914
433         * dwarf2out.c (rtl_for_decl_init): If vector decl has CONSTRUCTOR
434         initializer, use build_vector_from_ctor if possible to create
435         VECTOR_CST out of it.  If vector initializer is not VECTOR_CST
436         even after this, return NULL.
438 2007-08-27  Jason Merrill  <jason@redhat.com>
440         PR c++/31337
441         * gimplify.c (gimplify_modify_expr): Discard the assignment of 
442         zero-sized types after calling gimplify_modify_expr_rhs.
444 2007-08-24  Jakub Jelinek  <jakub@redhat.com>
446         PR debug/32610
447         * dwarf2out.c (gen_decl_die): Don't call
448         gen_tagged_type_instantiation_die if decl doesn't have tagged type.
450 2007-08-24  Richard Guenther  <rguenther@suse.de>
452         * expr.c (get_inner_reference): Remove unused variable.
454 2007-08-24  Richard Guenther  <rguenther@suse.de>
456         * expr.c (get_inner_reference): Do computation of bitoffset
457         from offset in a way we can detect overflow reliably.
459 2007-08-22  Richard Guenther  <rguenther@suse.de>
461         PR middle-end/32563
462         * tree.c (host_integerp): Treat sizetype as signed as it is
463         sign-extended.
465 2007-08-20  Adam Nemet  <anemet@caviumnetworks.com>
467         * config/mips/predicates.md (const_call_insn_operand): Invoke
468         SYMBOL_REF_LONG_CALL_P only on SYMBOL_REFs.
470 2007-08-17  Chen liqin  <liqin@sunnorth.com.cn>
472         * config/score/score.md : Update pattern tablejump.
473         * config/score/score.c : Update score_initialize_trampoline 
474         function.
475         * config/score/score.h (TRAMPOLINE_TEMPLATE): Added macro.
476         (TRAMPOLINE_INSNS, TRAMPOLINE_SIZE) Update macro.
477         * doc/contrib.texi: Add my entry.
479 2007-08-02  Andreas Krebbel  <krebbel1@de.ibm.com>
481         * config/s390/s390.md ("*xordi3_cconly"): Change xr to xg.
483 2007-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
485         * config/s390/s390.md (TF in GPR splitter): Change operand_subword
486         parameter to TFmode.
488 2007-07-30  Mark Mitchell  <mark@codesourcery.com>
490         * BASE-VER: Bump.
491         * DEV-PHASE: Mark as prerelease.
493 2007-07-25  Steve Ellcey  <sje@cup.hp.com>
495         PR target/32218
496         * tree-vect-patterns.c (vect_pattern_recog_1): Check for valid type.
498 2007-07-25  Dorit Nuzman  <dorit@il.ibm.com>
499             Devang Patel  <dpatel@apple.com>
501         PR tree-optimization/25413
502         * targhooks.c (default_builtin_vector_alignment_reachable): New.
503         * targhooks.h (default_builtin_vector_alignment_reachable): New.
504         * tree.h (contains_packed_reference): New.
505         * expr.c (contains_packed_reference): New.
506         * tree-vect-analyze.c (vector_alignment_reachable_p): New.
507         (vect_enhance_data_refs_alignment): Call
508         vector_alignment_reachable_p.
509         * target.h (vector_alignment_reachable): New builtin.
510         * target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New.
511         * config/rs6000/rs6000.c (rs6000_vector_alignment_reachable): New.
512         (TARGET_VECTOR_ALIGNMENT_REACHABLE): Define.
514 2007-07-24  Richard Guenther  <rguenther@suse.de>
516         Backport from mainline:
517         2007-07-16  Richard Guenther  <rguenther@suse.de>
518                     Uros Bizjak  <ubizjak@gmail.com>
520         * tree-if-conv.c (find_phi_replacement_condition): Unshare "*cond"
521         before forcing it to gimple operand.
523 2007-07-24  Richard Guenther  <rguenther@suse.de>
525         PR tree-optimization/32723
526         Backport from mainline:
527         2007-03-09  Daniel Berlin  <dberlin@dberlin.org>
529         * tree-ssa-structalias.c (shared_bitmap_info_t): New structure.
530         (shared_bitmap_table): New variable.
531         (shared_bitmap_hash): New function.
532         (shared_bitmap_eq): Ditto
533         (shared_bitmap_lookup): Ditto.
534         (shared_bitmap_add): Ditto.
535         (find_what_p_points_to): Rewrite to use shared bitmap hashtable.
536         (init_alias_vars): Init shared bitmap hashtable.
537         (delete_points_to_sets): Delete shared bitmap hashtable.
539 2007-07-23  Bernd Schmidt  <bernd.schmidt@analog.com>
541         * reload1.c (choose_reload_regs): Set reload_spill_index for regs
542         chosen during find_reloads.
544 2007-07-19  Release Manager
546         * GCC 4.2.1 released.
548 2007-07-18  Paolo Bonzini  <bonzini@gnu.org>
550         Revert:
552         2007-07-09  Paolo Bonzini  <bonzini@gnu.org>
554         PR middle-end/32004
555         * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
557         2007-07-06  Paolo Bonzini  <bonzini@gnu.org>
559         PR middle-end/32004
560         * function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
561         pass_match_asm_constraints): New.
562         * passes.c (init_optimization_passes): Add new pass.
563         * stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
564         * function.h (struct function): Add has_asm_statement bit.
565         (current_function_has_asm_statement): New.
566         * tree-pass.h (pass_match_asm_constraints): New.
568 2007-07-16  Paul Brook  <paul@codesourcery.com>
570         PR target/32753
571         gcc/
572         * config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn.
574 2007-07-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
576         PR target/32538
577         * config/mips/iris6.h (LIBGCC_SPEC): Add libm.
579 2007-07-09  Paolo Bonzini  <bonzini@gnu.org>
581         PR middle-end/32004
582         * function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
584 2007-07-09  Uros Bizjak  <ubizjak@gmail.com>
586         PR tree-optimization/32681
587         * tree-if-conv.c (find_phi_replacement_condition): Use the condition
588         saved in second_edge->aux when first_bb is a loop header.
590 2007-07-07 Anatoly Sokolov <aesok@post.ru>
592         PR target/31331
593         * config/avr/avr.c (avr_naked_function_p): Handle receiving a type
594         rather than a decl. 
595         (avr_attribute_table): Make "naked" attribute apply to function types
596         rather than to decls.
597         (avr_handle_fntype_attribute): New function.
599 2007-07-06  Paolo Bonzini  <bonzini@gnu.org>
601         PR middle-end/32004
602         * function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
603         pass_match_asm_constraints): New.
604         * passes.c (init_optimization_passes): Add new pass.
605         * stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
606         * function.h (struct function): Add has_asm_statement bit.
607         (current_function_has_asm_statement): New.
608         * tree-pass.h (pass_match_asm_constraints): New.
610 2007-07-06  Uros Bizjak  <ubizjak@gmail.com>
612         PR rtl-optimization/32450
613         * function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
614         to ensure that instructions are not moved into the prologue when
615         profiling is on.
617 2007-07-04  Richard Guenther  <rguenther@suse.de>
619         PR tree-optimization/32500
620         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
621         Only use basic blocks that are always executed to infer loop bounds.
623 2007-07-04  Uros Bizjak  <ubizjak@gmail.com>
625         PR tree-optimization/31966
626         PR tree-optimization/32533
627         * tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not
628         "basic_block" description as its third argument.  Update function
629         calls to get destination bb from "edge" argument.  Save "cond" into
630         aux field of the edge.  Update prototype for changed arguments.
631         (if_convertible_loop_p): Clear aux field of incoming edges if bb
632         contains phi node.
633         (find_phi_replacement_condition): Operate on incoming edges, not
634         on predecessor blocks.  If there is a condition saved in the
635         incoming edge aux field, AND it with incoming bb predicate.
636         Return source bb of the first edge.
637         (clean_predicate_lists): Clean aux field of outgoing node edges.
638         (tree_if_conversion): Do not initialize cond variable. Move
639         variable declaration into the loop.
640         (replace_phi_with_cond_gimple_modify_stmt): Remove unneded
641         initializations of new_stmt, arg0 and arg1 variables.
643 2007-07-04  Kaz Kojima  <kkojima@gcc.gnu.org>
645         PR target/32506
646         Backport from mainline.
647         * config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand
648         predicate instead of target_operand.
649         (divsi3_i1_media, divsi3_media_2): Likewise.
651 2007-07-03  Richard Guenther  <rguenther@suse.de>
653         Backport from mainline:
654         2006-12-11  Zdenek Dvorak <dvorakz@suse.cz>
656         PR rtl-optimization/30113
657         * loop-iv.c (implies_p): Require the mode of the operands to be
658         scalar.
660 2007-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
662         PR target/28307
663         * gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
664         (__gthrw_pragma): Provide default definition.
665         (__gthrw2): Use it.
666         * gthr-posix.c (__gthrw_pragma): Define.
668 2007-07-02  Jakub Jelinek  <jakub@redhat.com>
670         PR libgomp/32468
671         * omp-low.c (check_combined_parallel): New function.
672         (lower_omp_parallel): Call it via walk_stmts, set
673         OMP_PARALLEL_COMBINED if appropriate.
674         (determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS
675         isn't the only statement in WS_ENTRY_BB or OMP_RETURN
676         the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED,
677         don't consider it as combined parallel.
679 2007-06-30  Alexandre Oliva  <aoliva@redhat.com>
681         * dwarf2out.c (dwarf2out_finish): Accept namespaces as context of
682         limbo die nodes.
684 2007-06-28  Seongbae Park  <seongbae.park@gmail.com>
686         * config/arm/arm.c (arm_get_frame_offsets): Set
687         offsets->locals_base to avoid negative stack size.
688         (thumb_expand_prologue): Assert on negative stack size.
690 2007-06-28  Jakub Jelinek  <jakub@redhat.com>
692         * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
693         decl is non-external for AIX ABI.
695 2007-06-28  David Edelsohn  <edelsohn@gnu.org>
697         * config/rs6000/predicates.md (current_file_function_operand):
698         Ensure the symbol is non-external for AIX ABI.
700 2007-06-21  H.J. Lu  <hongjiu.lu@intel.com>
702         * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI.
703         (ix86_init_mmx_sse_builtins): Add __builtin_ia32_vec_ext_v16qi.
704         (ix86_expand_builtin): Handle IX86_BUILTIN_VEC_EXT_V16QI.
706 2007-06-21  Jakub Jelinek  <jakub@redhat.com>
708         PR middle-end/32362
709         * omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL,
710         but decl is a global var, instead return decl.
711         * gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses
712         even for is_global_var decls, if they are private in some outer
713         context.
715 2007-06-21  Uros Bizjak  <ubizjak@gmail.com>
717         PR target/32389
718         * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL.
719         * config/i386/i386.c (assign_386_stack_local): Assert that
720         SLOT_VIRTUAL is valid only before virtual regs are instantiated.
721         (ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]:
722         Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP.
723         * config/i386/i386.md (truncdfsf2, truncxfsf2, truncxfdf2): Ditto.
725 2007-06-20  Jakub Jelinek  <jakub@redhat.com>
727         PR inline-asm/32109
728         * gimplify.c (gimplify_asm_expr): Issue error if type is addressable
729         and !allows_mem.
731         PR middle-end/32285
732         * calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
733         if ACCUMULATE_OUTGOING_ARGS.
735 2007-06-20  Kaz Kojima  <kkojima@gcc.gnu.org>
737         PR rtl-optimization/28011
738         Backport from mainline.
739         * reload.c (push_reload): Set dont_share if IN appears in OUT
740         also when IN is a PLUS rtx.
741         (reg_overlap_mentioned_for_reload_p): Return true if X and IN
742         are same PLUS rtx.
744 2007-06-19  Richard Guenther  <rguenther@suse.de>
745         Michael Matz  <matz@suse.de>
747         PR tree-optimization/30252
748         * tree-ssa-structalias.c (solution_set_add): Make sure to
749         preserve all relevant vars.
750         (handle_ptr_arith): Make sure to only handle positive
751         offsets.
752         (push_fields_onto_fieldstack): Create fields for empty
753         bases.
755 2007-06-19  Jakub Jelinek  <jakub@redhat.com>
757         PR tree-optimization/32353
758         * tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL.
760 2007-06-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
762         * config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the
763         return mode from the builtin itself.
764         (sparc_fold_builtin): Fix cast of zero constant.
766 2007-06-15  Diego Novillo  <dnovillo@google.com>
768         PR 32327
769         * tree-ssa-operands.c (build_ssa_operands): Initially assume
770         that the statement does not take any addresses.
772 2007-06-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
774         * config/sparc/sparc.c (sparc_override_options): Initialize
775         fpu mask correctly.
777 2007-06-09  Ian Lance Taylor  <iant@google.com>
779         PR tree-optimization/32169
780         * tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and
781         CONVERT_EXPR, check whether min and max both converted to an
782         overflow infinity representation.
784 2007-06-08  Kaz Kojima  <kkojima@gcc.gnu.org>
786         PR target/32163
787         Backport from mainline.
788         * config/sh/sh.md (symGOT_load): Don't schedule insns when
789         the symbol is generated with the stack protector.
791 2007-06-06  Ian Lance Taylor  <iant@google.com>
793         * fold-const.c (merge_ranges): If range_successor or
794         range_predecessor fail, just return 0.
796 2007-06-05  Ian Lance Taylor  <iant@google.com>
798         * tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a
799         PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p.
800         (extract_range_from_assert): Set TREE_NO_WARNING when creating an
801         expression.
802         (test_for_singularity): Likewise.
804 2007-06-04  Ian Lance Taylor  <iant@google.com>
806         * tree-vrp.c (adjust_range_with_scev): When loop is not expected
807         to overflow, reduce overflow infinity to regular infinity.
808         (vrp_var_may_overflow): New static function.
809         (vrp_visit_phi_node): Check vrp_var_may_overflow.
811 2007-05-31  H.J. Lu  <hongjiu.lu@intel.com>
813         Backport from mainline:
814         2007-05-25  H.J. Lu  <hongjiu.lu@intel.com>
816         * config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it
817         with MASK_SSE2.
818         (__builtin_ia32_vec_ext_v2di): Likewise.
819         (__builtin_ia32_vec_ext_v4si): Likewise.
820         (__builtin_ia32_vec_ext_v8hi): Likewise.
821         (__builtin_ia32_vec_set_v8hi): Likewise.
823 2007-05-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
825         Backport from mainline:
826         2007-05-05  Aurelien Jarno  <aurelien@aurel32.net>
828         * config/pa/pa.md: Split tgd_load, tld_load and tie_load
829         into pic and non-pic versions. Mark r19 as used for 
830         tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used 
831         for tgd_load, tld_load and tie_load .
832         * config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic
833         version of tgd_load, tld_load and tie_load depending on the 
834         value of flag_pic.
836 2007-05-27  Daniel Berlin <dberlin@dberlin.org>
838         Fix PR/30052
839         Backport PTA solver from mainline
841         * pointer-set.c: Copy from mainline
842         * pointer-set.h: Ditto.
843         * tree-ssa-structalias.c: Copy solver portions from mainline.
844         * Makefile.in (tree-ssa-structalias.o): Update dependencies
846 2007-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
848         * tree-vrp.c (compare_names): Initialize sop.
850 2007-05-30  Jakub Jelinek  <jakub@redhat.com>
852         PR tree-optimization/31769
853         * except.c (duplicate_eh_regions): Clear prev_try if
854         ERT_MUST_NOT_THROW region is inside of ERT_TRY region.
856 2007-05-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>
858         PR tree-opt/32100
859         * fold-const.c (tree_expr_nonnegative_warnv_p): Don't
860         return true when truth_value_p is true and the type
861         is of signed:1.
863 2007-05-27  H.J. Lu  <hongjiu.lu@intel.com>
865         Backport from mainline:
866         2007-05-25  Uros Bizjak  <ubizjak@gmail.com>
868         * config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate
869         "memory" attribute for "sseishft" type insn without operands[2].
871         2007-05-25  H.J. Lu  <hongjiu.lu@intel.com>
873         * config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift.
875 2007-05-22  Ian Lance Taylor  <iant@google.com>
877         * tree-vrp.c (avoid_overflow_infinity): New static function,
878         broken out of set_value_range_to_value.
879         (set_value_range_to_value): Call avoid_overflow_infinity.
880         (extract_range_from_assert): Likewise.
882 2007-05-23  Chen Liqin  <liqin@sunnorth.com.cn>
884         PR target/30987
885         * config/score/misc.md (bitclr_c, bitset_c, bittgl_c): remove.
886         * config/score/predicate.md (const_pow2, const_npow2): remove.
887         * config/score/score.h (ASM_OUTPUT_EXTERNAL): add ASM_OUTPUT_EXTERNAL undef.
888         PR target/30474
889         * config/score/score.c (score_print_operand): makes sure that only lower 
890         bits are used.
891         
892 2007-05-21  Uros Bizjak  <ubizjak@gmail.com>
894         PR target/31167
895         Backport from mainline.
896         * config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use
897         x86_64_general_operand as operand[2] predicate.  Remove "iF"
898         from operand constraints and use "e" constraint instead.
899         (*subti3_1, *subti3_1 splitter): Ditto.
900         (*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as
901         operand[1] predicate.
903 2007-05-21  Uros Bizjak  <ubizjak@gmail.com>
905         PR target/30041
906         Backport from mainline.
907         * config/i386/sse.md ("*sse3_movddup"): Use operands[0] and
908         operands[1] in insn constraint.  Correct type attribute to sselog1.
910 2007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
912         PR target/31701
913         Backport from mainline.
914         * config/sh/sh.c (output_stack_adjust): Avoid using the frame
915         register itself to hold the offset constant.  Tell flow the use
916         of r4 and r5 when they are used.
918 2007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
920         PR target/31480
921         Backport from mainline.
922         * config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
923         is null.
925 2007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
927         PR target/31022
928         Backport from mainline.
929         * config/sh/sh.c (sh_adjust_cost): Use the result of single_set
930         instead of PATTERN.
932 2007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>
934         PR target/27405
935         Backport from mainline.
936         * config/sh/sh.md (cmp{eq,gt,gtu}{si,di}_media): Remove.
937         (cmpsi{eq,gt,gtu}{si,di}_media): Rename to
938         cmp{eq,gt,gtu}{si,di}_media.
939         (*cmpne0si_media): Remove.
940         (*movsicc_umin): Adjust gen_cmp*_media call.
941         (unordered): Change the mode of unordered and operands[1] to
942         SImode.
943         (seq): Adjust gen_cmp*_media calls.  Make the mode of
944         a temporary result of compare SImode if needed.  If the mode
945         of operands[0] is DImode, extend the temporary result to DImode.
946         (slt, sle, sgt, sge, sgtu, sltu, sleu, sgue, sne): Likewise.
947         (sunorderd): Change the mode of match_operand and unorderd to
948         SImode.
949         (cmpeq{sf,df}_media): Remove.
950         (cmpsieq{sf,df}_media): Rename to cmpeq{sf,df}_media.
951         (cmp{gt,ge,un}{sf,df}_media): Change the mode of match_operand
952         and compare operation to SImode.
954 2007-05-18  Joseph Myers  <joseph@codesourcery.com>
956         * config/soft-fp/double.h, config/soft-fp/extended.h,
957         config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c,
958         config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c,
959         config/soft-fp/op-2.h, config/soft-fp/op-4.h,
960         config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from
961         glibc CVS.
963 2007-05-17  Ian Lance Taylor  <iant@google.com>
965         PR tree-optimization/31953
966         * tree-vrp.c (set_value_range_to_value): Add equiv parameter.
967         Change all callers.
968         (set_value_range_to_null): Call set_value_range_to_value.
969         (extract_range_from_comparison): Likewise.
971 2007-05-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
973         PR rtl-optimization/31691
974         * combine.c (simplify_set): Build a new src pattern instead of
975         substituting its operands in the COMPARE case.
977 2007-05-14  Mark Mitchell  <mark@codesourcery.com>
979         * BASE-VER: Set to 4.2.1.
980         * DEV-PHASE: Set to prerelease.
982 2007-05-13  Release Manager
984         * GCC 4.2.0 released.
986 2007-05-12  Richard Guenther  <rguenther@suse.de>
988         PR tree-optimization/31797
989         * tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not
990         propagate into a stmt that has volatile ops.
992 2007-05-01  Ian Lance Taylor  <iant@google.com>
994         PR tree-optimization/31739
995         * tree-vrp.c (vrp_val_is_max): New static function.
996         (vrp_val_is_min): New static function.
997         (set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than
998         copying the node.
999         (set_value_range): Use vrp_val_is_{max,min}.
1000         (extract_range_from_assert): Likewise.
1001         (extract_range_from_binary_expr): Likewise.
1002         (extract_range_from_unary_expr): Likewise.
1003         (dump_value_range, vrp_meet): Likewise.
1004         (vrp_visit_phi_node): Likewise.
1005         * tree.c (build_distinct_type_copy): Revert change of 2007-04-27.
1007 2007-05-01  Joseph Myers  <joseph@codesourcery.com>
1009         * config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo.
1011 2007-04-27  Anatoly Sokolov <aesok@post.ru>
1013         * config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and 
1014         ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture.
1015         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1016         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1018 2007-04-27  Ian Lance Taylor  <iant@google.com>
1020         PR middle-end/31710
1021         * tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or
1022         TYPE_MAX_VALUE exist, convert them to the new type.
1024 2007-04-26  Ian Lance Taylor  <iant@google.com>
1026         PR target/28675
1027         * reload.c (find_reloads_subreg_address): If the address was valid
1028         in the original mode but not in the new mode, reload the whole
1029         address.
1031 2007-04-26  Ulrich Weigand  <uweigand@de.ibm.com>
1033         PR middle-end/30761
1034         * reload1.c (eliminate_regs_in_insn): In the single_set special
1035         case, attempt to re-recognize the insn before falling back to
1036         having reload fix it up.
1038 2007-04-26  Richard Guenther  <rguenther@suse.de>
1039         Daniel Berlin  <dberlin@dberlin.org>
1041         PR tree-optimization/30567
1042         * tree-ssa-structalias.c (update_alias_info): Record dereference
1043         also if ESCAPE_STORED_IN_GLOBAL.
1045 2007-04-26  Jakub Jelinek  <jakub@redhat.com>
1047         PR c++/31598
1048         * tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE.
1050         PR tree-optimization/30558
1051         * tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW
1052         clear this_state.prev_try.
1054 2007-04-25  Anatoly Sokolov <aesok@post.ru>
1056         PR target/18989
1057         * config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine.
1059 2007-04-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1060             Roger Sayle  <roger@eyesopen.com>
1062         PR middle-end/30222
1063         * expmed.c (make_tree): Use the correct type, i.e. the inner
1064         type, when constructing the individual elements of a CONST_VECTOR.
1066 2007-04-24  Ian Lance Taylor  <iant@google.com>
1068         PR tree-optimization/31605
1069         * tree-vrp.c (set_value_range): Check that min and max are not
1070         both overflow infinities.
1071         (set_value_range_to_value): New static function.
1072         (extract_range_from_binary_expr): Call set_value_range_to_value.
1073         (extract_range_from_expr): Likewise.
1074         (extract_range_from_unary_expr): Likewise.  Don't create a range
1075         which overflows on both sides.
1076         (vrp_meet): Check for a useless range.
1077         (vrp_visit_phi_node): If we see a constant which looks like an
1078         overflow infinity, turn off the TREE_OVERFLOW flag.
1080 2007-04-24  Ian Lance Taylor  <iant@google.com>
1082         PR tree-optimization/31602
1083         * tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for
1084         conditionals in the copied loop header.
1085         * tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow
1086         warnings if TREE_NO_WARNING is set.
1087         * doc/invoke.texi (Warning Options): Clarify that
1088         -Wstrict-overflow does not warn about loops.
1090 2007-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>
1092         PR target/31641
1093         * config/s390/s390.c (s390_expand_setmem): Don't ICE for constant length
1094         argument of 0 for memset.
1095         (s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use
1096         unsigned shift instead of the signed variant.
1098 2007-04-24  Daniel Franke  <franke.daniel@gmail.com>
1100         * doc/invoke.texi: Removed leading '-' from option index entries.
1102 2007-04-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1104         PR middle-end/31448
1105         * expr.c (reduce_to_bit_field_precision): Handle
1106         CONST_INT rtx's.
1108 2007-04-20  Richard Henderson  <rth@redhat.com>
1110         PR target/28623
1111         * config/alpha/alpha.c (get_unaligned_address): Remove extra_offset
1112         argument; update all callers.
1113         (get_unaligned_offset): New.
1114         * config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use
1115         get_unaligned_address, just pass on the address directly.
1116         (unaligned_extendqidi): Use gen_lowpart instead of open-coding
1117         the subreg in the helper patterns.
1118         (unaligned_extendqidi_le): Use get_unaligned_offset.
1119         (unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise.
1120         (unaligned_extendhidi_be): Likewise.
1121         (unaligned_extendhidi): Tidy.
1122         * config/alpha/alpha-protos.h: Update.
1124 2007-04-21  Richard Guenther  <rguenther@suse.de>
1126         PR middle-end/31136
1127         * fold-const.c (fold_unary): Call fold_convert_const on the
1128         original tree.
1130 2007-04-20  Richard Henderson  <rth@redhat.com>
1132         * config/alpha/linux.h (CPP_SPEC): Undef before redefine.
1134 2007-04-20  Bernd Schmidt  <bernd.schmidt@analog.com>
1136         * reload.c (combine_reloads): When trying to use a dying register,
1137         check whether it's uninitialized and don't use if so.
1139 2007-04-20  Jakub Jelinek  <jakub@redhat.com>
1141         * config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED
1142         for __builtin_ia32_cmpordss.
1144         PR tree-optimization/31632
1145         * fold-const.c (fold_binary): Use op0 and op1 instead of arg0
1146         and arg1 for optimizations of comparison against min/max values.
1147         Fold arg0 to arg1's type for optimizations of comparison against
1148         min+1 and max-1 values.
1150 2007-04-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
1152         PR rtl-optimization/29841
1153         * cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional
1154         trap instructions.
1155         * sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions
1156         that may cause control flow transfer from being moved.
1158 2007-04-18  Anatoly Sokolov <aesok@post.ru>
1160         * config/avr/avr.c (ptrreg_to_str): Replace error() with
1161         output_operand_lossage().
1163 2007-04-17  Anatoly Sokolov <aesok@post.ru>
1165         PR target/30483
1166         * config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with
1167         error().
1169 2007-04-17  Jan Hubicka  <jh@suse.cz>
1171         PR middle-end/30700
1172         * dwarf2out.c (reference_to_unused): Ask cgraph for functions
1173         availablility; add more sanity checking; ask varpool only about
1174         VAR_DECL.
1176 2007-04-17  H.J. Lu  <hongjiu.lu@intel.com>
1178         * Backport from mainline:
1179         2007-04-17  H.J. Lu  <hongjiu.lu@intel.com>
1181         * config/i386/sse.md (sse_vmaddv4sf3): Use register_operand
1182         on "0".
1183         (sse_vmmulv4sf3): Likewise.
1184         (sse2_vmaddv2df3): Likewise.
1185         (sse2_vmmulv2df3): Likewise.
1187 2007-04-16  Matthias Klose  <doko@debian.org>
1189         * config/alpha/linux.h (CPP_SPEC): Define.
1190         * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend.
1192 2007-04-16  Anatoly Sokolov <aesok@post.ru>
1194         * config/avr/avr.c (avr_arch_types): Rearranging  array.
1195         (enum avr_arch): Add.
1196         (avr_mcu_types): Use avr_arch enumeration constants instead of 
1197         numbers.
1198         * config/avr/avr.h (LINK_SPEC): Simplify.
1200 2007-04-16  Jan Hubicka  <jh@suse.cz>
1202         PR target/27869
1203         * config/i386/sse.md
1204         (sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
1205         (sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
1206         (sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
1207         (sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.
1209 2007-04-16  H.J. Lu  <hongjiu.lu@intel.com>
1211         * Backport from mainline:
1212         2007-04-16  H.J. Lu  <hongjiu.lu@intel.com>
1214         PR target/31582
1215         * config/i386/i386.c (ix86_expand_vec_set_builtin): Make a
1216         copy of source, pass it to ix86_expand_vector_set and return
1217         it as target.
1219 2007-04-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1221         PR c/31520
1222         * c-decl.c (finish_decl): Grab the type of the decl after the call
1223         to store_init_value.
1225 2007-04-14  Jakub Jelinek  <jakub@redhat.com>
1227         PR c++/25874
1228         * omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators,
1229         post dominators and cleanup cfg before returning.
1231 2007-04-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1233         * pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
1234         null before emitting a .nsubspa directive.
1236 2007-04-08  Anatoly Sokolov <aesok@post.ru>
1238         PR target/29932
1239         * config/avr/predicates.md (io_address_operand): Delete predicate.
1240         (low_io_address_operand): Don't use 'mode' argument.
1241         (higth_io_address_operand): Rename ...
1242         (high_io_address_operand): ... to this. Don't use 'mode' argument.
1243         * config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
1244         for above change.
1246 2007-04-07  Anatoly Sokolov <aesok@post.ru>
1248         PR target/30289
1249         * config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as 
1250         earlyclobber.
1252 2007-04-05  Anatoly Sokolov <aesok@post.ru>
1254         PR target/25448
1255         * config/avr/avr.c (avr_handle_fndecl_attribute): Use the 
1256         DECL_ASSEMBLER_NAME, not the DECL_NAME.
1258 2007-04-04  Richard Henderson  <rth@redhat.com>
1260         PR target/31361
1261         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
1262         v8hi_ftype_v8hi_v2di, v4si_ftype_v4si_v2di.  Use like-types for
1263         the variable shift builtins.
1264         (ix86_expand_builtin): Properly expand the variable shift builtins.
1265         * config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make
1266         operand 2 be TImode.
1267         * config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
1268         _mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
1269         _mm_srli_epi32, _mm_srli_epi64): Turn into macros.
1270         (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
1271         (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
1272         _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
1273         two-vector shift builtins.
1275 2007-04-04  Chen liqin  <liqin@sunnorth.com.cn>
1277         * config/score/crti.asm: Change _bss_start to __bss_start.
1278         * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
1279         (OUTGOING_REG_PARM_STACK_SPACE) update.
1280         * config/score/score.opt: add options to make backend support
1281         score5, score5u, score7 and score7d.
1282         * config/score/score.md: Likewise.
1283         * config/score/misc.md: Likewise.
1284         * config/score/mac.md: Likewise.
1285         * doc/invoke.texi: Likewise.
1286         * doc/md.texi: update constraints define.
1288 2007-04-03  Stuart Hastings  <stuart@apple.com>
1290         PR 31281
1291         * objc/objc-act.c (next_sjlj_build_catch_list): Delete volatile
1292         from rethrow decl.
1293         * cse.c (record_jump_equiv): Bail out on CCmode comparisons.
1295 2007-04-03  Jakub Jelinek  <jakub@redhat.com>
1297         PR middle-end/30704
1298         * fold-const.c (native_encode_real): Encode real.c provided longs
1299         as a series of 32-bit native integers.
1300         (native_interpret_real): Interpret buffer as a series of 32-bit
1301         native integers.
1303 2007-04-02  Eric Christopher  <echristo@apple.com>
1305         * doc/invoke.texi (i386 and x86-64 Options): Document -m64
1306         limitations on darwin.
1308 2007-04-02  Anatoly Sokolov <aesok@post.ru>
1310         PR target/31137
1311         * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.
1313 2007-04-02  H.J. Lu  <hongjiu.lu@intel.com>
1315         * Backport from mainline:
1316         2007-03-28  Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
1318         PR target/31380
1319         * config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX.
1321 2007-03-30  Anatoly Sokolov <aesok@post.ru>
1323         * config/avr/avr.c (avr_override_options): Clear
1324         'flag_delete_null_pointer_checks'.
1326 2007-03-29  Michael Matz  <matz@suse.de>
1328         * builtins.c (expand_builtin_sync_operation,
1329         expand_builtin_compare_and_swap,
1330         expand_builtin_lock_test_and_set): Care for extending CONST_INTs
1331         correctly.
1333         * config/i386/sync.md (sync_double_compare_and_swapdi_pic,
1334         sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint
1335         for operand 3.
1337 2007-03-28  Mike Stump  <mrs@apple.com>
1339         * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add.
1340         * config/darwin.h (MAX_OFILE_ALIGNMENT): Fix.
1341         * config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef.
1343 2007-03-27  Anatoly Sokolov <aesok@post.ru>
1345         * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4'
1346         architecture.
1348 2007-03-26  Ian Lance Taylor  <iant@google.com>
1350         PR tree-optimization/31345
1351         * tree-vrp.c (extract_range_from_binary_expr): Turn ranges like
1352         [+INF, +INF(OVF)] into VARYING.
1354 2007-03-23  Martin Michlmayr  <tbm@cyrius.com>
1356         * doc/invoke.texi (-fforce-mem): Update documentation to reflect
1357         that this option will be removed in 4.3 rather than 4.2.
1358         * opts.c (common_handle_option): Likewise.
1360 2007-03-21  Mike Stump  <mrs@apple.com>
1362         * c.opt: Fixup for Objective-C/C++.
1364 2007-03-21  Richard Henderson  <rth@redhat.com>
1366         PR target/31245
1367         * config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
1368         * config/i386/mmintrin.h (__m64): Likewise.
1369         * config/i386/xmmintrin.h (__m128): Likewise.
1371 2007-03-20  Jakub Jelinek  <jakub@redhat.com>
1373         PR c/30762
1374         * c-typeck.c (convert_for_assignment): Call comptypes for
1375         RECORD_TYPE or UNION_TYPE.
1377         PR inline-asm/30505
1378         * reload1.c (reload): Do invalid ASM checking after
1379         cleanup_subreg_operands.
1381 2007-03-19  Jeff Law  <law@redhat.com>
1383         * tree-cfg.c (find_taken_edge): Tighten conditions for
1384         optimizing computed gotos.
1386 2007-03-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1388         * pa.c (attr_length_call): Partially revert change of 2007-03-09.
1389         (output_call): Likewise.
1391 2007-03-16  Alexandre Oliva  <aoliva@redhat.com>
1393         PR debug/29906
1394         * dwarf2out.c (force_type_die): Adjust comment.
1395         (dwarf2out_imported_module_or_decl): Handle base AT_import types.
1397 2007-03-15  Seongbae Park <seongbae.park@gmail.com>
1399         PR tree-optimization/30590
1400         * tree-nrv.c (tree_nrv): Check for the partial update
1401         of the return value.
1403 2007-03-14  Ian Lance Taylor  <iant@google.com>
1405         * tree-vrp.c (value_inside_range): Ignore fold warnings.
1407 2007-03-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1409         PR target/31123
1410         * pa.md (vdepi_ior): Don't allow zero length deposit.  Likewise for
1411         two unamed patterns.
1413 2007-03-12  Brooks Moses  <brooks.moses@codesourcery.com>
1415         * doc/extend.texi: Edit "gnu_inline" documentation.
1416         * doc/invoke.texi: Edit "-fgnu89-inline" documentation.
1418 2007-03-12  Brooks Moses  <brooks.moses@codesourcery.com>
1420         * doc/extend.texi: Fix cpp.info cross-reference.
1421         * doc/invoke.texi: Fix cpp.info cross-reference.
1422         * doc/passes.texi: Fix gcc.info cross-reference.
1424 2007-03-12  Daniel Berlin  <dberlin@dberlin.org>
1426         Fix PR tree-optimization/28544
1427         * tree-ssa-operands.c (add_virtual_operand):
1428         Move assert triggering on aliasing violations into
1429         debugging define
1431 2007-03-12  Ian Lance Taylor  <iant@google.com>
1433         * c.opt (fgnu89-inline): New option.
1434         * c-opts.c (c_common_post_options): Warn about -fno-gnu89-inline.
1435         * c-common.c (c_common_attributes): Add gnu_inline attribyte.
1436         (handle_gnu_inline_attribute): New static function.
1437         * c-decl.c (start_function): Warn if we see a non-static inline
1438         function in C99 mode.
1439         * c-cppbuiltin.c (c_cpp_builtins): Define __GNUC_GNU_INLINE__.
1440         * doc/invoke.texi (Option Summary): Mention -fgnu89-inline.
1441         (C Dialect Options): Document -fgnu89-inline.
1442         * doc/extend.texi (Function Attributes): Document gnu_inline.
1443         (Inline): Mention that C99 inline will be implemented in 4.3.
1444         Refer to ways to get the old handling.
1445         * doc/cpp.texi (Common Predefined Macros): Document
1446         __GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
1448 2007-03-12  Richard Henderson  <rth@redhat.com>
1450         * config/alpha/alpha.c (alpha_elf_section_type_flags): New.
1451         (TARGET_SECTION_TYPE_FLAGS): New.
1453 2007-03-12  Richard Henderson  <rth@redhat.com>
1455         * config/darwin.c (machopic_reloc_rw_mask): New.
1456         (machopic_select_section): Use decl_readonly_section.
1457         * config/darwin-protos.h (machopic_reloc_rw_mask): Declare.
1458         * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New.
1460 2007-02-14  Richard Guenther  <rguenther@suse.de>
1462         Backport from mainline:
1463         * flags.h (issue_strict_overflow_warning): Convert to a macro.
1465 2007-03-11  Ian Lance Taylor  <iant@google.com>
1467         Backport -fstrict-overflow/-Wstrict-overflow from mainline:
1468         2007-03-11  Ian Lance Taylor  <iant@google.com>
1470         * tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
1471         the *_DIV_EXPR codes correctly with overflow infinities.
1473         2007-03-09  Ian Lance Taylor  <iant@google.com>
1475         * opts.c (common_handle_option): Treat -Wstrict-overflow (with no
1476         argument) like -Wstrict-overflow=2.
1477         * doc/invoke.texi (Warning Options): Update documentation.
1479         2007-03-08  Ian Lance Taylor  <iant@google.com>
1481         * tree-vrp.c: Include "toplev.h" and "intl.h".
1482         (usable_range_p): New static function.
1483         (compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for
1484         overflowed values, juts set *strict_overflow_p.
1485         (compare_values): Only return -2 if one of the operands is not a
1486         constant.
1487         (compare_ranges): Call usable_range_p.
1488         (compare_range_with_value): Likewise.
1489         (vrp_evaluate_conditional_warnv): Rename from
1490         vrp_evaluate_conditional.  Make static.  Change all callers.
1491         (vrp_evaluate_conditional): New function.
1492         (simplify_div_or_mod_using_ranges): Issue warning about reliance
1493         on signed overflow.
1494         (simplify_abs_using_ranges): Likewise.
1495         (simplify_stmt_for_jump_threading): Add within_stmt parameter.
1496         * tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add
1497         within_stmt parameter.
1498         * tree-ssa-propagate.c (fold_predicate_in): Update call to
1499         vrp_evaluate_conditional.
1500         * tree-ssa-threadedge.c
1501         (record_temporary_equivalences_from_stmts_at_dest): Change
1502         simplify parameter to take a second tree parameter.
1503         (simplify_control_stmt_condition): Likewise.
1504         (thread_across_edge): Likewise.
1505         * tree-flow.h (vrp_evaluate_conditional): Update declaration.
1506         (thread_across_edge): Likewise.
1507         * Makefile.in (tree-vrp.o): Depend upon toplev.h and intl.h.
1509         2007-03-05  Ian Lance Taylor  <iant@google.com>
1511         * tree-vrp.c (extract_range_from_assert): Don't try to handle a
1512         half-range if the other side is an overflow infinity.
1514         2007-03-02  Ian Lance Taylor  <iant@google.com>
1516         Used signed infinities in VRP.
1517         * tree-vrp.c (uses_overflow_infinity): New static function.
1518         (supports_overflow_infinity): New static function.
1519         (make_overflow_infinity): New static function.
1520         (negative_overflow_infinity): New static function.
1521         (positive_overflow_infinity): New static function.
1522         (is_negative_overflow_infinity): New static function.
1523         (is_positive_overflow_infinity): New static function.
1524         (is_overflow_infinity): New static function.
1525         (overflow_infinity_range_p): New static function.
1526         (compare_values_warnv): New function split out of compare_values.
1527         (compare_value): Call it.
1528         (set_value_range_to_nonnegative): Add overflow_infinity
1529         parameter.  Change caller.
1530         (vrp_expr_computes_nonnegative): Add strict_overflow_p parameter.
1531         Change callers.
1532         (vrp_expr_computes_nonzero): Likewise.
1533         (compare_ranges, compare_range_with_value): Likewise.
1534         (compare_name_with_value, compare_names): Likewise.
1535         (vrp_evaluate_conditional): Likewise.
1536         (set_value_range): Handle infinity
1537         (vrp_operand_equal_p, operand_less_p): Likewise.
1538         (extract_range_from_assert): Likewise.
1539         (vrp_int_const_binop): Likewise.
1540         (extract_range_from_binary_expr): Likewise.
1541         (extract_range_from_unary_expr): Likewise.
1542         (extract_range_from_comparison): Likewise.
1543         (extract_range_from_expr): Likewise.
1544         (dump_value_range): Likewise.
1545         (vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise.
1546         (test_for_singularity): Likewise.
1547         (vrp_int_const_binop): Remove inline qualifier.
1548         (adjust_range_with_scev): Add comment.
1549         * tree-flow.h (vrp_evaluate_conditional): Update declaration.
1551         2007-02-13  Ian Lance Taylor  <iant@google.com>
1553         * common.opt: Add Wstrict-overflow and Wstrict-overflow=.
1554         * flags.h (warn_strict_overflow): Declare.
1555         (enum warn_strict_overflow_code): Define.
1556         (issue_strict_overflow_warning): New static inline function.
1557         * opts.c (warn_strict_overflow): New variable.
1558         (common_handle_option): Handle OPT_Wstrict_overflow and
1559         OPT_Wstrict_overflow_.
1560         * c-opts.c (c_common_handle_option): Set warn_strict_overflow for
1561         OPT_Wall.
1562         * fold-const.c: Include intl.h.
1563         (fold_deferring_overflow_warnings): New static variable.
1564         (fold_deferred_overflow_warning): New static variable.
1565         (fold_deferred_overflow_code): New static variable.
1566         (fold_defer_overflow_warnings): New function.
1567         (fold_undefer_overflow_warnings): New function.
1568         (fold_undefer_and_ignore_overflow_warnings): New function.
1569         (fold_deferring_overflow_warnings_p): New function.
1570         (fold_overflow_warning): New static function.
1571         (make_range): Add strict_overflow_p parameter.  Change all
1572         callers.
1573         (extract_muldiv, extract_muldiv_1): Likewise.
1574         (fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling
1575         tree_expr_nonnegative_p.
1576         (fold_negate_expr): Call fold_overflow_warning.
1577         (fold_range_test): Likewise.
1578         (fold_comparison): Likewise.
1579         (fold_binary): Likewise.  Call tree_expr_nonnegative_warnv_p
1580         instead of tree_expr_nonnegative_p.
1581         (tree_expr_nonnegative_warnv_p): Rename from
1582         tree_expr_nonnegative_p, add strict_overflow_p parameter.
1583         (tree_expr_nonnegative_p): New function.
1584         (tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add
1585         strict_overflow_p parameter.
1586         (tree_expr_nonzero_p): New function.
1587         * passes.c (verify_interpass_invariants): New static function.
1588         (execute_one_pass): Call it.
1589         * tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold
1590         warnings.
1591         (number_of_iterations_exit, loop_niter_by_eval): Likewise.
1592         (estimate_numbers_of_iterations): Likewise.
1593         (scev_probably_wraps_p): Likewise.
1594         * tree-ssa-ccp.c: Include "toplev.h".
1595         (evaluate_stmt): Defer fold overflow warnings until we know we are
1596         going to optimize.
1597         (struct fold_stmt_r_data): Add stmt field.
1598         (fold_stmt_r): Defer fold overflow warnings until we know we
1599         optimized.
1600         (fold_stmt): Initialize stmt field of fold_stmt_r_data.
1601         (fold_stmt_inplace): Likewise.
1602         * tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h".
1603         (cleanup_control_expr_graph): Defer fold overflow warnings until
1604         we know we are going to optimize.
1605         * tree-cfg.c (fold_cond_expr_cond): Likewise.
1606         * tree-ssa-threadedge.c (simplify_control_stmt_condition):
1607         Likewise.
1608         * tree-vrp.c (vrp_expr_computes_nonnegative): Call
1609         tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p.
1610         * tree-ssa-loop-manip.c (create_iv): Likewise.
1611         * c-typeck.c (build_conditional_expr): Likewise.
1612         (build_binary_op): Likewise.
1613         * tree-vrp.c (vrp_expr_computes_nonzero): Call
1614         tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p.
1615         (extract_range_from_unary_expr): Likewise.
1616         * simplify-rtx.c (simplify_const_relational_operation): Warn when
1617         assuming that signed overflow does not occur.
1618         * c-common.c (pointer_int_sum): Ignore fold overflow warnings.
1619         * tree.h (tree_expr_nonnegative_warnv_p): Declare.
1620         (fold_defer_overflow_warnings): Declare.
1621         (fold_undefer_overflow_warnings): Declare.
1622         (fold_undefer_and_ignore_overflow_warnings): Declare.
1623         (fold_deferring_overflow_warnings_p): Declare.
1624         (tree_expr_nonzero_warnv_p): Declare.
1625         * doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list
1626         of warning options.
1627         (Warning Options): Document -Wstrict-overflow.
1628         * Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h.
1629         (tree-ssa-ccp.o): Likewise.
1630         (tree-cfgcleanup.o): Change errors.h dependency to toplev.h.
1631         (fold-const.o): Depend on intl.h.
1633         2007-01-27  Ian Lance Taylor  <iant@google.com>
1635         * common.opt: Add fstrict-overflow.
1636         * opts.c (decode_options): Set flag_strict_overflow if -O2.
1637         * flags.h (TYPE_OVERFLOW_WRAPS): Define.
1638         (TYPE_OVERFLOW_UNDEFINED): Define.
1639         (TYPE_OVERFLOW_TRAPS): Define.  This replaces TYPE_TRAP_SIGNED.
1640         Replace all uses.
1641         * tree.h (TYPE_TRAP_SIGNED): Don't define.
1642         * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED.
1643         (fold_negate_expr): Likewise.
1644         (make_range): Likewise.
1645         (extract_muldiv_1): Likewise.
1646         (fold_comparison): Likewise.
1647         (fold_binary): Likewise.
1648         (tree_expr_nonnegative_p): Likewise.
1649         (tree_expr_nonzero_p): Likewise.
1650         * tree-vrp.c (compare_values): Likewise.
1651         (extract_range_from_binary_expr): Likewise.
1652         (extract_range_from_unary_expr): Likewise.
1653         * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
1654         Likewise.
1655         (nowrap_type_p): Likewise.
1656         * tree-scalar-evolution.c (simple_iv): Likewise.
1657         * fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS.
1658         (build_range_check): Likewise.
1659         (extract_muldiv_1): Likewise.
1660         (fold_comparison): Likewise.
1661         * tree-vrp.c (vrp_int_const_binop): Likewise.
1662         (extract_range_from_unary_expr): Likewise.
1663         * convert.c (convert_to_integer): Likewise.
1664         * fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS.
1665         (fold_comparison): Likewise.
1666         (fold_binary): Likewise.
1667         * optabs.c (optab_for_tree_code): Likewise.
1668         * tree-vectorizer.c (vect_is_simple_reduction): Likewise.
1669         * simplify-rtx.c (simplify_const_relational_operation): Check
1670         flag_strict_overflow and flag_trapv.
1671         (simplify_const_relational_operation): Likewise.
1672         * doc/invoke.texi (Option Summary): Mention -fstrict-overflow.
1673         (Optimize Options): Add -fstrict-overflow to -O2 list.  Document
1674         -fstrict-overflow.
1676         2007-01-17  Ian Lance Taylor  <iant@google.com>
1678         * vec.h (VEC_reserve_exact): Define.
1679         (vec_gc_p_reserve_exact): Declare.
1680         (vec_gc_o_reserve_exact): Declare.
1681         (vec_heap_p_reserve_exact): Declare.
1682         (vec_heap_o_reserve_exact): Declare.
1683         (VEC_OP (T,A,reserve_exact)): New static inline function, three
1684         versions.
1685         (VEC_OP (T,A,reserve)) [all versions]: Remove handling of
1686         negative parameter.
1687         (VEC_OP (T,A,alloc)) [all versions]: Call ...reserve_exact.
1688         (VEC_OP (T,A,copy)) [all versions]: Likewise.
1689         (VEC_OP (T,a,safe_grow)) [all versions]: Likewise.
1690         * vec.c (calculate_allocation): Add exact parameter.  Change all
1691         callers.
1692         (vec_gc_o_reserve_1): New static function, from vec_gc_o_reserve.
1693         (vec_gc_p_reserve, vec_gc_o_reserve): Call vec_gc_o_reserve_1.
1694         (vec_gc_p_reserve_exact, vec_gc_o_reserve_exact): New functions.
1695         (vec_heap_o_reserve_1): New static function, from vec_heap_o_reserve.
1696         (vec_heap_p_reserve, vec_heap_o_reserve): Call vec_heap_o_reserve_1.
1697         (vec_heap_p_reserve_exact): New function.
1698         (vec_heap_o_reserve_exact): New function.
1700 2007-03-11  Roger Sayle  <roger@eyesopen.com>
1701             Andrew Pinski  <andrew_pinski@playstation.sony.com>
1703         PR middle-end/30433
1704         * fold-const.c (fold_relational_const): Add back compile-time
1705         evaluation of complex constant equality/inequality comparisons.
1707 2007-03-11  Ira Rosen  <irar@il.ibm.com>
1709         PR tree-optimization/29925
1710         * tree-data-ref.c (analyze_offset): Add a return value (bool) to
1711         indicate success/failure of the analysis. Add negation to subtrahend
1712         in case of subtraction. Fail if both operands contain constants.
1713         (create_data_ref): Fail if analyze_offset fails.
1715 2007-03-10  Mark Mitchell  <mark@codesourcery.com>
1717         PR c++/30924
1718         * tree.c (walk_type_fields): Recurse into the element type of
1719         ARRAY_TYPEs if there is a pointer set.
1721 2007-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1723         * pa.c (attr_length_call): Revise condition for long pc-relative branch.
1724         (output_call): Use "LONG_PIC_SDIFF" instruction sequence for long local
1725         calls on the SOM target.  Don't use "LONG_PIC_PCREL" call sequence on
1726         SOM target.
1728 2007-03-09  Richard Henderson  <rth@redhat.com>
1730         PR target/26090
1731         * target.h (targetm.asm.out.reloc_rw_mask): New.
1732         * target-def.h (TARGET_ASM_RELOC_RW_MASK): New.
1733         (TARGET_ASM_OUT): Use it.
1734         * targhooks.c, targhooks.h (default_reloc_rw_mask): New.
1735         * varasm.c (categorize_decl_for_section): Remove shlib argument;
1736         use the new reloc_rw_mask target hook instead.
1737         (default_section_type_flags_1): Merge into...
1738         (default_section_type_flags): ... here.
1739         (decl_readonly_section_1): Merge into...
1740         (decl_readonly_section): ... here.
1741         (default_elf_select_section_1): Merge into...
1742         (default_elf_select_section): ... here.
1743         (default_unique_section_1): Merge into...
1744         (default_unique_section): ... here.
1745         (compute_reloc_for_rtx_1, compute_reloc_for_rtx): New.
1746         (default_select_rtx_section): Use it.
1747         (default_elf_select_rtx_section): Likewise.
1748         * output.h: Update to match.
1749         * doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New.
1750         * config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New.
1751         (TARGET_ASM_RELOC_RW_MASK): New.
1752         * config/i386/i386.c (x86_64_elf_select_section): Adjust call
1753         to categorize_decl_for_section.
1754         (x86_64_elf_unique_section): Likewise.
1755         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
1756         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove.
1757         (TARGET_ASM_RELOC_RW_MASK): New.
1758         * config/ia64/ia64.c (ia64_rwreloc_select_section,
1759         ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove.
1760         (ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New.
1761         (TARGET_RWRELOC): Remove.
1762         (ia64_section_type_flags): Adjust call to default_section_type_flags.
1763         * config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
1764         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove.
1765         (rs6000_elf_select_section, rs6000_elf_unique_section): Remove.
1766         (rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New.
1767         (rs6000_xcoff_select_section): Use decl_readonly_section.
1768         (rs6000_xcoff_section_type_flags): Use default_section_type_flags.
1769         * config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
1770         (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove.
1771         (TARGET_SECTION_TYPE_FLAGS): Remove.
1772         * config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New.
1774 2007-03-08  Geoffrey Keating  <geoffk@apple.com>
1776         PR 31013
1777         * gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
1778         is declared.
1779         * config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is
1780         passed, use shared libgcc.
1782 2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
1784         PR rtl-optimization/30643
1785         * cse.c (cse_insn): Recompute dest_hash after insert_regs for
1786         dest_addr_elt.
1788 2007-03-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1790         PR tree-opt/30045
1791         * tree-vrp.c (nonnull_arg_p): Treat the static decl as always
1792         non null.
1794 2007-03-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1796         PR middle-end/30729
1797         * stmt.c (warn_if_unused_value): VA_ARG_EXPR has side
1798         effects unknown to this function, return early.
1800 2007-03-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1802         PR tree-opt/28624
1803         * tree-ssa-dom.c (eliminate_degenerate_phis): Use a temporary
1804         bitmap for EXECUTE_IF_SET_IN_BITMAP.
1806 2006-03-09  Mark Shinwell  <shinwell@codesourcery.com>
1807             Andrew MacLeod  <amacleod@redhat.com>
1808         PR tree-optimization/29877
1809         * tree-outof-ssa.c (check_replaceable): Don't allow TER to replace
1810         an expression if the RHS is a register variable.
1812 2007-03-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1814         PR C/31072
1815         * c-decl.c (merge_decls): Don't call make_var_volatile.
1816         * varasm.c (make_var_volatile): Remove.
1817         * output.h (make_var_volatile): Remove.
1819 2007-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1821         * builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl,
1822         llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with
1823         ATTR_CONST_NOTHROW_LIST.
1825         * fold-const.c (tree_expr_nonnegative_p): Handle FIX_TRUNC_EXPR.
1827 2007-03-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
1829         PR target/30406
1830         * config/rs6000/rs6000.c (rs6000_function_value): Look at bit size
1831         instead of precision.
1833 2007-03-08  Volker Reichelt  <reichelt@netcologne.de>
1835         PR c++/30852
1836         * c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.
1838 2007-03-07  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1840         * c.opt (Waddress): New.
1841         * common.opt (Walways-true): Delete.
1842         (Wstring-literal-comparison): Delete.
1843         * doc/invoke.texi (Warning Options): Delete -Walways-true and
1844         -Wstring-literal-comparison. Add -Waddress.
1845         (Waddress): New.
1846         (Walways-true): Delete.
1847         (Wstring-literal-comparison): Delete.
1848         * doc/extend.texi (#pragma GCC diagnostic): Use -Wformat
1849         consistently instead of -Walways-true in example.
1850         * c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall.
1851         * c-typeck.c (parser_build_binary_op): Replace
1852         -Wstring-literal-comparison and -Walways-true with -Waddress.
1853         (build_binary_op): Likewise.
1854         * c-common.c (c_common_truthvalue_conversion): Likewise.
1856 2007-03-07  Richard Henderson  <rth@redhat.com>
1858         PR target/30848
1859         * reg-stack.c (emit_swap_insn): If a malformed asm was seen,
1860         silently fix up the stack in the case of a missing register.
1862 2007-03-06  David Daney  <ddaney@avtrex.com>
1864         * doc/install.texi (mips-*-*): Change recommended binutils
1865         version.
1867 2007-03-06  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
1869         * doc/invoke.texi (Warning Options): Replace -Werror- with
1870         -Werror=.
1871         * opts.c (common_handle_option): Likewise.
1873 2007-03-06  Anatoly Sokolov <aesok@post.ru>
1875         * config/avr/avr.c (avr_mcu_types): Add support for ATmega325P,
1876         ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162
1877         devices.
1878         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1879         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1881 2007-03-06  Roger Sayle  <roger@eyesopen.com>
1883         PR middle-end/30744
1884         * fold-const.c (fold_binary) <EQ_EXPR>: Enforce type consistency
1885         when transforming ~X op C to X op' ~C.
1887 2007-03-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1889         * pa.md: In unamed move patterns, disparge copies between general
1890         and floating point registers using '?' modifier.  Don't include 'f'
1891         constraint for register preferences in DImode, SImode, HImode and
1892         QImode patterns.  Likewise for 'r' in DFmode and SFmode patterns.
1893         Remove constraints for copies between general and floating registers
1894         in soft-float DFmode pattern.
1895         (movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard
1896         floating register.
1897         (movsf): Likewise.
1899 2007-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1901         * convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
1902         conversion.
1904 2007-03-05  Steve Ellcey  <sje@cup.hp.com>
1906         Backported from mainline
1907         PR debug/29614
1908         * cgraph.h (cgraph_varpool_last_needed_node): Make global.
1909         * cgraph.c (cgraph_varpool_last_needed_node): Ditto.
1910         * cgraphunit.c (cgraph_varpool_assemble_pending_decls):
1911         Set cgraph_varpool_last_needed_node to NULL.
1913 2007/03/05  David Taylor  <dtaylor@emc.com>
1915         PR 31050
1916         * gcc.c: Correct copyright date in --version output.
1918 2007-03-05  Brooks Moses  <brooks.moses@codesourcery.com>
1920         * c.opt: Remove -ffixed-form, -ffixed-line-length-none, and
1921         -ffixed-line-length-* options.
1923 2007-03-05  David Edelsohn  <edelsohn@gnu.ogr>
1925         * config/rs6000/t-ppccomm: Always build libgcc2 for GNU/Linux
1926         with -mlong-double-128, except SPE.
1928         * config/rs6000/darwin-ldouble.c: Only build new functions for
1929         __LONG_DOUBLE_128__.
1931         Backport from mainline:
1932         2007-01-16  David Edelsohn  <edelsohn@gnu.org>
1934         * config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT.
1935         (strong_alias): Define.
1936         (__gcc_qmul): Provide non-FMA for soft-float.
1937         (__gcc_qdiv): Same.
1938         (__gcc_qneg): New.
1939         (__gcc_qeq): New.
1940         (__gcc_qle): New.
1941         (__gcc_qge): New.
1942         (__gcc_qunord): New.
1943         (__gcc_stoq): New.
1944         (__gcc_dtoq): New.
1945         (__gcc_qtos): New.
1946         (__gcc_qtod): New.
1947         (__gcc_qtoi): New.
1948         (__gcc_qtou): New.
1949         (__gcc_itoq): New.
1950         (__gcc_utoq): New.
1951         (fmsub): New.
1952         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize
1953         soft-float functions.
1954         * config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols.
1955         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn
1956         about long double soft float.
1958 2007-03-05  Richard Guenther  <rguenther@suse.de>
1960         Backport from mainline:
1961         2007-02-28  Richard Guenther  <rguenther@suse.de>
1963         PR middle-end/30364
1964         * fold-const.c (fold_binary): Do not associate expressions
1965         with more than one variable for integer types that do not wrap.
1967 2007-03-04  Eric Botcazou  <ebotcazou@adacore.com>
1969         PR ada/26797
1970         * doc/invoke.texi (-O2): Document that Tree-VRP is not turned on
1971         for the Ada compiler.
1973 2007-03-02  Zdenek Dvorak <dvorakz@suse.cz>
1975         PR tree-optimization/29902
1976         * tree-ssa-loop-manip.c (can_unroll_loop_p): Return false if
1977         any involved ssa name appears in abnormal phi node.
1979 2007-03-02  Eric Botcazou  <ebotcazou@adacore.com>
1981         * tree-sra.c (sra_walk_fns) <ldst>: Document new restriction.
1982         (sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use
1983         if the lhs has side-effects.
1984         <lhs_elt>: Treat the reference as a use if the rhs has side-effects.
1986 2007-03-02  Paul Brook  <paul@codesourcery.com>
1988         * config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing
1989         modes to LDRD for DImode.
1990         (output_move_double): Fixup out of range ldrd/strd.
1991         (vfp_secondary_reload_class): Rename...
1992         (coproc_secondary_reload_class): ... to this.  Add wb argument.
1993         * config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use
1994         coproc_secondary_reload_class for CLASS_IWMMXT.
1995         (SECONDARY_INPUT_RELOAD_CLASS): Ditto.
1996         * arm-protos.h (coproc_secondary_reload_class): Update prototype.
1998 2007-03-02  Eric Botcazou  <ebotcazou@adacore.com>
2000         * config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
2001         entry by means of emit_insn_at_entry.
2003 2007-03-01  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2005         * doc/invoke.texi (Wextra): Delete outdated paragraph.
2007 2007-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2009         * pa/predicates.md (move_src_operand): Allow zero for mode.
2010         * pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode
2011         move pattern.
2013 2007-02-27  Mike Stump  <mrs@apple.com>
2015         * config/darwin-crt3.c: Avoid compilation when compiling for a
2016         kext multilib.
2018 2007-02-27  Andreas Schwab  <schwab@suse.de>
2020         * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.
2022 2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
2024         * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency.
2026 2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
2028         * doc/include/gcc-common.texi (versionsubtitle): New macro.
2029         * doc/cpp.texi: Standardize title page.
2030         * doc/cppinternals.texi: Likewise.
2031         * doc/gcc.texi: Standardize title page, remove version number
2032         from copyright page.
2033         * doc/gccint.texi: Likewise.
2034         * doc/install.texi: Standardize title page, add table of
2035         contents.
2037 2007-02-24  Mike Stump  <mrs@apple.com>
2039         * config/i386/i386.c (output_pic_addr_const): Stubify optimized
2040         symbols.
2042 2007-02-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2044         * pa.md (muldi3): Force subregs to registers in 64-bit expander.
2046 2007-02-23  Mike Stump  <mrs@apple.com>
2048         * tlink.c (scan_linker_output): Parse linker messages from
2049         darwin9's linker better.
2051 2007-02-21 Ira Rosen  <irar@il.ibm.com>
2053         * tree-ssa-alias.c: Include pointer-set.h
2054         * Makefile.in (tree-ssa-alias.o): Depend on pointer-set.h.
2056 2007-02-21  Jakub Jelinek  <jakub@redhat.com>
2058         Backported from mainline
2059         2006-12-20  Andrew Pinski  <pinskia@gmail.com>
2060         PR middle-end/30143
2061         * omp-low.c (init_tmp_var): New function.
2062         (save_tmp_var): New function.
2063         (lower_omp_1): Use them for VAR_DECL.
2065 2007-02-20  Alan Modra  <amodra@bigpond.net.au>
2067         PR target/29943
2068         * varasm.c (use_blocks_for_decl_p): Return false for decls with
2069         alias attribute.
2071 2007-02-19  Eric Botcazou  <ebotcazou@adacore.com>
2073         * gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap
2074         due to calls to functions taking pointers as parameters.
2076 2007-02-19  Richard Henderson  <rth@redhat.com>
2078         PR debug/29558
2079         * var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P
2080         in memory.
2082 2007-02-18  Eric Botcazou  <ebotcazou@adacore.com>
2084         * tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR.
2086 2007-02-18  Eric Botcazou  <ebotcazou@adacore.com>
2088         * calls.c (mem_overlaps_already_clobbered_arg_p): Return true
2089         for arg pointer based indexed addressing.
2091 2007-02-18 Ira Rosen  <irar@il.ibm.com>
2093         * tree-ssa-alias.c (may_aliases_intersect): New function.
2094         * tree-data-ref.c (ptr_ptr_may_alias_p): Call may_aliases_intersect
2095         for different tags.
2096         * tree-flow.h (may_aliases_intersect): Add function declaration.
2098 2007-02-17  Alexandre Oliva  <aoliva@redhat.com>
2100         PR tree-optimization/30823
2101         * tree-sra.c (sra_build_assignment): Drop type-checking assert.
2103 2007-02-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2105         PR other/27843
2106         * Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid
2107         nested double- and backquotes.
2109 2007-02-15  Alexandre Oliva  <aoliva@redhat.com>
2111         * tree-sra.c (instantiate_missing_elements): Canonicalize
2112         bit-field types.
2113         (sra_build_assignment): New.
2114         (generate_copy_inout, generate_element_copy,
2115         generate_element_zero, generate_one_element_init): Use it.
2117 2007-02-15  Kaz Kojima  <kkojima@gcc.gnu.org>
2119         PR rtl-optimization/29599
2120         Backport from mainline.
2121         * reload1.c (eliminate_regs_in_insn): Take the destination
2122         mode into account when computing the offset.
2124 2007-02-13  Joseph S. Myers  <joseph@codesourcery.com>
2126         * doc/invoke.texi, doc/standards.texi: Refer to
2127         gcc-4.2/c99status.html.
2129 2007-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2131         PR target/30634
2132         * pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero
2133         CONST_DOUBLE and operand 0 is a hard register.
2134         (movdi): For 64-bit target, remove code to force CONST_DOUBLE to
2135         memory.  Fail if operand 1 is a non-zero CONST_INT and operand 0
2136         is a hard floating-point register.
2138 2007-02-06  Mark Mitchell  <mark@codesourcery.com>
2140         PR target/29487
2141         * tree.h (DECL_REPLACEABLE_P): New macro.
2142         * except.c (set_nothrow_function_flags): Likewise.
2144 2007-02-07  Jakub Jelinek  <jakub@redhat.com>
2146         PR c++/30703
2147         * gimplify.c (gimplify_scan_omp_clauses): Remove special casing
2148         of INDIRECT_REF <RESULT_DECL>.
2150 2007-02-06  Rask Ingemann Lamberisen  <rask@sygehus.dk>
2152         PR 30370
2153         * config/rs6000/t-ppccomm: Correct Makefile typo.
2155 2007-02-06  Roger Sayle  <roger@eyesopen.com>
2157         PR libgomp/28296
2158         Backport from mainline.
2159         * config/darwin.h (CPP_SPEC): Handle -pthread, transforming
2160         it into -D_REENTRANT.
2162 2007-02-05  Alexandre Oliva  <aoliva@redhat.com>
2164         PR debug/30189
2165         * dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE
2166         even if cv-qualification is the same.
2168 2007-02-05  Geoffrey Keating  <geoffk@apple.com>
2170         * config/rs6000/darwin-tramp.asm (__trampoline_setup): Call
2171         __enable_execute_stack on completion.
2173 2007-02-05  Bob Wilson  <bob.wilson@acm.org>
2175         * config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs.
2177 2007-02-02  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
2179         PR target/29682
2180         * config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory loads to
2181         general or fp registers.  Add comments.
2182         * config/ia64/ia64.md (reg_pred_prefix): Add comment.
2184 2007-02-04  Richard Guenther  <rguenther@suse.de>
2186         Backport from mainline:
2187         2007-01-30  Richard Guenther  <rguenther@suse.de>
2189         PR middle-end/27657
2190         * dwarf2out.c (reference_to_unused): Query varpool if the
2191         variable was output.
2193 2007-02-02  Mike Stump  <mrs@apple.com>
2195         * config.gcc (*-*-darwin*): Backport darwin9.h bits.
2196         * config/darwin9.h: Add.
2197         * config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add.
2198         (output_call): Use DARWIN_GENERATE_ISLANDS to decide when to
2199         generate a branch island.
2201 2007-02-02  Hui-May Chang  <hm.chang@apple.com>
2203         Revert for x86 darwin:
2204         2005-06-19  Uros Bizjak  <uros@kss-loka.si>
2206         * config/i386/i386.c (ix86_function_arg_regno_p): Put back the
2207         code before the following patch under TARGET_MACHO.
2208         (ix86_function_value_regno_p): Likewise.
2210 2007-02-02  Simon Martin  <simartin@users.sourceforge.net>
2212         PR c++/28266
2213         * gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is
2214         expanded only once even if an error occurs.
2216 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
2218         PR middle-end/30473
2219         * builtins.c (fold_builtin_sprintf): Do not attempt to optimize
2220         sprintf (str, "%s").  Do not optimize sprintf (str, "nopercent", p++).
2222 2007-02-01  Guy Martin  <gmsoft@gentoo.org>
2224         * pa.md (tp_load): Correct mfctl instruction syntax.
2226 2007-02-01  Geoffrey Keating  <geoffk@apple.com>
2228         * config/rs6000/rs6000.c (rs6000_stack_info): Correct
2229         altivec_padding_size calculation on AIX.  Improve comment, add
2230         assert to verify that it's right.
2232 2007-01-31  Anatoly Sokolov <aesok@post.ru>
2234         PR target/19087
2235         * config/avr/avr.c (DWARF2_ADDR_SIZE): Define.
2237 2007-01-30  Richard Guenther  <rguenther@suse.de>
2239         PR middle-end/30313
2240         * passes.c (execute_one_pass): Reset in_gimple_form to not
2241         confuse non-unit-at-a-time mode.
2243 2007-01-27  Anatoly Sokolov <aesok@post.ru>
2245         * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define __AVR_HAVE_MUL__.
2247 2007-01-29  Mike Stump  <mrs@apple.com>
2249         * doc/gccint.texi (Top): Rename Loop Representation to Loop
2250         Analysis and Representation to resolve case insensitive conflict.
2251         * doc/loop.texi (Loop Analysis and Representation): Likewise.
2253 2007-01-29  Josh Conner  <jconner@apple.com>
2255         PR middle-end/29683
2256         * calls.c (compute_argument_addresses): Set stack and stack_slot
2257         for partial args, too.
2258         (store_one_arg): Use locate.size.constant for the size when
2259         generating a save_area.
2261 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2263         * doc/sourcebuild.texi: Add comma for clarity.
2264         * doc/extend.texi: Fix some typos.
2265         * doc/passes.texi: Likewise.
2266         * doc/cppinternals.texi: Likewise.
2267         * doc/c-tree.texi: Likewise.
2268         * doc/tree-ssa.texi: Likewise.
2269         * doc/install.texi: Likewise.
2271 2007-01-26  Zdenek Dvorak <dvorakz@suse.cz>
2273         PR tree-optimization/29516
2274         * tree-ssa-address.c (tree_mem_ref_addr, add_to_parts,
2275         most_expensive_mult_to_index, addr_to_parts,
2276         create_mem_ref, maybe_fold_tmr): Make the type of
2277         fields of TARGET_MEM_REF sizetype.
2278         (move_fixed_address_to_symbol, move_pointer_to_base,
2279         aff_combination_remove_elt): New functions.
2280         * tree.def (TARGET_MEM_REF): Add comment on types of
2281         the operands.
2282         * gcc.dg/tree-ssa/loop-20.c: New test.
2284 2007-01-25  Geoffrey Keating  <geoffk@apple.com>
2286         PR 25127
2287         * config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin,
2288         save Altivec registers in an eh_return function.
2289         (compute_vrsave_mask): Likewise.
2290         (rs6000_stack_info): Correct AIX/Darwin stack alignment computation
2291         for saving Altivec registers.
2292         (rs6000_emit_prologue): Don't allocate stack twice in
2293         eh_return function.  Correct expected value of altivec_save_offset
2294         when using save_world.  Describe save of R0 to stack when using
2295         save_world.  Describe stack pointer adjustment when using
2296         save_world.  Remove duplicated eh_return parameter register saving.
2297         Update sp_offset variable after save_world.
2298         * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove
2299         darwin-world.asm.
2300         (LIB2FUNCS_EXTRA): Add darwin-world.asm.
2301         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
2302         implies Altivec.
2304 2007-01-24  Geoffrey Keating  <geoffk@apple.com>
2306         * unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.
2308 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
2310         PR middle-end/27416
2311         * gimplify.c (omp_check_private): New function.
2312         (gimplify_scan_omp_clauses): Use it for
2313         firstprivate/lastprivate/reduction.
2315         PR middle-end/30494
2316         * gimplify.c (omp_add_variable): Don't call omp_notice_variable
2317         on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs.
2319         PR middle-end/30421
2320         * omp-low.c (lower_omp_for_lastprivate): Add dlist argument.
2321         If lower_lastprivate_clauses emits some statements, append them
2322         to dlist rather than body_p and to body_p append an initializer.
2323         (lower_omp_for): Adjust caller.
2325 2007-01-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
2327         PR rtl-optimization/29329
2328         * combine.c (replaced_rhs_insn): Rename to i2mod.
2329         (replaced_rhs_value): Rename to i2mod_new_rhs.
2330         (i2mod_old_rhs): New global variable.
2331         (combine_instructions): Adjust for above change.  Save a copy of
2332         the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL
2333         note are substituted in the second instruction.
2334         (distribute_notes) <REG_DEAD>: Adjust for above change.  Do not
2335         ditch the note if it pertains to the second eliminated register
2336         and this register is mentioned in i2mod_old_rhs.
2338         Revert:
2339         2006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
2341         * combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
2342         the insn to which the note was originally attached.
2344 2007-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2346         * pa.c (output_move_double): Change array size of xoperands to 4.
2348 2007-01-17  Eric Christopher  <echristo@apple.com>
2350         Backport from mainline:
2351         2006-12-18  Roger Sayle  <roger@eyesopen.com>
2352                     Eric Christopher  <echristo@apple.com>
2354         PR target/29302
2355         * real.c (real_maxval): Correctly handle IBM extended double format.
2357 2007-01-17  Tom Tromey  <tromey@redhat.com>
2359         * doc/sourcebuild.texi (libgcj Tests): Use sourceware.org.
2360         * doc/install.texi (Testing): Use sourceware.org.
2361         (Binaries): Likewise.
2362         (Specific): Likewise.
2363         * doc/contrib.texi (Contributors): Use sourceware.org.
2365 2007-01-15  Joseph S. Myers  <joseph@codesourcery.com>
2367         * config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from
2368         glibc CVS.
2370 2007-01-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2372         * pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine.
2373         * pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS.
2374         (ASM_OUTPUT_INTERNAL_LABEL): Define.
2376 2007-01-10  Ralf Corsépius <ralf.corsepius@rtems.org>
2378         * config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS.
2380 2007-01-09  Nicolas Pitre  <nico@cam.org>
2382         PR target/30173
2383         * arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.
2385 2007-01-08  Nick Clifton  <nickc@redhat.com>
2387         * config/frv/predicates.md (reg_or_0_operand): Accept
2388         CONST_DOUBLEs.
2390 2007-01-08  Ralf Corsépius <ralf.corsepius@rtems.org>
2392         * config/bfin/rtems.h, config/bfin/t-rtems: New.
2393         * config.gcc: Add bfin*-rtems*.
2395 2007-01-08  Chen liqin  <liqin@sunnorth.com.cn>
2396         * config/score/t-score-elf (MULTILIB_OPTIONS): Change.
2397         * config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
2398         const_simm15, const_pow2, const_npow2): Added.
2399         * config/score/misc.md (insv, extv, extzv, movmemsi,
2400         move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
2401         * config/score/score.c (score_address_cost, score_select_cc_mode):
2402         Added.
2403         Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
2404         Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
2405         Update score_print_operand.
2406         * config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added.
2407         Adjust register allocate order and update some macro define.
2408         * config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
2409         mdx_block_move_straight, mdx_block_move_loop_head,
2410         mdx_block_move_loop_body, mdx_block_move_loop_foot, mdx_block_move_loop,
2411         mdx_block_move): Added.
2412         (mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
2413         mdp_limm): Updated and fix some bug and typo.
2414         * config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.
2415         (movsf, movdf, doloop_end): Added.
2417 2007-01-05  Richard Guenther  <rguenther@suse.de>
2419         PR middle-end/27826
2420         * tree.c (get_narrower): Do not construct COMPONENT_REFs
2421         with mismatched types.  Instead explicitly build a
2422         conversion NOP_EXPR.
2424 2007-01-05  Jakub Jelinek  <jakub@redhat.com>
2426         PR c/30360
2427         * libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
2428         denom against 0.0.
2430 2007-01-03  Jakub Jelinek  <jakub@redhat.com>
2432         * unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define.
2433         (struct _Unwind_Context): Rename args_size to flags, remove
2434         signal_frame field, add a new args_size field and version field.
2435         (_Unwind_IsSignalFrame, _Unwind_SetSignalFrame,
2436         _Unwind_IsExtendedContext): New inline functions.
2437         (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
2438         Assume by_value array is only present if _Unwind_IsExtendedContext.
2439         (_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use
2440         _Unwind_IsSignalFrame.
2441         (__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT.
2442         (uw_update_context_1): Use _Unwind_SetSignalFrame.
2443         (uw_init_context_1): Initialize context->flags to
2444         EXTENDED_CONTEXT_BIT.
2445         * config/rs6000/linux-unwind.h (frob_update_context): Use
2446         _Unwind_SetSignalFrame.
2448 2007-01-01  Mike Stump  <mrs@apple.com>
2450         * configure.ac: Remove support for building with Apple's gcc-3.1.
2452 2007-01-01  Andreas Schwab  <schwab@suse.de>
2454         PR target/29166
2455         * config/ia64/ia64.c (ia64_compute_frame_size): Account space for
2456         save of BR0 in extra_spill_size instead of spill_size.
2457         (ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill
2458         area.
2459         (ia64_expand_epilogue): Restore BR0 from its new location.