12004-09-06  Release Manager
2
3	* GCC 3.4.2 released.
4
52004-09-05  Mark Mitchell <mark@codesourcery.com>
6
7	PR bootstrap/17325
8	Backport from mainline
9	2004-06-23  Wu Yongwei  <adah@sh163.net>
10	* gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
11	(__gthr_i486_lock_cmp_xchg): New inline assembly function.
12	(__GTHR_W32_InterlockedCompareExchange): New macro to choose a
13	suitable function for interlocked compare-and-exchange.
14	(__gthread_mutex_trylock): Use
15	__GTHR_W32_InterlockedCompareExchange.
16	(__gthread_mutex_init_function, __gthread_mutex_lock,
17	__gthread_mutex_trylock, __gthread_mutex_unlock): Adjust the
18	initial counter value to work correctly under Windows 95.
19	* config/i386/gthr-win32.c: Adjust include order.
20	Define __GTHREAD_I486_INLINE_LOCK_PRIMITIVES before including
21	gthr-win32.h.
22	(__gthr_win32_mutex_init_function, __gthr_win32_mutex_lock,
23	__gthr_win32_mutex_trylock, __gthr_win32_mutex_unlock): Adjust
24	to match inline versions in gthr-win32.h.
25
26	2004-04-27  Wu Yongwei  <adah@sh163.net>
27	* gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
28	(__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
29	(__gthread_mutex_init_function): Replace CreateMutex with
30	initialization of custom mutex using CreateSemaphore.
31	(__gthread_mutex_lock): Use InterlockedIncrement.
32	(__gthread_mutex_trylock): Use InterlockedCompareExchange.
33	(__gthread_mutex_unlock): Use InterlockedDecrement and
34	ReleaseSemaphore to unlock
35	* config/i386/gthr-win32.c (__gthread_mutex_init_function,
36	__gthread_mutex_lock, __gthread_mutex_trylock,
37	__gthread_mutex_unlock): Adjust to match inline versions in
38	gthr-win32.h.
39
402004-09-03  Kaz Kojima  <kkojima@gcc.gnu.org>
41
42	PR target/17303
43	Backport from mainline:
44	2004-08-31  Kaz Kojima  <kkojima@gcc.gnu.org>
45
46	* config/sh/sh.c (output_branch): Check the insn length possibly
47	in the delayed slot.
48
492004-09-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
50
51	PR rtl-optimization/16408
52	* gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes.
53
542004-09-01  Richard Henderson  <rth@redhat.com>
55
56        * config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
57        (TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
58
592004-09-01  Jakub Jelinek  <jakub@redhat.com>
60
61	* libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup.
62
632004-09-01  Jakub Jelinek  <jakub@redhat.com>
64
65	* fold-const.c (operand_equal_p): Require equal sign also for
66	FIX_{CEIL,TRUNC,FLOOR,ROUND}_EXPR.
67
682004-08-31  Jeff Law  <law@redhat.com>
69
70	* gcse.c (remove_reachable_equiv_notes): Scan loops where
71	the store expression is killed for REG_EQUAL/REG_EQUIV notes
72	that need to be removed.
73
742004-08-30  Mark Mitchell  <mark@codesourcery.com>
75
76	Revert:
77	2004-08-29  Mark Mitchell  <mark@codesourcery.com>
78	PR rtl-optimization/16590
79	* gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
80
812004-08-29  Mark Mitchell  <mark@codesourcery.com>
82
83	PR rtl-optimization/16590
84	* gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
85
862004-08-26  Richard Henderson  <rth@redhat.com>
87
88        * config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
89        modes.
90
912004-08-26  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
92
93	PR target/17119.
94	* config/m32r.c (gen_compare): Use reg_or_int16_operand when
95	checking for a valid constant, regardless of sign.
96
972004-08-25  Richard Henderson  <rth@redhat.com>
98
99	PR target/16974
100	* config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
101	if the constant satisfies add_operand.
102
1032004-08-25  Richard Henderson  <rth@redhat.com>
104
105	PR debug/10695
106	* config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
107	(alpha_expand_prologue): Handle >32-bit frames.  Generate proper
108	unwind info for >16-bit frames.
109
1102004-08-25  Richard Henderson  <rth@redhat.com>
111
112	* config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
113	(TARGET_CANNOT_FORCE_CONST_MEM): New.
114
1152004-08-25  Richard Earnshaw  <rearnsha@arm.com>
116
117	PR target/15927
118	* arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary
119	reload if CLASS is BASE_REGS.
120
1212004-08-25  Richard Earnshaw  <rearnsha@arm.com>
122
123	* PR target/15948
124	* arm.md (bicsi3_cbranch): Add alternative to handle tying operands
125	one and two.
126
1272004-08-24  Richard Henderson  <rth@redhat.com>
128
129	PR target/16298
130	* config/i386/i386.c (legitimate_constant_p): Rework to not accept
131	random codes within CONST.
132
1332004-08-24  Paolo Bonzini  <bonzini@gnu.org>
134
135	PR target/17113
136	* config/i386/i386.md (movv16qi_internal): Fix typo.
137
1382004-08-24  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
139
140	PR target/17093
141	* config/m32r/m32r.md (movsi_sda): Add SI mode specification to
142	UNSPEC.
143
1442004-08-24  Jonathan Wakely  <redi@gcc.gnu.org>
145
146	* doc/trouble.texi (C++ misunderstandings): Fix example code.
147
1482004-08-23  Roger Sayle  <roger@eyesopen.com>
149
150	PR rtl-optimization/17078
151	* c-semantics.c (expand_unreachable_if_stmt): If the end of the
152	specified statement list is reachable, always return a non-NULL
153	pointer.  If necessary, return error_mark_node.
154
1552004-08-23  Mark Mitchell  <mark@codesourcery.com>
156
157	PR c/14492
158	* dwarf2out.c (loc_descriptor_from_tree): Robustify.
159
160	PR c/16180
161	* jump.c (duplicate_loop_exit_test): If the location reached by
162	the unconditional jump at the top of the loop is outside the loop,
163	then do not treat it as the exit test.
164
1652004-08-23  Janis Johnson  <janis187@us.ibm.com>
166
167	Backports from mainline:
168
169	2004-02-11  Ziemowit Laski  <zlaski@apple.com>
170	2004-02-21  Ziemowit Laski  <zlaski@apple.com>
171	2004-02-27  Ziemowit Laski  <zlaski@apple.com>
172	2004-03-04  Ziemowit Laski  <zlaski@apple.com>
173	2004-03-20  Ziemowit Laski  <zlaski@apple.com>
174	2004-03-24  Ziemowit Laski  <zlaski@apple.com>
175	2004-05-11  Fariborz Jahanian <fjahanian@apple.com>
176 	2004-07-23  Janis Johnson  <janis187@us.ibm.com>
177 	2004-08-12  Janis Johnson  <janis187@us.ibm.com>
178	2004-08-12  Ben Elliston <bje@au.ibm.com>
179 	2004-08-16  Janis Johnson  <janis187@us.ibm.com>
180
181	* c-common.c (vector_size_helper): Remove; call
182	reconstruct_complex_type() instead.
183	* hooks.c (hook_constcharptr_tree_null): New hook.
184        * hooks.h (hook_constcharptr_tree_null): New prototype.
185        * target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
186        * target.h (mangle_fundamental_type): New target hook.
187	* tree.c (reconstruct_complex_type): New function
188	(formerly vector_size_helper() in c-common.c).
189	(make_vector): Make externally visible.
190	* tree.h (reconstruct_complex_type, make_vector): Add prototypes.
191	* doc/extend.texi (AltiVec builtins): Document additional differences
192	from the Motorola AltiVec PIM.
193	* doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
194	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
195	SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
196	* config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
197	* config/rs6000/altivec.h: #error out if '-maltivec' not specified.
198	(vector, pixel, bool): #define to __vector, __pixel and __bool.
199	Change vector to __vector (except for the `vector' macro itself).
200	(__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
201	portion of header.
202	(__altivec_link_error_invalid_argument): Remove prototype; will use
203	__builtin_altivec_compiletime_error("vec_*") instead.
204	(vec_*): Fix/complete set of available operation overloads given the
205	existence of distinct 'vector bool ...' and 'vector pixel' types;
206	tighten cv-correctness of pointer arguments; in C, always check for
207	correct argument types before macro expansion.
208	(vec_splat_s8, vec_splat_s16, vec_splat_s32, vec_splat_u8,
209	vec_splat_u16, vec_splat_u32): Change C++ definitions to accept a
210	'const int' argument; the prototypes already do.
211	(vec_dst, vec_dstst, vec_dststt, vec_dstt, vec_sld, vec_splat): Add
212	prototypes, marked with always_inline attribute.
213	* config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
214	defining Darwin/PowerPC-specific '-f[no-]altivec' and
215	'-W[no-]altivec-long-deprecated' switches.
216	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Pre-define
217	'__vector', '__pixel' and '__bool' macros using
218	'__attribute__((altivec(...)))' types.
219	* config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
220	bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
221	bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
222	New type nodes.
223	(rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
224	handling '-W[no-]altivec-long-deprecated'.
225	(rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
226	(rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
227	altivec_expand_dst_builtin): Remove casts from integer literals.
228	(altivec_expand_builtin): Likewise; handle expansion of new
229	'__builtin_altivec_compiletime_error' function.
230	(rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
231	types, and make them distinct from other vector types; register
232	'__builtin_altivec_compiletime_error' function.
233	(print_operand): For 'P', print a full target register name instead of
234	merely its number.
235	(rs6000_attribute_table): Add "altivec" attribute.
236	(rs6000_handle_altivec_attribute): New function.
237	(rs6000_common_init_builtins): Rename v4si_ftype_char, v8hi_ftype_char,
238	v16qi_ftype_char, v4sf_ftype_v4si_char, v4si_ftype_v4sf_char,
239	v4si_ftype_v4si_char, v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
240        v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
241        v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
242        end in ..._int; change them to accept an int instead of a char
243        as the last parameter.
244	(altivec_expand_dst_builtin): Treat expansion as completed even if
245	literal argument is invalid (so that other expansions are not tried
246	in vain).
247	(TARGET_MANGLE_FUNDAMENTAL_TYPE): Point target hook at
248	rs6000_mangle_fundamental_type.
249        (rs6000_mangle_fundamental_type): New function.
250	* config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
251	'-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
252	maps to).
253	(rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
254	declare.
255	(ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
256
2572004-08-20  Jakub Jelinek  <jakub@redhat.com>
258
259	PR target/16195
260	* config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make r30
261	fixed if TARGET_TOC && TARGET_MINIMAL_TOC.
262	* config/rs6000/rs6000.c (first_reg_to_save): Pretend
263	call_used_regs[30] is 0 if TARGET_TOC && TARGET_MINIMAL_TOC.
264	(rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
265
2662004-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
267
268	* c-decl.c (grokdeclarator): Allow for function definition where
269	innermost declarator has attributes.
270
2712004-08-17  Daniel Bornstein  <danfuzz@milk.com>
272
273	PR target/17019
274	* arm.md (addsi3_cbranch_scratch): Correct case labels.
275
2762004-08-14  Roger Sayle  <roger@eyesopen.com>
277	    David Billinghurst  <David.Billinghurst@riotinto.com>
278
279	PR libgfortran/15930
280	* fixinc/inclhack.def (irix___generic1, irix___generic2): New.
281	* fixinc/fixincl.x: Regenerate.
282	* fixinc/tests/base/internal/math_core.h: New file
283
2842004-08-14  Roger Sayle  <roger@eyesopen.com>
285	    Bruce Korb  <bkorb@gnu.org>
286
287	* fixinc/inclhack.def (aix_syswait_2): New fix.
288	* fixinc/fixincl.x: Regenerate.
289	* fixinc/tests/base/sys/wait.h: Update for new test.
290
2912004-08-14  Gerald Pfeifer  <gerald@pfeifer.com>
292	    Dimitri Papadopoulos-Orfanos  <papadopo@shfj.cea.fr>
293	    Dave Korn  <dk@artimi.com>
294
295	* doc/install.texi (Building): Avoid duplicate reference to GNU
296	make requirement.
297	(*-*-solaris2*): Do not recommend GNU make any longer.  Simplify.
298
2992004-08-13  J"orn Rennecke <joern.rennecke@superh.com>
300
301	* sh.md (cbranch define_delay) Use cond_delay_slot for
302	non-anulled condition too.
303
3042004-08-11  Mark Mitchell  <mark@codesourcery.com>
305
306	PR c++/16618
307	* ginclude/stddef.h (offsetof): Refine C++ definition.
308
3092004-08-12  Alan Modra  <amodra@bigpond.net.au>
310
311	Merge from mainline.
312	2004-07-01  Alan Modra  <amodra@bigpond.net.au>
313	* config/rs6000/rs6000.c (rs6000_mixed_function_arg): Rewrite.
314	(function_arg): Use rs6000_arg_size rather than CLASS_MAX_NREGS in
315	calculating gpr size for altivec.  Simplify and correct
316	rs6000_mixed_function_arg calls.  Call rs6000_mixed_function_arg
317	for ABI_V4 gpr case too.  Fix off-by-one error in long double
318	reg test.  Generate the correct PARALLEL to handle long double
319	for ABI_AIX 32-bit.  Use this for -m32 -mpowerpc64 fpr case too.
320	(function_arg_partial_nregs): Align before calculating regs left.
321	Don't return info on partial fprs when we need info on gprs.
322	Correct long double fpr off-by-one error.
323
3242004-08-11  James E Wilson  <wilson@specifixinc.com>
325
326	PR rtl-optimization/16490
327	* cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
328	global_live_at_end for new basic block if already set for other blocks.
329
3302004-08-07  Roger Sayle  <roger@eyesopen.com>
331
332	PR middle-end/16790
333	* fold-const.c (expand_muldiv_1) <NOP_EXPR>: Disallow local
334	truncations, not just global truncations.
335
3362004-08-07  Alan Modra  <amodra@bigpond.net.au>
337
338	* config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28.
339
3402004-08-04  Zack Weinberg  <zack@codesourcery.com>
341
342	PR 13956
343	* dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
344	functions, broken out of dbxout_block.
345	(dbxout_block): The block at depth 0 should get LBRAC/RBRAC
346	stabs too, if it contains symbols.  Use the begin_label and
347	the Lscope label (emitted by dbxout_function_end) for the
348	range of this block.
349	(dbxout_function_decl): Always call dbxout_function_end.
350	(dbxout_function_end): Return after emitting the "Lscope" symbol
351	under the same conditions that this function formerly wasn't called.
352	Add explanatory comments.
353
3542004-08-03  Yossi Markovich <yossim@il.ibm.com>
355	    Mostafa Hagog <mustafa@il.ibm.com>
356
357	* config/rs6000/altivec.md (altivec_vnmsubfp): Fix wrong pattern.
358
3592004-07-31  Andrew Pinski  <apinski@apple.com>
360
361	PR other/16842
362	* mkheaders.in (libsubdir): s/gcc-lib/gcc/.
363
3642004-07-28  Aldy Hernandez  <aldyh@redhat.com>
365
366	* config/rs6000/rs6000.md ("move_from_CR_gt_bit"): Rename to
367	move_from_CR_eq_bit.
368	Rename UNSPEC_MV_CR_GT to UNSPEC_MV_CR_EQ.
369
370
371	* config/rs6000/spe.md ("e500_flip_gt_bit"): Rename to
372	e500_flip_eq_bit.
373
374	* config/rs6000/rs6000-protos.h: Rename output_e500_flip_gt_bit to
375	output_e500_flip_eq_bit.
376
377	* config/rs6000/rs6000.c (output_e500_flip_gt_bit): Rename to
378	output_e500_flip_eq_bit.
379	(rs6000_emit_sCOND): Rename call to output_e500_flip_gt_bit to
380	output_e500_flip_eq_bit.
381	Rename gen_move_from_CR_gt_bit to gen_move_from_CR_eq_bit.
382	(print_operand): case D.  Get to EQ bit.
383
3842004-07-28  Alan Modra  <amodra@bigpond.net.au>
385
386	* config/rs6000/rs6000.c (function_arg_padding): Pad SFmode upwards.
387
3882004-07-24  Alexander Kabaev  <kan@freebsd.org>
389
390	* config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing.
391	(EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS.
392
3932004-07-26  David Edelsohn  <edelsohn@gnu.org>
394
395	PR target/16239
396	* config/rs6000/rs6000.md (movdi_internal64): Further disparage
397	f->f.
398
3992004-07-26  Richard Sandiford  <rsandifo@redhat.com>
400
401	PR rtl-optimization/16643
402	* cfglayout.h (cfg_layout_initialize): Add a flags parameter.
403	* cfglayout.c (cfg_layout_initialize): Pass it to cleanup_cfg.
404	* basic-block.h (reorder_basic_blocks): Add a flags parameter.
405	* cfglayout.c (reorder_basic_blocks): Pass it to cfg_layout_initialize.
406	* loop-init.c (loop_optimizer_init): Pass 0 to cfg_layout_initialize.
407	* rtl.h (tracer): Add a flags parameter.
408	* tracer.c (tracer): Pass it to cfg_layout_initialise.
409	* toplev.c (rest_of_handle_stack_regs): Pass 0 to reorder_basic_blocks.
410	(rest_of_handle_reorder_blocks): Update calls to tracer and
411	reorder_basic_blocks, passing CLEANUP_UPDATE_LIFE if appropriate.
412	(rest_of_handle_tracer): Pass 0 to tracer.
413
4142004-07-24  Zack Weinberg  <zack@codesourcery.com>
415
416	* config/ia64/hpux.h: Do not disable TLS.
417
4182004-07-24  Alexander Kabaev  <kan@freebsd.org>
419	    Zack Weinberg  <zack@codesourcery.com
420
421	PR 16684
422	* c-decl.c (diagnose_mismatched_decls): Don't issue a
423	redundant-declaration warning the first time a builtin is
424	declared explicitly.
425
4262004-07-21  Jakub Jelinek  <jakub@redhat.com>
427	    Jan Hubicka  <jh@suse.cz>
428
429	PR middle-end/15345
430	PR c/16450
431	* toplev.c (rest_of_handle_inlining): Set DECL_DEFER_OUTPUT on C
432	nested functions as well.
433	* tree-optimize.c (tree_rest_of_compilation): Don't clear decl rtls
434	for deferred nested inlines.
435
4362004-07-17  Eric Botcazou  <ebotcazou@act-europe.fr>
437
438	* libgcc2.c (__enable_execute_stack): New symbol.
439	* libgcc-std.ver (GCC_3.4.2): New version.  Inherit from GCC_3.4
440	and declare __enable_execute_stack.
441	* mklibgcc.in (lib2funcs): Add _enable_execute_stack.
442	* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy.
443	* config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into
444	ENABLE_EXECUTE_STACK and ANSIfy.
445	* config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize
446	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
447	* config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into
448	ENABLE_EXECUTE_STACK.
449	* config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
450	* config/i386/i386.c (x86_initialize_trampoline): Conditionalize
451	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
452	* config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into
453	ENABLE_EXECUTE_STACK.
454	* config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
455	* config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
456	* config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
457	* config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
458	* config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize
459	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
460	(sparc64_initialize_trampoline): Likewise.
461	* doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro.
462
4632004-07-16  Andris Pavenis  <pavenis@latnet.lv>
464
465	PR preprocessor/16366
466	* internal.h (struct cpp_reader): New field dir_hash.
467	* files.c (make_cpp_dir): Use dir_hash, not file_hash.
468	(_cpp_init_files, _cpp_cleanup_files): Update for new field.
469
4702004-07-15  James E Wilson  <wilson@specifixinc.com>
471
472	Backport from mainline:
473	2004-02-19  Steve Ellcey  <sje@cup.hp.com>
474	* config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
475	* testsuite/gcc.dg/20040219-1.c: New test.
476
4772004-07-15  Aldy Hernandez  <aldyh@redhat.com>
478
479	* config/rs6000/rs6000.md ("*cceq_ior_compare"): Allow
480	unconditionally.
481	* config/rs6000/spe.md ("e500_cceq_ior_compare"): Remove.
482
4832004-07-14  James E Wilson  <wilson@specifixinc.com>
484
485	PR target/16325
486	* config/mips/mips.h (STARTING_FRAME_OFFSET): When flag_profile_value
487	and ! TARGET_64BIT, include REG_PARM_STACK_SPACE.
488
4892004-07-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
490
491	Backport from mainline:
492	2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
493
494	PR target/13926
495	* config/sparc/sparc-protos.h (output_ubranch): New prototype.
496	* config/sparc/sparc.c (output_ubranch): New function.
497	* config/sparc/sparc.md (jump pattern): Use it.
498
4992004-07-13  Richard Sandiford  <rsandifo@redhat.com>
500
501	PR rtl-optimization/16380
502	* loop.c (check_dbra_loop): Sink comparison instructions if they
503	do something other than set cc0.
504
5052004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
506
507	PR target/16494
508	* config/sparc/sparc.c (output_cbranch): Properly guard
509	the code handling far branches with TARGET_V9.
510	* config/sparc/sparc.md (length attribute): Document the
511	side-effect of having a length greater or equal to 3.
512
5132004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
514	    Lloyd Parkes  <lloyd@must-have-coffee.gen.nz>
515
516	PR target/15186
517	* config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Pass
518	/usr/ucblib/sparcv9 as -R path when -compat-bsd is specified.
519
5202004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
521	    Martin Sebor  <sebor@roguewave.com>
522
523	PR target/12602
524	* doc/invoke.texi (SPARC options): Document -threads
525	and -pthreads on Solaris.
526
5272004-07-13  Anthony Heading  <aheading@jpmorgan.com>
528
529	* configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo.
530	* configure: Rebuilt.
531
5322004-07-12  Vladimir Makarov  <vmakarov@redhat.com>
533
534	PR target/16445
535	* config/ia64/ia64.c (bundling): Don't count ignored insns.
536
5372004-07-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
538
539	* pa.c (output_indirect_call): Only use %r2 as the link register in
540	indirect calls with the long PA 2.0 pc-relative branch.
541
5422004-07-10  James E Wilson  <wilson@specifixinc.com>
543
544	* config/gofast.h (gofast_maybe_init_libfuncs): Use SImode for litodp.
545
5462004-07-10  Jakub Jelinek  <jakub@redhat.com>
547
548	* Backport from mainline:
549	2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
550		    Jakub Jelinek  <jakub@redhat.com>
551
552	* config/i386/i386.c (override_options): Enable
553	SSE prefetches with -mtune, as long as we are
554	compiling for i686 or higher.  All i686 processors
555	accept SSE prefetches as NOPS, some i586's don't.
556
557	2004-07-07  Jakub Jelinek  <jakub@redhat.com>
558
559	* config/i386/i386.c (override_options): Don't set x86_prefetch_sse
560	from -mtune= option.
561
5622004-07-10  Jakub Jelinek  <jakub@redhat.com>
563
564	PR tree-optimization/16372
565	* fold-const.c (build_range_check): Use TYPE_MODE's precision for
566	enumerals.
567
5682004-07-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
569
570	PR target/16459
571	* pa.c (output_indirect_call): Use %r2 as the link register when
572	calling $$dyncall with a pc-relative branch.
573
5742004-07-08  Gerald Pfeifer  <gerald@pfeifer.com>
575
576	* doc/install.texi (Binaries): Mention OpenPKG.
577
5782004-07-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
579
580	PR target/16416
581	* config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): New macro.
582	Override default settings to account for -m32 and -m64.
583
5842004-07-08  Vladimir Makarov  <vmakarov@redhat.com>
585
586	PR target/16414
587	* config/ia64/ia64.c (ia64_dfa_new_cycle): Fix typo in comparison
588	of asm_noperands result.
589
5902004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
591
592	PR target/16430
593	* config/sparc/sparc.c (function_value): In 64-bit mode,
594	return the aggregates larger than 16 bytes like unions.
595
5962004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
597
598	PR target/16199
599	* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): When
600	'temp' is zero, generate new pseudos as needed and emit the
601	sequence of insns in single-assignment form.  Resync comments
602	with code.
603	(sparc_emit_set_const64): Pass zero as 'temp' argument to above
604	function before reload.
605
6062004-07-07  Richard Sandiford  <rsandifo@redhat.com>
607
608	PR target/16407
609	* config/mips/mips-protos.h (mips_declare_common_object): Declare.
610	* config/mips/mips.c (mips_declare_common_object): New function,
611	mostly split out from...
612	(mips_output_aligned_decl_common): ...here.
613	* config/mips/mips.h (ASM_OUTPUT_LOCAL): Remove in favor of...
614	(ASM_OUTPUT_ALIGNED_LOCAL): ...this new definition.
615	* config/mips/iris6.h (ASM_OUTPUT_ALIGNED_LOCAL): Undefine this
616	rather than ASM_OUTPUT_LOCAL.  Call mips_declare_common_object.
617
6182004-07-07  Jason Merrill  <jason@redhat.com>
619
620	PR c++/15815
621	* doc/extend.texi (C++ Interface): Correct information and
622	discourage use.
623
6242004-07-07  Andreas Schwab  <schwab@suse.de>
625
626	* config/ia64/ia64.md: Define new attribute "empty".
627	(prologue_use, nop_x, insn_group_barrier): Set it.
628
629	* config/ia64/ia64.c (ia64_reorg): When looking for trailing call
630	skip over "empty" insns.
631
6322004-07-07  Vladimir Makarov  <vmakarov@redhat.com>
633
634	PR target/16130
635	PR target/16142
636	PR target/16143
637	* config/ia64/ia64.c (ia64_dfa_new_cycle): Reset DFA state for asm
638	insn.
639
6402004-07-06  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
641
642	PR target/1679.
643	* config/m32r/m32r.c (m32r_function_symbol): New function:
644	Generate a symbol name RTX with the correct m32r specific flags
645	set.
646	(block_move_call): Use new function to generate correct symbol.
647	* config/m32r/m32r-protos.h: Add prototype for new funcion.
648	* config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use the new
649	function.
650
6512004-07-07  Richard Sandiford  <rsandifo@redhat.com>
652
653	PR target/16357
654	* config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs
655	to mips_expand_unaligned_load, mips_expand_unaligned_store, and
656	move_by_pieces.
657
6582004-07-07  Richard Sandiford  <rsandifo@redhat.com>
659
660	PR target/15869
661	* config/mips/mips.c (mips_avoid_hazards): Call split_all_insns_noflow.
662
6632004-07-06  Mark Mitchell  <mark@codesourcery.com>
664
665	* doc/include/gcc-common.texi: Increment version number.
666	* version.c (version_string): Likewise.
667
6682004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
669
670	* doc/sourcebuild.texi: Use semicolons instead of commas in
671	section title.
672
6732004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
674
675	* doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi,
676	doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi,
677	doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
678	doc/portability.texi, doc/trouble.texi: Avoid some first-person
679	references and patronizing comments.  Based on printed manual.
680	* doc/invoke.texi: Don't reference fortran@gnu.org.
681	* doc/trouble.texi (Warning when a non-void function value is
682	ignored): Rewrite.  From Russ Allbery and Chris Devers.
683
6842004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
685
686	* doc/cppinternals.texi, doc/install.texi, doc/invoke.texi,
687	doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi:
688	Use terminology "testsuite" and "enumerated".
689
6902004-07-06  Eric Christopher  <echristo@redhat.com>
691
692	PR rtl-optimization/14700
693	Backport from mainline:
694	2004-06-30  Zack Weinberg  <zack@codesourcery.com>
695	* combine.c (distribute_notes): Don't look at global_regs for
696	pseudos.
697
698	2004-06-24  Eric Christopher  <echristo@redhat.com>
699	* combine.c (distribute_notes): Don't delete sets to
700	global register variables.
701
7022004-07-04  Gerald Pfeifer  <gerald@pfeifer.com>
703
704	* doc/contrib.texi (Contributors): Adjust link for GNU Classpath.
705
7062004-07-01  Release Manager
707
708	* GCC 3.4.1 released.
709
7102004-06-28  Neil Booth  <neil@duron.akihabara.co.uk>
711
712	PR preprocessor/16192
713	PR preprocessor/15913
714	PR preprocessor/15572
715	* cppexp.c (_cpp_parse_expr): Handle remaining cases where an
716	expression is missing.
717	* cppinit.c (post_options): Traditional cpp doesn't do // comments.
718	* doc/cpp.texi: Don't document what we do for ill-formed expressions.
719	* doc/cppopts.texi: Clarify processing of command-line defines.
720
7212004-06-28  Richard Sandiford  <rsandifo@redhat.com>
722
723	PR target/16176
724	* config/mips/mips.c (mips_expand_unaligned_load): Use a temporary
725	register for the destination of the lwl or ldl.
726
7272004-06-25  Philip Blundell  <philb@gnu.org>
728
729	PR wrong-code/15089
730	* loop.c (scan_loop): Do not move user-specified register
731	assignments.
732
7332004-06-25  Mark Mitchell  <mark@codesourcery.com>
734
735	PR wrong-code/16129
736	* alias.c (get_alias_set): Adjust setting of
737	DECL_POINTER_ALIAS_SET for pointers to aggregates.
738
7392004-06-25  Richard Sandiford  <rsandifo@redhat.com>
740
741	PR target/16144
742	* config/mips/mips.md (divsf, divdf): Don't FAIL if the first operand
743	is 1.0; force it into a register instead.
744
7452004-06-24  Alan Modra  <amodra@bigpond.net.au>
746
747	* calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and
748	pass raw n_named_args to it.
749
7502004-06-22  Richard Henderson  <rth@redhat.com>
751
752	PR middle-end/16026
753	* function.c (assign_parms): Don't abort for overaligned PARALLEL.
754
7552004-06-21  Kelley Cook  <kcook@gcc.gnu.org>
756
757	PR target/15551
758	* config/i386/i386.md: Change UNSPEC_STACK_PROBE to UNSPECV_STACK_PROBE.
759	(allocate_stack_worker): Make unspec_volatile.
760	(allocate_stack_worker_rex64):  Likewise.
761	(allocate_stack_worker_postreload):  Likewise.
762	(allocate_stack_worker_rex64_postreload):  Likewise.
763
7642004-06-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
765
766	PR rtl-optimization/14782
767	* pa.c (emit_move_sequence): Use SFmode for 4-byte modes when doing
768	the address checks for secondary reloads for loads from and stores
769	to floating-point registers.
770	* pa.h (EXTRA_CONSTRAINT, case T): Use SFmode for 4-byte modes
771	in the address check.  Move work around for ELF32 targets to
772	GO_IF_LEGITIMATE_ADDRESS.
773	(GO_IF_LEGITIMATE_ADDRESS): Require constant offsets to be
774	correctly aligned for DImode loads and stores.  Don't allow long
775	SFmode displacements on ELF32.
776
7772004-06-21  Richard Henderson  <rth@redhat.com>
778
779	PR rtl-opt/16114
780	* cse.c (merge_equiv_classes): Also rehash in response to
781	delete_reg_equiv changes.
782	(rehash_using_reg): Don't exclude REGs from rehashing.
783
7842004-06-21  Richard Sandiford  <rsandifo@redhat.com>
785
786	PR rtl-optimization/15159
787	* tree.c (unsafe_for_reeval): Return 2 for TRY_CATCH_EXPRs.
788
7892004-06-19  Richard Henderson  <rth@redhat.com>
790
791	PR target/15941
792	* function.c (assign_parms): If not padding upward or intentionally
793	forcing upward padding, take offset_rtx into account when determining
794	the alignment for stack_parm.
795
7962004-06-19  Richard Henderson  <rth@redhat.com>
797
798	PR target/15550
799	* ifcvt.c (noce_try_move): Recognize all generated instructions.
800
8012004-06-19  Andrew Pinski  <pinskia@physics.uc.edu>
802
803	PR target/10129
804	* config/darwin.c (darwin_encode_section_info): When the decl has
805	a DECL_INITIAL, it is only defined also when it is not a common.
806
8072004-06-17  Zack Weinberg  <zack@codesourcery.com>
808
809	Bug 14610
810	* Makefile.in (min-insn-modes.o): Correct dependencies.
811	* real.c (encode_ieee_extended, decode_ieee_extended): Always
812	produce/consume 12-byte little-endian Intel format.
813	(encode_ieee_extended_128, decode_ieee_extended_128): Delete.
814	(encode_ieee_extended_motorola, decode_ieee_extended_motorola)
815	(encode_ieee_extended_intel_96, decode_ieee_extended_intel_96)
816	(encode_ieee_extended_intel_128, decode_ieee_extended_intel_128):
817	New functions which convert between 12-byte little-endian Intel
818	format and the desired format.
819	(ieee_extended_motorola_format, ieee_extended_intel_96_round_53_format)
820	(ieee_extended_intel_96_format, ieee_extended_intel_128_format):
821	Update.
822
8232004-06-16  James E Wilson  <wilson@specifixinc.com>
824
825	PR c++/14808
826	* config/i386/cygwin.h (TARGET_IS_PE_COFF): Delete duplicate macro.
827
8282004-06-16  Bernardo Innocenti  <bernie@develer.com>
829
830	Backport from mainline:
831	2004-06-16  Bernardo Innocenti  <bernie@develer.com>
832
833	PR target/13292
834	* config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040_ONLY
835	on -msoft-float.
836	(TARGET_FLT_EVAL_METHOD): Don't advertise extended precision for
837	68040 and soft-float.
838	* config/m68k/m68k.md (truncdfsf2): Explicitly require TARGET_68881
839	in the TARGET_68040_ONLY case.
840
8412004-06-16  Vladimir Makarov  <vmakarov@redhat.com>
842
843	PR target/15653
844	* config/ia64/ia64.c (ia64_dfa_new_cycle): Do not insert nops
845	after shifts before asm.
846
8472004-06-15  Chris Demetriou  <cgd@broadcom.com>
848
849	* config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
850	definition.
851	* config/mips/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
852	#undef and #if 0'd definition.
853
8542004-06-15  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
855
856	* config/m32r/m32r.h (RETURN_ADDR_RTX): Define.
857	(INCOMING_RETURN_ADDR_RTX): Define.
858	* config/m32r/m32r-protos.h (m32r_return_addr): Added.
859	* config/m32r/m32r.c (m32r_exppand_prologue): Changed for
860	__builtin_return_address(0).
861	(m32r_return_addr): Added for __builtin_return_address(0).
862	(m32r_reload_lr): Ditto.
863
864	* longlong.h: Fix macros for m32r add_ssaaaa and sub_ddmmss.
865
8662004-06-15  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
867
868	* gccbug.in: Update optimization -> tree-optimization/rtl-optimization.
869
8702004-06-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
871
872	* real.c: Fix bit count in head comment.
873
8742004-06-14  Jakub Jelinek  <jakub@redhat.com>
875
876	PR middle-end/15945
877	* simplify-rtx.c (simplify_binary_operation): Don't optimize out
878	Inf + -Inf, Inf - Inf, Inf / Inf and 0 * Inf if flag_trapping_math.
879
8802004-06-14  Jakub Jelinek  <jakub@redhat.com>
881
882	PR target/15178
883	* config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
884
8852004-06-14  Alan Modra  <amodra@bigpond.net.au>
886
887	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Handle -mpowerpc64 and -mcpu
888	for power5 and rs64a.  Correct condition for default.  Correct power3,
889	620, 630, 7400, 7450, G4, 970 and G5 -mcpu entries.  Add -many.
890
8912004-06-13  Alan Modra  <amodra@bigpond.net.au>
892
893	Apply mainline 2004-01-27  Alan Modra  <amodra@bigpond.net.au>
894	* config/rs6000/rs6000.h: Correct target_flags free bits comment.
895	(PREDICATE_CODES): Remove duplicate.
896	* config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
897	(SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
898	(MASK_PROFILE_KERNEL): Adjust define.
899
9002004-06-13  Hans-Peter Nilsson  <hp@axis.com>
901
902	PR rtl-optimization/15296
903	* reorg.c (fill_simple_delay_slots): Use next_real_insn when
904	getting last consecutive label at a branch.
905	(relax_delay_slots): Similar, near top of loop.
906
9072004-06-12  Andreas Jaeger  <aj@suse.de>
908
909	* libgcc-std.ver: Add __unorddf2 and __unordsf2 with version 3.3.4.
910	* libgcc-darwin.ver: Likewise.
911
9122004-06-11  Bernardo Innocenti  <bernie@develer.com>
913
914	PR target/8309
915	PR target/13312
916	Backport from mainline:
917
918	2004-05-27  Peter Jakubek  <peter@laseranimation.com>
919
920	* reload.c (find_reloads): Force reload for pseudo registers on big
921	endian machines.
922
9232004-06-11  J"orn Rennecke <joern.rennecke@superh.com>
924
925	* sh.c (dump_table): New argument start.  Changed caller.
926	(fixup_mova): New function.
927	(find_barrier): Use it.
928	(sh_reorg): Likewise.  Check for CODE_FOR_casesi_worker_2.
929	If the label a mova refers to is above the mova itself, change
930	the mova into a load.
931	* sh.md (*casesi_worker): Rename to:
932	(casesi_worker_1).
933	(casesi_worker_2): New insn.
934
9352004-06-11  Hartmut Penner  <hpenner@de.ibm.com>
936
937	Backport from mainline:
938
939	* config/rs6000/rs6000.c (output_vec_const_move):
940	Find all cases of EASY_VECTOR_15_ADD_SELF.
941	(easy_vector_constant_add_self): Accept
942	all vector constant loadable by vsplt* and vadd*.
943	(easy_vector_same): Use easy_vector_splat_const.
944	(easy_vector_const): Use easy_vector_splat_const.
945	(easy_vector_splat_const): New function.
946	(gen_easy_vector_constant_add_self): New function.
947
948	* config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
949	New prototype.
950
951	* config/rs6000/altivec.md (movv4si splitter): Change to
952	emit move insn with halfed vector constant.
953	(*movv8hi splitter): Likewise.
954	(*movv16qi splitter): Likewise.
955
9562004-06-10  Joseph S. Myers  <jsm@polyomino.org.uk>
957
958	* doc/sourcebuild.texi (Front End): Add details of more
959	installation documentation required.
960
9612004-06-10  Vladimir Makarov  <vmakarov@redhat.com>
962
963	PR target/15653
964	* haifa-sched.c (schedule_block): Finish cycle after issuing asm
965	insn.
966
9672004-06-10  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
968
969	PR web/15263
970	* doc/install.texi: Remove superfluous linebreak.
971
9722004-06-10  Bernardo Innocenti  <bernie@develer.com>
973
974	PR target/13803
975	Backport from mainline:
976
977	2004-05-05  Peter Barada  <peter@the-baradas.com>
978
979	* config/m68k/m68k.h(EXTRA_CONSTRAINT): Add 'U' for register offset
980	addressing.
981	* config/m68k/m68k.md: Add 'U,U' alternative to ColdFire variants of
982	movsi, movhi, movqi insn patterns.
983
9842004-06-10  Alan Modra  <amodra@bigpond.net.au>
985
986	Apply from mainline:
987	2004-03-12  Jakub Jelinek  <jakub@redhat.com>
988	* config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
989	prototype.
990	* config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
991	* config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
992
9932004-06-10  Jakub Jelinek  <jakub@redhat.com>
994
995	* config/ia64/unwind-ia64.c (uw_frame_state_for): Don't assume a
996	leaf function without unwind info at RP 0.
997
9982004-06-10  Alan Modra  <amodra@bigpond.net.au>
999
1000	PR target/15191
1001	2004-05-15  Alan Modra  <amodra@bigpond.net.au>
1002	* config/rs6000/rs6000.c (rs6000_va_arg <ABI_V4>): Don't use
1003	UNITS_PER_WORD to calculate gpr size.  Re-instate code to set reg
1004	count to 8 to handle n_reg > 2.
1005	2004-05-10  Alan Modra  <amodra@bigpond.net.au>
1006	* config/rs6000/rs6000.c (function_arg_boundary): Always align
1007	AltiVec vectors.
1008	(function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec
1009	vectors by refererence.  Align the same for TARGET_64BIT to a 16
1010	byte boundary.  Remove useless code.  Add function comment.
1011	(function_arg): Similarly.  Move gpr rs6000_mixed_function_arg
1012	call to where it belongs.
1013	(function_arg_partial_nregs): Return true for all TARGET_32BIT
1014	-mabi=no-altivec AltiVec vectors.  Fix debug output.
1015	(rs6000_va_arg): Adjust for AltiVec change.
1016	2004-05-10  Alan Modra  <amodra@bigpond.net.au>
1017	* config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
1018	when size is 8 bytes.
1019	(function_arg_advance): Account for stack space used by AltiVec
1020	args when -mabi=altivec.  Simplify alignment calculations.  For
1021	ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec.
1022	(function_arg): Similarly.
1023	(function_arg_pass_by_reference): True for ABI_V4 AltiVec when
1024	not AltiVec ABI.
1025	(rs6000_va_arg): Correct fp arg test.  Adjust for AltiVec change.
1026	Correct alignment, and align before testing reg count.  Remove
1027	TREE_THIS_VOLATILE from reg.  Don't emit unused labels.
1028	(rs6000_complex_function_value): Check TARGET_HARD_FLOAT and
1029	TARGET_FPRS here..
1030	(rs6000_function_value): .. not here before call.
1031	2004-05-07  Alan Modra  <amodra@bigpond.net.au>
1032	* config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
1033	TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
1034	* config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
1035	(STACK_BOUNDARY): Delete.
1036
10372004-06-10  Alan Modra  <amodra@bigpond.net.au>
1038
1039	PR target/14960
1040	2004-04-24  Alan Modra  <amodra@bigpond.net.au>
1041	* config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
1042	to non_fixed_size, and leave out fixed_size from the sum.
1043	(generate_set_vrsave): Correct clobbers.
1044	(rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
1045	(rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
1046	(rs6000_libcall_value): Likewise.
1047	* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
1048	(FUNCTION_ARG_REGNO_P): Likewise.
1049
10502004-06-10  Alan Modra  <amodra@bigpond.net.au>
1051
1052	PR target/14567
1053	2004-03-13  Alan Modra  <amodra@bigpond.net.au>
1054	* config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
1055	(HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
1056	* config/rs6000/rs6000.c (rs6000_arg_size): New function.
1057	Update all users of RS6000_ARG_SIZE.
1058	(function_arg_advance): Count fregno using mode size.
1059	(function_arg): Handle long double split over regs and memory.
1060	(function_arg_partial_nregs): Likewise.
1061	(rs6000_va_arg): Repackage complex args.
1062	2004-02-23  Fariborz Jahanian <fjahanian@apple.com>
1063	* config/rs6000/rs6000.c (function_arg): call to
1064	rs6000_mixed_function_arg for DFmode moved to allow
1065	normal DFmode incoming register assignment.
1066
10672004-06-09  Mark Mitchell  <mark@codesourcery.com>
1068
1069	Revert:
1070	PR c++/15815
1071	2004-06-07  Mark Mitchell  <mark@codesourcery.com>
1072	* doc/extend.texi: Deprecate #pragma interface and #pragma
1073	implementation.
1074
10752004-06-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1076
1077	PR rtl-optimization/15761
1078	* cfgloopanal.c (count_strange_loop_iterations,
1079	count_loop_iterations): Use gen_int_mode instead
1080	of GEN_INT.
1081
10822004-06-08  Roger Sayle  <roger@eyesopen.com>
1083
1084	PR c/14649
1085	* c-typeck.c (require_constant_value, require_constant_elements):
1086	Move declarations to the top of the file.
1087	(build_function_call): If we require a constant value, fold with
1088	fold_initializer.  If the result is a constant, and the function
1089	wasn't called using __builtin_foo, issue a pedantic warning.
1090	(build_unary_op): If we require a constant value, fold tree with
1091	fold_initializer.
1092	(build_binary_op): Use require_constant_value to determine whether
1093	to call fold or fold_initializer.
1094
10952004-06-08  Richard Henderson  <rth@redhat.com>
1096
1097	PR middle-end/15228
1098	* function.c (assign_parms): Always set_mem_align with the computed
1099	FUNCTION_ARG_BOUNDARY.  Don't clear stack_parm if !STRICT_ALIGNMENT.
1100
11012004-06-08  Vladimir Makarov  <vmakarov@redhat.com>
1102
1103	PR target/15598
1104	* config/ia64/ia64.c (bundling): Add missed TYPE_A.
1105
11062004-06-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1107
1108	PR rtl-optimization/15717
1109	* config/i386/i386.c (legitimate_constant_p): Do not allow
1110	x - symbol_ref.
1111
11122004-06-07  James E Wilson  <wilson@specifixinc.com>
1113
1114	PR target/15569
1115	* config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
1116	(vall_value_gp): Likewise.
1117
11182004-06-07  Dan Kegel  <dank@kegel.com>
1119
1120	PR c++/14808
1121	* config/i386/cygwin.h (TARGET_IS_PE_COFF): New.
1122	* config/i386/cygming.h (TARGET_IS_PE_COFF): New.
1123
11242004-06-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1125
1126	PR target/15783
1127	* config/sparc/sparc.c (function_arg_union_value): Add 'mode'
1128	parameter.  Enumerate the registers inside the PARALLEL.
1129	(function_arg): Adjust call to function_arg_union_value.
1130	(function_value): Likewise.
1131
11322004-06-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1133
1134	* pa.c (emit_move_sequence): Fix loading of non 14-bit CONST operands
1135	when generating PIC code.
1136
1137	* pa.md: Disable the peephole2 patterns that generate indexed
1138	floating-point stores when indexing is disabled.
1139
11402004-06-07  Joseph S. Myers  <jsm@polyomino.org.uk>
1141
1142	PR c/14765
1143	* c-parse.in (compstmt_primary_start): Set last_expr_type to
1144	NULL_TREE.
1145
11462004-06-07  Mark Mitchell  <mark@codesourcery.com>
1147
1148	PR c++/15815
1149	* doc/extend.texi: Deprecate #pragma interface and #pragma
1150	implementation.
1151
11522004-06-07  Richard Henderson  <rth@redhat.com>
1153
1154	PR rtl-opt/15193
1155	* expmed.c (extract_bit_field): Fix vector_extract return.
1156
11572004-06-07  Mark Mitchell  <mark@codesourcery.com>
1158
1159	PR c++/15337
1160	* c-common.c (c_sizeof_or_alignof_type): Use more detailed error
1161	message.
1162
11632004-06-06  Stephane Carrez  <stcarrez@nerim.fr>
1164
1165	PR target/14542
1166	* config/m68hc11/m68hc11.md (move peephole2): Emit a use note to avoid
1167	a live change of a register after peephole replacement.
1168
11692004-06-06  Stephane Carrez  <stcarrez@nerim.fr>
1170
1171	PR target/14457
1172	* config/m68hc11/m68hc11.c (splitable_operand): New predicate.
1173	* config/m68hc11/m68hc11-protos.h (splitable_operand): Declare.
1174	* config/m68hc11/m68hc11.h (PREDICATE_CODES): Register it.
1175	(inhibit_libc): Must define.
1176	* config/m68hc11/m68hc11.md ("movhi_const0"): Use splitable_operand.
1177	("*andhi3_gen", "iorhi3", "*iorhi3_gen"): Likewise.
1178	("xorhi3"): Likewise.
1179
11802004-06-05  David S. Miller  <davem@nuts.davemloft.net>
1181
1182	* config/sparc/linux.h (TARGET_C99_FUNCTIONS): Set.
1183	* config/sparc/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
1184
11852004-06-04  Eric Christopher  <echristo@redhat.com>
1186
1187	Backport from mainline:
1188	2004-06-02  Eric Christopher  <echristo@redhat.com>
1189
1190	* c-typeck.c (common_type): Don't lose type qualifiers
1191	when creating new variants.
1192
11932004-06-03  Bernardo Innocenti  <bernie@develer.com>
1194
1195	PR target/15782
1196	Backport from mainline:
1197
1198	2004-06-01  Peter Barada  <peter@the-baradas.com>
1199		    Peter Jakubek  <peter@laseranimation.com>
1200
1201	* config/m68k/m68k.c(m68k_output_mi_thunk):  For ColdFire, use %d0 as
1202	a scratch to perform an add to memory.
1203
12042004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
1205
1206	PR target/15626
1207	* doc/install.texi (sparc-sun-solaris2*): Document messages issued
1208	by the Sun linker in conjunction with the Sun assembler.
1209	(sparc-sun-solaris2.7): Update revision info for Sun patch 106950.
1210
12112004-06-01  Nicola Pero  <nicola@brainstorm.co.uk>
1212
1213	PR objc/7993
1214	* objc-act.c (is_private): Do not emit the 'instance variable %s
1215	is declared private' error.
1216	(is_public): Emit the error after calling is_private.
1217	(lookup_objc_ivar): If the instance variable is private, return 0
1218	- the instance variable is invisible here.
1219
12202004-06-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
1221
1222	* doc/invoke.texi (-static-libgcc): Explicitly mention
1223	non-GNU linkers.
1224
12252004-05-31  Kaz Kojima  <kkojima@gcc.gnu.org>
1226
1227	PR target/13250
1228	Backport from mainline:
1229
1230	2004-05-28  Kaz Kojima  <kkojima@gcc.gnu.org>
1231	* config/sh/sh.md (rotlsi3): Use emit_move_insn.
1232
12332004-05-31  H.J. Lu  <hongjiu.lu@intel.com>
1234
1235	PR middle-end/15666
1236	* cgraph.c (cgraph_remove_node): Don't call htab_clear_slot if
1237	we can't find the slot. Abort if we can't find slot and the
1238	node isn't for a builtin function.
1239
12402004-05-31  Roger Sayle  <roger@eyesopen.com>
1241
1242	PR middle-end/15069
1243	* fold-const.c (fold_single_bit_test): Only perform "(X & C) != 0"
1244	into "X < 0" (where C is the signbit) if X's type is a full mode.
1245
12462004-05-31  Joseph S. Myers  <jsm@polyomino.org.uk>
1247
1248	PR c/15749
1249	* c-decl.c (grokdeclarator, finish_struct): Don't pedwarn for
1250	misuses of structures with flexible array members if
1251	in_system_header.
1252
12532004-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
1254
1255	PR target/15693
1256	* config/sparc/sparc.c (compare_operand): New predicate.
1257	* config/sparc/sparc.h (PREDICATE_CODES): Add it.
1258	* config/sparc/sparc.md (cmpsi expander): Use it.  If the first
1259	operand is a ZERO_EXTRACT and the second operand is not zero,
1260	force the former to a register.
1261	(cmpdi expander): Likewise.
1262
12632004-05-31  Danny Smith  <dannysmith@users.sourceforge.net>
1264
1265	* c-incpath.c (add_path): Canonicalize paths to use '/' if
1266	HAVE_DOS_BASED_FILESYSTEM.
1267
12682004-05-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1269
1270	PR bootstrap/14671
1271	* alias.c (init_alias_analysis): Allocate alias_invariant array with
1272	ggc_calloc instead of xrealloc.
1273	(end_alias_analysis): Don't free alias_invariant.
1274
12752004-05-28  DJ Delorie  <dj@redhat.com>
1276
1277	* stor-layout.c (place_field): Revert erroneous commit.
1278
12792004-05-28  Nick Clifton  <nickc@redhat.com>
1280
1281	Bug 14093
1282	* config/sh/sh-protos.h (sh_promote_prototypes): Declare.
1283	* config/sh/sh.c (sh_promote_prototypes): Remove declaration.
1284	Delete static from definition.
1285	* config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
1286
12872004-05-27  Kaz Kojima  <kkojima@gcc.gnu.org>
1288
1289	Backport from mainline:
1290
1291	* config/sh/t-linux (SHLIB_MAPFILES): Use sh specific
1292	libgcc-std.ver.
1293	* config/sh/libgcc-std.ver: New file.
1294
12952004-05-27  Olivier Hainque  <hainque@act-europe.fr>
1296
1297	* expr.c (store_constructor): Restore sanity check on
1298	the size of the type before clearing.
1299
13002004-05-27  Alan Modra  <amodra@bigpond.net.au>
1301
1302	PR target/14478
1303	* config/rs6000/rs6000.c (reg_or_neg_short_operand): Don't allow zero.
1304
13052004-05-26  Aldy Hernandez  <aldyh@redhat.com>
1306
1307	PR/14924
1308	* config/rs6000/rs6000.c (spe_expand_stv_builtin): New.
1309
13102004-05-23  Joseph S. Myers  <jsm@polyomino.org.uk>
1311
1312	* doc/gcc.texi, doc/gccint.texi, doc/include/gcc-common.texi:
1313	Update based on printed manual.  Enable setting of offsets for
1314	FSFPRINT and move it to gcc-common.texi.
1315	* doc/gcc.texi: Update FSF printing details.
1316	* doc/gccint.texi: Remove FSF printing details.
1317
13182004-05-21  Jakub Jelinek  <jakub@redhat.com>
1319
1320	* config/sparc/linux64.h (OPTION_DEFAULT_SPECS): If SPARC_BI_ARCH,
1321	override sparc.h definition.
1322
13232004-05-20  Jakub Jelinek  <jakub@redhat.com>
1324
1325	* config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default
1326	also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3.
1327
13282004-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1329
1330	PR target/15202
1331	* pa.md (movdi, movsi, movhi, movqi): Support move from shift amount
1332	register to general register for DI, SI, HI and QI modes.  Remove
1333	move to shift amount register in DF mode.
1334
13352004-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
1336
1337	PR middle-end/15054
1338	* expr.c (expand_expr_real): Do not call preserve_temp_slots
1339	on a TARGET_EXPR temp.
1340	* function.c (assign_stack_temp_for_type): Set 'keep' flag for
1341	TARGET_EXPR temp slots.
1342
13432004-05-18  Kaz Kojima  <kkojima@gcc.gnu.org>
1344
1345	PR optimization/15100
1346	Backport from mainline:
1347
1348	2004-05-11  Kaz Kojima  <kkojima@gcc.gnu.org>
1349	* combine.c (distribute_notes): Don't create a dangling
1350	REG_LIBCALL/REG_RETVAL note.
1351
13522004-05-17  H.J. Lu  <hongjiu.lu@intel.com>
1353
1354	Backport from mainline
1355
1356	PR target/15301
1357	PR target/15302
1358	2004-05-17  Jan Hubicka  <jh@suse.cz>
1359
1360	* i386.c (construct_container): Do not produce BLKmode registers.
1361	(classify_argument): Properly compute alignment of complex types.
1362
13632004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>
1364
1365	* doc/extend.texi: Update WG14 URL.
1366
13672004-05-11  Aldy Hernandez  <aldyh@redhat.com>
1368
1369	* config/rs6000/spe.md (spe_evneg): Rename to negv2si2.
1370
1371	* config/rs6000/rs6000.c (bdesc_1arg): Change spe_evneg to
1372	negv2si2.
1373
13742004-05-10  Kaz Kojima  <kkojima@gcc.gnu.org>
1375
1376	PR target/15130
1377	Backport from mainline:
1378
1379	* config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
1380	* config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
1381	into account.  Compute the correct number of general registers
1382	for the return value.  Generate a special push/pop sequence when
1383	failing to get a temporary register for non SHmedia epilogue.
1384	(sh_expand_epilogue): Add an argument to show whether it's for
1385	sibcall or not.  Set the 3rd argument of output_stack_adjust to
1386	-1 if needed.
1387	(sh_need_epilogue): Call sh_expand_epilogue with 0.
1388	* config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue
1389	with 1.
1390	(epilogue): Call sh_expand_epilogue with 0.
1391
13922004-05-09  Aldy Hernandez  <aldyh@redhat.com>
1393
1394	* config/rs6000/spe.md ("tstsflt_gpr"): Fix typo in unspec.
1395
13962004-05-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
1397
1398	* doc/install.texi (sparc-sun-solaris2*): Document bootstrap
1399	problems with earlier versions of the GNU compiler.
1400
14012004-05-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1402
1403	PR c++/14962
1404	* c-pragma.c (handle_pragma_redefine_extname): Only change
1405	the assembler name of FUNCTION_DECLs and VAR_DECLs.
1406
14072004-05-07  Loren James Rittle  <ljrittle@acm.org>
1408
1409	* config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Proper redefinition.
1410	* config/arm/freebsd.h: Likewise.
1411	* config/ia64/freebsd.h: Likewise.
1412	* config/sparc/freebsd.h: Likewise.
1413
14142004-05-06  Richard Henderson  <rth@redhat.com>
1415
1416	* stmt.c (parse_output_constraint): Don't warn for read-write
1417	memory operand.
1418
14192004-05-06  Jan Hubicka  <jh@suse.cz>
1420
1421	PR c/15004
1422	* function.c (do_warn_unused_parameter): Break out form ...
1423	(expand_function_end): ... here; warn only when not using cgraphunit.
1424	* function.h (do_warn_unused_parameter): Declare.
1425	* cgraphunit.c: Include function.h.
1426	(cgraph_finalize_function): Do unused parameter warning.
1427	* Makefile.in (cgraphunit.o): Depend on function.h
1428
14292004-05-05  H.J. Lu  <hongjiu.lu@intel.com>
1430
1431	PR target/15290
1432	* config/i386/i386.c (ix86_split_to_parts): Use real_to_target
1433	instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE.
1434
14352004-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1436
1437	* fixinc/inclhack.def (svr4_profil): Don't apply on IRIX 5/6.
1438	* fixinc/fixincl.x: Regenerate.
1439
14402004-05-02  Josef Zlomek  <zlomekj@suse.cz>
1441
1442	* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
1443	message before redirecting the edge.
1444
14452004-05-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
1446
1447	PR optimization/15112
1448	* reload1.c (reload): Don't record unchanging memory locations.
1449
14502004-04-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1451
1452	PR other/1963
1453	* config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.
1454
14552004-04-30  David Edelsohn  <edelsohn@gnu.org>
1456
1457	Backport from mainline:
1458
1459	2004-04-19  David Edelsohn  <edelsohn@gnu.org>
1460
1461	* doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
1462	fix information.
1463
1464	2004-04-17  Alan Modra  <amodra@bigpond.net.au>
1465
1466	PR target/14715
1467	* config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
1468	with STARTING_FRAME_OFFSET.
1469
1470	2004-04-07  David Edelsohn  <edelsohn@gnu.org>
1471
1472	* config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF
1473	to power4 and power5 entries.
1474
1475	2004-04-05  David Edelsohn
1476
1477	* config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
1478	symbol handling.
1479
1480	2004-03-30  Hartmut Penner  <hpenner@de.ibm.com>
1481
1482	PR 11591
1483	* config/rs6000/rs6000.c (rs6000_legitimate_address):
1484	Allow any offset to argument pointer in no-strict case.
1485
1486	2004-03-25  David Edelsohn  <edelsohn@gnu.org>
1487
1488	* config/rs6000/rs6000.c (rs6000_always_hint): New variable.
1489	(rs6000_sched_groups): New variable.
1490	(processor_target_table): Add power5.
1491	(rs6000_override_options): Set rs6000_sched_insert_nops,
1492	rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
1493	from rs6000_sched_groups.
1494	(output_cbranch): Use rs6000_always_hint.
1495	(rs6000_variable_issue): Use rs6000_sched_groups.
1496	(rs6000_adjust_cost): Add CPU_POWER5.
1497	(is_microcoded_insn): Use rs6000_sched_groups.
1498	(is_dispatch_slot_restricted): Use rs6000_sched_groups.
1499	Return 2 for POWER5 cracked instructions.
1500	(is_cracked_insn): Use rs6000_sched_groups.
1501	(is_branch_slot_insn): Use rs6000_sched_groups.
1502	(rs6000_issue_rate): Add CPU_POWER5.
1503	(rs6000_sched_finish): Use rs6000_sched_groups.
1504	(rs6000_rtx_costs): Add PROCESSOR_POWER5.
1505	* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
1506	(DEFAULT_SCHED_COSTLY_DEP): Delete.
1507	(DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete.
1508	(DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete.
1509	* config/rs6000/rs6000.md (define_attr "cpu"): Add power5.
1510	* config/rs6000/power5.md: New file.
1511	* doc/invoke.texi: Add power5 option.
1512
1513	2004-03-17  Fariborz Jahanian <fjahanian@apple.com>
1514
1515	* config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size
1516	for mixed mode.
1517	(rs6000_emit_prologue): Ditto.
1518	(rs6000_emit_epilogue): Ditto.
1519	* config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT
1520	macro for mixed mode.
1521
1522	2004-03-04  David Edelsohn  <edelsohn@gnu.org>
1523		    GP <gp@qnx.com>
1524
1525	* config/rs6000/rs6000.c (output_function_profiler): Append @plt
1526	when compiling PIC.
1527
15282004-04-30  Paolo Bonzini  <bonzini@gnu.org>
1529
1530	* config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename
1531	to vec_sububs.
1532	[__cplusplus] (vec_subsuhs): Rename to vec_subuhs,
1533	eliminating duplicates.
1534
15352004-04-29  Richard Sandiford  <rsandifo@redhat.com>
1536
1537	PR target/15189
1538	* config/mips/mips.md (load_df_low): Use default length.
1539	(load_df_high, store_df_high): Likewise.
1540
15412004-04-29  Philip Blundell  <philb@gnu.org>
1542
1543	* Merge from trunk:
1544	2004-04-20  Paul Brook  <paul@codesourcery.com>
1545
1546	* config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
1547
15482004-04-29  Aldy Hernandez  <aldyh@redhat.com>
1549
1550	PR/12028
1551	* config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
1552	of floats on the E500.
1553	(branch_positive_comparison_operator): Do not allow NE even on the
1554	E500.
1555	(ccr_bit): Remove E500 specific code.
1556	Remove miscompilation warning for e500.
1557	(print_operand): Add 'c' and 'D'.
1558	(rs6000_generate_compare): Rewrite to generate correct rtl.
1559	(rs6000_emit_sCOND): Handle E500.
1560	(output_cbranch): Adjust for changes in rs6000_generate_compare.
1561	(output_e500_flip_gt_bit): New.
1562	(rs6000_override_options): Error when user wants altivec and e500
1563	instructions.
1564
1565	* config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
1566	(move_from_CR_gt_bit): New.
1567	(cceq_ior_compare): Name previously unnamed pattern.  Disable for
1568	E500.
1569	(cceq_rev_compare): Name previously unnamed pattern.  Allow for
1570	E500.
1571
1572	* config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
1573	(tstsfeq_gpr): Same.
1574	(cmpsfgt_gpr): Same.
1575	(tstsfgt_gpr): Same.
1576	(cmpsflt_gpr): Same.
1577	(tstsflt_gpr): Same.
1578	(e500_cceq_ior_compare): New.
1579	(e500_flip_gt_bit): New.
1580
1581	* config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
1582	Protoize.
1583
15842004-04-28  Ben Elliston  <bje@au.ibm.com>
1585
1586	* doc/invoke.texi (Objective-C Dialect Options): Don't prefix
1587	options with "-" in the option index.
1588	(SPARC Options): Likewise.
1589	(M32R/D Options): Likewise.
1590
15912004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
1592
1593	* Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition
1594	calling install-info on $(DESTDIR)$(infodir)/dir already being
1595	present.
1596
15972004-04-28  H.J. Lu  <hongjiu.lu@intel.com>
1598
1599	PR target/15084
1600	* config/i386/i386.md (*movsi_insv_1_rex64): Changed to DImode
1601	and renamed to movdi_insv_1_rex64.
1602	(insv): Support SImode for 32bit and DImode for 64bit.
1603
16042004-04-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1605
1606	PR debug/14829
1607	* dwarf2out.c (reg_number): Rename to dbx_reg_number.  Adjust all
1608	callers.
1609	(multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
1610	number for indexing hard_regno_nregs array.
1611
16122004-04-27  Bob Wilson  <bob.wilson@acm.org>
1613
1614	* config/xtensa/xtensa.c (call_insn_operand): Check
1615	SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
1616	* config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
1617	* config/xtensa/xtensa.md (call, call_value): Likewise.
1618
16192004-04-26  Zack Weinberg  <zack@codesourcery.com>
1620
1621	* config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
1622	* config/pa/pa-hpux10.h: Likewise.
1623	* config/pa/pa-hpux11.h: Likewise.
1624
16252004-04-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
1626
1627	PR optimization/13985
1628	* cfgloopmanip.c (fix_loop_placements): New prototype.
1629	Call fix_bb_placements on the preheader of loops that have
1630	been reparented.
1631	(remove_path): Adjust call to fix_loop_placements.
1632
16332004-04-23  Nick Clifton  <nickc@redhat.com>
1634
1635	* Import this patch from mainline:
1636	2004-04-16  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1637
1638	* config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
1639	bug.
1640	(TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN,
1641	TARGET_DEFAULT): Changed. Ditto.
1642	(LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT,
1643	TARGET_ENDIAN_DEFAULT): Added. Ditto.
1644	* config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
1645	(TARGET_ENDIAN_DEFAULT): Added.
1646
16472004-04-22  Per Bothner  <per@bothner.com>
1648
1649	* cppinit.c (cpp_read_main_file):  Return NULL rather than false.
1650	Fixes PR preprocessor/15067.
1651
16522004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
1653
1654	* function.c (thread_prologue_and_epilogue): Move
1655	NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
1656	before the epilogue.
1657
16582004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
1659
1660	* dbxout.c (dbxout_symbol_location): Do not output references
1661	to optimized-out constant pool symbols.
1662
16632004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
1664
1665	* expr.c (store_constructor): Use gen_int_mode to correctly
1666	sign-extend CONST_INT value.
1667
16682004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
1669
1670	* combine.c (if_then_else_cond): Check for NULL return value of
1671	simplify_gen_subreg.
1672
16732004-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
1674
1675	* reload1.c (emit_reload_insns): Set reg_has_output_reload to one
1676	after setting reg_last_reload_reg for optional output reloads.
1677
16782004-04-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1679
1680	* pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
1681	SAR register.  Fix comment.
1682	(ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
1683	(%cr11).
1684
16852004-04-21  Kaz Kojima  <kkojima@gcc.gnu.org>
1686
1687	Backport from mainline:
1688
1689	2004-04-05  Kaz Kojima  <kkojima@gcc.gnu.org>
1690	* config/sh/sh.c (prepare_move_operands): Use emit_call_insn
1691	when the TLS address is generated by a function call.
1692	* config/sh/sh.md (tls_global_dynamic): Use a call expression.
1693	(tls_local_dynamic): Likewise.
1694
16952004-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1696
1697	PR target/14813
1698	Backport from mainline:
1699
1700	* config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
1701	in .init_array section to ...
1702	* config/ia64/crtbegin.asm: Here.
1703
1704	* config/ia64/crtend.asm: Mark __do_global_ctors_aux global
1705	and hidden if HAVE_INITFINI_ARRAY is defined.
1706
17072004-04-21  Richard Henderson  <rth@redhat.com>
1708
1709	PR bootstrap/14671
1710	* alias.c (alias_invariant, alias_invariant_size): Mark GTY.
1711	(reg_known_value, reg_known_value_size): Likewise; make static.
1712	(reg_known_equiv_p): Make static.
1713	(clear_reg_alias_info): Update for new indexing.
1714	(get_reg_known_value, set_reg_known_value): New.
1715	(get_reg_known_equiv_p, set_reg_known_equiv_p): New.
1716	(canon_rtx): Use them.
1717	(init_alias_analysis): Likewise.  Allocate reg_known_value with gc.
1718	Don't play queer offsetting games with reg_known_value and
1719	reg_known_equiv_p.
1720	(end_alias_analysis): Don't free reg_known_value.
1721	* rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
1722	* sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
1723	(deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
1724	functions instead.
1725
17262004-04-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1727
1728	* pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
1729
17302004-04-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1731
1732	* doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
1733	download URL.
1734
17352004-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1736
1737	PR target/14857
1738	Backport from mainline:
1739
1740	* config/ia64/ia64.c (ia64_encode_section_info): Don't prod
1741	global register variables.
1742
17432004-04-21  H.J. Lu  <hongjiu.lu@intel.com>
1744
1745	* PR target/14723
1746	Backport from mainline:
1747	2004-02-14  Jan Hubicka  <jh@suse.cz>
1748
1749	* config.gcc: Add support for nocona/prescott/pentium-m/pentium3m
1750	/pentium4m.
1751	* i386.c (override_options): Add support for new CPUs.
1752	* i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
1753	(TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
1754	constants.
1755	* invoke.texi: Extend documentation of -mtune/-march for new CPUs.
1756
17572004-04-20  Mark Mitchell  <mark@codesourcery.com>
1758
1759	* version.c (version_string): Mark as prerelease.
1760	* doc/include/gcc-common.texi: Bump version number.
1761
17622004-04-18  Release Manager
1763
1764	* GCC 3.4.0 released.
1765
17662004-04-18  Alan Modra  <amodra@bigpond.net.au>
1767
1768	PR bootstrap/14992
1769	* configure.ac: Define HAVE_LD_AS_NEEDED only for linux.
1770	* configure: Regenerate.
1771	* gcc.c (init_gcc_specs): Revert earlier change.
1772
17732004-04-18  Mark Mitchell  <mark@codesourcery.com>
1774
1775	PR other/14918
1776	* doc/invoke.texi (-fprofile-generate): Document requirement to
1777	use -fprofile-generate when linking.
1778
1779	PR bootstrap/14992
1780	* gcc.c (init_gcc_specs): Only honor HAVE_LD_AS_NEEDED on
1781	GNU/Linux.
1782
1783	* doc/extend.texi (Strong Using): Warn users against using this
1784	feature.
1785
17862004-04-17  Richard Sandiford  <rsandifo@redhat.com>
1787
1788	* configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
1789	* configure: Regenerate.
1790
17912004-04-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1792
1793	* config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
1794	debugging on Solaris 7 and up.
1795
17962004-04-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1797
1798	* doc/install.texi (Specific, mips-sgi-irix5): Reflect working
1799	IRIX 5 port.
1800	Remove -save-temps workaround, handled automatically.
1801	Require GNU binutils 2.15 for debugging.
1802	Remove SGI make warnings since GNU make is now required.
1803	(Specific, mips-sgi-irix6): Some markup fixes.
1804	Describe MIPSpro C problems and workarounds.
1805	Mention working O32 ABI support.
1806	Recommend GNU as 2.15 for O32 with debugging.
1807	Remove description of fixed structure pass/return bug.
1808
18092004-04-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1810
1811	* aclocal.m4 (gcc_AC_PROG_GNAT): Check if ${CC} produces object
1812	file for Ada compilation.
1813	Fix gcc_cv_cc_supports_ada spelling.
1814	* configure: Regenerate.
1815
18162004-04-14  Zack Weinberg  <zack@codesourcery.com>
1817
1818	PR 14936
1819	Backport from mainline:
1820	2004-03-12  Matt Austern  <austern@apple.com>
1821
1822	* varasm.c (make_decl_one_only): Don't use DECL_COMMON if
1823	we're compiling for a SUPPORTS_ONE_ONLY target.
1824
18252004-04-09  Zack Weinberg  <zack@codesourcery.com>
1826
1827	* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
1828	mode argument.
1829	* config/ia64/ia64.c (ia64_hpux_file_end): Check
1830	TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME.
1831
18322004-04-08  Mark Mitchell  <mark@codesourcery.com>
1833
1834	* doc/invoke.texi (Precompiled Headers): Warn about known
1835	problems.
1836
18372004-04-08  Joel Sherrill <joel@oarcorp.com>
1838
1839	PR ada/14538
1840	* ada/5rosinte.adb: Remove fake mprotect() body.
1841	* ada/5rosinte.ads: Add SA_SIGINFO.  Make pthread_key_t a type
1842	which can be set since Finalize_TCB in 7staprop.adb does not
1843	go through the Set_Specific interface.
1844	* ada/5rtpopsp.adb: Rewrite to use new interface.
1845	* ada/init.c: Reorder so the simple single OS conditional __rtems__
1846	is tested before more complex ones which mix UNIX and embedded
1847	systems in the conditional.
1848
18492004-04-08  Joel Sherrill  <joel@oarcorp.com>
1850
1851	PR ada/14665
1852	* ada/osint.adb (Find_Program_Name): Rework to properly handle
1853	filenames which end in .exe or have versioning suffixes like VMS.
1854
18552004-04-08  Joseph S. Myers  <jsm@polyomino.org.uk>
1856
1857	* fixinc/inclhack.def (rpc_xdr_lvalue_cast_a,
1858	rpc_xdr_lvalue_cast_b): New fixes.
1859	* fixinc/fixincl.x: Regenerate.
1860	* fixinc/tests/base/rpc/xdr.h: Add new tests.
1861
18622004-04-06  Mark Mitchell  <mark@codesourcery.com>
1863
1864	* config/darwin.h (LINK_COMMAND_SPEC): Change c++filt3 to c++filt.
1865
18662004-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1867
1868	* doc/install.texi: Update HP-UX 11 installation procedure.
1869
18702004-04-05  Jakub Jelinek  <jakuB@redhat.com>
1871	  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1872
1873	PR optimization/13424 (hppa), bootstrap/14462, c/14828
1874	* pa.md: Use replace_equiv_address to retain the attributes of the
1875	memory operands used in the split and peephole2 patterns for optimizing
1876	the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
1877
18782004-04-05  Alexandre Oliva  <aoliva@redhat.com>
1879
1880	* cppinit.c (cpp_read_main_file): Return file name obtained by
1881	read_original_filename.  Missed in 2004-02-04's check in to 3.4
1882	branch by Per Bothner.
1883
18842004-04-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
1885
1886	* config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
1887	to DWARF2_DEBUG unconditionally.
1888	(ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
1889
18902004-04-04  Mark Mitchell  <mark@codesourcery.com>
1891
1892	PR c++/14804
1893	* varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to
1894	RECORD_TYPEs.
1895
18962004-04-02  Jakub Jelinek  <jakub@redhat.com>
1897	    Eric Botcazou  <ebotcazou@libertysurf.fr>
1898
1899	PR optimization/13424, optimization/12419
1900	* explow.c (maybe_set_unchanging): Revert 2003-04-07 patch.
1901	Set RTX_UNCHANGING_P even for read-only DECL_EXTERNAL decls.
1902	* expr.c (store_constructor): When clearing aggregate because
1903	of an incomplete or mostly zero constructor, do the clearing
1904	without /u flag and then emit a blockage.
1905
19062004-04-01  Alan Modra  <amodra@bigpond.net.au>
1907	    Jakub Jelinek  <jakub@redhat.com>
1908
1909	* gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
1910	-lgcc --as-needed -lgcc_s --no-as-needed by default.
1911	* configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
1912	* configure: Rebuilt.
1913	* config.in: Rebuilt.
1914	* Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
1915	(stage2-start, stage3-start, stage4-start): Likewise.
1916	(stageprofile-start, stagefeedback-start): Likewise.
1917
19182004-04-01  Jakub Jelinek  <jakub@redhat.com>
1919
1920	* config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
1921	* config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
1922	* config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
1923	* config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
1924	(SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
1925	* config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
1926	with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
1927	* config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
1928	* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
1929	* config/sparc/t-linux: Removed.
1930
19312004-04-01  Jakub Jelinek  <jakub@redhat.com>
1932
1933	PR c++/14755
1934	* fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
1935	"bitfld++ == const" to "++bitfld == const + incr" transformations.
1936
19372004-03-30  Aldy Hernandez  <aldyh@redhat.com>
1938
1939	PR 14219
1940	* c-typeck.c (build_binary_op): Do not allow comparisons of
1941	vectors.
1942
19432004-03-26  Ian Lance Taylor  <ian@wasabisystems.com>
1944
1945	PR target/14206
1946	* doc/install.texi (Specific): Document that exec-shield-randomize
1947	interferes with precompiled headers.
1948
19492004-03-26  Richard Henderson  <rth@redhat.com>
1950
1951	PR 11527
1952	* c-typeck.c (pop_init_level): Emit pending init elements earlier
1953	rather than later.
1954
19552004-03-25  Jakub Jelinek  <jakub@redhat.com>
1956
1957	* config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
1958	* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
1959	* config/sparc/t-linux: New file.
1960
19612004-03-25  Jan Hubicka  <jh@suse.cz>
1962
1963	PR debug/13974
1964	* cfgrtl.c (try_redirect_by_replacing_jump,
1965	force_nonfallthru_and_redirect, commit_one_edge_insertion,
1966	cfg_layout_merge_blocks):  Do not attach any line number information
1967	to newly inserted instructions.
1968	* emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
1969	emit_insn_*_noloc.
1970	(emit_*insn_before, emit_insn*_after): New.
1971	(emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
1972	existing locators.
1973	* rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
1974	(emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
1975
19762004-03-24  Steven Bosscher  <stevenb@suse.de>
1977
1978	PR pch/14137
1979	* c-pch.c (struct c_pch_validity): New flags_info field.
1980	(FLAG_UNIT_AT_A_TIME_SET): New definition.
1981	(pch_init): Write out the flags_info field to the PCH.  Set the
1982	FLAG_UNIT_AT_A_TIME_SET bit of the field if flag_unit_at_a_time
1983	is set.
1984	(c_common_valid_pch): Make sure the flag settings used for compiling
1985	the PCH are the same as those used in the current compilation.
1986
19872004-03-24  Alexandre Oliva  <aoliva@redhat.com>
1988
1989	PR preprocessor/14438
1990	* cpplib.c (do_pragma): Remove line_change call after pragma
1991	handler.
1992
19932004-03-23  Ian Lance Taylor  <ian@wasabisystems.com>
1994
1995	* doc/extend.texi (ARM Built-in Functions): Replace with correct
1996	declarations.
1997
19982004-03-23  Kazu Hirata  <kazu@cs.umass.edu>
1999
2000	PR optimization/14669
2001	* fold-const.c (fold): Only unwiden integer comparisons for equality
2002	and inequality operators, or when the signedness doesn't change.
2003
20042004-03-23  Jason Merrill  <jason@redhat.com>
2005
2006	PR c++/14587
2007	* config/i386/winnt.c (associated_type): Look for attributes on
2008	the TYPE_MAIN_VARIANT of *this.
2009
20102004-03-21  Mark Mitchell  <mark@codesourcery.com>
2011
2012	PR c/13129
2013	* c-decl.c (warn_if_shadowing): Don't warn about a new declaration
2014	of a file-scope entity.
2015
20162004-03-22  Jakub Jelinek  <jakub@redhat.com>
2017
2018	PR c/14069
2019	* c-decl.c (finish_struct): Change type of incorrect flexible array
2020	field into error_mark_node.
2021
20222004-03-22  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
2023
2024	PR target/14260
2025	* config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
2026
20272004-03-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
2028
2029	PR middle-end/14470
2030	* expr.c (mark_queue): New function.
2031	(emit_insns_enqueued_after_mark): New function replacing
2032	emit_queue.  Clear the body of emitted queued insns.
2033	(emit_queue): Call emit_insns_enqueued_after_mark.
2034	(store_expr): Mark the increment queue on entry.  Emit
2035	only the incrementations queued when expanding the source.
2036
20372004-03-22  Danny Smith  <dannysmith@users.sourceforge.net>
2038
2039	* gcov-io.h: Update copyright year.
2040
20412004-03-22  Danny Smith  <dannysmith@users.sourceforge.net>
2042
2043	PR target/14291
2044	* gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
2045	__MINGW32__.
2046
20472004-03-21  Roger Sayle  <roger@eyesopen.com>
2048
2049	PR target/13889
2050	* cse.c (fold_rtx): Avoid substituting constants into unary
2051	conversion operations.
2052
20532004-03-21  Joseph S. Myers  <jsm@polyomino.org.uk>
2054
2055	* frontends.texi: Add missing line.
2056
20572004-03-21  Zack Weinberg  <zack@codesourcery.com>
2058	    Chris Devers  <cdevers@pobox.com>
2059	    Joseph S. Myers  <jsm@polyomino.org.uk>
2060
2061	* doc/frontends.texi: Rewrite.
2062	* doc/gcc.texi: Update last modification date.
2063
20642004-03-20  Ian Lance Taylor  <ian@wasabisystems.com>
2065
2066	PR c/12373
2067	* c-typeck.c (tagged_types_tu_compatible_p): Don't use
2068	DECL_ORIGINAL_TYPE if there isn't one.
2069
20702004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2071
2072	PR other/14630
2073	* doc/install.texi: Add info directory category and entry.
2074
20752004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2076
2077	PR c/14635
2078	* builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
2079	DEF_GCC_BUILTIN.
2080
20812004-03-18  Mark Mitchell  <mark@codesourcery.com>
2082
2083	* c-common.c (pointer_int_sum): Do not complain about using
2084	pointers to pointers-to-members.
2085
2086	* c-decl.c (grokdeclarator): Do not complain about redeclaring
2087	visible "static" identifiers "extern" in a local scope.
2088	* dwarf2out.c (loc_descriptor_from_tree): Handle pre- and
2089	post-increments/decrements.
2090
20912004-03-17  Jakub Jelinek  <jakub@redhat.com>
2092
2093	* config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
2094	32-bit builds when defaulting to 32-bit.
2095
20962004-03-17  Richard Sandiford  <rsandifo@redhat.com>
2097
2098	PR target/14599
2099	* config/mips/mips.md (UNSPEC_GP): New constant.
2100	* config/mips/mips.c (CONST_GP_P): Expect the CONST to contain
2101	an UNSPEC instead of (reg $gp).
2102	(mips16_gp_pseudo_reg): Change accordingly.
2103	(print_operand): Print $gp directly when handling CONST_GP_P.
2104
21052004-03-16  Mark Mitchell  <mark@codesourcery.com>
2106
2107	PR c++/14481
2108	* fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly
2109	generated COMPOUND_EXPRs.
2110
21112004-03-16  Nathanael Nerode  <neroden@gcc.gnu.org>
2112
2113	PR bootstrap/12974
2114	* Makefile.in: Pass $(INCLUDES) down to libgcc.mk explicitly.
2115
21162004-03-16  Richard Henderson  <rth@redhat.com>
2117
2118	PR middle-end/14535
2119	* except.c (collect_one_action_chain): Create action record for
2120	cleanup outer of exception spec.
2121
21222004-03-16  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
2123
2124	PR target/14577
2125	* config.gcc: Switch sh-*-rtems* to ELF.  Add sh-*-rtemscoff.
2126
21272004-03-15  Richard Henderson  <rth@redhat.com>
2128
2129	PR target/14547
2130	* target.h (struct gcc_target): Move calls substructure before
2131	booleans.  Add split_complex_arg.
2132	* function.c (assign_parms, split_complex_args): Use it.
2133	* calls.c (expand_call): Likewise.
2134	(split_complex_values): Likewise.  Check for splittable types
2135	before allocating memory.
2136	(split_complex_types): Likewise.
2137	* system.h (SPLIT_COMPLEX_ARGS): Poison.
2138	* expr.h (SPLIT_COMPLEX_ARGS): Remove.
2139	* target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
2140	* config/alpha/alpha.c (alpha_split_complex_arg): New.
2141	(TARGET_SPLIT_COMPLEX_ARG): New.
2142	* config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
2143	* config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
2144	(rs6000_override_options): Zap it for non-AIX.
2145	(rs6000_function_value): Use targetm.calls.split_complex_arg.
2146	* config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
2147	* config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
2148	* config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
2149	* doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
2150	SPLIT_COMPLEX_ARGS entry.
2151
21522004-03-15  Eric Botcazou  <ebotcazou@act-europe.fr>
2153
2154	* config/sparc/sparc.h: Rework comments about the code model
2155	in 64-bit environment and the mode 'Pmode'.
2156	* doc/invoke.texi (SPARC options): Rework description of the
2157	different code models supported in 64-bit environment.
2158
21592004-03-14  Joseph S. Myers  <jsm@polyomino.org.uk>
2160
2161	* doc/contrib.texi, doc/extend.texi, doc/gcov.texi,
2162	doc/install.texi, doc/invoke.texi, doc/makefile.texi,
2163	doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize
2164	"gcc", "g++" and "g77" or mark up with appropriate markup.  Adjust
2165	wording and grammar.
2166
21672004-03-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2168
2169	PR c/14114
2170	* c-decl.c (merge_decls): Do not copy the C_DECL_INVISIBLE flag
2171	from the new decl to the old decl.
2172	(pushdecl): Use lookup_name to search for a previous decl with the
2173	same identifier.
2174
21752004-03-13  Dara Hazeghi  <dhazeghi@yahoo.com>
2176
2177	* doc/install.texi: Note status of -fnew-ra.
2178
21792004-03-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2180
2181	PR middle-end/14470
2182	* expr.c (store_expr): Call emit_queue before generating the move
2183	from the temporary to the original target.  Protect the temporary
2184	from emit_queue.
2185
21862004-03-13  Jakub Jelinek  <jakub@redhat.com>
2187
2188	PR target/14533
2189	* config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
2190	other than UNSPEC_GOTOFF.
2191
21922004-03-13  Dean Ferreyra <dferreyra@igc.org>
2193
2194	PR target/14047
2195	* config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
2196	(avr_insert_attributes): Pass "attributes" to avr_progmem_p.
2197	* config/avr/avr-protos.h (avr_progmem_p): Change prototype.
2198
21992004-03-12  David Edelsohn  <edelsohn@gnu.org>
2200
2201	* doc/install.texi (*-ibm-aix*): Document assembler and achiver
2202	fixes required by libstdc++ and update installation instructions
2203	for libstdc++.a.  Document use of Bash to speed up configuration.
2204
22052004-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
2206
2207	* doc/tm.texi (registers) <Values in Registers>: Add
2208	entry for REGMODE_NATURAL_SIZE.
2209
22102004-03-11  Richard Henderson  <rth@redhat.com>
2211
2212	PR target/14539
2213	* config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
2214
22152004-03-12  Alan Modra  <amodra@bigpond.net.au>
2216
2217	* real.c (encode_ibm_extended): Do round low word.
2218
22192004-03-11  Richard Henderson  <rth@redhat.com>
2220
2221	PR middle-end/14477
2222	* except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
2223
22242004-03-11  Richard Sandiford  <rsandifo@redhat.com>
2225
2226	PR target/14496
2227	* config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
2228	TARGET_SINGLE_FLOAT.
2229
22302004-03-11  Kelley Cook  <kcook@gcc.gnu.org>
2231
2232	PR other/14536
2233	* configure: Regenerated with autoconf 2.57.
2234	* config.in: Regenerated with autoheader 2.57.
2235
22362004-03-11  Alan Modra  <amodra@bigpond.net.au>
2237
2238	* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
2239	bump retaddr here.
2240
22412004-03-11  Alan Modra  <amodra@bigpond.net.au>
2242
2243	* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
2244	(SHLIB_MAPFILES): Add libgcc-ppc64.ver.
2245	(SHLIB_MKMAP_OPTS): Delete.
2246	(TARGET_LIBGCC2_CFLAGS): Add -specs.
2247	(bispecs): Add rule.
2248	* config/rs6000/libgcc-ppc64.ver: New file.
2249	* config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
2250	(__floatdidf, __floatdisf): Optimize multiply.
2251	(__fixunstfdi): New function.
2252	* config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
2253	real and imag parts larger than one register.
2254	(function_arg): Correct type of reg used when fp arg split partially
2255	to stack.
2256	* config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
2257	and __MACH__ or __powerpc64__.
2258
22592004-03-10  Richard Henderson  <rth@redhat.com>
2260
2261	PR c/14517
2262	* c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
2263	except for pedantic c90 mode.
2264
22652004-03-10  Andrew Haley  <aph@redhat.com>
2266
2267	PR optimization/14381
2268	* function.c (expand_function_end): Emit a blockage insn before
2269	the epilogue when -fnon-call-exceptions is used.
2270
22712004-03-10  Joel Sherrill  <joel@oarcorp.com>
2272
2273	PR target/14480
2274	* config.gcc (powerpc*-*-rtems*): Use rs6000/t-rtems.
2275
22762004-03-10  Roman Zippel  <zippel@linux-m68k.org>
2277
2278	PR bootstrap/12371
2279	* config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
2280	(CALL_USED_REGISTERS): Likewise.
2281	(REG_CLASS_CONTENTS): Likewise.
2282	(REG_ALLOC_ORDER): New.
2283	(REGNO_REG_CLASS): Use regno_reg_class.
2284	* config/m68k/m68k.c: Add regno_reg_class array.
2285
22862004-03-10  Alan Modra  <amodra@bigpond.net.au>
2287	    Hartmut Penner  <hpenner@de.ibm.com>
2288
2289	* config/rs6000/rs6000.c (invalid_gpr_mem): New function.
2290	(base_reg_operand): New function.
2291	(legitimate_offset_address_p): Don't test modes in an attempt to
2292	distinguish gpr vs fpr mem loads/stores.  Don't prohibit offsets
2293	invalid for 64-bit gpr loads/stores here.
2294	(secondary_reload_class): Add "inp" parameter.	Generate a reload
2295	for 64-bit gpr loads/stores.
2296	* config/rs6000/rs6000.h (SECONDARY_RELOAD_CLASS): Delete.
2297	(SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Define.
2298	(PREDICATE_CODES): Add invalid_gpr_mem and base_reg_operand.
2299	(DISPARAGE_RELOAD_CLASS): Define.
2300	* config/rs6000/rs6000-protos.h (secondary_reload_class): Update.
2301	* config/rs6000/rs6000.md (movdf_hardfloat64): Correct attrs.
2302	Add m->b alternative and split.
2303	(movdi_internal64): Replace r->m and m->r with r->Y and Y->r.
2304	Add m->b alternative and split.
2305	* reload.c (find_reloads): Invoke DISPARAGE_RELOAD_CLASS.
2306
23072004-03-10  Hans-Peter Nilsson  <hp@axis.com>
2308
2309	PR other/14474
2310	* doc/md.texi (Pattern Ordering, Dependent Patterns)
2311	(Jump Patterns, Looping Patterns): Wrap in separate "@ifset
2312	INTERNALS".
2313
23142004-03-09  Zack Weinberg  <zack@codesourcery.com>
2315
2316	* config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
2317	(LIBGCC_SPEC): Update to match.
2318
23192004-03-09  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
2320
2321	* config/h8300/t-rtems (h8300-*-rtems*): New.
2322	* config.gcc: Use config/h8300/t-rtems.
2323
23242004-03-09  Roger Sayle  <roger@eyesopen.com>
2325
2326	PR middle-end/14289
2327	* c-typeck.c (c_mark_addressable): A register variable should
2328	be considered global if its not automatic, i.e. TREE_PUBLIC,
2329	TREE_STATIC or DECL_EXTERNAL.
2330	* function.c (put_var_into_stack): Call abort when placing a
2331	hard register into the stack, if x_parm_reg_stack_loc is NULL.
2332
23332004-03-08  David Edelsohn  <edelsohn@gnu.org>
2334
2335	* collect2.c (main): Only export initfunc and finifunc if
2336	LD_INIT_SWITCH not defined.
2337	(scan_prog_file): Only export constructors and destructors if
2338	LD_INIT_SWITCH not defined.  Only export symbols not found in
2339	shared objects.
2340
23412004-03-09  Alan Modra  <amodra@bigpond.net.au>
2342
2343	* doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
2344	* calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
2345	(emit_library_call_value_1): Likewise pass nargs.
2346	* expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
2347	* function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
2348	* config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
2349	parameter instead of scanning TYPE_ARGS_TYPES to count args.
2350	* config/rs6000/rs6000-protos.h (init_cumulative_args): Update
2351	prototype.
2352	* config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
2353	(INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
2354	(INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
2355	* config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
2356	INIT_CUMULATIVE_ARGS.
2357	* config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
2358	* config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
2359	config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
2360	config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
2361	config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
2362	config/i370/i370.h, config/i386/i386.h, config/i860/i860.h,
2363	config/i960/i960.h, config/ia64/ia64.h, config/ip2k/ip2k.h,
2364	config/iq2000/iq2000.c, config/iq2000/iq2000.h, config/m32r/m32r.h,
2365	config/m68hc11/m68hc11.h, config/m68k/m68k.h, config/mcore/mcore.h,
2366	config/mips/mips.h, config/mmix/mmix.h, config/mn10300/mn10300.h,
2367	config/ns32k/ns32k.h, config/pa/pa.h, config/pdp11/pdp11.h,
2368	config/s390/s390.h, config/sh/sh.h, config/sparc/sparc.h,
2369	config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
2370	config/xtensa/xtensa.h: Likewise.
2371
23722004-03-09  Alan Modra  <amodra@bigpond.net.au>
2373
2374	PR debug/11983
2375	* dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to
2376	dw_val_class_vec.  Replace use throughout file.
2377	(dw_float_const): Delete.
2378	(dw_vec_const): New.
2379	(dw_val_struct_union): Rename val_float to val_vec.  Replace use
2380	throughout file.
2381	(add_AT_vec): Rename from add_AT_float.  Add elt_size param.
2382	(same_dw_val_p): Adjust vec comparison.  Use memcmp.
2383	(size_of_die): Adjust dw_val_class_vec sizing.
2384	(output_die): Output dw_val_class_vec.
2385	(insert_int, extract_int, insert_float): New functions.
2386	(add_const_value_attribute): Use insert_float for CONST_DOUBLE.
2387	Handle CONST_VECTOR.
2388	(add_location_or_const_value_attribute): Handle CONST_VECTOR.
2389
23902004-03-08  Joel Sherrill  <joel@oarcorp.com>
2391
2392	PR target/14480
2393	* config/rs6000/t-rtems: Add missing file on branch.
2394
23952004-03-08  Roger Sayle  <roger@eyesopen.com>
2396
2397	* fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
2398	"foo++ == const" into "++foo == const+incr".
2399
24002004-03-08  Ulrich Weigand  <uweigand@de.ibm.com>
2401
2402	* config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber.
2403	("*extendqisi2_short_displ"): Likewise.
2404
24052004-03-08  Eric Botcazou  <ebotcazou@act-europe.fr>
2406
2407	* expr.c (highest_pow2_factor_for_type): Rename into
2408	highest_pow2_factor_for_target.  Use DECL_ALIGN instead of
2409	TYPE_ALIGN when the target is a COMPONENT_REF.
2410	(expand_assignment): Ajust call to highest_pow2_factor_for_type.
2411
24122004-03-08  Alan Modra  <amodra@bigpond.net.au>
2413
2414	* config/rs6000/rs6000.c: Formatting fix.
2415	(legitimate_offset_address_p): Correct offset range check.
2416
2417	* config/rs6000/rs6000.c (rs6000_override_options): Don't override
2418	-msoft-float by -mcpu.  Consolidate similar code for MASK_MULTIPLE
2419	and MASK_STRING.
2420
24212004-03-07  Aldy Hernandez  <aldyh@redhat.com>
2422
2423	* config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
2424	for little endian.
2425	("ashrdi3_no_power"): Disable for little endian.
2426	(ashrdi3): Same.
2427
24282004-03-07  Aldy Hernandez  <aldyh@redhat.com>
2429
2430	* config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
2431	AltiVec abi cannot co-exist.
2432
2433	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
2434
24352004-03-07  Hans-Peter Nilsson  <hp@axis.com>
2436
2437	PR target/14471
2438	* configure.ac (Target-specific assembler checks) <cris-*-*>: New
2439	case, checking for -no-mul-bug-abort option.
2440	* configure, config.in: Regenerate.
2441	* doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
2442	and -mno-mul-bug-workaround.
2443	* config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart")
2444	("mulsidi3", "umulsidi3"): Prefix output template with "%!".
2445	("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
2446	Ditto.  Make attribute "slottable" dependent on TARGET_MUL_BUG.
2447	* config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
2448	sure mulu.d is not last on cache-line.
2449	* config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
2450	into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
2451	(TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros.
2452	(TARGET_SWITCHES): New options -mmul-bug-workaround and
2453	-mno-mul-bug-workaround.
2454	(TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG.
2455	(PRINT_OPERAND_PUNCT_VALID_P): Include '!'.
2456	* config/cris/cris.c (cris_operand_extend_operator): Clarify
2457	relation to MULT in head comment.
2458	(cris_op_str): Abort for MULT.
2459	(cris_print_operand) <case '!'>: New case.
2460
24612004-03-07  Stephane Carrez  <stcarrez@nerim.fr>
2462
2463	* config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
2464	("*lshrsi3"): Also accept an immediate for 68HC12.
2465	("*ashrsi3_const"): Likewise.
2466	("*ashrsi3"): Likewise.
2467	("*ashlsi3_const"): Likewise.
2468	("*ashlsi3"): Likewise.
2469	("cmphi_1_hc12"): Compare two hard register by pushing them and
2470	comparing with a pop; don't use a split for that.
2471	("cmphi split"): Disable compare split for 68HC12.
2472
2473	* config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
2474	the status operands if they have side effects.
2475
24762004-03-07  Richard Sandiford  <rsandifo@redhat.com>
2477
2478	* config/mips/mips.c (mips_in_small_data_p): Return false if
2479	TARGET_ABICALLS.
2480
24812004-03-06  Stephane Carrez  <stcarrez@nerim.fr>
2482
2483	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
2484	the stack register.
2485	(expand_prologue): Don't make an interrupt or a trap handler a far
2486	symbol.
2487	(m68hc11_initial_elimination_offset): Likewise.
2488
24892004-03-06  Richard Henderson  <rth@redhat.com>
2490
2491	* config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
2492
24932004-03-06  Richard Henderson  <rth@redhat.com>
2494
2495	* config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
2496	(TARGET_LONG_DOUBLE_128): New.
2497	(TARGET_SWITCHES): Add long-double-{128,64}.
2498	(TARGET_HAS_XFLOATING_LIBS): Default to TARGET_LONG_DOUBLE_128.
2499	(LONG_DOUBLE_TYPE_SIZE): Honor TARGET_LONG_DOUBLE_128.
2500	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.
2501	(WIDEST_HARDWARE_FP_SIZE): New.
2502	(TARGET_CPU_CPP_BUILTINS): Define __LONG_DOUBLE_128__.
2503	* config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128
2504	if TARGET_VAX_FLOAT.
2505	* config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove.
2506	(TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128.
2507
25082004-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
2509
2510	* config/s390/s390.md ("load_multiple", "*load_multiple_di",
2511	"*load_multiple_si"): Allow only if reload_completed.
2512	("store_multiple", "*store_multiple_di", "*store_multiple_si"):
2513	Likewise.
2514
25152004-03-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
2516
2517	PR c/14465
2518	PR c/14114
2519	* c-decl (pushdecl): Revert previous change.
2520
25212004-03-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2522
2523	* pa.md (icacheflush): Reorder operands to make match_scratch operand
2524	last.
2525	* pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
2526	from calls to gen_icacheflush.
2527
25282004-03-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
2529
2530	PR target/14343
2531	* config/i386/i386.md (movv2di_internal): Conditionalize on
2532	TARGET_SSE, not TARGET_SSE2.
2533
25342004-03-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
2535
2536	PR c/14114
2537	* c-decl (pushdecl): Do not record a previous, not-in-scope,
2538	external decl for restoration.
2539
25402004-03-05  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
2541
2542	PR middle-end/14203
2543	* function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
2544	instead of testing whether DECL_RTL is not NULL.
2545
25462004-03-05  Andreas Krebbel  <krebbel1@de.ibm.com>
2547
2548	* rtl.h (mem_expr_equal_p): Function prototype added.
2549	* cfgcleanup.c (merge_memattrs): New function.
2550	(flow_find_cross_jump): Call merge_memattrs for matching insns.
2551	* emit-rtl.c (mem_expr_equal_p): New function.
2552
25532004-03-05  Bob Wilson  <bob.wilson@acm.org>
2554
2555	* config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
2556	(xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32).  Adjust
2557	__va_ndx by 2 words when referencing an argument on the stack.
2558	(xtensa_va_arg): Handle 16-byte aligned args.  Adjust __va_ndx by 2
2559	words when an arg on the stack is first seen.
2560
25612004-03-05  Nathan Sidwell  <nathan@codesourcery.com>
2562
2563	PR driver/13577
2564	* gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
2565	options.
2566
25672004-03-04  Bob Wilson  <bob.wilson@acm.org>
2568
2569	* config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
2570	(TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
2571
25722004-03-04  Alan Modra  <amodra@bigpond.net.au>
2573
2574	* real.c (encode_ibm_extended): Don't bother rounding low double.
2575	* c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
2576	when fmt->pnan < fmt->p.
2577
25782004-03-04  Alan Modra  <amodra@bigpond.net.au>
2579
2580	PR target/14406
2581	* config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn.
2582	(abstf2, abstf2_internal): New define_expand.
2583
25842004-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
2585
2586	PR optimization/14235
2587	* expr.c (convert_move): Copy the source to a new pseudo
2588	when converting from a sub-word source to a larger-than-word
2589	register which conflicts with the source.
2590
25912004-03-03  Zack Weinberg  <zack@codesourcery.com>
2592
2593	PR 13728
2594	* c-decl.c (diagnose_mismatched_decls): Issue an error for two
2595	parameters with the same name, unless one is a forward decl.
2596	Do not issue a redundant-redeclaration warning for forward
2597	decls of parameters.
2598
25992004-03-03  Stephane Carrez  <stcarrez@nerim.fr>
2600
2601	* config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
2602	because it breaks the 32-bit shift patterns that rely on a match_dup.
2603	(print_operand): Don't print a * before the base address.
2604
26052003-03-03  Richard Henderson  <rth@redhat.com>
2606
2607	PR opt/13862
2608	* cselib.c (cselib_record_sets): Don't record multiple sets in
2609	asm insns.
2610
26112004-03-03  Nicolas Pitre <nico@cam.org>
2612
2613	* config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
2614	small negative values.
2615
26162004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
2617
2618	* config/h8300/lib1funcs.asm (___fixunssfsi): Change the
2619	threshold to 0x4f.
2620
2621	Revert:
2622	2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
2623	* config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
2624	as well.
2625	* config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
2626	* config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
2627
26282004-03-02  Richard Henderson  <rth@redhat.com>
2629
2630	PR middle-end/11767
2631	* coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
2632	* optabs.c (prepare_cmp_insn): Force trapping memories to registers
2633	before the compare, if flag_non_call_exceptions.
2634
26352004-03-02  Richard Henderson  <rth@redhat.com>
2636
2637	PR middle-end/14327
2638	* stmt.c (expand_computed_goto): Do do_pending_stack_adjust before
2639	emitting the label, not after.
2640
26412004-03-02  David O'Brien  <obrien@FreeBSD.org>
2642
2643	* config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
2644	* config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
2645	%(fbsd_dynamic_linker),
2646	(LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
2647	config/i386/freebsd.h
2648	* config/arm/freebsd.h: Ditto.
2649	* config/i386/freebsd.h: Ditto.
2650	* config/i386/freebsd64.h: Ditto.
2651	* config/ia64/freebsd.h: Ditto.
2652	* config/rs6000/sysv4.h: Ditto.
2653	* config/sparc/freebsd.h: Ditto.
2654
26552004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
2656
2657	* config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable.
2658	(m68hc11_mov_addr_mode): Likewise.
2659	(m68hc11_override_options): Initialize them based on target.
2660	(register_indirect_p): Allow a MEM for indirect addressing modes and
2661	use flags to control what is allowed.
2662	(m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for
2663	supported addressing modes.
2664	(m68hc11_register_indirect_p): Use m68hc11_addr_mode.
2665	(go_if_legitimate_address_internal): Likewise.
2666	(m68hc11_indirect_p): Likewise and check the mode.
2667	(print_operand): Allow a (MEM (MEM)) and generate indirect addressing.
2668
26692004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
2670
2671	* config/m68hc11/m68hc11.md (move peephole2): New peepholes to optimize
2672	sequences of moves.
2673	(add peepholes): New peepholes to optimize sequences adding small
2674	constants.
2675	(bset peepholes): New peepholes to transform an OR in a bset form
2676	(bclr peepholes): Likewise for bclr form.
2677	(cmp peepholes): New peepholes to avoid register copies when comparing.
2678
26792004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
2680
2681	* config/m68hc11/m68hc11.md ("*pushdi_internal"): New insn and split
2682	to separate push from moves.
2683	("*pushdf_internal"): Likewise.
2684	("*pushsf_internal"): Likewise.
2685	("*pushsi_internal"): Likewise.
2686	("movdi_internal"): Use define_insn_and_split; non push operand.
2687	("movdf_internal"): Likewise.
2688	("movsf_internal"): Likewise.
2689	("movsi_internal"): Likewise.
2690	("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints
2691	("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise.
2692	("*ashlsi3_const1", "*lshrsi3_const1"): Likewise.
2693
26942004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
2695
2696	* config/m68hc11/m68hc11.md ("tstqi_z_used"): Use define_insn_and_split.
2697	("cmphi_z_used", "cmpqi_z_used"): Likewise.
2698	("movstrictsi", "movstricthi", "movstrictqi"): Likewise.
2699	("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise.
2700	("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise.
2701	("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise.
2702	("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise.
2703	("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise.
2704	("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise.
2705	("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise.
2706	("*lshrdi3_const32", "*lshrdi_const1"): Likewise.
2707
27082004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
2709
2710	* config/m68hc11/m68hc11.md (SOFT_TMP_REGNUM): Define.
2711	(SOFT_XY_REGNUM): Define.
2712	(cmp split): Use the above instead of hard coded numbers.
2713	(8-bit op split): No need to check the mode; allow Q_REG.
2714	(ashift split): Adjust the first operand if it uses the SP and we
2715	are pushing the shifted value.
2716	(plus shift split): Fix when a source is in register D+X.
2717	("doloop_end"): Pass dummy arguments to gen_rtx_NE.
2718
27192004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
2720
2721	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when
2722	comparing with Z register.
2723
27242004-03-02  Loren James Rittle  <ljrittle@acm.org>
2725
2726	* gcc/doc/install.texi (*-*-freebsd*): Update target information.
2727
27282004-03-01  Mark Mitchell  <mark@codesourcery.com>
2729
2730	PR bootstrap/14356
2731	* gcc.c (process_command): Remove const-qualification from argv.
2732	(main): Likewise.
2733
27342004-03-01  Mircea Namolaru  <namolaru@il.ibm.com>
2735
2736	* cfgloop.h (get_var_set_from_bct, is_bct_cond): Declaration of
2737	new functions.
2738	* cfgloopanal.c: Include loop.h.
2739	(get_var_set_from_bct): New function.
2740	(is_bct_cond): New function.
2741	(blocks_single_set_registers): Handle branch and count jumps.
2742	(count_loop_iterations): Likewise.
2743	(simple_increment): Likewise
2744	* doloop.c (doloop_condition_get): Export.
2745	* loop-init.c (fixup_loop_exit_succesor): New function.
2746	(loop_optimizer_finalize): Handle loops ending with branch and
2747	count jumps.
2748	* loop-unroll.c: Include toplev.h
2749	(discard_increment): New function.
2750	(expand_bct): New function.
2751	(peel_loop_completely): Handle the removal of branch and count jumps.
2752	(unroll_loop_constant_iterations): Likewise.
2753	(unroll_loop_runtime_iterations): Likewise
2754	* loop.h (doloop_condition_get): Declare.
2755
27562004-02-29  Mark Mitchell  <mark@codesourcery.com>
2757
2758	PR debug/14328
2759	* dwarf2out.c (gen_enumeration_type_die): Output all enumeration
2760	constants as signed values.
2761
27622004-02-29  Mark Mitchell  <mark@codesourcery.com>
2763
2764	PR middle-end/13448
2765	* c-tree.h (readonly_warning): Rename to ...
2766	(readonly_error): ... this.
2767	* c-typeck.c (build_unary_op): Adjust accordingly.
2768	(readonly_warning): Rename to ...
2769	(readonly_error): ... this and issue errors, not warnings.
2770	(build_modify_expr): Call readonly_error, not readonly_warning.
2771	(c_expand_asm_operands): Likewise.
2772	* tree-inline.c (optimize_inline_calls): Do not inline functions
2773	after errors have occurred.
2774
27752004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
2776
2777	* doc/cppopts.texi: Fix a typo.
2778
27792004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2780
2781	* pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
2782
27832004-02-27  Ian Lance Taylor  <ian@wasabisystems.com>
2784
2785	PR optimization/7871
2786	* flow.c (mark_set_1): Don't add LOG_LINKS for global registers
2787	from or to call insns.
2788
27892004-02-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
2790
2791	PR optimization/7871
2792	* flow.c (propagate_one_insn): Interpret calls as setting global
2793	registers, not merely clobbering them.
2794
27952004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
2796
2797	* config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
2798	as well.
2799	* config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
2800	* config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
2801
28022004-02-27  Daniel Jacobowitz  <drow@mvista.com>
2803
2804	* config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
2805	size for minipool references.
2806
28072004-02-27  Eric Botcazou  <ebotcazou@act-europe.fr>
2808	    Roger Sayle  <roger@eyesopen.com>
2809
2810	* fold-const.c (fold): Revert 2004-02-25 change.  Use the original
2811	operands to build a tree with swapped operands.
2812	* expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
2813	'unsignedp' predicate to specify the signedness.
2814
28152004-02-26  Aldy Hernandez  <aldyh@redhat.com>
2816
2817	* config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and
2818	fix_truncsfsi2.
2819
2820	* config/rs6000/spe.md: Delete spe_efsctuiz.
2821	Add spe_fixuns_truncsfsi2.
2822	Add spe_fix_truncsfsi2.
2823
28242004-02-26  Bob Wilson  <bob.wilson@acm.org>
2825
2826	* config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
2827
28282004-02-25  James E Wilson  <wilson@specifixinc.com>
2829
2830	* gcc-simple.c (rtl_zone, tree_zone, garbage_zone, ggc_alloc_typed,
2831	ggc_alloc_zone): New.
2832	(ggc_pch_count_object, gcc_pch_alloc_object, ggc_pch_write_object):
2833	Add bool is_string parameter.
2834
28352004-02-26  Alan Modra  <amodra@bigpond.net.au>
2836
2837	* gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
2838	beginning of block.  Do not delete CC setter unless HAVE_cc0.
2839
28402004-02-25  Kelley Cook  <kcook@gcc.gnu.org>
2841
2842	* doc/contrib.texi: Add an entry for myself.
2843
28442004-02-25  Kelley Cook  <kcook@gcc.gnu.org>
2845
2846	* config.gcc: Add comment describing extra_gcc_objs.
2847	i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
2848	* configure.ac (extra_gcc_objs): New substitution variable.
2849	(host_extra_gcc_objs): Don't substitute.
2850	* configure: Regenerate.
2851	* Makefile.in: Use extra_gcc_objs.
2852
28532004-02-25  Eric Botcazou  <ebotcazou@act-europe.fr>
2854
2855	* fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
2856	comparisons with regard to signedness.
2857
28582004-02-25  Jakub Jelinek  <jakub@redhat.com>
2859
2860	* gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
2861	fopen.
2862	* libgcov.c: Include sys/stat.h.
2863	* config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
2864	* config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
2865	* config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
2866	* config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
2867
28682004-02-25  Richard Earnshaw  <rearnsha@arm.com>
2869
2870	* arm.c (arm_legitimate_index_p): For QImode the range of an offset
2871	is -4095...+4095 inclusive.
2872
28732004-02-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
2874
2875	* doc/install.texi (sparc-sun-solaris2* specific notes): Document
2876	the bootstrap failure with Sun CC 5.4 and 5.5.
2877
28782004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
2879
2880	* cse.c (cse_change_cc_mode_insns): Stop at any instruction
2881	which modifies NEWREG.
2882	(cse_condition_code_reg): Update the mode of CC_REG in
2883	CC_SRC_INSN on our own.
2884
28852004-02-24  Michael Matz  <matz@suse.de>
2886
2887	* config/i386/i386.c (ix86_comp_type_attributes): Check for
2888	regparm attributes.
2889
28902004-02-24  Aldy Hernandez  <aldyh@redhat.com>
2891
2892	* config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
2893	(spe_fixuns_truncsfsi2): Delete.
2894
2895	* config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
2896	(fixuns_truncsfsi2): Delete.
2897
28982004-02-24  Josef Zlomek  <zlomekj@suse.cz>
2899
2900	PR/14240
2901	* rtlanal.c (replace_label): Fix replacing labels in constant pool.
2902
29032004-02-24  Bob Wilson  <bob.wilson@acm.org>
2904
2905	* config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
2906	(init_cumulative_args): Likewise.
2907	(a7_overlap_mentioned_p): Delete prototype.
2908	* config/xtensa/xtensa.c (struct machine_function): Replace
2909	incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
2910	Add set_frame_ptr_insn field.
2911	(xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
2912	(xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
2913	if the operand is an argument in a7.  If so, copy a7 to a new pseudo
2914	at the function entry and replace the operand with the pseudo.
2915	(init_cumulative_args): Remove unused arguments.  Add new "incoming"
2916	argument and record this flag in CUMULATIVE_ARGS.
2917	(function_arg): Remove result_mode and special-case code to handle
2918	arguments in a7.  Instead, set need_a7_copy flag when there is an
2919	incoming argument in a7.
2920	(xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
2921	and use the value recorded in cfun->machine->set_frame_ptr_insn.
2922	(xtensa_builtin_saveregs): Check for negative gp_left value.  Set
2923	need_a7_copy and vararg_a7 flags.  Use move_block_from_reg instead of
2924	special-case code.
2925	(a7_overlap_mentioned_p): Delete.
2926	* config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
2927	(INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
2928	arguments to init_cumulative_args and pass "incoming" flag instead.
2929	(BLOCK_REG_PADDING): Delete.
2930	* config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
2931	checks for reload_in_progress and reload_completed.  Update calls to
2932	xtensa_copy_incoming_a7.
2933	(ashlsi3): Rename existing insn to ashlsi3_internal.  Add expander
2934	to call xtensa_copy_incoming_a7.
2935
29362004-02-24  Richard Earnshaw  <rearnsha@arm.com>
2937
2938	* invoke.texi (ARM Options): Mark -mapcs-26 and -mno-alignment-traps
2939	as deprecated.  Remove already deprecated synonyms.
2940	* arm.c (arm_override_options): Generate an inform message if the
2941	user tries to invoke the compiler in apcs-26 mode.
2942	* arm.h (TARGET_SWITCHES): Remove help comments from deprecated
2943	switches. Delete deprecated synonyms for -malignment-traps.
2944	(TARGET_DEFAULT): Default to alignment traps.
2945	* arm/coff.h (TARGET_DEFAULT): Default to alignment traps.
2946	* arm/elf.h arm/netbsd.h arm/pe.h arm/semi.h arm/semiaof.h: Likewise.
2947	* arm/unknown-elf.h arm/wince-pe.h: Likewise.
2948
29492004-02-23  H.J. Lu  <hongjiu.lu@intel.com>
2950
2951	* config/i386/i386.h: Deprecate -mpni/-mno-pni.
2952
29532004-02-23  Kelley Cook  <kcook@gcc.gnu.org>
2954
2955	* config/i386/i386.c: Rename pni to sse3.
2956	* config/i386/i386.h: Likewise.
2957	* config/i386/i386.md: Likewise.
2958	* config/i386/pmmintrin.h: Likewise.
2959	* doc/extend.texi: Likewise.
2960	* doc/invoke.texi: Likewise.
2961
29622004-02-23  Andrew Pinski  <pinskia@physics.uc.edu>
2963
2964	* config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
2965	* config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
2966
29672004-02-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
2968	    Falk Hueffner  <falk@debian.org>
2969
2970	PR c/14188
2971	* builtins.c (expand_builtin_va_arg): Emit an informative message
2972	if a trap is generated.
2973	* c-typeck.c (build_function_call): Likewise.
2974
29752004-02-22  Christopher Faylor  <cgf@redhat.com>
2976
2977	* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
2978	extra host object file when targetting cygwin rather than generic
2979	object files.
2980
29812004-02-22  Matthias Klose  <doko@debian.org>
2982
2983	Taken from mainline:
2984
2985	2004-02-12  Geoffrey Keating  <geoffk@apple.com>
2986
2987	* Makefile.in (install-man): Use $(CPP_INSTALL_NAME) and
2988	$(GCOV_INSTALL_NAME) to install manpages.  Remove generic rule
2989	for installing .1 manpages.  Add rules for installing cpp
2990	and gcov manpages under their installed names.
2991
29922004-02-22  Hans-Peter Nilsson  <hp@axis.com>
2993
2994	PR target/14209
2995	* config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak
2996	constraints to not match postincrement.  Adjust the predicate to
2997	exclude a volatile memory reference.
2998	("*andsi_clear"): Tweak constraints to not match postincrement.
2999	Adjust the predicate to exclude a volatile memory reference.
3000	("*andhi_clear"): Ditto.  Rename from "*andhi_clear_signed".
3001	("*andhi_clear_unsigned"): Remove, non-matching pattern.
3002
30032004-02-21  Christopher Faylor  <cgf@redhat.com>
3004
3005	* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
3006	object file when targetting cygwin.
3007	* config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
3008	overridden by top-level Makefile.
3009
30102004-02-21  Alan Modra  <amodra@bigpond.net.au>
3011
3012	* combine.c (can_combine_p): Don't ignore SETs marked with
3013	REG_EH_REGION notes.
3014
30152004-02-21  Jan Hubicka  <jh@suse.cz>
3016
3017	* params.def (max-peeled-insns, max-completely-peeled-insns,
3018	max-once-peeled-insns): Set to 400.
3019
30202004-02-20  Falk Hueffner  <falk@debian.org>
3021
3022	PR target/14201
3023	* config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
3024	numbers.
3025
30262004-02-20  Mohan Embar  <gnustuff@thisiscool.com>
3027	    Tom Tromey  <tromey@redhat.com>
3028
3029	* doc/install.texi: Moved --disable-libgcj and
3030	--with-system-zlib documentation to new section for
3031	Java-specific options.
3032	Added explicit Cross-Compiler-Specific Options subheading.
3033	Added section for Java-specific options.
3034
30352004-02-20  James E Wilson  <wilson@specifixinc.com>
3036
3037	* toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
3038
30392004-02-20  Josef Zlomek  <zlomekj@suse.cz>
3040
3041	* tree-inline.c (copy_body_r): Do not replace ret_label.
3042
30432004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
3044
3045	* gcc.c (process_command): Allow translation of the copyright
3046	symbol but not the rest of the copyright message.
3047	* gcov.c (print_version): Likewise.  Allow translation of the
3048	message about warranty.
3049
30502004-02-19  Aldy Hernandez  <aldyh@redhat.com>
3051
3052	* config/rs6000/spe.md (spe_fixunssfsi2): Rename to
3053	spe_fixuns_truncsfsi2.
3054
3055	* config/rs6000/rs6000.md (fixunssfsi2): Rename to
3056	fixuns_truncsfsi2.
3057
30582004-02-19  Richard Sandiford  <rsandifo@redhat.com>
3059	    Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
3060
3061	* config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
3062	* config/mips/mips.md: Expand comment above unaligned loads and stores.
3063
30642004-02-20  Alan Modra  <amodra@bigpond.net.au>
3065
3066	* function.c (assign_parms): Correct leakage of mainline code
3067	in last commit.  Also leakage from INIT_CUMULATIVE_ARGS patch.
3068
30692004-02-19  Zack Weinberg  <zack@codesourcery.com>
3070
3071	* config/ia64/ia64.c (ia64_function_arg): In big-endian mode,
3072	when passing single SFmode quantities in general registers,
3073	put them in the high half.
3074	(struct extern_func_list, extern_func_head): Mark with GTY(()).
3075	(ia64_hpux_add_extern_decl): Save the decl, not the name string.
3076	Allocate memory with ggc_alloc.  No need to copy anything.
3077	(ia64_hpux_file_end): Update to match.
3078
30792004-02-19  David Daney <ddaney@avtrex.com>
3080
3081	PR preprocessor/14198
3082	* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
3083	builtin_assert ("machine=mips")
3084
30852004-02-19  Ulrich Weigand  <uweigand@de.ibm.com>
3086
3087	* config/s390/s390.md ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc",
3088	"*subsf3_cconly"): Subtraction is not commutative.
3089
30902004-02-19  Alan Modra  <amodra@bigpond.net.au>
3091
3092	* function.c (assign_parms): When building decl_rtl for
3093	SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer.
3094
30952004-02-19  Olivier Hainque  <hainque@act-europe.fr>
3096
3097	* expr.c (is_aligning_offset): Check if we are aligning the
3098	expressions's address over BIGGEST_ALIGNMENT in bytes, not
3099	in bits.
3100
31012004-02-19  Jan Hubicka  <jh@suse.cz>
3102
3103	* genextract.c (main): Do not output the memset when not checking.
3104
31052004-02-18  Jakub Jelinek  <jakub@redhat.com>
3106
3107	* config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
3108	by default.
3109
31102004-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
3111
3112	* config/s390/s390.md ("divmoddisi3"): Fix incorrect mode.
3113
31142004-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3115
3116	* pa.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM when not
3117	generating PIC code.
3118
31192004-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
3120
3121	* config/s390/s390.c (s390_mainpool_start): Delete the main pool
3122	placeholder insn when chunkifying the pool.
3123
31242004-02-18  Per Bothner  <per@bothner.com>
3125
3126	* cpphash.h (struct cpp_buffer):  Restore return_at_eof field.  This
3127	partly reverts my 2003-10-01 change, because we're back to logically
3128	including <command line> inside the main line.
3129	* cpplex.c (_cpp_get_fresh_line):  Check return_at_eof field.
3130	* cppmacro.c (cpp_scan_nooutput):  Set return_at_eof of current buffer.
3131	Fixes PR preprocessor/14103.
3132
31332004-02-18  Richard Earnshaw  <rearnsha@arm.com>
3134
3135	PR target/13866
3136	* arm.c (load_multiple_operation): Don't insist that the source reg
3137	of a post-increment component is the same as the destination.
3138	(store_multiple_operation): Likewise.
3139
31402004-02-18  Paul Brook  <paul@codesourcery.com>
3141
3142	* rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX
3143
31442004-02-18  Mark Mitchell <mark@codesourcery.com>
3145
3146	PR c++/11326
3147	* config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL
3148	fntype.
3149
31502004-02-18  Paul Brook  <paul@codesourcery.com>
3151
3152	PR debug/12934
3153	* dwarf2out.c (loc_descriptor_from_tree): Handle
3154	EXPR_WITH_FILE_LOCATION.
3155
31562004-02-17  Mark Mitchell  <mark@codesourcery.com>
3157
3158	PR c++/11326
3159	* c-common.c (flag_abi_version): Remove.
3160	* c-common.h (flag_abi_version): Likewise.
3161	* c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
3162	* c.opt (fabi-version): Remove.
3163	* calls.c (expand_call): Always pass a function type to
3164	struct_value_rtx.  Use convert_memory_address.
3165	* common.opt (fabi-version): Add it.
3166	* flags.h (flag_abi_version): Likewise.
3167	(abi_version_at_least): New macro.
3168	* opts.c (common_handle_option): Add OPT_fabi_version.
3169	* toplev.c (flag_abi_version): Define it.
3170	* config/ia64/ia64.h (STRUCT_VALUE_REGNUM): Remove.
3171	* config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): Define it.
3172	(ia64_struct_retval_addr_is_first_parm_p):
3173	New function.
3174	(ia64_output_mi_thunk): Use it.
3175	(ia64_struct_value_rtx): New function.
3176
31772004-02-18  Alan Modra  <amodra@bigpond.net.au>
3178
3179	PR optimization/14119
3180	* combine.c (try_combine): When attemting to fix unrecognized insns,
3181	don't delete SETs marked with REG_EH_REGION notes.
3182
31832004-02-17  Jan Hubicka  <jh@suse.cz>
3184
3185	PR bootstrap/14180
3186	* cselib.c (remove_useless_values): Do not access released
3187	memory.
3188
31892004-02-17  Ulrich Weigand  <uweigand@de.ibm.com>
3190
3191	* combine.c (simplify_if_then_else): Do not replace
3192	(if_then_else (ne reg 0) (0) (const_int)) by (reg) if the
3193	modes differ.
3194
31952004-02-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3196
3197	* config/mips/t-iris6gld: Renamed to ...
3198	* config/mips/t-irix-gld: ... this.
3199	* config.gcc (mips-sgi-irix6*): Reflect this
3200	(mips-sgi-irix5*): Use it with GNU ld.
3201
3202	* config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
3203	to ...
3204	* config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
3205	* config/mips/t-irix-gld: Reflect this.
3206	* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
3207
3208	* config/mips/iris5gld.h: New file.
3209	* config.gcc (mips-sgi-irix5*): Use it with GNU ld.
3210	Only use collect2 without gas.
3211
3212	* config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
3213	Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
3214	(STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
3215	* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
3216
3217	* config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
3218	* config/mips/iris5.h: ... here.
3219
3220	* config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
3221	IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
3222	(STARTFILE_SPEC, ENDFILE_SPEC): Define.
3223
3224	* config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
3225	using irix_startfile_spec, irix_endfile_spec.
3226	* patches.summary (http):
3227
32282004-02-17  Andrew Pinski  <pinskia@physics.uc.edu>
3229
3230	PR c++/14178
3231	* doc/invoke.texi (fabi-version): The default is 2 now.
3232
32332004-02-17  Jonathan Wakely  <redi@gcc.gnu.org>
3234
3235	* doc/install.texi: Update description of --gxx-include-dir to
3236	give correct default value. (merged from mainline)
3237
32382004-02-16  Matthias Klose  <doko@debian.org>
3239
3240	* config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
3241	in terms of SHLIB_SOVERSION.
3242	* config/m68k/t-slibgcc-elf-ver: New file.
3243	* config/pa/t-slibgcc-elf-ver: New file.
3244	* config.gcc (m68k-linux, parisc-linux): Use them when not
3245	sjlj exceptions are not configured.
3246
32472004-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
3248
3249	* config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()).
3250
32512004-02-16  Joseph S. Myers  <jsm@polyomino.org.uk>
3252
3253	* doc/sourcebuild.texi: Mention backends.html.
3254
32552004-02-15  Roger Sayle  <roger@eyesopen.com>
3256
3257	Backport from mainline:
3258
3259	2004-02-07  Roger Sayle  <roger@eyesopen.com>
3260	PR middle-end/13696
3261	* fold-const.c (fold_convert): New function to provide type
3262	conversion to the middle-end without using convert.
3263	(negate_expr, associate_trees, size_diffop, omit_one_operand,
3264	operand_equal_for_comparison_p, pedantic_omit_one_operand,
3265	invert_truthvalue, optimize_bit_field_compare, range_binop,
3266	decode_field_reference, make_range, build_range_check, unextend,
3267	fold_truthop, extract_muldiv_1, fold_mathfn_compare,
3268	fold_binary_op_with_conditional_arg, fold_inf_compare,
3269	fold_single_bit_test, fold, multiple_of_p): Replace all calls to
3270	convert with calls to fold_convert.
3271
3272	2004-02-09  Roger Sayle  <roger@eyesopen.com>
3273	* fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
3274	tree code rather than call fold_convert, which doesn't specify a
3275	default floating point to integer conversion.
3276
3277	2004-02-10  Paolo Bonzini  <bonzini@gnu.org>
3278	PR c/14092
3279	* fold-const.c (fold) <NEGATE_EXPR>: Convert result of
3280	negate_expr back to the original type.
3281
32822004-02-15  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
3283
3284	Backport from mainline:
3285
3286	2004-02-05  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
3287	* config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
3288	to $$(slibdir) in the installation commands.
3289
32902004-02-15  Roger Sayle  <roger@eyesopen.com>
3291
3292	Backport from mainline:
3293
3294	2004-01-20  Roger Sayle  <roger@eyesopen.com>
3295	* fold-const.c (fold_convert): Rename to fold_convert_const.
3296	(fold_convert_const): Change arguments to take a tree_code,
3297	a type and the operand/expression to be converted.  Return
3298	NULL_TREE if no simplification is possible.
3299	(fold): Adjust call to fold_convert to match new fold_convert_const.
3300	Avoid modifying the tree passed to fold in-place.
3301
33022004-02-15  Jan Hubicka  <jh@suse.cz>
3303
3304	* cselib.c (value_pool): New.
3305	(new_cselib_val): Use pool.
3306	(cselib_init): Initialize value_pool
3307	(cselib_finish): Free pool.
3308
3309	* cselib.c: Include alloc-pool.h
3310	(empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
3311	(elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
3312	(new_elt_list, new_elt_loc_list, unchain_one_elt_list,
3313	unchain_one_elt_loc_list_pool, unchain_one_value,
3314	new_cselib_val): Simplify using allocpool.
3315	(cselib_init): Initialize allocpools.
3316	(cselib_finish): Finish allocpools.
3317
33182004-02-14  Richard Sandiford  <rsandifo@redhat.com>
3319
3320	Backport from mainline:
3321
3322	2002-04-08  Richard Sandiford  <rsandifo@redhat.com>
3323	* real.c (encode_ibm_extended): Normalize the input value before
3324	converting it to a double.  Handle the case where a normal value
3325	rounds to infinity.
3326
33272004-02-14  Olivier Hainque  <hainque@act-europe.fr>
3328
3329	* loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT
3330	for start_value when it is directly moved into reg, and factorize
3331	the retrieval of GET_MODE (reg).
3332
33332004-02-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3334
3335	* configure.ac: Search for as, ld below libexec/gcc.
3336	* configure: Regenerate.
3337
33382004-02-13  Jan Hubicka  <jh@suse.cz>
3339
3340	* combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
3341
3342	* genrecog.c (find_operand): add extra argument stop.
3343	(validate_pattern): Verify that mach_dup is duplicating operand
3344	defined lexically earlier.
3345
33462004-02-13  Ian Lance Taylor  <ian@wasabisystems.com>
3347
3348	PR other/10584
3349	* c-opts.c (c_common_post_options): Disable function inlining when
3350	using -finstrument-functions.
3351	* doc/invoke.texi (Code Gen Options): Document this restriction.
3352
33532004-02-12  Chris Demetriou  <cgd@broadcom.com>
3354
3355	* config/mips/mips.md (casesi_internal, casesi_internal_di):
3356	Use ".set macro" to avoid warnings about multi-instruction
3357	macros, since they're intentional.
3358
33592004-02-13  Jan Hubicka  <jh@suse.cz>
3360
3361	* alias.c (find_base_term, get_addr):  Do not dereference NULL
3362	pointer when all VALUE's locations has been invalidated.
3363	(rtx_equal_for_memref_p): Simplify checking of VALUEs.
3364
3365	* cselib.c (discard_useless_values):  Clear out value pointer pointing
3366	to datastructure to be recycled.
3367
3368	* gcse.c (bypass_block): Prevent edges to be unified when we are
3369	about to emit compenstation code.
3370
3371	* gcse.c (bypass_block): Fix a typo in the previous check-in
3372	to the file.
3373
3374	* alloc-pool.c (align_four): Kill.
3375	(create_alloc_pool): Align size to eight.
3376	(free_alloc_pool, free_pool): Invalidate deallocated data.
3377
33782004-02-12  Richard Sandiford  <rsandifo@redhat.com>
3379
3380	PR bootstrap/13617
3381	* config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare.
3382	(mips_declare_object): Make variadic.
3383	* config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use
3384	mips_output_aligned_decl_common.
3385	* config/mips/mips.c (mips_output_aligned_decl_common): New function.
3386	(mips_declare_object): Make variadic.
3387
33882004-02-12  Jan Hubicka  <jh@suse.cz>
3389
3390	* tree-optimize.c (tree_rest_of_compilation): Do not release DECL_ARGUMENTS
3391
33922004-02-12  Ian Lance Taylor  <ian@wasabisystems.com>
3393
3394	PR inline-asm/6162
3395	* reload.c (find_reloads): Only support one pair of commutative
3396	operands.
3397
33982004-02-12  Ian Lance Taylor  <ian@wasabisystems.com>
3399
3400	PR target/1532
3401	Backport from mainline:
3402
3403	2004-02-11  Richard Henderson  <rth@redhat.com>
3404
3405	* flow.c (insn_dead_p): A clobber of a dead hard register is a
3406	dead insn after reload.
3407
3408	2004-01-24  Ian Lance Taylor  <ian@wasabisystems.com>
3409
3410	* cse.c (cse_cc_succs): Change the mode of the source expression
3411	as soon as decide we need a new mode.  Don't permit changing modes
3412	if we found a match in a successor block.
3413	(cse_condition_code_reg): Save original mode of source expression
3414	so that we know whether we have to change the mode in other
3415	insns.
3416
3417	2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
3418
3419	* cse.c: (cse_cc_succs) Fix comparison warning.
3420
3421	2004-01-23  Ian Lance Taylor  <ian@wasabisystems.com>
3422
3423	* cse.c (cse_change_cc_mode): New static function.
3424	(cse_change_cc_mode_insns, cse_cc_succs): Likewise.
3425	(cse_condition_code_reg): New function.
3426	* rtl.h (cse_condition_code_reg): Declare.
3427	* toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
3428	* target.h (struct gcc_target): Add fixed_condition_code_regs and
3429	cc_modes_compatible.
3430	* target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
3431	(TARGET_CC_MODES_COMPATIBLE): Define.
3432	(TARGET_INITIALIZER): Add new initializers.
3433	* targhooks.c (default_cc_modes_compatible): New function.
3434	* targhooks.c (default_cc_modes_compatible): Declare.
3435	* hooks.c (hook_bool_intp_intp_false): New function.
3436	* hooks.h (hook_bool_intp_intp_false): Declare.
3437	* config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
3438	(TARGET_CC_MODES_COMPATIBLE): Define.
3439	(ix86_fixed_condition_code_regs): New static function.
3440	(ix86_cc_modes_compatible): Likewise.
3441	* doc/tm.texi (Condition Code): Document new hooks.
3442
34432004-02-12  Hartmut Penner  <hpenner@de.ibm.com>
3444
3445	* config/rs6000/altivec.md (*movv4si_internal): At least one
3446	operand must be register_operand.
3447	(*movv8hi_internal1): Likewise.
3448	(*movv16qi_internal1): Likewise.
3449	(*movv4sf_internal1): Likewise.
3450
34512004-02-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
3452
3453	PR target/14113
3454	Backport from mainline:
3455
3456	2004-02-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
3457
3458	* config/sparc/sparc.md (call followed by jump define_peephole's):
3459	Delete.
3460
34612004-02-12  Hartmut Penner  <hpenner@de.ibm.com>
3462
3463	* gcc/config/rs6000/rs6000.c (rs6000_override_options)
3464	Set AltiVec ABI and vrsave as default for ppc64 linux.
3465	(init_cumulative_args): Post error, if try to return
3466	value in AltiVec register without enable AltiVec.
3467	(function_arg_advance): Ditto for passing arguments.
3468
34692004-02-11  Joseph S. Myers  <jsm@polyomino.org.uk>
3470
3471	PR c/456
3472	* cppexp.c (num_binary_op): Don't allow comma operators in #if
3473	constant expressions at all outside C99 mode if pedantic.
3474
34752004-02-10  Aldy Hernandez  <aldyh@redhat.com>
3476
3477	* config/rs6000/spe.md ("*movv2si_internal"): Check for register
3478	operand.
3479	(movv4hi_internal): Same.
3480	(movv2sf_internal): Same.
3481	(movv1di_internal): Same.
3482
34832004-02-11  Richard Sandiford  <rsandifo@redhat.com>
3484
3485	* emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
3486	a label before updating its usage count.
3487
34882004-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
3489
3490	PR c/14088
3491	real.c (real_from_string): Look for 'X' as well as 'x' in
3492	hexfloat strings.
3493
34942004-02-10  Per Bothner  <per@bothner.com>
3495
3496	* c-opts.c (c_common_post_options):   Don't emit working directory
3497	in cpp output if -P was specified.
3498
34992004-02-10  Jakub Jelinek  <jakub@redhat.com>
3500
3501	PR optimization/13424
3502	Backport from mainline:
3503
3504	2004-01-29  Jakub Jelinek  <jakub@redhat.com>
3505	* emit-rtl.c (change_address): Use XEXP (memref, 0) instead
3506	of addr when creating MEM copy.
3507
3508	2004-01-28  Jakub Jelinek  <jakub@redhat.com>
3509	* expr.c (store_constructor): Revert 2003-12-03 change.
3510
3511	* emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
3512	expected before returning early.  Avoid sharing RTL if they
3513	need to be changed.
3514
3515	* config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
3516	handling so that memory attributes are preserved.  Don't call
3517	ix86_set_move_mem_attrs.
3518	(ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
3519	(ix86_expand_clrstr): Rename src argument to
3520	dst.  Rework rep_stos and strset handling so that memory attributes
3521	are preserved.
3522	(ix86_expand_strlen): Pass src argument to
3523	ix86_expand_strlensi_unroll_1.  Rework strlenqi_1 handling so that
3524	memory attributes are preserved.
3525	(ix86_expand_strlensi_unroll_1): Add src argument.  Use
3526	change_address instead of gen_rtx_MEM.
3527	* config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
3528	expanders.
3529	(strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
3530	strmovqi, strmovqi_rex64): Remove.
3531	(rep_mov*, strmov*): Prefix insn names with *.
3532	(strset, strset_singleop, rep_stos): New expanders.
3533	(strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
3534	strsetqi, strsetqi_rex64): Remove.
3535	(rep_stos*, strset*): Prefix insn names with *.
3536	(rep_stosqi_rex64): Likewise.  Fix mode of dirflag reg from DImode
3537	to SImode.
3538	(cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
3539	are preserved.
3540	(cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
3541	Prefix insn names with *.
3542	(cmpstrqi_nz_1, cmpstrqi_1): New expanders.
3543	(strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
3544	(strlenqi_1): New expander.
3545	* config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
3546
3547	2004-01-24  Jan Hubicka  <jh@suse.cz>
3548	* emit-rtl.c (change_address, adjust_address_1, offset_address,
3549	widen_memory_access):  Return early when there is nothing to change.
3550
35512004-02-10  David Edelsohn  <edelsohn@gnu.org>
3552
3553	* configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
3554	* configure: Regenerate.
3555
35562004-02-10  Ulrich Weigand  <uweigand@de.ibm.com>
3557
3558	* cfganal.c (flow_call_edges_add): Never split a libcall block.
3559
35602004-02-10  Richard Sandiford  <rsandifo@redhat.com>
3561
3562	* config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
3563	&& TARGET_IRIX.
3564
35652004-02-09  Geoffrey Keating  <geoffk@apple.com>
3566
3567	PR 12028
3568	* config/rs6000/rs6000.c (ccr_bit): Don't let consistency check
3569	failure stop compilation, just print helpful message.
3570
35712004-02-09  Fariborz Jahanian <fjahanian@apple.com>
3572
3573	* expr.c (emit_group_load): split constant
3574	correctly into register components of PARALLEL insn.
3575
35762004-02-09  DJ Delorie  <dj@redhat.com>
3577
3578	* config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
3579	longer modify standard_exec_prefix, standard_bindir_prefix, or
3580	standard_startfile_prefix.
3581
35822004-02-09  James E Wilson  <wilson@specifixinc.com>
3583
3584	PR c++/11295
3585	* c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
3586	to expand_expr_real call, and pass in alt_rtl as last argument.
3587
3588	PR libstdc++/5625
3589	* builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
3590	* builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
3591	* builtins.def (BUILT_IN_EXTEND_POINTER): New.
3592	* except.c (expand_builtin_extend_pointer): New.
3593	* except.h (expand_builtin_extend_pointer): Declare.
3594
35952004-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3596
3597	* config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
3598	* config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
3599
3600	* config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
3601	* config/mips/iris5.h: ... here.
3602	* config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
3603
3604	* config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
3605	* config/mips/iris5.h: ... here.
3606
36072004-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3608
3609	* configure.ac: Remove default executable files before AC_PROG_CC.
3610	* configure: Regenerate.
3611
36122004-02-09  Kazu Hirata  <kazu@cs.umass.edu>
3613
3614	PR target/13721
3615	* config/h8300/h8300.c (byte_reg): Call abort() if asked to
3616	print a operand other than a register.
3617
36182004-02-09  Nick Clifton  <nickc@redhat.com>
3619
3620	* Import these patches from mainline sources:
3621
3622	2004-01-21  Inaoka Kazuhiro  <inaoka.kazuhiro@renesas.com>
3623
3624	* config/m32r/m32r.h (CPP_SPEC): Define.
3625
3626	2004-01-20  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
3627
3628	* config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
3629	not TARGET_M32RX_MASK.
3630
36312004-02-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
3632
3633	* cpplib.h (cpp_get_line_maps): Un-constify the structure
3634	pointed to by the pointer returned by the function.
3635	* cpplib.c (cpp_get_line_maps): Likewise.
3636
36372004-02-08  Kazu Hirata  <kazu@cs.umass.edu>
3638
3639	* c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
3640	warning.
3641
36422004-02-08  Joseph S. Myers  <jsm@polyomino.org.uk>
3643
3644	* README.Portability: Change "ISO C89" to "ISO C90".
3645	* c-parse.in (primary, initelt): Likewise.
3646
36472004-02-07  Zack Weinberg  <zack@codesourcery.com>
3648
3649	Bug 13856
3650	* c-decl.c (diagnose_mismatched_decls): Only give special
3651	treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
3652	is also true.
3653	(merge_decls): Don't clear DECL_BUILT_IN_CLASS and
3654	DECL_FUNCTION_CODE when defining a built-in function.
3655	Don't update DECL_ESTIMATED_INSNS.
3656	* dwarf2out.c (dwarf2out_decl): Don't ignore built-in
3657	FUNCTION_DECLs.
3658	* tree.h: Delete DECL_ESTIMATED_INSNS.
3659	* tree-inline.c (struct inline_data): Delete inlined_insns field.
3660	(expand_call_inline, optimize_inline_calls): Don't update
3661	DECL_ESTIMATED_INSNS nor inlined_insns.
3662	* cgraphunit.c (cgraph_analyze_function): Don't update
3663	DECL_ESTIMATED_INSNS.
3664
36652004-02-07  Zack Weinberg  <zack@codesourcery.com>
3666
3667	* c-common.c (shadow_warning): Delete.
3668	* c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
3669	* c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
3670	* c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
3671	* c-parse.in (free_parser_stacks): Delete.
3672
36732004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
3674
3675	* c-opts.c, c-ppoutput.c, cppfiles.c, cpphash.h, cppinit.c,
3676	cpplib.h, diagnostic.h, fix-header.c, config/fp-bit.c,
3677	config/mips/iris5.h, doc/makefile.texi: Update copyright.
3678
36792004-02-06  James E Wilson  <wilson@specifixinc.com>
3680
3681	* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
3682	glibc 2.3 or better.
3683
36842004-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
3685
3686	* loop.c (force_movables): Transitively increase the priorities of
3687	all insns forces by an insn, not just the first one.
3688
36892004-02-06  Falk Hueffner  <falk@debian.org>
3690
3691	PR target/12898
3692	* config/alpha/alpha.c (alpha_emit_set_const_1): If
3693	no_new_pseudos, use gen_rtx_SET directly for SImode constants
3694	which need multiple instructions to emit.
3695
36962004-02-06  H.J. Lu  <hongjiu.lu@intel.com>
3697
3698	* doc/invoke.texi: Remove the pni option from -mfpmath=.
3699
37002004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
3701
3702	* doc/install.texi:  Update automake and autoconf version
3703	requirements.  Note where to find gcj automake version.
3704
37052004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
3706
3707	* Makefile.in (generate-manpages): Move dependencies to ...
3708	(man): here.
3709	* doc/makefile.texi: Document new targets.
3710	* doc/sourcebuild.texi (Make-lang.in): Document new langhooks.
3711
37122004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
3713
3714	PR/13485
3715	Makefile.in (srcextra):  Add a level of indirection to ...
3716	(gcc.srcextra): ... here.
3717	(po-generated): Delete.
3718	(po/$(PACKAGE).pot: Use srcextra instead of po-generated.  Depend on
3719	options.c.
3720	(start.encap): Remove superfluous lang.srcextra dependency.
3721	objc/Make-lang.in (po-generated):  Delete.
3722
37232004-02-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3724
3725	* config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
3726
37272004-02-05  Andreas Krebbel  <krebbel1@de.ibm.com>
3728
3729	* config/s390/s390.md ("*tmqidi_ext"): New insn.
3730	("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
3731	pre-reload splitters are transformed to post-reload
3732	define_insn_and_split patterns.
3733	("*tmqisi_ext"): Renamed old "*tmqi_ext".
3734
37352004-02-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3736
3737	PR middle-end/13750
3738	Revert:
3739	2004-01-15  Geoffrey Keating  <geoffk@apple.com>
3740	PR pch/13361
3741	* c-typeck.c (constructor_asmspec): Delete.
3742	(struct initializer_stack): Delete field 'asmspec'.
3743	(start_init): Delete saving of asmspec.
3744	(finish_init): Don't update constructor_asmspec.
3745	* dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
3746	* stmt.c (expand_asm): Duplicate strings from tree.
3747	(expand_asm_operands): Likewise.
3748	* tree.c (tree_size): Update computation of size of STRING_CST.
3749	(make_node): Don't make STRING_CST nodes.
3750	(build_string): Allocate string with tree node.
3751	* tree.def (STRING_CST): Update comment.
3752	* tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
3753	(tree_string): Place contents of string in tree node.
3754	* config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
3755	from tree.
3756
37572004-02-05  Joseph S. Myers  <jsm@polyomino.org.uk>
3758
3759	* diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
3760	msgid.
3761
37622004-02-05  Paul Brook  <paul@codesourcery.com>
3763
3764	Backport from mainline.
3765
3766	2003-11-22  Phil Edwards  <phil@codesourcery.com>
3767
3768	PR target/12476
3769	* config/arm/arm.c (arm_output_mi_thunk):  In Thumb mode, use
3770	'bx' instead of 'b' to avoid branch range restrictions.  Output
3771	the thunk immediately before the thunked-to function.
3772	* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME):  Do not emit
3773	.thumb_func if a thunk is being generated.  Emit .code 16 along
3774	with .thumb_func if a thunk is not being generated.
3775
3776	2003-11-05  Mark Mitchell  <mark@codesourcery.com>
3777
3778	* calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P
3779	parameter.  Use it instead of current_function_is_thunk.
3780	* function.h (struct function): Update documentation for is_thunk.
3781	* tree.h (CALL_FROM_THUNK_P): New macro.
3782	* config/alpha/alpha.c (alpha_sa_mask): Do not check
3783	no_new_pseudos when testing current_function_is_thunk.
3784	* config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse.
3785
37862004-02-05  Joseph S. Myers  <jsm@polyomino.org.uk>
3787
3788	* sourcebuild.texi (Test Idioms): Update testcase naming
3789	conventions.
3790
37912004-02-04  Per Bothner  <per@bothner.com>
3792
3793	Partially revert/redo 2003-10-01 change; fix -fworking-directory.
3794	* c-ppoutput.c (pp_dir_change):  New function.
3795	* c-common.h (pp_dir_change):  New declaration.
3796	* cpplib.h (struct cpp_options):  Remove working_directory field.
3797	* cppinit.c (cpp_find_main_file, cpp_push_main_file):  Merge back to
3798	(cpp_read_main_file):  as before 10-01.  Call _cpp_stack_file.
3799	Don't handle -fworking_directory here, but in c_common_post_options.
3800	(read_original_directory): Don't back up when done.
3801	Don't clear no-longer used working_directory flag.
3802	* cpplib.h:  Update declarations to match.
3803	* c-lex.c (cb_dir_change):  Move to c-opts.c.
3804	(init_c_lex):  Don't set dir_change callback here, since we want
3805	to set it even if flag_preprocess_only.
3806	* c-opts.c (cb_dir_change):  Function moved from c-lex.c.
3807	(c_common_post_options):  Set dir_change callback.
3808	Call pp_dir_change if approporiate.
3809	(finish_options):  Don't call cpp_find_main_file here.	Hence remove
3810	unneeded parameter and result. Do LC_RENAME for <built-in>.
3811	(c_common_post_options):  Call cpp_read_main_file here instead.
3812	(c_common_init):  Update accordingly.
3813	(push_command_line_include):  Don't cpp_push_main_file.
3814	Do LC_RENAME rather than LC_LEASE to get back to main file.
3815	Compared to pre-10-01 version, inline cpp_rename_to_main_file.
3816	(c_common_parse_file):  Call cpp_read_main_file for subsequent main
3817	files, but call finish_options for all files.
3818	* c-opts.c (sanitize_cpp_opts):  Don't set cpp_opts->working_directory.
3819	* fix-header.c (read_scan_file):  Call cpp_read_main_file instead of
3820	cpp_find_main_file + cpp_push_main_file.
3821	* c-lex.c (fe_file_change):  Don't set main_input_filename here.
3822	* opts.c (handle_options):  Only set main_input_filename first time.
3823
38242004-02-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3825
3826	* Makefile.in: Move target, host overrides after per-language
3827	fragments.
3828
3829	* config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
3830	(GNATLIBCFLAGS): Remove -g.
3831
38322004-02-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3833
3834	* config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
3835	for all modes whose size is greater than 8 bytes if ARCH32.
3836	(sparc_va_arg): Handle all modes whose size is greater than 8 bytes
3837	by reference if ARCH32.
3838
38392004-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
3840
3841	* config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move
3842	to before adddi3 insn patterns.
3843	("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31",
3844	"reload_insi"): Move to before addsi3 insn patterns.
3845
38462004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
3847
3848	* doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't
3849	mention deprecated target macros.
3850
38512004-02-03  Wolfgang Bangerth  <bangerth@dealii.org>
3852
3853	* doc/invoke.texi (x86 options): Fix spelling/wording.
3854
38552004-02-03  Richard Sandiford  <rsandifo@redhat.com>
3856
3857	* config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to
3858	put the original string in a comment.
3859	* config/mips/mips-protos.h (mips_output_ascii): Add prefix argument.
3860	* config/mips/mips.c (mips_output_ascii): Likewise.
3861	* config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly.
3862
38632004-02-03  Mark Mitchell  <mark@codesourcery.com>
3864
3865	PR c++/13975
3866	* tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and
3867	TI_PRIVATE.
3868	(access_public_node): Redefine.
3869	(access_protected_node): Likewise.
3870	(access_private_node): Likewise.
3871	* tree.c (build_common_tree_nodes): Create access_public_node,
3872	access_protected_node, and access_private_node.
3873
38742004-02-03  Alan Modra  <amodra@bigpond.net.au>
3875
3876	PR target/13914
3877	* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Use ap
3878	for retaddr_column.
3879
38802004-02-03  Kelley Cook  <kcook@gcc.gnu.org>
3881
3882	* opts.c (OPT_fwritable_strings): Deprecate -fwritable-strings.
3883
38842004-02-03  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3885
3886	* toplev.c: Fix broken checkin of 2003-12-30, again.
3887
38882004-02-02  Eric Christopher  <echristo@redhat.com>
3889	    Zack Weinberg  <zack@codesourcery.com>
3890
3891	* c-opts.c (c_common_handle_option): Add -finput-charset.
3892	* c.opt: Ditto.
3893	* cppcharset.c (_cpp_convert_input): New function.
3894	(_cpp_default_encoding): Ditto.
3895	* cpphash.h: Add prototypes for above.
3896	* cppfiles.c (read_file_guts): Use _cpp_convert_input.
3897	* cppinit.c (cpp_create_reader): Use _cpp_default_encoding
3898	for narrow execution and input character sets.
3899	* doc/cppopts.texi: Document -finput-charset.
3900
39012004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
3902
3903	* doc/invoke.texi (SPARC options): Further improve.
3904
39052004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
3906
3907	* config/sparc/sparc.c (function_arg_slotno): Align TImode
3908	arguments on a 16-byte boundary in the parameter array if ARCH64.
3909	Split handling of TFmode.
3910
39112004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
3912
3913	* doc/invoke.texi (SPARC options): Document that -mflat is deprecated.
3914
39152004-02-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
3916
3917	* config/sparc/sol2-bi.h: Handle TARGET_CPU_ultrasparc3.
3918	(CPP_CPU_SPEC): Handle -mcpu=ultrasparc3.
3919	(ASM_CPU_SPEC): Likewise
3920	* config/sparc/sol2.h: Handle TARGET_CPU_ultrasparc3.
3921	(ASM_CPU_SPEC): Remove -mcpu=v8plus.  Handle -mcpu=ultrasparc3.
3922
39232004-02-01  Jan Hubicka  <jh@suse.cz>
3924
3925	PR c++/12850
3926	* cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
3927	initial pointers.
3928	* cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
3929	for functions that will be only inlined.
3930	(cgraph_mark_function_to_output): Likewise.
3931	(cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
3932	do not clear function body.
3933	* tree-optimize.c (clear_decl_rtl): Use decl_function_context.
3934	(tree_rest_of_compilation): Reorganize the logic releasing function
3935	body to use callgraph datastructure.
3936
39372004-02-01  Richard Sandiford  <rsandifo@redhat.com>
3938
3939	* config/mips/mips.md (adddi3_internal_2): Remove superfluous %s.
3940
39412004-01-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
3942
3943	* doc/invoke.texi (SPARC options): Restructure and update.
3944
39452004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
3946
3947	* doc/invoke.texi: Follow spelling conventions.
3948	* doc/tm.texi: Likewise.
3949
39502004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
3951
3952	* doc/install.texi: Fix typos.
3953	* doc/invoke.texi: Likewise.
3954
39552004-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
3956
3957	* config/s390/s390.c (s390_decompose_address): Do not treat virtual
3958	registers as pointers.
3959	* config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode.
3960
39612004-01-31  Jan Hubicka  <jh@suse.cz>
3962
3963	Revert the following patch until after AIX linker bug is fixed:
3964	PR c++/12850
3965	* cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
3966	initial pointers.
3967	* cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
3968	for functions that will be only inlined.
3969	(cgraph_mark_function_to_output): Likewise.
3970	(cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
3971	do not clear function body.
3972	* tree-optimize.c (clear_decl_rtl): Use decl_function_context.
3973	(tree_rest_of_compilation): Reorganize the logic releasing function
3974	body to use callgraph datastructure.
3975
39762004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
3977
3978	alloc-pool.c, alloc-pool.h, c-lex.c, c-pragma.h,
3979	tree-optimize.c, config/alpha/alpha.c, config/alpha/alpha.h,
3980	config/alpha/alpha.md, config/alpha/vms.h, config/arm/arm.h,
3981	config/arm/linux-elf.h, config/avr/avr.c, config/c4x/c4x.c,
3982	config/c4x/c4x.md, config/d30v/d30v.h,
3983	config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
3984	config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
3985	config/i386/cygming.h, config/i386/djgpp.h,
3986	config/i386/emmintrin.h, config/i386/gthr-win32.c,
3987	config/i386/i386-interix.h, config/i386/i386-protos.h,
3988	config/i386/i386.c, config/i386/i386.h, config/i386/openbsd.h,
3989	config/i386/winnt.c, config/i386/xm-mingw32.h,
3990	config/i386/xmmintrin.h, config/ia64/ia64-protos.h,
3991	config/ia64/ia64.c, config/ia64/ia64.md, config/ip2k/ip2k.c,
3992	config/iq2000/iq2000-protos.h, config/iq2000/iq2000.c,
3993	config/iq2000/iq2000.md, config/m32r/m32r-protos.h,
3994	config/m32r/m32r.c, config/m32r/m32r.md, config/m68k/m68k.md,
3995	config/m68k/netbsd-elf.h, config/mcore/mcore-elf.h,
3996	config/mcore/mcore.c, config/mcore/mcore.h,
3997	config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
3998	config/mips/iris5gas.h, config/mips/iris6.h,
3999	config/mips/iris6gas.h, config/mips/linux.h,
4000	config/mips/mips.md, config/mips/netbsd.h,
4001	config/mips/openbsd.h, config/mips/windiss.h,
4002	config/mn10300/mn10300.c, config/mn10300/mn10300.h,
4003	config/pdp11/pdp11.c, config/rs6000/aix.h,
4004	config/rs6000/altivec.h, config/rs6000/darwin.h,
4005	config/rs6000/xcoff.h, config/s390/s390-protos.h,
4006	config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
4007	config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h,
4008	config/sparc/sol2.h, config/stormy16/stormy16.h: Update
4009	copyright.
4010
40112004-01-30  Dara Hazeghi  <dhazeghi@yahoo.com>
4012
4013	PR bootstrap/9249
4014	* doc/install.texi: document --enable-__cxa_atexit option.
4015	* configure.ac: Disable __cxa_atexit if not supported.
4016	* configure: Regenerate.
4017
40182004-01-30  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
4019
4020	PR target/12978
4021	* c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
4022	Remove movstrqi_small because it conflicts with movstrqi_large.
4023
40242004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
4025
4026	* Makefile.in (abs_docdir, abs_srcdir): Define.
4027	(doc/%.dvi, doc/gccinstall.dvi): Use $(abs_docdir).
4028
40292004-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
4030
4031	PR optimization/12147
4032	* reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with
4033	RELOAD_FOR_OPADDR_ADDR.
4034	(reload_reg_reaches_end_p): RELOAD_FOR_OTHER_ADDRESS register
4035	might be reused as RELOAD_FOR_OPADDR_ADDR register.
4036
40372004-01-30  Jan Hubicka  <jh@suse.cz>
4038
4039	* reload.c (get_secondary_mem):  Fix updating of
4040	secondary_memlocs_elim_used.
4041
40422004-01-30  Andrew Pinski <pinskia@physics.uc.edu>
4043
4044	* toplev.c: Include alloc-pool.h.
4045	* Makefile.in (toplev.c): Update dependencies.
4046
40472004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
4048
4049	* config/sparc/sparc.h: Update copyright.
4050
40512004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
4052
4053	PR c/12818
4054	* varasm.c (const_hash_1) <STRING_CST>: Use the
4055	address to compute the hash value if flag_writable_strings.
4056	(compare_constant) <STRING_CST>: Compare the addresses
4057	if flag_writable_strings.
4058	(build_constant_desc): Do not copy the expression for a
4059	STRING_CST if flag_writable_strings.
4060
40612004-01-30  Jan Hubicka  <jh@suse.cz>
4062
4063	PR c++/12850
4064	* cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
4065	initial pointers.
4066	* cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
4067	for functions that will be only inlined.
4068	(cgraph_mark_function_to_output): Likewise.
4069	(cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
4070	do not clear function body.
4071	* tree-optimize.c (clear_decl_rtl): Use decl_function_context.
4072	(tree_rest_of_compilation): Reorganize the logic releasing function
4073	body to use callgraph datastructure.
4074
4075	* reload.c (secondary_memlocs_elim_used): New static variable.
4076	(get_secondary_mem): Update it.
4077	(find_reloads): Use it.
4078
4079	* alias.c (reg_base_value): Turn into varray.
4080	(reg_base_value_size): Kill.
4081	(old_reg_base_value): New deletable varray.
4082	(alias_invariant_size): New variable.
4083	(REG_BASE_VALUE): Update to use varray.
4084	(find_base_value): Likewise.
4085	(record_set): Likewise.
4086	(record_base_value): Likewise.
4087	(memrefs_conflict_p): Likewise.
4088	(record_set): Likewise
4089	(record_base_value): Likewise.
4090	(memrefs_conflict_p): Use alias_invariant_size.
4091	(init_alias_analysis): Use varray; set alias_invariant_size;
4092	rescale other arrays to be sized by maxreg.
4093	(end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
4094
4095	* basic-block.h (PROP_POSTRELOAD): New macro.
4096	(CLEANUP_LOG_LINKS): New.
4097	* cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
4098	* toplev.c (rest_of_handle_life):  Preserve LOG_LINKS trought cleanup_cfg.
4099
4100	* alloc-pool.c: Include hashtab.h
4101	(alloc_pool_descriptor): New structure
4102	(alloc_pool_hash): New global variable.
4103	(hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
4104	(create_alloc_pool): Update statistics.
4105	(free_alloc_pool): Likewise.
4106	(pool_alloc): Likewise.
4107	(output_info): New structure
4108	(print_statistics, dump_alloc_pool_statistics): New function.
4109	* alloc-pool.h (alloc_pool_def): Turn name to be constant.
4110	(dump_alloc_pool_statistics): Declare.
4111	* toplev.c (finalize):  Dump statistics.
4112
4113	* varray.c:  Include hashtab.h
4114	(varray_descriptor): New structure.
4115	(hash_descriptor, eq_descriptor, varray_descriptor,
4116	print_statistics): New static functions
4117	(varray_init, varray_grow): Update statistics
4118	(dump_varray_statistics): New function.
4119	* varray.h (dump_varray_statistics): Declare.
4120	* toplev.c (finalize): Call it.
4121
41222004-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
4123
4124	* configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
4125	s390*-*-* targets by specifying a 'nop' insn.
4126	* configure: Regenerate.
4127
41282004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
4129
4130	PR target/11475
4131	* config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
4132
41332004-01-29  Bruce Korb  <bkorb@gnu.org>
4134
4135	* fixinc/inclhack.def(math_exception): bypass only for glibc.
4136	(matherr_decl): rename & relocate as exception_structure.
4137	This fix must precede the math_exception fix.
4138	* fixinc/fixincl.x: regen
4139
41402004-01-29  Richard Henderson  <rth@redhat.com>
4141
4142	* c-parse.in (extension): Use itype.
4143	(SAVE_EXT_FLAGS): Don't allocate a tree.
4144	(RESTORE_EXT_FLAGS): Don't read a tree.
4145
41462004-01-29  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
4147
4148	* c-lex.c (c_lex): Rename to...
4149	(c_lex_with_flags): Add new parameter to get CPP flags.
4150	(c_lex): Thunk to c_lex_with_flags while keeping the old interface.
4151	* c-pragma.h (c_lex_with_flags): Declare.
4152
41532004-01-29  Roger Sayle  <roger@eyesopen.com>
4154
4155	PR java/13824
4156	* tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
4157	as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
4158	recursion.
4159
41602004-01-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4161
4162	* pa.md: Change predicate of a peephole2 pattern from reg_or_0_operand
4163	to register_operand.
4164
41652004-01-28  Zack Weinberg  <zack@codesourcery.com>
4166
4167	* config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di)
4168	(cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and
4169	match_operand expressions so that all match_dups appear
4170	lexically after their corresponding match_operands.
4171
41722004-01-28  Zack Weinberg  <zack@codesourcery.com>
4173	    Jim Wilson  <wilson@specifixinc.com>
4174
4175	* config/ia64/ia64.c (ia64_split_tmode, ia64_split_tmode_move):
4176	Rewrite to use POST_INC/POST_DEC/POST_MODIFY instead of a
4177	scratch pointer.
4178	(ia64_secondary_reload_class): Delete case GR_REGS.
4179	* config/ia64/ia64.md (movti, *movti_internal, movtf, *movtf_internal):
4180	Do not allocate a scratch register.
4181	(reload_inti, reload_outti, reload_intf, reload_outtf): Delete.
4182
41832004-01-27  Zack Weinberg  <zack@codesourcery.com>
4184
4185	* ia64.c (ia64_function_arg): When placing HFAs in integer
4186	registers, do not special case the mode used for complex
4187	types.  Do not advance int_regs until the current register
4188	is full.
4189
41902004-01-28  Jan Hubicka  <jh@suse.cz>
4191
4192	* function.c (allocate_struct_function): Do not initialize expr, emit
4193	and varasm.
4194	(prepare_function_start): Do it here.
4195	* c-parse.in (maybe_type_qual): Do not produce line number notes.
4196
41972004-01-28  Richard Sandiford  <rsandifo@redhat.com>
4198
4199	* config/fp-bit.c (pack_d): When using paired doubles to implement
4200	a long double, round the high part separately.
4201	(unpack_d): Fix the case in which the high part is a power of two
4202	and the low part is a nonzero value of the opposite sign.
4203
42042004-01-27  Roger Sayle  <roger@eyesopen.com>
4205
4206	* config/pa/pa.c (emit_move_sequence): Check that operand1 is a
4207	CONST_INT before using INTVAL.
4208
42092004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
4210
4211	* config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
4212	* config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
4213	frame if !TARGET_BACKCHAIN.
4214	* config/s390/s390.md ("allocate_stack"): Use pattern only if
4215	TARGET_BACKCHAIN.
4216	* doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.
4217
42182004-01-27  Richard Sandiford  <rsandifo@redhat.com>
4219
4220	PR target/7297
4221	* except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp().
4222
42232004-01-27  Bob Wilson  <bob.wilson@acm.org>
4224
4225	* config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
4226	on CQImode and CHImode incoming arguments in register a7.
4227	(function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
4228	* config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
4229	* config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
4230	xtensa_copy_incoming_a7 before reload.
4231
42322004-01-27  Ian Lance Taylor  <ian@wasabisystems.com>
4233
4234	* config/arm/arm.c (output_return_instruction): Only restore IP
4235	into SP if frame_pointer_needed.
4236
42372004-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
4238
4239	* config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
4240	for SCmode and DCmode if ARCH32.
4241	(sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32.
4242	* config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode
4243	if ARCH32.
4244	(BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode
4245	if ARCH32.
4246	(BASE_OUTGOING_VALUE_REG): Likewise.
4247
42482004-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
4249
4250	PR target/10904
4251	PR target/13058
4252	* config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
4253	Forbid mode changes from SImode for lower FP regs if ARCH64.
4254
42552004-01-27  Jakub Jelinek  <jakub@redhat.com>
4256
4257	* config/i386/i386.c (ix86_constant_alignment): Decrease alignment
4258	of long string literals from 32 bytes to sizeof (void *) when !-Os
4259	and to 1 with -Os.
4260
42612004-01-27  Kaz Kojima  <kkojima@gcc.gnu.org>
4262
4263	PR optimization/13567
4264	* cse.c (cse_basic_block): Call cse_insn with a non-null
4265	libcall_insn for the last SET insn of a no-confilict block.
4266
42672004-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4268
4269	* system.h (CHAR_BITFIELD): Delete.
4270	(BOOL_BITFIELD): New.
4271	* c-decl.c (c_scope): Use BOOL_BITFIELD.
4272	* gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
4273
42742004-01-26  J"orn Rennecke <joern.rennecke@superh.com>
4275
4276	* doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
4277	may or may not return non-NIL.
4278	* postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
4279	check CANNOT_CHANGE_MODE_CLASS
4280
42812004-01-26  Jeff Law  <law@redhat.com>
4282
4283	* doc/contrib.texi: Minor cleanup for Paolo Carlini's entry.  Add
4284	acute accents for Petur Runolfsson's entry.
4285
4286
42872004-01-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
4288
4289	Backport from mainline:
4290
4291	2004-01-23  Eric Botcazou  <ebotcazou@act-europe.fr>
4292		    Olivier Hainque  <hainque@act-europe.fr>
4293
4294	* fold-const.c (fold_binary_op_with_conditional_arg): Only
4295	build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
4296
42972004-01-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
4298
4299	PR target/13666
4300	* config/sparc/sparc.c (function_arg_union_value): New function.
4301	(function_arg): Use it to deal with unions.
4302	(function_value): Likewise.  Define 'regbase' only for ARCH64.
4303	Replace a conditional statement by a simpler one.
4304
43052004-01-26  Richard Sandiford  <rsandifo@redhat.com>
4306
4307	* config/mips/mips.c (mips16_optimize_gp): Delete.
4308	(mips_reorg): Don't call it.
4309
43102004-01-25  Richard Sandiford  <rsandifo@redhat.com>
4311
4312	* config/mips/mips.c (mips_offset_within_object_p): New function.
4313	(mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
4314	SYMBOL_CONSTANT_POOL cases.  Also use it for SYMBOL_GENERAL if the
4315	ABI has 64-bit pointers and the object file only allows 32-bit symbols.
4316
43172004-01-25  Eric Botcazou  <ebotcazou@act-europe.fr>
4318
4319	PR bootstrap/13853
4320	* cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
4321
43222004-01-25  Richard Sandiford  <rsandifo@redhat.com>
4323
4324	* config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
4325	(mips_regno_mode_ok_for_base_p): Declare.
4326	* config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
4327	(FRAME_POINTER_REGNUM): Renumber to 78.
4328	(FIRST_PSEUDO_REGISTER): Update comment accordingly.
4329	(BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
4330	(GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
4331	(REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
4332	(REG_MODE_OK_FOR_BASE_P): Likewise.
4333	* config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
4334	entry for 77 to "$arg" and entry for 78 to "$frame".
4335	(mips_regno_to_class): Map 77 and 78 to ALL_REGS.
4336	(mips_reg_mode_ok_for_base_p): Remove.
4337	(mips_regno_mode_ok_for_base_p): New function, derived from old
4338	BASE_REG_P macro.  Don't enforce the mips16 stack pointer
4339	restrictions unless we're being strict.
4340	(mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
4341
43422004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
4343
4344	* doc/frontends.texi: Update copyright.
4345	* doc/gcov.texi: Likewise.
4346	* doc/gty.texi: Likewise.
4347	* doc/sourcebuild.texi: Likewise.
4348
43492004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
4350
4351	* config/h8300/coff.h: Update copyright.
4352	* config/h8300/elf.h: Likewise.
4353	* config/h8300/h8300-protos.h: Likewise.
4354	* config/h8300/h8300.c: Likewise.
4355	* config/h8300/h8300.h: Likewise.
4356	* config/h8300/h8300.md: Likewise.
4357
43582004-01-24  Hartmut Penner <hpenner@de.ibm.com>
4359
4360	PR target/13674
4361	* config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
4362	loading into GPR.
4363
43642004-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4365
4366	PR optimization/12440
4367	* loop.c: Include ggc.h.
4368	(loop_optimize): Run garbage collector between optimization of loops.
4369	* Makefile.in (loop.o): Add GGC_H dependency.
4370
43712004-01-24  Jakub Jelinek  <jakub@redhat.com>
4372
4373	* simplify-rtx.c (simplify_relational_operation): Don't
4374	simplify address == constant into address + -constant == 0.
4375
43762004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
4377
4378	* gcc.c (process_command): Don't internationalize the
4379	Copyright message.
4380	* mips-tfile.c (main): Likewise.
4381
43822004-01-23  Kazu Hirata  <kazu@cs.umass.edu>
4383
4384	* recog.c: Fix a typo in copyright.
4385
43862004-01-23  Kazu Hirata  <kazu@cs.umass.edu>
4387
4388	* alias.c, basic-block.h, c-common.c, c-common.h,
4389	c-cppbuiltin.c, c-pragma.c, c-pretty-print.c, c-semantics.c,
4390	calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
4391	combine.c, cppcharset.c, cpptrad.c, cse.c, cselib.c, cselib.h,
4392	defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
4393	expr.h, fold-const.c, function.h, gcc.c, gcse.c, genattrtab.c,
4394	genautomata.c, genconditions.c, genflags.c, gengtype.c,
4395	genopinit.c, genrecog.c, gensupport.c, ggc-zone.c, graph.c,
4396	haifa-sched.c, integrate.c, langhooks-def.h, langhooks.c,
4397	langhooks.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
4398	ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
4399	rtlanal.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
4400	target.h, targhooks.c, toplev.h, tree-inline.c,
4401	unwind-dw2-fde.h, unwind-pe.h, unwind.h, varray.c, varray.h:
4402	Update copyright.
4403
44042004-01-23  Bob Wilson  <bob.wilson@acm.org>
4405
4406	* config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
4407	separate real and imaginary parts.
4408	* config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
4409
44102004-01-23  Richard Henderson  <rth@redhat.com>
4411
4412	PR opt/12941
4413	* combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
4414	(simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
4415	if SHIFT_COUNT_TRUNCATED is set.
4416
44172004-01-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4418
4419	* fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
4420	(alpha___extern_prefix_sys_stat): ... this.
4421	Apply to <sys/mount.h>, too.
4422	Tweak to match more variations.
4423	* fixinc/tests/base/sys/stat.h: Adapt for new hackname.
4424
4425	* fixinc/inclhack.def (alpha___extern_prefix,
4426	alpha___extern_prefix_standards): New hacks to obey
4427	__PRAGMA_EXTERN_PREFIX.
4428	* fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
4429	test.
4430	* fixinc/tests/base/standards.h: Likewise.
4431
4432	* fixincl/inclhack.def (alpha_pthread): Tweak to match more
4433	variations.
4434	New testcase.
4435	* fixinc/tests/base/pthread.h: Handle it.
4436
4437	* fixinc/fixincl.x: Regenerate.
4438
44392004-01-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4440
4441	* fixinc/inclhack.def (bad_lval): Renamed to ...
4442	(alpha_bad_lval): ... this.
4443	Removed file list.
4444	Restrict to alpha*-dec-osf*.
4445	* fixinc/fixincl.x: Regenerate.
4446	* fixinc/tests/base/libgen.h: Remove, moving test ...
4447	* fixinc/tests/base/testing.h: ... here, reflecting new name.
4448
44492004-01-23  Ian Lance Taylor  <ian@wasabisystems.com>
4450
4451	* doc/invoke.texi (Optimize Options): Note that --param arguments
4452	are subject to change without notice.
4453
44542004-01-23  Zack Weinberg  <zack@codesourcery.com>
4455
4456	PR c/13814
4457	* c-decl.c (diagnose_mismatched_decls): Also discard a
4458	built-in if we encounter an old-style definition with the
4459	same name.
4460
44612004-01-23  Jakub Jelinek  <jakub@redhat.com>
4462
4463	* config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
4464	set to default{32,64}.
4465
44662004-01-21  Jakub Jelinek  <jakub@redhat.com>
4467
4468	* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
4469	[!__powerpc64__]: Corrected to handle kernels with changed ucontext.
4470
44712003-11-30  Jan Hubicka  <jh@suse.cz>
4472
4473	* i386.c (ix86_emit_restore_regs_using_mov):  Deal with large offsets.
4474
44752004-01-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
4476
4477	* config/sparc/sparc.c (scan_record_type): New function.
4478	(function_arg_slotno): Use it to determine which kinds of
4479	registers the record can be passed in.
4480
44812004-01-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4482
4483	* configure.ac (enable_werror): Fixed typo.
4484	* configure: Regenerate.
4485
44862004-01-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4487
4488	* config.gcc (mips-sgi-irix6*o32): Removed.
4489	* config/mips/iris6-o32-as.h: Likewise.
4490	* config/mips/iris6-o32-gas.h: Likewise.
4491	* config/mips/iris6-o32.h: Likewise.
4492
44932004-01-22  Bob Wilson  <bob.wilson@acm.org>
4494
4495	* config/xtensa/xtensa.c (function_arg): Generalize logic so that it
4496	handles complex and vector modes.
4497
44982004-01-22  Daniel Jacobowitz  <drow@mvista.com>
4499
4500	* c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
4501	(genrtl_for_stmt): Remove emit_nop calls.
4502
45032004-01-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4504
4505	PR target/13713
4506	PR target/13324
4507	* pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
4508	movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
4509	clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
4510
45112004-01-22  Daniel Jacobowitz  <drow@mvista.com>
4512
4513	* config/arm/arm.c: Include "debug.h".
4514	(thumb_pushpop): Take two new arguments.  Add some commentary.
4515	Output frame information when pushing.
4516	(thumb_exit, thumb_unexpanded_epilogue): Update calls to
4517	thumb_pushpop.
4518	(thumb_output_function_prologue): Likewise.  Accumulate a CFA
4519	offset, and pass it to thumb_pushpop.  Output CFI information.
4520	(thumb_expand_prologue): Add some frame-related markers and notes.
4521
45222004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
4523
4524	* config/s390/s390.c (s390_frame_info): Allow large frame sizes
4525	for TARGET_64BIT.
4526	(s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
4527	* config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
4528
45292004-01-22  Kazu Hirata  <kazu@cs.umass.edu>
4530
4531	* doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
4532	macro need not be defined if jump-tables should contain
4533	relative addresses only when -fPIC or -fPIC is in effect.
4534
45352004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
4536
4537	* config/sparc/sparc.c (function_arg_slotno): Use
4538	FLOAT_TYPE_P to detect FP fields in structures.
4539	(function_arg_record_value_1): Likewise.
4540	(function_arg_record_value_2): Likewise.
4541
45422004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
4543
4544	PR target/13559
4545	* config/sparc/sparc.c (function_arg_record_value_3): Revert
4546	to 'word_mode' once the first slot has been filled.
4547
45482004-01-22  Olivier Hainque  <hainque@act-europe.fr>
4549
4550	* config/sparc/sparc.c (function_arg_record_value_1): Fix
4551	computation of the number of integer registers required.
4552
45532004-01-22  Hartmut Penner  <hpenner@de.ibm.com>
4554
4555	* gcc/config/rs6000/rs6000.c (function_arg) Handle
4556	vector register special in function without prototype.
4557	(function_arg_advance): Vector parameters get always
4558	GPRs allocated for the linux64 target.
4559
45602004-01-21  Andrew Pinski  <apinski@apple.com>
4561
4562	PR target/13785
4563	* config/rs6000/rs6000.md (call_value): Force operand
4564	1 not operand 0 into a register.
4565
45662004-01-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4567
4568	* pa-protos.h: Update copyright.
4569	* pa.h: Likewise.
4570	* pa.md: Likewise.
4571
4572	* fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3,
4573	ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time,
4574	ultrix_unistd): New hacks.
4575	* fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK,
4576	ULTRIX_CONST2_CHECK): Add checks.
4577	* fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise.
4578	* fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise.
4579	* fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise.
4580	* fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise.
4581	* fixinc/tests/base/locale.h: New file.
4582	* fixincl.x: Rebuilt.
4583
45842004-01-21  Andreas Jaeger  <aj@suse.de>
4585	    Michael Matz  <matz@suse.de>
4586
4587	* doc/extend.texi (Extended Asm): Clarify memory clobber.
4588
45892004-01-21  Zack Weinberg  <zack@codesourcery.com>
4590
4591	* c-decl.c (merge_decls): Kill different_binding_level and
4592	different_tu arguments; simplify throughout.
4593	(duplicate_decls): Likewise.
4594	(pushdecl, merge_translation_unit_decls): Update calls to
4595	duplicate_decls.
4596
45972004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
4598
4599	PR bootstrap/12730
4600	* configure.ac: Delete definition and subsitution of docdir.
4601	Add info, man, srcman and srcinfo to target hooks. Create doc/
4602	directory.
4603	* configure: Regenerate.
4604	* Makefile.in: Don't substitute docdir and delete all references
4605	throughout.
4606	(MAKEINFOFLAGS): Define.
4607	(stmp-docobjdir): Delete.
4608	(INFOFILES, MANFILES): Define.
4609	(info): Call lang.info, srcinfo and lang.srcinfo.
4610	(generated-manpages): Call lang.man, srcman and lang.srcman.
4611	(srcinfo, srcman): New rules to copy back files to source directory.
4612	(doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
4613	(install-man): Revamp rule.
4614	(clean): Update dvi directory.
4615	(distclean): Delete TAGS from front end directorys.
4616	(maintainer-clean): Delete all document files in source directory.
4617
4618	objc/Make-lang.in (objc.man, objc.info): Dummy entries.
4619	(objc.srcman, objc.srcinfo): Likewise.
4620
46212004-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4622
4623	* Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and
4624	$(SYSTEM_H).
4625	(print-rtl1.o): Depend on $(SYSTEM_H).
4626
46272004-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4628
4629	* pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
4630	* pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
4631	Likewise.  Handle frames larger than 0x7fffffff on 64-bit ports.
4632	(emit_move_sequence): Check scratch_reg first in various if statements.
4633	Extend source simplification to handle all 64-bit CONST_INTs.
4634	(pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
4635	frame size.
4636	(hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
4637	frame offset calculations.
4638	* pa.h (NEW_HP_ASSEMBLER): Add comment.
4639	(MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
4640	LEGITIMATE_64BIT_CONST_INT_P): Define.
4641	(LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P.  Treat
4642	any CONST_INT as legitimate during and after reload.
4643	(VAL_32_BITS_P, INT_32_BITS): Define.
4644	(LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
4645
46462004-01-21  Alan Modra  <amodra@bigpond.net.au>
4647
4648	* config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
4649	* dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
4650	* doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
4651
46522004-01-20  Geoffrey Keating  <geoffk@apple.com>
4653
4654	* alias.c (new_alias_set): Mark last_alias_set for PCH.
4655	(get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
4656	for PCH.
4657	(get_frame_alias_set): Likewise, except rename it to 'frame_set'.
4658	* config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
4659	(get_TOC_alias_set): Mark 'set' for PCH.
4660
46612004-01-20  Richard Sandiford  <rsandifo@redhat.com>
4662
4663	* config/mips/mips.c (mips_load_call_address): Make the call insn
4664	use $gp if it could be calling a lazy binding stub.
4665
46662004-01-20  Denis Chertykov  <denisc@overta.ru>
4667
4668	PR bootstrap/13735
4669	* config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
4670	register as pointer after reload.
4671
46722004-01-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
4673
4674	PR target/13557
4675	* config/sparc/sparc.c (function_arg): Reorder the cases.
4676
46772004-01-19  Kelley Cook  <kcook@gcc.gnu.org>
4678
4679	* Makefile.in (target_noncanonical, program_transform_name): Use
4680	immediate define instead of deferred.
4681	(GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
4682	PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
4683	GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
4684	deferred backquote.
4685
46862004-01-19  Richard Henderson  <rth@redhat.com>
4687
4688	* config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
4689	don't check memory mode.
4690	(unaligned_memory_operand): Likewise.
4691	(reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
4692	abort for op0 not MEM.
4693
4694	* config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
4695	is not a reg, copy to a scratch first.
4696	(aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
4697	unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
4698	unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
4699	(reload_inqi, reload_inhi): Fix mode of op0.
4700	(reload_inqi_help, reload_inhi_help, reload_outqi_help,
4701	reload_outhi_help): Likewise.  Use define_insn_and_split.
4702
4703	* config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
4704	as well as $29 dead.
4705
47062004-01-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
4707
4708	* config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New.  Emit
4709	"tls_object" for thread-local objects.
4710	* config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
4711	"#tls" for thread-local sections.
4712	* configure.ac (thread-local checks): Specify --fatal-warnings in
4713	every binutils-specific checks.  For sparc*-*-*, test whether the
4714	OS is Solaris and the tools are native and act accordingly.
4715	* configure: Rebuild.
4716
47172004-01-19  Jeff Law  <law@redhat.com>
4718
4719	* contrib.texi: Update Paolo Carlini's entry.  New entries for
4720	Jerry Quinn and Petur Runolfsson.
4721
47222004-01-19  Richard Henderson  <rth@redhat.com>
4723
4724	* alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
4725	* alpha.md (UNSPEC_NT_LDA): Remove.
4726	(UNSPEC_CVTLQ, cvtlq): New.
4727	(extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
4728	(extendsidi2_fix): Remove.
4729	(extendsidi2 splitter): Use cvtlq.
4730	(extendsidi2 fp peepholes): Remove.
4731	(cvtql): Use SFmode instead of SImode.
4732	(fix_trunc?fsi): Update to match.
4733	(floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
4734	(movsi): Rename from movsi_nofix, remove f alternatives.
4735	(movsi_nt_vms): Similarly.
4736	(movsi_fix, movsi_nt_vms_fix): Remove.
4737	(nt_lda): Remove.
4738	* alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
4739
47402004-01-19  Jan Hubicka  <jh@suse.cz>
4741
4742	* cgraph.c (cgraph_remove_node): Fix removal from linked list.
4743	* cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
4744	list.
4745	(cgraph_remove_unreachable_nodes): New function
4746	(cgraph_decide_inlining_of_small_function): Fix pasto.
4747	(cgraph_decide_inlining_incrementally): Fix pasto.
4748	(cgrpah_decide_inlining): Likewise; remove unreachable nodes.
4749
47502004-01-18  Roger Sayle  <roger@eyesopen.com>
4751
4752	* builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
4753	live "next" variable, which can lead to an infinite loop.
4754
47552004-01-18  Daniel Jacobowitz  <drow@mvista.com>
4756
4757	* final.c (final_scan_insn): Make non-static again.
4758	* output.h (final_scan_insn): Re-add prototype.
4759	* config/arc/arc.c (arc_output_function_epilogue): Add NULL
4760	to final_scan_insn call.
4761	* config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
4762	* config/mips/mips.c (mips_output_conditional_branch): Likewise.
4763	* config/pa/pa.c (output_lbranch, output_call): Likewise.
4764	* config/sh/sh.c (print_slot): Likewise.
4765	* config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
4766	(output_sibcall, sparc_flat_function_epilogue): Likewise.
4767
47682004-01-18  Jan Hubicka  <jh@suse.cz>
4769
4770	* basic-block.h (try_redirect_by_replacing_jump): Declare.
4771	* cfgcleanup.c (try_optimize_cfg): Use it.
4772	* cfgrtl.c (try_redirect_by_replacing_jump): Export.
4773	(rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
4774	Kill hack.
4775	(cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
4776
47772004-01-18  Andrew Pinski  <pinskia@physics.uc.edu>
4778
4779	* config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
4780	block.
4781
4782	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
4783	Check for NULL in the chain and remove repeated code.
4784
47852004-01-18  Jan Hubicka  <jh@suse.cz>
4786
4787	* coverage.c (checksum_string): Rename to ...
4788	(coverage_checksum_string): ... this one, Use crc32_string; recognize
4789	names containing random number and zero the number out in order to get
4790	match.
4791
47922004-01-18  Richard Sandiford  <rsandifo@redhat.com>
4793
4794	* config/mips/mips.c (mips_got_alias_set): Mark for PCH.
4795
47962004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
4797
4798	* doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
4799	doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
4800	doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
4801	doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
4802	doc/trouble.texi: Remove trailing whitespace.
4803
48042004-01-18  Richard Sandiford  <rsandifo@redhat.com>
4805
4806	PR target/7618
4807	* config/mips/mips.c: Include cfglayout.h.
4808	(TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
4809	(mips_unspec_offset_high): Add temporary register argument.
4810	(mips_load_call_address): New function, split out from...
4811	(mips_expand_call): ...here.
4812	(mips_output_cplocal): New function.
4813	(mips_output_function_prologue, mips_output_function_epilogue): Use it.
4814	(mips_emit_loadgp): New function, split out from...
4815	(mips_expand_prologue): ...here.
4816	(mips_output_mi_thunk): New function.
4817
48182004-01-17  Roger Sayle  <roger@eyesopen.com>
4819
4820	* builtins.c (expand_builtin_expect_jump): Fix mistake in my
4821	last patch.  Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
4822
48232004-01-17  Andrew Pinski  <pinskia@physics.uc.edu>
4824
4825	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
4826	Return type is unsigned int not int.
4827	* config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
4828	Likewise.
4829
48302004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
4831
4832	* doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
4833	doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
4834	"GNU/Linux" and "Microsoft Windows" terminology.
4835
48362004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
4837
4838	* doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
4839	doc/cppopts.texi, doc/extend.texi, doc/install.texi,
4840	doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
4841	doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
4842	@smallexample instead of @example.
4843
48442004-01-17  Ziemowit Laski  <zlaski@apple.com>
4845
4846	* objc/objc-act.c (build_objc_method_call): Use target
4847	hooks instead of macros to determine if ..._stret
4848	dispatchers should be used (NeXT runtime only).
4849
48502004-01-17  Daniel Jacobowitz  <drow@mvista.com>
4851
4852	* rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
4853	(emit_call_insn_before_sameloc, emit_insn_after_sameloc)
4854	(emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
4855	macros.
4856	* reload1.c (emit_reload_insns): Use them.
4857	* emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
4858	(emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
4859	for NULL PATTERN.
4860
48612004-01-17  Daniel Jacobowitz  <drow@mvista.com>
4862
4863	* final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
4864	(final_scan_insn): Update to take an additional SEEN argument.  Emit
4865	a line note after the prologue.  Make static.
4866	(line_note_exists): Remove.
4867	(final): Don't initialize line_note_exists.  Update call to
4868	final_scan_insn.
4869	* output.h (final_scan_insn): Remove prologue.
4870	* function.c (set_insn_locators): Update comment.
4871	(thread_prologue_and_epilogue_insns): Add a comment.
4872
48732004-01-17  Joseph S. Myers  <jsm@polyomino.org.uk>
4874
4875	* doc/invoke.texi, doc/standards.texi: Point to 3.4 version of
4876	c99status.html.
4877
48782004-01-17  Andrew Pinski  <pinskia@physics.uc.edu>
4879
4880	PR target/10781
4881	* config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
4882	Prototype.
4883	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
4884	New function.
4885	* config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
4886	* config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
4887	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
4888
48892004-01-17  Jan Hubicka  <jh@suse.cz>
4890
4891	* toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
4892	commit.
4893
4894	* toplev.c (HAVE_conditional_execution): Provide default.
4895	(rest_of_handle_reorder_blocks): For conditional_execution target
4896	update liveness once after all transformations
4897	(rest_of_compilation): Do crossjumping before ce3.
4898
48992004-01-17  J. Brobecker  <brobecker@gnat.com>
4900
4901	* dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
4902	Remove checks for is_ada() and TREE_UNSIGNED.
4903	(subrange_type_die): Emit a byte_size attribute if the subrange
4904	type size is different from the base type size.
4905	(modified_type_die): Replace call to is_ada_subrange_type() by
4906	call to is_subrange_type().
4907
49082004-01-16  Mark Mitchell  <mark@codesourcery.com>
4909
4910	* configure.ac: Do not do internal checking or -Werror by default.
4911	* configure: Regenerated.
4912
4913	* doc/include/gcc-common.texi (DEVELOPMENT): @clear it.
4914	* version.c (version_string): Mark as prerelease.
4915
49162004-01-16  Andrew Pinski  <pinskia@physics.uc.edu>
4917
4918	* config/sh/sh.c: Include ggc.h.
4919
49202004-01-17  Jan Hubicka  <jh@suse.cz>
4921
4922	* c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
4923	builtin_expect specially.
4924	* params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
4925	(PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
4926	* invoke.texi (max-inline-insns-single): Set to 100.
4927	(large-function-insns): Set to 3000.
4928
49292004-01-16  Jan Hubicka  <jh@suse.cz>
4930
4931	* i386.md (load_tp_di): Fix pasto.
4932
4933	PR opt/13608
4934	* i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
4935
4936	* c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
4937	pp_c_character_constant, pp_c_floating_constant,
4938	pp_c_additive_expression, pp_c_shift_expression,
4939	pp_c_equality_expression, pp_c_and_expression,
4940	pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
4941	pp_c_logical_and_expression): Remove inline modifier.
4942	* dwarf2out.c (get_AT): Likewise.
4943	* et-forest.c (et_splay): Likewise.
4944	* ra.h (ra_alloc, ra_calloc): Likewise
4945
49462004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
4947
4948	* config/frv/frv-protos.h: Fix comment formatting.
4949	* config/frv/frv.c: Likewise.
4950	* config/frv/frv.h: Likewise.
4951	* config/frv/frv.md: Likewise.
4952	* config/frv/frvbegin.c: Likewise.
4953	* config/frv/frvend.c: Likewise.
4954
49552004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
4956
4957	* system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
4958	* doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
4959	LINKER_DOES_NOT_WORK_WITH_DWARF2.
4960	(LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
4961
49622004-01-16  J"orn Rennecke <joern.rennecke@superh.com>
4963
4964	PR 11864
4965	* postreload.c (reload_cse_simplify_operands): Don't remove
4966	implicit extension from LOAD_EXTEND_OP.
4967
49682004-01-16  Jan Hubicka  <jh@suse.cz>
4969
4970	PR opt/11350
4971	* cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
4972	after reload.
4973	* cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
4974	rtl_try_redirect_by_replacing_branch): Likewise.
4975
49762004-01-15  Geoffrey Keating  <geoffk@apple.com>
4977
4978	PR pch/13689
4979	* alias.c (struct alias_set_entry): Mark for GC.
4980	(alias_sets): Make static, mark for GC.
4981	(record_alias_subset): Use GC to allocate alias structures.
4982	* varray.c (element): Make generic varrays GCed.
4983
4984	PR pch/13361
4985	* c-typeck.c (constructor_asmspec): Delete.
4986	(struct initializer_stack): Delete field 'asmspec'.
4987	(start_init): Delete saving of asmspec.
4988	(finish_init): Don't update constructor_asmspec.
4989	* dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
4990	* stmt.c (expand_asm): Duplicate strings from tree.
4991	(expand_asm_operands): Likewise.
4992	* tree.c (tree_size): Update computation of size of STRING_CST.
4993	(make_node): Don't make STRING_CST nodes.
4994	(build_string): Allocate string with tree node.
4995	* tree.def (STRING_CST): Update comment.
4996	* tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
4997	(tree_string): Place contents of string in tree node.
4998	* config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
4999	from tree.
5000
5001	* config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
5002	altivec operands.
5003
50042004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
5005
5006	* c-common.h: Fix comment formatting.
5007	* c-cppbuiltin.c: Likewise.
5008	* c-pragma.c: Likewise.
5009	* calls.c: Likewise.
5010	* collect2.c: Likewise.
5011	* cppcharset.c: Likewise.
5012	* cpptrad.c: Likewise.
5013	* dbxout.c: Likewise.
5014	* defaults.h: Likewise.
5015	* dwarf2out.c: Likewise.
5016	* fold-const.c: Likewise.
5017	* genautomata.c: Likewise.
5018	* genconditions.c: Likewise.
5019	* genflags.c: Likewise.
5020	* gengtype.c: Likewise.
5021	* integrate.c: Likewise.
5022	* loop.c: Likewise.
5023	* predict.c: Likewise.
5024	* sdbout.c: Likewise.
5025
50262004-01-15  Zack Weinberg  <zack@codesourcery.com>
5027
5028	* config/ia64/ia64.md (*movti_internal): C output template
5029	extracted to ia64.c.
5030	(*movti_internal_reg): Delete.
5031	(reload_inti, reload_outti): Use the correct mode on operand 2
5032	in the first place, don't fix it up in the output template.
5033	(movtf, reload_ointf, reload_outtf): New expanders.
5034	(*movtf_internal): New define_insn_and_split.
5035	* config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
5036	make static; do not hand TFmode CONST_DOUBLEs to split_double.
5037	(ia64_split_tmode_move): New function, body mostly pulled
5038	from ia64.md:*movti_internal.
5039	(ia64_function_arg_words): New function, extracted common
5040	logic from ia64_function_arg et seq.
5041	(ia64_function_arg_offset): Likewise.  Handle correctly the
5042	case of a scalar quantity 16 bytes wide with only 8-byte alignment.
5043	(ia64_function_arg, ia64_function_arg_partial_nregs)
5044	(ia64_function_arg_advance): Use ia64_function_arg_words and
5045	ia64_function_arg_offset.
5046	(ia64_function_value): TCmode does not go in float regs.
5047	(ia64_secondary_reload_class): Also handle TFmode.
5048	* config/ia64/ia64-protos.h: Remove prototype for
5049	ia64_split_timode; add prototype for ia64_split_tmode_move.
5050
50512004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
5052
5053	* Makefile.in (MAINT): Make it an immediate assignment.
5054
50552004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
5056
5057	* config/m32r/m32r.md: Remove useless calls to gen_lowpart.
5058
50592004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
5060
5061	* config/h8300/coff.h: Replace Hitachi with Renesas.
5062	* config/h8300/elf.h: Likewise.
5063	* config/h8300/h8300-protos.h: Likewise.
5064	* config/h8300/h8300.c: Likewise.
5065	* config/h8300/h8300.h: Likewise.
5066	* config/h8300/h8300.md: Likewise.
5067	* config/h8300/lib1funcs.asm: Likewise.
5068
50692004-01-15  Andrew Pinski  <apinski@apple.com>
5070
5071	* config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
5072	around it.
5073
50742004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
5075
5076	* config/h8300/h8300.c (h8300_return_in_memory): New.
5077	(TARGET_STRUCT_VALUE_RTX): Likewise.
5078	(TARGET_RETURN_IN_MEMORY): Likewise.
5079	* config/h8300/h8300.h (STRUCT_VALUE): Remove.
5080	(RETURN_IN_MEMORY): Likewise.
5081
50822004-01-15  Richard Earnshaw  <rearnsha@arm.com>
5083
5084	PR optimization/13375
5085	* gcse.c (handle_avail_expr): Just return if the source is not a
5086	single set.
5087
50882004-01-15  Richard Earnshaw  <rearnsha@arm.com>
5089	    Daniel Jacobowitz  <drow@mvista.com>
5090
5091	* arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
5092	(EQUIV): Define.
5093	(ARM_FUNC_ALIAS): New macro.
5094	* arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
5095	* arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
5096
50972004-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5098
5099	PR optimization/12372
5100	* calls.c (expand_call): Add call_fusage data for stack arguments in
5101	constant calls.
5102
51032004-01-15  Alan Modra  <amodra@bigpond.net.au>
5104
5105	* config/rs6000/rs6000.c (uses_TOC): Correct comment.  Make static.
5106	(rs6000_elf_declare_function_name): Formatting.
5107	* config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
5108
51092004-01-15  Jan Hubicka  <jh@suse.cz>
5110
5111	PR bootstrap/13692
5112	* sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
5113	previous patch.
5114
51152004-01-15  Richard Henderson  <rth@redhat.com>
5116
5117	* config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
5118	integer regs of the same call-savedness.
5119
51202004-01-15  Andreas Schwab  <schwab@suse.de>
5121
5122	PR bootstrap/13562
5123	* config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
5124	status for NOTB/NOTW/NEGW methods.
5125
51262004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
5127
5128	* doc/invoke.texi: Update dump file names.  Fix a typo.
5129
51302004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
5131
5132	* builtins.c (expand_builtin_va_end): Don't use
5133	EXPAND_BUILTIN_VA_END.
5134	* system.h (EXPAND_BUILTIN_VA_END): Poison.
5135	* config/d30v/d30v.h: Remove a commented-out definition of
5136	EXPAND_BUILTIN_VA_END.
5137	* config/stormy16/stormy16.h: Likewise.
5138
51392004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
5140
5141	* system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
5142	* targhooks.c (default_struct_value_rtx): Don't use
5143	STRUCT_VALUE_INCOMING_REGNUM.
5144
51452004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
5146
5147	PR bootstrap/12744
5148	* configure.in: Revamp enable-generated-files-in-srcdir rule to define
5149	GENINSRC and not parsedir.  Define srcextra as a langhook.
5150	* configure: Regenerate.
5151	* Makefile.in: Suppress default .l.c rule.  Don't substitute
5152	parsedir and delete all references throughout.  Conditionally define
5153	rule for srcextra dependent on GENINSRC.
5154	(stmp-docobjdir): Delete.
5155	(c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
5156	(srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
5157	and gengtype-yacc.h back to source directory.
5158	(maintainer-clean): Delete all parse files in source directory.
5159	(distclean): Delete generated files.
5160
5161	* objc/Make-lang.in (objc-parse.o): Use implicit build rule.
5162	(objc-parse.c, objc-parse.y): Don't use parsedir.
5163	(objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
5164	directory if requested.
5165	(po-generated): Don't use parsedir.
5166	(objc.maintainer-clean): Delete above files from source directory.
5167
51682004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
5169
5170	* doc/tm.texi (FUNCTION_VALUE): Fix a typo.
5171
51722004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
5173
5174	* doc/tm.texi: Replace RETURN_IN_MEMORY with
5175	TARGET_RETURN_IN_MEMORY.
5176
51772004-01-15  Jan Hubicka  <jh@suse.cz>
5178
5179	* builtins.c (std_expand_builtin_va_arg): Align operand when needed.
5180	* i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
5181	functions accepting SSE arguments
5182	(function_arg): Warn only when asked to warn.
5183	* i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
5184
51852004-01-14  Joseph S. Myers  <jsm@polyomino.org.uk>
5186
5187	* c-parse.in (stmts_and_decls): Make label at end of compound
5188	statement a hard error.
5189
51902004-01-14  Jan Hubicka  <jh@suse.cz>
5191
5192	* cgraph.c (create_edge): Use local.redefined_extern_inline.
5193	* cgraph.h (cgraph_local_info): Sort fields by size; add
5194	redefined_extern_inline
5195	(cgraph_global_info): Sort fields by size.
5196	(cgraph_node): Likewise.
5197	* cgraphunit.c (cgraph_finalize_function): Se
5198	local.redefined_extern_inline on redefinition.
5199	(cgraph_analyze_function): Use it; fix formating.
5200
52012004-01-14  Jan Hubicka  <jh@suse.cz>
5202
5203	PR c++/10776
5204	* sched-deps.c (trye_dependency_cache, anti_dependency_cache,
5205	outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
5206	bitmaps
5207	(cache_size): New variable
5208	(add_dependence): Update use; canonize early memory locations
5209	(sched_analyze_1): Likewise.
5210	(sched_analyze_2): Likewise.
5211	(init_dependency_caches): Initialize bitmaps.
5212	(free_dependency_caches): Free bitmaps
5213
52142004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
5215
5216	* calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
5217	targetm.calls.strict_argument_naming().
5218	* target.h: Likewise.
5219
52202004-01-14  Richard Henderson  <rth@redhat.com>
5221
5222	PR debug/13231
5223	* dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
5224	instructions.
5225
52262004-01-14  Richard Henderson  <rth@redhat.com>
5227
5228	PR c++/12491
5229	* except.c (struct eh_region): Add u.fixup.resolved.
5230	(resolve_one_fixup_region): Split out from ...
5231	(resolve_fixup_regions): ... here.
5232
52332004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
5234
5235	* config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
5236
52372004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
5238
5239	* config/alpha/alpha.h (STRUCT_VALUE): Remove.
5240	* config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
5241	(STRUCT_VALUE): Remove.
5242
52432003-01-14  Steven Bosscher  <stevenb@suse.de>
5244
5245	* system.h: Poison PROMOTED_MODE
5246	* integrate.c (expand_inline_function): Don't mention the
5247	PROMOTED_MODE.
5248	* loop.c (update_giv_derive): Same.
5249	* tree.h (DECL_RTL): Same.
5250
52512004-01-14  J"orn Rennecke <joern.rennecke@superh.com>
5252
5253	PR target/9365
5254	* sh.c (gen_block_redirect): Add special handling of RETURN.
5255	(gen_far_branch) Don't call gen_stuff_delay_slot if there is no
5256	far branch target (i.e. it's a return).
5257
52582004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
5259
5260	* regrename.c (find_oldest_value_reg): Fix a warning.
5261
52622004-01-14  Richard Earnshaw  <rearnsha@arm.com>
5263
5264	PR bootstrap/12527
5265	* config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
5266	Move linux-gas.h and linux-elf.h before aout.h.
5267	* arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
5268	* arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
5269
52702004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
5271
5272	* config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
5273	(CONST_INT, VOIDmode, ...).
5274
52752004-01-14  Richard Earnshaw  <rearnsha@arm.com>
5276
5277	* regrename.c (find_oldest_value_reg): If the replacement uses
5278	multiple hard registers, check that all of them are in CLASS.
5279
52802004-01-14  Jan Hubicka  <jh@suse.cz>
5281
5282	* alias.c (get_alias_set):  Initialize alias set to 0 when subset is
5283	impossible.
5284
52852004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
5286
5287	* Makefile.in: Define MAINT from --enable-maintainer-mode.
5288
52892004-01-14  Hartmut Penner  <hpenner@de.ibm.com>
5290
5291	* gcc/config/rs6000/rs6000.c (rs6000_stack_info)
5292	Calculate always vrsave_mask if TARGET_ALTIVEC.
5293	(rs6000_emit_prologue): Emit code for vrsave
5294	only if TARGET_ALTIVEC_VRSAVE.
5295	(rs6000_emit_epilogue): Likewise.
5296
52972004-01-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
5298
5299	* config/sparc/sparc.md (tie_add32): Fix pasto.
5300	(tie_add64): Likewise.
5301
53022004-01-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5303
5304	* config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
5305
53062004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
5307
5308	* config/iq2000/iq2000-protos.h: Fix comment formatting.
5309	* config/iq2000/iq2000.c: Likewise.
5310	* config/iq2000/iq2000.md: Likewise.
5311
53122004-01-14  J. Brobecker  <brobecker@gnat.com>
5313
5314	* dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
5315	(subrange_type_die): Add handle for nameless subrange types.
5316
53172004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
5318
5319	* config/h8300/h8300-protos.h: Replace do_movsi with
5320	h8300_expand_movsi.
5321	* config/h8300/h8300.c (do_movsi): Change to
5322	h8300_expand_movsi.
5323	* config/h8300/h8300.md (movsi): Replace do_movsi with
5324	h8300_expand_movsi.
5325	(movsf): Likewise.
5326
53272004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
5328
5329	* config/h8300/h8300.c (dosize): Change to
5330	h8300_emit_stack_adjustment.  Update callers.
5331
53322004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
5333
5334	* config/h8300/h8300.md (movstrictqi): Add an alternative with
5335	the source being post_inc.  Tighten the predicate for the
5336	destination to register_operand.
5337	(movstricthi): Likewise.
5338
53392004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
5340
5341	* system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
5342	* varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
5343	* doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
5344
53452004-01-14  Jan Hubicka  <jh@suse.cz>
5346
5347	Partial fix PR c++/12850
5348	* cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
5349	at zero nest level.
5350
53512004-01-13  Bernardo Innocenti  <bernie@develer.com>
5352
5353	* config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
5354	pseudo-register.
5355
53562004-01-13  Devang Patel <dpatel@apple.com
5357
5358	PR debug/7078
5359	* dbxout.c (dbxout_symbol_name): Emit mangled names for
5360	NAMESPACE_DECL memebers.
5361
53622004-01-13  Andrew Pinski  <pinskia@physics.uc.edu>
5363
5364	PR c++/12709
5365	* c-common.c (finish_fname_decls): Use the chain only if the
5366	tree is an expr_stmt.
5367
53682004-01-13  Vladimir Makarov  <vmakarov@redhat.com>
5369
5370	* rtl.def: Add comment about new option in automata_option.
5371
5372	* genautomata.c (PROGRESS_OPTION): New macro.
5373	(progress_flag): New global variable.
5374	(gen_automata_option): Process `progress'.
5375	(transform_insn_regexps, check_unit_distributions_to_automata,
5376	make_automaton, NDFA_to_DFA, build_automaton, create_automata,
5377	expand_automata, write_automata): Print about the progress only if
5378	progress_flag.  Remove fflush.
5379	(initiate_automaton_gen): Process command line flag `-progress'.
5380
5381	* doc/md.texi: Describe the new option.
5382
53832004-01-13  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5384
5385	* cfg.c (dump_bb): Dump entry edges.
5386
53872004-01-13  Richard Earnshaw  <rearnsha@arm.com>
5388
5389	* arm.c (thumb_legitimate_address_p): Only allow constant pool
5390	references from SImode.
5391	* arm.md (thumb_movhi_insn): Don't allow minipool references.
5392
53932004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
5394
5395	* system.h (TEXT_SECTION): Poison.
5396	* varasm.c (text_section): Don't use TEXT_SECTION.
5397	* config/sh/sh.c (sh_file_start): Fix a comment typo.
5398	* doc/tm.texi (TEXT_SECTION): Remove.
5399
54002004-01-13  Ben Elliston  <bje@wasabisystems.com>
5401
5402	* doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
5403
54042004-01-12  James E Wilson  <wilson@specifixinc.com>
5405
5406	* unwind-libunwind.c: Delete.
5407
54082004-01-12  Zack Weinberg  <zack@codesourcery.com>
5409
5410	PR 13656
5411	* c-decl.c (diagnose_mismatched_decls): Whenever newtype or
5412	oldtype is set, set *newtypep or *oldtypep too.  Do not set
5413	them at the very end.
5414	(validate_proto_after_old_defn): Restructure for comprehensibility;
5415	make error messages clearer.
5416
54172004-01-12  Zack Weinberg  <zack@codesourcery.com>
5418
5419	* varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
5420	(VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
5421	* varray.c: No need to prototype error.
5422	(varray_check_failed): Wrap long string onto two lines.
5423	(varray_underflow): New function.
5424
54252004-01-13  Steven Bosscher  <stevenb@suse.de>
5426
5427	PR c++/13376
5428	* function.h (struct function): Kill `name' field.
5429	(current_function_name): Make it an extern function.
5430	* function.c (current_function_name): New function.
5431	* graph.c: Update all uses of current_function_name.
5432	* gcse.c: Likewise.
5433	* config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
5434	config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
5435	* config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
5436	instead of a strcmp with "main".
5437
54382004-01-13  Jan Hubicka  <jh@suse.cz>
5439
5440	* c-decl.c (diagnose_mismatched_decls):  Fix warning calls.
5441
5442	* cgraphunit.c (cgraph_optimize_function):  Always do
5443	optimize_inline_calls when there is always_inline callee.
5444	(cgraph_decide_inlining): Fix formating.
5445	* tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
5446	functions.
5447	(expand_call_inline): Likewise.
5448	* toplev.h (sorry): Fix prototype.
5449
54502004-01-12  Roger Sayle  <roger@eyesopen.com>
5451
5452	* builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
5453	conditional jumps that drop through to unconditional jumps or the
5454	end of the sequence.
5455
54562004-01-13  Jan Hubicka  <jh@suse.cz>
5457
5458	* alias.c (new_alias_set): Construct the alias_set varray.
5459	(init_alias_once): Don't do it here.
5460
54612004-01-12  Marc Espie <espie@openbsd.org>
5462
5463	* system.h: handle YYBYACC like YYBISON.
5464
54652004-01-12  Jonathan Merriman <jonm@dualitymedia.com>
5466
5467	PR target/10847
5468	* config.gcc: No longer includes conflicting header sparc/sol2.h when
5469	building on sparc64-*-openbsd*.
5470
54712004-01-12  Andrew Pinski  <pinskia@physics.uc.edu>
5472
5473	PR debug/13539
5474	* dbxout.c (dbxout_type): Protected inheritance is not
5475	private but protected.
5476
54772004-01-12  Richard Sandiford  <rsandifo@redhat.com>
5478
5479	* config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
5480
54812004-01-12  Kazu Hirata  <kazu@cs.umass.edu>
5482
5483	PR optimization/12508.
5484	* combine.c (try_combine): Remove a dead set in a parallel
5485	even if its destination is a subreg.
5486
5487	Revert:
5488	2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
5489	* combine.c (simplify_set): Don't move a subreg in SET_SRC to
5490	SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
5491
54922004-01-12  Geoffrey Keating  <geoffk@apple.com>
5493
5494	* real.c: Update copyright date.
5495	* emit-rtl.c: Likewise.
5496	* rtl.h: Likewise.
5497	* dwarf2out.c: Likewise.
5498	* config/rs6000/darwin-ldouble.c: Likewise.
5499	* config/rs6000/rs6000.md: Likewise.
5500
55012004-01-12  David Edelsohn  <edelsohn@gnu.org>
5502
5503	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
5504	TFmode to SImode libfuncs.
5505
55062004-01-12  Roger Sayle  <roger@eyesopen.com>
5507
5508	PR middle-end/11397
5509	* varasm.c (assemble_alias): Remove weak aliases from weak_decls.
5510
55112004-01-12  Jan Hubicka  <jh@suse.cz>
5512
5513	PR opt/12826
5514	* loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
5515	stored.
5516
5517	PR opt/12863
5518	* cfgcleanup.c (label_is_jump_target_p): Move to...
5519	* rtlanal.c (label_is_jump_target_p): ... here.
5520	* cfgrtl.c (cfg_layout_redirect_edge_and_branch):  Fix redirecting of fallthru
5521	edges unified with branch edges.
5522
55232004-01-12  Richard Earnshaw  <rearnsha@arm.com>
5524
5525	* simplify-rtx.c (simplify_immed_subreg): Correctly extract the
5526	high word of an integral CONST_DOUBLE.
5527
55282004-01-12  Paul Brook  <paul@codesourcery.com>
5529
5530	* simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
5531
55322004-01-12  J"orn Rennecke <joern.rennecke@superh.com>
5533
5534	PR target/13585
5535	* sh-protos.h (check_use_sfunc_addr): Declare.
5536	* sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
5537	* sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
5538
55392004-01-12  Jan Hubicka  <jh@suse.cz>
5540
5541	* alias.c:  Invlude varray.h
5542	(alias_sets): Turn into varray.
5543	(get_alias_set_entry): Use VARRAY; mark inline.
5544	(mems_in_disjoint_alias_sets_p): Mark inline.
5545	(record_alias_subset): Use varray.
5546	(init_alias_once): Initialize varray.
5547	(new_alias_set): Grow array.
5548	* varray.c: Make VARRAY_GENERIC_PTR non GTYized.
5549
55502004-01-12  Jan Hubicka  <jh@suse.cz>
5551
5552	Partial fix for PR opt/10776 II
5553	* cselib.c: Include params.h
5554	(cselib_invalidate_mem):  Limit amount of nonconflicting memory
5555	locations.
5556	* params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
5557	* Makefile.in (cselib.o): Depend on params.h
5558
55592004-01-12  Richard Sandiford  <rsandifo@redhat.com>
5560
5561	* combine.c (combine_simplify_rtx): Don't pass VOIDmode to
5562	simplify_unary_operation if the operand has a known mode.
5563
55642004-01-12  Hartmut Penner  <hpenner@de.ibm.com>
5565
5566	PR target/13534
5567	* gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
5568	predicate to handle 'ld' conform addresses.
5569	* gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
5570	contraint.
5571	(EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
5572	are memory contraints.
5573	* gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
5574	New prototype.
5575	* gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
5576	Change 'o' to 'Y' constraint.
5577	(*movdf_softfloat64): Ditto.
5578
55792004-01-12  Bernardo Innocenti  <bernie@develer.com>
5580
5581	* gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the
5582	brace-enclosed syntax in all C output statements.
5583
55842004-01-12  David Edelsohn  <edelsohn@gnu.org>
5585
5586	PR target/13401
5587	* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
5588	Objective-C language type value is 14.
5589
55902004-01-12  Markus F.X.J. Oberhumer  <markus@oberhumer.com>
5591
5592	PR c/12148
5593	* config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
5594	`int' in a number of places to make sure we always have a SImode
5595	and not a HImode.  Add a 'L' suffix to a number of constants.
5596
55972004-01-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5598
5599	* pa.c: Don't include obstack.h.
5600
5601	* pa.md: Correct constraint in pattern for loading PIC label address.
5602
56032004-01-11  Kaz Kojima  <kkojima@gcc.gnu.org>
5604
5605	* config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
5606	 before defining.
5607
56082004-01-11  Steven Bosscher  <stevenb@suse.de>
5609
5610	PR fortran/9972
5611	* toplev.c (rest_of_handle_inline): Also consider functions
5612	for deferral if the language is GNU F77.
5613
56142004-01-11  Zack Weinberg  <zack@codesourcery.com>
5615
5616	* c-decl.c (diagnose_arglist_conflict): Add missing space to
5617	diagnostic messages.
5618
56192004-01-11  Jakub Jelinek  <jakub@redhat.com>
5620
5621	PR middle-end/13392
5622	* builtins.c (expand_builtin_expect_jump): Handle conditional jumps
5623	to drop through label.  Don't fall back to SCC even when conditional
5624	jump has not been found.
5625
56262004-01-11  Jan Hubicka  <jh@suse.cz>
5627
5628	* invoke.texi: Fix syntax error in previous patch.
5629
5630	Partial fix for PR opt/10776
5631	* Makefile.in (reload.o): Include param.h
5632	* params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
5633	* reload.c: Include params.h.
5634	(find_equiv_reg): Work limiting check.
5635	* invoke.texi: Document.
5636
56372004-01-11  Richard Sandiford  <rsandifo@redhat.com>
5638
5639	* config/mips/mips.c (mips_symbolic_constant_p): Don't allow
5640	out-of-bounds accesses to string constants.  Simplify mips16
5641	case accordingly.
5642
56432004-01-11  Richard Sandiford  <rsandifo@redhat.com>
5644
5645	PR optimization/13469
5646	* toplev.c (rest_of_compilation): Call purge_all_dead_edges after
5647	reload_cse_regs (-fnon-call-exceptions only).
5648
56492004-01-11  Kazu Hirata  <kazu@cs.umass.edu>
5650
5651	* config/mcore/lib1.asm: Fix comment formatting.
5652	* config/mcore/mcore-elf.h: Likewise.
5653	* config/mcore/mcore.c: Likewise.
5654	* config/mcore/mcore.h: Likewise.
5655	* config/mcore/mcore.md: Likewise.
5656
56572004-01-10  Zack Weinberg  <zack@codesourcery.com>
5658
5659	* c-decl.c (duplicate_decls): Break apart into...
5660	(diagnose_arglist_conflict, validate_proto_after_old_defn)
5661	(locate_old_defn, diagnose_mismatched_decls, merge_decls):
5662	... these new functions.  Restructure for comprehensibility.
5663	Remove various archaic special cases.  Always report the
5664	location of the previous declaration when a diagnostic is issued.
5665	(redeclaration_error_message): Fold into diagnose_mismatched_decls.
5666	(match_builtin_function_types): Delete unnecessary forward declaration.
5667
56682004-01-10  Zack Weinberg  <zack@codesourcery.com>
5669
5670	* genautomata.c (make_automaton, NDFA_to_DFA):
5671	Print progress bars with '.' characters instead of '*'.
5672	(build_automaton): Change notes to match.
5673
56742004-01-10  Kazu Hirata  <kazu@cs.umass.edu>
5675
5676	* config/m32r/m32r.md: Use define_constants for unspec and
5677	unspec_volatile.
5678
56792004-01-10  Jan Hubicka  <jh@suse.cz>
5680
5681	PR opt/11635
5682	* expr.c (expand_expr_real):  More curefully expand union casts.
5683
56842004-01-10  Kazu Hirata  <kazu@cs.umass.edu>
5685
5686	* config/m32r/m32r.md (flush_icache): Use 1 for
5687	unspec_volatile.
5688
56892004-01-10  David Edelsohn  <edelsohn@gnu.org>
5690	    James E Wilson  <wilson@specifixinc.com>
5691
5692	PR debug/12860
5693	* dbxout.c (dbxout_symbol): Remove initialization of
5694	current_sym_code, current_sym_value, and current_sym_addr.
5695	(dbxout_symbol_location): Same.
5696	(dbxout_prepare_symbol): Zero current_sym_code,
5697	current_sym_value, and current_sym_addr.
5698
56992004-01-10  Richard Sandiford  <rsandifo@redhat.com>
5700
5701	* tree.c (get_unwidened): Reorder conditions so that the null pointer
5702	check is done first.
5703
57042004-01-09  Eric Christopher  <echristo@redhat.com>
5705
5706	* toplev.c (rest_of_handle_cfg): Add reg_scan pass
5707	if we're running mark_constant_function.
5708
57092004-01-09  Jeff Bailey  <jbailey@nisa.net>
5710
5711	PR target/12561
5712	* config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
5713
57142004-01-09  Andrew Pinski <pinskia@physics.uc.edu>
5715
5716	PR debug/11231
5717	* dbxout.c (dbxout_type_fields): Return if any item is
5718	error_mark_node or the type is error_mark_node.
5719
57202004-01-09  Geoffrey Keating  <geoffk@apple.com>
5721
5722	* config/rs6000/darwin-ldouble.c: Add big comment explaining
5723	exactly what is expected as a 'long double'.
5724	(_xlqadd): When a value to be returned is representable as a
5725	'double', just return it directly, do not construct it using a union.
5726	Also, correct final fixup.
5727	(_xlqmul): Likewise.
5728	(_xlqdiv): Likewise.
5729	* real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
5730
5731	* config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
5732
57332004-01-09  Richard Henderson  <rth@redhat.com>
5734
5735	* recog.c (constrain_operands): Validate mem operands.
5736
57372004-01-09   James E Wilson  <wilson@specifixinc.com>
5738
5739	* gcc.c (init_spec): Remove -lunwind from shared case.
5740	* conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
5741
57422004-01-09  Steve Ellcey  <sje@cup.hp.com>
5743
5744	* configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
5745	* configure: Regenerate
5746
57472004-01-09  Joseph S. Myers  <jsm@polyomino.org.uk>
5748
5749	PR c/11234
5750	* c-typeck.c (build_c_cast): If pedantic, warn for conversions
5751	between function and object pointers.
5752	(digest_init): When comparing a pointer to function type to the
5753	target type, only apply TREE_TYPE once to the pointer to function
5754	type.
5755	* except.c (for_each_eh_label_1): Treat data as a pointer to a
5756	function pointer rather than casting it to a function pointer.
5757	(for_each_eh_label): Update caller.
5758	* recog.h (struct insn_data): Use a struct or union for output.
5759	* genoutput.c (output_insn_data): Update.
5760	* final.c (get_insn_template): Update.
5761
57622004-01-09  Mark Mitchell  <mark@codesourcery.com>
5763
5764	* expr.h (expand_expr): Make it a macro, not a function.
5765	(expand_expr_real): New function.
5766	* expr.c (store_expr): Adjust logic for deciding whether or not to
5767	copy the value returned by expand_expr.
5768	(expand_expr): Rename to ...
5769	(expand_expr_real): ... this.  Add alt_rtl parameter.  Adjust
5770	calls to language hooks.
5771	* c-common.h (c_expand_expr): Adjust prototype.
5772	* c-common.c (c_expand_expr): Add alt_rtl parameter.
5773	* langhooks-def.h (lhd_expand_expr): Change prototype.
5774	* langhooks.c (lhd_expand_expr): Add all_rtl parameter.
5775	* langhooks.h (lang_hooks): Change type of expand_expr.
5776	* stmt.c (stmt_status): Add x_last_expr_alt_rtl.
5777	(last_expr_alt_rtl): Likewise.
5778	(expand_expr_stmt_value): Set last_expr_alt_rtl.
5779	(clear_last_expr): Clear it.
5780	(expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
5781	(expand_end_bindings): Save and restor last_expr_alt_rtl.
5782	* tree.def (RTL_EXPR): Give it an additional operand.
5783	* tree.h (RTL_EXPR_ALT_RTL): New macro.
5784
57852004-01-09  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
5786
5787	* config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
5788	* config/m32r/m32r.c (call26_operand): Allow in PIC mode.
5789
57902004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5791
5792	PR target/13380.
5793	* config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
5794	or (ne:SI (reg:CC 17) (const_int 0)).
5795	Be specific about modes wherever possible.
5796
57972004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5798
5799	* config/m32r/m32r.c (m32r_expand_block_move): Call
5800	gen_movestrsi_internal with two more arguments.
5801	(m32r_output_block_move): Adjust operand numbers.
5802	Properly update the source and destination pointers.
5803	* config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
5804	'r+'.  Change the set detinations to match_operand.
5805
58062004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5807
5808	* final.c (FIRST_INSN_ADDRESS): Remove.
5809	(shorten_branches): Don't use FIRST_INSN_ADDRESS.
5810	* system.h (FIRST_INSN_ADDRESS): Poison.
5811	* config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
5812	* config/m32r/m32r-protos.h: Remove the prototype for
5813	m32r_first_insn_address.
5814	* config/m32r/m32r.c (m32r_first_insn_address): Remove.
5815	* config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
5816	* doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
5817
58182004-01-09  J. Brobecker  <brobecker@gnat.com>
5819
5820	* dwarf2out.c (gen_enumeration_type_die): Return the DIE that
5821	we just created.
5822	(is_ada_subrange_type): DIEs for enumeration subtypes should be
5823	emitted as subrange types too.
5824	(subrange_type_die): Add handling of enumeration subtypes.
5825
58262004-01-08  Richard Henderson  <rth@redhat.com>
5827
5828	PR opt/12441
5829	Revert: Sat Mar 30 14:08:55 CET 2002  Jan Hubicka  <jh@suse.cz>
5830	* i386.c (aligned_operand): Be prepared for SUBREGed registers.
5831	(ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
5832	(ix86_address_cost): Be prepared for SUBREGed registers.
5833	(legitimate_address_p): Accept SUBREGed registers.
5834
58352004-01-08  Kelley Cook  <kcook@gcc.gnu.org>
5836
5837	* Makefile.in: Rename configure.in to configure.ac
5838	* doc/sourcebuild.texi: Likewise.
5839	* configure: Regenerate.
5840	* config.in: Regenerate.
5841
58422004-01-08  Stuart Hastings  <stuart@apple.com>
5843
5844	* config/i386/i386.md: Typos in MMX/SSE immediate shifts.
5845
58462004-01-08  Jan Hubicka  <jh@suse.cz>
5847
5848	* cgraphunit.c (cgraph_decide_inlining):  Fix typo.
5849
58502004-01-08  Geoffrey Keating  <geoffk@apple.com>
5851
5852	* config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
5853	(UNSPEC_FIX_TRUNC_TF): New constant.
5854	(movtf_internal): Make splitter active only when insn is active.
5855	(extenddftf2): Rewrite to properly load zero into low part.
5856	(extenddftf2_internal): New.
5857	(extendsftf2): Rewrite.
5858	(truncdftf2): Correct length.
5859	(floatditf2): Delete.
5860	(fix_trunc_helper): New.
5861	(fix_trunctfdi2): Use fix_trunc_helper.
5862	(fix_trunctfsi2): Likewise.fix_trunc
5863	(fix_trunctfsi2_internal): New.
5864
5865	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
5866	addresses are legitimate on Darwin even when flag_pic.
5867	(rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
5868	non-offsettable addresses for loads of TFmode constants.
5869
58702004-01-08  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
5871
5872	* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
5873	variables in the appropriate bss section.
5874
58752004-01-09  Alan Modra  <amodra@bigpond.net.au>
5876
5877	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
5878	target_flags has MASK_POWERPC64 when -m64.
5879	* config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
5880	to 620, 630, power3, power4 and rs64a entries.
5881	* config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
5882
58832004-01-08  Richard Sandiford  <rsandifo@redhat.com>
5884
5885	* simplify-rtx.c (simplify_immed_subreg): Fix construction of
5886	floating-point constants.
5887
58882004-01-08  J. Brobecker  <brobecker@gnat.com>
5889
5890	* dwarf2out.c (subrange_type_die): Add context_die parameter.
5891	Create the subrange_type DIE using the given context DIE.
5892	(modified_type_die): Update call to subrange_type_die.
5893
58942004-01-08  Zack Weinberg  <zack@codesourcery.com>
5895
5896	* dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
5897	Add multiple-include guard.
5898
58992004-01-08  Hartmut Penner  <hpenner@de.ibm.com>
5900
5901	* gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept
5902	all vector constant loadable by vsplt*.
5903	(output_vec_const_move): Likewise.
5904
59052004-01-07  Joseph S. Myers  <jsm@polyomino.org.uk>
5906
5907	PR c/6024
5908	* c-typeck.c (comptypes): Only treat enumerated types in the same
5909	translation unit as compatible with each other when they are the
5910	same type.
5911	* doc/extend.texi: Update.
5912
59132004-01-07  Joseph S. Myers  <jsm@polyomino.org.uk>
5914
5915	PR c/12165
5916	* c-decl.c (grokdeclarator): Take type qualifiers of typedefed
5917	array type from the array element type.
5918
59192004-01-07  Alan Modra  <amodra@bigpond.net.au>
5920
5921	* config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
5922	* config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
5923	* config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
5924	(DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
5925	* config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
5926
59272004-01-06  Eric Christopher  <echristo@redhat.com>
5928
5929	* config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
5930	(DWARF2_DEBUGGING_INFO): Define.
5931	(PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
5932	* config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
5933	* config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
5934	for irix as.
5935	(SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
5936	* config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
5937	* config/mips/iris5gas.h: Ditto.
5938	(DBX_DEBUGGING_INFO): Remove.
5939	(DWARF2_DEBUGGING_INFO): Ditto.
5940	(MIPS_DEBUGGING_INFO): Ditto.
5941	(PREFERRED_DEBUGGING_TYPE): Ditto.
5942	* config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
5943	(PREFERRED_DEBUGGING_TYPE): Ditto.
5944	(SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
5945	* config/mips/elf64.h: Ditto.
5946
59472004-01-06  Jan Hubicka  <jh@suse.cz>
5948
5949	* Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
5950	(STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
5951
59522004-01-06  Geoffrey Keating  <geoffk@apple.com>
5953
5954	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
5955	(TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
5956	* config/rs6000/darwin-ldouble.c: New.
5957
5958	* emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
5959	for constants.
5960	(constant_subword): Delete.
5961	* rtl.h (constant_subword): Delete prototype.
5962	(immed_double_const): Is not in varasm.c.
5963	* simplify-rtx.c (simplify_immed_subreg): New.
5964	(simplify_subreg): Use simplify_immed_subreg.
5965
5966	* config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
5967	than trying to generate RTL directly.
5968	(fix_trunctfsi2): Use expand_fix rather than trying to generate
5969	RTL directly.
5970
5971	* dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
5972
59732004-01-06  David Edelsohn  <edelsohn@gnu.org>
5974
5975	* config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
5976	function into a separate macro.
5977	(read_only_data_section): Add void argument.
5978	(private_data_section): Same.
5979	(read_only_private_data_section): Same.
5980	(toc_section): Same.
5981
59822004-01-06  Jan Hubicka  <jh@suse.cz>
5983
5984	* invoke.texi:  Remove typo in last change.
5985
5986	PR target/10301
5987	* config.gcc: Accept opteron and athlon-64 as variants
5988	of k8.
5989	* i386.c (override_options): Likewise.
5990	* invoke.texi (i386 -mtune): Expand documentation.
5991
59922004-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5993
5994	* alias.c: Fix comment typos.
5995	* builtins.c: Likewise.
5996	* cfg.c: Likewise.
5997	* df.c: Likewise.
5998	* dominance.c: Likewise.
5999	* dwarf2out.c: Likewise.
6000	* emit-rtl.c: Likewise.
6001	* expr.c: Likewise.
6002	* final.c: Likewise.
6003	* fold-const.c: Likewise.
6004	* gcse.c: Likewise.
6005	* genattrtab.c: Likewise.
6006	* genrecog.c: Likewise.
6007	* gensupport.c: Likewise.
6008	* ggc-zone.c: Likewise.
6009	* integrate.c: Likewise.
6010	* local-alloc.c: Likewise.
6011	* loop.c: Likewise.
6012	* recog.c: Likewise.
6013	* regmove.c: Likewise.
6014	* reg-stack.c: Likewise.
6015	* reorg.c: Likewise.
6016	* rtlanal.c: Likewise.
6017	* rtl.h: Likewise.
6018	* sched-ebb.c: Likewise.
6019	* simplify-rtx.c: Likewise.
6020	* toplev.c: Likewise.
6021	* varasm.c: Likewise.
6022
60232004-01-06  Kazu Hirata  <kazu@cs.umass.edu>
6024
6025	* doc/install.texi: Fix typos.
6026	* doc/invoke.texi: Likewise.
6027	* doc/md.texi: Likewise.
6028
60292004-01-06  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
6030
6031	* config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
6032
60332004-01-06  Jan Hubicka  <jh@suse.cz>
6034
6035	* i386.c (init_cumulative_args):  Add handling of MMX_REGPARM.
6036	(function_arg_advance):  Do not pass aggregates in SSE; deal handling
6037	of MMX_REGPARM.
6038	(function_arg): Add new warnings about ABI changes;  fix SSE_REGPARM;
6039	add MMX_REGPARM.
6040	* i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
6041	(SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
6042	(MMX_REGPARM_MAX): Similarly for -mmmx.
6043
60442004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
6045
6046	* config/sh/linux.h: Fix comment formatting.
6047	* config/sh/netbsd-elf.h: Likewise.
6048	* config/sh/sh.c: Likewise.
6049	* config/sh/sh.h: Likewise.
6050	* config/sh/vxworks.h: Likewise.
6051
60522004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
6053
6054	* system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
6055	* toplev.c (output_file_directive): Don't use
6056	ASM_OUTPUT_MAIN_SOURCE_FILENAME.
6057
60582004-01-05  Steven Bosscher <s.bosscher@student.tudelft.nl>
6059
6060	* toplev.c: Fix broken checkin of 2003-12-30.
6061
60622004-01-05  Daniel Berlin  <dberlin@dberlin.org>
6063
6064	* ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
6065	(USING_MMAP): We don't support non-mmap.
6066	(struct alloc_chunk): Steal 1 bit from typecode, use it to mark
6067	large objects.
6068	(struct page_entry): Remove bytes_free.
6069	(struct page_table_chain): Remove.
6070	(struct globals): Remove page_table member.
6071	(loookup_page_table_entry): Function deleted.
6072	(set_page_table_entry): Ditto.
6073	(ggc_allocated_p): No longer need page table lookups.
6074	(ggc_marked_p): Ditto.
6075	(alloc_small_page): Don't care about bytes_free anymore.
6076	(alloc_large_page): Round up size.
6077	(ggc_alloc_zone_1): Mark large objects as such, and calculate
6078	their size the new way.
6079	Remove page table lookups and setting.
6080	(ggc_get_size): Calculate large object size the new way.
6081	(sweep_pages): Redo to account for fact that we no longer have
6082	bytes_free.
6083	(ggc_collect): No longer need to reincrement bytes_free.
6084	(ggc_pch_alloc_object): Handle new large objects properly.
6085	(ggc_pch_read): Put PCH stuff into it's own uncollected zone.
6086
60872004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
6088
6089	* doc/invoke.texi: Remove a page break.
6090
60912004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
6092
6093	* config/avr/avr.c (avr_output_function_prologue): Remove an
6094	extra pair of curly braces.
6095
60962004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
6097
6098	* config/mn10300/mn10300.c: Fix comment formatting.
6099	* config/mn10300/mn10300.h: Likewise.
6100
61012004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6102
6103	* tree.h: Update documentation on nothrow_flag.
6104	* print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
6105	types.
6106
61072004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
6108
6109	* doc/invoke.texi: Remove traces of dead ports.
6110
61112004-01-05  Richard Sandiford  <rsandifo@redhat.com>
6112
6113	* doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
6114	option.
6115
61162004-01-05  Richard Sandiford  <rsandifo@redhat.com>
6117
6118	PR target/12945
6119	* coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
6120	counter labels.
6121	* config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
6122	(mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
6123	string constants if TARGET_MIPS16.  Use SYMBOL_REF_DECL to check
6124	the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
6125	(mips_symbol_insns): Don't trust the local/global classification.
6126	(m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
6127	(override_options): Make -mabicalls -fno-unit-at-a-time imply
6128	-mno-explicit-relocs.
6129	(mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
6130	between local and global symbols.
6131
61322004-01-05  Richard Sandiford  <rsandifo@redhat.com>
6133
6134	* config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
6135	(mips_preferred_reload_class): Declare.
6136	* config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
6137	(EXTRA_CONSTRAINT): Update accordingly.
6138	(PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
6139	* config/mips/mips.c (mips_dangerous_for_la25_p): New function.
6140	(mips_preferred_reload_class): New function.  Prefer LEA_REGS if
6141	mips_dangerous_for_la25_p.
6142	(mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
6143	if mips_dangerous_for_la25_p.
6144
61452004-01-05  Bernardo Innocenti  <bernie@develer.com>
6146
6147	* config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
6148	warning.
6149
61502004-01-04  Nathanael Nerode  <neroden@gcc.gnu.org>
6151
6152	* configure.ac: Use AC_PROG_CPP_WERROR.
6153	* configure: Regenerate.
6154
61552004-01-04  Zack Weinberg  <zack@codesourcery.com>
6156
6157	* .cvsignore: Add autom4te.cache.
6158
61592004-01-04  Richard Sandiford  <rsandifo@redhat.com>
6160
6161	* doc/invoke.texi: Revamp documentation of MIPS options.  Remove
6162	-mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
6163	-m4650, -mfix7000 and -(m)no-crt0.  Put endianness options first,
6164	then architecture options, then ABI options.  General rewording.
6165
61662004-01-04  Joseph S. Myers  <jsm@polyomino.org.uk>
6167
6168	PR c/3414
6169	* doc/extend.texi: Clarify definition of malloc attribute.
6170
61712004-01-04  Jan Hubicka  <jh@suse.cz>
6172
6173	* Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
6174	* cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
6175	* cgraph.h (cgraph_edge): Replace inline_call by inline_failed
6176	(cgraph_inline_p): Add extra argument reason.
6177	* cgraphunit.c: Minor formating fixes.
6178	cgraph_first_inlined_callee): New functions.
6179	(record_call_1): Record builtins too.
6180	(cgraph_analyze_function): Update inline_failed messages.
6181	(cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
6182	cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
6183	(cgraph_check_inline_limits): Likewise; Add argument reason.
6184	(cgraph_set_inline_failed): New static function.
6185	(cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
6186	reasons.
6187	(cgraph_inline_p): Add new argument reason.
6188	* tree-inline.c (expand_call_inline):  Update warning.
6189
61902004-01-03  Nathanael Nerode  <neroden@gcc.gnu.org>
6191
6192	* configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
6193	with modern equivalents.
6194	* configure: Regenerate.
6195
6196	* configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
6197	* aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
6198	* configure: Regenerate.
6199
6200	* doc/install.texi: Note that 'gcc' is now a 2.57 directory.
6201
6202	* configure.in: Rename to configure.ac.
6203	* configure.ac: Renamed from configure.in; make minimum necessary
6204	changes for autoconf 2.5x.
6205	* aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
6206	* configure: Regenerate with autoconf 2.57.
6207
62082004-01-03  Kazu Hirata  <kazu@cs.umass.edu>
6209
6210	* config/mips/linux.h: Fix comment formatting.
6211	* config/mips/mips.c: Likewise.
6212	* config/mips/mips.h: Likewise.
6213	* config/mips/mips.md: Likewise.
6214	* config/mips/netbsd.h: Likewise.
6215	* config/mips/windiss.h: Likewise.
6216
62172004-01-02  Richard Henderson  <rth@redhat.com>
6218
6219	* config/i386/i386.md (fp constant pool splitter): Reorg suppression
6220	for sse and 387; add suppression for mmx.
6221
62222004-01-02  Andrew Pinski  <pinskia@physics.uc.edu>
6223
6224	* loop.c (loop_optimize): Free all loops_info's mems.
6225
6226	* c-typeck.c (finish_init): Free spelling_base before
6227	setting it again.
6228
6229	* cfgloop.c (flow_loops_find): Always free the sbitmap
6230	headers.
6231
6232	* predict.c (estimate_probability): Free bbs after being
6233	done with it.
6234
62352004-01-02  Kazu Hirata  <kazu@cs.umass.edu>
6236
6237	* config/mn10300/mn10300.h (PREDICATE_CODES): Add
6238	const_8bit_operand and call_address_operand.
6239
62402004-01-02  Jan Hubicka  <jh@suse.cz>
6241
6242	* cgraphunit.c (cgraph_optimize_function):  Call optimize_inline_calls
6243	when there is nothing to inline but warnings are requested.
6244	(cgraph_decide_inlining):  Fix memory leak.
6245
62462004-01-02  Jan Hubicka  <jh@suse.cz>
6247
6248	* expr.c (store_constructor):  Fix pasto in previous patch.
6249
62502004-01-02  Kazu Hirata  <kazu@cs.umass.edu>
6251
6252	* config/i386/cygming.h: Fix comment formatting.
6253	* config/i386/djgpp.h: Likewise.
6254	* config/i386/gthr-win32.c: Likewise.
6255	* config/i386/i386-interix.h: Likewise.
6256	* config/i386/i386.c: Likewise.
6257	* config/i386/i386.h: Likewise.
6258	* config/i386/openbsd.h: Likewise.
6259	* config/i386/winnt.c: Likewise.
6260	* config/i386/xm-mingw32.h: Likewise.
6261
62622004-01-02  Joseph S. Myers  <jsm@polyomino.org.uk>
6263
6264	* doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
6265	copyright and last modification dates.
6266
62672004-01-02  Andreas Jaeger  <aj@suse.de>, Gerald Pfeifer  <gp@suse.de>
6268
6269	* doc/install.texi (Specific): Mention x86_64.
6270
62712004-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
6272
6273	* builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
6274	Call force_operand on plus_constant result.
6275
62762004-01-01  Jan Hubicka  <jh@suse.cz>
6277
6278	* expmed.c (store_bit_field, extract_bit_field): Use new named patterns
6279	* expr.c (store_constructor): Use vec_init pattern.
6280	* genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
6281	* optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
6282	(vec_set_optab, vec_extract_optab, vec_init_optab): New.
6283	* i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
6284	New patterns.
6285	(sse2_unpc?pd): Fix pattern.
6286	(sse2_movlpd): Kill.
6287	(sse2_movsd): Deal with movlpd too.
6288	* i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
6289	(ix86_expand_vector_init): New.
6290	* emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
6291	* md.texi (vec_set, vec_extract): Document
6292
62932003-12-31  Jan Hubicka  <jh@suse.cz>
6294
6295	PR opt/13473
6296	* recog.c (validate_replace_rtx_1):  Take care for RTL sharing inside
6297	ASM input operands
6298
6299	PR opt/12617
6300	* toplev.c (dump_file_index): Reorder ce3 and bbro.
6301	(dump_file): Likewise.
6302	(rest_of_compilation): Likewise.
6303
6304	PR debug/13367
6305	* cgraph.c (cgraph_function_possibly_inlined):  Even with
6306	flag_really_no_inline we inline always_inline functions.
6307	* cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
6308	for non-always_inline functions when there is flag_really_no_inline.
6309	(cgraph_decide_inlining): Limit work done when not inlining.
6310	(cgraph_decide_inlining_incrementally): Likewise.
6311	(cgraph_optimize_function): Check whether something got inlined.
6312	* c-objc-common.c (c_disregard_inline_limits): Do not always inline
6313	extern inline functions when not inlining.
6314
6315	* opts.c (decode_options):  Disable crossjumping at -O1
6316	* invoke.texi (-O1): Document change.
6317
6318See ChangeLog.10 for earlier changes.
6319