]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/gcc/ChangeLog
This commit was generated by cvs2svn to compensate for changes in r159285,
[FreeBSD/FreeBSD.git] / contrib / gcc / ChangeLog
1 2005-05-19  Release Manager
2
3         * GCC 3.4.4 released.
4
5 2005-05-11  Mark Mitchell  <mark@codesourcery.com>
6
7         Revert:
8         2005-05-10  H.J. Lu  <hongjiu.lu@intel.com>
9         Backport from mainline
10         2004-02-12  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11         * function.c (fixup_var_refs): Save volatile_ok and set to 1.
12         * expr.c (emit_block_move_via_movstr): Save and restore
13         volatile_ok.
14         2005-05-09  Grigory Tolstolytkin  <gtolstolytkin@ru.mvista.com>
15         Backport from mainline
16         2004-02-12  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17         * emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill previous
18         MEM_VOLATILE in REF.
19
20 2005-05-11  Ben Elliston  <bje@au.ibm.com>
21
22         * dwarf2out.c: Revert my 2005-05-10 patch.
23
24 2005-05-10  H.J. Lu  <hongjiu.lu@intel.com>
25
26         Backport from mainline
27         2004-02-12  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
28         * function.c (fixup_var_refs): Save volatile_ok and set to 1.
29         * expr.c (emit_block_move_via_movstr): Save and restore
30         volatile_ok.
31
32 2005-05-10  Jakub Jelinek  <jakub@redhat.com>
33
34         * config/i386/i386.md (sse_mov?fcc* splitters): Add mode to
35         IF_THEN_ELSE, remove mode from MATCH_OPERATOR.  Fix a typo.
36
37 2005-05-09  Grigory Tolstolytkin  <gtolstolytkin@ru.mvista.com>
38
39         Backport from mainline
40         2004-02-12  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
41         * emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill previous
42         MEM_VOLATILE in REF.
43
44 2005-05-10  Ben Elliston  <bje@au.ibm.com>
45
46         PR debug/16676
47         * dwarf2out.c (dwarf2out_decl): Always set context_die to NULL,
48         even when debug_info_level is DINFO_LEVEL_TERSE.
49
50 2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
51
52         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Use emit_insn_after
53         when adding the save Z instruction so that it is part of the good BB.
54         (reg_or_some_mem_operand): Do not allow the 68HC12 address indirect
55         addressing mode as it is not supported by bset and bclr.
56         (m68hc11_gen_movhi): Fix invalid generation of indexed indirect
57         addressing with movw.
58         (m68hc11_gen_movqi): Use pula and pulb instead of lda and ldb for
59         68HC12.
60         * config/m68hc11/m68hc11.md ("movhi_const0"): Use this pattern only
61         for 68HC11.
62         ("*movhi_68hc12"): Handle movhi_const0.
63         ("*subhi3", "subqi3"): Use general_operand for operand 1.
64         ("*subhi3_zext"): Likewise.
65
66 2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
67
68         PR target/19051
69         * config/m68hc11/m68hc11.md ("mulqi3"): Use general_operand for operand
70         1 and fix constraints.
71         ("mulqihi3"): Use general_operand for operand 2.
72
73 2005-05-08  Richard Sandiford  <rsandifo@redhat.com>
74
75         PR target/21416
76         * config/mips/mips.c (mips_emit_compare): Don't reverse UNGE and UNGT
77         comparisons.
78         * config/mips/mips.md (sungt_df, sunge_df, sungt_sf, sunge_sf): New
79         patterns.
80
81 2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
82
83         PR target/16925
84         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Handle split of
85         64-bit constants on 64-bit hosts.
86         (m68hc11_split_logical): Simplify.
87         (m68hc11_split_move): Likewise.
88
89 2005-05-06  Bruce Korb  <bkorb@gnu.org>
90             Joseph S. Myers <joseph@codesourcery.com>
91
92         * fixinc/inclhack.def: Correct backslashes
93         * fixinc/fixincl.x: regen
94
95 2005-05-02  Janis Johnson  <janis187@us.ibm.com>
96
97         PR 19985
98         * gcov-io.h: Declare gcov external functions hidden.
99
100 2005-05-01  Gerald Pfeifer  <gerald@pfeifer.com>
101
102         * config/freebsd-spec.h (FBSD_CPP_SPEC): Revert last change.
103
104 2005-05-01  Gerald Pfeifer  <gerald@pfeifer.com>
105
106         Backport from mainline
107         * doc/install.texi (Specific): Avoid using asterisks in @anchor
108         names related to target triplets.
109         Remove i?86-*-esix from platform directory.
110         Remove powerpc-*-eabiaix from platform directory.
111
112 2005-05-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
113
114         PR bootstrap/20633
115         * config/freebsd-spec.h (FBSD_CPP_SPEC): Add %(cpp_arch).
116
117 2005-05-01  Gerald Pfeifer  <gerald@pfeifer.com>
118
119         * doc/install.texi (Specific): Omit dots in the @anchors names
120         for i?86-*-sco3.2v5* and sparc-sun-solaris2.7.
121         Omit underscores for x86_64-*-* and the "all ELF targets" entry.
122
123 2005-05-01  Joseph S. Myers  <joseph@codesourcery.com>
124
125         PR c/21213
126         * c-decl.c (finish_struct): Don't dereference NULL TYPE_FIELDS of
127         transparent union.
128
129 2005-05-01  Joseph S. Myers  <joseph@codesourcery.com>
130
131         PR c/20740
132         * c-format.c (init_dynamic_asm_fprintf_info): Give errors, not
133         aborts, if __gcc_host_wide_int__ is not properly defined.
134         (init_dynamic_diag_info): Give errors, not aborts, if location_t,
135         tree or __gcc_host_wide_int__ are not properly defined.
136
137 2005-05-01  Joseph S. Myers  <joseph@codesourcery.com>
138
139         PR c/11459
140         PR c/18502
141         * gcc.c (cpp_unique_options): Remove %{trigraphs}.
142         (cpp_options, cc1_options): Change %{std*} %{ansi} to
143         %{std*&ansi&trigraphs}.
144
145 2005-04-29  Alan Modra  <amodra@bigpond.net.au>
146
147         PR target/21098
148         * config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New.
149         * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use the above.
150
151 2005-04-25  Ralf Corsepius  <ralf.corsepius@rtems.org>
152
153         * config.gcc (avr-*-*): Remove redundant "case".
154
155 2005-04-25  Ralf Corsepius  <ralf.corsepius@rtems.org>
156
157         PR target/17822
158         * config/avr/t-avr (AR_FOR_TARGET,RANLIB_FOR_TARGET): Remove.
159
160 2005-04-25  Ralf Corsepius  <ralf.corsepius@rtems.org>
161
162         PR target/17824
163         * config/c4x/c4x.h (ASM_PROG, LD_PROG): Remove.
164
165 2005-04-22  David Edelsohn  <edelsohn@gnu.org>
166
167         Backport from mainline.
168         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Set TFmode
169         optabs to xlq names if TARGET_XL_COMPAT.
170
171 2005-04-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
172
173         * doc/invoke.texi (SPARC options): Document that -mapp-regs
174         is turned off by default on Solaris.
175
176 2005-04-15  Dave Korn  <dave.korn@artimi.com>
177
178         * gcc.c (default_compilers): Clarify obscure error message when
179         reading from standard input.
180
181 2005-04-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
182
183         * config/sparc/sparc.c (legitimate_address_p): Use TARGET_ARCH32.
184
185 2005-04-11  David Edelsohn  <edelsohn@gnu.org>
186
187         Backport from mainline:
188         * config/rs6000/aix52.h (atoll): Declare.
189
190 2005-04-08  Ulrich Weigand  <uweigand@de.ibm.com>
191
192         Backport from mainline:
193         * config/s390/tpf.h (ASM_SPEC): Define.
194
195 2005-04-06  Dale Johannesen  <dalej@apple.com>
196
197         PR middle-end/19225
198         * calls.c (expand_call):  Flush pending deferrals before
199         throwing call.
200
201 2005-04-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
202
203         PR target/17245
204         * config/sparc/sparc.c (legitimate_address_p): Remove 'imm2'.
205         Revert 2004-10-08 patch.  Reject TFmode LO_SUM in 32-bit mode.
206
207 2005-04-05  James E. Wilson  <wilson@specifixinc.com>
208
209         PR target/20670
210         * unwind-ia64.c (uw_intall_context): Add missing load of r27.
211
212 2005-04-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
213
214         * doc/invoke.texi (SPARC options): Document that
215         -mlittle-endian is not supported on Linux either.
216
217 2005-03-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
218
219         PR c++/18644
220         * doc/invoke.texi (-Wsynth): Don't document, as it now is void of
221         semantics.
222
223 2005-03-31  Alan Modra  <amodra@bigpond.net.au>
224
225         PR target/20611
226         * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Remove inline
227         label operand.  Remove (use (unspec..)).  Don't emit a label on
228         the offset word.
229         * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Don't
230         generate inline label for load_toc_v4_PIC_1b.
231         (rs6000_emit_load_toc_table): Likewise.
232
233 2005-03-31  Alan Modra  <amodra@bigpond.net.au>
234
235         * config.gcc (cpu_is_64bit): Set for 64-bit powerpc cpus.
236         (powerpc64-*-linux*): Use it.  Rearrange tm_file assignment.
237         (powerpc-*-linux*): Build a biarch compiler when --enable-targets
238         is given with "powerpc64*" or "all", or when --with-cpu chooses
239         a 64-bit cpu.
240
241 2005-03-30  Alan Modra  <amodra@bigpond.net.au>
242
243         * doc/install.texi: Update binutils requirement for powerpc*-linux.
244
245 2005-03-25  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
246
247         PR target/15491
248         * vax.c (vax_rtx_costs_1): Merge with vax_rtx_costs.
249         (vax_rtx_costs): Return false when passed unsupported rtx's.  Handle
250         FLOAT_EXTEND, FLOAT_TRUNCATE and TRUNCATE.  Fix costs for POST_INC,
251         PRE_DEC, NEG and NOT.
252
253 2005-03-23  Uros Bizjak  <uros@kss-loka.si>
254
255         * simplify-rtx.c (simplify_unary_operation) <NOT>: Add missing break
256         in code that deals with logicals on floats.
257
258 2005-03-22  Uros Bizjak  <uros@kss-loka.si>
259
260         PR target/14981
261         Backport from mainline
262         2004-02-18  Jan Hubicka  <jh@suse.cz>
263         * simplify-rtx.c (simplify_unary_operation): Deal with logicals on
264         floats.
265         (simplify_binary_operation): Deal with logicals on floats.
266         * i386.md (SSE fabs splitters): Emit new patterns.
267         (SSE cmov splitters): Likewise.
268         (sse_andv4sf3, sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3
269         (sse_andv2df3, sse_nandv2df3, sse_iorv2df3, sse_xorv2df3): Do not use
270         subregs.
271         (sse_andsf3, sse_nandsf3, sse_xorsf3): Kill.
272         (sse_anddf3, sse_nanddf3, sse_xordf3): Kill.
273
274 2005-03-20  Marek Michalkiewicz  <marekm@amelek.gda.pl>
275
276         PR target/18551
277         * config/avr/avr.c (avr_output_function_prologue): Do not use
278         current_function_name() in a label, use a local label instead.
279
280 2005-03-19  Joseph S. Myers  <joseph@codesourcery.com>
281
282         * c.opt (ansi, std=iso9899:1990, std=iso9899:1999,
283         std=iso9899:199x): Correct descriptions.
284
285 2005-03-19  Andy Hutchinson  <HutchinsonAndy@netscape.net>
286
287         PR target/18251
288         * config/avr/avr.md (movstrhi): Rewrite as RTL loop.
289         (*movstrqi_insn): Delete.
290         (*movstrhi): Delete.
291
292 2005-03-17  Richard Sandiford  <rsandifo@redhat.com>
293
294         PR rtl-optimization/19683
295         * reload1.c (choose_reload_regs): Pass the number of bits, not the
296         number of bytes, to smallest_int_for_mode.  Fix arguments to
297         REG_CANNOT_CHANGE_MODE_P.
298
299 2005-03-17  Alan Modra  <amodra@bigpond.net.au>
300
301         * config/rs6000/linux-unwind.h: New file backported from gcc-4.0.
302         * config/rs6000/linux.h: #include linux-unwind.h in place of all
303         unwind support in this file.
304         * config/rs6000/linux64.h: Likewise.
305
306 2005-03-16  Roger Sayle  <roger@eyesopen.com>
307
308         PR rtl-optimization/17825
309         Backport from mainline
310         2004-11-27  Jakub Jelinek  <jakub@redhat.com>
311         * combine.c (subst): Ignore STRICT_LOW_PART no matter if REG_P (new)
312         or not.
313
314 2005-03-16  Roger Sayle  <roger@eyesopen.com>
315
316         PR target/18371
317         Backport from mainline
318         2004-12-19  Steven Bosscher  <stevenb@suse.de>
319         * config/i386/i386.c (ix86_split_to_parts): Use an array with
320         four elements for decoding a CONST_DOUBLE on 64 bits targets.
321
322 2005-03-14  Alan Modra  <amodra@bigpond.net.au>
323
324         * config.gcc: Remove excess indentation.
325         (powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5.
326
327 2005-03-13  Marek Michalkiewicz  <marekm@amelek.gda.pl>
328
329         PR target/20288
330         * config/avr/avr.c (print_operand): Add 'p' and 'r'.
331         (out_movhi_r_mr): Read low byte of volatile MEM first.
332         (out_movhi_mr_r): Write high byte of volatile MEM first.
333
334 2005-03-10  Aldy Hernandez  <aldyh@redhat.com>
335
336         * doc/invoke.texi: Add 8540 to list of cpus in rs6000 cpu section.
337
338 2005-03-08  James E Wilson  <wilson@specifixinc.com>
339
340         Backport from mainline
341         2004-04-13  James E Wilson  <wilson@specifixinc.com>
342         PR middle-end/20364
343         * c-opt.c (c_common_post_options): If this_input_filename is NULL,
344         increment errorcount and return false instead of true.
345
346         Backport from mainline
347         2005-02-21  James E Wilson  <wilson@specifixinc.com>
348         * toplev.c (backend_init): Don't call init_adjust_machine_modes here.
349         (do_compile): Do call it here.
350
351 2005-03-07  David Billinghurst <David.Billinghurst@riotinto.com>
352
353         * config/i386/cygwin1.c(mingw_scan): Use xstrdup in calls to putenv.
354
355 2005-03-03  Alan Modra  <amodra@bigpond.net.au>
356
357         PR target/20277
358         * config/rs6000/rs6000.c (rs6000_override_options): Don't allow
359         -mcpu to override any other explicitly given flags.
360
361 2005-03-02  Mark Mitchell  <mark@codesourcery.com>
362
363         PR c++/19916
364         * varasm.c (initializer_constant_valid_p): Allow conversions
365         between OFFSET_TYPEs.  Tidy.
366
367 2005-02-28  John David Anglin  <dave.anglin#nrc-cnrc.gc.ca>
368
369         PR target/19819
370         * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow allow hard registers during
371         and after reload in REG+REG indexed addresses without REG_POINTER
372         set in the base and not set in the index.
373
374 2005-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
375
376         PR rtl-optimization/17728
377         * pa.md (mulsi3, divsi3, udivsi3, modsi3): Change predicate for
378         operand 0 from general_operand to move_dest_operand.
379
380 2005-02-26  Paolo Carlini  <pcarlini@suse.de>
381
382         * doc/extend.texi (Declaring Attributes of Functions)<noreturn>:
383         Clarify that the alternative way doesn't work in GNU C++.
384
385 2005-02-25  David Edelsohn  <edelsohn@gnu.org>
386
387         Backport from mainline:
388         2005-02-24  David Edelsohn  <edelsohn@gnu.org>
389         PR target/19019
390         * reload.c (operands_match_p): Only increment register number for
391         SCALAR_INT_MODE_P modes in multiple hard registers.
392         * config/rs6000/rs6000.md (trunctfdf2): Remove register constraints.
393         Fix formatting.
394
395 2005-02-24  Jakub Jelinek  <jakub@redhat.com>
396
397         PR target/19019
398         * Makefile.in (LIB2FUNCS_SHARED_EXTRA, LIB2ADD_SH): New.
399         (libgcc.mk): Depend on $(LIB2ADD_SH), pass LIB2ADD_SH to mklibgcc.
400         (LIBGCC_DEPS): Add $(LIB2ADD_SH).
401         * mklibgcc.in: Handle LIB2ADD_SH.
402         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Remove darwin-ldouble.c.
403         (LIB2FUNCS_STATIC_EXTRA, LIB2FUNCS_SHARED_EXTRA): Set.
404         * config/rs6000/darwin-ldouble.c: Protect .symver asm also with
405         defined IN_LIBGCC2_S.
406         * config/rs6000/darwin-ldouble-shared.c: New file.
407
408 2005-02-23  Michael Beach  <michaelb@ieee.org>
409
410         PR target/20159
411         * config/sparc/t-elf (startup files): Assemble with CPP.
412
413 2005-02-17  Gerald Pfeifer  <gerald@pfeifer.com>
414
415         * doc/install.texi (Specific): Update link for Darwin-specific
416         tool binary site.
417
418 2005-02-16  David Edelsohn  <edelsohn@gnu.org>
419
420         PR target/19019
421         Backport from mainline:
422         2005-02-16  David Edelsohn  <edelsohn@gnu.org>
423         * config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
424         * config/rs6000/t-aix52 (SHLIB_MAPFILES): Same.
425         2005-02-15  David Edelsohn  <edelsohn@gnu.org>
426                     Alan Modra  <amodra@bigpond.net.au>
427         * config/rs6000/darwin-ldouble.c (_xlqadd): Rename to __gcc_qadd.
428         (_xlqsub): Rename to __gcc_qsub.
429         (_xlqmul): Rename to __gcc_qmul.
430         (_xlqdiv): Rename to __gcc_qdiv.
431         Provide versioned symbol aliases with old names.
432         * config/rs6000/libgcc-ppc64.ver: Rename symbols.
433         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Rename symbols.
434         * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): New.
435         * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): New.
436         * config/rs6000/t-newas (LIB2FUNCS_EXTRA): New.
437         2005-02-14  David Edelsohn  <edelsohn@gnu.org>
438         * config/rs6000/rs6000.md (trunctfdf2): Change to define_expand.
439         (trunctfdf2_internal1): New.
440         (trunctfdf2_internal2): Renamed from trunctfdf2.
441         2005-02-13  David Edelsohn  <edelsohn@gnu.org>
442         * config/rs6000/aix.h ({TARGET,MASK}_XL_CALL): Rename to
443         {TARGET,MASK}_XL_COMPAT.
444         (SUBTARGET_SWITCHES): Rename xl-call to xl-compat.  Use
445         MASK_XL_COMPAT.
446         * config/rs6000/beos.h ({TARGET,MASK}_XL_CALL): Remove.
447         * config/rs6000/rs6000.c (function_arg): Change TARGET_XL_CALL to
448         TARGET_XL_COMPAT.
449         (rs6000_arg_partial_bytes): Same.
450         (rs6000_generate_compare): Generate PARALLEL for compare if TFmode
451         and XL compatibility enabled.
452         * config/rs6000/rs6000.h (TARGET_XL_CALL): Rename to TARGET_XL_COMPAT.
453         * config/rs6000/rs6000.md (cmptf_internal1): Add !TARGET_XL_COMPAT
454         test to final condition.
455         (cmptf_internal2): New.
456         * doc/invoke.texi (RS/6000 Subtarget Options): Change xl-call to
457         xl-compat.  Add TFmode information to description.
458
459 2005-02-16  Eric Christopher  <echristo@redhat.com>
460
461         PR preprocessor/19077
462         * cppmacro.c (cpp_macro_definition): Move handling of whitespace
463         to PREV_WHITE conditional. Remove overloading of len
464         variable.
465
466 2005-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
467
468         PR target/19715
469         * config.gcc (sparc-*-elf*): Include sparc/sol2-gld.h.
470         (sparc-*-rtems*): Likewise.
471         (sparclite-*-elf*): Likewise.
472         (sparc86x-*-elf*): Likewise.
473         (sparc64-*-elf*): Likewise.
474
475 2005-02-11  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
476
477         PR middle-end/19697
478         2005-01-30  Roger Sayle  <roger@eyesopen.com>
479         * config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
480         constant as the second operand and a register as the third.
481
482 2005-02-11  Jakub Jelinek  <jakub@redhat.com>
483
484         PR c++/19666
485         2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
486         * fold-const.c (fold_convert): Treat OFFSET_TYPE like
487         POINTER_TYPE and INTEGER_TYPE.
488
489         * config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
490         crtend.o if -pie.  Use %{x:a;:b} spec syntax.
491
492 2005-02-10  Jakub Jelinek  <jakub@redhat.com>
493
494         PR rtl-optimization/19579
495         * ifcvt.c (noce_try_cmove_arith): If emitting instructions to set up
496         both A and B, see if they don't clobber registers the other expr uses.
497
498 2005-02-08  Alan Modra  <amodra@bigpond.net.au>
499
500         PR target/19803
501         * predict.c (PROB_VERY_UNLIKELY): Use 1% instead of 10%.
502
503 2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
504
505         * config/m68k/t-rtems (MULTILIB_MATCHES): Let m528x match m5200.
506
507 2005-02-03  Richard Guenther  <rguenth@gcc.gnu.org>
508
509         PR middle-end/19775
510         * builtins.c (fold_builtin_sqrt): Transform
511         sqrt(pow(x,y)) to pow(fabs(x),y*0.5), not
512         pow(x,y*0.5).
513
514 2005-02-01  Richard Earnshaw  <rearnsha@arm.com>
515
516         PR target/16201
517         * arm.c (arm_eliminable_register): New function.
518         (adjacent_mem_locations): Don't allow eliminable registers.  Use
519         HOST_WIDE_INT for address offsets.
520         * arm-protos.h (arm_eliminable_register): Add prototype.
521
522 2005-01-31  Daniel Jacobowitz  <dan@codesourcery.com>
523
524         2004-09-22  Mark Mitchell  <mark@codesourcery.com>
525         * gcc/dwarf2out.c (scope_die_for): If the containing scope is a
526         TRANSLATION_UNIT_DECL, consider it to be a global.
527
528 2005-01-29  Alan Modra  <amodra@bigpond.net.au>
529
530         * unwind-dw2.c (execute_stack_op): Add missing cases for
531         DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor.
532
533 2005-01-28  Stephane Carrez  <stcarrez@nerim.fr>
534
535         PR target/15384
536         * config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a
537         configuration part of dp-bit.c to be lost.
538
539 2005-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
540
541         PR target/17771
542         Backport from mainline:
543         * config/s390/s390.md ("reload_outti"): Remove predicate for
544         output operand.  Abort if operand is not a MEM.
545         ("reload_outdi", "reload_outdf"): Likewise.
546
547 2005-01-27  Marek Michalkiewicz  <marekm@amelek.gda.pl>
548
549         PR target/19293
550         PR target/19329
551         * config/avr/avr.c (notice_update_cc): Only set condition code for
552         ashrqi3 if shift count > 0.
553         (out_shift_with_cnt): Handle shift count <= 0 as a no-op.
554         (ashlqi3_out, ashlhi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out,
555         ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Handle shift
556         count <= 0 as a no-op, and shift count >= width by copying zero
557         or sign bit to all bits of the result.
558         * config/avr/avr.md (all shifts): Add alternatives for zero shift
559         count, with attribute "length" set to 0 and "cc" set to "none".
560
561 2005-01-27  J"orn Rennecke <joern.rennecke@st.com>
562
563         * real.c (do_add): Initialize signalling and canonical members.
564
565         * real.c (real_from_integer): Zero out destination.
566
567 2005-01-26  Ulrich Weigand  <uweigand@de.ibm.com>
568
569         Backport from mainline:
570         * dbxout.c (dbxout_symbol_location): Resolve constant pool references
571         even for variables with NULL DECL_INITIAL.
572
573 2005-01-25  Richard Earnshaw  <rearnsha@arm.com>
574
575         PR target/19393
576         Backport:
577         2004-03-30  Nick Clifton  <nickc@redhat.com>
578         * config/arm/arm.md (thumb_jump): Reduce the backward branch
579         range, and increase the forward branch range, to allow for
580         the fact that the PC will be off by 4.
581
582 2005-01-24  Richard Henderson  <rth@redhat.com>
583             Aldy Hernandez  <aldyh@redhat.com>
584
585         * regrename.c (note_sets): Handle subregs.
586
587 2005-01-24  Jakub Jelinek  <jakub@redhat.com>
588
589         * flow.c (propagate_one_insn): Formatting.
590
591         PR middle-end/19551
592         * flow.c (libcall_dead_p): Be more conservative if unsure.
593         If there are any instructions between insn and call, see if they are
594         all dead before saying the libcall is dead.
595
596 2005-01-22  Ralf Corsepius  <ralf.corsepius@rtems.org>
597
598         PR target/19548
599         * config/rs6000/rtems.h: Resurrect cpp_os_rtems_spec from gcc < 3.4.
600         (CPP_OS_RTEMS_SPEC): New (From gcc-3.3's config/rs6000/sys4.h).
601         (SUBSUBTARGET_EXTRA_SPECS): Use CPP_OS_RTEMS_SPEC.
602
603 2005-01-19  Jakub Jelinek  <jakub@redhat.com>
604
605         PR rtl-optimization/15139
606         * combine.c: Include params.h.
607         (count_rtxs): New function.
608         (record_value_for_reg): If replace_rtx would replace at least
609         2 occurrences of REG in VALUE and TEM is really large, replace REG with
610         (clobber (const_int 0)) instead of TEM.
611         * params.def (PARAM_MAX_LAST_VALUE_RTL): New.
612         * params.h (MAX_LAST_VALUE_RTL): New.
613         * Makefile.in (combine.o): Depend on $(PARAMS_H).
614         * doc/invoke.texi (--param max-last-value-rtl=N): Document.
615
616         PR c/17297
617         * c-typeck.c (digest_init): Only call build_vector if all constructor
618         elements are *_CST nodes.
619
620         PR middle-end/19164
621         * c-typeck.c (digest_init): Only call build_vector if inside_init
622         is a CONSTRUCTOR.
623
624 2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
625
626         PR debug/16261
627         Backport from mainline:
628         2004-01-27  Devang Patel  <dpatel@apple.com>
629
630         * dwarf2out.c: (remove_child_TAG): New function.
631         (gen_subprogram_die): Do not remove all children dies while reusing
632         declaration die for definition.  Instead, selectively remove only
633         formal parameters.
634
635 2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
636
637         PR rtl-optimization/19296
638         * combine.c (simplify_comparison): Rewrite the condition under
639         which a non-paradoxical SUBREG of a PLUS can be lifted when
640         compared against a constant.
641
642 2005-01-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
643
644         * varasm.c (process_pending_assemble_output_defs): Fix previous change.
645
646 2005-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
647
648         PR target/16304
649         * defaults.h (TARGET_DEFERRED_OUTPUT_DEFS): Provide default.
650         * toplev.c (compile_file): Call process_pending_assemble_output_defs
651         just before targetm.asm_out.file_end.
652         * tree.h (process_pending_assemble_output_defs): Declare.
653         * varasm.c (assemble_output_def, process_pending_assemble_output_defs):
654         New functions.
655         (assemble_alias): Defer generation of assembly code for defines when
656         TARGET_DEFERRED_OUTPUT_DEFS is true.
657         * config/rs6000/aix41.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
658         * config/rs6000/aix43.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
659         * doc/tm.texi (TARGET_DEFERRED_OUTPUT_DEFS): document.
660
661 2005-01-15  Ralf Corsepius  <ralf.corsepius@rtems.org>
662
663         * config/mips/rtems.h (MIPS_DEFAULT_GVALUE): Set to 0.
664         * config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS):
665         Remove little endian multilib variants.
666         Add mips32 multilib variant.
667
668 2005-01-14  David Edelsohn  <edelsohn@gnu.org>
669
670         * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Revert last change.
671
672 2005-01-13  David O'Brien  <obrien@FreeBSD.org>
673
674         Backport from mainline:
675         * config/freebsd-spec.h:  Make KSE pthread lib logic the default.
676
677 2005-01-13  David Edelsohn  <edelsohn@gnu.org>
678
679         * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Change _XOPEN_SOURCE
680         definition to 600.
681
682 2005-01-13  Ralf Corsepius <ralf.corsepius@rtems.org>
683
684         * config/i386/t-rtems-i386: Multilib on -mtune instead of -mcpu.
685
686 2004-01-12  David Mosberger  <davidm@hpl.hp.com>
687             James E Wilson  <wilson@specifixinc.com>
688
689         PR target/18987
690         * config/ia64/ia64.c (process_set): For alloc insn, only call
691         process_epilogue is !frame_pointer_needed.
692
693         PR target/13158
694         * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
695         sibcall alloc instruction.
696         (process_set): Handle sibcall alloc instruction.
697
698 2005-01-10  David Edelsohn  <edelsohn@gnu.org>
699
700         PR target/18720
701         Backport from mainline
702         * collect2.c (main): Set aixrtl_flag for -brtl option.
703         (resolve_lib_name): Search for .so file extension before .a
704         if aixrtl_flag set.
705
706 2005-01-08  Jakub Jelinek  <jakub@redhat.com>
707
708         PR rtl-optimization/19012
709         * config/i386/i386.md (addqi_1_slp): Set memory attribute.
710
711 2005-01-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
712
713         * configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo.
714         * configure: Regenerate.
715
716 2005-01-07  Jakub Jelinek  <jakub@redhat.com>
717
718         * c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy
719         TYPE_MODE.
720
721 2005-01-06  Richard Sandiford  <rsandifo@redhat.com>
722
723         PR rtl-opt/13299
724         * loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
725         biv_fits_mode_p, extension_within_bounds_p): New functions.
726         (check_ext_dependent_givs): Use them.
727
728 2005-01-05  Richard Henderson  <rth@redhat.com>
729
730         PR rtl-opt/10692
731         * reload1.c (do_input_reload): Restrict the optimization deleteing
732         a previous output reload to RELOAD_FOR_INPUT.
733
734 2005-01-06  Jakub Jelinek  <jakub@redhat.com>
735
736         Backport from mainline:
737         2004-03-22  Diego Novillo  <dnovillo@redhat.com>
738
739         * c-typeck.c (same_translation_unit_p): Fix pasto.
740
741 2005-01-02  Roger Sayle  <roger@eyesopen.com>
742             Andrew Pinski  <pinskia@physics.uc.edu>
743             James E. Wilson  <wilson@specifixinc.com>
744
745         PR rtl-optimization/12092
746         * loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
747         is zero.
748
749 2004-12-30  Roger Sayle  <roger@eyesopen.com>
750
751         PR middle-end/19175
752         * loop-unroll.c (expand_bct): Pass the code_label to the function
753         do_compare_rtx_and_jump, not the label ref.  Clean-up style issues.
754
755 2004-12-27 John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
756
757         * vax.c (vax_address_cost, vax_rtx_cost): Correct casts.
758         (vax_rtx_cost): Handle small offsets for both PLUS and MINUS.
759
760 2004-12-27  Steven Bosscher  <stevenb@suse.de>
761             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
762
763         rtl-optimization/12863
764         * config/vax/vax.h (CASE_DROPS_THROUGH): Don't define.
765         * config/vax/vax.md (casesi): Emit a test-and-branch to make sure
766         that the case is in range, to make sure the casesi insn is always
767         in range and never falls through.
768         (casesi1): Add comment to explain why casesi never falls through.
769         Remove the unnamed special case casesi pattern.
770
771 2004-12-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
772
773         PR c++/14607.
774         Backported from main.
775         * configure.ac (HAVE_GAS_NSUBSPA_COMDAT): Add check for .NSUBSPA
776         COMDAT support.
777         * configure. config.in: Rebuilt.
778         * config/pa/pa-protos.h (som_text_section_asm_op,
779         som_readonly_data_section, som_one_only_readonly_data_section,
780         som_one_only_data_section, forget_section): Declare.
781         * pa.c (override_options): Set init_machine_status to
782         pa_init_machine_status.
783         (pa_init_machine_status): New function.
784         (pa_output_function_epilogue): Call forget_section if TARGET_SOM and
785         TARGET_GAS.
786         (pa_asm_output_mi_thunk): Likewise.
787         (som_text_section_asm_op): New function.
788         (pa_select_section): Call som_one_only_readonly_data_section and
789         som_one_only_data_section when appropriate.
790         * pa.h (struct machine_function): Define.
791         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
792         SOM_READONLY_DATA_SECTION_FUNCTION,
793         SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION
794         SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): New
795         macros.
796         * som.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete.
797         (TEXT_SECTION_ASM_OP): Call som_text_section_asm_op.
798         (READONLY_DATA_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
799         (READONLY_DATA_SECTION): Call som_readonly_data_section when not PIC.
800         (SUPPORTS_SOM_COMDAT): New define.
801         (SUPPORTS_ONE_ONLY): True if SUPPORTS_WEAK or SUPPORTS_SOM_COMDAT.
802         (MAKE_DECL_ONE_ONLY): Rework common support.
803
804 2004-12-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
805
806         PR target/17643
807         * pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when
808         generating code for the portable runtime.
809
810 2004-12-25  Alan Modra  <amodra@bigpond.net.au>
811
812         PR target/19147
813         * config/rs6000/rs6000.md (andsi3_internal7, andsi3_internal8): Delete.
814
815 2004-12-23  Richard Henderson  <rth@redhat.com>
816
817         PR c/18282
818         * c-decl.c (finish_enum): Retain precision acquired from an attribute.
819
820 2004-12-23  Alexandre Oliva  <aoliva@redhat.com>
821
822         PR target/16819
823         * calls.c (load_register_parameters): Don't call use_regs when
824         nregs is zero.
825
826 2004-12-22  Richard Henderson  <rth@redhat.com>
827
828         PR target/19102
829         * config/i386/i386.c (x86_inter_unit_moves): Disable.
830         (ix86_hard_regno_mode_ok): Disallow SSE2 and MMX scalar modes
831         in SSE registers when only SSE1 enabled.
832
833 2004-12-21  David O'Brien  <obrien@FreeBSD.org>
834
835         Backport from mainline:
836         * config/freebsd-spec.h:  Use KSE pthread lib for -pthread.
837
838 2004-12-19  Richard Henderson  <rth@redhat.com>
839
840         * config/i386/i386.c (ix86_hard_regno_mode_ok): Always accept all SSE,
841         MMX, 3DNOW modes in SSE registers; always accept all MMX, 3DNOW modes
842         in MMX registers.
843         * config/i386/i386.h (VALID_SSE2_REG_MODE): Don't include
844         VALID_MMX_REG_MODE.
845         * config/i386/i386.md (movv4sf_internal, movv4si_internal,
846         movv2di_internal, movv2si_internal, movv4hi_internal,
847         movv2sf_internal, movv2df_internal, movv8hi_internal,
848         movv16qi_internal, movti_internal): Add leading '*' to name.
849         (movv2di_internal, movv2df_internal, movv8hi_internal,
850         movv16qi_internal, movv2df, movv8hi, movv16qi, movv2di,
851         pushv2di, pushv8hi, pushv16qi): Enable for SSE1.
852         (movv2si_internal, movv4hi_internal): Add SSE alternatives.
853         (movv8qi_internal, movv2sf_internal): Likewise.
854         (movtf): Simplify conditional.
855         (movv2sf, pushv2sf): Enable for MMX.
856
857 2004-12-19  Roger Sayle  <roger@eyesopen.com>
858
859         PR middle-end/19068
860         * expr.c (expand_expr_real_1) <MAX_EXPR>: Ensure that target, op0
861         and op1 are all registers (or constants) before expanding the RTL
862         comparison sequence [to avoid reg_overlap_mentioned (target, op1)].
863
864 2004-12-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
865
866         PR rtl-optimization/16968
867         * loop.c (scan_loop): Stop scanning the loop for movable
868         insns as soon as an optimization barrier is encountered.
869
870 2004-12-16  H.J. Lu  <hongjiu.lu@intel.com>
871
872         PR other/18508
873         * config/alpha/t-osf4 (SHLIB_LINK): Use `.backup' as the suffix
874         to back up the existing shared library.
875         * config/arm/t-netbsd (SHLIB_LINK): Likewise.
876         * config/mips/t-iris5-6 (SHLIB_LINK): Likewise.
877         * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
878         * config/sh/t-linux (SHLIB_LINK): Likewise.
879         * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
880         * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
881         * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
882         * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
883
884 2004-12-16  Roger Sayle  <roger@eyesopen.com>
885
886         PR middle-end/18493
887         * c-typeck.c (c_finish_case): Rechain statements if we didn't
888         encounter any case labels or a default.
889
890 2004-12-16  Eric Botcazou  <ebotcazou@adacore.com>
891
892         PR middle-end/18882
893         * function.c (assign_stack_local_1): Use BITS_PER_UNIT alignment
894         when passed -2 as 'align'.
895         (put_var_into_stack): Use 'bool' as the type for the three local
896         predicates.  Adjust calls to put_reg_into_stack.
897         When passed a CONCAT, instruct put_reg_into_stack to use
898         a consecutive stack slot for the second part.
899         (put_reg_into_stack): Remove 'promoted_mode' parameter, add
900         'consecutive_p' parameter.  Turn the three predicates into 'bool'
901         parameters.  Retrieve the register mode from 'reg'.
902         When consecutive_p is true, instruct assign_stack_local_1 to use
903         BITS_PER_UNIT alignment.
904         (put_addressof_into_stack): Use 'bool' as the type for the two
905         local predicates. Adjust call to put_reg_into_stack.
906
907 2004-12-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
908
909         PR middle-end/18590
910         * function.c (fixup_var_refs_insns_with_hash): Do not invoke
911         fixup_var_refs_insn on insns marked as deleted.
912
913 2004-12-15  Richard Henderson  <rth@redhat.com>
914
915         PR target/19028
916         * config/i386/i386.md (sse compare splitter): Test for SF and DFmode
917         explicitly instead of using VALID_SSE_REG_MODE.
918
919 2004-12-15  Richard Henderson  <rth@redhat.com>
920
921         PR target/19005
922         * config/i386/i386.md (swaphi_1): Swap with swaphi_2, allow with
923         optimize_size.
924         (swapqi_1): Rename from swapqi.  Enable only for no partial reg
925         stall and optimize_size.
926         (swapqi_2): New.
927         (swaphi_1, swaphi_2, swapqi_1): Add athlon_decode.
928         (swapsi, swaphi_1, swaphi_2, swapqi_1, swapdi): Remove modrm override.
929
930 2004-12-15  H.J. Lu  <hongjiu.lu@intel.com>
931
932         PR target/18153
933         * configure.ac: Define HAVE_LD_STATIC_DYNAMIC if linker supports
934         -Bstatic/-Bdynamic option.
935         * config.in: Regenerated.
936         * configure: Likewise.
937
938         * gcc.c (init_spec): Pass -Bstatic/-Bdynamic to ld for static
939         -lunwind if possible.
940
941 2004-12-15  Richard Henderson  <rth@redhat.com>
942
943         PR target/19010
944         * config/i386/i386.c (gen_reg_or_parallel): New.
945         (function_arg): Use it.
946         (ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately,
947         MMX and 3DNOW separately.
948         (ix86_rtx_costs): Simplify FLOAT_EXTEND case.
949         * config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ...
950         (VALID_SSE_REG_MODE): ... here.
951         * config/i386/i386.md (movv4sf_internal): Validate one MEM.
952         (movv4si_internal): Likewise.
953         (movv2di_internal): Likewise.  Enable for SSE2 only.
954         (movv2di): Enable for SSE2 only.
955         (pushv4si): Enable for SSE1.
956
957 2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
958
959         PR c++/17972
960         * tree-inline.c (expand_call_inline): Set TREE_SIDE_EFFECTS
961         on the STMT_EXPR wrapping up the inlined body.
962
963 2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
964
965         PR preprocessor/15167
966         * cppfiles.c (destroy_cpp_file): New function.
967         (should_stack_file): Make a new file if the
968         compared file is still stacked.
969
970 2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
971
972         PR other/18665
973         * libgcc-std.ver (GCC_3.4.4): Inherit from GCC_3.4.2.
974         Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3.
975         * libgcc-darwin.ver (GCC_3.4.4): Inherit from GCC_3.4.
976         Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3.
977         * libgcc2.c (__addvsi3): Rename to __addvSI3.
978         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
979         (__addvdi3): Rename to __addvDI3.
980         (__subvsi3): Rename to __subvSI3.  Use word type for the result.
981         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
982         (__subvdi3): Rename to __subvDI3.
983         (_mulvsi3): Rename to _mulvSI3.
984         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
985         (_mulvdi3): Rename to _mulvDI3.
986         (__negvsi2): Rename to __negvSI2.
987         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
988         (__negvdi2): Rename to __negvDI2.
989         (__absvsi2): Rename to __absvSI2.
990         New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
991         (__absvdi2): Rename to __absvDI2.
992         * libgcc2.h (64-bit targets): Define COMPAT_SIMODE_TRAPPING_ARITHMETIC.
993         (__absvSI2, __addvSI3, __subvSI3, __mulvSI3, __negvSI2, __absvDI2,
994         __addvDI3, __subvDI3, __mulvDI3, __negvDI2): Define to the appropriate
995         symbol and declare.
996         (__absvsi2, __addvsi3, __subvsi3, __mulvsi3, __negvsi2): Declare if
997         COMPAT_SIMODE_TRAPPING_ARITHMETIC.
998
999 2004-12-14  Steve Ellcey  <sje@cup.hp.com>
1000
1001         * doc/invoke.texi (IA-64 options): Add existing options that
1002         weren't already listed.
1003
1004 2004-12-14  Jakub Jelinek  <jakub@redhat.com>
1005
1006         PR middle-end/18951
1007         * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2): Avoid
1008         using arguments passed to save_expr after that call.
1009
1010 2004-12-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1011
1012         PR middle-end/18730
1013         * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): When
1014         the first/last insn is a sequence, return the first/last insn of the
1015         sequence.
1016
1017 2004-12-13  Roger Sayle  <roger@eyesopen.com>
1018
1019         PR target/18002
1020         PR middle-end/18424
1021         Backport from mainline
1022
1023         2004-03-20  Richard Sandiford  <rsandifo@redhat.com>
1024         * Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
1025         (GTFILES): Add $(srcdir)/dojump.h.
1026         (gt-dojump.h): New dependency.
1027         * dojump.c (and_reg, and_test, shift_test): New static variables.
1028         (prefer_and_bit_test): New function.
1029         (do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
1030
1031         2004-03-21  Andrew Pinski  <pinskia@gcc.gnu.org>
1032         * dojump.c (prefer_and_bit_test): Fix which part of
1033         the and_test is replaced.
1034
1035         2004-12-10  Roger Sayle  <roger@eyesopen.com>
1036         * dojump.c (do_jump): When attempting to reverse the effects of
1037         fold_single_bit_test, we need to STRIP_NOPS and narrowing type
1038         conversions, and handle BIT_XOR_EXPR that's used to invert the
1039         sense of the single bit test.
1040
1041 2004-12-13  Richard Henderson  <rth@redhat.com>
1042
1043         PR target/17990
1044         * config/i386/i386.md (negsf2): Fix condition for using sse.
1045         (negdf2, abssf2, absdf2): Likewise.
1046         (negsf2_if, abssf2_if): Don't disable if sse enabled.
1047         (movv4sf_internal splitter): Postpone til after reload.
1048         (movv2di_internal splitter): Likewise.
1049
1050 2004-12-13  Richard Henderson  <rth@redhat.com>
1051
1052         PR middle-end/17930
1053         * toplev.c (rest_of_compilation): Fix computation of
1054         preferred_incoming_stack_boundary.
1055
1056 2004-12-12  Richard Henderson  <rth@redhat.com>
1057
1058         PR rtl-opt/17186
1059         * reg-stack.c (move_for_stack_reg): Handle source register not
1060         live with a nan.
1061
1062 2004-12-12  Richard Henderson  <rth@redhat.com>
1063
1064         PR target/18932
1065         * config/i386/i386.md (all splits and peepholes): Use flags_reg_operand
1066         and compare_operator to propagate the input CC mode to the output.
1067         * config/i386/i386.c (compare_operator): New.
1068         * config/i386/i386.h (PREDICATE_CODES): Add it.
1069         * config/i386/i386-protos.h: Update.
1070
1071 2004-12-09  Richard Henderson  <rth@redhat.com>
1072
1073         PR c/18282
1074         * attribs.c (decl_attributes): Clear DECL_ALIGN when relaying out decl.
1075         * c-common.c (handle_mode_attribute): Handle enumeral types.
1076
1077 2004-12-09  Richard Henderson  <rth@redhat.com>
1078
1079         PR target/17025
1080         * config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New.
1081         (test_qi_1, andqi_2): Do not promote to simode.
1082
1083 2004-12-07  David Mosberger  <davidm@hpl.hp.com>
1084
1085         PR target/18443
1086         * config/ia64/ia64.c (ia64_assemble_integer): Add support for
1087         emitting unaligned pointer-sized integers.
1088
1089 2004-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1090
1091         PR middle-end/17827
1092         * c-semantics.c (expand_unreachable_if_stmt): Invoke
1093         expand_cond on the condition.
1094
1095 2004-12-06  Aldy Hernandez  <aldyh@redhat.com>
1096
1097         * config/rs6000/sysv4.h: Define RELOCATABLE_NEEDS_FIXUP to 1.
1098
1099 2004-12-05  Richard Henderson  <rth@redhat.com>
1100
1101         PR target/18841
1102         * config/alpha/alpha.md (UNSPECV_SETJMPR_ER): New.
1103         (builtin_setjmp_receiver_er_sl_1): Use it.
1104         (builtin_setjmp_receiver_er_1): Likewise.
1105         (builtin_setjmp_receiver_er, exception_receiver_er): Remove.
1106         (builtin_setjmp_receiver): Don't split for explicit relocs until
1107         after reload.
1108         (exception_receiver): Likewise.
1109
1110 2004-12-05  Alan Modra  <amodra@bigpond.net.au>
1111
1112         * config/rs6000/rs6000.c (rs6000_assemble_integer): Fix typo.
1113
1114 2004-12-04  Richard Henderson  <rth@redhat.com>
1115
1116         * emit-rtl.c, expr.c, function.c, integrate.c, optabs.c, rtl.h:
1117         Revert the patches for PR rtl-opt/15289.
1118
1119 2004-12-03  Eric Botcazou  <ebotcazou@adacore.com>
1120
1121         * integrate.c (expand_inline_function): Accept non-CONCAT arguments
1122         for CONCAT parameters and invoke read_complex_part on them.
1123
1124 2004-12-02  Richard Henderson  <rth@redhat.com>
1125
1126         * expr.c (write_complex_part): Use simplify_gen_subreg when the
1127         submode is at least as large as a word.
1128         (read_complex_part): Likewise.
1129
1130 2004-12-02  Roger Sayle  <roger@eyesopen.com>
1131
1132         PR target/9908
1133         * config/i386/i386.md (*call_value_1, *sibcall_value_1): Correct
1134         Intel assembler syntax by using %A1 instead of %*%1.
1135
1136 2004-12-02  Richard Henderson  <rth@redhat.com>
1137
1138         PR rtl-opt/15289
1139         * emit-rtl.c (gen_complex_constant_part): Remove.
1140         (gen_realpart, gen_imagpart, subreg_realpart_p): Remove.
1141         * expr.c (write_complex_part, read_complex_part): New.
1142         (emit_move_via_alt_mode, emit_move_via_integer, emit_move_resolve_push,
1143         emit_move_complex_push, emit_move_complex, emit_move_ccmode,
1144         emit_move_multi_word): Split out from ...
1145         (emit_move_insn_1): ... here.
1146         (expand_expr_real) <COMPLEX_EXPR>: Use write_complex_part.
1147         <REALPART_EXPR, IMAGPART_EXPR>: Use read_complex_part.
1148         <CONJ_EXPR>: Likewise.
1149         * function.c (assign_parms): Hard-code transformations
1150         instead of using gen_realpart/gen_imagpart.
1151         * integrate.c (initialize_for_inline): Likewise.
1152         * optabs.c (expand_unop): Use read_complex_part/write_complex_part.
1153         (expand_complex_abs): Likewise.
1154         (expand_binop): Likewise.  Rearrange to build a CONCAT at the end,
1155         rather than creating a complex target at the beginning.
1156         * rtl.h (gen_realpart, gen_imagpart, subreg_realpart_p): Remove.
1157         (read_complex_part, write_complex_part): Declare.
1158
1159 2004-12-02  Alan Modra  <amodra@bigpond.net.au>
1160
1161         * config/rs6000/rs6000.c (rs6000_assemble_integer): Put back the
1162         #ifdef RELOCATABLE_NEEDS_FIXUP.
1163
1164 2004-12-01  Nathanael Nerode  <neroden@gcc.gnu.org>
1165
1166         PR preprocessor/17651
1167         * c-opts.c (sanitize_cpp_opts): Make flag_no_output imply
1168         flag_no_line_commands.
1169         * c-ppoutput.c (pp_file_change): Remove now-redundant check of
1170         flag_no_output.
1171
1172         PR preprocessor/17610
1173         * directives.c (do_include_common): Error out if an empty filename
1174         is given for #include (or #include_next or #import).
1175         PR preprocessor/17610
1176         * testsuite/gcc.dg/cpp/empty-include.c: New testcase.
1177
1178 2004-12-02  Alan Modra  <amodra@bigpond.net.au>
1179
1180         PR target/16952
1181         * config/rs6000/rs6000.c (rs6000_assemble_integer): Replace
1182         #ifdef RELOCATABLE_NEEDS_FIXUP with if.
1183         * config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Define in terms
1184         of target_flags_explicit.
1185         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Ditto for biarch
1186         case.  Define as 0 for non-biarch.
1187
1188 2004-12-01  Richard Henderson  <rth@redhat.com>
1189
1190         * expr.c (optimize_bitfield_assignment_op): Split out from ...
1191         (expand_assignment): ... here.  Use handled_component_p to gate
1192         get_inner_reference code.  Simplify MEM handling.  Special case
1193         CONCAT destinations.
1194         (get_inner_reference): Handle REAL/IMAGPART_EXPR.
1195         (handled_component_p): Likewise.
1196
1197 2004-12-01  Alan Modra  <amodra@bigpond.net.au>
1198
1199         PR target/12817
1200         * config/rs6000/rs6000.c (rs6000_emit_prologue): Use r0 for vrsave.
1201
1202 2004-11-30  Jakub Jelinek  <jakub@redhat.com>
1203
1204         * fold-const.c (extract_muldiv_1) <case ABS_EXPR>: If ctype is
1205         unsigned and type signed, build ABS_EXPR with signed_type (ctype)
1206         and only afterwards convert to ctype.
1207
1208 2004-11-29  Richard Henderson  <rth@redhat.com>
1209
1210         PR target/17224
1211         * config/ia64/ia64.c (sdata_symbolic_operand): Deny offsets
1212         outside the referenced object.
1213
1214 2004-11-28  Andreas Fischer <a_fisch@gmx.de>
1215             Alan Modra  <amodra@bigpond.net.au>
1216
1217         PR target/16343
1218         * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Disallow
1219         functions, strings and thread-local vars.
1220
1221 2004-11-27  Alan Modra  <amodra@bigpond.net.au>
1222
1223         PR target/12769
1224         * config/rs6000/rs6000.c (init_cumulative_args): Set call_cookie
1225         from rs6000_default_long_calls for libcalls.
1226
1227         PR target/18686
1228         * config/rs6000/rs6000-c.c (rs6000_pragma_longcall): Use
1229         integer_zerop and integer_onep instead of comparing against
1230         canonical trees.
1231
1232 2004-11-25  Richard Henderson  <rth@redhat.com>
1233
1234         PR c++/6764
1235         * reload1.c (set_initial_eh_label_offset): New.
1236         (set_initial_label_offsets): Use it.
1237
1238 2004-11-26  Alan Modra  <amodra@bigpond.net.au>
1239
1240         PR rtl-optimization/16356
1241         * config/rs6000/rs6000.md (floatdisf2_internal2): Rewrite with
1242         separate output register and one less jump.  Enable for powerpc64.
1243         (floatdisf2): Adjust for above.
1244
1245 2004-11-25  Ralf Corsepius <ralf.corsepius@rtems.org>
1246
1247         * config.gcc (avr-*-rtems*): Fix typo.
1248
1249 2004-11-24  Uros Bizjak  <uros@kss-loka.si>
1250
1251         PR rtl-optimization/18614
1252         * simplify-rtx.c (simplify_binary_operation): Do not
1253         simplify inner elements of constant arguments of
1254         VEC_CONCAT insn.
1255
1256 2004-11-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
1257
1258         Backport from mainline:
1259         2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
1260                     Roger Sayle  <roger@eyesopen.com>
1261
1262         PR middle-end/17813
1263         * dojump.c (discard_pending_stack_adjust): New function.
1264         (clear_pending_stack_adjust): Call it.
1265         * expr.h (discard_pending_stack_adjust): Declare it.
1266         * explow.c (emit_stack_save): Emit pending stack adjustments
1267         before saving the stack pointer.
1268         (emit_stack_restore): Discard pending stack adjustments before
1269         restoring the stack pointer.
1270
1271 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
1272
1273         * config/c4x/t-rtems: New.
1274         * config.gcc: Reflect having added c4x/t-rtems.
1275
1276 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
1277
1278         * config/arm/t-rtems: New.
1279         * config.gcc: Reflect having added arm/t-rtems.
1280
1281 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
1282
1283         * config.gcc: Add avr-*-rtems*.
1284         * config/avr/t-rtems: New.
1285         * config/avr/rtems.h: New.
1286
1287 2004-11-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1288
1289         PR rtl-optimization/14838
1290         * emit-rtl.c (get_first_nonnote_insn): Don't assume first insn is a
1291         note.
1292         (get_last_nonnote_insn): Don't assume last insn is a note.
1293
1294 2004-11-21  Roger Sayle  <roger@eyesopen.com>
1295
1296         * fixinc/inclhack.def (alpha_pthread_init): Fix technical problems
1297         with the last check-in caused by CVS variable substitution.
1298         * fixinc/fixincl.x: Likewise.
1299         * fixinc/tests/base/pthread.h: Likewise.
1300
1301 2004-11-21  Roger Sayle  <roger@eyesopen.com>
1302             Bruce Korb  <bkorb@gnu.org>
1303
1304         Synchronize with mainline
1305         * fixinc/inclhack.def (alpha_pthread_init): New fix.
1306         * fixinc/fixincl.x: Regenerate.
1307         * fixinc/tests/base/pthread.h: Update for new test.
1308
1309 2004-11-17  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
1310
1311         PR target/18263
1312         * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
1313         equivalent on the A4.
1314
1315 2004-11-16  Joseph S. Myers  <joseph@codesourcery.com>
1316
1317         PR c/18498
1318         * c-decl.c (grokdeclarator): Call check_bitfield_type_and_width
1319         after processing the declarator.
1320
1321 2004-11-14  Andrew Pinski  <pinskia@physics.uc.edu>
1322
1323         PR objc/18406
1324         * objc/obj-act.c (encode_type): 96bits doubles are encoded the
1325         same way as 64bit and 128bit doubles are.
1326
1327 2004-11-14  Hans-Peter Nilsson  <hp@bitrange.com>
1328
1329         PR target/18347
1330         * config/mmix/mmix.c (mmix_function_outgoing_value): Handle
1331         TImode.  Sorry for other non-complex larger-than-64-bit modes.
1332         * config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define.
1333         (INIT_CUMULATIVE_ARGS): Correct unused macro name FNDECL.
1334
1335 2004-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
1336
1337         * doc/md.texi (constraints) <% modifier>: Mention that it is
1338         useless when the two alternatives are strictly identical.
1339
1340 2004-11-12  Richard Henderson  <rth@redhat.com>
1341
1342         PR 17778
1343         * config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New.
1344         * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
1345         (TARGET_96_ROUND_53_LONG_DOUBLE): New.
1346         * config/i386/i386-modes.def (XF): Use it.
1347
1348 2004-11-12  Ralf Corsepius  <ralf.corsepius@rtems.org>
1349
1350         * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
1351         Remove m505/roe multilib variant.
1352
1353 2004-11-12  Eric Botcazou  <ebotcazou@act-europe.fr>
1354
1355         Backport from mainline:
1356         2004-02-25  Richard Henderson  <rth@redhat.com>
1357
1358         * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't
1359         use (op0-op1) == 0 if op0 is a pointer.
1360
1361 2004-11-10  Joseph S. Myers  <joseph@codesourcery.com>
1362
1363         PR c/18322
1364         * c-common.c (fname_decl): Don't use line number of decl in
1365         diagnostic.
1366
1367 2004-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
1368
1369         * config/sparc/sparc.c (function_arg_union_value): New 'slotno'
1370         argument.  Return naked register for unions with zero length.
1371         When the union is passed in the 6th slot, build a PARALLEL with
1372         only one element.
1373         (function_arg): Adjust call to function_arg_union_value.
1374         (function_value): Likewise.
1375
1376 2004-11-09  H.J. Lu  <hongjiu.lu@intel.com>
1377
1378         PR target/18380
1379         * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
1380         hidden.
1381
1382         * unwind-dw2.c (_Unwind_FindTableEntry): Removed.
1383
1384 2004-11-10  Alan Modra  <amodra@bigpond.net.au>
1385
1386         PR target/16480
1387         2004-08-26  Alan Modra  <amodra@bigpond.net.au>
1388         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort
1389         on "(mem (symbol_ref ..))" rtl.  Look at LO_SUM base regs as well
1390         as PLUS base regs.
1391         2004-08-01  Geoffrey Keating  <geoffk@apple.com>
1392         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Just abort
1393         if trying to *store* to a non-offsettable address.
1394         2004-07-30  Geoffrey Keating  <geoffk@apple.com>
1395         * config/rs6000/rs6000.c (rs6000_split_multireg_move): Cope with
1396         non-offsettable addresses being moved into multiple GPRs.
1397
1398 2004-11-07  Richard Sandiford  <rsandifo@redhat.com>
1399
1400         * config/mips/t-iris6 (tp-bit.c): Fix target filename.
1401
1402 2004-11-07  Mark Mitchell  <mark@codesourcery.com>
1403
1404         * version.c (version_string): Set to 3.4.4.
1405         * doc/include/gcc-common.texi (version): Likewise.
1406
1407 2004-11-04  Release Manager
1408
1409         * GCC 3.4.3 released.
1410
1411 2004-10-31  Jakub Jelinek  <jakub@redhat.com>
1412
1413         PR middle-end/18129
1414         * varasm.c (copy_constant): Don't copy STRING_CSTs if
1415         flag_writable_strings.
1416         (build_constant_desc): Call copy_constant unconditionally.
1417
1418 2004-10-30  Roger Sayle  <roger@eyesopen.com>
1419
1420         PR rtl-optimization/17581
1421         * cselib.c (cselib_process_insn): The last instruction of a libcall
1422         block, with the REG_RETVAL note, should be considered in the libcall.
1423         * gcse.c (do_local_cprop): Allow constants to be propagated outside
1424         of libcall blocks.
1425         (adjust_libcall_notes): Use simplify_replace_rtx instead of
1426         replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
1427
1428 2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
1429
1430         PR other/18186
1431         * common.opt (--param): Fix spelling of parameter.
1432
1433 2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
1434
1435         * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
1436
1437 2004-10-26  Richard Sandiford  <rsandifo@redhat.com>
1438
1439         PR bootstrap/15747
1440         * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
1441         reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
1442         can be used to work around this.
1443
1444 2004-10-26  Roger Sayle  <roger@eyesopen.com>
1445             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1446
1447         Backport 3.4 regression fix from mainline
1448         * cse.c: Change encoding of quantity numbers to avoid undefined
1449         pointer arithmetic on qty_table.
1450         (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
1451         (get_cse_reg_info): Initialize reg_qty to a unique negative value.
1452         (new_basic_block): Assign "real" quantity numbers from zero.
1453         (delete_reg_equiv): Do nothing if quantity is invalid.  Reset the
1454         REG_QTY to its unique negative value.
1455         (merge_equiv_classes): Calculate need_rehash if quantity is valid.
1456         (cse_main): Don't include max_reg when determining max_qty.
1457         (cse_basic_block): Avoid subtracting a large offset from qty_table,
1458         which causes undefined C99 behaviour.  Only allocate needed memory.
1459
1460 2004-10-25  Jakub Jelinek  <jakub@redhat.com>
1461
1462         * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
1463         DECL_INCOMING_RTL is NULL.
1464
1465 2004-10-21  Eric Christopher  <echristo@redhat.com>
1466
1467         * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
1468         saves.
1469
1470 2004-10-22  Bernardo Innocenti  <bernie@develer.com>
1471
1472         Backport from the mainline:
1473         2004-10-22  Peter Barada  <peter@the-baradas.com>
1474         * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
1475         * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
1476         renaming of non-live registers in interrupt functions.
1477         * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
1478
1479 2004-10-21  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
1480
1481         * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
1482
1483 2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
1484
1485         PR 18004.
1486         * expmed.c (store_bit_field): Pass original 'value' before
1487         recursing.
1488
1489 2004-10-21  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
1490
1491         * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
1492
1493         PR target/17317
1494         * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
1495         REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
1496         base and index register for loads.
1497
1498         * config/arc/t-arc: Fix multilib handling.
1499
1500 2004-10-18  H.J. Lu  <hongjiu.lu@intel.com>
1501
1502         PR bootstrap/17684
1503         * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
1504         (stage1-start): Remove and copy libunwind.a and
1505         libunwind*$(SHLIB_EXT) instead of libunwind*.
1506         (stage2-start): Likewise.
1507         (stage3-start): Likewise.
1508         (stage4-start): Likewise.
1509         (stageprofile-start): Likewise.
1510         (stagefeedback-start): Likewise.
1511
1512         * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
1513         the shared library to be created and don't remove the existing
1514         shared library.
1515         * config/arm/t-netbsd (SHLIB_LINK): Likewise.
1516         * config/mips/t-iris5-6 (SHLIB_LINK): Likewise.
1517         * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
1518         * config/sh/t-linux (SHLIB_LINK): Likewise.
1519         * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
1520         * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
1521         * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
1522         * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
1523
1524         * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
1525         files.
1526
1527 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
1528
1529         * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
1530         operand 1 instead of 2
1531
1532 2004-10-17  David O'Brien  <obrien@FreeBSD.org>
1533
1534         * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with
1535         other FreeBSD platforms.
1536
1537 2004-10-14  Richard Henderson  <rth@redhat.com>
1538
1539         PR debug/14492
1540         * dwarf2out.c (loc_descriptor_from_tree): Handle FIX_*_EXPR.
1541
1542 2004-10-14  Richard Henderson  <rth@redhat.com>
1543
1544         PR c/17023
1545         * c-parse.in (compstmt_primary_start): Check last_tree non-null,
1546         not current_function_decl non-null.
1547
1548 2004-10-14  Roger Sayle  <roger@eyesopen.com>
1549
1550         PR other/17361
1551         * c-opts.c (c_common_init_options): Scan command line options for
1552         "-lang-asm" and if found allow any of the C-family front-end options.
1553         Likewise, scan all command line options for g77's -traditional-cpp.
1554
1555 2004-10-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1556
1557         * doc/install.texi (*-*-solaris2*): Update with info about kernel
1558         patches to solve spurious testsuite failures.
1559
1560 2004-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
1561
1562         * dwarf2out.c (rtl_for_decl_location): Do not use MEM_P but use
1563         GET_CODE == MEM.
1564
1565 2004-10-13  Richard Henderson  <rth@redhat.com>
1566
1567         PR debug/15860
1568         * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
1569         for DECL_INCOMING_RTL.
1570
1571 2004-10-13  Richard Henderson  <rth@redhat.com>
1572
1573         PR c/17384
1574         * c-common.c (handle_mode_attribute): Disallow mode changes that
1575         alter the CODE of the top-level type.
1576
1577         * crtstuff.c (__FRAME_END__): Remove mode attribute.  Find 32-bit
1578         integer from internal limits macros.
1579         * config/i386/emmintrin.h (__v2df): Fix base type.
1580         * config/i386/xmmintrin.h (__m128, __v4sf): Likewise.
1581
1582 2004-10-13  Richard Henderson  <rth@redhat.com>
1583
1584         PR debug/13841
1585         * function.c (instantiate_decl): Recurse for CONCAT.
1586
1587 2004-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
1588
1589         PR target/14454
1590         * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
1591         sparc_can_output_mi_thunk.
1592         (sparc_output_mi_thunk): Simplify handling of delta offset.  Add
1593         handling of vcall offset.
1594         (sparc_can_output_mi_thunk): New predicate.
1595         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
1596         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
1597         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
1598
1599         * config/sparc/sparc.md (movdi): Remove redundant test.
1600
1601 2004-10-12  Richard Henderson  <rth@redhat.com>
1602
1603         PR rtl-opt/17503
1604         * regclass.c (subregs_of_mode): Turn into an htab.  Make static.
1605         (som_hash, som_eq): New.
1606         (init_subregs_of_mode, record_subregs_of_mode): New.
1607         (cannot_change_mode_set_regs): Rewrite for htab implementation.
1608         (invalid_mode_change_p): Likewise.
1609         * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
1610         * flow.c (mark_used_regs): Likewise.
1611         (life_analysis): Use init_subregs_of_mode.
1612         * regs.h (subregs_of_mode): Remove.
1613         * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
1614
1615 2004-10-10  Roger Sayle  <roger@eyesopen.com>
1616
1617         PR rtl-optimization/17853
1618         * combine.c (combine_simplify_rtx): Don't attempt any simplifications
1619         of vector mode comparison operators.
1620         * cse.c (fold_rtx): Likewise.
1621         * simplify-rtx.c (simplify_gen_relational):  Avoid calling
1622         simplify_relational_operation with vector mode comparison operators.
1623         (simplify_rtx): Likewise.
1624
1625 2004-10-09  Joseph S. Myers  <joseph@codesourcery.com>
1626
1627         * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
1628         atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
1629         strtoufix16, strtoufix32, strtoufix64): Declare.
1630
1631 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
1632
1633         PR c/16999
1634         * c-ppoutput.c (cb_ident): Don't quote string as it is already
1635         quoted.
1636
1637 2004-10-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
1638
1639         PR target/17245
1640         * config/sparc/sparc.c (input_operand): Remove redundant code
1641         for handling LO_SUM.
1642         (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
1643         <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
1644         Otherwise only accept it for TFmode if quad move insns are available.
1645
1646 2004-10-07  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
1647
1648         PR c++/17115
1649         * tree-inline.c (expand_call_inline): Do not warn for functions
1650         marked with attribute noinline.
1651
1652 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1653
1654         * doc/install.texi (*-*-solaris2*): Fix marker for URL.
1655
1656 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
1657
1658         PR target/17770
1659         * config/mips/mips.md (mov_lwl): Remove hazard=none attribute.
1660
1661 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1662
1663         PR rtl-optimization/17027
1664         Backport from mainline:
1665         * cfglayout.c (fixup_fallthru_exit_predecessor): If the first block
1666         falls through to exit, split it.
1667         * cfgrtl.c (rtl_split_block): If no insn is specified, split on the
1668         first insn in the basic block.
1669
1670 2004-10-06  H.J. Lu  <hongjiu.lu@intel.com>
1671
1672         * doc/invoke.text (freorder-functions): Add a leading `.' to
1673         "text.hot" and "text.unlikely" sections.
1674
1675 2004-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
1676
1677         PR target/16007
1678         * doc/install.texi (*-*-solaris2*): Mention potential problem
1679         with Sun assembler + GNU linker and C++ programs.
1680         Document status of binutils 2.15 release.
1681
1682 2004-10-06  Alan Modra  <amodra@bigpond.net.au>
1683
1684         PR 16406
1685         * doc/tm.texi (LIBGCC_SPEC): Mention modifications.
1686         (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
1687
1688 2004-10-03  Alan Modra  <amodra@bigpond.net.au>
1689
1690         * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
1691         (OS_MISSING_POWERPC64): Move, and comment.
1692         * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
1693         (OS_MISSING_POWERPC64): Move, and comment.
1694
1695 2004-10-01  Nick Clifton  <nickc@redhat.com>
1696
1697         * config/stormy16/stormy16.c (TARGET_BUILD_BUILTIN_VA_LIST_TYPE):
1698         Fix typo in macro name, it should be: TARGET_BUILD_BUILTIN_VA_LIST.
1699
1700 2004-09-30  Richard Henderson  <rth@redhat.com>
1701
1702         * config/alpha/qrnnd.asm: Mark for noexecstack.
1703
1704 2004-09-30  Richard Henderson  <rth@redhat.com>
1705
1706         * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
1707         * doc/tm.texi (DWARF_ZERO_REG): New.
1708
1709         * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
1710         alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
1711         * config/alpha/alpha.h (DWARF_ZERO_REG): New.
1712
1713 2004-09-29  David Edelsohn  <edelsohn@gnu.org>
1714
1715         PR target/17493
1716         Backport from mainline
1717         2004-07-16  Segher Boessenkool  <segher@kernel.crashing.org>
1718         * config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi).
1719
1720 2004-09-28  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
1721
1722         PR target/14064
1723         Backport from mainline
1724         2004-09-01  James E Wilson  <wilson@specifixinc.com>
1725         * config/avr/avr.c (avr_unique_section): Delete prototype and
1726         definition.
1727         (TARGET_ASM_UNIQUE_SECTION): Delete.
1728
1729 2004-09-26  Roger Sayle  <roger@eyesopen.com>
1730
1731         PR other/15526
1732         Backport from mainline
1733         2004-05-20  Falk Hueffner  <falk@debian.org>
1734         * libgcc2.c (__mulvsi3): Fix overflow test.
1735
1736 2004-09-24  Roger Sayle  <roger@eyesopen.com>
1737
1738         PR rtl-optimization/9771
1739         * regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
1740         conditional compilation in init_reg_sets_1.
1741         (init_reg_sets_1): Let global_regs[i] take priority over the frame
1742         (but not stack) pointer exceptions to regs_invalidated_by_call.
1743         (globalize_reg): Globalizing a fixed register may need to update
1744         regs_invalidated_by_call.
1745
1746 2004-09-23  Denis Chertykov  <denisc@overta.ru>
1747
1748         PR target/16884
1749         * config/avr/avr.md ("movmemhi"): Substitute match_dup to
1750         match_scratch.
1751         (*movmemqi_insn): Likewise.
1752         (*movmemhi): Likewise.
1753         (clrmemhi): Likewise.
1754         (*clrmemqi): Likewise.
1755         (*clrmemhi): Likewise.
1756
1757 2004-09-23  H.J. Lu  <hongjiu.lu@intel.com>
1758
1759         PR bootstrap/17369
1760         * Makefile.in (@set_gcc_lib_path@): Added.
1761
1762         * configure.ac: Include ../config/gcc-lib-path.m4. Use
1763         TL_AC_GNU_MAKE_GCC_LIB_PATH.
1764         * configure: Regenerated.
1765
1766 2004-09-23  Joseph S. Myers  <jsm@polyomino.org.uk>
1767
1768         PR c/16566
1769         * c-typeck.c (build_component_ref): Don't special-case
1770         COMPOUND_EXPR.
1771
1772 2004-09-22  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
1773
1774         PR target/15583
1775         * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
1776         builtin_define ("__USE_INIT_FINI__").
1777
1778 2004-09-20  Richard Sandiford  <rsandifo@redhat.com>
1779
1780         PR target/17565
1781         * config/mips/mips.md (define_asm_attributes): Set can_delay to no.
1782
1783 2004-09-15  James E Wilson  <wilson@specifixinc.com>
1784
1785         PR target/17455
1786         * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
1787         if current_function_decl is a sibcall.
1788
1789 2004-09-15  Alan Modra  <amodra@bigpond.net.au>
1790
1791         * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Save
1792         location of CR.
1793         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Ditto.
1794
1795 2004-09-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
1796
1797         * doc/install.texi (sparc-sun-solaris2*): Properly format warning.
1798
1799 2004-09-14  Richard Henderson  <rth@redhat.com>
1800
1801         PR rtl-opt/17186
1802         * function.c (expand_function_end): Revert last change.
1803
1804         * sibcall.c (call_ends_block_p): Fix thinko finding the
1805         last real insn in a block.
1806
1807 2004-09-14  Joseph S. Myers  <jsm@polyomino.org.uk>
1808
1809         PR c/15498
1810         * doc/invoke.texi (Environment Variables): Correct example locale.
1811
1812 2004-09-14  Daniel Jacobowitz  <dan@debian.org>
1813
1814         * reload.c (find_reloads): Swap operand_loc pointers for
1815         find_dummy_reload if we have swapped two operands.
1816
1817 2004-09-13  Richard Henderson  <rth@redhat.com>
1818
1819         PR inline-asm/6806
1820         * cselib.c (cselib_invalidate_rtx): Export.  Remove unused args.
1821         (cselib_invalidate_rtx_note_stores): New.
1822         (cselib_record_sets, cselib_process_insn): Update to match.
1823         * cselib.h (cselib_invalidate_rtx): Declare.
1824         * postreload.c (reload_cse_simplify): Invalidate asm clobbers.
1825
1826 2004-09-11  Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
1827
1828         PR target/11476
1829         * gcc/config/arc/arc.c (arc_va_args): Call build1 instead
1830         of build for unary tree operators.
1831
1832 2004-09-11  Andrew Pinski  <apinski@apple.com>
1833
1834         PR target/17167
1835         backport from the mainline:
1836         2004-02-28  Andrew Pinski  <pinskia@physics.uc.edu>
1837         * config/darwin.h (machopic_finish): Output stub even if
1838         the symbol is already defined.
1839         2004-02-27  Dale Johannesen  <dalej@apple.com>
1840         * config/darwin.c (machopic_output_possible_stub_label):
1841         Remove.
1842         config/darwin-protos.h:  Ditto.
1843         config/darwin.h:  Remove call to it.
1844
1845 2004-09-11  David Edelsohn  <edelsohn@gnu.org>
1846
1847         PR target/17277
1848         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
1849         choose 64-bit version.
1850
1851 2004-09-09  Kaz Kojima  <kkojima@gcc.gnu.org>
1852
1853         PR 15886
1854         Backport from mainline:
1855         2004-06-11  J"orn Rennecke <joern.rennecke@superh.com>
1856
1857         * sh.h (ALLOCATE_INITIAL_VALUE): Use return_address_pointer_rtx.
1858
1859 2004-09-09  Alan Modra  <amodra@bigpond.net.au>
1860
1861         * config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
1862         save_size.
1863
1864 2004-09-08  H.J. Lu  <hongjiu.lu@intel.com>
1865
1866         * configure: Regenerated.
1867
1868 2004-09-08  Richard Henderson  <rth@redhat.com>
1869
1870         PR rtl-opt/17186
1871         * function.c (expand_function_end): Have fall-off-the-end
1872         return path jump around return register setup.
1873
1874 2004-09-08  H.J. Lu  <hongjiu.lu@intel.com>
1875
1876         PR target/14925:
1877         Makefile.in (LIB2ADDEHSTATIC): New.
1878         (LIB2ADDEHSHARED): New.
1879         (LIBUNWIND): New.
1880         (LIBUNWINDDEP): New.
1881         (SHLIBUNWIND_LINK): New.
1882         (SHLIBUNWIND_INSTALL): New.
1883         (libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
1884         LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
1885         (clean): Remove libunwind*
1886         (stage1-start): Remove and copy stage1/libunwind*.
1887         (stage2-start): Remove and copy stage2/libunwind*.
1888         (stage3-start): Remove and copy stage3/libunwind*.
1889         (stage4-start): Remove and copy stage4/libunwind*.
1890         (stageprofile-start): Remove and copy stageprofile/libunwind*.
1891         (stagefeedback-start): Remove and copy stagefeedback/libunwind*.
1892
1893         * config.gcc (ia64*-*-linux*): Always add t-libunwind to
1894         tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
1895         tmake_file if --with-system-libunwind isn't used.
1896
1897         * config/ia64/t-glibc-libunwind: New file.
1898         * config/t-libunwind-elf: Likewise.
1899         * unwind-compat.c: Likewise.
1900         * unwind-compat.h: Likewise.
1901         * unwind-dw2-fde-compat.c: Likewise.
1902
1903         * config/ia64/t-glibc (LIB2ADDEH): Updated.
1904         * config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
1905
1906         * config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
1907         aliases if needed.
1908         * unwind-dw2-fde-glibc.c: Likewise.
1909         * unwind-dw2.c: Likewise.
1910
1911         * config/t-libunwind (LIB2ADDEH): Updated.
1912         (LIB2ADDEHSTATIC): New.
1913         (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
1914         (TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
1915
1916         * configure.ac: Change --enable-libunwind-exceptions to
1917         --with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
1918         * configure: Regenerated.
1919         * config.in: Updated.
1920
1921         * doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
1922         above and mention --with-system-libunwind.
1923         (ia64-*-hpux*): Mention --enable-libunwind-exceptions is
1924         removed in gcc 3.4.3 and later.
1925
1926         * gcc.c (init_spec): Add -lunwind to -lgcc_s if
1927         USE_LIBUNWIND_EXCEPTIONS is defined.
1928
1929         * mklibgcc.in: Support libunwind.
1930
1931 2004-09-07  Mark Mitchell  <mark@codesourcery.com>
1932
1933         * version.c (version_string): Restore pre-release marker.
1934         * doc/include/gcc-common.texi: Set version to 3.4.3.
1935
1936 2004-09-06  Release Manager
1937
1938         * GCC 3.4.2 released.
1939
1940 2004-09-05  Mark Mitchell <mark@codesourcery.com>
1941
1942         PR bootstrap/17325
1943         Backport from mainline
1944         2004-06-23  Wu Yongwei  <adah@sh163.net>
1945         * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
1946         (__gthr_i486_lock_cmp_xchg): New inline assembly function.
1947         (__GTHR_W32_InterlockedCompareExchange): New macro to choose a
1948         suitable function for interlocked compare-and-exchange.
1949         (__gthread_mutex_trylock): Use
1950         __GTHR_W32_InterlockedCompareExchange.
1951         (__gthread_mutex_init_function, __gthread_mutex_lock,
1952         __gthread_mutex_trylock, __gthread_mutex_unlock): Adjust the
1953         initial counter value to work correctly under Windows 95.
1954         * config/i386/gthr-win32.c: Adjust include order.
1955         Define __GTHREAD_I486_INLINE_LOCK_PRIMITIVES before including
1956         gthr-win32.h.
1957         (__gthr_win32_mutex_init_function, __gthr_win32_mutex_lock,
1958         __gthr_win32_mutex_trylock, __gthr_win32_mutex_unlock): Adjust
1959         to match inline versions in gthr-win32.h.
1960
1961         2004-04-27  Wu Yongwei  <adah@sh163.net>
1962         * gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
1963         (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
1964         (__gthread_mutex_init_function): Replace CreateMutex with
1965         initialization of custom mutex using CreateSemaphore.
1966         (__gthread_mutex_lock): Use InterlockedIncrement.
1967         (__gthread_mutex_trylock): Use InterlockedCompareExchange.
1968         (__gthread_mutex_unlock): Use InterlockedDecrement and
1969         ReleaseSemaphore to unlock
1970         * config/i386/gthr-win32.c (__gthread_mutex_init_function,
1971         __gthread_mutex_lock, __gthread_mutex_trylock,
1972         __gthread_mutex_unlock): Adjust to match inline versions in
1973         gthr-win32.h.
1974
1975 2004-09-03  Kaz Kojima  <kkojima@gcc.gnu.org>
1976
1977         PR target/17303
1978         Backport from mainline:
1979         2004-08-31  Kaz Kojima  <kkojima@gcc.gnu.org>
1980
1981         * config/sh/sh.c (output_branch): Check the insn length possibly
1982         in the delayed slot.
1983
1984 2004-09-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1985
1986         PR rtl-optimization/16408
1987         * gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes.
1988
1989 2004-09-01  Richard Henderson  <rth@redhat.com>
1990
1991         * config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
1992         (TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
1993
1994 2004-09-01  Jakub Jelinek  <jakub@redhat.com>
1995
1996         * libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup.
1997
1998 2004-09-01  Jakub Jelinek  <jakub@redhat.com>
1999
2000         * fold-const.c (operand_equal_p): Require equal sign also for
2001         FIX_{CEIL,TRUNC,FLOOR,ROUND}_EXPR.
2002
2003 2004-08-31  Jeff Law  <law@redhat.com>
2004
2005         * gcse.c (remove_reachable_equiv_notes): Scan loops where
2006         the store expression is killed for REG_EQUAL/REG_EQUIV notes
2007         that need to be removed.
2008
2009 2004-08-30  Mark Mitchell  <mark@codesourcery.com>
2010
2011         Revert:
2012         2004-08-29  Mark Mitchell  <mark@codesourcery.com>
2013         PR rtl-optimization/16590
2014         * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
2015
2016 2004-08-29  Mark Mitchell  <mark@codesourcery.com>
2017
2018         PR rtl-optimization/16590
2019         * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
2020
2021 2004-08-26  Richard Henderson  <rth@redhat.com>
2022
2023         * config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
2024         modes.
2025
2026 2004-08-26  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2027
2028         PR target/17119.
2029         * config/m32r.c (gen_compare): Use reg_or_int16_operand when
2030         checking for a valid constant, regardless of sign.
2031
2032 2004-08-25  Richard Henderson  <rth@redhat.com>
2033
2034         PR target/16974
2035         * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
2036         if the constant satisfies add_operand.
2037
2038 2004-08-25  Richard Henderson  <rth@redhat.com>
2039
2040         PR debug/10695
2041         * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
2042         (alpha_expand_prologue): Handle >32-bit frames.  Generate proper
2043         unwind info for >16-bit frames.
2044
2045 2004-08-25  Richard Henderson  <rth@redhat.com>
2046
2047         * config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
2048         (TARGET_CANNOT_FORCE_CONST_MEM): New.
2049
2050 2004-08-25  Richard Earnshaw  <rearnsha@arm.com>
2051
2052         PR target/15927
2053         * arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary
2054         reload if CLASS is BASE_REGS.
2055
2056 2004-08-25  Richard Earnshaw  <rearnsha@arm.com>
2057
2058         * PR target/15948
2059         * arm.md (bicsi3_cbranch): Add alternative to handle tying operands
2060         one and two.
2061
2062 2004-08-24  Richard Henderson  <rth@redhat.com>
2063
2064         PR target/16298
2065         * config/i386/i386.c (legitimate_constant_p): Rework to not accept
2066         random codes within CONST.
2067
2068 2004-08-24  Paolo Bonzini  <bonzini@gnu.org>
2069
2070         PR target/17113
2071         * config/i386/i386.md (movv16qi_internal): Fix typo.
2072
2073 2004-08-24  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2074
2075         PR target/17093
2076         * config/m32r/m32r.md (movsi_sda): Add SI mode specification to
2077         UNSPEC.
2078
2079 2004-08-24  Jonathan Wakely  <redi@gcc.gnu.org>
2080
2081         * doc/trouble.texi (C++ misunderstandings): Fix example code.
2082
2083 2004-08-23  Roger Sayle  <roger@eyesopen.com>
2084
2085         PR rtl-optimization/17078
2086         * c-semantics.c (expand_unreachable_if_stmt): If the end of the
2087         specified statement list is reachable, always return a non-NULL
2088         pointer.  If necessary, return error_mark_node.
2089
2090 2004-08-23  Mark Mitchell  <mark@codesourcery.com>
2091
2092         PR c/14492
2093         * dwarf2out.c (loc_descriptor_from_tree): Robustify.
2094
2095         PR c/16180
2096         * jump.c (duplicate_loop_exit_test): If the location reached by
2097         the unconditional jump at the top of the loop is outside the loop,
2098         then do not treat it as the exit test.
2099
2100 2004-08-23  Janis Johnson  <janis187@us.ibm.com>
2101
2102         Backports from mainline:
2103
2104         2004-02-11  Ziemowit Laski  <zlaski@apple.com>
2105         2004-02-21  Ziemowit Laski  <zlaski@apple.com>
2106         2004-02-27  Ziemowit Laski  <zlaski@apple.com>
2107         2004-03-04  Ziemowit Laski  <zlaski@apple.com>
2108         2004-03-20  Ziemowit Laski  <zlaski@apple.com>
2109         2004-03-24  Ziemowit Laski  <zlaski@apple.com>
2110         2004-05-11  Fariborz Jahanian <fjahanian@apple.com>
2111         2004-07-23  Janis Johnson  <janis187@us.ibm.com>
2112         2004-08-12  Janis Johnson  <janis187@us.ibm.com>
2113         2004-08-12  Ben Elliston <bje@au.ibm.com>
2114         2004-08-16  Janis Johnson  <janis187@us.ibm.com>
2115
2116         * c-common.c (vector_size_helper): Remove; call
2117         reconstruct_complex_type() instead.
2118         * hooks.c (hook_constcharptr_tree_null): New hook.
2119         * hooks.h (hook_constcharptr_tree_null): New prototype.
2120         * target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
2121         * target.h (mangle_fundamental_type): New target hook.
2122         * tree.c (reconstruct_complex_type): New function
2123         (formerly vector_size_helper() in c-common.c).
2124         (make_vector): Make externally visible.
2125         * tree.h (reconstruct_complex_type, make_vector): Add prototypes.
2126         * doc/extend.texi (AltiVec builtins): Document additional differences
2127         from the Motorola AltiVec PIM.
2128         * doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
2129         * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
2130         SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
2131         * config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
2132         * config/rs6000/altivec.h: #error out if '-maltivec' not specified.
2133         (vector, pixel, bool): #define to __vector, __pixel and __bool.
2134         Change vector to __vector (except for the `vector' macro itself).
2135         (__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
2136         portion of header.
2137         (__altivec_link_error_invalid_argument): Remove prototype; will use
2138         __builtin_altivec_compiletime_error("vec_*") instead.
2139         (vec_*): Fix/complete set of available operation overloads given the
2140         existence of distinct 'vector bool ...' and 'vector pixel' types;
2141         tighten cv-correctness of pointer arguments; in C, always check for
2142         correct argument types before macro expansion.
2143         (vec_splat_s8, vec_splat_s16, vec_splat_s32, vec_splat_u8,
2144         vec_splat_u16, vec_splat_u32): Change C++ definitions to accept a
2145         'const int' argument; the prototypes already do.
2146         (vec_dst, vec_dstst, vec_dststt, vec_dstt, vec_sld, vec_splat): Add
2147         prototypes, marked with always_inline attribute.
2148         * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
2149         defining Darwin/PowerPC-specific '-f[no-]altivec' and
2150         '-W[no-]altivec-long-deprecated' switches.
2151         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Pre-define
2152         '__vector', '__pixel' and '__bool' macros using
2153         '__attribute__((altivec(...)))' types.
2154         * config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
2155         bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
2156         bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
2157         New type nodes.
2158         (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
2159         handling '-W[no-]altivec-long-deprecated'.
2160         (rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
2161         (rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
2162         altivec_expand_dst_builtin): Remove casts from integer literals.
2163         (altivec_expand_builtin): Likewise; handle expansion of new
2164         '__builtin_altivec_compiletime_error' function.
2165         (rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
2166         types, and make them distinct from other vector types; register
2167         '__builtin_altivec_compiletime_error' function.
2168         (print_operand): For 'P', print a full target register name instead of
2169         merely its number.
2170         (rs6000_attribute_table): Add "altivec" attribute.
2171         (rs6000_handle_altivec_attribute): New function.
2172         (rs6000_common_init_builtins): Rename v4si_ftype_char, v8hi_ftype_char,
2173         v16qi_ftype_char, v4sf_ftype_v4si_char, v4si_ftype_v4sf_char,
2174         v4si_ftype_v4si_char, v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
2175         v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
2176         v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
2177         end in ..._int; change them to accept an int instead of a char
2178         as the last parameter.
2179         (altivec_expand_dst_builtin): Treat expansion as completed even if
2180         literal argument is invalid (so that other expansions are not tried
2181         in vain).
2182         (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point target hook at
2183         rs6000_mangle_fundamental_type.
2184         (rs6000_mangle_fundamental_type): New function.
2185         * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
2186         '-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
2187         maps to).
2188         (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
2189         declare.
2190         (ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
2191
2192 2004-08-20  Jakub Jelinek  <jakub@redhat.com>
2193
2194         PR target/16195
2195         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make r30
2196         fixed if TARGET_TOC && TARGET_MINIMAL_TOC.
2197         * config/rs6000/rs6000.c (first_reg_to_save): Pretend
2198         call_used_regs[30] is 0 if TARGET_TOC && TARGET_MINIMAL_TOC.
2199         (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
2200
2201 2004-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
2202
2203         * c-decl.c (grokdeclarator): Allow for function definition where
2204         innermost declarator has attributes.
2205
2206 2004-08-17  Daniel Bornstein  <danfuzz@milk.com>
2207
2208         PR target/17019
2209         * arm.md (addsi3_cbranch_scratch): Correct case labels.
2210
2211 2004-08-14  Roger Sayle  <roger@eyesopen.com>
2212             David Billinghurst  <David.Billinghurst@riotinto.com>
2213
2214         PR libgfortran/15930
2215         * fixinc/inclhack.def (irix___generic1, irix___generic2): New.
2216         * fixinc/fixincl.x: Regenerate.
2217         * fixinc/tests/base/internal/math_core.h: New file
2218
2219 2004-08-14  Roger Sayle  <roger@eyesopen.com>
2220             Bruce Korb  <bkorb@gnu.org>
2221
2222         * fixinc/inclhack.def (aix_syswait_2): New fix.
2223         * fixinc/fixincl.x: Regenerate.
2224         * fixinc/tests/base/sys/wait.h: Update for new test.
2225
2226 2004-08-14  Gerald Pfeifer  <gerald@pfeifer.com>
2227             Dimitri Papadopoulos-Orfanos  <papadopo@shfj.cea.fr>
2228             Dave Korn  <dk@artimi.com>
2229
2230         * doc/install.texi (Building): Avoid duplicate reference to GNU
2231         make requirement.
2232         (*-*-solaris2*): Do not recommend GNU make any longer.  Simplify.
2233
2234 2004-08-13  J"orn Rennecke <joern.rennecke@superh.com>
2235
2236         * sh.md (cbranch define_delay) Use cond_delay_slot for
2237         non-anulled condition too.
2238
2239 2004-08-11  Mark Mitchell  <mark@codesourcery.com>
2240
2241         PR c++/16618
2242         * ginclude/stddef.h (offsetof): Refine C++ definition.
2243
2244 2004-08-12  Alan Modra  <amodra@bigpond.net.au>
2245
2246         Merge from mainline.
2247         2004-07-01  Alan Modra  <amodra@bigpond.net.au>
2248         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Rewrite.
2249         (function_arg): Use rs6000_arg_size rather than CLASS_MAX_NREGS in
2250         calculating gpr size for altivec.  Simplify and correct
2251         rs6000_mixed_function_arg calls.  Call rs6000_mixed_function_arg
2252         for ABI_V4 gpr case too.  Fix off-by-one error in long double
2253         reg test.  Generate the correct PARALLEL to handle long double
2254         for ABI_AIX 32-bit.  Use this for -m32 -mpowerpc64 fpr case too.
2255         (function_arg_partial_nregs): Align before calculating regs left.
2256         Don't return info on partial fprs when we need info on gprs.
2257         Correct long double fpr off-by-one error.
2258
2259 2004-08-11  James E Wilson  <wilson@specifixinc.com>
2260
2261         PR rtl-optimization/16490
2262         * cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
2263         global_live_at_end for new basic block if already set for other blocks.
2264
2265 2004-08-07  Roger Sayle  <roger@eyesopen.com>
2266
2267         PR middle-end/16790
2268         * fold-const.c (expand_muldiv_1) <NOP_EXPR>: Disallow local
2269         truncations, not just global truncations.
2270
2271 2004-08-07  Alan Modra  <amodra@bigpond.net.au>
2272
2273         * config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28.
2274
2275 2004-08-04  Zack Weinberg  <zack@codesourcery.com>
2276
2277         PR 13956
2278         * dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
2279         functions, broken out of dbxout_block.
2280         (dbxout_block): The block at depth 0 should get LBRAC/RBRAC
2281         stabs too, if it contains symbols.  Use the begin_label and
2282         the Lscope label (emitted by dbxout_function_end) for the
2283         range of this block.
2284         (dbxout_function_decl): Always call dbxout_function_end.
2285         (dbxout_function_end): Return after emitting the "Lscope" symbol
2286         under the same conditions that this function formerly wasn't called.
2287         Add explanatory comments.
2288
2289 2004-08-03  Yossi Markovich <yossim@il.ibm.com>
2290             Mostafa Hagog <mustafa@il.ibm.com>
2291
2292         * config/rs6000/altivec.md (altivec_vnmsubfp): Fix wrong pattern.
2293
2294 2004-07-31  Andrew Pinski  <apinski@apple.com>
2295
2296         PR other/16842
2297         * mkheaders.in (libsubdir): s/gcc-lib/gcc/.
2298
2299 2004-07-28  Aldy Hernandez  <aldyh@redhat.com>
2300
2301         * config/rs6000/rs6000.md ("move_from_CR_gt_bit"): Rename to
2302         move_from_CR_eq_bit.
2303         Rename UNSPEC_MV_CR_GT to UNSPEC_MV_CR_EQ.
2304
2305
2306         * config/rs6000/spe.md ("e500_flip_gt_bit"): Rename to
2307         e500_flip_eq_bit.
2308
2309         * config/rs6000/rs6000-protos.h: Rename output_e500_flip_gt_bit to
2310         output_e500_flip_eq_bit.
2311
2312         * config/rs6000/rs6000.c (output_e500_flip_gt_bit): Rename to
2313         output_e500_flip_eq_bit.
2314         (rs6000_emit_sCOND): Rename call to output_e500_flip_gt_bit to
2315         output_e500_flip_eq_bit.
2316         Rename gen_move_from_CR_gt_bit to gen_move_from_CR_eq_bit.
2317         (print_operand): case D.  Get to EQ bit.
2318
2319 2004-07-28  Alan Modra  <amodra@bigpond.net.au>
2320
2321         * config/rs6000/rs6000.c (function_arg_padding): Pad SFmode upwards.
2322
2323 2004-07-24  Alexander Kabaev  <kan@freebsd.org>
2324
2325         * config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing.
2326         (EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS.
2327
2328 2004-07-26  David Edelsohn  <edelsohn@gnu.org>
2329
2330         PR target/16239
2331         * config/rs6000/rs6000.md (movdi_internal64): Further disparage
2332         f->f.
2333
2334 2004-07-26  Richard Sandiford  <rsandifo@redhat.com>
2335
2336         PR rtl-optimization/16643
2337         * cfglayout.h (cfg_layout_initialize): Add a flags parameter.
2338         * cfglayout.c (cfg_layout_initialize): Pass it to cleanup_cfg.
2339         * basic-block.h (reorder_basic_blocks): Add a flags parameter.
2340         * cfglayout.c (reorder_basic_blocks): Pass it to cfg_layout_initialize.
2341         * loop-init.c (loop_optimizer_init): Pass 0 to cfg_layout_initialize.
2342         * rtl.h (tracer): Add a flags parameter.
2343         * tracer.c (tracer): Pass it to cfg_layout_initialise.
2344         * toplev.c (rest_of_handle_stack_regs): Pass 0 to reorder_basic_blocks.
2345         (rest_of_handle_reorder_blocks): Update calls to tracer and
2346         reorder_basic_blocks, passing CLEANUP_UPDATE_LIFE if appropriate.
2347         (rest_of_handle_tracer): Pass 0 to tracer.
2348
2349 2004-07-24  Zack Weinberg  <zack@codesourcery.com>
2350
2351         * config/ia64/hpux.h: Do not disable TLS.
2352
2353 2004-07-24  Alexander Kabaev  <kan@freebsd.org>
2354             Zack Weinberg  <zack@codesourcery.com
2355
2356         PR 16684
2357         * c-decl.c (diagnose_mismatched_decls): Don't issue a
2358         redundant-declaration warning the first time a builtin is
2359         declared explicitly.
2360
2361 2004-07-21  Jakub Jelinek  <jakub@redhat.com>
2362             Jan Hubicka  <jh@suse.cz>
2363
2364         PR middle-end/15345
2365         PR c/16450
2366         * toplev.c (rest_of_handle_inlining): Set DECL_DEFER_OUTPUT on C
2367         nested functions as well.
2368         * tree-optimize.c (tree_rest_of_compilation): Don't clear decl rtls
2369         for deferred nested inlines.
2370
2371 2004-07-17  Eric Botcazou  <ebotcazou@act-europe.fr>
2372
2373         * libgcc2.c (__enable_execute_stack): New symbol.
2374         * libgcc-std.ver (GCC_3.4.2): New version.  Inherit from GCC_3.4
2375         and declare __enable_execute_stack.
2376         * mklibgcc.in (lib2funcs): Add _enable_execute_stack.
2377         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy.
2378         * config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into
2379         ENABLE_EXECUTE_STACK and ANSIfy.
2380         * config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize
2381         on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
2382         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into
2383         ENABLE_EXECUTE_STACK.
2384         * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
2385         * config/i386/i386.c (x86_initialize_trampoline): Conditionalize
2386         on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
2387         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into
2388         ENABLE_EXECUTE_STACK.
2389         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
2390         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
2391         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
2392         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
2393         * config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize
2394         on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
2395         (sparc64_initialize_trampoline): Likewise.
2396         * doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro.
2397
2398 2004-07-16  Andris Pavenis  <pavenis@latnet.lv>
2399
2400         PR preprocessor/16366
2401         * internal.h (struct cpp_reader): New field dir_hash.
2402         * files.c (make_cpp_dir): Use dir_hash, not file_hash.
2403         (_cpp_init_files, _cpp_cleanup_files): Update for new field.
2404
2405 2004-07-15  James E Wilson  <wilson@specifixinc.com>
2406
2407         Backport from mainline:
2408         2004-02-19  Steve Ellcey  <sje@cup.hp.com>
2409         * config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
2410         * testsuite/gcc.dg/20040219-1.c: New test.
2411
2412 2004-07-15  Aldy Hernandez  <aldyh@redhat.com>
2413
2414         * config/rs6000/rs6000.md ("*cceq_ior_compare"): Allow
2415         unconditionally.
2416         * config/rs6000/spe.md ("e500_cceq_ior_compare"): Remove.
2417
2418 2004-07-14  James E Wilson  <wilson@specifixinc.com>
2419
2420         PR target/16325
2421         * config/mips/mips.h (STARTING_FRAME_OFFSET): When flag_profile_value
2422         and ! TARGET_64BIT, include REG_PARM_STACK_SPACE.
2423
2424 2004-07-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
2425
2426         Backport from mainline:
2427         2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2428
2429         PR target/13926
2430         * config/sparc/sparc-protos.h (output_ubranch): New prototype.
2431         * config/sparc/sparc.c (output_ubranch): New function.
2432         * config/sparc/sparc.md (jump pattern): Use it.
2433
2434 2004-07-13  Richard Sandiford  <rsandifo@redhat.com>
2435
2436         PR rtl-optimization/16380
2437         * loop.c (check_dbra_loop): Sink comparison instructions if they
2438         do something other than set cc0.
2439
2440 2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2441
2442         PR target/16494
2443         * config/sparc/sparc.c (output_cbranch): Properly guard
2444         the code handling far branches with TARGET_V9.
2445         * config/sparc/sparc.md (length attribute): Document the
2446         side-effect of having a length greater or equal to 3.
2447
2448 2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2449             Lloyd Parkes  <lloyd@must-have-coffee.gen.nz>
2450
2451         PR target/15186
2452         * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Pass
2453         /usr/ucblib/sparcv9 as -R path when -compat-bsd is specified.
2454
2455 2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2456             Martin Sebor  <sebor@roguewave.com>
2457
2458         PR target/12602
2459         * doc/invoke.texi (SPARC options): Document -threads
2460         and -pthreads on Solaris.
2461
2462 2004-07-13  Anthony Heading  <aheading@jpmorgan.com>
2463
2464         * configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo.
2465         * configure: Rebuilt.
2466
2467 2004-07-12  Vladimir Makarov  <vmakarov@redhat.com>
2468
2469         PR target/16445
2470         * config/ia64/ia64.c (bundling): Don't count ignored insns.
2471
2472 2004-07-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2473
2474         * pa.c (output_indirect_call): Only use %r2 as the link register in
2475         indirect calls with the long PA 2.0 pc-relative branch.
2476
2477 2004-07-10  James E Wilson  <wilson@specifixinc.com>
2478
2479         * config/gofast.h (gofast_maybe_init_libfuncs): Use SImode for litodp.
2480
2481 2004-07-10  Jakub Jelinek  <jakub@redhat.com>
2482
2483         * Backport from mainline:
2484         2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
2485                     Jakub Jelinek  <jakub@redhat.com>
2486
2487         * config/i386/i386.c (override_options): Enable
2488         SSE prefetches with -mtune, as long as we are
2489         compiling for i686 or higher.  All i686 processors
2490         accept SSE prefetches as NOPS, some i586's don't.
2491
2492         2004-07-07  Jakub Jelinek  <jakub@redhat.com>
2493
2494         * config/i386/i386.c (override_options): Don't set x86_prefetch_sse
2495         from -mtune= option.
2496
2497 2004-07-10  Jakub Jelinek  <jakub@redhat.com>
2498
2499         PR tree-optimization/16372
2500         * fold-const.c (build_range_check): Use TYPE_MODE's precision for
2501         enumerals.
2502
2503 2004-07-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2504
2505         PR target/16459
2506         * pa.c (output_indirect_call): Use %r2 as the link register when
2507         calling $$dyncall with a pc-relative branch.
2508
2509 2004-07-08  Gerald Pfeifer  <gerald@pfeifer.com>
2510
2511         * doc/install.texi (Binaries): Mention OpenPKG.
2512
2513 2004-07-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
2514
2515         PR target/16416
2516         * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): New macro.
2517         Override default settings to account for -m32 and -m64.
2518
2519 2004-07-08  Vladimir Makarov  <vmakarov@redhat.com>
2520
2521         PR target/16414
2522         * config/ia64/ia64.c (ia64_dfa_new_cycle): Fix typo in comparison
2523         of asm_noperands result.
2524
2525 2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
2526
2527         PR target/16430
2528         * config/sparc/sparc.c (function_value): In 64-bit mode,
2529         return the aggregates larger than 16 bytes like unions.
2530
2531 2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
2532
2533         PR target/16199
2534         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): When
2535         'temp' is zero, generate new pseudos as needed and emit the
2536         sequence of insns in single-assignment form.  Resync comments
2537         with code.
2538         (sparc_emit_set_const64): Pass zero as 'temp' argument to above
2539         function before reload.
2540
2541 2004-07-07  Richard Sandiford  <rsandifo@redhat.com>
2542
2543         PR target/16407
2544         * config/mips/mips-protos.h (mips_declare_common_object): Declare.
2545         * config/mips/mips.c (mips_declare_common_object): New function,
2546         mostly split out from...
2547         (mips_output_aligned_decl_common): ...here.
2548         * config/mips/mips.h (ASM_OUTPUT_LOCAL): Remove in favor of...
2549         (ASM_OUTPUT_ALIGNED_LOCAL): ...this new definition.
2550         * config/mips/iris6.h (ASM_OUTPUT_ALIGNED_LOCAL): Undefine this
2551         rather than ASM_OUTPUT_LOCAL.  Call mips_declare_common_object.
2552
2553 2004-07-07  Jason Merrill  <jason@redhat.com>
2554
2555         PR c++/15815
2556         * doc/extend.texi (C++ Interface): Correct information and
2557         discourage use.
2558
2559 2004-07-07  Andreas Schwab  <schwab@suse.de>
2560
2561         * config/ia64/ia64.md: Define new attribute "empty".
2562         (prologue_use, nop_x, insn_group_barrier): Set it.
2563
2564         * config/ia64/ia64.c (ia64_reorg): When looking for trailing call
2565         skip over "empty" insns.
2566
2567 2004-07-07  Vladimir Makarov  <vmakarov@redhat.com>
2568
2569         PR target/16130
2570         PR target/16142
2571         PR target/16143
2572         * config/ia64/ia64.c (ia64_dfa_new_cycle): Reset DFA state for asm
2573         insn.
2574
2575 2004-07-06  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2576
2577         PR target/1679.
2578         * config/m32r/m32r.c (m32r_function_symbol): New function:
2579         Generate a symbol name RTX with the correct m32r specific flags
2580         set.
2581         (block_move_call): Use new function to generate correct symbol.
2582         * config/m32r/m32r-protos.h: Add prototype for new funcion.
2583         * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use the new
2584         function.
2585
2586 2004-07-07  Richard Sandiford  <rsandifo@redhat.com>
2587
2588         PR target/16357
2589         * config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs
2590         to mips_expand_unaligned_load, mips_expand_unaligned_store, and
2591         move_by_pieces.
2592
2593 2004-07-07  Richard Sandiford  <rsandifo@redhat.com>
2594
2595         PR target/15869
2596         * config/mips/mips.c (mips_avoid_hazards): Call split_all_insns_noflow.
2597
2598 2004-07-06  Mark Mitchell  <mark@codesourcery.com>
2599
2600         * doc/include/gcc-common.texi: Increment version number.
2601         * version.c (version_string): Likewise.
2602
2603 2004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
2604
2605         * doc/sourcebuild.texi: Use semicolons instead of commas in
2606         section title.
2607
2608 2004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
2609
2610         * doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi,
2611         doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi,
2612         doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
2613         doc/portability.texi, doc/trouble.texi: Avoid some first-person
2614         references and patronizing comments.  Based on printed manual.
2615         * doc/invoke.texi: Don't reference fortran@gnu.org.
2616         * doc/trouble.texi (Warning when a non-void function value is
2617         ignored): Rewrite.  From Russ Allbery and Chris Devers.
2618
2619 2004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
2620
2621         * doc/cppinternals.texi, doc/install.texi, doc/invoke.texi,
2622         doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi:
2623         Use terminology "testsuite" and "enumerated".
2624
2625 2004-07-06  Eric Christopher  <echristo@redhat.com>
2626
2627         PR rtl-optimization/14700
2628         Backport from mainline:
2629         2004-06-30  Zack Weinberg  <zack@codesourcery.com>
2630         * combine.c (distribute_notes): Don't look at global_regs for
2631         pseudos.
2632
2633         2004-06-24  Eric Christopher  <echristo@redhat.com>
2634         * combine.c (distribute_notes): Don't delete sets to
2635         global register variables.
2636
2637 2004-07-04  Gerald Pfeifer  <gerald@pfeifer.com>
2638
2639         * doc/contrib.texi (Contributors): Adjust link for GNU Classpath.
2640
2641 2004-07-01  Release Manager
2642
2643         * GCC 3.4.1 released.
2644
2645 2004-06-28  Neil Booth  <neil@duron.akihabara.co.uk>
2646
2647         PR preprocessor/16192
2648         PR preprocessor/15913
2649         PR preprocessor/15572
2650         * cppexp.c (_cpp_parse_expr): Handle remaining cases where an
2651         expression is missing.
2652         * cppinit.c (post_options): Traditional cpp doesn't do // comments.
2653         * doc/cpp.texi: Don't document what we do for ill-formed expressions.
2654         * doc/cppopts.texi: Clarify processing of command-line defines.
2655
2656 2004-06-28  Richard Sandiford  <rsandifo@redhat.com>
2657
2658         PR target/16176
2659         * config/mips/mips.c (mips_expand_unaligned_load): Use a temporary
2660         register for the destination of the lwl or ldl.
2661
2662 2004-06-25  Philip Blundell  <philb@gnu.org>
2663
2664         PR wrong-code/15089
2665         * loop.c (scan_loop): Do not move user-specified register
2666         assignments.
2667
2668 2004-06-25  Mark Mitchell  <mark@codesourcery.com>
2669
2670         PR wrong-code/16129
2671         * alias.c (get_alias_set): Adjust setting of
2672         DECL_POINTER_ALIAS_SET for pointers to aggregates.
2673
2674 2004-06-25  Richard Sandiford  <rsandifo@redhat.com>
2675
2676         PR target/16144
2677         * config/mips/mips.md (divsf, divdf): Don't FAIL if the first operand
2678         is 1.0; force it into a register instead.
2679
2680 2004-06-24  Alan Modra  <amodra@bigpond.net.au>
2681
2682         * calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and
2683         pass raw n_named_args to it.
2684
2685 2004-06-22  Richard Henderson  <rth@redhat.com>
2686
2687         PR middle-end/16026
2688         * function.c (assign_parms): Don't abort for overaligned PARALLEL.
2689
2690 2004-06-21  Kelley Cook  <kcook@gcc.gnu.org>
2691
2692         PR target/15551
2693         * config/i386/i386.md: Change UNSPEC_STACK_PROBE to UNSPECV_STACK_PROBE.
2694         (allocate_stack_worker): Make unspec_volatile.
2695         (allocate_stack_worker_rex64):  Likewise.
2696         (allocate_stack_worker_postreload):  Likewise.
2697         (allocate_stack_worker_rex64_postreload):  Likewise.
2698
2699 2004-06-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2700
2701         PR rtl-optimization/14782
2702         * pa.c (emit_move_sequence): Use SFmode for 4-byte modes when doing
2703         the address checks for secondary reloads for loads from and stores
2704         to floating-point registers.
2705         * pa.h (EXTRA_CONSTRAINT, case T): Use SFmode for 4-byte modes
2706         in the address check.  Move work around for ELF32 targets to
2707         GO_IF_LEGITIMATE_ADDRESS.
2708         (GO_IF_LEGITIMATE_ADDRESS): Require constant offsets to be
2709         correctly aligned for DImode loads and stores.  Don't allow long
2710         SFmode displacements on ELF32.
2711
2712 2004-06-21  Richard Henderson  <rth@redhat.com>
2713
2714         PR rtl-opt/16114
2715         * cse.c (merge_equiv_classes): Also rehash in response to
2716         delete_reg_equiv changes.
2717         (rehash_using_reg): Don't exclude REGs from rehashing.
2718
2719 2004-06-21  Richard Sandiford  <rsandifo@redhat.com>
2720
2721         PR rtl-optimization/15159
2722         * tree.c (unsafe_for_reeval): Return 2 for TRY_CATCH_EXPRs.
2723
2724 2004-06-19  Richard Henderson  <rth@redhat.com>
2725
2726         PR target/15941
2727         * function.c (assign_parms): If not padding upward or intentionally
2728         forcing upward padding, take offset_rtx into account when determining
2729         the alignment for stack_parm.
2730
2731 2004-06-19  Richard Henderson  <rth@redhat.com>
2732
2733         PR target/15550
2734         * ifcvt.c (noce_try_move): Recognize all generated instructions.
2735
2736 2004-06-19  Andrew Pinski  <pinskia@physics.uc.edu>
2737
2738         PR target/10129
2739         * config/darwin.c (darwin_encode_section_info): When the decl has
2740         a DECL_INITIAL, it is only defined also when it is not a common.
2741
2742 2004-06-17  Zack Weinberg  <zack@codesourcery.com>
2743
2744         Bug 14610
2745         * Makefile.in (min-insn-modes.o): Correct dependencies.
2746         * real.c (encode_ieee_extended, decode_ieee_extended): Always
2747         produce/consume 12-byte little-endian Intel format.
2748         (encode_ieee_extended_128, decode_ieee_extended_128): Delete.
2749         (encode_ieee_extended_motorola, decode_ieee_extended_motorola)
2750         (encode_ieee_extended_intel_96, decode_ieee_extended_intel_96)
2751         (encode_ieee_extended_intel_128, decode_ieee_extended_intel_128):
2752         New functions which convert between 12-byte little-endian Intel
2753         format and the desired format.
2754         (ieee_extended_motorola_format, ieee_extended_intel_96_round_53_format)
2755         (ieee_extended_intel_96_format, ieee_extended_intel_128_format):
2756         Update.
2757
2758 2004-06-16  James E Wilson  <wilson@specifixinc.com>
2759
2760         PR c++/14808
2761         * config/i386/cygwin.h (TARGET_IS_PE_COFF): Delete duplicate macro.
2762
2763 2004-06-16  Bernardo Innocenti  <bernie@develer.com>
2764
2765         Backport from mainline:
2766         2004-06-16  Bernardo Innocenti  <bernie@develer.com>
2767
2768         PR target/13292
2769         * config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040_ONLY
2770         on -msoft-float.
2771         (TARGET_FLT_EVAL_METHOD): Don't advertise extended precision for
2772         68040 and soft-float.
2773         * config/m68k/m68k.md (truncdfsf2): Explicitly require TARGET_68881
2774         in the TARGET_68040_ONLY case.
2775
2776 2004-06-16  Vladimir Makarov  <vmakarov@redhat.com>
2777
2778         PR target/15653
2779         * config/ia64/ia64.c (ia64_dfa_new_cycle): Do not insert nops
2780         after shifts before asm.
2781
2782 2004-06-15  Chris Demetriou  <cgd@broadcom.com>
2783
2784         * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
2785         definition.
2786         * config/mips/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
2787         #undef and #if 0'd definition.
2788
2789 2004-06-15  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2790
2791         * config/m32r/m32r.h (RETURN_ADDR_RTX): Define.
2792         (INCOMING_RETURN_ADDR_RTX): Define.
2793         * config/m32r/m32r-protos.h (m32r_return_addr): Added.
2794         * config/m32r/m32r.c (m32r_exppand_prologue): Changed for
2795         __builtin_return_address(0).
2796         (m32r_return_addr): Added for __builtin_return_address(0).
2797         (m32r_reload_lr): Ditto.
2798
2799         * longlong.h: Fix macros for m32r add_ssaaaa and sub_ddmmss.
2800
2801 2004-06-15  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
2802
2803         * gccbug.in: Update optimization -> tree-optimization/rtl-optimization.
2804
2805 2004-06-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
2806
2807         * real.c: Fix bit count in head comment.
2808
2809 2004-06-14  Jakub Jelinek  <jakub@redhat.com>
2810
2811         PR middle-end/15945
2812         * simplify-rtx.c (simplify_binary_operation): Don't optimize out
2813         Inf + -Inf, Inf - Inf, Inf / Inf and 0 * Inf if flag_trapping_math.
2814
2815 2004-06-14  Jakub Jelinek  <jakub@redhat.com>
2816
2817         PR target/15178
2818         * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
2819
2820 2004-06-14  Alan Modra  <amodra@bigpond.net.au>
2821
2822         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Handle -mpowerpc64 and -mcpu
2823         for power5 and rs64a.  Correct condition for default.  Correct power3,
2824         620, 630, 7400, 7450, G4, 970 and G5 -mcpu entries.  Add -many.
2825
2826 2004-06-13  Alan Modra  <amodra@bigpond.net.au>
2827
2828         Apply mainline 2004-01-27  Alan Modra  <amodra@bigpond.net.au>
2829         * config/rs6000/rs6000.h: Correct target_flags free bits comment.
2830         (PREDICATE_CODES): Remove duplicate.
2831         * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
2832         (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
2833         (MASK_PROFILE_KERNEL): Adjust define.
2834
2835 2004-06-13  Hans-Peter Nilsson  <hp@axis.com>
2836
2837         PR rtl-optimization/15296
2838         * reorg.c (fill_simple_delay_slots): Use next_real_insn when
2839         getting last consecutive label at a branch.
2840         (relax_delay_slots): Similar, near top of loop.
2841
2842 2004-06-12  Andreas Jaeger  <aj@suse.de>
2843
2844         * libgcc-std.ver: Add __unorddf2 and __unordsf2 with version 3.3.4.
2845         * libgcc-darwin.ver: Likewise.
2846
2847 2004-06-11  Bernardo Innocenti  <bernie@develer.com>
2848
2849         PR target/8309
2850         PR target/13312
2851         Backport from mainline:
2852
2853         2004-05-27  Peter Jakubek  <peter@laseranimation.com>
2854
2855         * reload.c (find_reloads): Force reload for pseudo registers on big
2856         endian machines.
2857
2858 2004-06-11  J"orn Rennecke <joern.rennecke@superh.com>
2859
2860         * sh.c (dump_table): New argument start.  Changed caller.
2861         (fixup_mova): New function.
2862         (find_barrier): Use it.
2863         (sh_reorg): Likewise.  Check for CODE_FOR_casesi_worker_2.
2864         If the label a mova refers to is above the mova itself, change
2865         the mova into a load.
2866         * sh.md (*casesi_worker): Rename to:
2867         (casesi_worker_1).
2868         (casesi_worker_2): New insn.
2869
2870 2004-06-11  Hartmut Penner  <hpenner@de.ibm.com>
2871
2872         Backport from mainline:
2873
2874         * config/rs6000/rs6000.c (output_vec_const_move):
2875         Find all cases of EASY_VECTOR_15_ADD_SELF.
2876         (easy_vector_constant_add_self): Accept
2877         all vector constant loadable by vsplt* and vadd*.
2878         (easy_vector_same): Use easy_vector_splat_const.
2879         (easy_vector_const): Use easy_vector_splat_const.
2880         (easy_vector_splat_const): New function.
2881         (gen_easy_vector_constant_add_self): New function.
2882
2883         * config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
2884         New prototype.
2885
2886         * config/rs6000/altivec.md (movv4si splitter): Change to
2887         emit move insn with halfed vector constant.
2888         (*movv8hi splitter): Likewise.
2889         (*movv16qi splitter): Likewise.
2890
2891 2004-06-10  Joseph S. Myers  <jsm@polyomino.org.uk>
2892
2893         * doc/sourcebuild.texi (Front End): Add details of more
2894         installation documentation required.
2895
2896 2004-06-10  Vladimir Makarov  <vmakarov@redhat.com>
2897
2898         PR target/15653
2899         * haifa-sched.c (schedule_block): Finish cycle after issuing asm
2900         insn.
2901
2902 2004-06-10  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2903
2904         PR web/15263
2905         * doc/install.texi: Remove superfluous linebreak.
2906
2907 2004-06-10  Bernardo Innocenti  <bernie@develer.com>
2908
2909         PR target/13803
2910         Backport from mainline:
2911
2912         2004-05-05  Peter Barada  <peter@the-baradas.com>
2913
2914         * config/m68k/m68k.h(EXTRA_CONSTRAINT): Add 'U' for register offset
2915         addressing.
2916         * config/m68k/m68k.md: Add 'U,U' alternative to ColdFire variants of
2917         movsi, movhi, movqi insn patterns.
2918
2919 2004-06-10  Alan Modra  <amodra@bigpond.net.au>
2920
2921         Apply from mainline:
2922         2004-03-12  Jakub Jelinek  <jakub@redhat.com>
2923         * config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
2924         prototype.
2925         * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
2926         * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
2927
2928 2004-06-10  Jakub Jelinek  <jakub@redhat.com>
2929
2930         * config/ia64/unwind-ia64.c (uw_frame_state_for): Don't assume a
2931         leaf function without unwind info at RP 0.
2932
2933 2004-06-10  Alan Modra  <amodra@bigpond.net.au>
2934
2935         PR target/15191
2936         2004-05-15  Alan Modra  <amodra@bigpond.net.au>
2937         * config/rs6000/rs6000.c (rs6000_va_arg <ABI_V4>): Don't use
2938         UNITS_PER_WORD to calculate gpr size.  Re-instate code to set reg
2939         count to 8 to handle n_reg > 2.
2940         2004-05-10  Alan Modra  <amodra@bigpond.net.au>
2941         * config/rs6000/rs6000.c (function_arg_boundary): Always align
2942         AltiVec vectors.
2943         (function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec
2944         vectors by refererence.  Align the same for TARGET_64BIT to a 16
2945         byte boundary.  Remove useless code.  Add function comment.
2946         (function_arg): Similarly.  Move gpr rs6000_mixed_function_arg
2947         call to where it belongs.
2948         (function_arg_partial_nregs): Return true for all TARGET_32BIT
2949         -mabi=no-altivec AltiVec vectors.  Fix debug output.
2950         (rs6000_va_arg): Adjust for AltiVec change.
2951         2004-05-10  Alan Modra  <amodra@bigpond.net.au>
2952         * config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
2953         when size is 8 bytes.
2954         (function_arg_advance): Account for stack space used by AltiVec
2955         args when -mabi=altivec.  Simplify alignment calculations.  For
2956         ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec.
2957         (function_arg): Similarly.
2958         (function_arg_pass_by_reference): True for ABI_V4 AltiVec when
2959         not AltiVec ABI.
2960         (rs6000_va_arg): Correct fp arg test.  Adjust for AltiVec change.
2961         Correct alignment, and align before testing reg count.  Remove
2962         TREE_THIS_VOLATILE from reg.  Don't emit unused labels.
2963         (rs6000_complex_function_value): Check TARGET_HARD_FLOAT and
2964         TARGET_FPRS here..
2965         (rs6000_function_value): .. not here before call.
2966         2004-05-07  Alan Modra  <amodra@bigpond.net.au>
2967         * config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
2968         TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
2969         * config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
2970         (STACK_BOUNDARY): Delete.
2971
2972 2004-06-10  Alan Modra  <amodra@bigpond.net.au>
2973
2974         PR target/14960
2975         2004-04-24  Alan Modra  <amodra@bigpond.net.au>
2976         * config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
2977         to non_fixed_size, and leave out fixed_size from the sum.
2978         (generate_set_vrsave): Correct clobbers.
2979         (rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
2980         (rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
2981         (rs6000_libcall_value): Likewise.
2982         * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
2983         (FUNCTION_ARG_REGNO_P): Likewise.
2984
2985 2004-06-10  Alan Modra  <amodra@bigpond.net.au>
2986
2987         PR target/14567
2988         2004-03-13  Alan Modra  <amodra@bigpond.net.au>
2989         * config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
2990         (HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
2991         * config/rs6000/rs6000.c (rs6000_arg_size): New function.
2992         Update all users of RS6000_ARG_SIZE.
2993         (function_arg_advance): Count fregno using mode size.
2994         (function_arg): Handle long double split over regs and memory.
2995         (function_arg_partial_nregs): Likewise.
2996         (rs6000_va_arg): Repackage complex args.
2997         2004-02-23  Fariborz Jahanian <fjahanian@apple.com>
2998         * config/rs6000/rs6000.c (function_arg): call to
2999         rs6000_mixed_function_arg for DFmode moved to allow
3000         normal DFmode incoming register assignment.
3001
3002 2004-06-09  Mark Mitchell  <mark@codesourcery.com>
3003
3004         Revert:
3005         PR c++/15815
3006         2004-06-07  Mark Mitchell  <mark@codesourcery.com>
3007         * doc/extend.texi: Deprecate #pragma interface and #pragma
3008         implementation.
3009
3010 2004-06-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3011
3012         PR rtl-optimization/15761
3013         * cfgloopanal.c (count_strange_loop_iterations,
3014         count_loop_iterations): Use gen_int_mode instead
3015         of GEN_INT.
3016
3017 2004-06-08  Roger Sayle  <roger@eyesopen.com>
3018
3019         PR c/14649
3020         * c-typeck.c (require_constant_value, require_constant_elements):
3021         Move declarations to the top of the file.
3022         (build_function_call): If we require a constant value, fold with
3023         fold_initializer.  If the result is a constant, and the function
3024         wasn't called using __builtin_foo, issue a pedantic warning.
3025         (build_unary_op): If we require a constant value, fold tree with
3026         fold_initializer.
3027         (build_binary_op): Use require_constant_value to determine whether
3028         to call fold or fold_initializer.
3029
3030 2004-06-08  Richard Henderson  <rth@redhat.com>
3031
3032         PR middle-end/15228
3033         * function.c (assign_parms): Always set_mem_align with the computed
3034         FUNCTION_ARG_BOUNDARY.  Don't clear stack_parm if !STRICT_ALIGNMENT.
3035
3036 2004-06-08  Vladimir Makarov  <vmakarov@redhat.com>
3037
3038         PR target/15598
3039         * config/ia64/ia64.c (bundling): Add missed TYPE_A.
3040
3041 2004-06-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3042
3043         PR rtl-optimization/15717
3044         * config/i386/i386.c (legitimate_constant_p): Do not allow
3045         x - symbol_ref.
3046
3047 2004-06-07  James E Wilson  <wilson@specifixinc.com>
3048
3049         PR target/15569
3050         * config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
3051         (vall_value_gp): Likewise.
3052
3053 2004-06-07  Dan Kegel  <dank@kegel.com>
3054
3055         PR c++/14808
3056         * config/i386/cygwin.h (TARGET_IS_PE_COFF): New.
3057         * config/i386/cygming.h (TARGET_IS_PE_COFF): New.
3058
3059 2004-06-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
3060
3061         PR target/15783
3062         * config/sparc/sparc.c (function_arg_union_value): Add 'mode'
3063         parameter.  Enumerate the registers inside the PARALLEL.
3064         (function_arg): Adjust call to function_arg_union_value.
3065         (function_value): Likewise.
3066
3067 2004-06-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3068
3069         * pa.c (emit_move_sequence): Fix loading of non 14-bit CONST operands
3070         when generating PIC code.
3071
3072         * pa.md: Disable the peephole2 patterns that generate indexed
3073         floating-point stores when indexing is disabled.
3074
3075 2004-06-07  Joseph S. Myers  <jsm@polyomino.org.uk>
3076
3077         PR c/14765
3078         * c-parse.in (compstmt_primary_start): Set last_expr_type to
3079         NULL_TREE.
3080
3081 2004-06-07  Mark Mitchell  <mark@codesourcery.com>
3082
3083         PR c++/15815
3084         * doc/extend.texi: Deprecate #pragma interface and #pragma
3085         implementation.
3086
3087 2004-06-07  Richard Henderson  <rth@redhat.com>
3088
3089         PR rtl-opt/15193
3090         * expmed.c (extract_bit_field): Fix vector_extract return.
3091
3092 2004-06-07  Mark Mitchell  <mark@codesourcery.com>
3093
3094         PR c++/15337
3095         * c-common.c (c_sizeof_or_alignof_type): Use more detailed error
3096         message.
3097
3098 2004-06-06  Stephane Carrez  <stcarrez@nerim.fr>
3099
3100         PR target/14542
3101         * config/m68hc11/m68hc11.md (move peephole2): Emit a use note to avoid
3102         a live change of a register after peephole replacement.
3103
3104 2004-06-06  Stephane Carrez  <stcarrez@nerim.fr>
3105
3106         PR target/14457
3107         * config/m68hc11/m68hc11.c (splitable_operand): New predicate.
3108         * config/m68hc11/m68hc11-protos.h (splitable_operand): Declare.
3109         * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register it.
3110         (inhibit_libc): Must define.
3111         * config/m68hc11/m68hc11.md ("movhi_const0"): Use splitable_operand.
3112         ("*andhi3_gen", "iorhi3", "*iorhi3_gen"): Likewise.
3113         ("xorhi3"): Likewise.
3114
3115 2004-06-05  David S. Miller  <davem@nuts.davemloft.net>
3116
3117         * config/sparc/linux.h (TARGET_C99_FUNCTIONS): Set.
3118         * config/sparc/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
3119
3120 2004-06-04  Eric Christopher  <echristo@redhat.com>
3121
3122         Backport from mainline:
3123         2004-06-02  Eric Christopher  <echristo@redhat.com>
3124
3125         * c-typeck.c (common_type): Don't lose type qualifiers
3126         when creating new variants.
3127
3128 2004-06-03  Bernardo Innocenti  <bernie@develer.com>
3129
3130         PR target/15782
3131         Backport from mainline:
3132
3133         2004-06-01  Peter Barada  <peter@the-baradas.com>
3134                     Peter Jakubek  <peter@laseranimation.com>
3135
3136         * config/m68k/m68k.c(m68k_output_mi_thunk):  For ColdFire, use %d0 as
3137         a scratch to perform an add to memory.
3138
3139 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
3140
3141         PR target/15626
3142         * doc/install.texi (sparc-sun-solaris2*): Document messages issued
3143         by the Sun linker in conjunction with the Sun assembler.
3144         (sparc-sun-solaris2.7): Update revision info for Sun patch 106950.
3145
3146 2004-06-01  Nicola Pero  <nicola@brainstorm.co.uk>
3147
3148         PR objc/7993
3149         * objc-act.c (is_private): Do not emit the 'instance variable %s
3150         is declared private' error.
3151         (is_public): Emit the error after calling is_private.
3152         (lookup_objc_ivar): If the instance variable is private, return 0
3153         - the instance variable is invisible here.
3154
3155 2004-06-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
3156
3157         * doc/invoke.texi (-static-libgcc): Explicitly mention
3158         non-GNU linkers.
3159
3160 2004-05-31  Kaz Kojima  <kkojima@gcc.gnu.org>
3161
3162         PR target/13250
3163         Backport from mainline:
3164
3165         2004-05-28  Kaz Kojima  <kkojima@gcc.gnu.org>
3166         * config/sh/sh.md (rotlsi3): Use emit_move_insn.
3167
3168 2004-05-31  H.J. Lu  <hongjiu.lu@intel.com>
3169
3170         PR middle-end/15666
3171         * cgraph.c (cgraph_remove_node): Don't call htab_clear_slot if
3172         we can't find the slot. Abort if we can't find slot and the
3173         node isn't for a builtin function.
3174
3175 2004-05-31  Roger Sayle  <roger@eyesopen.com>
3176
3177         PR middle-end/15069
3178         * fold-const.c (fold_single_bit_test): Only perform "(X & C) != 0"
3179         into "X < 0" (where C is the signbit) if X's type is a full mode.
3180
3181 2004-05-31  Joseph S. Myers  <jsm@polyomino.org.uk>
3182
3183         PR c/15749
3184         * c-decl.c (grokdeclarator, finish_struct): Don't pedwarn for
3185         misuses of structures with flexible array members if
3186         in_system_header.
3187
3188 2004-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
3189
3190         PR target/15693
3191         * config/sparc/sparc.c (compare_operand): New predicate.
3192         * config/sparc/sparc.h (PREDICATE_CODES): Add it.
3193         * config/sparc/sparc.md (cmpsi expander): Use it.  If the first
3194         operand is a ZERO_EXTRACT and the second operand is not zero,
3195         force the former to a register.
3196         (cmpdi expander): Likewise.
3197
3198 2004-05-31  Danny Smith  <dannysmith@users.sourceforge.net>
3199
3200         * c-incpath.c (add_path): Canonicalize paths to use '/' if
3201         HAVE_DOS_BASED_FILESYSTEM.
3202
3203 2004-05-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3204
3205         PR bootstrap/14671
3206         * alias.c (init_alias_analysis): Allocate alias_invariant array with
3207         ggc_calloc instead of xrealloc.
3208         (end_alias_analysis): Don't free alias_invariant.
3209
3210 2004-05-28  DJ Delorie  <dj@redhat.com>
3211
3212         * stor-layout.c (place_field): Revert erroneous commit.
3213
3214 2004-05-28  Nick Clifton  <nickc@redhat.com>
3215
3216         Bug 14093
3217         * config/sh/sh-protos.h (sh_promote_prototypes): Declare.
3218         * config/sh/sh.c (sh_promote_prototypes): Remove declaration.
3219         Delete static from definition.
3220         * config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
3221
3222 2004-05-27  Kaz Kojima  <kkojima@gcc.gnu.org>
3223
3224         Backport from mainline:
3225
3226         * config/sh/t-linux (SHLIB_MAPFILES): Use sh specific
3227         libgcc-std.ver.
3228         * config/sh/libgcc-std.ver: New file.
3229
3230 2004-05-27  Olivier Hainque  <hainque@act-europe.fr>
3231
3232         * expr.c (store_constructor): Restore sanity check on
3233         the size of the type before clearing.
3234
3235 2004-05-27  Alan Modra  <amodra@bigpond.net.au>
3236
3237         PR target/14478
3238         * config/rs6000/rs6000.c (reg_or_neg_short_operand): Don't allow zero.
3239
3240 2004-05-26  Aldy Hernandez  <aldyh@redhat.com>
3241
3242         PR/14924
3243         * config/rs6000/rs6000.c (spe_expand_stv_builtin): New.
3244
3245 2004-05-23  Joseph S. Myers  <jsm@polyomino.org.uk>
3246
3247         * doc/gcc.texi, doc/gccint.texi, doc/include/gcc-common.texi:
3248         Update based on printed manual.  Enable setting of offsets for
3249         FSFPRINT and move it to gcc-common.texi.
3250         * doc/gcc.texi: Update FSF printing details.
3251         * doc/gccint.texi: Remove FSF printing details.
3252
3253 2004-05-21  Jakub Jelinek  <jakub@redhat.com>
3254
3255         * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): If SPARC_BI_ARCH,
3256         override sparc.h definition.
3257
3258 2004-05-20  Jakub Jelinek  <jakub@redhat.com>
3259
3260         * config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default
3261         also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3.
3262
3263 2004-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3264
3265         PR target/15202
3266         * pa.md (movdi, movsi, movhi, movqi): Support move from shift amount
3267         register to general register for DI, SI, HI and QI modes.  Remove
3268         move to shift amount register in DF mode.
3269
3270 2004-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
3271
3272         PR middle-end/15054
3273         * expr.c (expand_expr_real): Do not call preserve_temp_slots
3274         on a TARGET_EXPR temp.
3275         * function.c (assign_stack_temp_for_type): Set 'keep' flag for
3276         TARGET_EXPR temp slots.
3277
3278 2004-05-18  Kaz Kojima  <kkojima@gcc.gnu.org>
3279
3280         PR optimization/15100
3281         Backport from mainline:
3282
3283         2004-05-11  Kaz Kojima  <kkojima@gcc.gnu.org>
3284         * combine.c (distribute_notes): Don't create a dangling
3285         REG_LIBCALL/REG_RETVAL note.
3286
3287 2004-05-17  H.J. Lu  <hongjiu.lu@intel.com>
3288
3289         Backport from mainline
3290
3291         PR target/15301
3292         PR target/15302
3293         2004-05-17  Jan Hubicka  <jh@suse.cz>
3294
3295         * i386.c (construct_container): Do not produce BLKmode registers.
3296         (classify_argument): Properly compute alignment of complex types.
3297
3298 2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>
3299
3300         * doc/extend.texi: Update WG14 URL.
3301
3302 2004-05-11  Aldy Hernandez  <aldyh@redhat.com>
3303
3304         * config/rs6000/spe.md (spe_evneg): Rename to negv2si2.
3305
3306         * config/rs6000/rs6000.c (bdesc_1arg): Change spe_evneg to
3307         negv2si2.
3308
3309 2004-05-10  Kaz Kojima  <kkojima@gcc.gnu.org>
3310
3311         PR target/15130
3312         Backport from mainline:
3313
3314         * config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
3315         * config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
3316         into account.  Compute the correct number of general registers
3317         for the return value.  Generate a special push/pop sequence when
3318         failing to get a temporary register for non SHmedia epilogue.
3319         (sh_expand_epilogue): Add an argument to show whether it's for
3320         sibcall or not.  Set the 3rd argument of output_stack_adjust to
3321         -1 if needed.
3322         (sh_need_epilogue): Call sh_expand_epilogue with 0.
3323         * config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue
3324         with 1.
3325         (epilogue): Call sh_expand_epilogue with 0.
3326
3327 2004-05-09  Aldy Hernandez  <aldyh@redhat.com>
3328
3329         * config/rs6000/spe.md ("tstsflt_gpr"): Fix typo in unspec.
3330
3331 2004-05-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
3332
3333         * doc/install.texi (sparc-sun-solaris2*): Document bootstrap
3334         problems with earlier versions of the GNU compiler.
3335
3336 2004-05-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
3337
3338         PR c++/14962
3339         * c-pragma.c (handle_pragma_redefine_extname): Only change
3340         the assembler name of FUNCTION_DECLs and VAR_DECLs.
3341
3342 2004-05-07  Loren James Rittle  <ljrittle@acm.org>
3343
3344         * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Proper redefinition.
3345         * config/arm/freebsd.h: Likewise.
3346         * config/ia64/freebsd.h: Likewise.
3347         * config/sparc/freebsd.h: Likewise.
3348
3349 2004-05-06  Richard Henderson  <rth@redhat.com>
3350
3351         * stmt.c (parse_output_constraint): Don't warn for read-write
3352         memory operand.
3353
3354 2004-05-06  Jan Hubicka  <jh@suse.cz>
3355
3356         PR c/15004
3357         * function.c (do_warn_unused_parameter): Break out form ...
3358         (expand_function_end): ... here; warn only when not using cgraphunit.
3359         * function.h (do_warn_unused_parameter): Declare.
3360         * cgraphunit.c: Include function.h.
3361         (cgraph_finalize_function): Do unused parameter warning.
3362         * Makefile.in (cgraphunit.o): Depend on function.h
3363
3364 2004-05-05  H.J. Lu  <hongjiu.lu@intel.com>
3365
3366         PR target/15290
3367         * config/i386/i386.c (ix86_split_to_parts): Use real_to_target
3368         instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE.
3369
3370 2004-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3371
3372         * fixinc/inclhack.def (svr4_profil): Don't apply on IRIX 5/6.
3373         * fixinc/fixincl.x: Regenerate.
3374
3375 2004-05-02  Josef Zlomek  <zlomekj@suse.cz>
3376
3377         * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
3378         message before redirecting the edge.
3379
3380 2004-05-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
3381
3382         PR optimization/15112
3383         * reload1.c (reload): Don't record unchanging memory locations.
3384
3385 2004-04-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3386
3387         PR other/1963
3388         * config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.
3389
3390 2004-04-30  David Edelsohn  <edelsohn@gnu.org>
3391
3392         Backport from mainline:
3393
3394         2004-04-19  David Edelsohn  <edelsohn@gnu.org>
3395
3396         * doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
3397         fix information.
3398
3399         2004-04-17  Alan Modra  <amodra@bigpond.net.au>
3400
3401         PR target/14715
3402         * config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
3403         with STARTING_FRAME_OFFSET.
3404
3405         2004-04-07  David Edelsohn  <edelsohn@gnu.org>
3406
3407         * config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF
3408         to power4 and power5 entries.
3409
3410         2004-04-05  David Edelsohn
3411
3412         * config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
3413         symbol handling.
3414
3415         2004-03-30  Hartmut Penner  <hpenner@de.ibm.com>
3416
3417         PR 11591
3418         * config/rs6000/rs6000.c (rs6000_legitimate_address):
3419         Allow any offset to argument pointer in no-strict case.
3420
3421         2004-03-25  David Edelsohn  <edelsohn@gnu.org>
3422
3423         * config/rs6000/rs6000.c (rs6000_always_hint): New variable.
3424         (rs6000_sched_groups): New variable.
3425         (processor_target_table): Add power5.
3426         (rs6000_override_options): Set rs6000_sched_insert_nops,
3427         rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
3428         from rs6000_sched_groups.
3429         (output_cbranch): Use rs6000_always_hint.
3430         (rs6000_variable_issue): Use rs6000_sched_groups.
3431         (rs6000_adjust_cost): Add CPU_POWER5.
3432         (is_microcoded_insn): Use rs6000_sched_groups.
3433         (is_dispatch_slot_restricted): Use rs6000_sched_groups.
3434         Return 2 for POWER5 cracked instructions.
3435         (is_cracked_insn): Use rs6000_sched_groups.
3436         (is_branch_slot_insn): Use rs6000_sched_groups.
3437         (rs6000_issue_rate): Add CPU_POWER5.
3438         (rs6000_sched_finish): Use rs6000_sched_groups.
3439         (rs6000_rtx_costs): Add PROCESSOR_POWER5.
3440         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
3441         (DEFAULT_SCHED_COSTLY_DEP): Delete.
3442         (DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete.
3443         (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete.
3444         * config/rs6000/rs6000.md (define_attr "cpu"): Add power5.
3445         * config/rs6000/power5.md: New file.
3446         * doc/invoke.texi: Add power5 option.
3447
3448         2004-03-17  Fariborz Jahanian <fjahanian@apple.com>
3449
3450         * config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size
3451         for mixed mode.
3452         (rs6000_emit_prologue): Ditto.
3453         (rs6000_emit_epilogue): Ditto.
3454         * config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT
3455         macro for mixed mode.
3456
3457         2004-03-04  David Edelsohn  <edelsohn@gnu.org>
3458                     GP <gp@qnx.com>
3459
3460         * config/rs6000/rs6000.c (output_function_profiler): Append @plt
3461         when compiling PIC.
3462
3463 2004-04-30  Paolo Bonzini  <bonzini@gnu.org>
3464
3465         * config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename
3466         to vec_sububs.
3467         [__cplusplus] (vec_subsuhs): Rename to vec_subuhs,
3468         eliminating duplicates.
3469
3470 2004-04-29  Richard Sandiford  <rsandifo@redhat.com>
3471
3472         PR target/15189
3473         * config/mips/mips.md (load_df_low): Use default length.
3474         (load_df_high, store_df_high): Likewise.
3475
3476 2004-04-29  Philip Blundell  <philb@gnu.org>
3477
3478         * Merge from trunk:
3479         2004-04-20  Paul Brook  <paul@codesourcery.com>
3480
3481         * config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
3482
3483 2004-04-29  Aldy Hernandez  <aldyh@redhat.com>
3484
3485         PR/12028
3486         * config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
3487         of floats on the E500.
3488         (branch_positive_comparison_operator): Do not allow NE even on the
3489         E500.
3490         (ccr_bit): Remove E500 specific code.
3491         Remove miscompilation warning for e500.
3492         (print_operand): Add 'c' and 'D'.
3493         (rs6000_generate_compare): Rewrite to generate correct rtl.
3494         (rs6000_emit_sCOND): Handle E500.
3495         (output_cbranch): Adjust for changes in rs6000_generate_compare.
3496         (output_e500_flip_gt_bit): New.
3497         (rs6000_override_options): Error when user wants altivec and e500
3498         instructions.
3499
3500         * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
3501         (move_from_CR_gt_bit): New.
3502         (cceq_ior_compare): Name previously unnamed pattern.  Disable for
3503         E500.
3504         (cceq_rev_compare): Name previously unnamed pattern.  Allow for
3505         E500.
3506
3507         * config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
3508         (tstsfeq_gpr): Same.
3509         (cmpsfgt_gpr): Same.
3510         (tstsfgt_gpr): Same.
3511         (cmpsflt_gpr): Same.
3512         (tstsflt_gpr): Same.
3513         (e500_cceq_ior_compare): New.
3514         (e500_flip_gt_bit): New.
3515
3516         * config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
3517         Protoize.
3518
3519 2004-04-28  Ben Elliston  <bje@au.ibm.com>
3520
3521         * doc/invoke.texi (Objective-C Dialect Options): Don't prefix
3522         options with "-" in the option index.
3523         (SPARC Options): Likewise.
3524         (M32R/D Options): Likewise.
3525
3526 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
3527
3528         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition
3529         calling install-info on $(DESTDIR)$(infodir)/dir already being
3530         present.
3531
3532 2004-04-28  H.J. Lu  <hongjiu.lu@intel.com>
3533
3534         PR target/15084
3535         * config/i386/i386.md (*movsi_insv_1_rex64): Changed to DImode
3536         and renamed to movdi_insv_1_rex64.
3537         (insv): Support SImode for 32bit and DImode for 64bit.
3538
3539 2004-04-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3540
3541         PR debug/14829
3542         * dwarf2out.c (reg_number): Rename to dbx_reg_number.  Adjust all
3543         callers.
3544         (multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
3545         number for indexing hard_regno_nregs array.
3546
3547 2004-04-27  Bob Wilson  <bob.wilson@acm.org>
3548
3549         * config/xtensa/xtensa.c (call_insn_operand): Check
3550         SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
3551         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
3552         * config/xtensa/xtensa.md (call, call_value): Likewise.
3553
3554 2004-04-26  Zack Weinberg  <zack@codesourcery.com>
3555
3556         * config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
3557         * config/pa/pa-hpux10.h: Likewise.
3558         * config/pa/pa-hpux11.h: Likewise.
3559
3560 2004-04-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
3561
3562         PR optimization/13985
3563         * cfgloopmanip.c (fix_loop_placements): New prototype.
3564         Call fix_bb_placements on the preheader of loops that have
3565         been reparented.
3566         (remove_path): Adjust call to fix_loop_placements.
3567
3568 2004-04-23  Nick Clifton  <nickc@redhat.com>
3569
3570         * Import this patch from mainline:
3571         2004-04-16  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3572
3573         * config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
3574         bug.
3575         (TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN,
3576         TARGET_DEFAULT): Changed. Ditto.
3577         (LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT,
3578         TARGET_ENDIAN_DEFAULT): Added. Ditto.
3579         * config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
3580         (TARGET_ENDIAN_DEFAULT): Added.
3581
3582 2004-04-22  Per Bothner  <per@bothner.com>
3583
3584         * cppinit.c (cpp_read_main_file):  Return NULL rather than false.
3585         Fixes PR preprocessor/15067.
3586
3587 2004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
3588
3589         * function.c (thread_prologue_and_epilogue): Move
3590         NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
3591         before the epilogue.
3592
3593 2004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
3594
3595         * dbxout.c (dbxout_symbol_location): Do not output references
3596         to optimized-out constant pool symbols.
3597
3598 2004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
3599
3600         * expr.c (store_constructor): Use gen_int_mode to correctly
3601         sign-extend CONST_INT value.
3602
3603 2004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
3604
3605         * combine.c (if_then_else_cond): Check for NULL return value of
3606         simplify_gen_subreg.
3607
3608 2004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
3609
3610         * reload1.c (emit_reload_insns): Set reg_has_output_reload to one
3611         after setting reg_last_reload_reg for optional output reloads.
3612
3613 2004-04-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3614
3615         * pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
3616         SAR register.  Fix comment.
3617         (ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
3618         (%cr11).
3619
3620 2004-04-21  Kaz Kojima  <kkojima@gcc.gnu.org>
3621
3622         Backport from mainline:
3623
3624         2004-04-05  Kaz Kojima  <kkojima@gcc.gnu.org>
3625         * config/sh/sh.c (prepare_move_operands): Use emit_call_insn
3626         when the TLS address is generated by a function call.
3627         * config/sh/sh.md (tls_global_dynamic): Use a call expression.
3628         (tls_local_dynamic): Likewise.
3629
3630 2004-04-21  H.J. Lu  <hongjiu.lu@intel.com>
3631
3632         PR target/14813
3633         Backport from mainline:
3634
3635         * config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
3636         in .init_array section to ...
3637         * config/ia64/crtbegin.asm: Here.
3638
3639         * config/ia64/crtend.asm: Mark __do_global_ctors_aux global
3640         and hidden if HAVE_INITFINI_ARRAY is defined.
3641
3642 2004-04-21  Richard Henderson  <rth@redhat.com>
3643
3644         PR bootstrap/14671
3645         * alias.c (alias_invariant, alias_invariant_size): Mark GTY.
3646         (reg_known_value, reg_known_value_size): Likewise; make static.
3647         (reg_known_equiv_p): Make static.
3648         (clear_reg_alias_info): Update for new indexing.
3649         (get_reg_known_value, set_reg_known_value): New.
3650         (get_reg_known_equiv_p, set_reg_known_equiv_p): New.
3651         (canon_rtx): Use them.
3652         (init_alias_analysis): Likewise.  Allocate reg_known_value with gc.
3653         Don't play queer offsetting games with reg_known_value and
3654         reg_known_equiv_p.
3655         (end_alias_analysis): Don't free reg_known_value.
3656         * rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
3657         * sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
3658         (deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
3659         functions instead.
3660
3661 2004-04-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3662
3663         * pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
3664
3665 2004-04-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3666
3667         * doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
3668         download URL.
3669
3670 2004-04-21  H.J. Lu  <hongjiu.lu@intel.com>
3671
3672         PR target/14857
3673         Backport from mainline:
3674
3675         * config/ia64/ia64.c (ia64_encode_section_info): Don't prod
3676         global register variables.
3677
3678 2004-04-21  H.J. Lu  <hongjiu.lu@intel.com>
3679
3680         * PR target/14723
3681         Backport from mainline:
3682         2004-02-14  Jan Hubicka  <jh@suse.cz>
3683
3684         * config.gcc: Add support for nocona/prescott/pentium-m/pentium3m
3685         /pentium4m.
3686         * i386.c (override_options): Add support for new CPUs.
3687         * i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
3688         (TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
3689         constants.
3690         * invoke.texi: Extend documentation of -mtune/-march for new CPUs.
3691
3692 2004-04-20  Mark Mitchell  <mark@codesourcery.com>
3693
3694         * version.c (version_string): Mark as prerelease.
3695         * doc/include/gcc-common.texi: Bump version number.
3696
3697 2004-04-18  Release Manager
3698
3699         * GCC 3.4.0 released.
3700
3701 2004-04-18  Alan Modra  <amodra@bigpond.net.au>
3702
3703         PR bootstrap/14992
3704         * configure.ac: Define HAVE_LD_AS_NEEDED only for linux.
3705         * configure: Regenerate.
3706         * gcc.c (init_gcc_specs): Revert earlier change.
3707
3708 2004-04-18  Mark Mitchell  <mark@codesourcery.com>
3709
3710         PR other/14918
3711         * doc/invoke.texi (-fprofile-generate): Document requirement to
3712         use -fprofile-generate when linking.
3713
3714         PR bootstrap/14992
3715         * gcc.c (init_gcc_specs): Only honor HAVE_LD_AS_NEEDED on
3716         GNU/Linux.
3717
3718         * doc/extend.texi (Strong Using): Warn users against using this
3719         feature.
3720
3721 2004-04-17  Richard Sandiford  <rsandifo@redhat.com>
3722
3723         * configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
3724         * configure: Regenerate.
3725
3726 2004-04-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3727
3728         * config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
3729         debugging on Solaris 7 and up.
3730
3731 2004-04-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3732
3733         * doc/install.texi (Specific, mips-sgi-irix5): Reflect working
3734         IRIX 5 port.
3735         Remove -save-temps workaround, handled automatically.
3736         Require GNU binutils 2.15 for debugging.
3737         Remove SGI make warnings since GNU make is now required.
3738         (Specific, mips-sgi-irix6): Some markup fixes.
3739         Describe MIPSpro C problems and workarounds.
3740         Mention working O32 ABI support.
3741         Recommend GNU as 2.15 for O32 with debugging.
3742         Remove description of fixed structure pass/return bug.
3743
3744 2004-04-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3745
3746         * aclocal.m4 (gcc_AC_PROG_GNAT): Check if ${CC} produces object
3747         file for Ada compilation.
3748         Fix gcc_cv_cc_supports_ada spelling.
3749         * configure: Regenerate.
3750
3751 2004-04-14  Zack Weinberg  <zack@codesourcery.com>
3752
3753         PR 14936
3754         Backport from mainline:
3755         2004-03-12  Matt Austern  <austern@apple.com>
3756
3757         * varasm.c (make_decl_one_only): Don't use DECL_COMMON if
3758         we're compiling for a SUPPORTS_ONE_ONLY target.
3759
3760 2004-04-09  Zack Weinberg  <zack@codesourcery.com>
3761
3762         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
3763         mode argument.
3764         * config/ia64/ia64.c (ia64_hpux_file_end): Check
3765         TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME.
3766
3767 2004-04-08  Mark Mitchell  <mark@codesourcery.com>
3768
3769         * doc/invoke.texi (Precompiled Headers): Warn about known
3770         problems.
3771
3772 2004-04-08  Joel Sherrill <joel@oarcorp.com>
3773
3774         PR ada/14538
3775         * ada/5rosinte.adb: Remove fake mprotect() body.
3776         * ada/5rosinte.ads: Add SA_SIGINFO.  Make pthread_key_t a type
3777         which can be set since Finalize_TCB in 7staprop.adb does not
3778         go through the Set_Specific interface.
3779         * ada/5rtpopsp.adb: Rewrite to use new interface.
3780         * ada/init.c: Reorder so the simple single OS conditional __rtems__
3781         is tested before more complex ones which mix UNIX and embedded
3782         systems in the conditional.
3783
3784 2004-04-08  Joel Sherrill  <joel@oarcorp.com>
3785
3786         PR ada/14665
3787         * ada/osint.adb (Find_Program_Name): Rework to properly handle
3788         filenames which end in .exe or have versioning suffixes like VMS.
3789
3790 2004-04-08  Joseph S. Myers  <jsm@polyomino.org.uk>
3791
3792         * fixinc/inclhack.def (rpc_xdr_lvalue_cast_a,
3793         rpc_xdr_lvalue_cast_b): New fixes.
3794         * fixinc/fixincl.x: Regenerate.
3795         * fixinc/tests/base/rpc/xdr.h: Add new tests.
3796
3797 2004-04-06  Mark Mitchell  <mark@codesourcery.com>
3798
3799         * config/darwin.h (LINK_COMMAND_SPEC): Change c++filt3 to c++filt.
3800
3801 2004-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3802
3803         * doc/install.texi: Update HP-UX 11 installation procedure.
3804
3805 2004-04-05  Jakub Jelinek  <jakuB@redhat.com>
3806           John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3807
3808         PR optimization/13424 (hppa), bootstrap/14462, c/14828
3809         * pa.md: Use replace_equiv_address to retain the attributes of the
3810         memory operands used in the split and peephole2 patterns for optimizing
3811         the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
3812
3813 2004-04-05  Alexandre Oliva  <aoliva@redhat.com>
3814
3815         * cppinit.c (cpp_read_main_file): Return file name obtained by
3816         read_original_filename.  Missed in 2004-02-04's check in to 3.4
3817         branch by Per Bothner.
3818
3819 2004-04-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
3820
3821         * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
3822         to DWARF2_DEBUG unconditionally.
3823         (ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
3824
3825 2004-04-04  Mark Mitchell  <mark@codesourcery.com>
3826
3827         PR c++/14804
3828         * varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to
3829         RECORD_TYPEs.
3830
3831 2004-04-02  Jakub Jelinek  <jakub@redhat.com>
3832             Eric Botcazou  <ebotcazou@libertysurf.fr>
3833
3834         PR optimization/13424, optimization/12419
3835         * explow.c (maybe_set_unchanging): Revert 2003-04-07 patch.
3836         Set RTX_UNCHANGING_P even for read-only DECL_EXTERNAL decls.
3837         * expr.c (store_constructor): When clearing aggregate because
3838         of an incomplete or mostly zero constructor, do the clearing
3839         without /u flag and then emit a blockage.
3840
3841 2004-04-01  Alan Modra  <amodra@bigpond.net.au>
3842             Jakub Jelinek  <jakub@redhat.com>
3843
3844         * gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
3845         -lgcc --as-needed -lgcc_s --no-as-needed by default.
3846         * configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
3847         * configure: Rebuilt.
3848         * config.in: Rebuilt.
3849         * Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
3850         (stage2-start, stage3-start, stage4-start): Likewise.
3851         (stageprofile-start, stagefeedback-start): Likewise.
3852
3853 2004-04-01  Jakub Jelinek  <jakub@redhat.com>
3854
3855         * config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
3856         * config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
3857         * config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
3858         * config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
3859         (SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
3860         * config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
3861         with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
3862         * config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
3863         * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
3864         * config/sparc/t-linux: Removed.
3865
3866 2004-04-01  Jakub Jelinek  <jakub@redhat.com>
3867
3868         PR c++/14755
3869         * fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
3870         "bitfld++ == const" to "++bitfld == const + incr" transformations.
3871
3872 2004-03-30  Aldy Hernandez  <aldyh@redhat.com>
3873
3874         PR 14219
3875         * c-typeck.c (build_binary_op): Do not allow comparisons of
3876         vectors.
3877
3878 2004-03-26  Ian Lance Taylor  <ian@wasabisystems.com>
3879
3880         PR target/14206
3881         * doc/install.texi (Specific): Document that exec-shield-randomize
3882         interferes with precompiled headers.
3883
3884 2004-03-26  Richard Henderson  <rth@redhat.com>
3885
3886         PR 11527
3887         * c-typeck.c (pop_init_level): Emit pending init elements earlier
3888         rather than later.
3889
3890 2004-03-25  Jakub Jelinek  <jakub@redhat.com>
3891
3892         * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
3893         * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
3894         * config/sparc/t-linux: New file.
3895
3896 2004-03-25  Jan Hubicka  <jh@suse.cz>
3897
3898         PR debug/13974
3899         * cfgrtl.c (try_redirect_by_replacing_jump,
3900         force_nonfallthru_and_redirect, commit_one_edge_insertion,
3901         cfg_layout_merge_blocks):  Do not attach any line number information
3902         to newly inserted instructions.
3903         * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
3904         emit_insn_*_noloc.
3905         (emit_*insn_before, emit_insn*_after): New.
3906         (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
3907         existing locators.
3908         * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
3909         (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
3910
3911 2004-03-24  Steven Bosscher  <stevenb@suse.de>
3912
3913         PR pch/14137
3914         * c-pch.c (struct c_pch_validity): New flags_info field.
3915         (FLAG_UNIT_AT_A_TIME_SET): New definition.
3916         (pch_init): Write out the flags_info field to the PCH.  Set the
3917         FLAG_UNIT_AT_A_TIME_SET bit of the field if flag_unit_at_a_time
3918         is set.
3919         (c_common_valid_pch): Make sure the flag settings used for compiling
3920         the PCH are the same as those used in the current compilation.
3921
3922 2004-03-24  Alexandre Oliva  <aoliva@redhat.com>
3923
3924         PR preprocessor/14438
3925         * cpplib.c (do_pragma): Remove line_change call after pragma
3926         handler.
3927
3928 2004-03-23  Ian Lance Taylor  <ian@wasabisystems.com>
3929
3930         * doc/extend.texi (ARM Built-in Functions): Replace with correct
3931         declarations.
3932
3933 2004-03-23  Kazu Hirata  <kazu@cs.umass.edu>
3934
3935         PR optimization/14669
3936         * fold-const.c (fold): Only unwiden integer comparisons for equality
3937         and inequality operators, or when the signedness doesn't change.
3938
3939 2004-03-23  Jason Merrill  <jason@redhat.com>
3940
3941         PR c++/14587
3942         * config/i386/winnt.c (associated_type): Look for attributes on
3943         the TYPE_MAIN_VARIANT of *this.
3944
3945 2004-03-21  Mark Mitchell  <mark@codesourcery.com>
3946
3947         PR c/13129
3948         * c-decl.c (warn_if_shadowing): Don't warn about a new declaration
3949         of a file-scope entity.
3950
3951 2004-03-22  Jakub Jelinek  <jakub@redhat.com>
3952
3953         PR c/14069
3954         * c-decl.c (finish_struct): Change type of incorrect flexible array
3955         field into error_mark_node.
3956
3957 2004-03-22  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
3958
3959         PR target/14260
3960         * config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
3961
3962 2004-03-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
3963
3964         PR middle-end/14470
3965         * expr.c (mark_queue): New function.
3966         (emit_insns_enqueued_after_mark): New function replacing
3967         emit_queue.  Clear the body of emitted queued insns.
3968         (emit_queue): Call emit_insns_enqueued_after_mark.
3969         (store_expr): Mark the increment queue on entry.  Emit
3970         only the incrementations queued when expanding the source.
3971
3972 2004-03-22  Danny Smith  <dannysmith@users.sourceforge.net>
3973
3974         * gcov-io.h: Update copyright year.
3975
3976 2004-03-22  Danny Smith  <dannysmith@users.sourceforge.net>
3977
3978         PR target/14291
3979         * gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
3980         __MINGW32__.
3981
3982 2004-03-21  Roger Sayle  <roger@eyesopen.com>
3983
3984         PR target/13889
3985         * cse.c (fold_rtx): Avoid substituting constants into unary
3986         conversion operations.
3987
3988 2004-03-21  Joseph S. Myers  <jsm@polyomino.org.uk>
3989
3990         * frontends.texi: Add missing line.
3991
3992 2004-03-21  Zack Weinberg  <zack@codesourcery.com>
3993             Chris Devers  <cdevers@pobox.com>
3994             Joseph S. Myers  <jsm@polyomino.org.uk>
3995
3996         * doc/frontends.texi: Rewrite.
3997         * doc/gcc.texi: Update last modification date.
3998
3999 2004-03-20  Ian Lance Taylor  <ian@wasabisystems.com>
4000
4001         PR c/12373
4002         * c-typeck.c (tagged_types_tu_compatible_p): Don't use
4003         DECL_ORIGINAL_TYPE if there isn't one.
4004
4005 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
4006
4007         PR other/14630
4008         * doc/install.texi: Add info directory category and entry.
4009
4010 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
4011
4012         PR c/14635
4013         * builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
4014         DEF_GCC_BUILTIN.
4015
4016 2004-03-18  Mark Mitchell  <mark@codesourcery.com>
4017
4018         * c-common.c (pointer_int_sum): Do not complain about using
4019         pointers to pointers-to-members.
4020
4021         * c-decl.c (grokdeclarator): Do not complain about redeclaring
4022         visible "static" identifiers "extern" in a local scope.
4023         * dwarf2out.c (loc_descriptor_from_tree): Handle pre- and
4024         post-increments/decrements.
4025
4026 2004-03-17  Jakub Jelinek  <jakub@redhat.com>
4027
4028         * config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
4029         32-bit builds when defaulting to 32-bit.
4030
4031 2004-03-17  Richard Sandiford  <rsandifo@redhat.com>
4032
4033         PR target/14599
4034         * config/mips/mips.md (UNSPEC_GP): New constant.
4035         * config/mips/mips.c (CONST_GP_P): Expect the CONST to contain
4036         an UNSPEC instead of (reg $gp).
4037         (mips16_gp_pseudo_reg): Change accordingly.
4038         (print_operand): Print $gp directly when handling CONST_GP_P.
4039
4040 2004-03-16  Mark Mitchell  <mark@codesourcery.com>
4041
4042         PR c++/14481
4043         * fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly
4044         generated COMPOUND_EXPRs.
4045
4046 2004-03-16  Nathanael Nerode  <neroden@gcc.gnu.org>
4047
4048         PR bootstrap/12974
4049         * Makefile.in: Pass $(INCLUDES) down to libgcc.mk explicitly.
4050
4051 2004-03-16  Richard Henderson  <rth@redhat.com>
4052
4053         PR middle-end/14535
4054         * except.c (collect_one_action_chain): Create action record for
4055         cleanup outer of exception spec.
4056
4057 2004-03-16  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
4058
4059         PR target/14577
4060         * config.gcc: Switch sh-*-rtems* to ELF.  Add sh-*-rtemscoff.
4061
4062 2004-03-15  Richard Henderson  <rth@redhat.com>
4063
4064         PR target/14547
4065         * target.h (struct gcc_target): Move calls substructure before
4066         booleans.  Add split_complex_arg.
4067         * function.c (assign_parms, split_complex_args): Use it.
4068         * calls.c (expand_call): Likewise.
4069         (split_complex_values): Likewise.  Check for splittable types
4070         before allocating memory.
4071         (split_complex_types): Likewise.
4072         * system.h (SPLIT_COMPLEX_ARGS): Poison.
4073         * expr.h (SPLIT_COMPLEX_ARGS): Remove.
4074         * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
4075         * config/alpha/alpha.c (alpha_split_complex_arg): New.
4076         (TARGET_SPLIT_COMPLEX_ARG): New.
4077         * config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
4078         * config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
4079         (rs6000_override_options): Zap it for non-AIX.
4080         (rs6000_function_value): Use targetm.calls.split_complex_arg.
4081         * config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
4082         * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
4083         * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
4084         * doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
4085         SPLIT_COMPLEX_ARGS entry.
4086
4087 2004-03-15  Eric Botcazou  <ebotcazou@act-europe.fr>
4088
4089         * config/sparc/sparc.h: Rework comments about the code model
4090         in 64-bit environment and the mode 'Pmode'.
4091         * doc/invoke.texi (SPARC options): Rework description of the
4092         different code models supported in 64-bit environment.
4093
4094 2004-03-14  Joseph S. Myers  <jsm@polyomino.org.uk>
4095
4096         * doc/contrib.texi, doc/extend.texi, doc/gcov.texi,
4097         doc/install.texi, doc/invoke.texi, doc/makefile.texi,
4098         doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize
4099         "gcc", "g++" and "g77" or mark up with appropriate markup.  Adjust
4100         wording and grammar.
4101
4102 2004-03-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
4103
4104         PR c/14114
4105         * c-decl.c (merge_decls): Do not copy the C_DECL_INVISIBLE flag
4106         from the new decl to the old decl.
4107         (pushdecl): Use lookup_name to search for a previous decl with the
4108         same identifier.
4109
4110 2004-03-13  Dara Hazeghi  <dhazeghi@yahoo.com>
4111
4112         * doc/install.texi: Note status of -fnew-ra.
4113
4114 2004-03-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
4115
4116         PR middle-end/14470
4117         * expr.c (store_expr): Call emit_queue before generating the move
4118         from the temporary to the original target.  Protect the temporary
4119         from emit_queue.
4120
4121 2004-03-13  Jakub Jelinek  <jakub@redhat.com>
4122
4123         PR target/14533
4124         * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
4125         other than UNSPEC_GOTOFF.
4126
4127 2004-03-13  Dean Ferreyra <dferreyra@igc.org>
4128
4129         PR target/14047
4130         * config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
4131         (avr_insert_attributes): Pass "attributes" to avr_progmem_p.
4132         * config/avr/avr-protos.h (avr_progmem_p): Change prototype.
4133
4134 2004-03-12  David Edelsohn  <edelsohn@gnu.org>
4135
4136         * doc/install.texi (*-ibm-aix*): Document assembler and achiver
4137         fixes required by libstdc++ and update installation instructions
4138         for libstdc++.a.  Document use of Bash to speed up configuration.
4139
4140 2004-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
4141
4142         * doc/tm.texi (registers) <Values in Registers>: Add
4143         entry for REGMODE_NATURAL_SIZE.
4144
4145 2004-03-11  Richard Henderson  <rth@redhat.com>
4146
4147         PR target/14539
4148         * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
4149
4150 2004-03-12  Alan Modra  <amodra@bigpond.net.au>
4151
4152         * real.c (encode_ibm_extended): Do round low word.
4153
4154 2004-03-11  Richard Henderson  <rth@redhat.com>
4155
4156         PR middle-end/14477
4157         * except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
4158
4159 2004-03-11  Richard Sandiford  <rsandifo@redhat.com>
4160
4161         PR target/14496
4162         * config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
4163         TARGET_SINGLE_FLOAT.
4164
4165 2004-03-11  Kelley Cook  <kcook@gcc.gnu.org>
4166
4167         PR other/14536
4168         * configure: Regenerated with autoconf 2.57.
4169         * config.in: Regenerated with autoheader 2.57.
4170
4171 2004-03-11  Alan Modra  <amodra@bigpond.net.au>
4172
4173         * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
4174         bump retaddr here.
4175
4176 2004-03-11  Alan Modra  <amodra@bigpond.net.au>
4177
4178         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
4179         (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
4180         (SHLIB_MKMAP_OPTS): Delete.
4181         (TARGET_LIBGCC2_CFLAGS): Add -specs.
4182         (bispecs): Add rule.
4183         * config/rs6000/libgcc-ppc64.ver: New file.
4184         * config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
4185         (__floatdidf, __floatdisf): Optimize multiply.
4186         (__fixunstfdi): New function.
4187         * config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
4188         real and imag parts larger than one register.
4189         (function_arg): Correct type of reg used when fp arg split partially
4190         to stack.
4191         * config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
4192         and __MACH__ or __powerpc64__.
4193
4194 2004-03-10  Richard Henderson  <rth@redhat.com>
4195
4196         PR c/14517
4197         * c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
4198         except for pedantic c90 mode.
4199
4200 2004-03-10  Andrew Haley  <aph@redhat.com>
4201
4202         PR optimization/14381
4203         * function.c (expand_function_end): Emit a blockage insn before
4204         the epilogue when -fnon-call-exceptions is used.
4205
4206 2004-03-10  Joel Sherrill  <joel@oarcorp.com>
4207
4208         PR target/14480
4209         * config.gcc (powerpc*-*-rtems*): Use rs6000/t-rtems.
4210
4211 2004-03-10  Roman Zippel  <zippel@linux-m68k.org>
4212
4213         PR bootstrap/12371
4214         * config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
4215         (CALL_USED_REGISTERS): Likewise.
4216         (REG_CLASS_CONTENTS): Likewise.
4217         (REG_ALLOC_ORDER): New.
4218         (REGNO_REG_CLASS): Use regno_reg_class.
4219         * config/m68k/m68k.c: Add regno_reg_class array.
4220
4221 2004-03-10  Alan Modra  <amodra@bigpond.net.au>
4222             Hartmut Penner  <hpenner@de.ibm.com>
4223
4224         * config/rs6000/rs6000.c (invalid_gpr_mem): New function.
4225         (base_reg_operand): New function.
4226         (legitimate_offset_address_p): Don't test modes in an attempt to
4227         distinguish gpr vs fpr mem loads/stores.  Don't prohibit offsets
4228         invalid for 64-bit gpr loads/stores here.
4229         (secondary_reload_class): Add "inp" parameter.  Generate a reload
4230         for 64-bit gpr loads/stores.
4231         * config/rs6000/rs6000.h (SECONDARY_RELOAD_CLASS): Delete.
4232         (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Define.
4233         (PREDICATE_CODES): Add invalid_gpr_mem and base_reg_operand.
4234         (DISPARAGE_RELOAD_CLASS): Define.
4235         * config/rs6000/rs6000-protos.h (secondary_reload_class): Update.
4236         * config/rs6000/rs6000.md (movdf_hardfloat64): Correct attrs.
4237         Add m->b alternative and split.
4238         (movdi_internal64): Replace r->m and m->r with r->Y and Y->r.
4239         Add m->b alternative and split.
4240         * reload.c (find_reloads): Invoke DISPARAGE_RELOAD_CLASS.
4241
4242 2004-03-10  Hans-Peter Nilsson  <hp@axis.com>
4243
4244         PR other/14474
4245         * doc/md.texi (Pattern Ordering, Dependent Patterns)
4246         (Jump Patterns, Looping Patterns): Wrap in separate "@ifset
4247         INTERNALS".
4248
4249 2004-03-09  Zack Weinberg  <zack@codesourcery.com>
4250
4251         * config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
4252         (LIBGCC_SPEC): Update to match.
4253
4254 2004-03-09  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
4255
4256         * config/h8300/t-rtems (h8300-*-rtems*): New.
4257         * config.gcc: Use config/h8300/t-rtems.
4258
4259 2004-03-09  Roger Sayle  <roger@eyesopen.com>
4260
4261         PR middle-end/14289
4262         * c-typeck.c (c_mark_addressable): A register variable should
4263         be considered global if its not automatic, i.e. TREE_PUBLIC,
4264         TREE_STATIC or DECL_EXTERNAL.
4265         * function.c (put_var_into_stack): Call abort when placing a
4266         hard register into the stack, if x_parm_reg_stack_loc is NULL.
4267
4268 2004-03-08  David Edelsohn  <edelsohn@gnu.org>
4269
4270         * collect2.c (main): Only export initfunc and finifunc if
4271         LD_INIT_SWITCH not defined.
4272         (scan_prog_file): Only export constructors and destructors if
4273         LD_INIT_SWITCH not defined.  Only export symbols not found in
4274         shared objects.
4275
4276 2004-03-09  Alan Modra  <amodra@bigpond.net.au>
4277
4278         * doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
4279         * calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
4280         (emit_library_call_value_1): Likewise pass nargs.
4281         * expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
4282         * function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
4283         * config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
4284         parameter instead of scanning TYPE_ARGS_TYPES to count args.
4285         * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
4286         prototype.
4287         * config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
4288         (INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
4289         (INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
4290         * config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
4291         INIT_CUMULATIVE_ARGS.
4292         * config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
4293         * config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
4294         config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
4295         config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
4296         config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
4297         config/i370/i370.h, config/i386/i386.h, config/i860/i860.h,
4298         config/i960/i960.h, config/ia64/ia64.h, config/ip2k/ip2k.h,
4299         config/iq2000/iq2000.c, config/iq2000/iq2000.h, config/m32r/m32r.h,
4300         config/m68hc11/m68hc11.h, config/m68k/m68k.h, config/mcore/mcore.h,
4301         config/mips/mips.h, config/mmix/mmix.h, config/mn10300/mn10300.h,
4302         config/ns32k/ns32k.h, config/pa/pa.h, config/pdp11/pdp11.h,
4303         config/s390/s390.h, config/sh/sh.h, config/sparc/sparc.h,
4304         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
4305         config/xtensa/xtensa.h: Likewise.
4306
4307 2004-03-09  Alan Modra  <amodra@bigpond.net.au>
4308
4309         PR debug/11983
4310         * dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to
4311         dw_val_class_vec.  Replace use throughout file.
4312         (dw_float_const): Delete.
4313         (dw_vec_const): New.
4314         (dw_val_struct_union): Rename val_float to val_vec.  Replace use
4315         throughout file.
4316         (add_AT_vec): Rename from add_AT_float.  Add elt_size param.
4317         (same_dw_val_p): Adjust vec comparison.  Use memcmp.
4318         (size_of_die): Adjust dw_val_class_vec sizing.
4319         (output_die): Output dw_val_class_vec.
4320         (insert_int, extract_int, insert_float): New functions.
4321         (add_const_value_attribute): Use insert_float for CONST_DOUBLE.
4322         Handle CONST_VECTOR.
4323         (add_location_or_const_value_attribute): Handle CONST_VECTOR.
4324
4325 2004-03-08  Joel Sherrill  <joel@oarcorp.com>
4326
4327         PR target/14480
4328         * config/rs6000/t-rtems: Add missing file on branch.
4329
4330 2004-03-08  Roger Sayle  <roger@eyesopen.com>
4331
4332         * fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
4333         "foo++ == const" into "++foo == const+incr".
4334
4335 2004-03-08  Ulrich Weigand  <uweigand@de.ibm.com>
4336
4337         * config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber.
4338         ("*extendqisi2_short_displ"): Likewise.
4339
4340 2004-03-08  Eric Botcazou  <ebotcazou@act-europe.fr>
4341
4342         * expr.c (highest_pow2_factor_for_type): Rename into
4343         highest_pow2_factor_for_target.  Use DECL_ALIGN instead of
4344         TYPE_ALIGN when the target is a COMPONENT_REF.
4345         (expand_assignment): Ajust call to highest_pow2_factor_for_type.
4346
4347 2004-03-08  Alan Modra  <amodra@bigpond.net.au>
4348
4349         * config/rs6000/rs6000.c: Formatting fix.
4350         (legitimate_offset_address_p): Correct offset range check.
4351
4352         * config/rs6000/rs6000.c (rs6000_override_options): Don't override
4353         -msoft-float by -mcpu.  Consolidate similar code for MASK_MULTIPLE
4354         and MASK_STRING.
4355
4356 2004-03-07  Aldy Hernandez  <aldyh@redhat.com>
4357
4358         * config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
4359         for little endian.
4360         ("ashrdi3_no_power"): Disable for little endian.
4361         (ashrdi3): Same.
4362
4363 2004-03-07  Aldy Hernandez  <aldyh@redhat.com>
4364
4365         * config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
4366         AltiVec abi cannot co-exist.
4367
4368         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
4369
4370 2004-03-07  Hans-Peter Nilsson  <hp@axis.com>
4371
4372         PR target/14471
4373         * configure.ac (Target-specific assembler checks) <cris-*-*>: New
4374         case, checking for -no-mul-bug-abort option.
4375         * configure, config.in: Regenerate.
4376         * doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
4377         and -mno-mul-bug-workaround.
4378         * config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart")
4379         ("mulsidi3", "umulsidi3"): Prefix output template with "%!".
4380         ("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
4381         Ditto.  Make attribute "slottable" dependent on TARGET_MUL_BUG.
4382         * config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
4383         sure mulu.d is not last on cache-line.
4384         * config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
4385         into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
4386         (TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros.
4387         (TARGET_SWITCHES): New options -mmul-bug-workaround and
4388         -mno-mul-bug-workaround.
4389         (TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG.
4390         (PRINT_OPERAND_PUNCT_VALID_P): Include '!'.
4391         * config/cris/cris.c (cris_operand_extend_operator): Clarify
4392         relation to MULT in head comment.
4393         (cris_op_str): Abort for MULT.
4394         (cris_print_operand) <case '!'>: New case.
4395
4396 2004-03-07  Stephane Carrez  <stcarrez@nerim.fr>
4397
4398         * config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
4399         ("*lshrsi3"): Also accept an immediate for 68HC12.
4400         ("*ashrsi3_const"): Likewise.
4401         ("*ashrsi3"): Likewise.
4402         ("*ashlsi3_const"): Likewise.
4403         ("*ashlsi3"): Likewise.
4404         ("cmphi_1_hc12"): Compare two hard register by pushing them and
4405         comparing with a pop; don't use a split for that.
4406         ("cmphi split"): Disable compare split for 68HC12.
4407
4408         * config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
4409         the status operands if they have side effects.
4410
4411 2004-03-07  Richard Sandiford  <rsandifo@redhat.com>
4412
4413         * config/mips/mips.c (mips_in_small_data_p): Return false if
4414         TARGET_ABICALLS.
4415
4416 2004-03-06  Stephane Carrez  <stcarrez@nerim.fr>
4417
4418         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
4419         the stack register.
4420         (expand_prologue): Don't make an interrupt or a trap handler a far
4421         symbol.
4422         (m68hc11_initial_elimination_offset): Likewise.
4423
4424 2004-03-06  Richard Henderson  <rth@redhat.com>
4425
4426         * config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
4427
4428 2004-03-06  Richard Henderson  <rth@redhat.com>
4429
4430         * config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
4431         (TARGET_LONG_DOUBLE_128): New.
4432         (TARGET_SWITCHES): Add long-double-{128,64}.
4433         (TARGET_HAS_XFLOATING_LIBS): Default to TARGET_LONG_DOUBLE_128.
4434         (LONG_DOUBLE_TYPE_SIZE): Honor TARGET_LONG_DOUBLE_128.
4435         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.
4436         (WIDEST_HARDWARE_FP_SIZE): New.
4437         (TARGET_CPU_CPP_BUILTINS): Define __LONG_DOUBLE_128__.
4438         * config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128
4439         if TARGET_VAX_FLOAT.
4440         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove.
4441         (TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128.
4442
4443 2004-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
4444
4445         * config/s390/s390.md ("load_multiple", "*load_multiple_di",
4446         "*load_multiple_si"): Allow only if reload_completed.
4447         ("store_multiple", "*store_multiple_di", "*store_multiple_si"):
4448         Likewise.
4449
4450 2004-03-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
4451
4452         PR c/14465
4453         PR c/14114
4454         * c-decl (pushdecl): Revert previous change.
4455
4456 2004-03-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4457
4458         * pa.md (icacheflush): Reorder operands to make match_scratch operand
4459         last.
4460         * pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
4461         from calls to gen_icacheflush.
4462
4463 2004-03-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
4464
4465         PR target/14343
4466         * config/i386/i386.md (movv2di_internal): Conditionalize on
4467         TARGET_SSE, not TARGET_SSE2.
4468
4469 2004-03-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
4470
4471         PR c/14114
4472         * c-decl (pushdecl): Do not record a previous, not-in-scope,
4473         external decl for restoration.
4474
4475 2004-03-05  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
4476
4477         PR middle-end/14203
4478         * function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
4479         instead of testing whether DECL_RTL is not NULL.
4480
4481 2004-03-05  Andreas Krebbel  <krebbel1@de.ibm.com>
4482
4483         * rtl.h (mem_expr_equal_p): Function prototype added.
4484         * cfgcleanup.c (merge_memattrs): New function.
4485         (flow_find_cross_jump): Call merge_memattrs for matching insns.
4486         * emit-rtl.c (mem_expr_equal_p): New function.
4487
4488 2004-03-05  Bob Wilson  <bob.wilson@acm.org>
4489
4490         * config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
4491         (xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32).  Adjust
4492         __va_ndx by 2 words when referencing an argument on the stack.
4493         (xtensa_va_arg): Handle 16-byte aligned args.  Adjust __va_ndx by 2
4494         words when an arg on the stack is first seen.
4495
4496 2004-03-05  Nathan Sidwell  <nathan@codesourcery.com>
4497
4498         PR driver/13577
4499         * gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
4500         options.
4501
4502 2004-03-04  Bob Wilson  <bob.wilson@acm.org>
4503
4504         * config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
4505         (TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
4506
4507 2004-03-04  Alan Modra  <amodra@bigpond.net.au>
4508
4509         * real.c (encode_ibm_extended): Don't bother rounding low double.
4510         * c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
4511         when fmt->pnan < fmt->p.
4512
4513 2004-03-04  Alan Modra  <amodra@bigpond.net.au>
4514
4515         PR target/14406
4516         * config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn.
4517         (abstf2, abstf2_internal): New define_expand.
4518
4519 2004-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
4520
4521         PR optimization/14235
4522         * expr.c (convert_move): Copy the source to a new pseudo
4523         when converting from a sub-word source to a larger-than-word
4524         register which conflicts with the source.
4525
4526 2004-03-03  Zack Weinberg  <zack@codesourcery.com>
4527
4528         PR 13728
4529         * c-decl.c (diagnose_mismatched_decls): Issue an error for two
4530         parameters with the same name, unless one is a forward decl.
4531         Do not issue a redundant-redeclaration warning for forward
4532         decls of parameters.
4533
4534 2004-03-03  Stephane Carrez  <stcarrez@nerim.fr>
4535
4536         * config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
4537         because it breaks the 32-bit shift patterns that rely on a match_dup.
4538         (print_operand): Don't print a * before the base address.
4539
4540 2003-03-03  Richard Henderson  <rth@redhat.com>
4541
4542         PR opt/13862
4543         * cselib.c (cselib_record_sets): Don't record multiple sets in
4544         asm insns.
4545
4546 2004-03-03  Nicolas Pitre <nico@cam.org>
4547
4548         * config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
4549         small negative values.
4550
4551 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
4552
4553         * config/h8300/lib1funcs.asm (___fixunssfsi): Change the
4554         threshold to 0x4f.
4555
4556         Revert:
4557         2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
4558         * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
4559         as well.
4560         * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
4561         * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
4562
4563 2004-03-02  Richard Henderson  <rth@redhat.com>
4564
4565         PR middle-end/11767
4566         * coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
4567         * optabs.c (prepare_cmp_insn): Force trapping memories to registers
4568         before the compare, if flag_non_call_exceptions.
4569
4570 2004-03-02  Richard Henderson  <rth@redhat.com>
4571
4572         PR middle-end/14327
4573         * stmt.c (expand_computed_goto): Do do_pending_stack_adjust before
4574         emitting the label, not after.
4575
4576 2004-03-02  David O'Brien  <obrien@FreeBSD.org>
4577
4578         * config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
4579         * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
4580         %(fbsd_dynamic_linker),
4581         (LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
4582         config/i386/freebsd.h
4583         * config/arm/freebsd.h: Ditto.
4584         * config/i386/freebsd.h: Ditto.
4585         * config/i386/freebsd64.h: Ditto.
4586         * config/ia64/freebsd.h: Ditto.
4587         * config/rs6000/sysv4.h: Ditto.
4588         * config/sparc/freebsd.h: Ditto.
4589
4590 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
4591
4592         * config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable.
4593         (m68hc11_mov_addr_mode): Likewise.
4594         (m68hc11_override_options): Initialize them based on target.
4595         (register_indirect_p): Allow a MEM for indirect addressing modes and
4596         use flags to control what is allowed.
4597         (m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for
4598         supported addressing modes.
4599         (m68hc11_register_indirect_p): Use m68hc11_addr_mode.
4600         (go_if_legitimate_address_internal): Likewise.
4601         (m68hc11_indirect_p): Likewise and check the mode.
4602         (print_operand): Allow a (MEM (MEM)) and generate indirect addressing.
4603
4604 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
4605
4606         * config/m68hc11/m68hc11.md (move peephole2): New peepholes to optimize
4607         sequences of moves.
4608         (add peepholes): New peepholes to optimize sequences adding small
4609         constants.
4610         (bset peepholes): New peepholes to transform an OR in a bset form
4611         (bclr peepholes): Likewise for bclr form.
4612         (cmp peepholes): New peepholes to avoid register copies when comparing.
4613
4614 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
4615
4616         * config/m68hc11/m68hc11.md ("*pushdi_internal"): New insn and split
4617         to separate push from moves.
4618         ("*pushdf_internal"): Likewise.
4619         ("*pushsf_internal"): Likewise.
4620         ("*pushsi_internal"): Likewise.
4621         ("movdi_internal"): Use define_insn_and_split; non push operand.
4622         ("movdf_internal"): Likewise.
4623         ("movsf_internal"): Likewise.
4624         ("movsi_internal"): Likewise.
4625         ("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints
4626         ("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise.
4627         ("*ashlsi3_const1", "*lshrsi3_const1"): Likewise.
4628
4629 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
4630
4631         * config/m68hc11/m68hc11.md ("tstqi_z_used"): Use define_insn_and_split.
4632         ("cmphi_z_used", "cmpqi_z_used"): Likewise.
4633         ("movstrictsi", "movstricthi", "movstrictqi"): Likewise.
4634         ("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise.
4635         ("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise.
4636         ("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise.
4637         ("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise.
4638         ("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise.
4639         ("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise.
4640         ("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise.
4641         ("*lshrdi3_const32", "*lshrdi_const1"): Likewise.
4642
4643 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
4644
4645         * config/m68hc11/m68hc11.md (SOFT_TMP_REGNUM): Define.
4646         (SOFT_XY_REGNUM): Define.
4647         (cmp split): Use the above instead of hard coded numbers.
4648         (8-bit op split): No need to check the mode; allow Q_REG.
4649         (ashift split): Adjust the first operand if it uses the SP and we
4650         are pushing the shifted value.
4651         (plus shift split): Fix when a source is in register D+X.
4652         ("doloop_end"): Pass dummy arguments to gen_rtx_NE.
4653
4654 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
4655
4656         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when
4657         comparing with Z register.
4658
4659 2004-03-02  Loren James Rittle  <ljrittle@acm.org>
4660
4661         * gcc/doc/install.texi (*-*-freebsd*): Update target information.
4662
4663 2004-03-01  Mark Mitchell  <mark@codesourcery.com>
4664
4665         PR bootstrap/14356
4666         * gcc.c (process_command): Remove const-qualification from argv.
4667         (main): Likewise.
4668
4669 2004-03-01  Mircea Namolaru  <namolaru@il.ibm.com>
4670
4671         * cfgloop.h (get_var_set_from_bct, is_bct_cond): Declaration of
4672         new functions.
4673         * cfgloopanal.c: Include loop.h.
4674         (get_var_set_from_bct): New function.
4675         (is_bct_cond): New function.
4676         (blocks_single_set_registers): Handle branch and count jumps.
4677         (count_loop_iterations): Likewise.
4678         (simple_increment): Likewise
4679         * doloop.c (doloop_condition_get): Export.
4680         * loop-init.c (fixup_loop_exit_succesor): New function.
4681         (loop_optimizer_finalize): Handle loops ending with branch and
4682         count jumps.
4683         * loop-unroll.c: Include toplev.h
4684         (discard_increment): New function.
4685         (expand_bct): New function.
4686         (peel_loop_completely): Handle the removal of branch and count jumps.
4687         (unroll_loop_constant_iterations): Likewise.
4688         (unroll_loop_runtime_iterations): Likewise
4689         * loop.h (doloop_condition_get): Declare.
4690
4691 2004-02-29  Mark Mitchell  <mark@codesourcery.com>
4692
4693         PR debug/14328
4694         * dwarf2out.c (gen_enumeration_type_die): Output all enumeration
4695         constants as signed values.
4696
4697 2004-02-29  Mark Mitchell  <mark@codesourcery.com>
4698
4699         PR middle-end/13448
4700         * c-tree.h (readonly_warning): Rename to ...
4701         (readonly_error): ... this.
4702         * c-typeck.c (build_unary_op): Adjust accordingly.
4703         (readonly_warning): Rename to ...
4704         (readonly_error): ... this and issue errors, not warnings.
4705         (build_modify_expr): Call readonly_error, not readonly_warning.
4706         (c_expand_asm_operands): Likewise.
4707         * tree-inline.c (optimize_inline_calls): Do not inline functions
4708         after errors have occurred.
4709
4710 2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
4711
4712         * doc/cppopts.texi: Fix a typo.
4713
4714 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4715
4716         * pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
4717
4718 2004-02-27  Ian Lance Taylor  <ian@wasabisystems.com>
4719
4720         PR optimization/7871
4721         * flow.c (mark_set_1): Don't add LOG_LINKS for global registers
4722         from or to call insns.
4723
4724 2004-02-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
4725
4726         PR optimization/7871
4727         * flow.c (propagate_one_insn): Interpret calls as setting global
4728         registers, not merely clobbering them.
4729
4730 2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
4731
4732         * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
4733         as well.
4734         * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
4735         * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
4736
4737 2004-02-27  Daniel Jacobowitz  <drow@mvista.com>
4738
4739         * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
4740         size for minipool references.
4741
4742 2004-02-27  Eric Botcazou  <ebotcazou@act-europe.fr>
4743             Roger Sayle  <roger@eyesopen.com>
4744
4745         * fold-const.c (fold): Revert 2004-02-25 change.  Use the original
4746         operands to build a tree with swapped operands.
4747         * expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
4748         'unsignedp' predicate to specify the signedness.
4749
4750 2004-02-26  Aldy Hernandez  <aldyh@redhat.com>
4751
4752         * config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and
4753         fix_truncsfsi2.
4754
4755         * config/rs6000/spe.md: Delete spe_efsctuiz.
4756         Add spe_fixuns_truncsfsi2.
4757         Add spe_fix_truncsfsi2.
4758
4759 2004-02-26  Bob Wilson  <bob.wilson@acm.org>
4760
4761         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
4762
4763 2004-02-25  James E Wilson  <wilson@specifixinc.com>
4764
4765         * gcc-simple.c (rtl_zone, tree_zone, garbage_zone, ggc_alloc_typed,
4766         ggc_alloc_zone): New.
4767         (ggc_pch_count_object, gcc_pch_alloc_object, ggc_pch_write_object):
4768         Add bool is_string parameter.
4769
4770 2004-02-26  Alan Modra  <amodra@bigpond.net.au>
4771
4772         * gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
4773         beginning of block.  Do not delete CC setter unless HAVE_cc0.
4774
4775 2004-02-25  Kelley Cook  <kcook@gcc.gnu.org>
4776
4777         * doc/contrib.texi: Add an entry for myself.
4778
4779 2004-02-25  Kelley Cook  <kcook@gcc.gnu.org>
4780
4781         * config.gcc: Add comment describing extra_gcc_objs.
4782         i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
4783         * configure.ac (extra_gcc_objs): New substitution variable.
4784         (host_extra_gcc_objs): Don't substitute.
4785         * configure: Regenerate.
4786         * Makefile.in: Use extra_gcc_objs.
4787
4788 2004-02-25  Eric Botcazou  <ebotcazou@act-europe.fr>
4789
4790         * fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
4791         comparisons with regard to signedness.
4792
4793 2004-02-25  Jakub Jelinek  <jakub@redhat.com>
4794
4795         * gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
4796         fopen.
4797         * libgcov.c: Include sys/stat.h.
4798         * config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
4799         * config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
4800         * config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
4801         * config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
4802
4803 2004-02-25  Richard Earnshaw  <rearnsha@arm.com>
4804
4805         * arm.c (arm_legitimate_index_p): For QImode the range of an offset
4806         is -4095...+4095 inclusive.
4807
4808 2004-02-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
4809
4810         * doc/install.texi (sparc-sun-solaris2* specific notes): Document
4811         the bootstrap failure with Sun CC 5.4 and 5.5.
4812
4813 2004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
4814
4815         * cse.c (cse_change_cc_mode_insns): Stop at any instruction
4816         which modifies NEWREG.
4817         (cse_condition_code_reg): Update the mode of CC_REG in
4818         CC_SRC_INSN on our own.
4819
4820 2004-02-24  Michael Matz  <matz@suse.de>
4821
4822         * config/i386/i386.c (ix86_comp_type_attributes): Check for
4823         regparm attributes.
4824
4825 2004-02-24  Aldy Hernandez  <aldyh@redhat.com>
4826
4827         * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
4828         (spe_fixuns_truncsfsi2): Delete.
4829
4830         * config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
4831         (fixuns_truncsfsi2): Delete.
4832
4833 2004-02-24  Josef Zlomek  <zlomekj@suse.cz>
4834
4835         PR/14240
4836         * rtlanal.c (replace_label): Fix replacing labels in constant pool.
4837
4838 2004-02-24  Bob Wilson  <bob.wilson@acm.org>
4839
4840         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
4841         (init_cumulative_args): Likewise.
4842         (a7_overlap_mentioned_p): Delete prototype.
4843         * config/xtensa/xtensa.c (struct machine_function): Replace
4844         incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
4845         Add set_frame_ptr_insn field.
4846         (xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
4847         (xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
4848         if the operand is an argument in a7.  If so, copy a7 to a new pseudo
4849         at the function entry and replace the operand with the pseudo.
4850         (init_cumulative_args): Remove unused arguments.  Add new "incoming"
4851         argument and record this flag in CUMULATIVE_ARGS.
4852         (function_arg): Remove result_mode and special-case code to handle
4853         arguments in a7.  Instead, set need_a7_copy flag when there is an
4854         incoming argument in a7.
4855         (xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
4856         and use the value recorded in cfun->machine->set_frame_ptr_insn.
4857         (xtensa_builtin_saveregs): Check for negative gp_left value.  Set
4858         need_a7_copy and vararg_a7 flags.  Use move_block_from_reg instead of
4859         special-case code.
4860         (a7_overlap_mentioned_p): Delete.
4861         * config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
4862         (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
4863         arguments to init_cumulative_args and pass "incoming" flag instead.
4864         (BLOCK_REG_PADDING): Delete.
4865         * config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
4866         checks for reload_in_progress and reload_completed.  Update calls to
4867         xtensa_copy_incoming_a7.
4868         (ashlsi3): Rename existing insn to ashlsi3_internal.  Add expander
4869         to call xtensa_copy_incoming_a7.
4870
4871 2004-02-24  Richard Earnshaw  <rearnsha@arm.com>
4872
4873         * invoke.texi (ARM Options): Mark -mapcs-26 and -mno-alignment-traps
4874         as deprecated.  Remove already deprecated synonyms.
4875         * arm.c (arm_override_options): Generate an inform message if the
4876         user tries to invoke the compiler in apcs-26 mode.
4877         * arm.h (TARGET_SWITCHES): Remove help comments from deprecated
4878         switches. Delete deprecated synonyms for -malignment-traps.
4879         (TARGET_DEFAULT): Default to alignment traps.
4880         * arm/coff.h (TARGET_DEFAULT): Default to alignment traps.
4881         * arm/elf.h arm/netbsd.h arm/pe.h arm/semi.h arm/semiaof.h: Likewise.
4882         * arm/unknown-elf.h arm/wince-pe.h: Likewise.
4883
4884 2004-02-23  H.J. Lu  <hongjiu.lu@intel.com>
4885
4886         * config/i386/i386.h: Deprecate -mpni/-mno-pni.
4887
4888 2004-02-23  Kelley Cook  <kcook@gcc.gnu.org>
4889
4890         * config/i386/i386.c: Rename pni to sse3.
4891         * config/i386/i386.h: Likewise.
4892         * config/i386/i386.md: Likewise.
4893         * config/i386/pmmintrin.h: Likewise.
4894         * doc/extend.texi: Likewise.
4895         * doc/invoke.texi: Likewise.
4896
4897 2004-02-23  Andrew Pinski  <pinskia@physics.uc.edu>
4898
4899         * config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
4900         * config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
4901
4902 2004-02-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
4903             Falk Hueffner  <falk@debian.org>
4904
4905         PR c/14188
4906         * builtins.c (expand_builtin_va_arg): Emit an informative message
4907         if a trap is generated.
4908         * c-typeck.c (build_function_call): Likewise.
4909
4910 2004-02-22  Christopher Faylor  <cgf@redhat.com>
4911
4912         * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
4913         extra host object file when targetting cygwin rather than generic
4914         object files.
4915
4916 2004-02-22  Matthias Klose  <doko@debian.org>
4917
4918         Taken from mainline:
4919
4920         2004-02-12  Geoffrey Keating  <geoffk@apple.com>
4921
4922         * Makefile.in (install-man): Use $(CPP_INSTALL_NAME) and
4923         $(GCOV_INSTALL_NAME) to install manpages.  Remove generic rule
4924         for installing .1 manpages.  Add rules for installing cpp
4925         and gcov manpages under their installed names.
4926
4927 2004-02-22  Hans-Peter Nilsson  <hp@axis.com>
4928
4929         PR target/14209
4930         * config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak
4931         constraints to not match postincrement.  Adjust the predicate to
4932         exclude a volatile memory reference.
4933         ("*andsi_clear"): Tweak constraints to not match postincrement.
4934         Adjust the predicate to exclude a volatile memory reference.
4935         ("*andhi_clear"): Ditto.  Rename from "*andhi_clear_signed".
4936         ("*andhi_clear_unsigned"): Remove, non-matching pattern.
4937
4938 2004-02-21  Christopher Faylor  <cgf@redhat.com>
4939
4940         * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
4941         object file when targetting cygwin.
4942         * config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
4943         overridden by top-level Makefile.
4944
4945 2004-02-21  Alan Modra  <amodra@bigpond.net.au>
4946
4947         * combine.c (can_combine_p): Don't ignore SETs marked with
4948         REG_EH_REGION notes.
4949
4950 2004-02-21  Jan Hubicka  <jh@suse.cz>
4951
4952         * params.def (max-peeled-insns, max-completely-peeled-insns,
4953         max-once-peeled-insns): Set to 400.
4954
4955 2004-02-20  Falk Hueffner  <falk@debian.org>
4956
4957         PR target/14201
4958         * config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
4959         numbers.
4960
4961 2004-02-20  Mohan Embar  <gnustuff@thisiscool.com>
4962             Tom Tromey  <tromey@redhat.com>
4963
4964         * doc/install.texi: Moved --disable-libgcj and
4965         --with-system-zlib documentation to new section for
4966         Java-specific options.
4967         Added explicit Cross-Compiler-Specific Options subheading.
4968         Added section for Java-specific options.
4969
4970 2004-02-20  James E Wilson  <wilson@specifixinc.com>
4971
4972         * toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
4973
4974 2004-02-20  Josef Zlomek  <zlomekj@suse.cz>
4975
4976         * tree-inline.c (copy_body_r): Do not replace ret_label.
4977
4978 2004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
4979
4980         * gcc.c (process_command): Allow translation of the copyright
4981         symbol but not the rest of the copyright message.
4982         * gcov.c (print_version): Likewise.  Allow translation of the
4983         message about warranty.
4984
4985 2004-02-19  Aldy Hernandez  <aldyh@redhat.com>
4986
4987         * config/rs6000/spe.md (spe_fixunssfsi2): Rename to
4988         spe_fixuns_truncsfsi2.
4989
4990         * config/rs6000/rs6000.md (fixunssfsi2): Rename to
4991         fixuns_truncsfsi2.
4992
4993 2004-02-19  Richard Sandiford  <rsandifo@redhat.com>
4994             Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
4995
4996         * config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
4997         * config/mips/mips.md: Expand comment above unaligned loads and stores.
4998
4999 2004-02-20  Alan Modra  <amodra@bigpond.net.au>
5000
5001         * function.c (assign_parms): Correct leakage of mainline code
5002         in last commit.  Also leakage from INIT_CUMULATIVE_ARGS patch.
5003
5004 2004-02-19  Zack Weinberg  <zack@codesourcery.com>
5005
5006         * config/ia64/ia64.c (ia64_function_arg): In big-endian mode,
5007         when passing single SFmode quantities in general registers,
5008         put them in the high half.
5009         (struct extern_func_list, extern_func_head): Mark with GTY(()).
5010         (ia64_hpux_add_extern_decl): Save the decl, not the name string.
5011         Allocate memory with ggc_alloc.  No need to copy anything.
5012         (ia64_hpux_file_end): Update to match.
5013
5014 2004-02-19  David Daney <ddaney@avtrex.com>
5015
5016         PR preprocessor/14198
5017         * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
5018         builtin_assert ("machine=mips")
5019
5020 2004-02-19  Ulrich Weigand  <uweigand@de.ibm.com>
5021
5022         * config/s390/s390.md ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc",
5023         "*subsf3_cconly"): Subtraction is not commutative.
5024
5025 2004-02-19  Alan Modra  <amodra@bigpond.net.au>
5026
5027         * function.c (assign_parms): When building decl_rtl for
5028         SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer.
5029
5030 2004-02-19  Olivier Hainque  <hainque@act-europe.fr>
5031
5032         * expr.c (is_aligning_offset): Check if we are aligning the
5033         expressions's address over BIGGEST_ALIGNMENT in bytes, not
5034         in bits.
5035
5036 2004-02-19  Jan Hubicka  <jh@suse.cz>
5037
5038         * genextract.c (main): Do not output the memset when not checking.
5039
5040 2004-02-18  Jakub Jelinek  <jakub@redhat.com>
5041
5042         * config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
5043         by default.
5044
5045 2004-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
5046
5047         * config/s390/s390.md ("divmoddisi3"): Fix incorrect mode.
5048
5049 2004-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5050
5051         * pa.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM when not
5052         generating PIC code.
5053
5054 2004-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
5055
5056         * config/s390/s390.c (s390_mainpool_start): Delete the main pool
5057         placeholder insn when chunkifying the pool.
5058
5059 2004-02-18  Per Bothner  <per@bothner.com>
5060
5061         * cpphash.h (struct cpp_buffer):  Restore return_at_eof field.  This
5062         partly reverts my 2003-10-01 change, because we're back to logically
5063         including <command line> inside the main line.
5064         * cpplex.c (_cpp_get_fresh_line):  Check return_at_eof field.
5065         * cppmacro.c (cpp_scan_nooutput):  Set return_at_eof of current buffer.
5066         Fixes PR preprocessor/14103.
5067
5068 2004-02-18  Richard Earnshaw  <rearnsha@arm.com>
5069
5070         PR target/13866
5071         * arm.c (load_multiple_operation): Don't insist that the source reg
5072         of a post-increment component is the same as the destination.
5073         (store_multiple_operation): Likewise.
5074
5075 2004-02-18  Paul Brook  <paul@codesourcery.com>
5076
5077         * rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX
5078
5079 2004-02-18  Mark Mitchell <mark@codesourcery.com>
5080
5081         PR c++/11326
5082         * config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL
5083         fntype.
5084
5085 2004-02-18  Paul Brook  <paul@codesourcery.com>
5086
5087         PR debug/12934
5088         * dwarf2out.c (loc_descriptor_from_tree): Handle
5089         EXPR_WITH_FILE_LOCATION.
5090
5091 2004-02-17  Mark Mitchell  <mark@codesourcery.com>
5092
5093         PR c++/11326
5094         * c-common.c (flag_abi_version): Remove.
5095         * c-common.h (flag_abi_version): Likewise.
5096         * c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
5097         * c.opt (fabi-version): Remove.
5098         * calls.c (expand_call): Always pass a function type to
5099         struct_value_rtx.  Use convert_memory_address.
5100         * common.opt (fabi-version): Add it.
5101         * flags.h (flag_abi_version): Likewise.
5102         (abi_version_at_least): New macro.
5103         * opts.c (common_handle_option): Add OPT_fabi_version.
5104         * toplev.c (flag_abi_version): Define it.
5105         * config/ia64/ia64.h (STRUCT_VALUE_REGNUM): Remove.
5106         * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): Define it.
5107         (ia64_struct_retval_addr_is_first_parm_p):
5108         New function.
5109         (ia64_output_mi_thunk): Use it.
5110         (ia64_struct_value_rtx): New function.
5111
5112 2004-02-18  Alan Modra  <amodra@bigpond.net.au>
5113
5114         PR optimization/14119
5115         * combine.c (try_combine): When attemting to fix unrecognized insns,
5116         don't delete SETs marked with REG_EH_REGION notes.
5117
5118 2004-02-17  Jan Hubicka  <jh@suse.cz>
5119
5120         PR bootstrap/14180
5121         * cselib.c (remove_useless_values): Do not access released
5122         memory.
5123
5124 2004-02-17  Ulrich Weigand  <uweigand@de.ibm.com>
5125
5126         * combine.c (simplify_if_then_else): Do not replace
5127         (if_then_else (ne reg 0) (0) (const_int)) by (reg) if the
5128         modes differ.
5129
5130 2004-02-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5131
5132         * config/mips/t-iris6gld: Renamed to ...
5133         * config/mips/t-irix-gld: ... this.
5134         * config.gcc (mips-sgi-irix6*): Reflect this
5135         (mips-sgi-irix5*): Use it with GNU ld.
5136
5137         * config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
5138         to ...
5139         * config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
5140         * config/mips/t-irix-gld: Reflect this.
5141         * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
5142
5143         * config/mips/iris5gld.h: New file.
5144         * config.gcc (mips-sgi-irix5*): Use it with GNU ld.
5145         Only use collect2 without gas.
5146
5147         * config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
5148         Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
5149         (STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
5150         * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
5151
5152         * config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
5153         * config/mips/iris5.h: ... here.
5154
5155         * config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
5156         IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
5157         (STARTFILE_SPEC, ENDFILE_SPEC): Define.
5158
5159         * config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
5160         using irix_startfile_spec, irix_endfile_spec.
5161         * patches.summary (http):
5162
5163 2004-02-17  Andrew Pinski  <pinskia@physics.uc.edu>
5164
5165         PR c++/14178
5166         * doc/invoke.texi (fabi-version): The default is 2 now.
5167
5168 2004-02-17  Jonathan Wakely  <redi@gcc.gnu.org>
5169
5170         * doc/install.texi: Update description of --gxx-include-dir to
5171         give correct default value. (merged from mainline)
5172
5173 2004-02-16  Matthias Klose  <doko@debian.org>
5174
5175         * config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
5176         in terms of SHLIB_SOVERSION.
5177         * config/m68k/t-slibgcc-elf-ver: New file.
5178         * config/pa/t-slibgcc-elf-ver: New file.
5179         * config.gcc (m68k-linux, parisc-linux): Use them when not
5180         sjlj exceptions are not configured.
5181
5182 2004-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
5183
5184         * config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()).
5185
5186 2004-02-16  Joseph S. Myers  <jsm@polyomino.org.uk>
5187
5188         * doc/sourcebuild.texi: Mention backends.html.
5189
5190 2004-02-15  Roger Sayle  <roger@eyesopen.com>
5191
5192         Backport from mainline:
5193
5194         2004-02-07  Roger Sayle  <roger@eyesopen.com>
5195         PR middle-end/13696
5196         * fold-const.c (fold_convert): New function to provide type
5197         conversion to the middle-end without using convert.
5198         (negate_expr, associate_trees, size_diffop, omit_one_operand,
5199         operand_equal_for_comparison_p, pedantic_omit_one_operand,
5200         invert_truthvalue, optimize_bit_field_compare, range_binop,
5201         decode_field_reference, make_range, build_range_check, unextend,
5202         fold_truthop, extract_muldiv_1, fold_mathfn_compare,
5203         fold_binary_op_with_conditional_arg, fold_inf_compare,
5204         fold_single_bit_test, fold, multiple_of_p): Replace all calls to
5205         convert with calls to fold_convert.
5206
5207         2004-02-09  Roger Sayle  <roger@eyesopen.com>
5208         * fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
5209         tree code rather than call fold_convert, which doesn't specify a
5210         default floating point to integer conversion.
5211
5212         2004-02-10  Paolo Bonzini  <bonzini@gnu.org>
5213         PR c/14092
5214         * fold-const.c (fold) <NEGATE_EXPR>: Convert result of
5215         negate_expr back to the original type.
5216
5217 2004-02-15  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
5218
5219         Backport from mainline:
5220
5221         2004-02-05  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
5222         * config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
5223         to $$(slibdir) in the installation commands.
5224
5225 2004-02-15  Roger Sayle  <roger@eyesopen.com>
5226
5227         Backport from mainline:
5228
5229         2004-01-20  Roger Sayle  <roger@eyesopen.com>
5230         * fold-const.c (fold_convert): Rename to fold_convert_const.
5231         (fold_convert_const): Change arguments to take a tree_code,
5232         a type and the operand/expression to be converted.  Return
5233         NULL_TREE if no simplification is possible.
5234         (fold): Adjust call to fold_convert to match new fold_convert_const.
5235         Avoid modifying the tree passed to fold in-place.
5236
5237 2004-02-15  Jan Hubicka  <jh@suse.cz>
5238
5239         * cselib.c (value_pool): New.
5240         (new_cselib_val): Use pool.
5241         (cselib_init): Initialize value_pool
5242         (cselib_finish): Free pool.
5243
5244         * cselib.c: Include alloc-pool.h
5245         (empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
5246         (elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
5247         (new_elt_list, new_elt_loc_list, unchain_one_elt_list,
5248         unchain_one_elt_loc_list_pool, unchain_one_value,
5249         new_cselib_val): Simplify using allocpool.
5250         (cselib_init): Initialize allocpools.
5251         (cselib_finish): Finish allocpools.
5252
5253 2004-02-14  Richard Sandiford  <rsandifo@redhat.com>
5254
5255         Backport from mainline:
5256
5257         2002-04-08  Richard Sandiford  <rsandifo@redhat.com>
5258         * real.c (encode_ibm_extended): Normalize the input value before
5259         converting it to a double.  Handle the case where a normal value
5260         rounds to infinity.
5261
5262 2004-02-14  Olivier Hainque  <hainque@act-europe.fr>
5263
5264         * loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT
5265         for start_value when it is directly moved into reg, and factorize
5266         the retrieval of GET_MODE (reg).
5267
5268 2004-02-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5269
5270         * configure.ac: Search for as, ld below libexec/gcc.
5271         * configure: Regenerate.
5272
5273 2004-02-13  Jan Hubicka  <jh@suse.cz>
5274
5275         * combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
5276
5277         * genrecog.c (find_operand): add extra argument stop.
5278         (validate_pattern): Verify that mach_dup is duplicating operand
5279         defined lexically earlier.
5280
5281 2004-02-13  Ian Lance Taylor  <ian@wasabisystems.com>
5282
5283         PR other/10584
5284         * c-opts.c (c_common_post_options): Disable function inlining when
5285         using -finstrument-functions.
5286         * doc/invoke.texi (Code Gen Options): Document this restriction.
5287
5288 2004-02-12  Chris Demetriou  <cgd@broadcom.com>
5289
5290         * config/mips/mips.md (casesi_internal, casesi_internal_di):
5291         Use ".set macro" to avoid warnings about multi-instruction
5292         macros, since they're intentional.
5293
5294 2004-02-13  Jan Hubicka  <jh@suse.cz>
5295
5296         * alias.c (find_base_term, get_addr):  Do not dereference NULL
5297         pointer when all VALUE's locations has been invalidated.
5298         (rtx_equal_for_memref_p): Simplify checking of VALUEs.
5299
5300         * cselib.c (discard_useless_values):  Clear out value pointer pointing
5301         to datastructure to be recycled.
5302
5303         * gcse.c (bypass_block): Prevent edges to be unified when we are
5304         about to emit compenstation code.
5305
5306         * gcse.c (bypass_block): Fix a typo in the previous check-in
5307         to the file.
5308
5309         * alloc-pool.c (align_four): Kill.
5310         (create_alloc_pool): Align size to eight.
5311         (free_alloc_pool, free_pool): Invalidate deallocated data.
5312
5313 2004-02-12  Richard Sandiford  <rsandifo@redhat.com>
5314
5315         PR bootstrap/13617
5316         * config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare.
5317         (mips_declare_object): Make variadic.
5318         * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use
5319         mips_output_aligned_decl_common.
5320         * config/mips/mips.c (mips_output_aligned_decl_common): New function.
5321         (mips_declare_object): Make variadic.
5322
5323 2004-02-12  Jan Hubicka  <jh@suse.cz>
5324
5325         * tree-optimize.c (tree_rest_of_compilation): Do not release DECL_ARGUMENTS
5326
5327 2004-02-12  Ian Lance Taylor  <ian@wasabisystems.com>
5328
5329         PR inline-asm/6162
5330         * reload.c (find_reloads): Only support one pair of commutative
5331         operands.
5332
5333 2004-02-12  Ian Lance Taylor  <ian@wasabisystems.com>
5334
5335         PR target/1532
5336         Backport from mainline:
5337
5338         2004-02-11  Richard Henderson  <rth@redhat.com>
5339
5340         * flow.c (insn_dead_p): A clobber of a dead hard register is a
5341         dead insn after reload.
5342
5343         2004-01-24  Ian Lance Taylor  <ian@wasabisystems.com>
5344
5345         * cse.c (cse_cc_succs): Change the mode of the source expression
5346         as soon as decide we need a new mode.  Don't permit changing modes
5347         if we found a match in a successor block.
5348         (cse_condition_code_reg): Save original mode of source expression
5349         so that we know whether we have to change the mode in other
5350         insns.
5351
5352         2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
5353
5354         * cse.c: (cse_cc_succs) Fix comparison warning.
5355
5356         2004-01-23  Ian Lance Taylor  <ian@wasabisystems.com>
5357
5358         * cse.c (cse_change_cc_mode): New static function.
5359         (cse_change_cc_mode_insns, cse_cc_succs): Likewise.
5360         (cse_condition_code_reg): New function.
5361         * rtl.h (cse_condition_code_reg): Declare.
5362         * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
5363         * target.h (struct gcc_target): Add fixed_condition_code_regs and
5364         cc_modes_compatible.
5365         * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
5366         (TARGET_CC_MODES_COMPATIBLE): Define.
5367         (TARGET_INITIALIZER): Add new initializers.
5368         * targhooks.c (default_cc_modes_compatible): New function.
5369         * targhooks.c (default_cc_modes_compatible): Declare.
5370         * hooks.c (hook_bool_intp_intp_false): New function.
5371         * hooks.h (hook_bool_intp_intp_false): Declare.
5372         * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
5373         (TARGET_CC_MODES_COMPATIBLE): Define.
5374         (ix86_fixed_condition_code_regs): New static function.
5375         (ix86_cc_modes_compatible): Likewise.
5376         * doc/tm.texi (Condition Code): Document new hooks.
5377
5378 2004-02-12  Hartmut Penner  <hpenner@de.ibm.com>
5379
5380         * config/rs6000/altivec.md (*movv4si_internal): At least one
5381         operand must be register_operand.
5382         (*movv8hi_internal1): Likewise.
5383         (*movv16qi_internal1): Likewise.
5384         (*movv4sf_internal1): Likewise.
5385
5386 2004-02-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
5387
5388         PR target/14113
5389         Backport from mainline:
5390
5391         2004-02-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
5392
5393         * config/sparc/sparc.md (call followed by jump define_peephole's):
5394         Delete.
5395
5396 2004-02-12  Hartmut Penner  <hpenner@de.ibm.com>
5397
5398         * gcc/config/rs6000/rs6000.c (rs6000_override_options)
5399         Set AltiVec ABI and vrsave as default for ppc64 linux.
5400         (init_cumulative_args): Post error, if try to return
5401         value in AltiVec register without enable AltiVec.
5402         (function_arg_advance): Ditto for passing arguments.
5403
5404 2004-02-11  Joseph S. Myers  <jsm@polyomino.org.uk>
5405
5406         PR c/456
5407         * cppexp.c (num_binary_op): Don't allow comma operators in #if
5408         constant expressions at all outside C99 mode if pedantic.
5409
5410 2004-02-10  Aldy Hernandez  <aldyh@redhat.com>
5411
5412         * config/rs6000/spe.md ("*movv2si_internal"): Check for register
5413         operand.
5414         (movv4hi_internal): Same.
5415         (movv2sf_internal): Same.
5416         (movv1di_internal): Same.
5417
5418 2004-02-11  Richard Sandiford  <rsandifo@redhat.com>
5419
5420         * emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
5421         a label before updating its usage count.
5422
5423 2004-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
5424
5425         PR c/14088
5426         real.c (real_from_string): Look for 'X' as well as 'x' in
5427         hexfloat strings.
5428
5429 2004-02-10  Per Bothner  <per@bothner.com>
5430
5431         * c-opts.c (c_common_post_options):   Don't emit working directory
5432         in cpp output if -P was specified.
5433
5434 2004-02-10  Jakub Jelinek  <jakub@redhat.com>
5435
5436         PR optimization/13424
5437         Backport from mainline:
5438
5439         2004-01-29  Jakub Jelinek  <jakub@redhat.com>
5440         * emit-rtl.c (change_address): Use XEXP (memref, 0) instead
5441         of addr when creating MEM copy.
5442
5443         2004-01-28  Jakub Jelinek  <jakub@redhat.com>
5444         * expr.c (store_constructor): Revert 2003-12-03 change.
5445
5446         * emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
5447         expected before returning early.  Avoid sharing RTL if they
5448         need to be changed.
5449
5450         * config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
5451         handling so that memory attributes are preserved.  Don't call
5452         ix86_set_move_mem_attrs.
5453         (ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
5454         (ix86_expand_clrstr): Rename src argument to
5455         dst.  Rework rep_stos and strset handling so that memory attributes
5456         are preserved.
5457         (ix86_expand_strlen): Pass src argument to
5458         ix86_expand_strlensi_unroll_1.  Rework strlenqi_1 handling so that
5459         memory attributes are preserved.
5460         (ix86_expand_strlensi_unroll_1): Add src argument.  Use
5461         change_address instead of gen_rtx_MEM.
5462         * config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
5463         expanders.
5464         (strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
5465         strmovqi, strmovqi_rex64): Remove.
5466         (rep_mov*, strmov*): Prefix insn names with *.
5467         (strset, strset_singleop, rep_stos): New expanders.
5468         (strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
5469         strsetqi, strsetqi_rex64): Remove.
5470         (rep_stos*, strset*): Prefix insn names with *.
5471         (rep_stosqi_rex64): Likewise.  Fix mode of dirflag reg from DImode
5472         to SImode.
5473         (cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
5474         are preserved.
5475         (cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
5476         Prefix insn names with *.
5477         (cmpstrqi_nz_1, cmpstrqi_1): New expanders.
5478         (strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
5479         (strlenqi_1): New expander.
5480         * config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
5481
5482         2004-01-24  Jan Hubicka  <jh@suse.cz>
5483         * emit-rtl.c (change_address, adjust_address_1, offset_address,
5484         widen_memory_access):  Return early when there is nothing to change.
5485
5486 2004-02-10  David Edelsohn  <edelsohn@gnu.org>
5487
5488         * configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
5489         * configure: Regenerate.
5490
5491 2004-02-10  Ulrich Weigand  <uweigand@de.ibm.com>
5492
5493         * cfganal.c (flow_call_edges_add): Never split a libcall block.
5494
5495 2004-02-10  Richard Sandiford  <rsandifo@redhat.com>
5496
5497         * config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
5498         && TARGET_IRIX.
5499
5500 2004-02-09  Geoffrey Keating  <geoffk@apple.com>
5501
5502         PR 12028
5503         * config/rs6000/rs6000.c (ccr_bit): Don't let consistency check
5504         failure stop compilation, just print helpful message.
5505
5506 2004-02-09  Fariborz Jahanian <fjahanian@apple.com>
5507
5508         * expr.c (emit_group_load): split constant
5509         correctly into register components of PARALLEL insn.
5510
5511 2004-02-09  DJ Delorie  <dj@redhat.com>
5512
5513         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
5514         longer modify standard_exec_prefix, standard_bindir_prefix, or
5515         standard_startfile_prefix.
5516
5517 2004-02-09  James E Wilson  <wilson@specifixinc.com>
5518
5519         PR c++/11295
5520         * c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
5521         to expand_expr_real call, and pass in alt_rtl as last argument.
5522
5523         PR libstdc++/5625
5524         * builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
5525         * builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
5526         * builtins.def (BUILT_IN_EXTEND_POINTER): New.
5527         * except.c (expand_builtin_extend_pointer): New.
5528         * except.h (expand_builtin_extend_pointer): Declare.
5529
5530 2004-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5531
5532         * config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
5533         * config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
5534
5535         * config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
5536         * config/mips/iris5.h: ... here.
5537         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
5538
5539         * config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
5540         * config/mips/iris5.h: ... here.
5541
5542 2004-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5543
5544         * configure.ac: Remove default executable files before AC_PROG_CC.
5545         * configure: Regenerate.
5546
5547 2004-02-09  Kazu Hirata  <kazu@cs.umass.edu>
5548
5549         PR target/13721
5550         * config/h8300/h8300.c (byte_reg): Call abort() if asked to
5551         print a operand other than a register.
5552
5553 2004-02-09  Nick Clifton  <nickc@redhat.com>
5554
5555         * Import these patches from mainline sources:
5556
5557         2004-01-21  Inaoka Kazuhiro  <inaoka.kazuhiro@renesas.com>
5558
5559         * config/m32r/m32r.h (CPP_SPEC): Define.
5560
5561         2004-01-20  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
5562
5563         * config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
5564         not TARGET_M32RX_MASK.
5565
5566 2004-02-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
5567
5568         * cpplib.h (cpp_get_line_maps): Un-constify the structure
5569         pointed to by the pointer returned by the function.
5570         * cpplib.c (cpp_get_line_maps): Likewise.
5571
5572 2004-02-08  Kazu Hirata  <kazu@cs.umass.edu>
5573
5574         * c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
5575         warning.
5576
5577 2004-02-08  Joseph S. Myers  <jsm@polyomino.org.uk>
5578
5579         * README.Portability: Change "ISO C89" to "ISO C90".
5580         * c-parse.in (primary, initelt): Likewise.
5581
5582 2004-02-07  Zack Weinberg  <zack@codesourcery.com>
5583
5584         Bug 13856
5585         * c-decl.c (diagnose_mismatched_decls): Only give special
5586         treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
5587         is also true.
5588         (merge_decls): Don't clear DECL_BUILT_IN_CLASS and
5589         DECL_FUNCTION_CODE when defining a built-in function.
5590         Don't update DECL_ESTIMATED_INSNS.
5591         * dwarf2out.c (dwarf2out_decl): Don't ignore built-in
5592         FUNCTION_DECLs.
5593         * tree.h: Delete DECL_ESTIMATED_INSNS.
5594         * tree-inline.c (struct inline_data): Delete inlined_insns field.
5595         (expand_call_inline, optimize_inline_calls): Don't update
5596         DECL_ESTIMATED_INSNS nor inlined_insns.
5597         * cgraphunit.c (cgraph_analyze_function): Don't update
5598         DECL_ESTIMATED_INSNS.
5599
5600 2004-02-07  Zack Weinberg  <zack@codesourcery.com>
5601
5602         * c-common.c (shadow_warning): Delete.
5603         * c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
5604         * c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
5605         * c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
5606         * c-parse.in (free_parser_stacks): Delete.
5607
5608 2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
5609
5610         * c-opts.c, c-ppoutput.c, cppfiles.c, cpphash.h, cppinit.c,
5611         cpplib.h, diagnostic.h, fix-header.c, config/fp-bit.c,
5612         config/mips/iris5.h, doc/makefile.texi: Update copyright.
5613
5614 2004-02-06  James E Wilson  <wilson@specifixinc.com>
5615
5616         * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
5617         glibc 2.3 or better.
5618
5619 2004-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
5620
5621         * loop.c (force_movables): Transitively increase the priorities of
5622         all insns forces by an insn, not just the first one.
5623
5624 2004-02-06  Falk Hueffner  <falk@debian.org>
5625
5626         PR target/12898
5627         * config/alpha/alpha.c (alpha_emit_set_const_1): If
5628         no_new_pseudos, use gen_rtx_SET directly for SImode constants
5629         which need multiple instructions to emit.
5630
5631 2004-02-06  H.J. Lu  <hongjiu.lu@intel.com>
5632
5633         * doc/invoke.texi: Remove the pni option from -mfpmath=.
5634
5635 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
5636
5637         * doc/install.texi:  Update automake and autoconf version
5638         requirements.  Note where to find gcj automake version.
5639
5640 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
5641
5642         * Makefile.in (generate-manpages): Move dependencies to ...
5643         (man): here.
5644         * doc/makefile.texi: Document new targets.
5645         * doc/sourcebuild.texi (Make-lang.in): Document new langhooks.
5646
5647 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
5648
5649         PR/13485
5650         Makefile.in (srcextra):  Add a level of indirection to ...
5651         (gcc.srcextra): ... here.
5652         (po-generated): Delete.
5653         (po/$(PACKAGE).pot: Use srcextra instead of po-generated.  Depend on
5654         options.c.
5655         (start.encap): Remove superfluous lang.srcextra dependency.
5656         objc/Make-lang.in (po-generated):  Delete.
5657
5658 2004-02-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5659
5660         * config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
5661
5662 2004-02-05  Andreas Krebbel  <krebbel1@de.ibm.com>
5663
5664         * config/s390/s390.md ("*tmqidi_ext"): New insn.
5665         ("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
5666         pre-reload splitters are transformed to post-reload
5667         define_insn_and_split patterns.
5668         ("*tmqisi_ext"): Renamed old "*tmqi_ext".
5669
5670 2004-02-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5671
5672         PR middle-end/13750
5673         Revert:
5674         2004-01-15  Geoffrey Keating  <geoffk@apple.com>
5675         PR pch/13361
5676         * c-typeck.c (constructor_asmspec): Delete.
5677         (struct initializer_stack): Delete field 'asmspec'.
5678         (start_init): Delete saving of asmspec.
5679         (finish_init): Don't update constructor_asmspec.
5680         * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
5681         * stmt.c (expand_asm): Duplicate strings from tree.
5682         (expand_asm_operands): Likewise.
5683         * tree.c (tree_size): Update computation of size of STRING_CST.
5684         (make_node): Don't make STRING_CST nodes.
5685         (build_string): Allocate string with tree node.
5686         * tree.def (STRING_CST): Update comment.
5687         * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
5688         (tree_string): Place contents of string in tree node.
5689         * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
5690         from tree.
5691
5692 2004-02-05  Joseph S. Myers  <jsm@polyomino.org.uk>
5693
5694         * diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
5695         msgid.
5696
5697 2004-02-05  Paul Brook  <paul@codesourcery.com>
5698
5699         Backport from mainline.
5700
5701         2003-11-22  Phil Edwards  <phil@codesourcery.com>
5702
5703         PR target/12476
5704         * config/arm/arm.c (arm_output_mi_thunk):  In Thumb mode, use
5705         'bx' instead of 'b' to avoid branch range restrictions.  Output
5706         the thunk immediately before the thunked-to function.
5707         * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME):  Do not emit
5708         .thumb_func if a thunk is being generated.  Emit .code 16 along
5709         with .thumb_func if a thunk is not being generated.
5710
5711         2003-11-05  Mark Mitchell  <mark@codesourcery.com>
5712
5713         * calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P
5714         parameter.  Use it instead of current_function_is_thunk.
5715         * function.h (struct function): Update documentation for is_thunk.
5716         * tree.h (CALL_FROM_THUNK_P): New macro.
5717         * config/alpha/alpha.c (alpha_sa_mask): Do not check
5718         no_new_pseudos when testing current_function_is_thunk.
5719         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse.
5720
5721 2004-02-05  Joseph S. Myers  <jsm@polyomino.org.uk>
5722
5723         * sourcebuild.texi (Test Idioms): Update testcase naming
5724         conventions.
5725
5726 2004-02-04  Per Bothner  <per@bothner.com>
5727
5728         Partially revert/redo 2003-10-01 change; fix -fworking-directory.
5729         * c-ppoutput.c (pp_dir_change):  New function.
5730         * c-common.h (pp_dir_change):  New declaration.
5731         * cpplib.h (struct cpp_options):  Remove working_directory field.
5732         * cppinit.c (cpp_find_main_file, cpp_push_main_file):  Merge back to
5733         (cpp_read_main_file):  as before 10-01.  Call _cpp_stack_file.
5734         Don't handle -fworking_directory here, but in c_common_post_options.
5735         (read_original_directory): Don't back up when done.
5736         Don't clear no-longer used working_directory flag.
5737         * cpplib.h:  Update declarations to match.
5738         * c-lex.c (cb_dir_change):  Move to c-opts.c.
5739         (init_c_lex):  Don't set dir_change callback here, since we want
5740         to set it even if flag_preprocess_only.
5741         * c-opts.c (cb_dir_change):  Function moved from c-lex.c.
5742         (c_common_post_options):  Set dir_change callback.
5743         Call pp_dir_change if approporiate.
5744         (finish_options):  Don't call cpp_find_main_file here.  Hence remove
5745         unneeded parameter and result. Do LC_RENAME for <built-in>.
5746         (c_common_post_options):  Call cpp_read_main_file here instead.
5747         (c_common_init):  Update accordingly.
5748         (push_command_line_include):  Don't cpp_push_main_file.
5749         Do LC_RENAME rather than LC_LEASE to get back to main file.
5750         Compared to pre-10-01 version, inline cpp_rename_to_main_file.
5751         (c_common_parse_file):  Call cpp_read_main_file for subsequent main
5752         files, but call finish_options for all files.
5753         * c-opts.c (sanitize_cpp_opts):  Don't set cpp_opts->working_directory.
5754         * fix-header.c (read_scan_file):  Call cpp_read_main_file instead of
5755         cpp_find_main_file + cpp_push_main_file.
5756         * c-lex.c (fe_file_change):  Don't set main_input_filename here.
5757         * opts.c (handle_options):  Only set main_input_filename first time.
5758
5759 2004-02-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5760
5761         * Makefile.in: Move target, host overrides after per-language
5762         fragments.
5763
5764         * config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
5765         (GNATLIBCFLAGS): Remove -g.
5766
5767 2004-02-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
5768
5769         * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
5770         for all modes whose size is greater than 8 bytes if ARCH32.
5771         (sparc_va_arg): Handle all modes whose size is greater than 8 bytes
5772         by reference if ARCH32.
5773
5774 2004-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
5775
5776         * config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move
5777         to before adddi3 insn patterns.
5778         ("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31",
5779         "reload_insi"): Move to before addsi3 insn patterns.
5780
5781 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
5782
5783         * doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't
5784         mention deprecated target macros.
5785
5786 2004-02-03  Wolfgang Bangerth  <bangerth@dealii.org>
5787
5788         * doc/invoke.texi (x86 options): Fix spelling/wording.
5789
5790 2004-02-03  Richard Sandiford  <rsandifo@redhat.com>
5791
5792         * config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to
5793         put the original string in a comment.
5794         * config/mips/mips-protos.h (mips_output_ascii): Add prefix argument.
5795         * config/mips/mips.c (mips_output_ascii): Likewise.
5796         * config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly.
5797
5798 2004-02-03  Mark Mitchell  <mark@codesourcery.com>
5799
5800         PR c++/13975
5801         * tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and
5802         TI_PRIVATE.
5803         (access_public_node): Redefine.
5804         (access_protected_node): Likewise.
5805         (access_private_node): Likewise.
5806         * tree.c (build_common_tree_nodes): Create access_public_node,
5807         access_protected_node, and access_private_node.
5808
5809 2004-02-03  Alan Modra  <amodra@bigpond.net.au>
5810
5811         PR target/13914
5812         * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Use ap
5813         for retaddr_column.
5814
5815 2004-02-03  Kelley Cook  <kcook@gcc.gnu.org>
5816
5817         * opts.c (OPT_fwritable_strings): Deprecate -fwritable-strings.
5818
5819 2004-02-03  Steven Bosscher  <s.bosscher@student.tudelft.nl>
5820
5821         * toplev.c: Fix broken checkin of 2003-12-30, again.
5822
5823 2004-02-02  Eric Christopher  <echristo@redhat.com>
5824             Zack Weinberg  <zack@codesourcery.com>
5825
5826         * c-opts.c (c_common_handle_option): Add -finput-charset.
5827         * c.opt: Ditto.
5828         * cppcharset.c (_cpp_convert_input): New function.
5829         (_cpp_default_encoding): Ditto.
5830         * cpphash.h: Add prototypes for above.
5831         * cppfiles.c (read_file_guts): Use _cpp_convert_input.
5832         * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
5833         for narrow execution and input character sets.
5834         * doc/cppopts.texi: Document -finput-charset.
5835
5836 2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
5837
5838         * doc/invoke.texi (SPARC options): Further improve.
5839
5840 2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
5841
5842         * config/sparc/sparc.c (function_arg_slotno): Align TImode
5843         arguments on a 16-byte boundary in the parameter array if ARCH64.
5844         Split handling of TFmode.
5845
5846 2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
5847
5848         * doc/invoke.texi (SPARC options): Document that -mflat is deprecated.
5849
5850 2004-02-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
5851
5852         * config/sparc/sol2-bi.h: Handle TARGET_CPU_ultrasparc3.
5853         (CPP_CPU_SPEC): Handle -mcpu=ultrasparc3.
5854         (ASM_CPU_SPEC): Likewise
5855         * config/sparc/sol2.h: Handle TARGET_CPU_ultrasparc3.
5856         (ASM_CPU_SPEC): Remove -mcpu=v8plus.  Handle -mcpu=ultrasparc3.
5857
5858 2004-02-01  Jan Hubicka  <jh@suse.cz>
5859
5860         PR c++/12850
5861         * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
5862         initial pointers.
5863         * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
5864         for functions that will be only inlined.
5865         (cgraph_mark_function_to_output): Likewise.
5866         (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
5867         do not clear function body.
5868         * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
5869         (tree_rest_of_compilation): Reorganize the logic releasing function
5870         body to use callgraph datastructure.
5871
5872 2004-02-01  Richard Sandiford  <rsandifo@redhat.com>
5873
5874         * config/mips/mips.md (adddi3_internal_2): Remove superfluous %s.
5875
5876 2004-01-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
5877
5878         * doc/invoke.texi (SPARC options): Restructure and update.
5879
5880 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
5881
5882         * doc/invoke.texi: Follow spelling conventions.
5883         * doc/tm.texi: Likewise.
5884
5885 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
5886
5887         * doc/install.texi: Fix typos.
5888         * doc/invoke.texi: Likewise.
5889
5890 2004-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
5891
5892         * config/s390/s390.c (s390_decompose_address): Do not treat virtual
5893         registers as pointers.
5894         * config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode.
5895
5896 2004-01-31  Jan Hubicka  <jh@suse.cz>
5897
5898         Revert the following patch until after AIX linker bug is fixed:
5899         PR c++/12850
5900         * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
5901         initial pointers.
5902         * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
5903         for functions that will be only inlined.
5904         (cgraph_mark_function_to_output): Likewise.
5905         (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
5906         do not clear function body.
5907         * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
5908         (tree_rest_of_compilation): Reorganize the logic releasing function
5909         body to use callgraph datastructure.
5910
5911 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
5912
5913         alloc-pool.c, alloc-pool.h, c-lex.c, c-pragma.h,
5914         tree-optimize.c, config/alpha/alpha.c, config/alpha/alpha.h,
5915         config/alpha/alpha.md, config/alpha/vms.h, config/arm/arm.h,
5916         config/arm/linux-elf.h, config/avr/avr.c, config/c4x/c4x.c,
5917         config/c4x/c4x.md, config/d30v/d30v.h,
5918         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
5919         config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
5920         config/i386/cygming.h, config/i386/djgpp.h,
5921         config/i386/emmintrin.h, config/i386/gthr-win32.c,
5922         config/i386/i386-interix.h, config/i386/i386-protos.h,
5923         config/i386/i386.c, config/i386/i386.h, config/i386/openbsd.h,
5924         config/i386/winnt.c, config/i386/xm-mingw32.h,
5925         config/i386/xmmintrin.h, config/ia64/ia64-protos.h,
5926         config/ia64/ia64.c, config/ia64/ia64.md, config/ip2k/ip2k.c,
5927         config/iq2000/iq2000-protos.h, config/iq2000/iq2000.c,
5928         config/iq2000/iq2000.md, config/m32r/m32r-protos.h,
5929         config/m32r/m32r.c, config/m32r/m32r.md, config/m68k/m68k.md,
5930         config/m68k/netbsd-elf.h, config/mcore/mcore-elf.h,
5931         config/mcore/mcore.c, config/mcore/mcore.h,
5932         config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
5933         config/mips/iris5gas.h, config/mips/iris6.h,
5934         config/mips/iris6gas.h, config/mips/linux.h,
5935         config/mips/mips.md, config/mips/netbsd.h,
5936         config/mips/openbsd.h, config/mips/windiss.h,
5937         config/mn10300/mn10300.c, config/mn10300/mn10300.h,
5938         config/pdp11/pdp11.c, config/rs6000/aix.h,
5939         config/rs6000/altivec.h, config/rs6000/darwin.h,
5940         config/rs6000/xcoff.h, config/s390/s390-protos.h,
5941         config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
5942         config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h,
5943         config/sparc/sol2.h, config/stormy16/stormy16.h: Update
5944         copyright.
5945
5946 2004-01-30  Dara Hazeghi  <dhazeghi@yahoo.com>
5947
5948         PR bootstrap/9249
5949         * doc/install.texi: document --enable-__cxa_atexit option.
5950         * configure.ac: Disable __cxa_atexit if not supported.
5951         * configure: Regenerate.
5952
5953 2004-01-30  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
5954
5955         PR target/12978
5956         * c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
5957         Remove movstrqi_small because it conflicts with movstrqi_large.
5958
5959 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
5960
5961         * Makefile.in (abs_docdir, abs_srcdir): Define.
5962         (doc/%.dvi, doc/gccinstall.dvi): Use $(abs_docdir).
5963
5964 2004-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
5965
5966         PR optimization/12147
5967         * reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with
5968         RELOAD_FOR_OPADDR_ADDR.
5969         (reload_reg_reaches_end_p): RELOAD_FOR_OTHER_ADDRESS register
5970         might be reused as RELOAD_FOR_OPADDR_ADDR register.
5971
5972 2004-01-30  Jan Hubicka  <jh@suse.cz>
5973
5974         * reload.c (get_secondary_mem):  Fix updating of
5975         secondary_memlocs_elim_used.
5976
5977 2004-01-30  Andrew Pinski <pinskia@physics.uc.edu>
5978
5979         * toplev.c: Include alloc-pool.h.
5980         * Makefile.in (toplev.c): Update dependencies.
5981
5982 2004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
5983
5984         * config/sparc/sparc.h: Update copyright.
5985
5986 2004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
5987
5988         PR c/12818
5989         * varasm.c (const_hash_1) <STRING_CST>: Use the
5990         address to compute the hash value if flag_writable_strings.
5991         (compare_constant) <STRING_CST>: Compare the addresses
5992         if flag_writable_strings.
5993         (build_constant_desc): Do not copy the expression for a
5994         STRING_CST if flag_writable_strings.
5995
5996 2004-01-30  Jan Hubicka  <jh@suse.cz>
5997
5998         PR c++/12850
5999         * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
6000         initial pointers.
6001         * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
6002         for functions that will be only inlined.
6003         (cgraph_mark_function_to_output): Likewise.
6004         (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
6005         do not clear function body.
6006         * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
6007         (tree_rest_of_compilation): Reorganize the logic releasing function
6008         body to use callgraph datastructure.
6009
6010         * reload.c (secondary_memlocs_elim_used): New static variable.
6011         (get_secondary_mem): Update it.
6012         (find_reloads): Use it.
6013
6014         * alias.c (reg_base_value): Turn into varray.
6015         (reg_base_value_size): Kill.
6016         (old_reg_base_value): New deletable varray.
6017         (alias_invariant_size): New variable.
6018         (REG_BASE_VALUE): Update to use varray.
6019         (find_base_value): Likewise.
6020         (record_set): Likewise.
6021         (record_base_value): Likewise.
6022         (memrefs_conflict_p): Likewise.
6023         (record_set): Likewise
6024         (record_base_value): Likewise.
6025         (memrefs_conflict_p): Use alias_invariant_size.
6026         (init_alias_analysis): Use varray; set alias_invariant_size;
6027         rescale other arrays to be sized by maxreg.
6028         (end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
6029
6030         * basic-block.h (PROP_POSTRELOAD): New macro.
6031         (CLEANUP_LOG_LINKS): New.
6032         * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
6033         * toplev.c (rest_of_handle_life):  Preserve LOG_LINKS trought cleanup_cfg.
6034
6035         * alloc-pool.c: Include hashtab.h
6036         (alloc_pool_descriptor): New structure
6037         (alloc_pool_hash): New global variable.
6038         (hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
6039         (create_alloc_pool): Update statistics.
6040         (free_alloc_pool): Likewise.
6041         (pool_alloc): Likewise.
6042         (output_info): New structure
6043         (print_statistics, dump_alloc_pool_statistics): New function.
6044         * alloc-pool.h (alloc_pool_def): Turn name to be constant.
6045         (dump_alloc_pool_statistics): Declare.
6046         * toplev.c (finalize):  Dump statistics.
6047
6048         * varray.c:  Include hashtab.h
6049         (varray_descriptor): New structure.
6050         (hash_descriptor, eq_descriptor, varray_descriptor,
6051         print_statistics): New static functions
6052         (varray_init, varray_grow): Update statistics
6053         (dump_varray_statistics): New function.
6054         * varray.h (dump_varray_statistics): Declare.
6055         * toplev.c (finalize): Call it.
6056
6057 2004-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
6058
6059         * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
6060         s390*-*-* targets by specifying a 'nop' insn.
6061         * configure: Regenerate.
6062
6063 2004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
6064
6065         PR target/11475
6066         * config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
6067
6068 2004-01-29  Bruce Korb  <bkorb@gnu.org>
6069
6070         * fixinc/inclhack.def(math_exception): bypass only for glibc.
6071         (matherr_decl): rename & relocate as exception_structure.
6072         This fix must precede the math_exception fix.
6073         * fixinc/fixincl.x: regen
6074
6075 2004-01-29  Richard Henderson  <rth@redhat.com>
6076
6077         * c-parse.in (extension): Use itype.
6078         (SAVE_EXT_FLAGS): Don't allocate a tree.
6079         (RESTORE_EXT_FLAGS): Don't read a tree.
6080
6081 2004-01-29  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
6082
6083         * c-lex.c (c_lex): Rename to...
6084         (c_lex_with_flags): Add new parameter to get CPP flags.
6085         (c_lex): Thunk to c_lex_with_flags while keeping the old interface.
6086         * c-pragma.h (c_lex_with_flags): Declare.
6087
6088 2004-01-29  Roger Sayle  <roger@eyesopen.com>
6089
6090         PR java/13824
6091         * tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
6092         as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
6093         recursion.
6094
6095 2004-01-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6096
6097         * pa.md: Change predicate of a peephole2 pattern from reg_or_0_operand
6098         to register_operand.
6099
6100 2004-01-28  Zack Weinberg  <zack@codesourcery.com>
6101
6102         * config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di)
6103         (cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and
6104         match_operand expressions so that all match_dups appear
6105         lexically after their corresponding match_operands.
6106
6107 2004-01-28  Zack Weinberg  <zack@codesourcery.com>
6108             Jim Wilson  <wilson@specifixinc.com>
6109
6110         * config/ia64/ia64.c (ia64_split_tmode, ia64_split_tmode_move):
6111         Rewrite to use POST_INC/POST_DEC/POST_MODIFY instead of a
6112         scratch pointer.
6113         (ia64_secondary_reload_class): Delete case GR_REGS.
6114         * config/ia64/ia64.md (movti, *movti_internal, movtf, *movtf_internal):
6115         Do not allocate a scratch register.
6116         (reload_inti, reload_outti, reload_intf, reload_outtf): Delete.
6117
6118 2004-01-27  Zack Weinberg  <zack@codesourcery.com>
6119
6120         * ia64.c (ia64_function_arg): When placing HFAs in integer
6121         registers, do not special case the mode used for complex
6122         types.  Do not advance int_regs until the current register
6123         is full.
6124
6125 2004-01-28  Jan Hubicka  <jh@suse.cz>
6126
6127         * function.c (allocate_struct_function): Do not initialize expr, emit
6128         and varasm.
6129         (prepare_function_start): Do it here.
6130         * c-parse.in (maybe_type_qual): Do not produce line number notes.
6131
6132 2004-01-28  Richard Sandiford  <rsandifo@redhat.com>
6133
6134         * config/fp-bit.c (pack_d): When using paired doubles to implement
6135         a long double, round the high part separately.
6136         (unpack_d): Fix the case in which the high part is a power of two
6137         and the low part is a nonzero value of the opposite sign.
6138
6139 2004-01-27  Roger Sayle  <roger@eyesopen.com>
6140
6141         * config/pa/pa.c (emit_move_sequence): Check that operand1 is a
6142         CONST_INT before using INTVAL.
6143
6144 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
6145
6146         * config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
6147         * config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
6148         frame if !TARGET_BACKCHAIN.
6149         * config/s390/s390.md ("allocate_stack"): Use pattern only if
6150         TARGET_BACKCHAIN.
6151         * doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.
6152
6153 2004-01-27  Richard Sandiford  <rsandifo@redhat.com>
6154
6155         PR target/7297
6156         * except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp().
6157
6158 2004-01-27  Bob Wilson  <bob.wilson@acm.org>
6159
6160         * config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
6161         on CQImode and CHImode incoming arguments in register a7.
6162         (function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
6163         * config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
6164         * config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
6165         xtensa_copy_incoming_a7 before reload.
6166
6167 2004-01-27  Ian Lance Taylor  <ian@wasabisystems.com>
6168
6169         * config/arm/arm.c (output_return_instruction): Only restore IP
6170         into SP if frame_pointer_needed.
6171
6172 2004-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
6173
6174         * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
6175         for SCmode and DCmode if ARCH32.
6176         (sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32.
6177         * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode
6178         if ARCH32.
6179         (BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode
6180         if ARCH32.
6181         (BASE_OUTGOING_VALUE_REG): Likewise.
6182
6183 2004-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
6184
6185         PR target/10904
6186         PR target/13058
6187         * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
6188         Forbid mode changes from SImode for lower FP regs if ARCH64.
6189
6190 2004-01-27  Jakub Jelinek  <jakub@redhat.com>
6191
6192         * config/i386/i386.c (ix86_constant_alignment): Decrease alignment
6193         of long string literals from 32 bytes to sizeof (void *) when !-Os
6194         and to 1 with -Os.
6195
6196 2004-01-27  Kaz Kojima  <kkojima@gcc.gnu.org>
6197
6198         PR optimization/13567
6199         * cse.c (cse_basic_block): Call cse_insn with a non-null
6200         libcall_insn for the last SET insn of a no-confilict block.
6201
6202 2004-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6203
6204         * system.h (CHAR_BITFIELD): Delete.
6205         (BOOL_BITFIELD): New.
6206         * c-decl.c (c_scope): Use BOOL_BITFIELD.
6207         * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
6208
6209 2004-01-26  J"orn Rennecke <joern.rennecke@superh.com>
6210
6211         * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
6212         may or may not return non-NIL.
6213         * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
6214         check CANNOT_CHANGE_MODE_CLASS
6215
6216 2004-01-26  Jeff Law  <law@redhat.com>
6217
6218         * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry.  Add
6219         acute accents for Petur Runolfsson's entry.
6220
6221
6222 2004-01-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
6223
6224         Backport from mainline:
6225
6226         2004-01-23  Eric Botcazou  <ebotcazou@act-europe.fr>
6227                     Olivier Hainque  <hainque@act-europe.fr>
6228
6229         * fold-const.c (fold_binary_op_with_conditional_arg): Only
6230         build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
6231
6232 2004-01-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
6233
6234         PR target/13666
6235         * config/sparc/sparc.c (function_arg_union_value): New function.
6236         (function_arg): Use it to deal with unions.
6237         (function_value): Likewise.  Define 'regbase' only for ARCH64.
6238         Replace a conditional statement by a simpler one.
6239
6240 2004-01-26  Richard Sandiford  <rsandifo@redhat.com>
6241
6242         * config/mips/mips.c (mips16_optimize_gp): Delete.
6243         (mips_reorg): Don't call it.
6244
6245 2004-01-25  Richard Sandiford  <rsandifo@redhat.com>
6246
6247         * config/mips/mips.c (mips_offset_within_object_p): New function.
6248         (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
6249         SYMBOL_CONSTANT_POOL cases.  Also use it for SYMBOL_GENERAL if the
6250         ABI has 64-bit pointers and the object file only allows 32-bit symbols.
6251
6252 2004-01-25  Eric Botcazou  <ebotcazou@act-europe.fr>
6253
6254         PR bootstrap/13853
6255         * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
6256
6257 2004-01-25  Richard Sandiford  <rsandifo@redhat.com>
6258
6259         * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
6260         (mips_regno_mode_ok_for_base_p): Declare.
6261         * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
6262         (FRAME_POINTER_REGNUM): Renumber to 78.
6263         (FIRST_PSEUDO_REGISTER): Update comment accordingly.
6264         (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
6265         (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
6266         (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
6267         (REG_MODE_OK_FOR_BASE_P): Likewise.
6268         * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
6269         entry for 77 to "$arg" and entry for 78 to "$frame".
6270         (mips_regno_to_class): Map 77 and 78 to ALL_REGS.
6271         (mips_reg_mode_ok_for_base_p): Remove.
6272         (mips_regno_mode_ok_for_base_p): New function, derived from old
6273         BASE_REG_P macro.  Don't enforce the mips16 stack pointer
6274         restrictions unless we're being strict.
6275         (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
6276
6277 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
6278
6279         * doc/frontends.texi: Update copyright.
6280         * doc/gcov.texi: Likewise.
6281         * doc/gty.texi: Likewise.
6282         * doc/sourcebuild.texi: Likewise.
6283
6284 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
6285
6286         * config/h8300/coff.h: Update copyright.
6287         * config/h8300/elf.h: Likewise.
6288         * config/h8300/h8300-protos.h: Likewise.
6289         * config/h8300/h8300.c: Likewise.
6290         * config/h8300/h8300.h: Likewise.
6291         * config/h8300/h8300.md: Likewise.
6292
6293 2004-01-24  Hartmut Penner <hpenner@de.ibm.com>
6294
6295         PR target/13674
6296         * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
6297         loading into GPR.
6298
6299 2004-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6300
6301         PR optimization/12440
6302         * loop.c: Include ggc.h.
6303         (loop_optimize): Run garbage collector between optimization of loops.
6304         * Makefile.in (loop.o): Add GGC_H dependency.
6305
6306 2004-01-24  Jakub Jelinek  <jakub@redhat.com>
6307
6308         * simplify-rtx.c (simplify_relational_operation): Don't
6309         simplify address == constant into address + -constant == 0.
6310
6311 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
6312
6313         * gcc.c (process_command): Don't internationalize the
6314         Copyright message.
6315         * mips-tfile.c (main): Likewise.
6316
6317 2004-01-23  Kazu Hirata  <kazu@cs.umass.edu>
6318
6319         * recog.c: Fix a typo in copyright.
6320
6321 2004-01-23  Kazu Hirata  <kazu@cs.umass.edu>
6322
6323         * alias.c, basic-block.h, c-common.c, c-common.h,
6324         c-cppbuiltin.c, c-pragma.c, c-pretty-print.c, c-semantics.c,
6325         calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
6326         combine.c, cppcharset.c, cpptrad.c, cse.c, cselib.c, cselib.h,
6327         defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
6328         expr.h, fold-const.c, function.h, gcc.c, gcse.c, genattrtab.c,
6329         genautomata.c, genconditions.c, genflags.c, gengtype.c,
6330         genopinit.c, genrecog.c, gensupport.c, ggc-zone.c, graph.c,
6331         haifa-sched.c, integrate.c, langhooks-def.h, langhooks.c,
6332         langhooks.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
6333         ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
6334         rtlanal.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
6335         target.h, targhooks.c, toplev.h, tree-inline.c,
6336         unwind-dw2-fde.h, unwind-pe.h, unwind.h, varray.c, varray.h:
6337         Update copyright.
6338
6339 2004-01-23  Bob Wilson  <bob.wilson@acm.org>
6340
6341         * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
6342         separate real and imaginary parts.
6343         * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
6344
6345 2004-01-23  Richard Henderson  <rth@redhat.com>
6346
6347         PR opt/12941
6348         * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
6349         (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
6350         if SHIFT_COUNT_TRUNCATED is set.
6351
6352 2004-01-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6353
6354         * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
6355         (alpha___extern_prefix_sys_stat): ... this.
6356         Apply to <sys/mount.h>, too.
6357         Tweak to match more variations.
6358         * fixinc/tests/base/sys/stat.h: Adapt for new hackname.
6359
6360         * fixinc/inclhack.def (alpha___extern_prefix,
6361         alpha___extern_prefix_standards): New hacks to obey
6362         __PRAGMA_EXTERN_PREFIX.
6363         * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
6364         test.
6365         * fixinc/tests/base/standards.h: Likewise.
6366
6367         * fixincl/inclhack.def (alpha_pthread): Tweak to match more
6368         variations.
6369         New testcase.
6370         * fixinc/tests/base/pthread.h: Handle it.
6371
6372         * fixinc/fixincl.x: Regenerate.
6373
6374 2004-01-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6375
6376         * fixinc/inclhack.def (bad_lval): Renamed to ...
6377         (alpha_bad_lval): ... this.
6378         Removed file list.
6379         Restrict to alpha*-dec-osf*.
6380         * fixinc/fixincl.x: Regenerate.
6381         * fixinc/tests/base/libgen.h: Remove, moving test ...
6382         * fixinc/tests/base/testing.h: ... here, reflecting new name.
6383
6384 2004-01-23  Ian Lance Taylor  <ian@wasabisystems.com>
6385
6386         * doc/invoke.texi (Optimize Options): Note that --param arguments
6387         are subject to change without notice.
6388
6389 2004-01-23  Zack Weinberg  <zack@codesourcery.com>
6390
6391         PR c/13814
6392         * c-decl.c (diagnose_mismatched_decls): Also discard a
6393         built-in if we encounter an old-style definition with the
6394         same name.
6395
6396 2004-01-23  Jakub Jelinek  <jakub@redhat.com>
6397
6398         * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
6399         set to default{32,64}.
6400
6401 2004-01-21  Jakub Jelinek  <jakub@redhat.com>
6402
6403         * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
6404         [!__powerpc64__]: Corrected to handle kernels with changed ucontext.
6405
6406 2003-11-30  Jan Hubicka  <jh@suse.cz>
6407
6408         * i386.c (ix86_emit_restore_regs_using_mov):  Deal with large offsets.
6409
6410 2004-01-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
6411
6412         * config/sparc/sparc.c (scan_record_type): New function.
6413         (function_arg_slotno): Use it to determine which kinds of
6414         registers the record can be passed in.
6415
6416 2004-01-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6417
6418         * configure.ac (enable_werror): Fixed typo.
6419         * configure: Regenerate.
6420
6421 2004-01-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6422
6423         * config.gcc (mips-sgi-irix6*o32): Removed.
6424         * config/mips/iris6-o32-as.h: Likewise.
6425         * config/mips/iris6-o32-gas.h: Likewise.
6426         * config/mips/iris6-o32.h: Likewise.
6427
6428 2004-01-22  Bob Wilson  <bob.wilson@acm.org>
6429
6430         * config/xtensa/xtensa.c (function_arg): Generalize logic so that it
6431         handles complex and vector modes.
6432
6433 2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
6434
6435         * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
6436         (genrtl_for_stmt): Remove emit_nop calls.
6437
6438 2004-01-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6439
6440         PR target/13713
6441         PR target/13324
6442         * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
6443         movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
6444         clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
6445
6446 2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
6447
6448         * config/arm/arm.c: Include "debug.h".
6449         (thumb_pushpop): Take two new arguments.  Add some commentary.
6450         Output frame information when pushing.
6451         (thumb_exit, thumb_unexpanded_epilogue): Update calls to
6452         thumb_pushpop.
6453         (thumb_output_function_prologue): Likewise.  Accumulate a CFA
6454         offset, and pass it to thumb_pushpop.  Output CFI information.
6455         (thumb_expand_prologue): Add some frame-related markers and notes.
6456
6457 2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
6458
6459         * config/s390/s390.c (s390_frame_info): Allow large frame sizes
6460         for TARGET_64BIT.
6461         (s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
6462         * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
6463
6464 2004-01-22  Kazu Hirata  <kazu@cs.umass.edu>
6465
6466         * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
6467         macro need not be defined if jump-tables should contain
6468         relative addresses only when -fPIC or -fPIC is in effect.
6469
6470 2004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
6471
6472         * config/sparc/sparc.c (function_arg_slotno): Use
6473         FLOAT_TYPE_P to detect FP fields in structures.
6474         (function_arg_record_value_1): Likewise.
6475         (function_arg_record_value_2): Likewise.
6476
6477 2004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
6478
6479         PR target/13559
6480         * config/sparc/sparc.c (function_arg_record_value_3): Revert
6481         to 'word_mode' once the first slot has been filled.
6482
6483 2004-01-22  Olivier Hainque  <hainque@act-europe.fr>
6484
6485         * config/sparc/sparc.c (function_arg_record_value_1): Fix
6486         computation of the number of integer registers required.
6487
6488 2004-01-22  Hartmut Penner  <hpenner@de.ibm.com>
6489
6490         * gcc/config/rs6000/rs6000.c (function_arg) Handle
6491         vector register special in function without prototype.
6492         (function_arg_advance): Vector parameters get always
6493         GPRs allocated for the linux64 target.
6494
6495 2004-01-21  Andrew Pinski  <apinski@apple.com>
6496
6497         PR target/13785
6498         * config/rs6000/rs6000.md (call_value): Force operand
6499         1 not operand 0 into a register.
6500
6501 2004-01-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6502
6503         * pa-protos.h: Update copyright.
6504         * pa.h: Likewise.
6505         * pa.md: Likewise.
6506
6507         * fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3,
6508         ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time,
6509         ultrix_unistd): New hacks.
6510         * fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK,
6511         ULTRIX_CONST2_CHECK): Add checks.
6512         * fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise.
6513         * fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise.
6514         * fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise.
6515         * fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise.
6516         * fixinc/tests/base/locale.h: New file.
6517         * fixincl.x: Rebuilt.
6518
6519 2004-01-21  Andreas Jaeger  <aj@suse.de>
6520             Michael Matz  <matz@suse.de>
6521
6522         * doc/extend.texi (Extended Asm): Clarify memory clobber.
6523
6524 2004-01-21  Zack Weinberg  <zack@codesourcery.com>
6525
6526         * c-decl.c (merge_decls): Kill different_binding_level and
6527         different_tu arguments; simplify throughout.
6528         (duplicate_decls): Likewise.
6529         (pushdecl, merge_translation_unit_decls): Update calls to
6530         duplicate_decls.
6531
6532 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
6533
6534         PR bootstrap/12730
6535         * configure.ac: Delete definition and subsitution of docdir.
6536         Add info, man, srcman and srcinfo to target hooks. Create doc/
6537         directory.
6538         * configure: Regenerate.
6539         * Makefile.in: Don't substitute docdir and delete all references
6540         throughout.
6541         (MAKEINFOFLAGS): Define.
6542         (stmp-docobjdir): Delete.
6543         (INFOFILES, MANFILES): Define.
6544         (info): Call lang.info, srcinfo and lang.srcinfo.
6545         (generated-manpages): Call lang.man, srcman and lang.srcman.
6546         (srcinfo, srcman): New rules to copy back files to source directory.
6547         (doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
6548         (install-man): Revamp rule.
6549         (clean): Update dvi directory.
6550         (distclean): Delete TAGS from front end directorys.
6551         (maintainer-clean): Delete all document files in source directory.
6552
6553         objc/Make-lang.in (objc.man, objc.info): Dummy entries.
6554         (objc.srcman, objc.srcinfo): Likewise.
6555
6556 2004-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6557
6558         * Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and
6559         $(SYSTEM_H).
6560         (print-rtl1.o): Depend on $(SYSTEM_H).
6561
6562 2004-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6563
6564         * pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
6565         * pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
6566         Likewise.  Handle frames larger than 0x7fffffff on 64-bit ports.
6567         (emit_move_sequence): Check scratch_reg first in various if statements.
6568         Extend source simplification to handle all 64-bit CONST_INTs.
6569         (pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
6570         frame size.
6571         (hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
6572         frame offset calculations.
6573         * pa.h (NEW_HP_ASSEMBLER): Add comment.
6574         (MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
6575         LEGITIMATE_64BIT_CONST_INT_P): Define.
6576         (LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P.  Treat
6577         any CONST_INT as legitimate during and after reload.
6578         (VAL_32_BITS_P, INT_32_BITS): Define.
6579         (LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
6580
6581 2004-01-21  Alan Modra  <amodra@bigpond.net.au>
6582
6583         * config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
6584         * dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
6585         * doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
6586
6587 2004-01-20  Geoffrey Keating  <geoffk@apple.com>
6588
6589         * alias.c (new_alias_set): Mark last_alias_set for PCH.
6590         (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
6591         for PCH.
6592         (get_frame_alias_set): Likewise, except rename it to 'frame_set'.
6593         * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
6594         (get_TOC_alias_set): Mark 'set' for PCH.
6595
6596 2004-01-20  Richard Sandiford  <rsandifo@redhat.com>
6597
6598         * config/mips/mips.c (mips_load_call_address): Make the call insn
6599         use $gp if it could be calling a lazy binding stub.
6600
6601 2004-01-20  Denis Chertykov  <denisc@overta.ru>
6602
6603         PR bootstrap/13735
6604         * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
6605         register as pointer after reload.
6606
6607 2004-01-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
6608
6609         PR target/13557
6610         * config/sparc/sparc.c (function_arg): Reorder the cases.
6611
6612 2004-01-19  Kelley Cook  <kcook@gcc.gnu.org>
6613
6614         * Makefile.in (target_noncanonical, program_transform_name): Use
6615         immediate define instead of deferred.
6616         (GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
6617         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
6618         GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
6619         deferred backquote.
6620
6621 2004-01-19  Richard Henderson  <rth@redhat.com>
6622
6623         * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
6624         don't check memory mode.
6625         (unaligned_memory_operand): Likewise.
6626         (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
6627         abort for op0 not MEM.
6628
6629         * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
6630         is not a reg, copy to a scratch first.
6631         (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
6632         unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
6633         unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
6634         (reload_inqi, reload_inhi): Fix mode of op0.
6635         (reload_inqi_help, reload_inhi_help, reload_outqi_help,
6636         reload_outhi_help): Likewise.  Use define_insn_and_split.
6637
6638         * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
6639         as well as $29 dead.
6640
6641 2004-01-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
6642
6643         * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New.  Emit
6644         "tls_object" for thread-local objects.
6645         * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
6646         "#tls" for thread-local sections.
6647         * configure.ac (thread-local checks): Specify --fatal-warnings in
6648         every binutils-specific checks.  For sparc*-*-*, test whether the
6649         OS is Solaris and the tools are native and act accordingly.
6650         * configure: Rebuild.
6651
6652 2004-01-19  Jeff Law  <law@redhat.com>
6653
6654         * contrib.texi: Update Paolo Carlini's entry.  New entries for
6655         Jerry Quinn and Petur Runolfsson.
6656
6657 2004-01-19  Richard Henderson  <rth@redhat.com>
6658
6659         * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
6660         * alpha.md (UNSPEC_NT_LDA): Remove.
6661         (UNSPEC_CVTLQ, cvtlq): New.
6662         (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
6663         (extendsidi2_fix): Remove.
6664         (extendsidi2 splitter): Use cvtlq.
6665         (extendsidi2 fp peepholes): Remove.
6666         (cvtql): Use SFmode instead of SImode.
6667         (fix_trunc?fsi): Update to match.
6668         (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
6669         (movsi): Rename from movsi_nofix, remove f alternatives.
6670         (movsi_nt_vms): Similarly.
6671         (movsi_fix, movsi_nt_vms_fix): Remove.
6672         (nt_lda): Remove.
6673         * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
6674
6675 2004-01-19  Jan Hubicka  <jh@suse.cz>
6676
6677         * cgraph.c (cgraph_remove_node): Fix removal from linked list.
6678         * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
6679         list.
6680         (cgraph_remove_unreachable_nodes): New function
6681         (cgraph_decide_inlining_of_small_function): Fix pasto.
6682         (cgraph_decide_inlining_incrementally): Fix pasto.
6683         (cgrpah_decide_inlining): Likewise; remove unreachable nodes.
6684
6685 2004-01-18  Roger Sayle  <roger@eyesopen.com>
6686
6687         * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
6688         live "next" variable, which can lead to an infinite loop.
6689
6690 2004-01-18  Daniel Jacobowitz  <drow@mvista.com>
6691
6692         * final.c (final_scan_insn): Make non-static again.
6693         * output.h (final_scan_insn): Re-add prototype.
6694         * config/arc/arc.c (arc_output_function_epilogue): Add NULL
6695         to final_scan_insn call.
6696         * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
6697         * config/mips/mips.c (mips_output_conditional_branch): Likewise.
6698         * config/pa/pa.c (output_lbranch, output_call): Likewise.
6699         * config/sh/sh.c (print_slot): Likewise.
6700         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
6701         (output_sibcall, sparc_flat_function_epilogue): Likewise.
6702
6703 2004-01-18  Jan Hubicka  <jh@suse.cz>
6704
6705         * basic-block.h (try_redirect_by_replacing_jump): Declare.
6706         * cfgcleanup.c (try_optimize_cfg): Use it.
6707         * cfgrtl.c (try_redirect_by_replacing_jump): Export.
6708         (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
6709         Kill hack.
6710         (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
6711
6712 2004-01-18  Andrew Pinski  <pinskia@physics.uc.edu>
6713
6714         * config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
6715         block.
6716
6717         * config/rs6000/rs6000.c (rs6000_special_round_type_align):
6718         Check for NULL in the chain and remove repeated code.
6719
6720 2004-01-18  Jan Hubicka  <jh@suse.cz>
6721
6722         * coverage.c (checksum_string): Rename to ...
6723         (coverage_checksum_string): ... this one, Use crc32_string; recognize
6724         names containing random number and zero the number out in order to get
6725         match.
6726
6727 2004-01-18  Richard Sandiford  <rsandifo@redhat.com>
6728
6729         * config/mips/mips.c (mips_got_alias_set): Mark for PCH.
6730
6731 2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
6732
6733         * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
6734         doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
6735         doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
6736         doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
6737         doc/trouble.texi: Remove trailing whitespace.
6738
6739 2004-01-18  Richard Sandiford  <rsandifo@redhat.com>
6740
6741         PR target/7618
6742         * config/mips/mips.c: Include cfglayout.h.
6743         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
6744         (mips_unspec_offset_high): Add temporary register argument.
6745         (mips_load_call_address): New function, split out from...
6746         (mips_expand_call): ...here.
6747         (mips_output_cplocal): New function.
6748         (mips_output_function_prologue, mips_output_function_epilogue): Use it.
6749         (mips_emit_loadgp): New function, split out from...
6750         (mips_expand_prologue): ...here.
6751         (mips_output_mi_thunk): New function.
6752
6753 2004-01-17  Roger Sayle  <roger@eyesopen.com>
6754
6755         * builtins.c (expand_builtin_expect_jump): Fix mistake in my
6756         last patch.  Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
6757
6758 2004-01-17  Andrew Pinski  <pinskia@physics.uc.edu>
6759
6760         * config/rs6000/rs6000.c (rs6000_special_round_type_align):
6761         Return type is unsigned int not int.
6762         * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
6763         Likewise.
6764
6765 2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
6766
6767         * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
6768         doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
6769         "GNU/Linux" and "Microsoft Windows" terminology.
6770
6771 2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
6772
6773         * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
6774         doc/cppopts.texi, doc/extend.texi, doc/install.texi,
6775         doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
6776         doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
6777         @smallexample instead of @example.
6778
6779 2004-01-17  Ziemowit Laski  <zlaski@apple.com>
6780
6781         * objc/objc-act.c (build_objc_method_call): Use target
6782         hooks instead of macros to determine if ..._stret
6783         dispatchers should be used (NeXT runtime only).
6784
6785 2004-01-17  Daniel Jacobowitz  <drow@mvista.com>
6786
6787         * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
6788         (emit_call_insn_before_sameloc, emit_insn_after_sameloc)
6789         (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
6790         macros.
6791         * reload1.c (emit_reload_insns): Use them.
6792         * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
6793         (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
6794         for NULL PATTERN.
6795
6796 2004-01-17  Daniel Jacobowitz  <drow@mvista.com>
6797
6798         * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
6799         (final_scan_insn): Update to take an additional SEEN argument.  Emit
6800         a line note after the prologue.  Make static.
6801         (line_note_exists): Remove.
6802         (final): Don't initialize line_note_exists.  Update call to
6803         final_scan_insn.
6804         * output.h (final_scan_insn): Remove prologue.
6805         * function.c (set_insn_locators): Update comment.
6806         (thread_prologue_and_epilogue_insns): Add a comment.
6807
6808 2004-01-17  Joseph S. Myers  <jsm@polyomino.org.uk>
6809
6810         * doc/invoke.texi, doc/standards.texi: Point to 3.4 version of
6811         c99status.html.
6812
6813 2004-01-17  Andrew Pinski  <pinskia@physics.uc.edu>
6814
6815         PR target/10781
6816         * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
6817         Prototype.
6818         * config/rs6000/rs6000.c (rs6000_special_round_type_align):
6819         New function.
6820         * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
6821         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
6822         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
6823
6824 2004-01-17  Jan Hubicka  <jh@suse.cz>
6825
6826         * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
6827         commit.
6828
6829         * toplev.c (HAVE_conditional_execution): Provide default.
6830         (rest_of_handle_reorder_blocks): For conditional_execution target
6831         update liveness once after all transformations
6832         (rest_of_compilation): Do crossjumping before ce3.
6833
6834 2004-01-17  J. Brobecker  <brobecker@gnat.com>
6835
6836         * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
6837         Remove checks for is_ada() and TREE_UNSIGNED.
6838         (subrange_type_die): Emit a byte_size attribute if the subrange
6839         type size is different from the base type size.
6840         (modified_type_die): Replace call to is_ada_subrange_type() by
6841         call to is_subrange_type().
6842
6843 2004-01-16  Mark Mitchell  <mark@codesourcery.com>
6844
6845         * configure.ac: Do not do internal checking or -Werror by default.
6846         * configure: Regenerated.
6847
6848         * doc/include/gcc-common.texi (DEVELOPMENT): @clear it.
6849         * version.c (version_string): Mark as prerelease.
6850
6851 2004-01-16  Andrew Pinski  <pinskia@physics.uc.edu>
6852
6853         * config/sh/sh.c: Include ggc.h.
6854
6855 2004-01-17  Jan Hubicka  <jh@suse.cz>
6856
6857         * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
6858         builtin_expect specially.
6859         * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
6860         (PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
6861         * invoke.texi (max-inline-insns-single): Set to 100.
6862         (large-function-insns): Set to 3000.
6863
6864 2004-01-16  Jan Hubicka  <jh@suse.cz>
6865
6866         * i386.md (load_tp_di): Fix pasto.
6867
6868         PR opt/13608
6869         * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
6870
6871         * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
6872         pp_c_character_constant, pp_c_floating_constant,
6873         pp_c_additive_expression, pp_c_shift_expression,
6874         pp_c_equality_expression, pp_c_and_expression,
6875         pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
6876         pp_c_logical_and_expression): Remove inline modifier.
6877         * dwarf2out.c (get_AT): Likewise.
6878         * et-forest.c (et_splay): Likewise.
6879         * ra.h (ra_alloc, ra_calloc): Likewise
6880
6881 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
6882
6883         * config/frv/frv-protos.h: Fix comment formatting.
6884         * config/frv/frv.c: Likewise.
6885         * config/frv/frv.h: Likewise.
6886         * config/frv/frv.md: Likewise.
6887         * config/frv/frvbegin.c: Likewise.
6888         * config/frv/frvend.c: Likewise.
6889
6890 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
6891
6892         * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
6893         * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
6894         LINKER_DOES_NOT_WORK_WITH_DWARF2.
6895         (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
6896
6897 2004-01-16  J"orn Rennecke <joern.rennecke@superh.com>
6898
6899         PR 11864
6900         * postreload.c (reload_cse_simplify_operands): Don't remove
6901         implicit extension from LOAD_EXTEND_OP.
6902
6903 2004-01-16  Jan Hubicka  <jh@suse.cz>
6904
6905         PR opt/11350
6906         * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
6907         after reload.
6908         * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
6909         rtl_try_redirect_by_replacing_branch): Likewise.
6910
6911 2004-01-15  Geoffrey Keating  <geoffk@apple.com>
6912
6913         PR pch/13689
6914         * alias.c (struct alias_set_entry): Mark for GC.
6915         (alias_sets): Make static, mark for GC.
6916         (record_alias_subset): Use GC to allocate alias structures.
6917         * varray.c (element): Make generic varrays GCed.
6918
6919         PR pch/13361
6920         * c-typeck.c (constructor_asmspec): Delete.
6921         (struct initializer_stack): Delete field 'asmspec'.
6922         (start_init): Delete saving of asmspec.
6923         (finish_init): Don't update constructor_asmspec.
6924         * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
6925         * stmt.c (expand_asm): Duplicate strings from tree.
6926         (expand_asm_operands): Likewise.
6927         * tree.c (tree_size): Update computation of size of STRING_CST.
6928         (make_node): Don't make STRING_CST nodes.
6929         (build_string): Allocate string with tree node.
6930         * tree.def (STRING_CST): Update comment.
6931         * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
6932         (tree_string): Place contents of string in tree node.
6933         * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
6934         from tree.
6935
6936         * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
6937         altivec operands.
6938
6939 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
6940
6941         * c-common.h: Fix comment formatting.
6942         * c-cppbuiltin.c: Likewise.
6943         * c-pragma.c: Likewise.
6944         * calls.c: Likewise.
6945         * collect2.c: Likewise.
6946         * cppcharset.c: Likewise.
6947         * cpptrad.c: Likewise.
6948         * dbxout.c: Likewise.
6949         * defaults.h: Likewise.
6950         * dwarf2out.c: Likewise.
6951         * fold-const.c: Likewise.
6952         * genautomata.c: Likewise.
6953         * genconditions.c: Likewise.
6954         * genflags.c: Likewise.
6955         * gengtype.c: Likewise.
6956         * integrate.c: Likewise.
6957         * loop.c: Likewise.
6958         * predict.c: Likewise.
6959         * sdbout.c: Likewise.
6960
6961 2004-01-15  Zack Weinberg  <zack@codesourcery.com>
6962
6963         * config/ia64/ia64.md (*movti_internal): C output template
6964         extracted to ia64.c.
6965         (*movti_internal_reg): Delete.
6966         (reload_inti, reload_outti): Use the correct mode on operand 2
6967         in the first place, don't fix it up in the output template.
6968         (movtf, reload_ointf, reload_outtf): New expanders.
6969         (*movtf_internal): New define_insn_and_split.
6970         * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
6971         make static; do not hand TFmode CONST_DOUBLEs to split_double.
6972         (ia64_split_tmode_move): New function, body mostly pulled
6973         from ia64.md:*movti_internal.
6974         (ia64_function_arg_words): New function, extracted common
6975         logic from ia64_function_arg et seq.
6976         (ia64_function_arg_offset): Likewise.  Handle correctly the
6977         case of a scalar quantity 16 bytes wide with only 8-byte alignment.
6978         (ia64_function_arg, ia64_function_arg_partial_nregs)
6979         (ia64_function_arg_advance): Use ia64_function_arg_words and
6980         ia64_function_arg_offset.
6981         (ia64_function_value): TCmode does not go in float regs.
6982         (ia64_secondary_reload_class): Also handle TFmode.
6983         * config/ia64/ia64-protos.h: Remove prototype for
6984         ia64_split_timode; add prototype for ia64_split_tmode_move.
6985
6986 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
6987
6988         * Makefile.in (MAINT): Make it an immediate assignment.
6989
6990 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
6991
6992         * config/m32r/m32r.md: Remove useless calls to gen_lowpart.
6993
6994 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
6995
6996         * config/h8300/coff.h: Replace Hitachi with Renesas.
6997         * config/h8300/elf.h: Likewise.
6998         * config/h8300/h8300-protos.h: Likewise.
6999         * config/h8300/h8300.c: Likewise.
7000         * config/h8300/h8300.h: Likewise.
7001         * config/h8300/h8300.md: Likewise.
7002         * config/h8300/lib1funcs.asm: Likewise.
7003
7004 2004-01-15  Andrew Pinski  <apinski@apple.com>
7005
7006         * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
7007         around it.
7008
7009 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
7010
7011         * config/h8300/h8300.c (h8300_return_in_memory): New.
7012         (TARGET_STRUCT_VALUE_RTX): Likewise.
7013         (TARGET_RETURN_IN_MEMORY): Likewise.
7014         * config/h8300/h8300.h (STRUCT_VALUE): Remove.
7015         (RETURN_IN_MEMORY): Likewise.
7016
7017 2004-01-15  Richard Earnshaw  <rearnsha@arm.com>
7018
7019         PR optimization/13375
7020         * gcse.c (handle_avail_expr): Just return if the source is not a
7021         single set.
7022
7023 2004-01-15  Richard Earnshaw  <rearnsha@arm.com>
7024             Daniel Jacobowitz  <drow@mvista.com>
7025
7026         * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
7027         (EQUIV): Define.
7028         (ARM_FUNC_ALIAS): New macro.
7029         * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
7030         * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
7031
7032 2004-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7033
7034         PR optimization/12372
7035         * calls.c (expand_call): Add call_fusage data for stack arguments in
7036         constant calls.
7037
7038 2004-01-15  Alan Modra  <amodra@bigpond.net.au>
7039
7040         * config/rs6000/rs6000.c (uses_TOC): Correct comment.  Make static.
7041         (rs6000_elf_declare_function_name): Formatting.
7042         * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
7043
7044 2004-01-15  Jan Hubicka  <jh@suse.cz>
7045
7046         PR bootstrap/13692
7047         * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
7048         previous patch.
7049
7050 2004-01-15  Richard Henderson  <rth@redhat.com>
7051
7052         * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
7053         integer regs of the same call-savedness.
7054
7055 2004-01-15  Andreas Schwab  <schwab@suse.de>
7056
7057         PR bootstrap/13562
7058         * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
7059         status for NOTB/NOTW/NEGW methods.
7060
7061 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
7062
7063         * doc/invoke.texi: Update dump file names.  Fix a typo.
7064
7065 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
7066
7067         * builtins.c (expand_builtin_va_end): Don't use
7068         EXPAND_BUILTIN_VA_END.
7069         * system.h (EXPAND_BUILTIN_VA_END): Poison.
7070         * config/d30v/d30v.h: Remove a commented-out definition of
7071         EXPAND_BUILTIN_VA_END.
7072         * config/stormy16/stormy16.h: Likewise.
7073
7074 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
7075
7076         * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
7077         * targhooks.c (default_struct_value_rtx): Don't use
7078         STRUCT_VALUE_INCOMING_REGNUM.
7079
7080 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
7081
7082         PR bootstrap/12744
7083         * configure.in: Revamp enable-generated-files-in-srcdir rule to define
7084         GENINSRC and not parsedir.  Define srcextra as a langhook.
7085         * configure: Regenerate.
7086         * Makefile.in: Suppress default .l.c rule.  Don't substitute
7087         parsedir and delete all references throughout.  Conditionally define
7088         rule for srcextra dependent on GENINSRC.
7089         (stmp-docobjdir): Delete.
7090         (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
7091         (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
7092         and gengtype-yacc.h back to source directory.
7093         (maintainer-clean): Delete all parse files in source directory.
7094         (distclean): Delete generated files.
7095
7096         * objc/Make-lang.in (objc-parse.o): Use implicit build rule.
7097         (objc-parse.c, objc-parse.y): Don't use parsedir.
7098         (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
7099         directory if requested.
7100         (po-generated): Don't use parsedir.
7101         (objc.maintainer-clean): Delete above files from source directory.
7102
7103 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
7104
7105         * doc/tm.texi (FUNCTION_VALUE): Fix a typo.
7106
7107 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
7108
7109         * doc/tm.texi: Replace RETURN_IN_MEMORY with
7110         TARGET_RETURN_IN_MEMORY.
7111
7112 2004-01-15  Jan Hubicka  <jh@suse.cz>
7113
7114         * builtins.c (std_expand_builtin_va_arg): Align operand when needed.
7115         * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
7116         functions accepting SSE arguments
7117         (function_arg): Warn only when asked to warn.
7118         * i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
7119
7120 2004-01-14  Joseph S. Myers  <jsm@polyomino.org.uk>
7121
7122         * c-parse.in (stmts_and_decls): Make label at end of compound
7123         statement a hard error.
7124
7125 2004-01-14  Jan Hubicka  <jh@suse.cz>
7126
7127         * cgraph.c (create_edge): Use local.redefined_extern_inline.
7128         * cgraph.h (cgraph_local_info): Sort fields by size; add
7129         redefined_extern_inline
7130         (cgraph_global_info): Sort fields by size.
7131         (cgraph_node): Likewise.
7132         * cgraphunit.c (cgraph_finalize_function): Se
7133         local.redefined_extern_inline on redefinition.
7134         (cgraph_analyze_function): Use it; fix formating.
7135
7136 2004-01-14  Jan Hubicka  <jh@suse.cz>
7137
7138         PR c++/10776
7139         * sched-deps.c (trye_dependency_cache, anti_dependency_cache,
7140         outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
7141         bitmaps
7142         (cache_size): New variable
7143         (add_dependence): Update use; canonize early memory locations
7144         (sched_analyze_1): Likewise.
7145         (sched_analyze_2): Likewise.
7146         (init_dependency_caches): Initialize bitmaps.
7147         (free_dependency_caches): Free bitmaps
7148
7149 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
7150
7151         * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
7152         targetm.calls.strict_argument_naming().
7153         * target.h: Likewise.
7154
7155 2004-01-14  Richard Henderson  <rth@redhat.com>
7156
7157         PR debug/13231
7158         * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
7159         instructions.
7160
7161 2004-01-14  Richard Henderson  <rth@redhat.com>
7162
7163         PR c++/12491
7164         * except.c (struct eh_region): Add u.fixup.resolved.
7165         (resolve_one_fixup_region): Split out from ...
7166         (resolve_fixup_regions): ... here.
7167
7168 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
7169
7170         * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
7171
7172 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
7173
7174         * config/alpha/alpha.h (STRUCT_VALUE): Remove.
7175         * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
7176         (STRUCT_VALUE): Remove.
7177
7178 2003-01-14  Steven Bosscher  <stevenb@suse.de>
7179
7180         * system.h: Poison PROMOTED_MODE
7181         * integrate.c (expand_inline_function): Don't mention the
7182         PROMOTED_MODE.
7183         * loop.c (update_giv_derive): Same.
7184         * tree.h (DECL_RTL): Same.
7185
7186 2004-01-14  J"orn Rennecke <joern.rennecke@superh.com>
7187
7188         PR target/9365
7189         * sh.c (gen_block_redirect): Add special handling of RETURN.
7190         (gen_far_branch) Don't call gen_stuff_delay_slot if there is no
7191         far branch target (i.e. it's a return).
7192
7193 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
7194
7195         * regrename.c (find_oldest_value_reg): Fix a warning.
7196
7197 2004-01-14  Richard Earnshaw  <rearnsha@arm.com>
7198
7199         PR bootstrap/12527
7200         * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
7201         Move linux-gas.h and linux-elf.h before aout.h.
7202         * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
7203         * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
7204
7205 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
7206
7207         * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
7208         (CONST_INT, VOIDmode, ...).
7209
7210 2004-01-14  Richard Earnshaw  <rearnsha@arm.com>
7211
7212         * regrename.c (find_oldest_value_reg): If the replacement uses
7213         multiple hard registers, check that all of them are in CLASS.
7214
7215 2004-01-14  Jan Hubicka  <jh@suse.cz>
7216
7217         * alias.c (get_alias_set):  Initialize alias set to 0 when subset is
7218         impossible.
7219
7220 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
7221
7222         * Makefile.in: Define MAINT from --enable-maintainer-mode.
7223
7224 2004-01-14  Hartmut Penner  <hpenner@de.ibm.com>
7225
7226         * gcc/config/rs6000/rs6000.c (rs6000_stack_info)
7227         Calculate always vrsave_mask if TARGET_ALTIVEC.
7228         (rs6000_emit_prologue): Emit code for vrsave
7229         only if TARGET_ALTIVEC_VRSAVE.
7230         (rs6000_emit_epilogue): Likewise.
7231
7232 2004-01-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
7233
7234         * config/sparc/sparc.md (tie_add32): Fix pasto.
7235         (tie_add64): Likewise.
7236
7237 2004-01-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7238
7239         * config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
7240
7241 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
7242
7243         * config/iq2000/iq2000-protos.h: Fix comment formatting.
7244         * config/iq2000/iq2000.c: Likewise.
7245         * config/iq2000/iq2000.md: Likewise.
7246
7247 2004-01-14  J. Brobecker  <brobecker@gnat.com>
7248
7249         * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
7250         (subrange_type_die): Add handle for nameless subrange types.
7251
7252 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
7253
7254         * config/h8300/h8300-protos.h: Replace do_movsi with
7255         h8300_expand_movsi.
7256         * config/h8300/h8300.c (do_movsi): Change to
7257         h8300_expand_movsi.
7258         * config/h8300/h8300.md (movsi): Replace do_movsi with
7259         h8300_expand_movsi.
7260         (movsf): Likewise.
7261
7262 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
7263
7264         * config/h8300/h8300.c (dosize): Change to
7265         h8300_emit_stack_adjustment.  Update callers.
7266
7267 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
7268
7269         * config/h8300/h8300.md (movstrictqi): Add an alternative with
7270         the source being post_inc.  Tighten the predicate for the
7271         destination to register_operand.
7272         (movstricthi): Likewise.
7273
7274 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
7275
7276         * system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
7277         * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
7278         * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
7279
7280 2004-01-14  Jan Hubicka  <jh@suse.cz>
7281
7282         Partial fix PR c++/12850
7283         * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
7284         at zero nest level.
7285
7286 2004-01-13  Bernardo Innocenti  <bernie@develer.com>
7287
7288         * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
7289         pseudo-register.
7290
7291 2004-01-13  Devang Patel <dpatel@apple.com
7292
7293         PR debug/7078
7294         * dbxout.c (dbxout_symbol_name): Emit mangled names for
7295         NAMESPACE_DECL memebers.
7296
7297 2004-01-13  Andrew Pinski  <pinskia@physics.uc.edu>
7298
7299         PR c++/12709
7300         * c-common.c (finish_fname_decls): Use the chain only if the
7301         tree is an expr_stmt.
7302
7303 2004-01-13  Vladimir Makarov  <vmakarov@redhat.com>
7304
7305         * rtl.def: Add comment about new option in automata_option.
7306
7307         * genautomata.c (PROGRESS_OPTION): New macro.
7308         (progress_flag): New global variable.
7309         (gen_automata_option): Process `progress'.
7310         (transform_insn_regexps, check_unit_distributions_to_automata,
7311         make_automaton, NDFA_to_DFA, build_automaton, create_automata,
7312         expand_automata, write_automata): Print about the progress only if
7313         progress_flag.  Remove fflush.
7314         (initiate_automaton_gen): Process command line flag `-progress'.
7315
7316         * doc/md.texi: Describe the new option.
7317
7318 2004-01-13  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7319
7320         * cfg.c (dump_bb): Dump entry edges.
7321
7322 2004-01-13  Richard Earnshaw  <rearnsha@arm.com>
7323
7324         * arm.c (thumb_legitimate_address_p): Only allow constant pool
7325         references from SImode.
7326         * arm.md (thumb_movhi_insn): Don't allow minipool references.
7327
7328 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
7329
7330         * system.h (TEXT_SECTION): Poison.
7331         * varasm.c (text_section): Don't use TEXT_SECTION.
7332         * config/sh/sh.c (sh_file_start): Fix a comment typo.
7333         * doc/tm.texi (TEXT_SECTION): Remove.
7334
7335 2004-01-13  Ben Elliston  <bje@wasabisystems.com>
7336
7337         * doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
7338
7339 2004-01-12  James E Wilson  <wilson@specifixinc.com>
7340
7341         * unwind-libunwind.c: Delete.
7342
7343 2004-01-12  Zack Weinberg  <zack@codesourcery.com>
7344
7345         PR 13656
7346         * c-decl.c (diagnose_mismatched_decls): Whenever newtype or
7347         oldtype is set, set *newtypep or *oldtypep too.  Do not set
7348         them at the very end.
7349         (validate_proto_after_old_defn): Restructure for comprehensibility;
7350         make error messages clearer.
7351
7352 2004-01-12  Zack Weinberg  <zack@codesourcery.com>
7353
7354         * varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
7355         (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
7356         * varray.c: No need to prototype error.
7357         (varray_check_failed): Wrap long string onto two lines.
7358         (varray_underflow): New function.
7359
7360 2004-01-13  Steven Bosscher  <stevenb@suse.de>
7361
7362         PR c++/13376
7363         * function.h (struct function): Kill `name' field.
7364         (current_function_name): Make it an extern function.
7365         * function.c (current_function_name): New function.
7366         * graph.c: Update all uses of current_function_name.
7367         * gcse.c: Likewise.
7368         * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
7369         config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
7370         * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
7371         instead of a strcmp with "main".
7372
7373 2004-01-13  Jan Hubicka  <jh@suse.cz>
7374
7375         * c-decl.c (diagnose_mismatched_decls):  Fix warning calls.
7376
7377         * cgraphunit.c (cgraph_optimize_function):  Always do
7378         optimize_inline_calls when there is always_inline callee.
7379         (cgraph_decide_inlining): Fix formating.
7380         * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
7381         functions.
7382         (expand_call_inline): Likewise.
7383         * toplev.h (sorry): Fix prototype.
7384
7385 2004-01-12  Roger Sayle  <roger@eyesopen.com>
7386
7387         * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
7388         conditional jumps that drop through to unconditional jumps or the
7389         end of the sequence.
7390
7391 2004-01-13  Jan Hubicka  <jh@suse.cz>
7392
7393         * alias.c (new_alias_set): Construct the alias_set varray.
7394         (init_alias_once): Don't do it here.
7395
7396 2004-01-12  Marc Espie <espie@openbsd.org>
7397
7398         * system.h: handle YYBYACC like YYBISON.
7399
7400 2004-01-12  Jonathan Merriman <jonm@dualitymedia.com>
7401
7402         PR target/10847
7403         * config.gcc: No longer includes conflicting header sparc/sol2.h when
7404         building on sparc64-*-openbsd*.
7405
7406 2004-01-12  Andrew Pinski  <pinskia@physics.uc.edu>
7407
7408         PR debug/13539
7409         * dbxout.c (dbxout_type): Protected inheritance is not
7410         private but protected.
7411
7412 2004-01-12  Richard Sandiford  <rsandifo@redhat.com>
7413
7414         * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
7415
7416 2004-01-12  Kazu Hirata  <kazu@cs.umass.edu>
7417
7418         PR optimization/12508.
7419         * combine.c (try_combine): Remove a dead set in a parallel
7420         even if its destination is a subreg.
7421
7422         Revert:
7423         2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
7424         * combine.c (simplify_set): Don't move a subreg in SET_SRC to
7425         SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
7426
7427 2004-01-12  Geoffrey Keating  <geoffk@apple.com>
7428
7429         * real.c: Update copyright date.
7430         * emit-rtl.c: Likewise.
7431         * rtl.h: Likewise.
7432         * dwarf2out.c: Likewise.
7433         * config/rs6000/darwin-ldouble.c: Likewise.
7434         * config/rs6000/rs6000.md: Likewise.
7435
7436 2004-01-12  David Edelsohn  <edelsohn@gnu.org>
7437
7438         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
7439         TFmode to SImode libfuncs.
7440
7441 2004-01-12  Roger Sayle  <roger@eyesopen.com>
7442
7443         PR middle-end/11397
7444         * varasm.c (assemble_alias): Remove weak aliases from weak_decls.
7445
7446 2004-01-12  Jan Hubicka  <jh@suse.cz>
7447
7448         PR opt/12826
7449         * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
7450         stored.
7451
7452         PR opt/12863
7453         * cfgcleanup.c (label_is_jump_target_p): Move to...
7454         * rtlanal.c (label_is_jump_target_p): ... here.
7455         * cfgrtl.c (cfg_layout_redirect_edge_and_branch):  Fix redirecting of fallthru
7456         edges unified with branch edges.
7457
7458 2004-01-12  Richard Earnshaw  <rearnsha@arm.com>
7459
7460         * simplify-rtx.c (simplify_immed_subreg): Correctly extract the
7461         high word of an integral CONST_DOUBLE.
7462
7463 2004-01-12  Paul Brook  <paul@codesourcery.com>
7464
7465         * simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
7466
7467 2004-01-12  J"orn Rennecke <joern.rennecke@superh.com>
7468
7469         PR target/13585
7470         * sh-protos.h (check_use_sfunc_addr): Declare.
7471         * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
7472         * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
7473
7474 2004-01-12  Jan Hubicka  <jh@suse.cz>
7475
7476         * alias.c:  Invlude varray.h
7477         (alias_sets): Turn into varray.
7478         (get_alias_set_entry): Use VARRAY; mark inline.
7479         (mems_in_disjoint_alias_sets_p): Mark inline.
7480         (record_alias_subset): Use varray.
7481         (init_alias_once): Initialize varray.
7482         (new_alias_set): Grow array.
7483         * varray.c: Make VARRAY_GENERIC_PTR non GTYized.
7484
7485 2004-01-12  Jan Hubicka  <jh@suse.cz>
7486
7487         Partial fix for PR opt/10776 II
7488         * cselib.c: Include params.h
7489         (cselib_invalidate_mem):  Limit amount of nonconflicting memory
7490         locations.
7491         * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
7492         * Makefile.in (cselib.o): Depend on params.h
7493
7494 2004-01-12  Richard Sandiford  <rsandifo@redhat.com>
7495
7496         * combine.c (combine_simplify_rtx): Don't pass VOIDmode to
7497         simplify_unary_operation if the operand has a known mode.
7498
7499 2004-01-12  Hartmut Penner  <hpenner@de.ibm.com>
7500
7501         PR target/13534
7502         * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
7503         predicate to handle 'ld' conform addresses.
7504         * gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
7505         contraint.
7506         (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
7507         are memory contraints.
7508         * gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
7509         New prototype.
7510         * gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
7511         Change 'o' to 'Y' constraint.
7512         (*movdf_softfloat64): Ditto.
7513
7514 2004-01-12  Bernardo Innocenti  <bernie@develer.com>
7515
7516         * gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the
7517         brace-enclosed syntax in all C output statements.
7518
7519 2004-01-12  David Edelsohn  <edelsohn@gnu.org>
7520
7521         PR target/13401
7522         * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
7523         Objective-C language type value is 14.
7524
7525 2004-01-12  Markus F.X.J. Oberhumer  <markus@oberhumer.com>
7526
7527         PR c/12148
7528         * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
7529         `int' in a number of places to make sure we always have a SImode
7530         and not a HImode.  Add a 'L' suffix to a number of constants.
7531
7532 2004-01-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7533
7534         * pa.c: Don't include obstack.h.
7535
7536         * pa.md: Correct constraint in pattern for loading PIC label address.
7537
7538 2004-01-11  Kaz Kojima  <kkojima@gcc.gnu.org>
7539
7540         * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
7541          before defining.
7542
7543 2004-01-11  Steven Bosscher  <stevenb@suse.de>
7544
7545         PR fortran/9972
7546         * toplev.c (rest_of_handle_inline): Also consider functions
7547         for deferral if the language is GNU F77.
7548
7549 2004-01-11  Zack Weinberg  <zack@codesourcery.com>
7550
7551         * c-decl.c (diagnose_arglist_conflict): Add missing space to
7552         diagnostic messages.
7553
7554 2004-01-11  Jakub Jelinek  <jakub@redhat.com>
7555
7556         PR middle-end/13392
7557         * builtins.c (expand_builtin_expect_jump): Handle conditional jumps
7558         to drop through label.  Don't fall back to SCC even when conditional
7559         jump has not been found.
7560
7561 2004-01-11  Jan Hubicka  <jh@suse.cz>
7562
7563         * invoke.texi: Fix syntax error in previous patch.
7564
7565         Partial fix for PR opt/10776
7566         * Makefile.in (reload.o): Include param.h
7567         * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
7568         * reload.c: Include params.h.
7569         (find_equiv_reg): Work limiting check.
7570         * invoke.texi: Document.
7571
7572 2004-01-11  Richard Sandiford  <rsandifo@redhat.com>
7573
7574         * config/mips/mips.c (mips_symbolic_constant_p): Don't allow
7575         out-of-bounds accesses to string constants.  Simplify mips16
7576         case accordingly.
7577
7578 2004-01-11  Richard Sandiford  <rsandifo@redhat.com>
7579
7580         PR optimization/13469
7581         * toplev.c (rest_of_compilation): Call purge_all_dead_edges after
7582         reload_cse_regs (-fnon-call-exceptions only).
7583
7584 2004-01-11  Kazu Hirata  <kazu@cs.umass.edu>
7585
7586         * config/mcore/lib1.asm: Fix comment formatting.
7587         * config/mcore/mcore-elf.h: Likewise.
7588         * config/mcore/mcore.c: Likewise.
7589         * config/mcore/mcore.h: Likewise.
7590         * config/mcore/mcore.md: Likewise.
7591
7592 2004-01-10  Zack Weinberg  <zack@codesourcery.com>
7593
7594         * c-decl.c (duplicate_decls): Break apart into...
7595         (diagnose_arglist_conflict, validate_proto_after_old_defn)
7596         (locate_old_defn, diagnose_mismatched_decls, merge_decls):
7597         ... these new functions.  Restructure for comprehensibility.
7598         Remove various archaic special cases.  Always report the
7599         location of the previous declaration when a diagnostic is issued.
7600         (redeclaration_error_message): Fold into diagnose_mismatched_decls.
7601         (match_builtin_function_types): Delete unnecessary forward declaration.
7602
7603 2004-01-10  Zack Weinberg  <zack@codesourcery.com>
7604
7605         * genautomata.c (make_automaton, NDFA_to_DFA):
7606         Print progress bars with '.' characters instead of '*'.
7607         (build_automaton): Change notes to match.
7608
7609 2004-01-10  Kazu Hirata  <kazu@cs.umass.edu>
7610
7611         * config/m32r/m32r.md: Use define_constants for unspec and
7612         unspec_volatile.
7613
7614 2004-01-10  Jan Hubicka  <jh@suse.cz>
7615
7616         PR opt/11635
7617         * expr.c (expand_expr_real):  More curefully expand union casts.
7618
7619 2004-01-10  Kazu Hirata  <kazu@cs.umass.edu>
7620
7621         * config/m32r/m32r.md (flush_icache): Use 1 for
7622         unspec_volatile.
7623
7624 2004-01-10  David Edelsohn  <edelsohn@gnu.org>
7625             James E Wilson  <wilson@specifixinc.com>
7626
7627         PR debug/12860
7628         * dbxout.c (dbxout_symbol): Remove initialization of
7629         current_sym_code, current_sym_value, and current_sym_addr.
7630         (dbxout_symbol_location): Same.
7631         (dbxout_prepare_symbol): Zero current_sym_code,
7632         current_sym_value, and current_sym_addr.
7633
7634 2004-01-10  Richard Sandiford  <rsandifo@redhat.com>
7635
7636         * tree.c (get_unwidened): Reorder conditions so that the null pointer
7637         check is done first.
7638
7639 2004-01-09  Eric Christopher  <echristo@redhat.com>
7640
7641         * toplev.c (rest_of_handle_cfg): Add reg_scan pass
7642         if we're running mark_constant_function.
7643
7644 2004-01-09  Jeff Bailey  <jbailey@nisa.net>
7645
7646         PR target/12561
7647         * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
7648
7649 2004-01-09  Andrew Pinski <pinskia@physics.uc.edu>
7650
7651         PR debug/11231
7652         * dbxout.c (dbxout_type_fields): Return if any item is
7653         error_mark_node or the type is error_mark_node.
7654
7655 2004-01-09  Geoffrey Keating  <geoffk@apple.com>
7656
7657         * config/rs6000/darwin-ldouble.c: Add big comment explaining
7658         exactly what is expected as a 'long double'.
7659         (_xlqadd): When a value to be returned is representable as a
7660         'double', just return it directly, do not construct it using a union.
7661         Also, correct final fixup.
7662         (_xlqmul): Likewise.
7663         (_xlqdiv): Likewise.
7664         * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
7665
7666         * config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
7667
7668 2004-01-09  Richard Henderson  <rth@redhat.com>
7669
7670         * recog.c (constrain_operands): Validate mem operands.
7671
7672 2004-01-09   James E Wilson  <wilson@specifixinc.com>
7673
7674         * gcc.c (init_spec): Remove -lunwind from shared case.
7675         * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
7676
7677 2004-01-09  Steve Ellcey  <sje@cup.hp.com>
7678
7679         * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
7680         * configure: Regenerate
7681
7682 2004-01-09  Joseph S. Myers  <jsm@polyomino.org.uk>
7683
7684         PR c/11234
7685         * c-typeck.c (build_c_cast): If pedantic, warn for conversions
7686         between function and object pointers.
7687         (digest_init): When comparing a pointer to function type to the
7688         target type, only apply TREE_TYPE once to the pointer to function
7689         type.
7690         * except.c (for_each_eh_label_1): Treat data as a pointer to a
7691         function pointer rather than casting it to a function pointer.
7692         (for_each_eh_label): Update caller.
7693         * recog.h (struct insn_data): Use a struct or union for output.
7694         * genoutput.c (output_insn_data): Update.
7695         * final.c (get_insn_template): Update.
7696
7697 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
7698
7699         * expr.h (expand_expr): Make it a macro, not a function.
7700         (expand_expr_real): New function.
7701         * expr.c (store_expr): Adjust logic for deciding whether or not to
7702         copy the value returned by expand_expr.
7703         (expand_expr): Rename to ...
7704         (expand_expr_real): ... this.  Add alt_rtl parameter.  Adjust
7705         calls to language hooks.
7706         * c-common.h (c_expand_expr): Adjust prototype.
7707         * c-common.c (c_expand_expr): Add alt_rtl parameter.
7708         * langhooks-def.h (lhd_expand_expr): Change prototype.
7709         * langhooks.c (lhd_expand_expr): Add all_rtl parameter.
7710         * langhooks.h (lang_hooks): Change type of expand_expr.
7711         * stmt.c (stmt_status): Add x_last_expr_alt_rtl.
7712         (last_expr_alt_rtl): Likewise.
7713         (expand_expr_stmt_value): Set last_expr_alt_rtl.
7714         (clear_last_expr): Clear it.
7715         (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
7716         (expand_end_bindings): Save and restor last_expr_alt_rtl.
7717         * tree.def (RTL_EXPR): Give it an additional operand.
7718         * tree.h (RTL_EXPR_ALT_RTL): New macro.
7719
7720 2004-01-09  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
7721
7722         * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
7723         * config/m32r/m32r.c (call26_operand): Allow in PIC mode.
7724
7725 2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
7726
7727         PR target/13380.
7728         * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
7729         or (ne:SI (reg:CC 17) (const_int 0)).
7730         Be specific about modes wherever possible.
7731
7732 2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
7733
7734         * config/m32r/m32r.c (m32r_expand_block_move): Call
7735         gen_movestrsi_internal with two more arguments.
7736         (m32r_output_block_move): Adjust operand numbers.
7737         Properly update the source and destination pointers.
7738         * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
7739         'r+'.  Change the set detinations to match_operand.
7740
7741 2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
7742
7743         * final.c (FIRST_INSN_ADDRESS): Remove.
7744         (shorten_branches): Don't use FIRST_INSN_ADDRESS.
7745         * system.h (FIRST_INSN_ADDRESS): Poison.
7746         * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
7747         * config/m32r/m32r-protos.h: Remove the prototype for
7748         m32r_first_insn_address.
7749         * config/m32r/m32r.c (m32r_first_insn_address): Remove.
7750         * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
7751         * doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
7752
7753 2004-01-09  J. Brobecker  <brobecker@gnat.com>
7754
7755         * dwarf2out.c (gen_enumeration_type_die): Return the DIE that
7756         we just created.
7757         (is_ada_subrange_type): DIEs for enumeration subtypes should be
7758         emitted as subrange types too.
7759         (subrange_type_die): Add handling of enumeration subtypes.
7760
7761 2004-01-08  Richard Henderson  <rth@redhat.com>
7762
7763         PR opt/12441
7764         Revert: Sat Mar 30 14:08:55 CET 2002  Jan Hubicka  <jh@suse.cz>
7765         * i386.c (aligned_operand): Be prepared for SUBREGed registers.
7766         (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
7767         (ix86_address_cost): Be prepared for SUBREGed registers.
7768         (legitimate_address_p): Accept SUBREGed registers.
7769
7770 2004-01-08  Kelley Cook  <kcook@gcc.gnu.org>
7771
7772         * Makefile.in: Rename configure.in to configure.ac
7773         * doc/sourcebuild.texi: Likewise.
7774         * configure: Regenerate.
7775         * config.in: Regenerate.
7776
7777 2004-01-08  Stuart Hastings  <stuart@apple.com>
7778
7779         * config/i386/i386.md: Typos in MMX/SSE immediate shifts.
7780
7781 2004-01-08  Jan Hubicka  <jh@suse.cz>
7782
7783         * cgraphunit.c (cgraph_decide_inlining):  Fix typo.
7784
7785 2004-01-08  Geoffrey Keating  <geoffk@apple.com>
7786
7787         * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
7788         (UNSPEC_FIX_TRUNC_TF): New constant.
7789         (movtf_internal): Make splitter active only when insn is active.
7790         (extenddftf2): Rewrite to properly load zero into low part.
7791         (extenddftf2_internal): New.
7792         (extendsftf2): Rewrite.
7793         (truncdftf2): Correct length.
7794         (floatditf2): Delete.
7795         (fix_trunc_helper): New.
7796         (fix_trunctfdi2): Use fix_trunc_helper.
7797         (fix_trunctfsi2): Likewise.fix_trunc
7798         (fix_trunctfsi2_internal): New.
7799
7800         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
7801         addresses are legitimate on Darwin even when flag_pic.
7802         (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
7803         non-offsettable addresses for loads of TFmode constants.
7804
7805 2004-01-08  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
7806
7807         * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
7808         variables in the appropriate bss section.
7809
7810 2004-01-09  Alan Modra  <amodra@bigpond.net.au>
7811
7812         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
7813         target_flags has MASK_POWERPC64 when -m64.
7814         * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
7815         to 620, 630, power3, power4 and rs64a entries.
7816         * config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
7817
7818 2004-01-08  Richard Sandiford  <rsandifo@redhat.com>
7819
7820         * simplify-rtx.c (simplify_immed_subreg): Fix construction of
7821         floating-point constants.
7822
7823 2004-01-08  J. Brobecker  <brobecker@gnat.com>
7824
7825         * dwarf2out.c (subrange_type_die): Add context_die parameter.
7826         Create the subrange_type DIE using the given context DIE.
7827         (modified_type_die): Update call to subrange_type_die.
7828
7829 2004-01-08  Zack Weinberg  <zack@codesourcery.com>
7830
7831         * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
7832         Add multiple-include guard.
7833
7834 2004-01-08  Hartmut Penner  <hpenner@de.ibm.com>
7835
7836         * gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept
7837         all vector constant loadable by vsplt*.
7838         (output_vec_const_move): Likewise.
7839
7840 2004-01-07  Joseph S. Myers  <jsm@polyomino.org.uk>
7841
7842         PR c/6024
7843         * c-typeck.c (comptypes): Only treat enumerated types in the same
7844         translation unit as compatible with each other when they are the
7845         same type.
7846         * doc/extend.texi: Update.
7847
7848 2004-01-07  Joseph S. Myers  <jsm@polyomino.org.uk>
7849
7850         PR c/12165
7851         * c-decl.c (grokdeclarator): Take type qualifiers of typedefed
7852         array type from the array element type.
7853
7854 2004-01-07  Alan Modra  <amodra@bigpond.net.au>
7855
7856         * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
7857         * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
7858         * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
7859         (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
7860         * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
7861
7862 2004-01-06  Eric Christopher  <echristo@redhat.com>
7863
7864         * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
7865         (DWARF2_DEBUGGING_INFO): Define.
7866         (PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
7867         * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
7868         * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
7869         for irix as.
7870         (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
7871         * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
7872         * config/mips/iris5gas.h: Ditto.
7873         (DBX_DEBUGGING_INFO): Remove.
7874         (DWARF2_DEBUGGING_INFO): Ditto.
7875         (MIPS_DEBUGGING_INFO): Ditto.
7876         (PREFERRED_DEBUGGING_TYPE): Ditto.
7877         * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
7878         (PREFERRED_DEBUGGING_TYPE): Ditto.
7879         (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
7880         * config/mips/elf64.h: Ditto.
7881
7882 2004-01-06  Jan Hubicka  <jh@suse.cz>
7883
7884         * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
7885         (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
7886
7887 2004-01-06  Geoffrey Keating  <geoffk@apple.com>
7888
7889         * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
7890         (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
7891         * config/rs6000/darwin-ldouble.c: New.
7892
7893         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
7894         for constants.
7895         (constant_subword): Delete.
7896         * rtl.h (constant_subword): Delete prototype.
7897         (immed_double_const): Is not in varasm.c.
7898         * simplify-rtx.c (simplify_immed_subreg): New.
7899         (simplify_subreg): Use simplify_immed_subreg.
7900
7901         * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
7902         than trying to generate RTL directly.
7903         (fix_trunctfsi2): Use expand_fix rather than trying to generate
7904         RTL directly.
7905
7906         * dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
7907
7908 2004-01-06  David Edelsohn  <edelsohn@gnu.org>
7909
7910         * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
7911         function into a separate macro.
7912         (read_only_data_section): Add void argument.
7913         (private_data_section): Same.
7914         (read_only_private_data_section): Same.
7915         (toc_section): Same.
7916
7917 2004-01-06  Jan Hubicka  <jh@suse.cz>
7918
7919         * invoke.texi:  Remove typo in last change.
7920
7921         PR target/10301
7922         * config.gcc: Accept opteron and athlon-64 as variants
7923         of k8.
7924         * i386.c (override_options): Likewise.
7925         * invoke.texi (i386 -mtune): Expand documentation.
7926
7927 2004-01-06  Kazu Hirata  <kazu@cs.umass.edu>
7928
7929         * alias.c: Fix comment typos.
7930         * builtins.c: Likewise.
7931         * cfg.c: Likewise.
7932         * df.c: Likewise.
7933         * dominance.c: Likewise.
7934         * dwarf2out.c: Likewise.
7935         * emit-rtl.c: Likewise.
7936         * expr.c: Likewise.
7937         * final.c: Likewise.
7938         * fold-const.c: Likewise.
7939         * gcse.c: Likewise.
7940         * genattrtab.c: Likewise.
7941         * genrecog.c: Likewise.
7942         * gensupport.c: Likewise.
7943         * ggc-zone.c: Likewise.
7944         * integrate.c: Likewise.
7945         * local-alloc.c: Likewise.
7946         * loop.c: Likewise.
7947         * recog.c: Likewise.
7948         * regmove.c: Likewise.
7949         * reg-stack.c: Likewise.
7950         * reorg.c: Likewise.
7951         * rtlanal.c: Likewise.
7952         * rtl.h: Likewise.
7953         * sched-ebb.c: Likewise.
7954         * simplify-rtx.c: Likewise.
7955         * toplev.c: Likewise.
7956         * varasm.c: Likewise.
7957
7958 2004-01-06  Kazu Hirata  <kazu@cs.umass.edu>
7959
7960         * doc/install.texi: Fix typos.
7961         * doc/invoke.texi: Likewise.
7962         * doc/md.texi: Likewise.
7963
7964 2004-01-06  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
7965
7966         * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
7967
7968 2004-01-06  Jan Hubicka  <jh@suse.cz>
7969
7970         * i386.c (init_cumulative_args):  Add handling of MMX_REGPARM.
7971         (function_arg_advance):  Do not pass aggregates in SSE; deal handling
7972         of MMX_REGPARM.
7973         (function_arg): Add new warnings about ABI changes;  fix SSE_REGPARM;
7974         add MMX_REGPARM.
7975         * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
7976         (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
7977         (MMX_REGPARM_MAX): Similarly for -mmmx.
7978
7979 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
7980
7981         * config/sh/linux.h: Fix comment formatting.
7982         * config/sh/netbsd-elf.h: Likewise.
7983         * config/sh/sh.c: Likewise.
7984         * config/sh/sh.h: Likewise.
7985         * config/sh/vxworks.h: Likewise.
7986
7987 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
7988
7989         * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
7990         * toplev.c (output_file_directive): Don't use
7991         ASM_OUTPUT_MAIN_SOURCE_FILENAME.
7992
7993 2004-01-05  Steven Bosscher <s.bosscher@student.tudelft.nl>
7994
7995         * toplev.c: Fix broken checkin of 2003-12-30.
7996
7997 2004-01-05  Daniel Berlin  <dberlin@dberlin.org>
7998
7999         * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
8000         (USING_MMAP): We don't support non-mmap.
8001         (struct alloc_chunk): Steal 1 bit from typecode, use it to mark
8002         large objects.
8003         (struct page_entry): Remove bytes_free.
8004         (struct page_table_chain): Remove.
8005         (struct globals): Remove page_table member.
8006         (loookup_page_table_entry): Function deleted.
8007         (set_page_table_entry): Ditto.
8008         (ggc_allocated_p): No longer need page table lookups.
8009         (ggc_marked_p): Ditto.
8010         (alloc_small_page): Don't care about bytes_free anymore.
8011         (alloc_large_page): Round up size.
8012         (ggc_alloc_zone_1): Mark large objects as such, and calculate
8013         their size the new way.
8014         Remove page table lookups and setting.
8015         (ggc_get_size): Calculate large object size the new way.
8016         (sweep_pages): Redo to account for fact that we no longer have
8017         bytes_free.
8018         (ggc_collect): No longer need to reincrement bytes_free.
8019         (ggc_pch_alloc_object): Handle new large objects properly.
8020         (ggc_pch_read): Put PCH stuff into it's own uncollected zone.
8021
8022 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
8023
8024         * doc/invoke.texi: Remove a page break.
8025
8026 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
8027
8028         * config/avr/avr.c (avr_output_function_prologue): Remove an
8029         extra pair of curly braces.
8030
8031 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
8032
8033         * config/mn10300/mn10300.c: Fix comment formatting.
8034         * config/mn10300/mn10300.h: Likewise.
8035
8036 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8037
8038         * tree.h: Update documentation on nothrow_flag.
8039         * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
8040         types.
8041
8042 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
8043
8044         * doc/invoke.texi: Remove traces of dead ports.
8045
8046 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
8047
8048         * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
8049         option.
8050
8051 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
8052
8053         PR target/12945
8054         * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
8055         counter labels.
8056         * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
8057         (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
8058         string constants if TARGET_MIPS16.  Use SYMBOL_REF_DECL to check
8059         the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
8060         (mips_symbol_insns): Don't trust the local/global classification.
8061         (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
8062         (override_options): Make -mabicalls -fno-unit-at-a-time imply
8063         -mno-explicit-relocs.
8064         (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
8065         between local and global symbols.
8066
8067 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
8068
8069         * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
8070         (mips_preferred_reload_class): Declare.
8071         * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
8072         (EXTRA_CONSTRAINT): Update accordingly.
8073         (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
8074         * config/mips/mips.c (mips_dangerous_for_la25_p): New function.
8075         (mips_preferred_reload_class): New function.  Prefer LEA_REGS if
8076         mips_dangerous_for_la25_p.
8077         (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
8078         if mips_dangerous_for_la25_p.
8079
8080 2004-01-05  Bernardo Innocenti  <bernie@develer.com>
8081
8082         * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
8083         warning.
8084
8085 2004-01-04  Nathanael Nerode  <neroden@gcc.gnu.org>
8086
8087         * configure.ac: Use AC_PROG_CPP_WERROR.
8088         * configure: Regenerate.
8089
8090 2004-01-04  Zack Weinberg  <zack@codesourcery.com>
8091
8092         * .cvsignore: Add autom4te.cache.
8093
8094 2004-01-04  Richard Sandiford  <rsandifo@redhat.com>
8095
8096         * doc/invoke.texi: Revamp documentation of MIPS options.  Remove
8097         -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
8098         -m4650, -mfix7000 and -(m)no-crt0.  Put endianness options first,
8099         then architecture options, then ABI options.  General rewording.
8100
8101 2004-01-04  Joseph S. Myers  <jsm@polyomino.org.uk>
8102
8103         PR c/3414
8104         * doc/extend.texi: Clarify definition of malloc attribute.
8105
8106 2004-01-04  Jan Hubicka  <jh@suse.cz>
8107
8108         * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
8109         * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
8110         * cgraph.h (cgraph_edge): Replace inline_call by inline_failed
8111         (cgraph_inline_p): Add extra argument reason.
8112         * cgraphunit.c: Minor formating fixes.
8113         cgraph_first_inlined_callee): New functions.
8114         (record_call_1): Record builtins too.
8115         (cgraph_analyze_function): Update inline_failed messages.
8116         (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
8117         cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
8118         (cgraph_check_inline_limits): Likewise; Add argument reason.
8119         (cgraph_set_inline_failed): New static function.
8120         (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
8121         reasons.
8122         (cgraph_inline_p): Add new argument reason.
8123         * tree-inline.c (expand_call_inline):  Update warning.
8124
8125 2004-01-03  Nathanael Nerode  <neroden@gcc.gnu.org>
8126
8127         * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
8128         with modern equivalents.
8129         * configure: Regenerate.
8130
8131         * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
8132         * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
8133         * configure: Regenerate.
8134
8135         * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
8136
8137         * configure.in: Rename to configure.ac.
8138         * configure.ac: Renamed from configure.in; make minimum necessary
8139         changes for autoconf 2.5x.
8140         * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
8141         * configure: Regenerate with autoconf 2.57.
8142
8143 2004-01-03  Kazu Hirata  <kazu@cs.umass.edu>
8144
8145         * config/mips/linux.h: Fix comment formatting.
8146         * config/mips/mips.c: Likewise.
8147         * config/mips/mips.h: Likewise.
8148         * config/mips/mips.md: Likewise.
8149         * config/mips/netbsd.h: Likewise.
8150         * config/mips/windiss.h: Likewise.
8151
8152 2004-01-02  Richard Henderson  <rth@redhat.com>
8153
8154         * config/i386/i386.md (fp constant pool splitter): Reorg suppression
8155         for sse and 387; add suppression for mmx.
8156
8157 2004-01-02  Andrew Pinski  <pinskia@physics.uc.edu>
8158
8159         * loop.c (loop_optimize): Free all loops_info's mems.
8160
8161         * c-typeck.c (finish_init): Free spelling_base before
8162         setting it again.
8163
8164         * cfgloop.c (flow_loops_find): Always free the sbitmap
8165         headers.
8166
8167         * predict.c (estimate_probability): Free bbs after being
8168         done with it.
8169
8170 2004-01-02  Kazu Hirata  <kazu@cs.umass.edu>
8171
8172         * config/mn10300/mn10300.h (PREDICATE_CODES): Add
8173         const_8bit_operand and call_address_operand.
8174
8175 2004-01-02  Jan Hubicka  <jh@suse.cz>
8176
8177         * cgraphunit.c (cgraph_optimize_function):  Call optimize_inline_calls
8178         when there is nothing to inline but warnings are requested.
8179         (cgraph_decide_inlining):  Fix memory leak.
8180
8181 2004-01-02  Jan Hubicka  <jh@suse.cz>
8182
8183         * expr.c (store_constructor):  Fix pasto in previous patch.
8184
8185 2004-01-02  Kazu Hirata  <kazu@cs.umass.edu>
8186
8187         * config/i386/cygming.h: Fix comment formatting.
8188         * config/i386/djgpp.h: Likewise.
8189         * config/i386/gthr-win32.c: Likewise.
8190         * config/i386/i386-interix.h: Likewise.
8191         * config/i386/i386.c: Likewise.
8192         * config/i386/i386.h: Likewise.
8193         * config/i386/openbsd.h: Likewise.
8194         * config/i386/winnt.c: Likewise.
8195         * config/i386/xm-mingw32.h: Likewise.
8196
8197 2004-01-02  Joseph S. Myers  <jsm@polyomino.org.uk>
8198
8199         * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
8200         copyright and last modification dates.
8201
8202 2004-01-02  Andreas Jaeger  <aj@suse.de>, Gerald Pfeifer  <gp@suse.de>
8203
8204         * doc/install.texi (Specific): Mention x86_64.
8205
8206 2004-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
8207
8208         * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
8209         Call force_operand on plus_constant result.
8210
8211 2004-01-01  Jan Hubicka  <jh@suse.cz>
8212
8213         * expmed.c (store_bit_field, extract_bit_field): Use new named patterns
8214         * expr.c (store_constructor): Use vec_init pattern.
8215         * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
8216         * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
8217         (vec_set_optab, vec_extract_optab, vec_init_optab): New.
8218         * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
8219         New patterns.
8220         (sse2_unpc?pd): Fix pattern.
8221         (sse2_movlpd): Kill.
8222         (sse2_movsd): Deal with movlpd too.
8223         * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
8224         (ix86_expand_vector_init): New.
8225         * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
8226         * md.texi (vec_set, vec_extract): Document
8227
8228 2003-12-31  Jan Hubicka  <jh@suse.cz>
8229
8230         PR opt/13473
8231         * recog.c (validate_replace_rtx_1):  Take care for RTL sharing inside
8232         ASM input operands
8233
8234         PR opt/12617
8235         * toplev.c (dump_file_index): Reorder ce3 and bbro.
8236         (dump_file): Likewise.
8237         (rest_of_compilation): Likewise.
8238
8239         PR debug/13367
8240         * cgraph.c (cgraph_function_possibly_inlined):  Even with
8241         flag_really_no_inline we inline always_inline functions.
8242         * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
8243         for non-always_inline functions when there is flag_really_no_inline.
8244         (cgraph_decide_inlining): Limit work done when not inlining.
8245         (cgraph_decide_inlining_incrementally): Likewise.
8246         (cgraph_optimize_function): Check whether something got inlined.
8247         * c-objc-common.c (c_disregard_inline_limits): Do not always inline
8248         extern inline functions when not inlining.
8249
8250         * opts.c (decode_options):  Disable crossjumping at -O1
8251         * invoke.texi (-O1): Document change.
8252
8253 See ChangeLog.10 for earlier changes.