OSDN Git Service

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