OSDN Git Service

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