OSDN Git Service

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