OSDN Git Service

Patch from Gunther Nikl.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-06-27  Gunther Nikl <gni@gecko.de>
2
3         * unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define.
4
5 2003-06-27  Chris Demetriou  <cgd@broadcom.com>
6
7         * config/mips/mips.c (mips_build_va_list): Make padding in
8         va_list structure explicit to avoid -Wpadded warnings.
9
10 2003-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
11
12         * config/s390/s390.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define.
13         * config/s390/s390.c (s390_secondary_output_reload_class): New function.
14         * config/s390/s390-protos.h (s390_secondary_output_reload_class): 
15         Declare it.
16         * config/s390/s390.md ("reload_outti", "reload_outdi", 
17         "reload_outdf"): New expanders.
18
19         * config/s390/s390.md ("movti" + splitters): Handle non-offsettable
20         memory operands as source.
21         ("movdi" + splitters): Likewise.
22         ("movdf" + splitters): Likewise.
23         * config/s390/s390.c (s390_split_ok_p): New function.
24         * config/s390/s390-protos.h (s390_split_ok_p): Declare it.
25
26 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
27
28         * combine.c (force_to_mode): Replace the equality comparison
29         of INTVALs with a pointer equality comparison.
30         (simplify_comparison): Likewise.
31
32 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
33
34         * jump.c (rtx_renumbered_equal_p): Replace an expression that
35         is known to be 0 with 0.
36
37 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
38
39         * gcse.c (expr_equiv_p): Replace expressions that are known to
40         be 0 with 0.
41
42 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
43
44         * cse.c (fold_rtx): Replace the equality comparison of INTVALs
45         with a pointer equality comparison.
46
47 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
48
49         * rtlanal.c (reg_mentioned_p): Return 0 earlier if REG and IN
50         are known to be not equivalent.
51
52 2003-06-27  Richard Henderson  <rth@redhat.com>
53
54         * config/alpha/alpha.c (function_arg): Don't pass small aggregates
55         in floating point registers.  Validate that we don't receive complex
56         values here.  Use #elif.
57         (return_in_memory, function_value): New.
58         (alpha_va_arg): Handle complex values as two arguments.
59         * config/alpha/alpha.h (RETURN_IN_MEMORY): Use return_in_memory.
60         (FUNCTION_VALUE, LIBCALL_VALUE): Use function_value.
61         (SPLIT_COMPLEX_ARGS): New.
62         * config/alpha/alpha-protos.h: Update.
63
64 2003-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
65
66         * ggc-page.c (inverse_table): Change type of mult to size_t.
67         (compute_inverse): Compute inverse using size_t, not unsigned int.
68         Compute inverse also for sizes larger than half a machine page.
69
70 Fri Jun 27 18:36:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
71
72         * toplev.c (rest_of_decl_compilation):  Only varpoolize argument
73         when called before cgraph_optimize.
74
75 2003-06-27  Zack Weinberg  <zack@codesourcery.com>
76
77         * config/darwin.h, config/elfos.h, config/i960/i960-coff.h
78         * config/m68k/coff.h: ASM_FILE_START_FILE_DIRECTIVE should
79         be TARGET_ASM_FILE_START_FILE_DIRECTIVE.
80
81 Fri Jun 27 17:41:16 CEST 2003  Jan Hubicka  <jh@suse.cz>
82
83         * cgraph.c (cgraph_node, cgraph_varpool_node): Avoid re-initializing
84         of known_decls.
85
86 2003-06-27  Hans-Peter Nilsson  <hp@axis.com>
87
88         * defaults.h (REGISTER_MOVE_COST): Define default here.
89         * regclass.c: Don't define default REGISTER_MOVE_COST here.
90         * reload.c, reload1.c: Ditto.
91
92 2003-06-27  Richard Earnshaw <rearnsha@arm.com>
93
94         * flags.h: Really install previous change.
95
96 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
97
98         * rtl.h (emit_note): Remove FILE parameter.
99         * emit-rtl.c (emit_line_note): Adjust emit_note call.
100         (emit_note): Remove FILE parameter. Adjust.
101         * builtins.c (expand_builtin_expect): Adjust emit_note call.
102         * c-semantics.c (genrtl_scope_stmt): Likewise.
103         (expand_stmt): Likewise.
104         * cfglayout.c (reemit_insn_block_notes): Likewise.
105         (duplicate_insn_chain): Likewise.
106         * except.c (expand_eh_region_start, expand_eh_region_end,
107         sjlj_emit_function_enter): Likewise.
108         * explow.c (probe_stack_range): Likewise.
109         * expr.c (emit_block_move_via_loop): Likewise.
110         * function.c (init_function_start, expand_function_start,
111         expand_function_end, thread_prologue_and_epilogue_insns): Likewise.
112         * integrate.c (expand_inline_function, copy_insn_list): Likewise.
113         * reg-stack.c (compensate_edge): Likewise.
114         * reload1.c (reload): Likewise.
115         * rtlanal.c (hoist_insn_to_edge): Likewise.
116         * stmt.c (expand_fixup, expand_start_loop, expand_start_null_loop,
117         expand_loop_continue_here, expand_end_loop, expand_continue_loop,
118         expand_exit_loop_top_cond, expand_value_return,
119         expand_start_bindings_and_block, expand_end_bindings,
120         expand_decl_cleanup, expand_start_case): Likewise.
121         * unroll.c (copy_loop_body
122         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
123         * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
124         * config/rs6000/rs6000.c (rs6000_emit_eh_toc_restore,
125         rs6000_emit_allocate_stack, rs6000_output_function_prologue,
126         rs6000_output_function_epilogue, rs6000_output_mi_thunk): Likewise.
127         * config/sh/sh.c (sh_output_mi_thunk): Likewise.
128         * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
129
130 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
131
132         * c-tree.h (grokfield): Remove unused filename and line parameters.
133         * c-decl.c (grokfield): Remove unused filename and line parameters.
134         * c-parse.in (component_decl): Adjust field grokking rules, adjust
135         grokfield calls.
136         (component_declarator): Likewise.
137         (component_notype_declarator): Likewise.
138         * objc/objc-act.c (build_module_descriptor): Adjust grokfield
139         calls.
140         (build_protocol_template, build_method_prototype_list_template,
141         build_method_prototype_template, build_category_template,
142         build_selector_template, build_class_template,
143         build_super_template, build_ivar_template,
144         build_ivar_list_template, build_method_list_template,
145         build_method_template, add_instance_variable): Likewise.
146
147 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
148
149         * stmt.c (do_jump_if_equal): Return 0 earlier if OP1 and
150         OP2 are known to be not equivalent.
151
152 2003-06-26  Devang Patel <dpatel@apple.com>
153
154         * final.c (debug_flush_symbol_queue): New function.
155         (debug_queue_symbol): New function.
156         (debug_free_queue): New function.
157         (debug_nesting): New variable.
158         (symbol_queue): New variable.
159         (symbol_queue_index): Same.
160         (symbol_queue_size): Same.
161         * debug.h (debug_flush_symbol_queue): New.
162         (debug_queue_symbol): New.
163         (debug_free_queue): New.
164         (debug_nesting): New.
165         (symbol_queue_index): New.
166         * dbxout.c (DBXOUT_DECR_NESTING): New macro.
167         (DBXOUT_DECR_NESTING_AND_RETURN): New macro.
168         (dbxout_init): Delay symbol output.
169         (dbxout_global_decl): Save, set and reset TREE_USED bit around
170         dbxout_symbol() call.
171         (dbxout_begin_function): Same.
172         (dbxout_finish): Free symbol queue.
173         (dbxout_type): Put appropriate symbols in queue.
174         (dbxout_symbol): Put info for symbol's type in queue.
175         Decrement/Increment nesting counts flush symbol queue appropriately.
176         (dbxout_parms): Increment dbxout nesting.
177         (dbxout_reg_parms): Same.
178         * flags.h (flag_debug_only_used_symbols): New.
179         * toplev.c (flag_debug_only_used_symbols): New variable.
180         (lang_independent_options): Add entries for new option
181         -feliminate-unused-debug-symbols.
182         * common.opt: Add entry for -feliminate-unused-debug-symbols.
183         * opts.c (common_handle_options): Same.
184         * config/rs6000/darwin.h (CC1_SPEC): Interpret -gused as
185         -feliminate-unused-debug-symbols.
186         * doc/invoke.texi (Debugging Options): Document
187         -feliminate-unused-debug-symbols.
188
189 2003-06-26  Roger Sayle  <roger@eyesopen.com>
190             Jakub Jelinek  <jakub@redhat.com>
191
192         * builtins.c (expand_builtin_sprintf): Use c_getstr and strlen to
193         obtain the format string instead of using TREE_STRING_POINTER and
194         TREE_STRING_LENGTH.  Only optimize sprintf(dst,"%s",src) when the
195         return value is unused or the length of src is a known constant.
196
197 2003-06-26  Richard Henderson  <rth@redhat.com>
198
199         * config/ia64/ia64.h (REGISTER_NAMES): R0 is really AP.
200
201 2003-06-26  Richard Henderson  <rth@redhat.com>
202
203         * config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls.
204         (ia64_split_call): Only load descriptor for GP register inputs.
205         (ia64_expand_epilogue): Check current_frame_info.mask not
206         current_function_is_leaf to restore ar.pfs.
207
208 2003-06-26  Richard Henderson  <rth@redhat.com>
209
210         * emit-rtl.c (try_split): Append to new CALL_INSN_FUNCTION_USAGE
211         instead of replacing it.
212
213 2003-06-26  Richard Henderson  <rth@redhat.com>
214
215         * flow.c (propagate_one_insn): Kill function return value
216         registers across tail calls.
217
218         * flow.c (propagate_one_insn): Preserve live-at-end registers
219         across tail calls.
220
221 2003-06-26  J"orn Rennecke <joern.rennecke@superh.com>
222
223         * reload.c (can_reload_into): New function.
224         (push_reload): Use it.
225
226 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
227
228         * config/h8300/h8300.c (compute_a_rotate_length): Fix the
229         references to the amount of a rotation.
230
231 2003-06-26  Nathanael Nerode  <neroden@gcc.gnu.org>
232
233         * config/sh/coff.h: Don't include dbxcoff.h.
234         * config.gcc: List it here.
235
236 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
237
238         * postreload.c (reload_cse_simplify_set): Call cselib_lookup
239         earlier.  Don't check if SRC is a constant.
240
241 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
242
243         * Makefile.in (OBJS): Add postreload.o.
244         Remove cselib.h from the dependency list for reload1.o.
245         Add a dependency list for postreload.o.
246         * reload.h: Change the comment for the prototype of
247         reload_cse_regs.
248         * reload1.c: Don't include cselib.h.
249         (reload_cse_regs): Move to postreload.c
250         (reload_cse_regs_1): Likewise.
251         (reload_cse_noop_set_p): Likewise.
252         (reload_cse_simplify_set): Likewise.
253         (reload_cse_simplify_operands): Likewise.
254         (RELOAD_COMBINE_MAX_USES): Likewise.
255         (reload_combine_ruid): Likewise.
256         (LABEL_LIVE): Likewise.
257         (reload_combine): Likewise.
258         (reload_combine_note_use): Likewise.
259         (reload_combine_note_store): Likewise.
260         (reg_set_luid): Likewise.
261         (reg_offset): Likewise.
262         (reg_base_reg): Likewise.
263         (reg_mode): Likewise.
264         (move2add_luid): Likewise.
265         (move2add_last_label_luid): Likewise.
266         (MODES_OK_FOR_MOVE2ADD): Likewise.
267         (reload_cse_move2add): Likewise.
268         (move2add_note_store): Likewise.
269         (reload_cse_simplify): Likewise.
270         * postreload.c: New.
271
272 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
273
274         * config/avr/avr.c (final_prescan_insn): Remove support for
275         -mrtl.
276         * config/avr/avr.h (MASK_RTL_DUMP): Remove.
277         (TARGET_RTL_DUMP): Likewise.
278         (TARGET_SWITCHES): Remove -mrtl.
279
280 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
281
282         * config/h8300/h8300-protos.h: Change emit_a_rotate to
283         output_a_rotate.  Add a prototype for compute_a_rotate_length.
284         * config/h8300/h8300.c (emit_a_rotate): Change to
285         output_a_rotate.
286         (compute_a_rotate_length): New.
287         (h8300_adjust_insn_length): Remove.
288         * config/h8300/h8300.h (ADJUST_INSN_LENGTH): Remove.
289         * config/h8300/h8300.md (adjust_length): Remove.
290         (*rotlqi3_1): Use output_a_rotate and compute_a_rotate_length.
291         (*rotlhi3_1): Likewise.
292         (*rotlsi3_1): Likewise.
293
294 2003-06-26  Roger Sayle  <roger@eyesopen.com>
295             Richard Henderson  <rth@redhat.com>
296
297         * builtins.c (expand_builtin_mathfn): Always stabilize the argument
298         list against re-evaluation.  If expand_unop fails, call expand_call
299         with the stabilized argument list rather than return NULL_RTX.
300         (expand_builtin_mathfn2): Likewise, always stabilize the argument
301         list, and call expand_call ourselves if expand_binop fails.
302
303 2003-06-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
304
305         PR optimization/11210
306         * fold-const (decode_field_reference): Strip only NOPs that
307         don't affect the sign.
308
309 2003-06-26  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
310
311         * gcc/config/sh/sh.md (push_fpscr): Enable for TARGET_SH2E.
312         (pop_fpscr, fpu_switch): Likewise.
313
314 2003-06-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
315
316         * value-prof.c: New.
317         * value-prof.h: New.
318         * Makefile.in (value-prof.o): New.
319         (LIBGCOV): Add _gcov_merge_single and _gcov_merge_delta
320         (profile.o): Add value-prof.h and tree.h dependency.
321         * flags.h (flag_profile_values): Declare.
322         * gcov-io.h (GCOV_COUNTERS, GCOV_COUNTER_NAMES, GCOV_MERGE_FUNCTIONS):
323         Add new counters.
324         (GCOV_COUNTER_V_INTERVAL, GCOV_COUNTER_V_POW2, GCOV_COUNTER_V_SINGLE,
325         GCOV_COUNTER_V_DELTA): New counter sections.
326         (__gcov_merge_single, __gcov_merge_delta): Declare.
327         * flow.c (mark_used_regs): Set subregs_of_mode only when the
328         structure is initialized.
329         * libgcov.c (__gcov_merge_single, __gcov_merge_delta): New functions.
330         * profile.c: Include value-prof.h and tree.h.
331         (gen_interval_profiler, gen_pow2_profiler, gen_one_value_profiler,
332         gen_const_delta_profiler, instrument_values): New static functions.
333         (get_exec_counts): Fix comment.
334         (branch_prob): Invoke instrument_values.
335         * toplev.c (flag_profile_values): New flag.
336         * doc/invoke.texi (-fprofile-values): Document.
337
338 2003-06-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
339
340         * Makefile.in (cfgrtl.o): Add expr.h dependency.
341         * cfgrtl.c: Include expr.h.
342         (mark_killed_regs, safe_insert_insn_on_edge): New
343         functions.
344         * config/i386/i386.h (AVOID_CCMODE_COPIES): Define.
345         * basic-block.h (safe_insert_insn_on_edge): Declare.
346
347 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
348
349         * c-opts.c (missing_arg): Make non-static.
350         (c_common_handle_option): Don't check for missing arguments.
351         * opts.c (handle_option): Check for missing arguments.
352
353 2003-06-26  David Edelsohn  <edelsohn@gnu.org>
354
355         * config/rs6000/power4.md (power4-veccomplex): Correct latency.
356
357 2003-06-25  Loren James Rittle  <ljrittle@acm.org>
358
359         * configure.in (ld_vers): Portability [sed].
360         * configure: Regenerate with autoconf213.
361
362 2003-06-25  H.J. Lu <hongjiu.lu@intel.com>
363
364         * doc/extend.texi: Document new builtin functions for Intel
365         Prescott New Intrunctions.
366
367         * doc/invoke.texi: Document new command-line options, -mpni and
368         -mno-pni, for Intel Prescott New Intrunctions.
369
370         * config.gcc (extra_headers): Add pmmintrin.h for i[34567]86-*-*.
371
372         * config/i386/i386.c (override_options): Turn on MASK_SSE2
373         for -mpni. Turn on MASK_SSE for -msse2.
374         (bdesc_2arg): Add PNI builtins with 2 args.
375         (bdesc_1arg): Add PNI builtins with 1 arg.
376         (ix86_init_mmx_sse_builtins): Handle PNI builtins.
377         (ix86_expand_builtin): Likewise.
378
379         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A,
380         MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT,
381         MASK_TLS_DIRECT_SEG_REFS): Renumbered.
382         (TARGET_PNI): New.
383         (TARGET_SWITCHES): Don't enable MASK_SSE for -msse2 here. Add
384         -mpni and -mno-pni.
385         (TARGET_CPU_CPP_BUILTINS): Defined __PNI__ for PNI.
386         (ix86_builtins): Add PNI builtins.
387         (config/i386/i386.md): Add PNI patterns.
388
389         * config/i386/pmmintrin.h: New file.
390
391 2003-06-25  Kazu Hirata  <kazu@cs.umass.edu>
392
393         * config/h8300/h8300.md (call): Fix the insn lengths.
394         (call_value): Likewise.
395
396 Thu Jun 26 00:13:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
397
398         * c-common.c (handle_used_attribute): Use mark_referenced.
399         * varasm.c (mark_referenced): Break out from ...
400         (assemble_name): ... here.
401         * tree.h (mark_referenced): Declare.
402
403 2003-06-25  Wolfgang Bangerth  <bangerth@dealii.org>
404
405         * gccbug.in: Add PCH to list of categories.
406
407 2003-06-25 Martin Schaffner <schaffner@gmx.li>
408
409         * cppfiles.c: Clarify comments.
410         * cpphash.h: Likewise.
411         * cpplib.h: Likewise.
412         * cppmacro.c: Likewise.
413         * mkdeps.h: Likewise.
414
415 2003-06-25  Neil Booth  <neil@daikokuya.co.uk>
416
417         * c-opts.c (complain_wrong_lang, write_langs): Remove.
418         (c_common_handle_option): Complaints about wrong language are
419         handled in opts.c now.
420         * opts.c (complain_wrong_lang, write_langs, handle_options): New.
421         (find_opt): Fix thinko.
422         (handle_option): Update prototype.  Complain about switches for
423         a different front end.
424         * opts.h (lang_names, handle_options): New.
425         (handle_option): Remove.
426         * opts.sh: Write out language names array.
427         * toplev.c (parse_options_and_default_flags): Use handle_options.
428
429 2003-06-25  H.J. Lu <hongjiu.lu@intel.com>
430
431         * config/i386/i386.c (MASK_SSE1): Removed.
432         (MASK_SSE164): Removed.
433         (MASK_SSE264): Removed.
434         (bdesc_2arg): Replace MASK_SSE1 with MASK_SSE. Replace
435         MASK_SSE164 with MASK_SSE | MASK_64BIT. Replace MASK_SSE264
436         with MASK_SSE2 | MASK_64BIT.
437         (bdesc_1arg): Likewise.
438         (ix86_init_mmx_sse_builtins): Likewise.
439
440         * config/i386/i386.h (TARGET_SSE): Remove MASK_SSE2.
441         (TARGET_SWITCHES): Enable both MASK_SSE and MASK_SSE2 for
442         -msse2.
443
444 2003-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
445
446         * hwint.h (HOST_WIDE_INT_PRINT, HOST_WIDE_INT_PRINT_C): New macros.
447         (HOST_WIDE_INT_PRINT_DEC_SPACE,
448         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
449         HOST_WIDEST_INT_PRINT_DEC_SPACE,
450         HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE): Delete.
451         (HOST_WIDE_INT_PRINT_DEC, HOST_WIDE_INT_PRINT_DEC_C,
452         HOST_WIDE_INT_PRINT_UNSIGNED, HOST_WIDE_INT_PRINT_HEX): Define in
453         terms of HOST_WIDE_INT_PRINT and possibly HOST_WIDE_INT_PRINT_C.
454
455         * final.c (asm_fprintf): Use HOST_WIDE_INT_PRINT.
456         * ra-debug.c (dump_static_insn_cost): Likewise.
457
458 2003-06-26  Nick Clifton  <nickc@redhat.com>
459
460         * config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Define instead
461         of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
462         Replace occurances of '???' with 'XXX' incase they are
463         mistaken for trigraphs.
464         (THUMB_PRINT_OPERAND_ADDRESS): abort if a compound address
465         does not have a register for the first operand.
466
467 2003-06-25      Dhananjay Deshpande <dhananjayd@kpitcummins.com>
468
469         * config/sh/sh.c (sh_register_move_cost):
470         Add case for moving between MAC_REGS.
471
472 2003-06-25  Zack Weinberg  <zack@codesourcery.com>
473
474         PR 10178
475         * langhooks.h (struct lang_hooks): Add no_body_blocks bool.
476         * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): New; default false.
477         * c-lang.c, objc/objc-lang.c: Override LANG_HOOKS_NO_BODY_BLOCKS
478         to true.
479         * stmt.c (is_body_block): If lang_hooks.no_body_blocks, always
480         return 0.
481
482 2003-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
483
484         * Makefile.in (bt-load.o): Depend on $(TM_P_H).
485         * bt-load.c: Include "tm_p.h".
486
487 2003-06-25  Kazu Hirata  <kazu@cs.umass.edu>
488
489         * config/h8300/h8300.c (compute_mov_length): Adjust for the
490         new optimization.
491         * config/h8300/h8300.md (*movsi_h8300): Optimize the load of
492         an SImode constant whose upper and lower are the same.
493
494 Wed Jun 25 11:31:59 CEST 2003  Jan Hubicka  <jh@suse.cz>
495
496         * varasm.c (assemble_name): Mark needed variables even when
497         global info is ready.
498
499 2003-06-24  Jerry Quinn  <jlquinn@optonline.net>
500
501         PR other/11280
502         * gcc/doc/invoke.texi (Optimization Options): Remove -Os from
503         -freorder-functions description.
504
505 2003-06-25  Josef Zlomek  <zlomekj@suse.cz>
506
507         * dwarf2out.c (gen_field_die): Return if type of decl is error mark.
508
509 2003-06-25  Neil Booth  <neil@daikokuya.co.uk>
510
511         * opts.c (common_handle_option): Add missing break;s.
512
513 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
514
515         * config/h8300/h8300-protos.h: Add a prototype for
516         compute_mov_length.
517         * config/h8300/h8300.c (compute_mov_length): New.
518         * config/h8300/h8300.md (*movqi_h8300): Use it.
519         (*movqi_h8300hs): Likewise.
520         (movstrictqi): Likewise.
521         (*movhi_h8300): Likewise.
522         (*movhi_h8300hs): Likewise.
523         (movstricthi): Likewise.
524         (*movsi_h8300): Likewise.
525         (*movsf_h8300): Likewise.
526         (*movsi_h8300hs): Likewise.
527         (*movsf_h8300hs): Likewise.
528
529 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
530
531         * jump.c (next_nondeleted_insn): Remove.
532         * rtl.h: Remove the prototype for next_nondeleted_insn.
533
534 2003-06-24  Roger Sayle  <roger@eyesopen.com>
535
536         PR optimization/11311
537         * builtins.c (powi_cost): Fix typo.  The number of multiplications
538         required is the number to reduce the argument, result, plus the
539         cost of calculating the residual, val [not n, the original value].
540
541 2003-06-24  Roger Sayle  <roger@eyesopen.com>
542
543         * config/alpha/osf5.h (TARGET_C99_FUNCTIONS): Define.
544
545 2003-06-24  Richard Henderson  <rth@redhat.com>
546             (blame to: Loren James Rittle  <ljrittle@acm.org>)
547
548         * real.h (ieee_extended_intel_96_round_53_format): New.
549         * real.c (ieee_extended_intel_96_round_53_format): New.
550         * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Use it
551         for XFmode and TFmode.
552
553 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
554
555         * config/h8300/h8300.md (4 anonymous patterns): Give internal
556         names.
557         (movsi_h8300): Change the name to *movsi_h8300.
558         (movsi_h8300hs): Change the name to *movsi_h8300hs.
559         (movsf_h8300): Change the name to *movsf_h8300.
560         (movsf_h8300hs): Change the name to *movsf_h8300hs.
561
562 2003-06-24  Jakub Jelinek  <jakub@redhat.com>
563
564         * builtins.c (expand_builtin_strcpy): Don't evaluate side-effects in
565         src twice.
566
567 2003-06-24  J"orn Rennecke <joern.rennecke@superh.com>
568
569         Back out these patches:
570          2003-06-02  J"orn Rennecke <joern.rennecke@superh.com>
571           * sh.h (OLD_ARG_MODE): New macro.
572           (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
573           (FUNCTION_ARG_1): Break out of:
574           (FUNCTION_ARG).  Use OLD_ARG_MODE.
575          2003-06-06  J"orn Rennecke <joern.rennecke@superh.com>
576           * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
577           of the generated register.
578
579         * sh.h (FUNCTION_ARG_SCmode_WART): Define.
580         (FUNCTION_ARG): Unless FUNCTION_ARG_SCmode_WART is defined and
581         an even number of floating point regs are in use, use the same
582         sequence of argument passing registers for SCmode as would be
583         used for two SFmode values.
584         * sh.c (sh_va_arg): If FUNCTION_ARG_SCmode_WART is defined,
585         swap real / imaginary parts in incoming SCmode values passed
586         in registers.
587
588 2003-06-24  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
589
590         PR target/11260
591         * config/alpha/alpha.md (sqrtdf2): Fix operand substitution.
592
593 Tue Jun 24 18:49:33 CEST 2003  Jan Hubicka  <jh@suse.cz>
594
595         * Makefile.in (cgraph.o): Depend on output.h, not depend on
596         tree-inline.h
597         * cgraph.c: Do not include tree-inline.h; include output.h
598         (known_fns): Rename to ...
599         (known_decls): ... this one; update all uses.
600         (cgraph_varpool_hash): New static variable.
601         (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): New global
602         variables.
603         (cgraph_varpool_hash_node, eq_cgraph_varpool_node, cgraph_varpool_node,
604         cgraph_varpool_node_for_identifier, cgraph_varpool_mark_needed_node,
605         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
606         New functions.
607         * cgraph.h (cgraph_varpool_node): New structure.
608         (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): Declare.
609         (cgraph_varpool_node, cgraph_varpool_node_for_identifier,
610         cgraph_varpool_finalize_decl, cgraph_varpool_mark_needed_node,
611         cgraph_varpool_asemble_pending_decls): Declare.
612         * cgraphunit.c (record_call_1): Notice variable references.
613         (cgraph_finalize_compilation_unit): Assemble pending variables.
614         * toplev.c (wrapup_global_declarations): Use varpool.
615         (compile_file): Assemble pending declarations.
616         (rest_of_decl_compilation): Use varpool in unit-at-a-time mode.
617         * varasm.c (assemble_name): Notice varpool references.
618
619 Tue Jun 24 13:52:11 CEST 2003  Jan Hubicka  <jh@suse.cz>
620
621         * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): New macro.
622         * langhooks.h (lang_hooks_for_decls): Add prepare_assemble_variable.
623         * varasm.c (assemble_variable): Call prepare_assemble_variable.
624
625 2003-06-23  Roger Sayle  <roger@eyesopen.com>
626
627         * builtins.c (expand_builtin): Use expand_builtin_pow to expand
628         calls for pow, powf, powl and their __builtin_ variants.
629         (expand_builtin_pow): If the second argument is a constant
630         integer and compiling with -ffast-math, use expand_powi to
631         generate RTL if powi_cost is less than POWI_MAX_MULTS.
632         (powi_cost): New function to return the number of multiplications
633         necessary to evaluate an Nth power, for integer constant N.
634         (expand_powi): New function to expand the RTL for evaluating
635         the Nth power of a floating point value, for integer constant N.
636
637         * doc/tm.texi (POWI_MAX_MULTS): Document new target macro.
638
639 Mon Jun 23 23:07:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
640
641         * cgraph.c (cgraph_nodes_queue): Declare.
642         (eq_node): Take identifier as p2.
643         (cgraph_node): Update htab_find_slot_with_hash call.
644         (cgraph_node_for_identifier): New.
645         (cgraph_mark_needed_node): Move here from cgraphunit.c.
646         * cgraph.h (cgraph_nodes_queue): Declare.
647         (cgraph_node_for_identifier): Declare.
648         * cgraphunit.c (cgraph_finalize_function): Collect entry points here
649         instead of in cgraph_finalize_compilation_unit; constructors and
650         destructors are entry points.
651         (cgraph_finalize_compilation_unit): Reorganize debug outout;
652         examine nested functions after lowerng; call collect_functions hook.
653         (cgraph_mark_local_functions): DECL_COMDAT functions are not local.
654         (cgraph_finalize_compilation_unit): Do not collect entry points.
655         * varasm.c: Include cgraph.h
656         (assemble_name): Mark referenced identifier as needed.
657
658         * cgraphunit.c (record_call_1): Use get_callee_fndecl.
659
660 2003-06-23  Jakub Jelinek  <jakub@redhat.com>
661
662         * config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0,
663         just SYMBOL_REF.
664         * config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
665         mode, as it requires pic register loaded.
666
667         * varasm.c (resolve_unique_section): Remove prototype.  No longer
668         static.
669         * tree.h (resolve_unique_section): New prototype.
670
671 2003-06-23  Andreas Schwab  <schwab@suse.de>
672
673         PR debug/9905
674         * dwarf2out.c (loc_descriptor_from_tree): Handle MODIFY_EXPR by
675         recursing through first argument.
676
677 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
678
679         * ChangeLog.1: Fix a typo.
680         * cfgrtl.c: Fix comment typos.
681         * dwarf2out.c: Likewise.
682         * expmed.c: Likewise.
683         * genrecog.c: Likewise.
684         * jump.c: Likewise.
685         * rtlanal.c: Likewise.
686         * ssa-dce.c: Likewise.
687         * toplev.c: Likewise.
688
689 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
690
691         * doc/extend.texi: Fix typos.
692         * doc/md.texi: Likewise.
693         * doc/tm.texi: Likewise.
694
695 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
696
697         * basic-block.h: Fix comment formatting.
698         * bt-load.c: Likewise.
699         * builtins.c: Likewise.
700         * c-common.c: Likewise.
701         * c-common.h: Likewise.
702         * c-format.c: Likewise.
703         * coverage.c: Likewise.
704         * cpplib.h: Likewise.
705         * cpppch.c: Likewise.
706         * dbxout.c: Likewise.
707         * diagnostic.c: Likewise.
708         * dwarf2out.c: Likewise.
709         * expr.c: Likewise.
710         * fold-const.c: Likewise.
711         * function.c: Likewise.
712         * gcc.c: Likewise.
713         * gcov-io.c: Likewise.
714         * gcov-io.h: Likewise.
715         * gcov.c: Likewise.
716         * profile.c: Likewise.
717         * real.h: Likewise.
718         * sched-deps.c: Likewise.
719
720 2003-06-23  Roger Sayle  <roger@eyesopen.com>
721             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
722
723         * doc/contrib.texi (Contributors): Add a note on testing and
724         remove duplicates from testers list.
725
726 2003-06-23  Nick Clifton  <nickc@redhat.com>
727
728         * read-rtl.c (read_braced_string): Check for EOF.  If
729         encountered issue an error message.
730
731 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
732
733         * doc/invoke.texi: Document dump options, dT and dW.
734
735 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
736
737         * genrecog.c (pred_table): Remove the entry for
738         mode_independent_operand.
739         * recog.c (next_insns_test_no_inequality): Remove.
740         (mode_independent_operand): Likewise.
741         * recog.h: Remove the prototype for mode_independent_operand.
742
743 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
744
745         * config/h8300/h8300.c (output_simode_bld): Use rotxl.l to
746         store into bit 0.
747         * config/h8300/h8300.md (*extzv_1_r_h8300hs): Change cc of the
748         second alternative to set_znv.
749         (*extzv_1_r_inv_h8300hs): Likewise.
750
751 2003-06-23  Hans-Peter Nilsson  <hp@bitrange.com>
752
753         * configure.in (in_tree_gas): Find out here whether GAS is ELF,
754         set in_tree_gas_is_elf accordingly.
755         (in_tree_ld): Find out whether LD emulation is ELF, set
756         in_tree_ld_is_elf accordingly.
757         (gcc_cv_as_subsections, gcc_cv_as_hidden, gcc_cv_as_leb128)
758         (gcc_cv_as_eh_frame, gcc_cv_as_shf_merge)
759         (gcc_cv_as_dwarf2_debug_line, gcc_cv_as_gdwarf2_flag)
760         (gcc_cv_as_gstabs_flag): Use $in_tree_gas_is_elf instead of
761         grepping gas/Makefile.
762         (gcc_cv_ld_ro_rw_mix, gcc_cv_ld_eh_frame_hdr, gcc_cv_ld_pie): Use
763         $in_tree_ld_is_elf instead of grepping ld/Makefile.
764         * configure: Regenerate.
765
766 2003-06-22  Roger Sayle  <roger@eyesopen.com>
767
768         * builtins.c (expand_builtin_mathfn_2): Use tree_cons to build
769         up the stabilized argument list, not build_tree_list.
770         (expand_builtin_strcpy): Construct new argument list manually
771         instead of using chainon to modify the original argument list.
772         (expand_builtin_stpcpy): Construct new argument list manually
773         instead of using copy_list and chainon.
774         (expand_builtin_sprintf): New function.  Optimize calls to
775         sprintf when the format is "%s" or doesn't contain a '%'.
776         (expand_builtin): Expand BUILT_IN_SPRINTF using the new function
777         expand_builtin_sprintf.
778
779 2003-06-22  Andreas Schwab  <schwab@suse.de>
780
781         * function.c (set_insn_locators): Mark as unused.
782
783 2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
784
785         * common.opt: Add -finline-limit.
786         * opts.c (common_handle_options): Handle it.
787         * opts.sh: Temporary kludge for -finline-limit.
788         * toplev.c (decode_f_option, independent_decode_option): Die.
789         (parse_options_and_default_flags): No independent_decode_option.
790
791 2003-06-22  Andreas Jaeger  <aj@suse.de>
792
793         * calls.c (emit_call_1): Readd lost ATTRIBUTE_UNUSED.
794
795 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
796
797         * doc/invoke.texi: Document dumps, .btl, .cfg, and .bypass.
798
799 2003-06-22  Andreas Schwab  <schwab@suse.de>
800
801         * doc/invoke.texi: Remove leading `-' from options in index.
802
803 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
804
805         * bt-load.c: Follow spelling conventions.
806
807 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
808
809         * expr.c (emit_move_insn_1): Fix a comment typo.
810
811 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
812
813         * doc/invoke.texi: Alphabetize dump options.
814
815 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
816
817         * doc/invoke.texi: Remove a duplicate -dk.
818
819 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
820
821         * doc/invoke.texi: Update dump file names.
822
823 2003-06-22  Zack Weinberg  <zack@codesourcery.com>
824
825         * config/i370/i370.c, config/i370/i370.h: Use HOST_CHARSET_ASCII
826         and HOST_CHARSET_EBCDIC, not HC_ASCII and HC_EBCDIC.
827
828 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
829
830         * doc/rtl.texi: Fix the @findex for pre_modify.
831
832 2003-06-22  Andreas Jaeger  <aj@suse.de>
833
834         * caller-save.c: Convert to ISO C90.
835         * calls.c: Likewise.
836         * cfg.c: Likewise.
837         * cfganal.c: Likewise.
838         * cfgbuild.c: Likewise.
839         * cfgcleanup.c: Likewise.
840         * cfghooks.c: Likewise.
841         * cfglayout.c: Likewise.
842         * cfglayout.h: Likewise.
843         * cfgloop.c: Likewise.
844         * cfgloop.h: Likewise.
845         * cfgloopanal.c: Likewise.
846         * cfgloopmainip.c: Likewise.
847         * cfgrtl.c: Likewise.
848
849 2003-06-22  Richard Earnshaw  <rearnsha@arm.com>
850
851         * arm.h (BIGGEST_ALIGNMENT): Use TARGET_REALLY_IWMMXT for selecting
852         64-bit alignment.
853
854 2003-06-22  Richard Earnshaw  <rearnsha@arm.com>
855
856         * arm.md (all call_value patterns): Remove register constraints on
857         value operand.
858
859 2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
860
861         * common.opt: More -f switches.
862         * opts.c (common_handle_options): Handle them.
863         * toplev.c (time_report): Make extern.
864         (f_options): USe flag_dummy.
865         (decode_f_option): No need to use f_options now.
866         * toplev.h (flag_cprop_registers, flag_ssa, flag_ssa_ccp,
867         flag_ssa_dce, time_report, flag_new_regalloc): Make extern.
868
869 2003-06-22  Andreas Jaeger  <aj@suse.de>
870
871         * c-lex.c: Convert to ISO C90.
872         * c-objc-common.c: Likewise.
873         * c-opts.c: Likewise.
874         * c-pch.c: Likewise.
875         * c-ppoutput.c: Likewise.
876         * c-pragma.h: Likewise.
877         * c-pretty-print.c: Likewise.
878         * c-pretty-print.h: Likewise.
879         * c-semantics.c: Likewise.
880         * c-tree.h: Likewise.
881         * c-typeck.c: Likewise.
882
883         * c-lang.c: Convert to ISO C90.
884
885 2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
886
887         * opts.c (find_opt): Fix to always guarantee a find of a
888         switch with joined parameter.
889         * opts.h (struct cl_option): New member back_chain.
890         * opts.sh: Update to calculate and add back_chain member.
891
892 2003-06-22  Gabriel Dos Reis <gdr@integrable-solutions.net>
893
894         * diagnostic.h (output_host_wide_integer): Declare.
895         * diagnostic.c (output_long_long_decicaml): New function.
896         (output_host_wide_integer): Likewise.
897         (output_format): Use them.  Handle "%ll" and "%w".
898
899 2003-06-21  Jason Thorpe  <thorpej@wasabisystems.com>
900
901         * config.gcc (*-*-netbsd*): Add t-libgcc-pic to tmake_file.
902
903 2003-06-21  Zack Weinberg  <zack@codesourcery.com>
904
905         * aclocal.m4 (gcc_AC_C_CHARSET): Delete.
906         * configure.in: Don't use gcc_AC_C_CHARSET.
907         * configure, config.in: Regenerate.
908         * config/i370/i370.c, config/i370/i370.h: Use
909         (HOST_CHARSET == HC_EBCDIC) or (HOST_CHARSET == HC_ASCII)
910         instead of HOST_EBCDIC or !HOST_EBCDIC.  Clarify comments a tad.
911
912 2003-06-21  Neil Booth  <neil@daikokuya.co.uk>
913
914         * Makefile.in: Update.
915         * common.opt: New switches.
916         * opts.c: Include diagnostic.h.
917         (common_handle_option): Handle new switches.
918         * toplev.c (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
919         flag_if_conversion2, flag_delete_null_pointer_checks,
920         flag_rerun_cse_after_loop): Make extern.
921         (flag_dummy): New.
922         (f_options): Update to use flag_dummy for moved options.
923         (decode_f_option): Some switches moved to opts.c.
924         * toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
925         flag_if_conversion2, flag_delete_null_pointer_checks,
926         flag_rerun_cse_after_loop, flag_keep_static_consts, flag_peel_loops,
927         flag_tracer, flag_thread_jumps, flag_unroll_loops,
928         flag_unroll_all_loops, flag_unswitch_loops): New.
929
930 Sat Jun 21 13:41:00 CEST 2003  Jan Hubicka  <jh@suse.cz>
931
932         * i386.c (ix86_va_arg): Fix allocation of temporary slot.
933
934 2003-06-20  Kazu Hirata  <kazu@cs.umass.edu>
935
936         * config/h8300/h8300-protos.h: Add a prototype for
937         same_cmp_preceding_p.
938         * config/h8300/h8300.c (same_cmp_preceding): New.
939         * config/h8300/h8300.md: Extend peephole2's that transform
940         compare:SI into shorter sequences so that they can deal with
941         signed comparisons.
942
943 2003-06-21  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
944
945         * doc/contrib.texi (Contributors): Use Windows instead of Win32.
946
947         Update Andreas Jaeger's entry.
948
949         Merge the two entries of Kaveh Ghazi, David Edelsohn, and
950         Loren J. Rittle.
951
952 2003-06-21  Nathanael Nerode  <neroden@gcc.gnu.org>
953
954         * mkconfig.sh: Add multiple inclusion guards to generated headers.
955
956 2003-06-20  Neil Booth  <neil@daikokuya.co.uk>
957
958         * c-decl.c (store_parm_decls): Make saved_warn_shadow boolean.
959         * common.opt: Add remaining -W options and -g.
960         * diagnostic.c (warnings_are_errors): Remove.
961         * flags.h: Make most warning flags boolean.
962         * opts.c (common_handle_option): Handle remaining -W options, and -g.
963         Move many warning flags from toplev.c, making them boolean.
964         * toplev.c: Remove many warning flags.
965         (decode_W_option): Remove.
966         (decode_g_option): Make extern.  Error on unknown switch.
967         (lang_independent_W_options): Use warn_dummy.
968         (independent_decode_option): Just handle -f switches now.
969         * toplev.h (decode_g_option): New.
970
971 2003-06-20  Aldy Hernandez  <aldyh@redhat.com>
972
973         PR/11092
974         * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Adjust for
975         vectors.
976
977 2003-06-20  Kelley Cook  <kelleycook@wideopenwest.com>
978
979         * opts.sh: Tweak awk script for portability.
980
981 2003-06-20  Mark Mitchell  <mark@codesourcery.com>
982
983         PR c++/10888
984         * tree-inline.c (expand_call_inline): Do not warn about failing to
985         inline functions declared in system headers.
986         * doc/invoke.texi (-Winline): Expand on documentation.
987
988 2003-06-20  Richard Henderson  <rth@redhat.com>
989
990         * config/alpha/alpha.c (alpha_file_start): Disable
991         file_start_file_directive for ELF and not MDEBUG.
992
993 2003-06-20  J"orn Rennecke <joern.rennecke@superh.com>
994
995         * sh.h (ROUND_TYPE_ALIGN): Remove.
996
997 2003-06-20  Richard Henderson  <rth@redhat.com>
998
999         * hooks.c (hook_int_void_no_regs): Rename from
1000         hook_reg_class_void_no_regs; change return type.
1001         * hooks.h: Update.
1002         * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Update.
1003         * target.h (branch_target_register_class): Change return type to int.
1004         Add documentation.
1005         * config/sh/sh.c (sh_target_reg_class): Change return type.
1006         * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
1007
1008 2003-06-20  Andreas Tobler <toa@pop.agri.ch>
1009
1010         * c-format.c: Change _Bool to bool reverting part of the last
1011         patch.
1012
1013 2003-06-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1014
1015         * som.h (ASM_OUTPUT_SOURCE_LINE): Use targetm.strip_name_encoding to
1016         strip name encoding.
1017
1018 2003-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1019
1020         * configure.in (gcc_cv_as_gstabs_flag): Disable if assembler warns.
1021         * configure: Regenerate.
1022         Fixes PR driver/9362.
1023
1024 2003-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1025
1026         * config/alpha/alpha.c (alpha_file_start): Fix typo.
1027
1028 2003-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1029
1030         * config/mips/mips.h (PUT_SDB_FUNCTION_END): Pass 0 as third arg
1031         to ASM_OUTPUT_SOURCE_LINE.
1032
1033 2003-06-20  Daniel Egger  <degger@fhm.edu>
1034             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1035
1036         * doc/install.texi (Building): Correct and improve statement
1037         about parallel builds.
1038
1039 2003-06-20  Andreas Jaeger  <aj@suse.de>
1040
1041         * c-common.c: Change _Bool to bool reverting part of the last
1042         patch.
1043
1044 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
1045
1046         * tree.h (expand_function_end): Remove all parameters.
1047         * function.c (expand_function_end): Remove all parameters.
1048         Use input_location. Never expand_end_bindings.
1049         * c-decl.c (c_expand_body_1): Adjust expand_function_end call.
1050         * coverage.c (create_coverage): Likewise.
1051
1052 2003-06-20  Nick Clifton  <nickc@redhat.com>
1053
1054         * doc/extend.texi (ARM Built-in Functions): New node.  Document
1055         ARM builtin functions for iWMMXt support.
1056
1057 2003-06-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
1058
1059         * doc/install.texi (--with-gnu-as): Mention SPARC/Solaris and
1060         SPARC64/Solaris as platforms where --with-gnu-as makes a difference.
1061         (--with-as): Add @anchor.
1062         (--with-gnu-ld): Fix typo.
1063         (--with-ld): Add @uref to --with-as.
1064
1065 2003-06-19  Zack Weinberg  <zack@codesourcery.com>
1066
1067         * doc/tm.texi: Uniformly use @defmac for macros, rather than
1068         @table items.  Minor formatting and editorial corrections.
1069
1070 2003-06-20  Neil Booth  <neil@daikokuya.co.uk>
1071
1072         * line-map.c, line-map.h: Convert to ISO prototypes.
1073
1074 2003-06-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1075
1076         * gcse.c (store_killed_in_insn): Fix.
1077
1078 2003-06-19  Zack Weinberg  <zack@codesourcery.com>
1079
1080         * target.h (asm_out.file_start, file_start_app_off,
1081         file_start_file_directive): New hooks.
1082         * target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
1083         TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START):
1084         New hook-definition macros.
1085         * doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START.
1086         * varasm.c (default_file_start): New.
1087         * output.h: Prototype it.
1088         * toplev.c (init_asm_output): Use targetm.asm_out.file_start.
1089         * system.h: Poison ASM_FILE_START.
1090
1091         * config/alpha/alpha.c (alpha_write_verstamp): Delete.
1092         (alpha_file_start): New, define if !TARGET_ABI_UNICOSMK.
1093         (unicosmk_asm_file_start): Rename unicosmk_file_start,
1094         make static, take no arguments.
1095         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END,
1096         TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate.
1097         * config/alpha/unicosmk.h: Don't define ASM_FILE_START nor
1098         TARGET_ASM_FILE_END.  Remove reference to ASM_FILE_START in
1099         comment.
1100         * config/arc/arc.c (arc_asm_file_start): Rename
1101         arc_file_start, take no arguments, make static.
1102         (TARGET_ASM_FILE_START): Set it.
1103         * config/arm/arm.c (aof_file_start): New static function.
1104         (TARGET_ASM_FILE_START): Set it, when appropriate.
1105         * config/arm/coff.h, config/arm/elf.h:
1106         Set TARGET_ASM_FILE_START_APP_OFF to true.
1107         * config/avr/avr.c (asm_file_start): Rename avr_file_start,
1108         take no arguments, make static.
1109         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
1110         Set them.
1111         * config/c4x/c4x.c (c4x_file_start): New static function.
1112         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
1113         Set them.
1114         * config/cris/cris.c (cris_file_start): New static function.
1115         (TARGET_ASM_FILE_START): Set it.
1116         * config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename
1117         dsp16xx_file_start, make static.
1118         (luxworks_dsp16xx_file_start): Delete.
1119         (TARGET_ASM_FILE_START): Set it.
1120         * config/h8300/h8300.c (asm_file_start): Rename
1121         h8300_file_start, make static, take no arguments.
1122         (TARGET_ASM_FILE_START): Set it.
1123         * config/i370/i370.c (i370_file_start): New static function.
1124         (TARGET_ASM_FILE_START): Set it.
1125         * config/i386/i386.c (x86_file_start): New static function.
1126         (TARGET_ASM_FILE_START): Set it.
1127         * config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE,
1128         X86_FILE_START_FLTUSED): New macros, default to false.
1129         * config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1.
1130         * config/i386/sysv4.h, config/i386/sco5.h: Override
1131         X86_FILE_START_VERSION_DIRECTIVE to true.
1132         * config/ia64/ia64.c (ia64_file_start): New static function.
1133         (TARGET_ASM_FILE_START): Set it.
1134         (emit_safe_across_calls): Take no arguments.
1135         * config/ia64/ia64.md: Update to match.
1136         * config/m32r/m32r.c (m32r_asm_file_start): Rename
1137         m32r_file_start, make static, take no arguments.
1138         (TARGET_ASM_FILE_START): Set it.
1139         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename
1140         m68hc11_file_start, make static, take no arguments.
1141         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1142         (print_options): Delete.
1143         * config/m68k/m68k.c (m68k_hp320_file_start): New static function.
1144         (TARGET_ASM_FILE_START_APP_OFF): Set.
1145         * config/m68k/hp320.h: Set TARGET_ASM_FILE_START to
1146         m68k_hp320_file_start.
1147         * config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start):
1148         Make static, take no arguments.
1149         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1150         * config/mmix/mmix.c (mmix_asm_file_start): Rename
1151         mmix_file_start, make static, take no arguments.
1152         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1153         * config/mn10300/mn10300.c (asm_file_start): Rename
1154         mn10300_file_start, make static, take no arguments.
1155         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1156         * config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set.
1157         * config/pa/pa.c (pa_file_start_level, pa_file_start_space,
1158         pa_file_start_file, pa_file_start_mcount, pa_elf_file_start,
1159         pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start,
1160         pa_hpux64_hpas_file_start): New static functions.
1161         * config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start.
1162         * config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to
1163         pa_linux_file_start.
1164         * config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to
1165         pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as
1166         appropriate.
1167         * config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start.
1168         * config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF.
1169         (rs6000_file_start): Make static, take no arguments.  Reset
1170         default_cpu under certain conditions.
1171         (rs6000_xcoff_file_start): New function.
1172         * config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set.
1173         * config/rs6000/xcoff.h (TARGET_ASM_FILE_START,
1174         TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override.
1175         * config/sh/sh.c (output_file_start): Rename
1176         sh_file_start, make static, take no arguments.  Merge in old
1177         code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF.
1178         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1179         * config/sh/sh.c (TARGET_ELF): Define to 0.
1180         * config/sh/elf.h (TARGET_ELF): Redefine to 1.
1181         * config/v850/v850.c (asm_file_start): Delete.
1182         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1183         * config/vax/vax.c (vax_file_start): New static function.
1184         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set.
1185
1186         * config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false.
1187         * config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h
1188         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h
1189         * config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h
1190         * config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h
1191         * config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true.
1192
1193         * config/darwin.h, config/elfos.h, config/alpha/elf.h
1194         * config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h
1195         * config/arc/arc.h, config/arm/aof.h, config/arm/aout.h
1196         * config/arm/coff.h, config/arm/elf.h, config/arm/pe.h
1197         * config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h
1198         * config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h
1199         * config/i370/i370.h, config/i386/att.h, config/i386/gas.h
1200         * config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h
1201         * config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h
1202         * config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h
1203         * config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h
1204         * config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h
1205         * config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h
1206         * config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h
1207         * config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h
1208         * config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h
1209         * config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h
1210         * config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START.
1211
1212         * config/alpha/alpha-protos.h, config/arc/arc-protos.h
1213         * config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h
1214         * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
1215         * config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h
1216         * config/mips/mips-protos.h, config/mmix/mmix-protos.h
1217         * config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h
1218         * config/sh/sh-protos.h, config/v850/v850-protos.h: Update.
1219
1220         * xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h:
1221         Remove reference to ASM_FILE_START in comment.
1222         * config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h
1223         * config/arm/linux-gas.h, config/arm/netbsd-elf.h
1224         * config/arm/netbsd.h: Delete definition of ARM_OS_NAME.
1225
1226 2003-06-19  Graeme Peterson <gp@qnx.com>
1227
1228         * gcc.c (target_sysroot_suffix, target_sysroot_hdrs_suffix,
1229         SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC, sysroot_suffix_spec,
1230         sysroot_hdrs_suffix_spec): New.
1231         (static_specs): Initialize new variables.
1232         (add_sysroot_suffix_prefix, do_spec_1, main): Use new variables.
1233         * doc/tm.texi (SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC):
1234         New macros.
1235
1236 2003-06-19  Andreas Jaeger  <aj@suse.de>
1237
1238         * c-aux-info.c: Convert to ISO C90.
1239         * c-pragma.c: Likewise.
1240         * c-common.c: Likewise.
1241         * c-common.h: Likewise.
1242         * c-convert.c: Likewise.
1243         * c-cppbuiltin.c: Likewise.
1244         * c-dump.c: Likewise.
1245         * c-decl.c: Likewise
1246         * c-format.c: Likewise.
1247         * c-incpath.c: Likewise.
1248         * c-incpath.h: Likewise.
1249
1250 2003-06-19  Roger Sayle  <roger@eyesopen.com>
1251
1252         * builtins.c (expand_errno_check): Assume that flag_errno_math
1253         and HONOR_NANS have been tested before calling here.  Only try
1254         to set errno ourselves if the decl can't throw an exception.
1255         (expand_builtin_mathfn): Move the code to stabilize the arg
1256         after the main switch, so that that its only done when needed.
1257         BUILT_IN_SQRT{,F,L} doesn't set errno if its arg is nonnegative.
1258         Don't modify the original expr when stabilizing the argument.
1259         (expand_builtin_mathfn_2): Likewise, move the code to stabilize
1260         the args after the main switch, and don't modify the orginal exp.
1261
1262 2003-06-19  Aldy Hernandez  <aldyh@redhat.com>
1263
1264         * expr.c (const_vector_from_tree): Initialize remaining elements
1265         to 0.
1266
1267 2003-06-19  Aldy Hernandez  <aldyh@redhat.com>
1268
1269         * config/rs6000/spe.md ("spe_evfscfsi"): Change operand types.
1270         Change "fix" to "float".
1271
1272 2003-06-19  Andreas Jaeger  <aj@suse.de>
1273
1274         * c-tree.h: Remove declaration of poplevel.
1275
1276         * tree.h: Remove declaration of approx_sqrt.
1277
1278         * c-lex.c: Remove redundant declaration of asm_out_file.
1279
1280         * flags.h: Remove declaration of warn_unknown_pragma and
1281         main_input_filename.
1282
1283         * rtl.h: Remove functions from fold-const.c since they're already
1284         declared in tree.h.
1285
1286         * regs.h: Remove redundant declaration of reg_names.
1287
1288         * bt-load.c (migrate_btr_defs): Correct printf arguments.
1289
1290         * protoize.c: Fix breakage from last patch.
1291
1292 2003-06-19  J"orn Rennecke <joern.rennecke@superh.com>
1293
1294         * hooks.h (hook_reg_class_void_no_regs): Only declare if tm.h
1295         has been included.
1296
1297 2003-06-18  James A Morrison <ja2morri@student.math.uwaterloo.ca>
1298
1299         * config/sparc/sparc.c: Update copyright year.
1300
1301 2003-06-19  David Edelsohn  <edelsohn@gnu.org>
1302
1303         * config/rs6000/rs6000.c (init_cumulative_args): Limit CALL_LIBCALL
1304         to ABI_V4.
1305
1306 2003-06-18  Joseph S. Myers  <jsm@polyomino.org.uk>
1307
1308         PR bootstrap/4068
1309         * config/i386/liunx.h: Don't include sys/ucontext.h for glibc 2.0.
1310
1311 2003-06-19  Kazu Hirata  <kazu@cs.umass.edu>
1312
1313         * config/h8300/h8300.c (TARGET_INITIALIZER and friends): Move
1314         to the end of the file.  Remove unnecessary prototypes.
1315
1316 2003-06-19  Hans-Peter Nilsson  <hp@axis.com>
1317
1318         * bt-load.c (migrate_btr_def) [INSN_SCHEDULING]: Conditionalize
1319         calls to insn_default_latency and result_ready_cost.  Initialize
1320         def_latency to 1.
1321
1322 2003-06-18  Richard Henderson  <rth@redhat.com>
1323
1324         * config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
1325         (_Unwind_FindEnclosingFunction): Implement.
1326
1327 2003-06-18  Kazu Hirata  <kazu@cs.umass.edu>
1328
1329         * toplev.c (rest_of_handle_sched): Hide the entire function if
1330         INSN_SCHEDULING is not defined.
1331         (rest_of_compilation): Call rest_of_handle_sched() only when
1332         INSN_SCHEDULING is defined.
1333
1334 2003-06-18  Stephen Clarke <stephen.clarke@superh.com>
1335             J"orn Rennecke <joern.rennecke@superh.com>
1336
1337         * bt-load.c: New file.
1338         * Makefile.in (OBJS): Include bt-load.o
1339         (bt-load.o): Add dependencies.
1340         * flags.h (flag_branch_target_load_optimize): Declare.
1341         (flag_branch_target_load_optimize2): Likewise.
1342         * hooks.c (hook_reg_class_void_no_regs): New function.
1343         (hook_bool_bool_false): Likewise.
1344         * hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
1345         * rtl.h (branch_target_load_optimize): Declare.
1346         * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
1347         (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1348         (TARGET_INITIALIZER): Include these.
1349         * target.h (struct gcc_target): Add branch_target_register_class
1350         and branch_target_register_callee_saved members.
1351         * toplev.c (enum dump_file_index): Add DFI_branch_target_load
1352         (dump_file) Add "tars" entry.
1353         (flag_branch_target_load_optimize): New variable.
1354         (flag_branch_target_load_optimize2): Likewise.
1355         (lang_independent_options): Add entries for new options.
1356         (rest_of_compilation): Call branch_target_load_optimize.
1357         * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
1358         (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1359         * doc/invoke.texi: Document -fbranch-target-load-optimize and
1360         -fbranch-target-load-optimize2.
1361         * rtl.h (epilogue_completed): Declare.
1362         * recog.c (epilogue_completed): New variable.
1363         * toplev.c (rest_of_compilation): Set it.
1364         * flow.c (mark_regs_live_at_end): Use it.
1365         * config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
1366         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
1367         * config/sh/sh.c (sh_output_mi_thunk): Likewise.
1368         * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
1369
1370         * sh.c (shmedia_space_reserved_for_target_registers): New variable.
1371         (sh_target_reg_class): New function.
1372         (sh_optimize_target_register_callee_saved): Likwise.
1373         (shmedia_target_regs_stack_space): Likewise.
1374         (shmedia_reserve_space_for_target_registers_p): Likewise.
1375         (shmedia_target_regs_stack_adjust): Likewise.
1376         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
1377         (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1378         (calc_live_regs): If flag_branch_target_load_optimize2 and
1379         TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
1380         for target registers, make sure that we save all target registers.
1381         (sh_expand_prologue, sh_expand_epilogue): Take target register
1382         optimizations into account.  Collapse stack adjustments if that
1383         is beneficial.
1384         (initial_elimination_offset): Reserve space for target registers
1385         if necessary.
1386         * sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
1387         (OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
1388
1389 2003-06-18  Nick Clifton  <nickc@redhat.com>
1390
1391         * config.gcc: Add an extra_header for ARM targets.
1392         Support configuring with --with-cpu=iwmmxt.
1393         * doc/invoke.texi: Document new value for -mcpu= ARM switch.
1394         * config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
1395         names.  Fix formatting.
1396         * config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
1397         names.
1398         * config/arm/arm-protos.h (arm_emit_vector_const): New
1399         prototype.
1400         (arm_output_load_gr): New prototype.
1401         * config/arm/arm.c (extra_reg_names1): Delete.
1402         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
1403         * arch_is_iwmmxt): Define.
1404         (all_cores, all_architecture): Add entry for iwmmxt.
1405         (arm_override_options): Add support for iwmmxt.
1406         (use_return_insn, arm_function_arg, arm_legitimate_index_p,
1407         arm_print_value, arm_rtx_costs_1, output_move_double,
1408         arm_compute_save_reg_mask, arm_output_epilogue,
1409         arm_get_frame_size, arm_expand_prologue, arm_print_operand,
1410         arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
1411         Likewise.
1412         (arm_init_cumulative_args): Count iwmmxt registers.
1413         (arm_function_ok_for_sibcall): Return false of sibcall_blocked
1414         has been set.
1415         (struct minipool_node): Add fix_size field.
1416         (add_minipool_forward_ref): Add support for 8-byte aligning of
1417         the pool.
1418         (add_minipool_backward_ref, add_minipool_offsets,
1419         dump_minipool, push_minipool_fix): Likewise.
1420         (struct builtin_description): New struct.
1421         (builtin_description): New array of iwmmxt builtin functions.
1422         (arm_init_iwmmxt_builtins): New function.
1423         (arm_init_builtins): New function.
1424         (safe_vector_operand): New function.
1425         (arm_expand_binop_builtin): New function.
1426         (arm_expand_unop_builtin): New function.
1427         (arm_expand_builtin): New function.
1428         (arm_emit_vector_const): New function.
1429         (arm_output_load_gr): New function.
1430         * config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
1431         TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
1432         TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
1433         DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
1434         (BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
1435         (CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
1436         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
1437         reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
1438         REG_CLASS_FOR_LETTER): Add iwmmxt registers.
1439         (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
1440         registers unless the iwmmxt target is selected.
1441         (FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
1442         FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
1443         IS_IWMMXT_GR_REGNUM): Define.
1444         (FIRST_PSEUDO_REGISTER): Bump to 63.
1445         (struct machine_function): Add sibcall_blocked field.
1446         (Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
1447         nargs fields.
1448         (enum arm_builtins): New enum list.
1449         * config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
1450         UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
1451         UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
1452         UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
1453         (VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
1454         VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
1455         (movv2si, movv4hi, movv8qi): New expands for vector moves.
1456         Include iwmmxt.md.
1457         * config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
1458         multilib.
1459         (MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
1460         * config/arm/mmintrin.h: New ARM specific header file.
1461         * config/arm/iwmmx.md: New iWMMXt specific machine patterns.
1462
1463 2003-06-18  J"orn Rennecke <joern.rennecke@superh.com>
1464
1465         * toplev.c (Remaining -d letters summary): Update.
1466
1467 2003-06-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1468
1469         * config/rs6000/rs6000.c (init_cumulative_args): Add and handle LIBCALL
1470         argument.
1471         (function_arg): Handle CALL_LIBCALL flag.
1472         * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
1473         prototype.
1474         * config/rs6000/rs6000.h (CALL_LIBCALL): New macro.
1475         (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
1476         (INIT_CUMULATIVE_ARGS): Add LIBCALL argument.
1477         (INIT_CUMULATIVE_INCOMING_ARGS): Likewise.
1478
1479 2003-06-18  Neil Booth  <neil@daikokuya.co.uk>
1480
1481         * Makefile.in: Update.
1482         * common.opt: New options.
1483         * opts.c (maybe_warn_unused_parameter, set_Wextra, handle_param,
1484         set_Wunused): New.
1485         (common_handle_option): Handle new options.
1486         * toplev.c (set_target_switch): Export.
1487         (set_Wextra, set_Wunused, maybe_warn_unused_parameter): Move to opts.c.
1488         (decode_W_option): -Wunused and -Wextra handled in opts.c now.
1489         (independent_decode_option): More options handled in opts.c now.
1490         Change prototype.
1491         * toplev.h (set_target_switch): New.
1492
1493 2003-06-17  Robert Abeles  <rabeles@archaelogic.com>
1494
1495         PR debug/4252
1496         * c-opts.c (c_common_handle_option): Pass -fdump argument suffix
1497         to dump_switch_p().
1498         * tree-dump.c (dump_switch_p): Remove redundant 'dump-' prefix
1499         from static strings in dump_files.
1500
1501 2003-06-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1502
1503         * system.h (ANSI_PROTOTYPES, PTR_CONST, LONG_DOUBLE, VPARAMS,
1504         VA_OPEN, VA_FIXEDARG, VA_CLOSE, VA_START): undef and poison these
1505         libiberty macros.
1506
1507 2003-06-17  Jason Merrill  <jason@redhat.com>
1508
1509         PR c++/10929
1510         * tree-inline.c (expand_call_inline): Don't warn about failing to
1511         inline a function which was made inline by -finline-functions.
1512
1513 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
1514
1515         * config/h8300/h8300-protos.h: Update to ISO C.
1516         * config/h8300/h8300.c: Likewise.
1517         * config/h8300/h8300.h: Likewise.
1518         * config/h8300/h8300.md: Likewise.
1519
1520 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
1521
1522         * configure.in: Replace BUILD_CC references with CC_FOR_BUILD.
1523         * configure: Regenerate.
1524         * Makefile.in: Replace BUILD_CC references with CC_FOR_BUILD.
1525
1526 2003-06-17  Ranjit Mathew  <rmathew@hotmail.com>
1527
1528         * install.texi (Testing): Add information on how to run Java
1529         runtime tests separately.
1530
1531 2003-06-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1532
1533         * config/mips/mips.md (trap): Use break 0 when !TARGET_GAS.
1534
1535         * config/mips/iris6-o32.h (MIPS_ISA_DEFAULT): Remove.
1536         (MIPS_CPU_STRING_DEFAULT): Redefine to mips2.
1537
1538 2003-06-17  Christopher Faylor  <cgf@redhat.com>
1539
1540         * doc/install.texi: Add msvc rebuild caveat.
1541
1542 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
1543
1544         * config/sh/coff.h: Replace Hitachi with Renesas.
1545         * config/sh/elf.h: Likewise.
1546         * config/sh/embed-elf.h: Likewise.
1547         * config/sh/lib1funcs.asm: Likewise.
1548         * config/sh/sh-protos.h: Likewise.
1549         * config/sh/sh.c: Likewise.
1550         * config/sh/sh.h: Likewise.
1551         * config/sh/sh.md: Likewise.
1552
1553 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
1554
1555         * ChangeLog.3: Fix comment typos.
1556         * ChangeLog.6: Likewise.
1557         * config/d30v/d30v.c: Likewise.
1558         * config/h8300/h8300.md: Likewise.
1559         * config/m32r/m32r.md: Likewise.
1560         * config/mips/mips.c: Likewise.
1561         * config/mips/mips.md: Likewise.
1562         * config/ns32k/NOTES: Likewise.
1563
1564 2003-06-17  Ranjit Mathew  <rmathew@hotmail.com>
1565             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1566
1567         * doc/sourcebuild.texi (libgcj Tests): Simplify instructions on how
1568         to run Java runtime tests separately.
1569
1570 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
1571
1572         * config/h8300/h8300-protos.h: Update a comment.
1573
1574 2003-06-17  J"orn Rennecke <joern.rennecke@superh.com>
1575
1576         * sh.h (ROUND_TYPE_ALIGN, LOCAL_ALIGNMENT): Complex modes
1577         are aligned like integral modes.
1578         (SH5_WOULD_BE_PARTIAL_NREGS): Also test for CDImode and DCmode.
1579
1580         * sh.h (EXTRA_CONSTRAINT_Csy): Allow PIC_DIRECT_ADDR_P.
1581         (LEGITIMATE_PIC_OPERAND_P): Allow LABEL_REF.
1582         * sh.md (*pt): Remove.
1583
1584         * sh.h (REG_ALLOC_ORDER): Avoid squandering call-saved registers.
1585
1586         * sh.md (return_media_rte): New pattern.
1587         (return_media): Use it.
1588
1589 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
1590
1591         * doc/contrib.texi: Replace Hitachi with Renesas.
1592         * doc/install.texi: Likewise.
1593         * doc/invoke.texi: Likewise.
1594
1595 2003-06-17  J"orn Rennecke <joern.rennecke@superh.com>
1596
1597         * sh.h (CONST_OK_FOR_J16): Fix HOST_BITS_PER_WIDE_INT >= 64
1598         behaviour.
1599
1600 2003-06-17  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1601
1602         * doc/tm.texi (MD_FALLBACK_FRAME_STATE_FOR): Mention MAKE_THROW_FRAME.
1603
1604         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Partly revert
1605         2003-01-23 patch. Corrected to handle kernels with changed ucontext.
1606
1607         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Error on invalid
1608         -msdata=eabi usages.
1609
1610         * gcc/config/rs6000/sysv4.h (USE_LIBC_1): Delete all uses.
1611
1612 2003-06-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1613
1614         * alloc-pool.c: Don't check HAVE_LONG_DOUBLE.
1615         * fixinc/gnu-regex.c: Don't define `volatile'.
1616         * ggc-page.c: Don't check HAVE_LONG_DOUBLE.
1617         * ggc-simple.c: Likewise.
1618         * system.h: Don't define `volatile'.
1619
1620         * aclocal.m4 (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Delete.
1621         * configure.in (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Don't
1622         call these macros.
1623         * config.in, configure: Regenerated.
1624
1625 2003-06-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1626
1627         * config/ia64/ia64.c (ia64_expand_builtin, case IA64_BUILTIN_BSP):
1628         Handle POINTERS_EXTEND_UNSIGNED.
1629
1630 2003-06-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1631
1632         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
1633         !TARGET_IRIX6]: Define as NULL.
1634
1635 2003-06-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
1636
1637         * config/sparc/sparc.c (sparc_va_arg): Don't align 16-byte+ structures.
1638
1639 2003-06-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
1640
1641         * dbxout.c (dbxout_source_line_counter): New global variable.
1642         Mark it with GTY(()).
1643         (dbxout_source_line): Increment dbxout_source_line_counter
1644         and pass it to ASM_OUTPUT_SOURCE_LINE.
1645         * sdbout.c (sdbout_source_line_counter): New global variable.
1646         Mark it with GTY(()).
1647         (unnamed_struct_number): Mark it with GTY(()).
1648         (sdbout_source_line): Increment sdbout_source_line_counter
1649         and pass it to ASM_OUTPUT_SOURCE_LINE.
1650         * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Add third parameter
1651         (xcoffout_source_line): Pass 0 as third argument to
1652         ASM_OUTPUT_SOURCE_LINE.
1653         (xcoffout_begin_prologue): Likewise.
1654         * config/dbxout.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1655         Use it instead of 'sym_lineno' but without incrementing it.
1656         * config/dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1657         * config/lynx.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1658         * config/ptx4.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1659         * config/alpha/alpha.c (alpha_start_function): Pass 0 as third
1660         argument to ASM_OUTPUT_SOURCE_LINE.
1661         * config/alpha/alpha.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1662         * config/arm/aout.h: Remove useless comment.
1663         * config/avr/avr.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1664         * config/i960/i960.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1665         * config/m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1666         Use it instead of 'sym_lineno' but without incrementing it.
1667         * config/m68k/hp320.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1668         * config/mcore/mcore-pe.h (ASM_OUTPUT_SOURCE_LINE): Add third
1669         parameter. Use it instead of 'sym_lineno' but without incrementing it.
1670         * config/mips/mips.c (mips_output_function_prologue): Pass 0 as third
1671         argument to ASM_OUTPUT_SOURCE_LINE.
1672         * config/mips/mips.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1673         * config/mmix/mmix.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1674         * config/pa/som.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
1675         Use it instead of 'sym_lineno' but without incrementing it.
1676         * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1677         * config/sh/elf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1678         * config/sparc/aout.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1679         * config/sparc/pbd.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
1680         * doc/tm.texi (ASM_OUTPUT_SOURCE_LINE): Document third parameter.
1681
1682 2003-06-17  Richard Sandiford  <rsandifo@redhat.com>
1683
1684         * config/mips/mips-protos.h (mips_expand_block_move): Declare.
1685         (expand_block_move, output_block_move): Remove.
1686         * config/mips/mips.h (enum block_move_type): Remove.
1687         * config/mips/mips.c (block_move_call, output_block_move): Remove.
1688         (mips_block_move_straight, mips_adjust_block_mem): New function.
1689         (mips_block_move_loop): Renamed and reworked from block_move_loop.
1690         (mips_expand_block_move): Likewise expand_block_move.  Return false
1691         to fall back on the target-independent code.
1692         * config/mips/mips.md (movstrsi): Use mips_expand_block_move.
1693         (movstrsi_internal*): Remove.
1694
1695 2003-06-16  Zack Weinberg  <zack@codesourcery.com>
1696
1697         * cpplib.h, cpphash.h, cppcharset.c, cpperror.c, cppexp.c
1698         * cppfiles.c, cpphash.c, cppinit.c, cpplex.c, cpplib.c
1699         * cppmacro.c, cpppch.c, cpptrad.c, cppspec.c: Convert to
1700         ISO C: new-style function declarations, no need for PARAMS,
1701         no special punctuation on indirect function calls, use string
1702         constant concatenation where convenient.
1703
1704 2003-06-17  Andreas Jaeger  <aj@suse.de>
1705
1706         * rtl.h: Remove declarations from coverage.h.
1707         * toplev.c: Include coverage.h.
1708         * Makefile.in (toplev.o): Depend on coverage.h.
1709
1710         * toplev.h: Remove extra declaration of print_time.
1711
1712         * gengtype.c (close_output_files): Remove duplicated declaration.
1713
1714 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
1715
1716         * config/sparc/sysv4.h: Remove target-independent comment;
1717         replace "GNU CC" with "GCC".
1718         * config/vxworks.h: Replace "GNU compiler" with "GCC".
1719         * config/sparc/aout.h, config/sparc/biarch64.h, config/sparc/elf.h,
1720         config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
1721         config/sparc/lite.h, config/sparc/litecoff.h, config/sparc/liteelf.h,
1722         config/sparc/netbsd-elf.h, config/sparc/openbsd.h,
1723         config/sparc/rtemself.h, config/sparc/sol2-64.h,
1724         config/sparc/sol2-bi.h, config/sparc/sol2-gas-bi.h,
1725         config/sparc/sol2-gld-bi.h, config/sparc/sol2-gld.h,
1726         config/sparc/sol2.h, config/sparc/sp64-aout.h,
1727         config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h,
1728         config/sparc/sparc-protos.h, config/sparc/sysv4-only.h: Replace
1729         "GNU compiler", "GNU CC" with "GCC".
1730         * config/sparc/cypress.md, config/sparc/hypersparc.md,
1731         config/sparc/sparc-modes.def, config/sparc/sparc.c,
1732         config/sparc/sparc.md, config/sparc/sparclet.md,
1733         config/sparc/supersparc.md, config/sparc/ultra1_2.md,
1734         config/sparc/ultra3.md: Replace "GNU CC", "GNU Compiler", and
1735         "GNU C Compiler" with "GCC".
1736         * config/ip2k/ip2k.h: Replace "GNU CC" and "GNU compiler" with "GCC".
1737
1738 2003-06-16  Aldy Hernandez  <aldyh@redhat.com>
1739
1740         * simplify-rtx.c (simplify_subreg): Do not over-extend vector
1741         constants.
1742
1743         * testsuite/gcc.c-torture/execute/simd-4.c: New.
1744
1745 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
1746
1747         * config/ip2k/ip2k.h: Remove target-independent comments.
1748
1749         * config.gcc: Explicitly mention elfos.h in ip2k entry.
1750         * config/ip2k/ip2k.h: Don't #include it here.
1751
1752 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1753
1754         * bitmap.c, builtins.c, c-incpath.c, cgraph.c, config/frv/frv.c,
1755         config/mips/mips.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c,
1756         dwarf2out.c, dwarfout.c, except.c, expr.c, expr.h, fold-const.c,
1757         function.c, gcc.c, genoutput.c, gensupport.c, global.c,
1758         haifa-sched.c, hashtable.c, ifcvt.c, integrate.c, local-alloc.c,
1759         loop.c, mips-tdump.c, mips-tfile.c, mkdeps.c, protoize.c,
1760         read-rtl.c, recog.h, reload1.c, sbitmap.c, ssa-dce.c,
1761         stringpool.c, tlink.c, tree.c, varasm.c, varray.c: Don't use
1762         the PTR macro.
1763
1764         * gengtype.c: Don't use UNION_INIT_ZERO.
1765         * system.h (UNION_INIT_ZERO): Delete.
1766
1767 2003-06-16  Richard Henderson  <rth@redhat.com>
1768
1769         * simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE instead of
1770         GET_MODE_UNIT_SIZE when simplifying constant vectors.
1771
1772 2003-06-16  Andreas Jaeger  <aj@suse.de>
1773
1774         * timevar.c (get_run_time): Remove function provided also by
1775         libiberty.
1776         * timevar.h: Remove get_run_time declaration.
1777
1778 2003-06-16  Kazu Hirata  <kazu@cs.umass.edu>
1779
1780         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): Remove
1781         unreachable code.
1782
1783 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1784
1785         * builtin-attrs.def, builtin-attrs.def, builtins.c, cpplex.c,
1786         cpplib.c, gencheck.c, gengenrtl.c, machmode.def, protoize.c: Don't
1787         use macros from "symcat.h", instead rely on ISO C.
1788
1789         * system.h: Don't include "symcat.h".
1790         * configure.in (AC_C_STRINGIZE): Delete.
1791         * config.in, configure: Regenerate.
1792
1793 2003-06-16  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1794
1795         * Makefile.in (install-mkheaders): Use INSTALL_SCRIPT for scripts.
1796
1797         * tree.h (STMT_CHECK): New macro.
1798         Also upper-case argument names on all checking macros and
1799         fix some whitespace problems; assume CODE argument does not
1800         have side-effects.
1801
1802 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1803
1804         * scan.h: Convert to ISO C.
1805         * system.h: Likewise.
1806
1807         * c-format.c (dynamic_format_types): New pointer for dynamic data.
1808         (find_length_info_modifier_index, init_dynamic_asm_fprintf_info):
1809         New functions split out of...
1810         (handle_format_attribute): ...here.
1811
1812 2003-06-16  J"orn Rennecke <joern.rennecke@superh.com>
1813
1814         * sh.h (REG_CLASS_FROM_LETTER): Change to:
1815         (REG_CLASS_FROM_CONSTRAINT).
1816         (CONST_OK_FOR_I): Rename to:
1817         (CONST_OK_FOR_I08).  Changed all users.
1818         (CONST_OK_FOR_J): Rename to:
1819         (CONST_OK_FOR_I16).  Changed all users.
1820         (CONST_OK_FOR_K): Rename to:
1821         (CONST_OK_FOR_P27).  Changed all users.
1822         (CONST_OK_FOR_L): Rename to:
1823         (CONST_OK_FOR_K08).  Changed all users.
1824         (CONST_OK_FOR_O): Rename to:
1825         (CONST_OK_FOR_I06).  Changed all users.
1826         (CONST_OK_FOR_P): Rename to:
1827         (CONST_OK_FOR_I10).  Changed all users.
1828         (CONSTRAINT_LEN, CONST_OK_FOR_I, CONST_OK_FOR_J16): Define.
1829         (CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_P): Likewise.
1830         (EXTRA_CONSTRAINT_A, EXTRA_CONSTRAINT_Bsc): Likewise.
1831         (EXTRA_CONSTRAINT_B, PIC_OFFSET_P, PIC_DIRECT_ADDR_P): Likewise.
1832         (EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C): Likewise.
1833         (EXTRA_MEMORY_CONSTRAINT,(EXTRA_CONSTRAINT_Sr0): Likewise.
1834         (CONST_OK_FOR_LETTER_P): Replace with
1835         (CONST_OK_FOR_CONSTRAINT_P).
1836         (EXTRA_CONSTRAINT_S): Rename to:
1837         (EXTRA_CONSTRAINT_C16).  Changed all users.
1838         (MOVI_SHORI_BASE_OPERAND_P): Don't allow direct addresses.
1839         (EXTRA_CONSTRAINT_T): Rename to:
1840         (EXTRA_CONSTRAINT_Csy).  Changed all users.
1841         (EXTRA_CONSTRAINT_Z): Remove.
1842         (EXTRA_CONSTRAINT): Replace with:
1843         (EXTRA_CONSTRAINT_STR).
1844         (EXTRA_CONSTRAINT_U): Rename to:
1845          (EXTRA_CONSTRAINT_Z).  Changed all users.
1846         * sh.c (and_operand): Use CONST_OK_FOR_J16.
1847         * sh.md (cmpeqsi_t-1, cmpeqsi_t, adddi3_media): Use new constraints.
1848         (addsi3_media, addsi3_compact, andsi3_compact, anddi3): Likewise.
1849         (iorsi3, iordi3, xorsi3, xordi3, ashlsi3_std, ashlhi3_k): Likewise.
1850         (lshrsi3_k, movsi_i, movsi_ie, movsi_i_lowpart, movsi_media): Likewise.
1851         (movsi_media_nofpu, movqi_media, movhi_i, movhi_media): Likewise.
1852         (*movdi_i, movdi_media, movdi_media_nofpu, shori_media): Likewise.
1853         (movdf_media, movdf_media_nofpu, movv2sf_i, movv4sf_i): Likewise.
1854         (movsf_media, movsf_media_nofpu, movsi_y, beq_media): Likewise.
1855         (beq_media_i, bne_media, pt, ptb, movv8qi_i, movv2hi_i): Likewise.
1856         (movv4hi_i, movv2si_i, negcmpeqv8qi, negcmpeqv2si): Likewise.
1857         (negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si, negcmpgtv4hi): Likewise.
1858         (mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub, mextr_rl, mextr_lr): Likewise.
1859         (mextr1, mextr2, mextr3, mextr4, mextr5, mextr6, mextr7): Likewise.
1860         (mperm_w, mperm_w_little, mperm_w_big, msad_ubq_i): Likewise.
1861         (mshards_q, mshfhi_b, mshflo_b, mshf4_b, mshf0_b, mshfhi_l): Likewise.
1862         (mshflo_l, mshf4_l, mshf0_l, mshfhi_w, mshflo_w, mshf4_w): Likewise.
1863         (mshf0_w, mshflo_w_x, mshfhi_l_di, mshfhi_l_di_rev): Likewise.
1864         (mshflo_l_di_rev, mshflo_l_di_x, concat_v2sf): Likewise.
1865         (mshflo_l_di_x_rev, subv2si3, subv4hi3, sssubv2si3): Likewise.
1866         (sssubv4hi3): Likewise.
1867         (movsf_i): Change I[08]/r to G/r.
1868         (movsf_ie): Change f/{G,H}/c/X to f/{G,H}/c/Bsc.
1869
1870         * sh.c (sh_output_mi_thunk): Use CONST_OK_FOR_ADD.
1871
1872 2003-06-16  Vladimir Makarov  <vmakarov@redhat.com>
1873
1874         * config/i386/i386.c (ix86_memory_move_cost): Fix typo.
1875
1876 2003-06-16  Andreas Jaeger  <aj@suse.de>
1877
1878         * basic-block.h: Remove duplicate prototype of
1879         note_prediction_to_br_prob.
1880
1881         * tree.h: Remove duplicate prototype of strip_float_extensions.
1882
1883 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1884
1885         * config/c4x/c4x.c: Don't include "c-tree.h".
1886         * config/pa/pa.c: Likewise.
1887         * langhooks.c: Likewise.
1888         * tree.h (poplevel): Declare.
1889
1890 2003-06-16  Kazu Hirata  <kazu@cs.umass.edu>
1891
1892         * config/h8300/h8300.c (const_costs): Move this to ...
1893         (h8300_rtx_costs): ... here.
1894
1895 2003-06-16  Roger Sayle  <roger@eyesopen.com>
1896
1897         * optabs.h (enum optab_index): Add new OTI_tan and OTI_atan.
1898         (tan_optab, atan_optab): Define corresponding macros.
1899         * optabs.c (init_optabs): Initialize tan_optab and atan_optab.
1900         * genopinit.c (optabs): Implement tan_optab and atan_optab
1901         using tan?f2 and atan?f2 patterns.
1902         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_TAN{,F,L}
1903         using tan_optab, and BUILT_IN_ATAN{,F,L} using atan_optab.
1904         Change the default value of errno_set to false.
1905         (expand_builtin): Expand BUILT_IN_TAN{,F,L} and BUILT_IN_ATAN{,F,L}
1906         using expand_builtin_mathfn.
1907
1908         * config/i386/i386.md (atansf2, atandf2, atanxf2, atantf2): New
1909         expander patterns implemented using existing atan2?f3 patterns.
1910
1911 2003-06-16  Roger Sayle  <roger@eyesopen.com>
1912
1913         * expr.c (expand_expr <PLUS_EXPR>): If operand_equal_p considers
1914         both operands of the addition equal, reuse the expanded RTL.
1915         (expand_expr <MULT_EXPR>): Likewise for multiplication.
1916
1917 2003-06-16  Roger Sayle  <roger@eyesopen.com>
1918             Jeff Law  <law@redhat.com>
1919
1920         * fold-const.c (operand_equal_p): Consider two calls to "const"
1921         functions with identical non-volatile arguments to be equal.
1922         Consider the FUNCTION_DECL for the "__builtin_foo" form of a
1923         built-in function to be equal to the "foo" form.
1924
1925 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
1926
1927         * config/rs6000/sysv4le.h: Remove target-independent comment.
1928         Replace "GNU compiler" with "GCC" in comment.
1929
1930 2003-06-16  Andreas Jaeger  <aj@suse.de>
1931
1932         * tracer.c: Remove duplicate declaration.
1933
1934         * toplev.c: Remove extra declaration of decode_d_option.
1935
1936         * ssa.c: Remove duplicate declaration.
1937
1938         * sreal.c: Remove extra declaration of dump_sreal.
1939
1940         * reload1.c: Remove duplicate declarations.
1941
1942         * integrate.c: Remove extra declaration of
1943         set_decl_abstract_flags.
1944
1945         * flow.c: Remove extra declaration of dump_flow_info.
1946
1947         * alias.c: Remove extra declaration of get_addr.
1948
1949 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
1950
1951         * config/rtems.h, config/sol2.h, config/svr4.h, config/usegas.h,
1952         config/vxworks.h: GNU CC -> GCC.
1953
1954         * convert.c, dwarf2out.c, dwarfout.c, emit-rtl.c, function.c,
1955         lists.c, print-rtl.c, print-tree.c, read-rtl.c, rtl-error.c,
1956         stmt.c, toplev.c, integrate.h, loop.h, machmode.h, rtl.h,
1957         ssa.h, tree.def: Replace overly specific references to "GNU C"
1958         and "GNU C Compiler" with references to "GCC".
1959
1960 2003-06-16  J"orn Rennecke <joern.rennecke@superh.com>
1961
1962         * sh.c (prepare_move_operand): Check if operand 0 is an invalid
1963         memory reference.  Fix test that checks if operand 1 is using r0.
1964         * sh.md (movhi_i): Don't allow st.w r0,@(rX,rY) .
1965
1966         * defaults.h (REG_CLASS_FROM_CONSTRAINT): Only define if not already
1967         defined.
1968
1969 2003-06-15  Nathan Sidwell  <nathan@codesourcery.com>
1970
1971         * function.h (struct emit_status): Remove x_last_linenum,
1972         x_last_filename. Add x_last_location.
1973         * rtl.h: #include "input.h".
1974         (NOTE_DATA): New.
1975         * cfglayout.c (duplicate_insn_chain): Use emit_line_note for line
1976         number notes.
1977         * emit-rtl.c (last_linenum, last_filename): Remove.
1978         (last_location): New.
1979         (emit_line_note_after): LINE must always be >= 0.
1980         (emit_line_note): Likewise. Check not duplicate here...
1981         (emit_note): ... rather than here.
1982         (emit_line_note_force, force_next_line_note, init_emit): Adjust.
1983         * integrate.c (expand_inline_function): Use emit_line_note for
1984         line number notes.
1985         (copy_insn_list): Likewise.
1986         * unroll.c (copy_loop_body): Likewise.
1987         * Makefile.in (RTL_H): Add input.h.
1988
1989 2003-06-16  Richard Sandiford  <rsandifo@redhat.com>
1990
1991         * optabs.c (emit_libcall_block): Don't hoist insns past a label.
1992
1993 2003-06-16  Richard Henderson  <rth@redhat.com>
1994
1995         * config/alpha/alpha-protos.h, config/alpha/elf.h,
1996         config/alpha/osf.h, config/alpha/unicosmk.h, config/alpha/vms.h,
1997         config/alpha/vms-cc.c, config/alpha/vms-ld.c: Update to ISO C.
1998         * config/alpha/alpha.c: Likewise.  Move targetm init to end of file.
1999         Remove unneeded static function decls.
2000
2001 2003-06-16  Neil Booth  <neil@daikokuya.co.uk>
2002
2003         * c-opts.c (c_common_handle_option): s/on/value/.
2004         (OPT_fabi_version_, OPT_ftabstop_, OPT_ftemplate_depth_): Use value
2005         directly rather than converting the argument.
2006         * c.opt: Update docs.  Use UInteger where appropriate.
2007         * common.opt: Use UInteger where appropriate.
2008         * opts.c (integral_argument): New.
2009         (handle_argument): Handle integral arguments, and optional
2010         joined arguments.
2011         (common_handle_option): Update.
2012         * opts.h (CL_MISSING_OK, CL_UINTEGER): New.
2013         * opts.sh: Handle JoinedOrMissing and UInteger flags.
2014
2015 2003-06-16  Neil Booth  <neil@daikokuya.co.uk>
2016
2017         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Remove
2018         unnecessary extern declaration.
2019
2020 2003-06-15  Nathanael Nerode  <neroden@gcc.gnu.org>
2021
2022         * config/gofast.h, config/interix.h, config/interix3.h,
2023         config/libgloss.h, config/linux-aout.h, config/linux.h,
2024         config/lynx-ng.h, config/lynx.h: GNU CC -> GCC.
2025         * config/kaos.h: "GNU compiler" -> GCC.
2026         * config/linux-aout.h, config/lynx.h: Clarify comment describing file.
2027
2028         * config/ip2k/crt0.S, config/ip2k/ip2k-protos.h,
2029         config/ip2k/ip2k.c, config/ip2k/ip2k.md, config/ip2k/libgcc.S:
2030         GNU CC -> GCC.
2031
2032         * config/svr3.h: Remove #if 0 code, misleading comments.
2033         GNU CC -> GCC.
2034
2035 2003-06-15  Zack Weinberg  <zack@codesourcery.com>
2036
2037         * vmsdbgout.c (vmsdbgout_finish): Rename parameter to
2038         main_input_filename to avoid conflict with input_filename macro.
2039
2040 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
2041
2042         * config/mips/mips.h (asm_file_name, g_switch_set,
2043         g_switch_value): Remove.
2044         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
2045         unnecessary extern declarations.
2046
2047 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
2048
2049         * config/frv/frv.h: Remove declaration of g_switch_value.
2050         * config/m32r/m32r.h: Remove declaration of g_switch_value.
2051         * config/m68hc11/m68hc11.c: Remove declaration of asm_file_name.
2052
2053 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
2054
2055         * opts.sh: Quote '+' in regex.
2056
2057 2003-06-15  Andrew Pinski <pinskia@physics.uc.edu>
2058
2059         * config/rs6000/t-rs6000: Add dependence of cfglayout.h to rs6000.o.
2060         * config/rs6000/rs6000.c: Include cfglayout.h.
2061         * config/alpha/alpha.c: Likewise.
2062         * config/ia64/ia64.c: Likewise.
2063         * config/sparc/sparc.c: Likewise.
2064         * config/sh/sh.c: Likewise.
2065
2066 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
2067
2068         * opts.sh: Quote '+' in regex.
2069
2070 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
2071
2072         * c-opts.c (lang_flags): Update for new spelling of flags.
2073         (write_langs): Similarly.
2074         * c.opt: Specify languages.
2075         * opts.h: Remove languages.
2076         * opts.sh: Recognise front-end defined languages.
2077         * doc/sourcebuild.texi: Update.
2078
2079 2003-06-15  Andreas Jaeger  <aj@suse.de>
2080
2081         * alloc-pool.c: Convert to ISO C90 prototypes.
2082         * alloc-pool.h: Likewise.
2083         * alias.c: Likewise.
2084         * attribs.c: Likewise.
2085         * bb-reorder.c: Likewise.
2086         * bitmap.h: Likewise.
2087         * bitmap.c: Likewise.
2088         * builtins.c: Likewise.
2089
2090         * tree.h: Convert prototypes of attribs.c to ISO C90.
2091         * basic-block.h: Convert prototypes of bb-reorder.c to ISO C90.
2092         * rtl.h: Convert prototypes of alias.c and builtins.c to ISO C90.
2093         * expr.h: Convert prototypes of builtins.c to ISO C90.
2094
2095 2003-06-15  Roger Sayle  <roger@eyesopen.com>
2096
2097         * config/i386/i386.md (expsf2, expdf2, expxf2): New patterns to
2098         implement exp, expf and expl built-ins as inline x87 intrinsics.
2099         (UNSPEC_FSCALE, UNSPEC_FRNDINT, UNSPEC_F2XM1): New unspecs to
2100         represent x87's fscale, frndint and f2xm1 insns respectively.
2101         (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): New insn patterns
2102         to encode x87's "fscale" instruction followed by a pop.
2103         (*frndintxf2): New insn pattern for "frndint".
2104         (*f2xm1xf2): New insn pattern for "f2xm1".
2105
2106         * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT and
2107         UNSPEC_F2XM1 like UNSPEC_{SIN,COS} and handle UNSPEC_FSCALE like
2108         UNSPEC_FPATAN.
2109
2110 2003-06-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2111
2112         * gencheck.c (main): Avoid generating duplicate macros.
2113
2114         * Makefile.in (stagefeedback-start): Use $(SUBDIRS) instead of
2115         knowing names of language subdirectories.
2116
2117 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
2118
2119         * c-pch.c (asm_file_name): Remove.
2120         * common.opt: Add more switches.
2121         * flags.h (g_switch_set): Boolify.
2122         * opts.c (g_switch_value, g_switch_set, exit_after_options,
2123         version_flag): Move from toplev.c.
2124         (common_handle_option): Handle more switches from toplev.c.
2125         * toplev.c (display_help, display_target_options, decode_d_option,
2126         print_version): Make non-static, remove prototypes.
2127         (aux_base_name, asm_file_name, aux_info_file_name): Constify.
2128         (version_flag, g_switch_value, g_switch_set, exit_after_options):
2129         Remove.
2130         (independent_decode_option): Move some handlers to opts.c.
2131         * toplev.h (aux_info_file_name, aux_base_name, asm_file_name,
2132         exit_after_options, version_flag, display_help, display_target_options,
2133         print_version, decode_d_option): New.
2134
2135 2003-06-15  Kazu Hirata  <kazu@cs.umass.edu>
2136
2137         * config/alpha/alpha.md: Follow spelling conventions.
2138         * config/arm/arm.c: Likewise.
2139         * config/arm/arm.h: Likewise.
2140         * config/arm/arm.md: Likewise.
2141         * config/arm/crtn.asm: Likewise.
2142         * config/m32r/m32r.c: Likewise.
2143         * config/m32r/m32r.md: Likewise.
2144         * config/rs6000/rs6000.c: Likewise.
2145
2146 2003-06-15  Richard Henderson  <rth@redhat.com>
2147
2148         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Call
2149         insn_locators_initialize.
2150         * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
2151         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
2152         * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
2153         * config/sh/sh.c (sh_output_mi_thunk): Do it later.
2154
2155 2003-06-15  Kazu Hirata  <kazu@cs.umass.edu>
2156
2157         * builtins.c (expand_builtin_expect_jump): Remove redundant
2158         tests that are also in any_condjump_p().
2159
2160 2003-06-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2161
2162         * libgcc2.c: Delete sysV68 L_trampoline section.
2163         * config/m68k/mot3300-crt0.S: Delete file.
2164         * config/m68k/mot3300Mcrt0.S: Likewise.
2165
2166 2003-06-15  Nathanael Nerode  <neroden@gcc.gnu.org>
2167
2168         * config/aoutos.h: Remove.
2169         * config.gcc: Remove reference to aoutos.h.
2170         * config/m68k/m68k-aout.h: Remove reference to aoutos.h.
2171
2172 2003-06-14  Kazu Hirata  <kazu@cs.umass.edu>
2173
2174         * doc/install.texi: Follow spelling conventions.
2175         * doc/tm.texi: Likewise.
2176         * config/fp-bit.c: Likewise.
2177         * config/arm/arm.c: Likewise.
2178         * config/frv/frv.c: Likewise.
2179         * config/ns32k/NOTES: Likewise.
2180         * config/ns32k/STATUS: Likewise.
2181
2182 2003-06-14  Roger Sayle  <roger@eyesopen.com>
2183             Zack Weinberg  <zack@codesourcery.com>
2184
2185         * rtl.h (STORE_FLAG_VALUE): Remove default definition from here.
2186         * defaults.h (STORE_FLAG_VALUE): Move default definition to here.
2187         * doc/tm.texi (STORE_FLAG_VALUE): Document the default value.
2188
2189         * config/alpha/alpha.h (STORE_FLAG_VALUE): Remove definition.
2190         * config/arc/arc.h (STORE_FLAG_VALUE): Likewise.
2191         * config/arm/arm.h (STORE_FLAG_VALUE): Likewise.
2192         * config/cris/cris.h (STORE_FLAG_VALUE): Likewise.
2193         * config/i370/i370.h (STORE_FLAG_VALUE): Likewise.
2194         * config/i386/i386.h (STORE_FLAG_VALUE): Likewise.
2195         * config/i960/i960.h (STORE_FLAG_VALUE): Likewise.
2196         * config/ia64/ia64.h (STORE_FLAG_VALUE): Likewise.
2197         * config/ip2k/ip2k.h (STORE_FLAG_VALUE): Likewise.
2198         * config/m32r/m32r.h (STORE_FLAG_VALUE): Likewise.
2199         * config/mcore/mcore.h (STORE_FLAG_VALUE): Likewise.
2200         * config/mips/mips.h (STORE_FLAG_VALUE): Likewise.
2201         * config/mmix/mmix.h (STORE_FLAG_VALUE): Likewise.
2202         * config/ns32k/ns32k.h (STORE_FLAG_VALUE): Likewise.
2203         * config/pa/pa.h (STORE_FLAG_VALUE): Likewise.
2204         * config/pdp11/pdp11.h (STORE_FLAG_VALUE): Likewise.
2205         * config/sh/sh.h (STORE_FLAG_VALUE): Likewise.
2206         * config/sparc/sparc.h (STORE_FLAG_VALUE): Likewise.
2207         * config/v850/v850.h (STORE_FLAG_VALUE): Likewise.
2208         * config/xtensa/xtensa.h (STORE_FLAG_VALUE): Likewise.
2209
2210 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
2211
2212         * opts.sh (POSIXLY_CORRECT): Unset it.
2213
2214         * tree.h (init_function_start): Remove filename and line paramters.
2215         * function.c (init_function_start): Remove filename and line
2216         parameters. Use DECL_SOURCE_LOCATION.
2217         * c-decl.c (store_parm_decls): Adjust init_function_start call.
2218         (c_expand_body_1): Likewise.
2219         * coverage.c (create_coverage): Likewise.
2220         * objc/objc-act.c (build_tmp_function_decl): Set line number to
2221         zero.
2222         (hack_method_prototype): Adjust init_function_start call.
2223
2224 2003-06-14  Richard Earnshaw  <rearnsha@arm.com>
2225
2226         PR target/3724
2227         * arm/linux-elf.h (PROFILE_HOOK): Define.
2228
2229 2003-06-14  Richard Earnshaw  <rearnsha@arm.com>
2230
2231         PR target/11183
2232         * arm.h (CANNOT_CHANGE_MODE_CLASS): Define.
2233
2234 2003-06-14  Roger Sayle  <roger@eyesopen.com>
2235
2236         * opts.sh: Work around a mysterious feature in cygwin's gawk
2237         where specifying the input files explicitly has a different
2238         behavior to piping them via stdin.
2239
2240 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
2241
2242         * doc/sourcebuild.texi: Update.
2243
2244 2003-06-14  Richard Earnshaw  <rearnsha@arm.com>
2245
2246         PR target/11183
2247         * arm.c (output_move_double): Pass SImode to adjust_address.
2248
2249 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
2250
2251         * Makefile.in: Update to use common.opt and lang_opt_files.
2252         (c-options.c, c-options.h): Remove.
2253         (options.c, options.h): Add.
2254         * c-opts.c: Include options.h not c-options.h.
2255         * common.opt: New file.
2256         * configure, configure.in: Add lang_opt_files.
2257         * opts.c: Include flags.h and diagnostic.h.
2258         (common_handle_option): New.
2259         (handle_option): Update to recognize common options and all
2260         language-dependent options.
2261         * opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New.
2262         (struct cl_option): Make flags of type int.
2263         * opts.h: Flag option with front ends to which it applies.
2264         Handle duplicate options.
2265         * toplev.c (filename): Remove.
2266         (independent_decode_option): Don't handle filenames and -quiet.
2267         (process_options, do_compile): Update.
2268
2269 2003-06-14  Nick Clifton  <nickc@redhat.com>
2270
2271         * doc/install.texi (Specific): Add description of different
2272         ARM supported file format targets.
2273
2274 Sat Jun 14 11:12:04 CEST 2003  Jan Hubicka  <jh@suse.cz>
2275
2276         * reorg.c (emit_delay_sequence, dbr_schedule): Clear insn locators
2277         inside delay slots.
2278
2279 2003-06-13  Matt Kraai  <kraai@alumni.cmu.edu>
2280
2281         * unwind-c.c: Define NO_SIZE_OF_ENCODED_VALUE.
2282         * unwind-pe.h (size_of_encoded_value): Do not define if
2283         NO_SIZE_OF_ENCODED_VALUE is defined.
2284
2285 2003-06-13  Roger Sayle  <roger@eyesopen.com>
2286
2287         * expr.c (expand_expr <COMPLEX_CST>): Handle the case of
2288         expanding a complex constant into a CONCAT target.
2289
2290 2003-06-13  Zack Weinberg  <zack@codesourcery.com>
2291
2292         * config/svr3.h (ASM_FILE_START): Don't use ASM_FILE_START_1.
2293         (ASM_FILE_START_1): Delete.
2294         * config/i386/att.h, config/i386/sco5.h,
2295         config/i386/sysv3.h
2296         (ASM_FILE_START_1): Delete.
2297
2298 2003-06-13  Kelley Cook  <kelleycook@wideopenwest.com>
2299
2300         * config/i386/bsd.h: Remove ASM_FILE_START.
2301         * config/i386/djgpp.h: Likewise.
2302         * config/i386/gas.h (ASM_FILE_START): Output .file before .intel_syntax.
2303
2304         * config/i386/djgpp.h: Move included unix.h, bsd.h, gas.h to ...
2305         * config.gcc (i[34567]86-pc-msdosdjgpp): ... here.
2306
2307 2003-06-13  Vladimir Makarov  <vmakarov@redhat.com>
2308
2309         PR bootstrap/10835
2310         * haifa-sched.c (max_lookahead_tries,
2311         cached_first_cycle_multipass_dfa_lookahead,
2312         cached_issue_rate): New variables.
2313         (max_issue): Check the number of tries.
2314         (choose_ready): Calculate max_lookahead_tries.
2315         (sched_init): Check cached_issue_rate.
2316
2317 2003-06-13  Richard Henderson  <rth@redhat.com>
2318
2319         * cfgbuild.c (make_edges): Set ABNORMAL with SIBCALL.
2320         * cfgrtl.c (purge_dead_edges): Expect it too.
2321
2322 2003-06-13  Jim Wilson  <wilson@tuliptree.org>
2323             Eric Botcazou  <ebotcazou@libertysurf.fr>
2324
2325         PR bootstrap/10983
2326         * combine.c (make_extraction): Use gen_lowpart_for_combine
2327         when extracting from a REG and not in the destination of a SET.
2328
2329 2003-06-13  Doug Evans  <dje@sebabeach.org>
2330
2331         * tsystem.h (abort): Declare in inhibit_libc case to remove build
2332         warnings for addvsi3, et.al.
2333
2334 2003-06-13  Aldy Hernandez  <aldyh@redhat.com>
2335
2336         * c-common.c (handle_mode_attribute): Use VECTOR_MODE_P macro.
2337
2338         * simplify-rtx.c (simplify_subreg): Same.
2339
2340         * emit-rtl.c (gen_lowpart_common): Same.
2341
2342 2003-06-13  Kazu Hirata  <kazu@cs.umass.edu>
2343
2344         * builtins.c: Fix comment typos.
2345         * fold-const.c: Likewise.
2346
2347 2003-06-13  Doug Evans  <dje@sebabeach.org>
2348             Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2349
2350         * config/m32r/m32r-protos.h (m32r_pass_by_reference): Declare.
2351         * config/m32r/m32r.c (m32r_pass_by_reference): New fn.
2352         (m32r_va_arg): Use it.
2353         * config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Ditto.
2354         (RETURN_IN_MEMORY): Ditto.
2355
2356 2003-06-13  Nathanael Nerode  <neroden@gcc.gnu.org>
2357
2358         * c-typeck.c: Remove #if 0 clauses.
2359
2360         PR other/1494
2361         * config/alpha/openbsd.h, config/i386/openbsd.h,
2362         config/m68k/openbsd.h, config/sparc/openbsd.h: Remove
2363         residual reference to EGCS.
2364
2365 2003-06-13  Richard Earnshaw  <rearnsha@arm.com>
2366
2367         * arm.c (output_call_mem): If the address references the link-register
2368         use an instruction sequence that avoids early-clobbering IP.
2369         (eliminate_lr2ip): Delete.
2370
2371 2003-06-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2372
2373         * c-format.c (format_types_orig): Disallow '*' width/precision in
2374         asm_fprintf format checks.
2375
2376 2003-06-13  Ulrich Weigand  <uweigand@de.ibm.com>
2377
2378         * config/s390/s390.c (s390_va_arg): Fix alignment when retrieving
2379         non-integral types from integer register save area slots.
2380
2381 2003-06-13  Nathanael Nerode  <neroden@gcc.gnu.org>
2382
2383         * config/i386/svr3dbx.h: GNU CC -> GCC; Intel 385 -> Intel 386.
2384
2385 2003-06-13  Florian Weimer  <fw@deneb.enyo.de>
2386
2387         * doc/invoke.texi (SPARC Options): Document ``-mimpure-text''.
2388
2389 2003-06-13  Kaz Kojima  <kkojima@gcc.gnu.org>
2390
2391         * config/sh/linux.h (TARGET_ASM_FILE_END): Set TARGET_ASM_FILE_END
2392         to file_end_indicate_exec_stack.
2393
2394 2003-06-12  Richard Henderson  <rth@redhat.com>
2395
2396         PR target/11089
2397         * config/i386/i386.md (sse_movaps): Use an expander to force
2398         one operand to be a register.
2399         (sse_movups): Likewise.
2400
2401 2003-06-13  Doug Evans  <dje@sebabeach.org>
2402
2403         Remove some build warnings.
2404         * config/m32r/initfini.c (__CTOR_LIST__,__DTOR_LIST__): Attribute used.
2405         (__do_global_ctors,__do_global_dtors): Ditto.
2406
2407 2003-06-12  Richard Henderson  <rth@redhat.com>
2408
2409         PR middle-end/10557
2410         * rtlanal.c (subreg_offset_representable_p): Relax subreg check.
2411
2412 2003-06-13  Kazu Hirata  <kazu@cs.umass.edu>
2413
2414         * config/m32r/m32r.md: Fix a comment typo.
2415
2416 2003-06-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2417             Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
2418
2419         PR target/10142
2420         * config/sparc/sparc.c (function_arg_record_value_parms): Add
2421         new 'stack' field.
2422         (function_arg_record_value_1): Set 'stack' to 1 if we run out of
2423         integer slots for an integer field.
2424         (function_arg_record_value_3): Shift vector index.
2425         (function_arg_record_value_2): Likewise.
2426         (function_arg_record_value): Initialize 'stack' to 0.
2427         Set 'stack' to 1 if we run out of integer slots for an integer field.
2428         Generate (parallel [(expr_list (nil) ...) ...]) if 'stack' is set to 1.
2429
2430 2003-06-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2431
2432         PR optimization/10955
2433         * unroll.c (unroll_loop): Fix off-by-one bug.
2434
2435 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
2436
2437         * config/rs6000/rs6000.c (function_arg): Remove typo.
2438
2439 2003-06-12  Richard Henderson  <rth@redhat.com>
2440
2441         * config/i386/i386.c (legitimate_constant_p): Handle UNSPEC_NTPOFF
2442         and UNSPEC_DTPOFF.
2443
2444 2003-06-12  Richard Henderson  <rth@redhat.com>
2445
2446         PR middle-end/10475
2447         * expmed.c (emit_store_flag): Use simplify_gen_subreg directly
2448         for extracting sub-words.
2449
2450 2003-06-12  Richard Henderson  <rth@redhat.com>
2451
2452         PR target/7594
2453         * config/m68k/m68k.md (zero_extendhisi2): Use gen_lowpart_SUBREG.
2454         (zero_extendqihi2, zero_extendqisi2): Likewise.
2455
2456 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
2457
2458         * config/rs6000/rs6000.c (function_arg): Always split vectors for
2459         e500 if it's a stdarg function.
2460         (function_arg_advance): Advance 2 registers for vectors in a
2461         stdarg function.
2462         (init_cumulative_args): Initialize stdarg.
2463         (rs6000_spe_function_arg): New.
2464
2465         * config/rs6000/rs6000.h (rs6000_args): Add stdarg.
2466
2467 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
2468
2469         * config/rs6000/rs6000.h (MODES_TIEABLE_P): Add SPE vectors.
2470
2471 2003-06-12  Roger Sayle  <roger@eyesopen.com>
2472
2473         PR middle-end/168
2474         * fold-const.c (tree_expr_nonnegative_p):  Handle addition
2475         and multiplication of zero extensions, floating point division,
2476         and integer<->fp, fp<->fp and zero extension conversions.
2477         The built-in ceil and floor functions preserve signedness.
2478
2479 2003-06-12  Kazu Hirata  <kazu@cs.umass.edu>
2480
2481         * ChangeLog: Follow spelling conventions.
2482         * ChangeLog.2: Likewise.
2483         * c-decl.c: Likewise.
2484         * cfgloop.h: Likewise.
2485         * cgraph.c: Likewise.
2486         * coverage.c: Likewise.
2487         * cppcharset.c: Likewise.
2488         * cpphash.h: Likewise.
2489         * cpplex.c: Likewise.
2490         * cpplib.c: Likewise.
2491         * dbxout.c: Likewise.
2492         * df.c: Likewise.
2493         * dwarf2out.c: Likewise.
2494         * dwarfout.c: Likewise.
2495         * emit-rtl.c: Likewise.
2496         * explow.c: Likewise.
2497         * gcov-io.c: Likewise.
2498         * gcov-io.h: Likewise.
2499         * gcov.c: Likewise.
2500         * gengtype.c: Likewise.
2501         * ggc.h: Likewise.
2502         * opts.c: Likewise.
2503         * real.c: Likewise.
2504         * reload.c: Likewise.
2505         * stmt.c: Likewise.
2506
2507 2003-06-12  Janis Johnson  <janis187@us.ibm.com>
2508
2509         * doc/install.texi (m32r-*-elf): Change company to Renesas.
2510
2511 Thu Jun 12 20:00:55 CEST 2003  Jan Hubicka  <jh@suse.cz>
2512
2513         * basic-block.h (flow_delete_block_noexpunge): Kill.
2514         * cfgrtl.c (flow_delete_block_noexpunge): Merge to
2515         rtl_delete_block.
2516
2517 2003-06-10  Richard Henderson  <rth@redhat.com>
2518
2519         PR inline-asm/4823
2520         * reg-stack.c (any_malformed_asm): New.
2521         (check_asm_stack_operands): Set it.
2522         (convert_regs_1): Check it before aborting.
2523
2524 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
2525
2526         * config/rs6000/spe.md: Change all clobbers of the accumulator to sets.
2527
2528 2003-06-12  Jakub Jelinek  <jakub@redhat.com>
2529
2530         * c-opts.c (complain_wrong_lang): Add on argument.
2531         Print no- switch if on is false.
2532         (c_common_decode_option): Adjust caller.
2533
2534 2003-06-12  Ulrich Weigand  <uweigand@de.ibm.com>
2535
2536         * config/s390/s390.c (s390_emit_prologue): Use LA instead of AR
2537         to initialize GOT register.
2538
2539 2003-06-12  Roger Sayle  <roger@eyesopen.com>
2540
2541         * fold-const.c (tree_expr_nonnegative_p): Add support for
2542         floating point constants, addition and multiplication.
2543
2544 2003-06-12  J"orn Rennecke <joern.rennecke@superh.com>
2545
2546         * sh.md (adddi3_compact, subdi3_compact): Add earlyclobber
2547         constraint modifier for operand 0.
2548
2549 2003-06-12  Hans-Peter Nilsson  <hp@axis.com>
2550
2551         Don't warn on dollars in builtin macro definitions,
2552         e.g. __REGISTER_PREFIX__.
2553         * cpphash.h (struct cpp_reader): Move member warn_dollars...
2554         * cpplib.h (struct cpp_options): ...to here.  Change type to
2555         unsigned char.
2556         * cppinit.c (cpp_create_reader): Set it to 1 here.
2557         (post_options): Don't set it here.
2558         * c-opts.c (c_common_init_options): Reset it to 0 here.
2559         (finish_options): Set it here.
2560         * cpplex.c (forms_identifier_p): Tweak for new location of
2561         warn_dollars.
2562
2563         * configure.in (assembler dwarf2 debug_line support): Define insn
2564         for cris-*-* and mmix-*-*.
2565         * configure: Regenerate.
2566
2567 2003-06-11  Uwe Stieber  <uwe@kaos-group.de>
2568
2569         * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
2570         powerpcle-*-kaos*, strongarm-*-kaos*): New targets.
2571         (sh-*-elf*): Add sh*-*-kaos* support.
2572         * config/kaos.h, config/arm/kaos-strongarm.h, config/arm/kaos-arm.h,
2573         config/i386/kaos-i386.h, config/rs6000/kaos-ppc.h,
2574         config/sh/kaos-sh.h: New files.
2575
2576 2003-06-12  Kazu Hirata  <kazu@cs.umass.edu>
2577
2578         * gcse.c (fis_get_condition): Make it a global function.
2579         * reload1.c (reload_cse_move2add): Detect implicit sets.
2580         * rtl.h: Add a prototype for fis_get_condition.
2581
2582 2003-06-11  Richard Henderson  <rth@redhat.com>
2583
2584         * stmt.c (expand_asm_operands): Don't warn for memories with
2585         queued addresses.
2586
2587 2003-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
2588
2589         * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Rewrite without
2590         brackets.
2591
2592 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
2593
2594         * hooks.c (hook_int_size_t_constcharptr_int_0): New.
2595         * hooks.h (hook_int_size_t_constcharptr_int_0): New.
2596         * langhooks-def.h (lhd_decode_option, LANG_HOOKS_DECODE_OPTION): Die.
2597         (LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_INITIALIZER): Update.
2598         * langhooks.c (lhd_decode_option): Remove.
2599         * langhooks.h (struct lang_hooks): Remove decode_option.
2600         * opts.c (handle_option): No longer use decode_option.
2601
2602 2003-06-11  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2603
2604         * cfgloopanal.c (variable_initial_value): Update the set of altered
2605         registers correctly.
2606
2607 2003-06-11  Roger Sayle  <roger@eyesopen.com>
2608             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2609
2610         * config/d30v/d30v.h: Delete reference to ASM_FINAL_SPEC.
2611         * config/i386/netbsd-elf.h: Likewise.
2612         * config/m32r/m32r.h: Likewise.
2613         * config/mn10300/mn10300.h: Likewise.
2614         * config/stormy16/stormy16.h: Likewise.
2615         * config/v850/v850.h: Likewise.
2616         * config/vax/netbsd-elf.h: Likewise.
2617         * config/xtensa/elf.h: Likewise.
2618         * config/xtensa/linux.h: Likewise.
2619
2620 2003-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2621
2622         * config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
2623         DWARF 2 default.
2624
2625         * config/mips/dbxmdebug.h: New file.
2626         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
2627         gas and --with-stabs.
2628
2629 2003-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
2630
2631         * expr.c (can_move_by_pieces): align argument may be unused.
2632
2633 2003-06-11  J"orn Rennecke <joern.rennecke@superh.com>
2634
2635         * expr.c (convert_move): Handle moves between two CONCATs.
2636
2637 2003-06-11  Kazu Hirata  <kazu@cs.umass.edu>
2638
2639         * config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
2640         !TARGET_H8300.
2641
2642 2003-06-11  Kazu Hirata  <kazu@cs.umass.edu>
2643
2644         * config/h8300/h8300.c (final_prescan_insn): Don't dump rtl.
2645         * config/h8300/h8300.h (MASK_RTL_DUMP): Remove.
2646         (TARGET_RTL_DUMP): Likewise.
2647         (TARGET_SWITHCES): Remove -mrtl-dump.
2648
2649 2003-06-10  Richard Henderson  <rth@redhat.com>
2650
2651         * optabs.c (gen_cond_trap): Fix prepare_operand typo.
2652
2653 2003-06-10  Richard Henderson  <rth@redhat.com>
2654
2655         * config/ia64/ia64.md (call_gp): Fix memory mode.
2656
2657 2003-06-10  James E Wilson  <wilson@tuliptree.org>
2658
2659         PR target/8812
2660         * reload1.c (choose_reload_regs): For equiv reg, add loop over all
2661         hard regs for reload_reg_used_at_all and reg_class_contents checks.
2662
2663 2003-06-10  Kazu Hirata  <kazu@cs.umass.edu>
2664
2665         * config/h8300/h8300.c (print_operand): Remove support for
2666         operand character 'b'.
2667         Add the AND case to operand character 'c'.
2668         * config/h8300/h8300.md (two anonymous patterns): Replace
2669         operand character 'b' with 'c'.
2670
2671 2003-06-10  Kazu Hirata  <kazu@cs.umass.edu>
2672
2673         * config/h8300/h8300.c (print_operand): Remove support for
2674         operand character 'u'.
2675
2676 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
2677
2678         * configure.in: Fix typo.
2679         * configure: Regenerate.
2680
2681 2003-06-10  Loren James Rittle  <ljrittle@acm.org>
2682
2683         * config/alpha/alpha.c (unicosmk_file_end): Add conditional
2684         compilation guard.
2685
2686 2003-06-10  J"orn Rennecke <joern.rennecke@superh.com>
2687
2688         * sh-protos.h (function_symbol): Declare.
2689         * sh.c (expand_block_move, expand_ashiftrt): Use it.
2690         (sh_expand_prologue, sh_expand_epilogue): Likewise.
2691         (sh_initialize_trampoline): Likewise.
2692         (function_symbol): New function.
2693         * sh.md (udivsi3, divsi3, mulsi3, ic_invalidate_line): Use it.
2694         (initialize_trampoline, call, call_pop, call_value, sibcall): Likewise.
2695         (call_value_pop, shcompact_return_tramp): Likewise.
2696
2697         * sh.h (OVERRIDE_OPTIONS): Don't suppress --profile-arc-flag.
2698
2699         * sh.md (GOTaddr2picreg): Use gen_lowpart to get lowpart of
2700         target register.
2701
2702 2003-06-10  DJ Delorie  <dj@redhat.com>
2703
2704         * doc/md.texi (Machine Constraints): Document stormy's Z
2705         constraint.
2706
2707 2003-06-10  Geoffrey Keating  <geoffk@apple.com>
2708
2709         * except.c (call_site_base): Mark with GTY.
2710
2711 2003-06-10  Richard Earnshaw  <rearnsha@arm.com>
2712
2713         * arm-proto.h: Convert to ISO C90 prototypes.
2714         * arm.c: Likewise.
2715
2716 2003-06-10  J"orn Rennecke <joern.rennecke@superh.com>
2717
2718         * sh.c (sh_output_mi_thunk): Call insn_locators_initialize.
2719
2720 2003-06-10  Steve Ellcey  <sje@cup.hp.com>
2721
2722         * calls.c (expand_call): Convert structure_value_addr to Pmode if
2723         necessary.
2724
2725 2003-06-10  Andrew Haley  <aph@redhat.com>
2726
2727         * langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
2728         (LANG_HOOKS_DECLS): Add LANG_HOOKS_DECL_OK_FOR_SIBCALL.
2729         (lhd_decl_ok_for_sibcall): New.
2730         * langhooks.c (lhd_decl_ok_for_sibcall): New.
2731         * langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
2732         * calls.c (expand_call): Check lang_hook before generating a
2733         sibcall.
2734
2735 2003-06-10  DJ Delorie  <dj@redhat.com>
2736
2737         * config/stormy16/stormy16.c (xstormy16_extra_constraint_p): Add Z,
2738         which matches (const_int 0) for addhi3.
2739         * config/stormy16/stormy16.md: Document known constraints.
2740         (addhi3): Handle adding zero.
2741
2742 2003-06-10  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2743
2744         * config/m32r/m32r.h (HARD_REGNO_RENAME_OK): New.
2745         * config/m32r/m32r.c (m32r_hard_regno_rename_ok): New.
2746         * config/m32r/m32r-protos.h: Prototype it.
2747
2748 2003-06-10  Janis Johnson  <janis187@us.ibm.com>
2749
2750         * config/rs6000/eabi.h (TARGET_OS_CPP_BUILTINS): Define builtins
2751         common to rs6000 sysv targets.
2752         * config/rs6000/eabisim.h (TARGET_OS_CPP_BUILTINS): Ditto.
2753         * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Ditto.
2754
2755 2003-06-10  Nick Clifton  <nickc@redhat.com>
2756
2757         * config.gcc: Add arm-wince-pe target.
2758         * config/arm/pe.h (MULTILIB_DEFAULTS): Define.
2759         Add comment about default apcs26 support.
2760         * config/arm/t-pe (MULTILIB_OPTIONS): Add an -mapcs-32
2761         multilib.
2762         (MULTILIB_DIRNAMES): Add 'apcs32'.
2763         * config/arm/t-wince-pe: New makefile fragment.
2764         * config/arm/wince-pe.h: New file.  Overrides a few definitions
2765         in arm/pe.h
2766
2767 2003-06-10  Roger Sayle  <roger@eyesopen.com>
2768
2769         * builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
2770         * fold-const.c (fold <NEGATE_EXPR>): Convert -f(x) into f(-x)
2771         when x is easily negated and f is sin, tan or atan.
2772         (fold <MULT_EXPR>): Optimize tan(x)*cos(x) and cos(x)*tan(x) as
2773         sin(x) with flag_unsafe_math_optimizations.
2774         (fold <RDIV_EXPR>): With flag_unsafe_math_optimizations fold
2775         sin(x)/cos(x) as tan(x) and cos(x)/sin(x) as 1.0/tan(x).
2776
2777 2003-06-10  Roger Sayle  <roger@eyesopen.com>
2778
2779         * fold-const.c (fold <EQ_EXPR>):  Don't fold x == x only if x
2780         is a floating point type *and* we currently honor NaNs.
2781         (fold <NE_EXPR>): Likewise.
2782
2783 2003-06-10  Mark Mitchell  <mark@codesourcery.com>
2784
2785         PR c++/11131
2786         * tree-inline.c (inlinable_function_p): Call the language-specific
2787         hook early.
2788
2789 2003-06-09  David Taylor  <dtaylor@emc.com>
2790
2791         * config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg):  Skip over
2792         the f_res field.
2793
2794 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
2795
2796         * configure.in: Remove references to host_truncate_target.
2797         * configure: Regenerate.
2798         * config.gcc: Remove references to truncate_target,
2799         host_truncate_target.
2800
2801         * Makefile.in, configure.in, config/m68hc11/t-m68hc11-gas:
2802         Replace "build_canonical" with build, "host_canonical" with host.
2803         * configure.in: Use GCC_TOPLEV_SUBDIRS.
2804         * aclocal.m4: Include ../config/acx.m4.
2805         * configure: Regenerate.
2806
2807 2003-06-09  David Taylor  <dtaylor@emc.com>
2808
2809         * config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
2810         bytes of padding in the __va_list_tag structure a name (reserved).
2811
2812 2003-06-09  Jason Merrill  <jason@redhat.com>
2813
2814         * fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR.
2815
2816 2003-06-09  Osku Salerma  <osku@iki.fi>
2817
2818         * c-format.c (check_format_string, get_constant): New.
2819         (handle_format_attribute, handle_format_arg_attribute,
2820         decode_format_attr): Change to use above functions.
2821
2822 2003-06-09  Richard Henderson  <rth@redhat.com>
2823
2824         * stmt.c (expand_asm_operands): Re-word warning.
2825
2826 2003-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
2827
2828         PR target/8787
2829         * config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
2830         if -masm=intel.
2831
2832 2003-06-09  James E Wilson  <wilson@tuliptree.org>
2833
2834         * config/frv/cmovc.c, config/frv/cmovh.c, config/frv/cmovw.c,
2835         config/frv/frvbegin.c, config/frv/frvend.c, config/frv/lib1funcs.asm:
2836         Add libgcc exception.
2837
2838 2003-06-09  David Edelsohn  <edelsohn@gnu.org>
2839             Ayal Zaks  <gcchaifa@us.ibm.com>
2840
2841         * config/rs6000/rs6000.md (define_attr "type"): Add insert_word.
2842         (insvsi*): Add insert_word attribute.
2843         * config/rs6000/rs6000.c (rs6000_variable_issue): Add TYPE_INSERT_WORD.
2844         * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
2845         power4.md,rios1.md,rios2.md,rs64.md}: Add insert_word.
2846
2847 2003-06-09  Kazu Hirata  <kazu@cs.umass.edu>
2848
2849         * fold-const.c (fold): Fix a comment typo.
2850
2851 2003-06-09  Nathan Sidwell  <nathan@codesourcery.com>
2852
2853         * tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
2854         removed.
2855
2856 2003-06-09  J"orn Rennecke <joern.rennecke@superh.com>
2857
2858         * sh.c (gen_block_redirect): Use locators.
2859
2860 2003-06-09  Richard Earnshaw  <rearnsha@arm.com>
2861
2862         * arm.h (THUMB_PRINT_OPERAND_ADDRESS): Use %wd in format and remove
2863         cast to int.
2864
2865 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
2866
2867         * configure.in: Assume gas 2.14 and above can handle MIPS relocation
2868         operators.
2869         * configure: Regenerated.
2870
2871 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
2872             Alexandre Oliva  <aoliva@redhat.com>
2873
2874         * config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
2875         (PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
2876         (STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
2877         n32/64 PIC.
2878         (MUST_SAVE_REGISTERS): Delete.
2879         * config/mips/mips.c (mips_frame_info): Remove extra_size field.
2880         (machine_function): Add global_pointer field.
2881         (mips_classify_constant): Check for (const $gp) using pointer equality
2882         with pic_offset_table_rtx.
2883         (mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
2884         (mips_restore_gp): Use current_function_outgoing_args_size.
2885         (print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
2886         GP_REG_FIRST + 28.  Handle relocation strings that have
2887         more than one '('.
2888         (mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
2889         (mips_global_pointer): New function.
2890         (mips_save_reg_p): New function, mostly split out from...
2891         (compute_frame_size): ...here.  Remove handling of extra_size.
2892         Reclaim args_size if no variables depend on it.  Don't treat gp
2893         as a special case: handle it in the main GPR loop.
2894         (mips_initial_elimination_offset): Fix comment.
2895         (save_restore_insns): Save every register in the GPR mask,
2896         removing distinction between mask and real_mask.
2897         (mips_output_function_prologue): Update .frame psuedo-op after
2898         the removal of extra_size.  Move the SVR4 PIC stack allocation
2899         and cprestore instructions to mips_expand_prologue.
2900         (mips_gp_insn): New function.
2901         (mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
2902         the chosen global pointer.  Handle SVR4 PIC stack allocation
2903         in the same way as other ABIs.  Adjust varargs code accordingly.
2904         Emit a cprestore insn after allocating the stack.  Use mips_gp_insn
2905         to emit the loadgp sequence.  Follow it with a loadgp_blockage
2906         if not using explicit relocs.
2907         (mips_output_function_epilogue): Reinstate the default gp register.
2908         (mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
2909         (mips16_optimize_gp): Likewise.
2910         * config/mips/mips.md (UNSPEC_LOADGP): Remove.
2911         (UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
2912         (UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
2913         (loadgp): Remove.
2914         (loadgp_blockage, cprestore): New instructions.
2915         (builtin_setjmp_setup): Implement using emit_move_insn.  Use
2916         pic_offset_table_rtx.
2917         (builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
2918         (builtin_longjmp): Use gen_raw_REG to force use of $28.
2919
2920 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
2921
2922         * config/mips/mips-protos.h (mips_output_division): Declare.
2923         * config/mips/mips.h (MASK_CHECK_RANGE_DIV): Remove.
2924         (MASK_BRANCHLIKELY): Use MASK_CHECK_RANGE_DIV's old number.
2925         (TARGET_NO_CHECK_ZERO_DIV, TARGET_CHECK_RANGE_DIV): Remove.
2926         (TARGET_CHECK_ZERO_DIV): New macro.
2927         (TARGET_SWITCHES): Remove -mcheck-range-div & -mno-check-range-div.
2928         * config/mips/mips.c (mips_output_division): New function.
2929         * config/mips/mips.md (length): Take TARGET_CHECK_ZERO_DIV into
2930         account when calculating the default length of a division.
2931         (divmodsi4, divmoddi4, udivmodsi4, udivmoddi4): Turn into define_insns.
2932         Enable regardless of optimization level.  Use mips_output_division.
2933         (divmodsi4_internal, divmoddi4_internal, udivmodsi4_internal,
2934         udivmoddi4_internal, div_trap, div_trap_normal, div_trap_mips16,
2935         divsi3, divsi3_internal, divdi3, divdi3_internal, modsi3,
2936         modsi3_internal, moddi3, moddi3_internal, udivsi3, udivsi3_internal,
2937         udivdi3, udivdi3_internal, umodsi3, umodsi3_internal, umoddi3,
2938         umoddi3_internal): Remove.
2939
2940 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
2941
2942         * config/mips/mips.c (mips_reg_names): Change hilo entry to "".
2943         (mips_sw_reg_names): Likewise.
2944         (mips_regno_to_class): Change hilo entry to NO_REGS.
2945         (hilo_operand): Use MD_REG_P.
2946         (extend_operator): New predicate.
2947         (override_options): Remove 'a' constraint.
2948         (mips_secondary_reload_class): Remove hilo handling.  Also remove
2949         handling of (plus sp reg) reloads for mips16.
2950         (mips_register_move_cost): Remove hilo handling.
2951         * config/mips/mips.h (FIXED_REGISTERS): Make hilo entry fixed.
2952         (MD_REG_LAST): Remove hilo from range.
2953         (HILO_REGNUM): Delete.
2954         (reg_class): Remove HILO_REG and HILO_AND_GR_REGS.
2955         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
2956         (PREDICATE_CODES): Add entry for extend_operator.
2957         (DEBUG_REGISTER_NAMES): Change hilo entry to "".
2958         * config/mips/mips.md: Remove hilo clobbers wherever they occur.
2959         Remove constraints from multiplication define_expands.  Remove
2960         clobbers from "decorative" define_expand patterns.
2961         (UNSPEC_HILO_DELAY): Delete.
2962         (*mul_acc_si, *mul_sub_si): Add early-clobber to operand 6.
2963         (mulsidi3, umulsidi3): Change pattern to match the TARGET_64BIT case.
2964         Adjust C code to just emit insns for !TARGET_64BIT.
2965         (mulsidi3_internal): Rename to mulsidi3_32bit.
2966         (mulsidi3_64bit): Use a "d" constraint for the destination.
2967         Use extend_operator so that the pattern can handle umulsidi3 as well.
2968         Split the instruction after reload.
2969         (*mulsidi3_64bit_parts): New pattern, generated by mulsidi3_64bit.
2970         (umulsidi3_internal): Rename to umulsidi3_32bit.
2971         (umulsidi3_64bit): Remove.
2972         (*smsac_di, *umsac_di): Line-wrap fixes.
2973         (udivsi3_internal): Don't allow operand 2 to be constant.
2974         (udivdi3_internal, umodsi3_internal, umoddi3_internal): Likewise.
2975         (movdi_internal2, movsi_internal): Remove hilo alternatives.
2976         (reload_in[sd]i, reload_out[sd]i, hilo_delay): Remove.
2977
2978 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
2979
2980         PR target/10913
2981         * config/mips/mips.h (TARGET_FILE_SWITCHING, NO_DBX_FUNCTION_END,
2982         PUT_SDB_SCL, PUT_SDB_INT_VAL, PUT_SDB_VAL, PUT_SDB_ENDEF,
2983         PUT_SDB_TYPE, PUT_SDB_SIZE, PUT_SDB_DIM, PUT_SDB_START_DIM,
2984         PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM, PUT_SDB_TAG, PUT_SDB_SRC_FILE,
2985         SDB_GENERATE_FAKE, TEXT_SECTION): Delete.
2986         (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, PUT_SDB_BLOCK_START,
2987         PUT_SDB_BLOCK_END, PUT_SDB_FUNCTION_END): Replace use of
2988         asm_out_text_file with asm_out_file.
2989         * config/mips/iris5gas.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Likewise.
2990         * config/mips/elf.h (TEXT_SECTION): Undefine.
2991         * config/mips/elf64.h (TEXT_SECION): Undefine.
2992         * config/mips/openbsd.h (TEXT_SECION): Undefine.
2993         * config/mips/mips.c (asm_out_text_file, asm_out_data_file): Delete.
2994         (override_options): Disable small-data optimizations unless using
2995         gas or explicit relocations.
2996         (mips_asm_file_start, mips_asm_file_end, mips_output_function_epilogue,
2997         iris6_asm_named_section, iris6_asm_file_start): Remove code for
2998         handling TARGET_FILE_SWITCHING.
2999         (copy_file_data): Move into TARGET_IRIX6 block.
3000
3001 2003-06-08  Richard Henderson  <rth@redhat.com>
3002
3003         * expr.h (EXPAND_MEMORY): New.
3004         * expr.c (expand_expr): Check it.
3005         * stmt.c (expand_asm_operands): Provide it when the constraint
3006         requires a memory.  Warn for memory input constraints without
3007         a memory operand.
3008
3009 2003-06-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3010
3011         * varasm.c: Don't include c-tree.h.
3012
3013 2003-06-08  Andreas Jaeger  <aj@suse.de>
3014
3015         * predict.h: Convert to ISO C90 prototypes.
3016         * predict.c: Likewise.
3017         * tree-dump.h: Likewise.
3018         * tree-dump.c: Likewise.
3019         * diagnostic.h: Likewise.
3020         * diagnostic.c: Likewise.
3021         * combine.c: Likewise.
3022
3023         * rtl.h: Convert prototypes of combine.c to ISO C90.
3024
3025 Sun Jun  8 21:27:41 CEST 2003  Jan Hubicka  <jh@suse.cz>
3026
3027         * cfglayout.c (insn_scope): New static function
3028         (block_locators_*, line_locators*, file_locators*): New static varrays.
3029         (scope_to_insns_initialize): Use them.
3030         (insn_line, insn_file): New functions.
3031         (scope_to_insns_finalize): Use insn_scope.
3032         (prologue_locator, epilogue_locator): New global variables.
3033         * emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
3034         make_call_insn_raw, emit_copy_of_insn_after): Use locators.
3035         (emit_insn_after_scope, emit_insn_before_scope
3036         emit_jump_insn_after_scope, emit_jump_insn_before_scope
3037         emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
3038         (emit_insn_after_setloc, emit_insn_before_setloc
3039         emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
3040         emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
3041         use locators.
3042         * final.c (notice_source_line): Use locators.
3043         (final_start_function): Set initial source file and line.
3044         (final_scan_insn): Use locators.
3045         * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
3046         noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
3047         noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
3048         noce_process_if_block, find_cond_trap): Likewise.
3049         * integrate.c (copy_insn_list): Likewise.
3050         * jump.c (duplicate_loop_exit_test): LIkewise.
3051         * print-rtl.c (print_rtx): Print locators.
3052         * recog.c (peephole2_optimize): Likewise.
3053         * rtl.h (INSN_SCOPE): Remove.
3054         (emit_insn_after_scope, emit_insn_before_scope
3055         emit_jump_insn_after_scope, emit_jump_insn_before_scope
3056         emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
3057         (emit_insn_after_setloc, emit_insn_before_setloc
3058         emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
3059         emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
3060         (insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
3061         * unroll.c (copy_loop_body): Use locators.
3062         * function.c (set_insn_locators): New function.
3063         (thread_prologue_and_epilogue_insns): Set the locators accordingly.
3064
3065 2003-06-08  Kazu Hirata  <kazu@cs.umass.edu>
3066
3067         * config/h8300/h8300.h (LONG_LONG_TYPE_SIZE): Set to 64.
3068         * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _floatdisf
3069         _fixsfdi _fixunssfdi.
3070         (LIB2FUNCS_EXTRA): Add entries for clzhi2, ctzhi2, parityhi2,
3071         popcounthi2.
3072         (TARGET_LIBGCC2_CFLAGS): Remove -DDI=SI.
3073         * config/h8300/clzhi2.c: New.
3074         * config/h8300/ctzhi2.c: Likewise.
3075         * config/h8300/parityhi2.c: Likewise.
3076         * config/h8300/popcounthi2.c: Likewise.
3077
3078 Sun Jun  8 15:52:17 CEST 2003  Jan Hubicka  <jh@suse.cz>
3079
3080         * i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
3081         * i386.c (k8_avoid_jump_misspredicts): Fix debug output.
3082
3083         * cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
3084         (dump_bb): New based on old dump_bb in cfgrtl.c
3085         (debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
3086         * cfghooks.h (cfgh_verify_flow_info): Return status.
3087         * cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
3088         * cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
3089         (dump_bb): Remove generic parts.
3090         (rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
3091         (rtl_verify_flow_info): Only check things dependeing on linearized RTL.
3092
3093 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
3094
3095         * Makefile.in: Rename options.c and options.h to c-options.c and
3096         c-options.h.
3097         (OBJS): Remove options.o.
3098         * c-opts.c: Don'tInclude c-options.h instead of options.h.
3099         * opts.c: Don't include options.h.
3100         (find_opt): Can't use enum opt_code or N_OPTS.
3101         * opts.h (struct cl_option, cl_options, cl_options_count): Move from...
3102         * opts.sh: ... here.
3103
3104 2003-06-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
3105             Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3106
3107         PR pch/9830
3108         * ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
3109         if HAVE_MINCORE is defined.
3110         (MAP_FAILED): Define if not defined.
3111         (gt_pch_save): Test against MAP_FAILED.
3112         (gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
3113         the mapping address to the preferred base after checking it
3114         is possible to do so. Test against MAP_FAILED.
3115         * configure.in: Test for the presence of mincore in libc.
3116         * config.in: Regenerate.
3117         * configure: Regenerate.
3118
3119 2003-06-07  Richard Henderson  <rth@redhat.com>
3120
3121         * config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
3122         conditional compilation guard.
3123
3124 2003-06-08  Kazu Hirata  <kazu@cs.umass.edu>
3125
3126         * optabs.c (expand_abs): Set result_unsignedp to 1 if
3127         flag_trav is zero.
3128
3129 2003-06-07  Richard Henderson  <rth@redhat.com>
3130
3131         * c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.
3132
3133 2003-06-07  Richard Henderson  <rth@redhat.com>
3134
3135         * basic-block.h (EDGE_SIBCALL): New.
3136         (EDGE_ALL_FLAGS): Update.
3137         * cfg.c (dump_edge_info): Add sibcall name.
3138         * cfgbuild.c (make_edges): Use EDGE_SIBCALL.
3139         * cfgrtl.c (purge_dead_edges): Handle sibcalls.
3140
3141 2003-06-07  Andreas Jaeger  <aj@suse.de>
3142
3143         * mklibgcc.in (lib2funcs): Remove _exit.
3144         * libgcc2.c: Remove L_exit.
3145         * gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.
3146
3147         * system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.
3148
3149         * doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.
3150
3151         * ggc.h: Convert to ISO C90 prototypes.
3152         * ggc-none.c: Likewise.
3153         * ggc-common.c: Likewise.
3154         * ggc-page.c: Likewise.
3155         * ggc-simple.c: Likewise.
3156
3157         * crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
3158
3159         * system.h: Poison INIT_SECTION_PREAMBLE.
3160
3161 2003-06-07  Zack Weinberg  <zack@codesourcery.com>
3162
3163         * config.gcc (with_cpu handling): Translate sparc64 in
3164         $machine to --with-cpu=v9.
3165         * config/alpha/alpha.c
3166         (TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
3167         (alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
3168
3169         * target.h: New hook asm_out.file_end.
3170         * target.h: Update to match.  New hook macro TARGET_ASM_FILE_END.
3171         * toplev.c (compile_file): Use targetm.asm_out.file_end.
3172         * system.h: Poison ASM_FILE_END.
3173         * varasm.c (file_end_indicate_exec_stack): New.
3174         * output.h: Prototype it.
3175         * doc/tm.texi: Document TARGET_ASM_FILE_END and
3176         file_end_indicate_exec_stack.  Delete references to attasm.h.
3177
3178         * config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
3179         (ASM_FILE_END): Delete; move code...
3180         * config/darwin.c (darwin_file_end): Here; new function.
3181         * config/darwin-protos.h: Prototype it.
3182         * config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
3183         rename unicosmk_file_end.
3184         * config/arm/aof.h (ASM_FILE_END): Delete; move code...
3185         * config/arm/arm.c (aof_file_end): ... here; new static function.
3186         Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
3187         Make aof_dump_imports and aof_dump_pic_table static.
3188         * config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
3189         Set TARGET_ASM_FILE_END to avr_file_end.
3190         * config/c4x/c4x.c (c4x_file_end): Make static.  Take no arguments.
3191         Set TARGET_ASM_FILE_END to c4x_file_end.
3192         * config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
3193         make static. Take no arguments.  Set TARGET_ASM_FILE_END to
3194         h8300_file_end.
3195         * config/i370/i370.h (ASM_FILE_END): Delete; move code...
3196         * config/i370/i370.c (i370_file_end): ... here; new static function.
3197         Set TARGET_ASM_FILE_END to i370_file_end.
3198          * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
3199          Take no arguments.  Call file_end_indicate_exec_stack if
3200          NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
3201         * config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
3202         Define NEED_INDICATE_EXEC_STACK to 0.
3203         * config/i386/linux.h, config/i386/linux64.h: Redefine
3204         NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
3205         * config/i386/winnt.c (i386_pe_asm_file_end): Rename to
3206         i386_pe_file_end.  Take no arguments.  Use ix86_file_end.
3207         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
3208         ia64_hpux_file_end, make static.  Take no arguments.
3209         * config/ip2k/ip2k.c (asm_file_start, asm_file_end,
3210         commands_in_prologues, commands_in_epilogues): Delete.
3211         (function_epilogue): Update to match.
3212         * config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
3213         make static.  Take no arguments.
3214         (iris6_asm_file_end): Rename iris6_file_end, make static, use
3215         mips_file_end, take no arguments.
3216         Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
3217         appropriate.
3218         * config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
3219         make static, take no arguments. Set TARGET_ASM_FILE_END to
3220         mmix_file_end.
3221         * config/pa/pa.c (output_deferred_plabels): Make static, take
3222         no arguments.  Set TARGET_ASM_FILE_END to output_deferred_plabels.
3223         * config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
3224         (ASM_FILE_END): Delete; move code...
3225         * config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
3226         new static function.
3227
3228         * config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
3229         * config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
3230         Don't set ASM_FILE_END.
3231         * config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
3232         * config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
3233         * config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
3234         file_end_indicate_exec_stack; don't set ASM_FILE_END.
3235         * config/alpha/unicosmk.h, config/i386/cygming.h
3236         * config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
3237         * config/arm/arm-protos.h, config/alpha/alpha-protos.h
3238         * config/avr/avr-protos.h, config/c4x/c4x-protos.h
3239         * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
3240         * config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
3241         * config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
3242
3243 Sat Jun  7 18:32:13 CEST 2003  Jan Hubicka  <jh@suse.cz>
3244
3245         * i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
3246         specified.
3247
3248 Sat Jun  7 15:20:01 CEST 2003  Jan Hubicka  <jh@suse.cz>
3249
3250         * Makefile.in (stageprofile_build): Kill redundant target.
3251         * i386.c (mdep_reorg): Don't pad jumps for Athlon.
3252
3253 2003-06-07  Andreas Jaeger  <aj@suse.de>
3254
3255         * doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
3256
3257         * config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
3258         * config/dsp16xx/dsp16xx.h: Likewise.
3259         * config/i386/i386.h: Likewise.
3260         * config/ip2k/ip2k.h: Likewise.
3261
3262 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
3263
3264         * Makefile.in (OJBS, c-opts.o): Update.
3265         (c-options.c, c-options.h): Rename options.h and options.c.
3266         (options.h): Rename options_.h.
3267         (opts.o): New.
3268         * c-common.h (c_common_handle_option): Replace c_common_decode_option.
3269         (c_common_init_options): Update prototype.
3270         * c-lang.c (c_init_options): Update prototype.
3271         (LANG_HOOKS_HANDLE_OPTION): Override.
3272         (LANG_HOOKS_DECODE_OPTION): Drop.
3273         * c-opts.c: Include opts.h and options.h instead of c-options.h
3274         and c-options.c.
3275         (lang_flags): Move to file scope.
3276         (find_opt, c_common_decode_option): Remove.
3277         (CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
3278         CL_REJECT_NEGATIVE): Move to opts.h.
3279         (missing_arg): Update prototype.
3280         (c_common_init_options): Update for new prototype.
3281         (c_common_handle_options): Filenames are passed as N_OPTS.
3282         * hooks.c (hook_int_void_0): New.
3283         * hooks.h (hook_int_void_0): New.
3284         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
3285         (LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
3286         (LANG_HOOKS_INITIALIZER): Update.
3287         * langhooks.h (init_options): Update.
3288         (handle_option): New.
3289         * opts.c, opts.h: New files.
3290         * opts.sh: Update c file to include opts.h and options.h.
3291         * toplev.c: Include opts.h; change options.h to options_.h.
3292         (parse_options_and_default_flags): Get lang_mask, use
3293         handle_option for language-specific handling.
3294         * objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
3295         (LANG_HOOKS_HANDLE_OPTION): Override.
3296         (objc_init_options): Update.
3297
3298 2003-06-07  Magnus Kreth <magnus.kreth@gmx.de>
3299             Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
3300
3301         PR other/7031
3302         * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
3303         gcov.
3304
3305 2003-06-07  Kelley Cook  <kelleycook@wideopenwest.com>
3306
3307         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
3308         section names.
3309         * configure: Regenerate.
3310
3311 2003-06-07  Alan Modra  <amodra@bigpond.net.au>
3312
3313         * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
3314
3315 2003-06-06  James E Wilson  <wilson@tuliptree.org>
3316
3317         PR inline-asm/10890
3318         * reload1.c (merge_assigned_reloads): Abort only if two reloads have
3319         different in fields.
3320
3321 2003-06-06  Nathanael Nerode  <neroden@gcc.gnu.org>
3322
3323         * configure.in: Make $(target_subdir) correspond with top level usage.
3324         * Makefile.in: Likewise.
3325         * configure: Regenerate.
3326
3327 2003-06-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3328
3329         * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
3330         ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
3331         unsigned HOST_WIDE_INT.
3332         * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
3333         Likewise.
3334         * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
3335         Likewise.
3336
3337 2003-06-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3338
3339         * doc/install.texi (Prerequisites): New section documenting
3340         tools and packages necessary prior to building and/or
3341         modifying GCC.
3342         * doc/install.texi2html: Also generate prerequisites.html.
3343
3344 2003-06-06  Richard Earnshaw  <rearnsha@arm.com>
3345
3346         PR target/11052
3347         * ifcvt.c (noce_process_if_block): Fail if the destination has
3348         side-effects.
3349
3350 2003-06-06  Jason Merrill  <jason@redhat.com>
3351
3352         * stmt.c (resolve_asm_operand_names): Rename from
3353         resolve_operand_names.  No longer static.  Avoid needless copying.
3354         Don't build array of constraints.
3355         (expand_asm_operands): Build it here.
3356         * tree.h: Declare resolve_asm_operand_names.
3357
3358         * stmt.c (expand_decl): Put artificial vars into registers even
3359         when not optimizing, and don't mark the regs as user vars.
3360
3361 2003-06-06  J"orn Rennecke <joern.rennecke@superh.com>
3362
3363         * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
3364         of the generated register.
3365
3366 2003-06-06  Daniel Jacobowitz  <drow@mvista.com>
3367
3368         * config.gcc: Add a missing sparc64 case.
3369
3370 2003-06-06  Jakub Jelinek  <jakub@redhat.com>
3371
3372         * mklibgcc.in: Propagate .note.GNU-stack section if needed into
3373         the .hidden assembly stubs.
3374
3375 2003-06-06  H.J. Lu <hongjiu.lu@intel.com>
3376
3377         * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
3378         and x86_64-*-*.
3379
3380         * config/i386/mmintrin.h: Update version and add alternate
3381         intrinsic names.
3382         * config/i386/xmmintrin.h: Likewise.
3383
3384         * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
3385         intrinsics to ...
3386         * config/i386/emmintrin.h: Here. New file.
3387
3388 2003-06-06  Roger Sayle  <roger@eyesopen.com>
3389
3390         * fold-const.c (fold <ABS_EXPR>):  Re-fold the result of folding
3391         fabs(-x) into fabs(x).  Use tree_expr_nonnegative_p to determine
3392         when the ABS_EXPR (fabs or abs) is not required.
3393         (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
3394         always nonnegative from fold to here.  Additionally, cabs and fabs
3395         are always non-negative, and pow and atan are non-negative if
3396         their first argument is non-negative.
3397
3398         * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
3399         Evaluate cabs of a constant at compile-time.  Convert cabs of a
3400         non-complex argument into fabs.  Convert cabs(z) into
3401         sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
3402         -funsafe-math-optimizations or -ffast-math.
3403         (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
3404         Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
3405
3406 Thu Jun  5 20:51:09 CEST 2003  Jan Hubicka  <jh@suse.cz>
3407
3408         * sourcebuild.texi (Front End Directory): Document new hooks.
3409
3410 Fri Jun  6 11:02:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
3411
3412         * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
3413         * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
3414         stack frames.
3415         (pro_epilogue_adjust_stack_rex64_2): New pattern
3416
3417 Fri Jun  6 11:03:14 CEST 2003  Jan Hubicka  <jh@suse.cz>
3418                                Pop Sebastian
3419                                Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3420
3421         * cfghooks.h, cfghooks.c: New files.
3422         * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
3423         (OBJS): Add cfghooks.o.
3424         (cfghooks.o): New rule.
3425         * basic-block.h (split_edge): Rename to rtl_split_edge.
3426         (verify_flow_info): Rename to rtl_verify_flow_info.
3427         (cfghooks.h): Included here.
3428         * cfgrtl.c (split_edge): Renamed rtl_split_edge.
3429         (verify_flow_info): Renamed rtl_verify_flow_info.
3430         * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
3431
3432         * basic-block.h (split_block, split_edge, flow_delete_block,
3433         redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
3434         (flow_delete_block_noexpunge):  Return void.
3435         * cfg.c (verify_flow_info): New function.
3436         * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
3437         try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
3438         Use delete_block.
3439         * cfglayout.c (function_footer): Rename to...
3440         (cfg_layout_function_footer): ... this variable
3441         (unlink_insn_chain): Make global.
3442         (fixup_reorder_chain, record_effective_endpoints): Update.
3443         (cleanup_unconditional_jumps): Use delete_block.
3444         (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
3445         (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
3446         (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
3447         * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block):  Delete.
3448         (cfg_layout_function_footer): Declare.
3449         * cfgloopmanip (split_loop_bb): Do not update RBI.
3450         (remove_bbs): Use delete_block.
3451         (loop_reidrect_edge, loop_delete_branch_edge): Use
3452         redirect_edge_and_branch.
3453         (create_preheader): Use split_block and redirect_edge_and_branch_force.
3454         (split_edge_with): Likewise.
3455         * cfgrtl.c: Include cfglayout.h
3456         (split_edge): Rename to ...
3457    &nb