OSDN Git Service

2003-06-30 Wolfgang Bangerth <bangerth@dealii.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-06-30  Wolfgang Bangerth  <bangerth@dealii.org>
2
3         * doc/sourcebuild.texi: Don't reference gnats.html any more.
4
5 2003-06-30  Kazu Hirata  <kazu@cs.umass.edu>
6
7         * config/h8300/h8300.c (compute_mov_length): Fix length of
8         mov:SF on H8/300.
9
10 2003-06-30  Nick Clifton  <nickc@redhat.com>
11
12         * config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Make defintion
13         constant.
14
15 Mon Jun 30 15:36:29 CEST 2003  Jan Hubicka  <jh@suse.cz>
16
17         (fyl2x_sfxf3, fyl2x_dfxf3, fscale_sfxf3, fscale_dfxf3): Fix condition.
18
19 2003-06-30 Hartmut Penner  <hpenner@de.ibm.com>
20
21         * config/rs6000/rs6000.c (rs6000_split_altivec_in_gprs): New function.
22         (altivec_in_gprs_p): New function.
23
24         * config/rs6000/rs6000-protos (rs6000_split_altivec_in_gprs): New 
25         prototype.
26         (altivec_in_gprs_p): New prototype.
27
28         * config/rs6000/altivec.md (*movv4si_internal): Change
29         multi-assembler alternative to '#'. Add postreload splitter to
30         handle this cases.
31         (*movv4hi_internal): Likewise.
32         (*movv4qi_internal): Likewise.
33         (*movv4sf_internal): Likewise.
34
35 2003-06-30  Jason Merrill  <jason@redhat.com>
36
37         * defaults.h (PUSH_ARGS_REVERSED): Define default here.
38         * calls.c: Not here.
39
40 2003-06-30  Ben Elliston  <bje@wasabisystems.com>
41
42         * config/arm/arm.c (arm_rtx_costs): Remove #if 0 block.
43         (bad_signed_byte_operand): Likewise.
44         (arm_output_epilogue): Likewise.
45         (arm_final_prescan_insn): Likewise.
46
47 2003-06-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
48
49         * cfgrtl.c (mark_killed_regs): Cast HARD_REGNO_NREGS to int.
50
51 2003-06-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
52
53         * c-pch.c (c_common_write_pch): Flush asm_out_file to allow for
54         subsequent writes.
55
56 Mon Jun 30 10:03:02 CEST 2003  Jan Hubicka  <jh@suse.cz>
57
58         * cfgrtl.c (verify_flow_info): Accept degenerated condjumps
59         in cfglayout mode.
60
61 Mon Jun 30 09:52:39 CEST 2003  Jan Hubicka  <jh@suse.cz>
62
63         * i386.c (standard_80387_constant_p): Accept TFmode constants too.
64         (init_ext_80387_constants): Likewise.
65         (standard_80387_constant_rtx): Likewise.
66         * i386.md (atanxf): Disable for TARGET_128BIT_LONG_LONG
67         (atantf): Disable for !TARGET_128BIT_LONG_LONG
68         (fyl2x_sfxf3, fyl2x_dfxf3): Accept TFmode operands.
69         (fyl2x_xfxf3, fyl2x_tfxf3): Enable/disable as needed.
70         (fscale_sfxf3, fscale_dfxf3): Accept TFmode operands.
71         (fscale_xfxf3, fscale_tfxf3): Enable/disable as needed.
72         (frndinttf2): New.
73         (f2xm1tf2): New.
74         (exp?f2): Use expsf2_tf when needed.
75         (exp?f2_tf): New.
76         (exptf): New.
77
78 2003-06-29 Uwe Stieber <uwe@kaos-group.de>
79
80         * config.gcc (sh*-*-kaos*): Put tm_file setting in separate case
81         statement from tmake_file set.
82
83 2003-06-29  James E Wilson  <wilson@tuliptree.org>
84
85         * reload.c (find_reloads): Change push_reloads to push_reload in
86         comment.
87         * reload1.c (eliminate_regs): Likewise.
88         (dump_needs): Delete prototype for deleted function.
89
90 2003-06-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
91
92         * builtin-attrs.def (gcc_diag, gcc_cdiag, gcc_cxxdiag): New
93         format attributes.
94         * c-format.c (enum format_type): Add gcc_diag_format_type,
95         gcc_cdiag_format_type, and gcc_cxxdiag_format_type.
96         (gcc_diag_length_specs, gcc_cdiag_length_specs,
97         gcc_cxxdiag_length_specs, gcc_diag_flag_pairs,
98         gcc_cdiag_flag_pairs, gcc_cxxdiag_flag_pairs, gcc_diag_flag_specs,
99         gcc_cdiag_flag_specs, gcc_cxxdiag_flag_specs, gcc_diag_char_table,
100         gcc_cdiag_char_table, gcc_cxxdiag_char_table): New.
101         (format_types_orig): Add new data.
102         (find_char_info_specifier_index, init_dynamic_diag_info): New
103         functions.
104         (handle_format_attribute): Update to handle new format attributes.
105
106 2003-06-29  Aaron W. LaFramboise  <awlaframboise@aol.com>
107
108         * config/i386/gthr-win32.h (__GTHREAD_HIDE_WIN32API): Define to 1.
109
110 2003-06-29  Dara Hazeghi  <dhazeghi@yahoo.com>
111
112         * doc/install.texi: Remove install documentation for obsoleted targets
113         i?86-*-sco, i?86-*-sco3.2v4, powerpcle-*-pe, powerpcle-*-winnt,
114         arm-*-aof.
115         Update information about IA64 toolchain, AIX make requirements,
116         and binutils for m68k-*-hpux and *-*-linuxaout targets.
117
118 Mon Jun 30 00:50:43 CEST 2003  Jan Hubicka  <jh@suse.cz>
119
120         * regmove.c (regmove_optimize): Don't try to make src and dst match
121         when they are in different modes.
122
123 Sun Jun 29 23:06:32 CEST 2003  Jan Hubicka  <jh@suse.cz>
124
125         * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2): Avoid
126         busy work when builtin is not supported by the backend.
127
128 2003-06-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
129
130         * loop.c (count_one_set): Fix detection of registers set in more
131         than one basic block.   
132
133 2003-06-29  Andreas Jaeger  <aj@suse.de>
134
135         * target-def.h: Remove usage of OBJECT_FORMAT_ROSE.
136         * system.h: Poison OBJ_FORMAT_ROSE.
137         * doc/tm.texi (Macros for Initialization): Remove documentatin of
138         OBJECT_FORMAT_ROSE.
139         * config/rs6000/lynx.h: Remove undef of OBJECT_FORMAT_ROSE.
140         * collect2.c: Remove usage of OBJECT_FORMAT_ROSE.
141
142 2003-06-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
143
144         * pa.c (update_total_code_bytes): New function.
145         (last_address): Number of bytes output for a function and its
146         associated thunks.
147         (compute_frame_size): Use BITS_PER_UNIT.
148         (pa_output_function_epilogue): Compute last_address.  Use
149         update_total_code_bytes.
150         (output_lbranch): Handle long branch on portable runtime.
151         (attr_length_millicode_call, attr_length_call,
152         attr_length_indirect_call): Only use total_code_bytes for calls in
153         the text section.
154         (output_call): Only use an indirect call sequence when the target is
155         not local.
156         (pa_asm_output_mi_thunk): Handle updating of total_code_bytes.  Improve
157         test to determine when an IA-relative branch can be used.  Add various
158         long branch sequences.  Avoid using an indirect branch on all ports
159         except SOM.
160
161 2003-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
162
163         * expr.c (clear_by_pieces): Fix prototype.
164
165 2003-06-29  Andreas Jaeger  <aj@suse.de>
166
167         * cse.c: Convert prototypes to ISO C90.
168         * cselib.c: Likewise.
169         * cselib.h: Likewise.
170         * dbxout.c: Likewise.
171         * debug.c: Likewise.
172         * df.c: Likewise.
173         * df.h: Likewise.
174         * dojump.c: Likewise.
175         * doloop.c: Likewise.
176         * dominance.c: Likewise.
177         * dwarf2asm.c: Likewise.
178         * dwarf2out.c: Likewise.
179         * dwarf2out.h: Likewise.
180         * dwarfout.c: Likewise.
181         * except.c: Likewise.
182         * except.h: Likewise.
183         * emit-rtl.c: Likewise.
184         * et-forest.c: Likewise.
185         * et-forest.h: Likewise.
186         * except.c: Likewise.
187         * explow.c: Likewise.
188         * expmed.c: Likewise.
189         * expr.c: Likewise.
190         * expr.h: Likewise.
191
192 2003-06-29  Kazu Hirata  <kazu@cs.umass.edu>
193
194         * alloc-pool.c: Fix comment formatting.
195         * bitmap.c: Likewise.
196         * bitmap.h: Likewise.
197         * bt-load.c: Likewise.
198         * builtins.c: Likewise.
199         * caller-save.c: Likewise.
200         * cfganal.c: Likewise.
201         * cfgrtl.c: Likewise.
202         * collect2.c: Likewise.
203         * cse.c: Likewise.
204         * df.c: Likewise.
205         * diagnostic.c: Likewise.
206         * dwarf2out.c: Likewise.
207         * dwarfout.c: Likewise.
208         * expmed.c: Likewise.
209         * final.c: Likewise.
210         * flags.h: Likewise.
211         * fold-const.c: Likewise.
212         * gcc.c: Likewise.
213         * gcov-io.h: Likewise.
214         * gcov.c: Likewise.
215         * genattrtab.c: Likewise.
216         * genautomata.c: Likewise.
217         * libgcov.c: Likewise.
218         * mips-tfile.c: Likewise.
219         * optabs.c: Likewise.
220         * prefix.c: Likewise.
221         * rtlanal.c: Likewise.
222         * stmt.c: Likewise.
223         * stor-layout.c: Likewise.
224         * toplev.c: Likewise.
225         * varasm.c: Likewise.
226         * vmsdbgout.c: Likewise.
227
228 2003-06-29  Kazu Hirata  <kazu@cs.umass.edu>
229
230         * expr.c (emit_single_push_insn): If padding is needed
231         downward, adjust the stack pointer first, and then store the
232         data into the stack location using an offset.
233
234 2003-06-29  Andreas Jaeger  <aj@suse.de>
235
236         * collect2.h: Convert prototypes to ISO C90.
237         * collect2.c: Likewise.
238         * conflict.c: Likewise.
239         * coverage.c: Likewise.
240         * convert.h: Likewise.
241         * convert.c: Likewise.
242
243 2003-06-29  Nathan Sidwell  <nathan@codesourcery.com>
244
245         * c-decl.c (c_init_decl_processing): Use a location_t. Set input
246         filename to <internal>.
247         * tree.c (make_node): Just copy the current location.
248
249 2003-06-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
250
251         PR optimization/11210
252         * fold-const (decode_field_reference): Revert 2003-06-26 patch.
253
254 2003-06-29  Neil Booth  <neil@daikokuya.co.uk>
255
256         * toplev.c (flag_dummy): Remove.
257         (f_options): Restore flag pointers.
258
259 2003-06-29  David Edelsohn  <edelsohn@gnu.org>
260
261         * config/rs6000/rs6000.c (processor_target_table): Add 970.
262         * config.gcc: Add 970.
263
264 2003-06-29  Kazu Hirata  <kazu@cs.umass.edu>
265
266         * dwarf2out.c (add_AT_string): Replace ggc_alloc_string (X,
267         -1) with ggc_strdup.
268         * stmt.c (expand_asm_operands): Likewise.
269         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Likewise.
270
271 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
272
273         * config/ip2k/ip2k.c (ip2k_reorg): Use INSN_P instead of its
274         definition.
275
276 2003-06-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
277
278         * opts.c: Include insn-attr.h.
279         * Makefile.in (opts.o): Depend on INSN_ATTR_H.
280
281 2003-06-27  J"orn Rennecke <joern.rennecke@superh.com>
282
283         * flow.c (propagate_one_insn): Use proper test for a register
284         being part of the return value.
285
286 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
287
288         * config/avr/avr.c: Fix a comment typo.
289
290 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
291
292         * config/avr/avr-protos.h: Replace avr_simplify_comparision_p
293         with avr_simplify_comparison_p.
294         * config/avr/avr.c: Likewise.
295
296 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
297
298         * builtins.c: Follow spelling conventions.
299         * cgraph.c: Likewise.
300         * cpplex.c: Likewise.
301         * config/arm/arm.c: Likewise.
302         * config/arm/iwmmxt.md: Likewise.
303         * config/c4x/c4x-modes.def: Likewise.
304         * config/c4x/c4x.c: Likewise.
305         * config/c4x/c4x.h: Likewise.
306         * config/c4x/c4x.md: Likewise.
307         * config/i386/i386-interix.h: Likewise.
308         * config/mips/mips.h: Likewise.
309
310 2003-06-28  Neil Booth  <neil@daikokuya.co.uk>
311
312         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Predicate
313         __mc68020__ on TARGET_68020.
314
315 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
316
317         * config/h8300/h8300.c: Fix a comment typo.
318
319 2003-06-28  Nathan Sidwell  <nathan@codesourcery.com>
320
321         * c-parse.in (yylexstring): Use a location_t.
322
323         * diagnostic.h (diagnostic_set_info): Replace file and lineno
324         parameters with a location_t.
325         * diagnostic.c (diagnostic_set_info): Replace file and lineno
326         parameters with a location_t.
327         (inform, warning, pedwarn, error, sorry, fatal_error,
328         internal_error, warning_with_decl, pedwarn_with_decl,
329         error_with_decl): Adjust.
330         * c-error.c (pedwarn_c99): Adjust.
331         * c-format.c (status_warning): Adjust.
332         * rtl-error.c (file_and_line_for_asm): Rename to ...
333         (location_for_asm): Return a location_t.
334         (diagnostic_for_asm): Adjust.
335
336 2003-06-28  Neil Booth  <neil@daikokuya.co.uk>
337
338         * cpptrad.c (skip_macro_block_comment): New.
339         (copy_comment): Use it if appropriate.
340
341 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
342
343         * gcse.c (compute_ld_motion_mems): Use INSN_P instead of its
344         definition.
345         (store_killed_in_insn): Likewise.
346         * print-rtl.c (print_rtx): Likewise.
347         * config/frv/frv.c (frv_final_prescan_insn): Likewise.
348         * config/m68hc11/m68hc11.c (dead_register_here): Likewise.
349         (m68hc11_reassign_regs): Likewise.
350         (m68hc11_reorg): Likewise.
351
352 2003-06-28  Gabriel Dos Reis <gdr@integrable-solutions.net>
353
354         * diagnostic.c (output_integer_with_precision): New macro.
355         (output_format): Use it.  Handle more format specifiers.
356         (output_long_decimal): Remove.
357         (output_unsigned_decimal): Likewise.
358         (output_long_unsigned_decimal): Likewise.
359         (output_octal): Likewise.
360         (output_long_octal): Likewise.
361         (output_hexadecimal): Likewise.
362         (output_long_hexadecimal): Likewise.
363         (output_long_long_decimal): Likewise.
364
365 2003-06-28  Andreas Schwab  <schwab@suse.de>
366
367         * config/ia64/ia64.md: Follow recent emit_note API change.
368
369 2003-06-28  Nathan Sidwell  <nathan@codesourcery.com>
370
371         * c-parse.in (%union): Replace filename & lineno with location.
372         (save_filename, save_lineno): Remove.
373         (save_location): New.
374         (fndef, old_style_parm_decls_1, lineno_datadecl, lineno_decl,
375         nested_function, notype_nested_function, if_prefix, lineno_stmt,
376         lineno_label, label): Adjust.
377
378 2003-06-28  Jakub Jelinek  <jakub@redhat.com>
379
380         * builtins.c (c_strlen): Add only_value argument.
381         Handle COND_EXPR and COMPOUND_EXPR.
382         (expand_builtin_strlen): Optimize also strlen (i++ ? "foo" : "bar").
383         Adjust c_strlen callers.
384         (expand_builtin_strcpy, expand_builtin_strncpy,
385         expand_builtin_strcmp, expand_builtin_strncmp,
386         expand_builtin_fputs, expand_builtin_sprintf,
387         fold_builtin): Adjust c_strlen callers.
388
389 2003-06-28  Josef Zlomek  <zlomekj@suse.cz>
390
391         * bb-reorder.c (find_traces_1_round): Do not send basic block
392         to next round when we are in the last round.
393
394 2003-06-28  Neil Booth  <neil@daikokuya.co.uk>
395
396         * Makefile.in: Update.
397         * opts.c: Include tm_p.h.
398         (handle_options): Make static.
399         (decode_options): Copied from toplev.c.
400         * opts.h (decode_options): New.
401         * toplev.c (parse_options_and_default_flags): Move most to opts.c,
402         some to...
403         (general_init): ...here.
404         (toplev_main): Use decode_options instead.
405         * toplev.h (save_argc, save_argv): New.
406
407 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
408
409         * explow.c (find_next_ref): Remove.
410         * rtl.h: Remove the prototype for find_next_ref.
411
412 2003-06-27  Roger Sayle  <roger@eyesopen.com>
413
414         * config/alpha/alpha.md (anonymous define_split): Adjust emit_note
415         call to match recent API change.
416
417 2003-06-27  Zack Weinberg  <zack@codesourcery.com>
418
419         * dbxout.c (flag_debug_only_used_symbols): Delete redundant
420         declaration.
421
422         * c-format.c (check_format_string, get_constant)
423         * cfgrtl.c (rtl_split_edge):
424         Mark the definition static, matching the forward declaration.
425
426 2003-06-27  Gunther Nikl <gni@gecko.de>
427
428         * unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define.
429
430         PR target/11014
431         * config/m68k/m68k.c (m68k_output_mi_thunk): Use correct assembly
432         syntax for MIT / MOTOROLA.
433
434         PR other/10240
435         * configure.in: Removed $(XCFLAGS) from BUILD_CFLAGS for build != host.
436         * configure: Rebuilt.
437
438 2003-06-27  Chris Demetriou  <cgd@broadcom.com>
439
440         * config/mips/mips.c (mips_build_va_list): Make padding in
441         va_list structure explicit to avoid -Wpadded warnings.
442
443 2003-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
444
445         * config/s390/s390.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define.
446         * config/s390/s390.c (s390_secondary_output_reload_class): New function.
447         * config/s390/s390-protos.h (s390_secondary_output_reload_class):
448         Declare it.
449         * config/s390/s390.md ("reload_outti", "reload_outdi",
450         "reload_outdf"): New expanders.
451
452         * config/s390/s390.md ("movti" + splitters): Handle non-offsettable
453         memory operands as source.
454         ("movdi" + splitters): Likewise.
455         ("movdf" + splitters): Likewise.
456         * config/s390/s390.c (s390_split_ok_p): New function.
457         * config/s390/s390-protos.h (s390_split_ok_p): Declare it.
458
459 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
460
461         * combine.c (force_to_mode): Replace the equality comparison
462         of INTVALs with a pointer equality comparison.
463         (simplify_comparison): Likewise.
464
465 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
466
467         * jump.c (rtx_renumbered_equal_p): Replace an expression that
468         is known to be 0 with 0.
469
470 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
471
472         * gcse.c (expr_equiv_p): Replace expressions that are known to
473         be 0 with 0.
474
475 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
476
477         * cse.c (fold_rtx): Replace the equality comparison of INTVALs
478         with a pointer equality comparison.
479
480 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
481
482         * rtlanal.c (reg_mentioned_p): Return 0 earlier if REG and IN
483         are known to be not equivalent.
484
485 2003-06-27  Richard Henderson  <rth@redhat.com>
486
487         * config/alpha/alpha.c (function_arg): Don't pass small aggregates
488         in floating point registers.  Validate that we don't receive complex
489         values here.  Use #elif.
490         (return_in_memory, function_value): New.
491         (alpha_va_arg): Handle complex values as two arguments.
492         * config/alpha/alpha.h (RETURN_IN_MEMORY): Use return_in_memory.
493         (FUNCTION_VALUE, LIBCALL_VALUE): Use function_value.
494         (SPLIT_COMPLEX_ARGS): New.
495         * config/alpha/alpha-protos.h: Update.
496
497 2003-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
498
499         * ggc-page.c (inverse_table): Change type of mult to size_t.
500         (compute_inverse): Compute inverse using size_t, not unsigned int.
501         Compute inverse also for sizes larger than half a machine page.
502
503 Fri Jun 27 18:36:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
504
505         * toplev.c (rest_of_decl_compilation):  Only varpoolize argument
506         when called before cgraph_optimize.
507
508 2003-06-27  Zack Weinberg  <zack@codesourcery.com>
509
510         * config/darwin.h, config/elfos.h, config/i960/i960-coff.h
511         * config/m68k/coff.h: ASM_FILE_START_FILE_DIRECTIVE should
512         be TARGET_ASM_FILE_START_FILE_DIRECTIVE.
513
514 Fri Jun 27 17:41:16 CEST 2003  Jan Hubicka  <jh@suse.cz>
515
516         * cgraph.c (cgraph_node, cgraph_varpool_node): Avoid re-initializing
517         of known_decls.
518
519 2003-06-27  Hans-Peter Nilsson  <hp@axis.com>
520
521         * defaults.h (REGISTER_MOVE_COST): Define default here.
522         * regclass.c: Don't define default REGISTER_MOVE_COST here.
523         * reload.c, reload1.c: Ditto.
524
525 2003-06-27  Richard Earnshaw <rearnsha@arm.com>
526
527         * flags.h: Really install previous change.
528
529 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
530
531         * rtl.h (emit_note): Remove FILE parameter.
532         * emit-rtl.c (emit_line_note): Adjust emit_note call.
533         (emit_note): Remove FILE parameter. Adjust.
534         * builtins.c (expand_builtin_expect): Adjust emit_note call.
535         * c-semantics.c (genrtl_scope_stmt): Likewise.
536         (expand_stmt): Likewise.
537         * cfglayout.c (reemit_insn_block_notes): Likewise.
538         (duplicate_insn_chain): Likewise.
539         * except.c (expand_eh_region_start, expand_eh_region_end,
540         sjlj_emit_function_enter): Likewise.
541         * explow.c (probe_stack_range): Likewise.
542         * expr.c (emit_block_move_via_loop): Likewise.
543         * function.c (init_function_start, expand_function_start,
544         expand_function_end, thread_prologue_and_epilogue_insns): Likewise.
545         * integrate.c (expand_inline_function, copy_insn_list): Likewise.
546         * reg-stack.c (compensate_edge): Likewise.
547         * reload1.c (reload): Likewise.
548         * rtlanal.c (hoist_insn_to_edge): Likewise.
549         * stmt.c (expand_fixup, expand_start_loop, expand_start_null_loop,
550         expand_loop_continue_here, expand_end_loop, expand_continue_loop,
551         expand_exit_loop_top_cond, expand_value_return,
552         expand_start_bindings_and_block, expand_end_bindings,
553         expand_decl_cleanup, expand_start_case): Likewise.
554         * unroll.c (copy_loop_body
555         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
556         * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
557         * config/rs6000/rs6000.c (rs6000_emit_eh_toc_restore,
558         rs6000_emit_allocate_stack, rs6000_output_function_prologue,
559         rs6000_output_function_epilogue, rs6000_output_mi_thunk): Likewise.
560         * config/sh/sh.c (sh_output_mi_thunk): Likewise.
561         * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
562
563 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
564
565         * c-tree.h (grokfield): Remove unused filename and line parameters.
566         * c-decl.c (grokfield): Remove unused filename and line parameters.
567         * c-parse.in (component_decl): Adjust field grokking rules, adjust
568         grokfield calls.
569         (component_declarator): Likewise.
570         (component_notype_declarator): Likewise.
571         * objc/objc-act.c (build_module_descriptor): Adjust grokfield
572         calls.
573         (build_protocol_template, build_method_prototype_list_template,
574         build_method_prototype_template, build_category_template,
575         build_selector_template, build_class_template,
576         build_super_template, build_ivar_template,
577         build_ivar_list_template, build_method_list_template,
578         build_method_template, add_instance_variable): Likewise.
579
580 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
581
582         * stmt.c (do_jump_if_equal): Return 0 earlier if OP1 and
583         OP2 are known to be not equivalent.
584
585 2003-06-26  Devang Patel <dpatel@apple.com>
586
587         * final.c (debug_flush_symbol_queue): New function.
588         (debug_queue_symbol): New function.
589         (debug_free_queue): New function.
590         (debug_nesting): New variable.
591         (symbol_queue): New variable.
592         (symbol_queue_index): Same.
593         (symbol_queue_size): Same.
594         * debug.h (debug_flush_symbol_queue): New.
595         (debug_queue_symbol): New.
596         (debug_free_queue): New.
597         (debug_nesting): New.
598         (symbol_queue_index): New.
599         * dbxout.c (DBXOUT_DECR_NESTING): New macro.
600         (DBXOUT_DECR_NESTING_AND_RETURN): New macro.
601         (dbxout_init): Delay symbol output.
602         (dbxout_global_decl): Save, set and reset TREE_USED bit around
603         dbxout_symbol() call.
604         (dbxout_begin_function): Same.
605         (dbxout_finish): Free symbol queue.
606         (dbxout_type): Put appropriate symbols in queue.
607         (dbxout_symbol): Put info for symbol's type in queue.
608         Decrement/Increment nesting counts flush symbol queue appropriately.
609         (dbxout_parms): Increment dbxout nesting.
610         (dbxout_reg_parms): Same.
611         * flags.h (flag_debug_only_used_symbols): New.
612         * toplev.c (flag_debug_only_used_symbols): New variable.
613         (lang_independent_options): Add entries for new option
614         -feliminate-unused-debug-symbols.
615         * common.opt: Add entry for -feliminate-unused-debug-symbols.
616         * opts.c (common_handle_options): Same.
617         * config/rs6000/darwin.h (CC1_SPEC): Interpret -gused as
618         -feliminate-unused-debug-symbols.
619         * doc/invoke.texi (Debugging Options): Document
620         -feliminate-unused-debug-symbols.
621
622 2003-06-26  Roger Sayle  <roger@eyesopen.com>
623             Jakub Jelinek  <jakub@redhat.com>
624
625         * builtins.c (expand_builtin_sprintf): Use c_getstr and strlen to
626         obtain the format string instead of using TREE_STRING_POINTER and
627         TREE_STRING_LENGTH.  Only optimize sprintf(dst,"%s",src) when the
628         return value is unused or the length of src is a known constant.
629
630 2003-06-26  Richard Henderson  <rth@redhat.com>
631
632         * config/ia64/ia64.h (REGISTER_NAMES): R0 is really AP.
633
634 2003-06-26  Richard Henderson  <rth@redhat.com>
635
636         * config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls.
637         (ia64_split_call): Only load descriptor for GP register inputs.
638         (ia64_expand_epilogue): Check current_frame_info.mask not
639         current_function_is_leaf to restore ar.pfs.
640
641 2003-06-26  Richard Henderson  <rth@redhat.com>
642
643         * emit-rtl.c (try_split): Append to new CALL_INSN_FUNCTION_USAGE
644         instead of replacing it.
645
646 2003-06-26  Richard Henderson  <rth@redhat.com>
647
648         * flow.c (propagate_one_insn): Kill function return value
649         registers across tail calls.
650
651         * flow.c (propagate_one_insn): Preserve live-at-end registers
652         across tail calls.
653
654 2003-06-26  J"orn Rennecke <joern.rennecke@superh.com>
655
656         * reload.c (can_reload_into): New function.
657         (push_reload): Use it.
658
659 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
660
661         * config/h8300/h8300.c (compute_a_rotate_length): Fix the
662         references to the amount of a rotation.
663
664 2003-06-26  Nathanael Nerode  <neroden@gcc.gnu.org>
665
666         * config/sh/coff.h: Don't include dbxcoff.h.
667         * config.gcc: List it here.
668
669 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
670
671         * postreload.c (reload_cse_simplify_set): Call cselib_lookup
672         earlier.  Don't check if SRC is a constant.
673
674 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
675
676         * Makefile.in (OBJS): Add postreload.o.
677         Remove cselib.h from the dependency list for reload1.o.
678         Add a dependency list for postreload.o.
679         * reload.h: Change the comment for the prototype of
680         reload_cse_regs.
681         * reload1.c: Don't include cselib.h.
682         (reload_cse_regs): Move to postreload.c
683         (reload_cse_regs_1): Likewise.
684         (reload_cse_noop_set_p): Likewise.
685         (reload_cse_simplify_set): Likewise.
686         (reload_cse_simplify_operands): Likewise.
687         (RELOAD_COMBINE_MAX_USES): Likewise.
688         (reload_combine_ruid): Likewise.
689         (LABEL_LIVE): Likewise.
690         (reload_combine): Likewise.
691         (reload_combine_note_use): Likewise.
692         (reload_combine_note_store): Likewise.
693         (reg_set_luid): Likewise.
694         (reg_offset): Likewise.
695         (reg_base_reg): Likewise.
696         (reg_mode): Likewise.
697         (move2add_luid): Likewise.
698         (move2add_last_label_luid): Likewise.
699         (MODES_OK_FOR_MOVE2ADD): Likewise.
700         (reload_cse_move2add): Likewise.
701         (move2add_note_store): Likewise.
702         (reload_cse_simplify): Likewise.
703         * postreload.c: New.
704
705 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
706
707         * config/avr/avr.c (final_prescan_insn): Remove support for
708         -mrtl.
709         * config/avr/avr.h (MASK_RTL_DUMP): Remove.
710         (TARGET_RTL_DUMP): Likewise.
711         (TARGET_SWITCHES): Remove -mrtl.
712
713 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
714
715         * config/h8300/h8300-protos.h: Change emit_a_rotate to
716         output_a_rotate.  Add a prototype for compute_a_rotate_length.
717         * config/h8300/h8300.c (emit_a_rotate): Change to
718         output_a_rotate.
719         (compute_a_rotate_length): New.
720         (h8300_adjust_insn_length): Remove.
721         * config/h8300/h8300.h (ADJUST_INSN_LENGTH): Remove.
722         * config/h8300/h8300.md (adjust_length): Remove.
723         (*rotlqi3_1): Use output_a_rotate and compute_a_rotate_length.
724         (*rotlhi3_1): Likewise.
725         (*rotlsi3_1): Likewise.
726
727 2003-06-26  Roger Sayle  <roger@eyesopen.com>
728             Richard Henderson  <rth@redhat.com>
729
730         * builtins.c (expand_builtin_mathfn): Always stabilize the argument
731         list against re-evaluation.  If expand_unop fails, call expand_call
732         with the stabilized argument list rather than return NULL_RTX.
733         (expand_builtin_mathfn2): Likewise, always stabilize the argument
734         list, and call expand_call ourselves if expand_binop fails.
735
736 2003-06-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
737
738         PR optimization/11210
739         * fold-const (decode_field_reference): Strip only NOPs that
740         don't affect the sign.
741
742 2003-06-26  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
743
744         * gcc/config/sh/sh.md (push_fpscr): Enable for TARGET_SH2E.
745         (pop_fpscr, fpu_switch): Likewise.
746
747 2003-06-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
748
749         * value-prof.c: New.
750         * value-prof.h: New.
751         * Makefile.in (value-prof.o): New.
752         (LIBGCOV): Add _gcov_merge_single and _gcov_merge_delta
753         (profile.o): Add value-prof.h and tree.h dependency.
754         * flags.h (flag_profile_values): Declare.
755         * gcov-io.h (GCOV_COUNTERS, GCOV_COUNTER_NAMES, GCOV_MERGE_FUNCTIONS):
756         Add new counters.
757         (GCOV_COUNTER_V_INTERVAL, GCOV_COUNTER_V_POW2, GCOV_COUNTER_V_SINGLE,
758         GCOV_COUNTER_V_DELTA): New counter sections.
759         (__gcov_merge_single, __gcov_merge_delta): Declare.
760         * flow.c (mark_used_regs): Set subregs_of_mode only when the
761         structure is initialized.
762         * libgcov.c (__gcov_merge_single, __gcov_merge_delta): New functions.
763         * profile.c: Include value-prof.h and tree.h.
764         (gen_interval_profiler, gen_pow2_profiler, gen_one_value_profiler,
765         gen_const_delta_profiler, instrument_values): New static functions.
766         (get_exec_counts): Fix comment.
767         (branch_prob): Invoke instrument_values.
768         * toplev.c (flag_profile_values): New flag.
769         * doc/invoke.texi (-fprofile-values): Document.
770
771 2003-06-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
772
773         * Makefile.in (cfgrtl.o): Add expr.h dependency.
774         * cfgrtl.c: Include expr.h.
775         (mark_killed_regs, safe_insert_insn_on_edge): New
776         functions.
777         * config/i386/i386.h (AVOID_CCMODE_COPIES): Define.
778         * basic-block.h (safe_insert_insn_on_edge): Declare.
779
780 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
781
782         * c-opts.c (missing_arg): Make non-static.
783         (c_common_handle_option): Don't check for missing arguments.
784         * opts.c (handle_option): Check for missing arguments.
785
786 2003-06-26  David Edelsohn  <edelsohn@gnu.org>
787
788         * config/rs6000/power4.md (power4-veccomplex): Correct latency.
789
790 2003-06-25  Loren James Rittle  <ljrittle@acm.org>
791
792         * configure.in (ld_vers): Portability [sed].
793         * configure: Regenerate with autoconf213.
794
795 2003-06-25  H.J. Lu <hongjiu.lu@intel.com>
796
797         * doc/extend.texi: Document new builtin functions for Intel
798         Prescott New Intrunctions.
799
800         * doc/invoke.texi: Document new command-line options, -mpni and
801         -mno-pni, for Intel Prescott New Intrunctions.
802
803         * config.gcc (extra_headers): Add pmmintrin.h for i[34567]86-*-*.
804
805         * config/i386/i386.c (override_options): Turn on MASK_SSE2
806         for -mpni. Turn on MASK_SSE for -msse2.
807         (bdesc_2arg): Add PNI builtins with 2 args.
808         (bdesc_1arg): Add PNI builtins with 1 arg.
809         (ix86_init_mmx_sse_builtins): Handle PNI builtins.
810         (ix86_expand_builtin): Likewise.
811
812         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A,
813         MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT,
814         MASK_TLS_DIRECT_SEG_REFS): Renumbered.
815         (TARGET_PNI): New.
816         (TARGET_SWITCHES): Don't enable MASK_SSE for -msse2 here. Add
817         -mpni and -mno-pni.
818         (TARGET_CPU_CPP_BUILTINS): Defined __PNI__ for PNI.
819         (ix86_builtins): Add PNI builtins.
820         (config/i386/i386.md): Add PNI patterns.
821
822         * config/i386/pmmintrin.h: New file.
823
824 2003-06-25  Kazu Hirata  <kazu@cs.umass.edu>
825
826         * config/h8300/h8300.md (call): Fix the insn lengths.
827         (call_value): Likewise.
828
829 Thu Jun 26 00:13:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
830
831         * c-common.c (handle_used_attribute): Use mark_referenced.
832         * varasm.c (mark_referenced): Break out from ...
833         (assemble_name): ... here.
834         * tree.h (mark_referenced): Declare.
835
836 2003-06-25  Wolfgang Bangerth  <bangerth@dealii.org>
837
838         * gccbug.in: Add PCH to list of categories.
839
840 2003-06-25 Martin Schaffner <schaffner@gmx.li>
841
842         * cppfiles.c: Clarify comments.
843         * cpphash.h: Likewise.
844         * cpplib.h: Likewise.
845         * cppmacro.c: Likewise.
846         * mkdeps.h: Likewise.
847
848 2003-06-25  Neil Booth  <neil@daikokuya.co.uk>
849
850         * c-opts.c (complain_wrong_lang, write_langs): Remove.
851         (c_common_handle_option): Complaints about wrong language are
852         handled in opts.c now.
853         * opts.c (complain_wrong_lang, write_langs, handle_options): New.
854         (find_opt): Fix thinko.
855         (handle_option): Update prototype.  Complain about switches for
856         a different front end.
857         * opts.h (lang_names, handle_options): New.
858         (handle_option): Remove.
859         * opts.sh: Write out language names array.
860         * toplev.c (parse_options_and_default_flags): Use handle_options.
861
862 2003-06-25  H.J. Lu <hongjiu.lu@intel.com>
863
864         * config/i386/i386.c (MASK_SSE1): Removed.
865         (MASK_SSE164): Removed.
866         (MASK_SSE264): Removed.
867         (bdesc_2arg): Replace MASK_SSE1 with MASK_SSE. Replace
868         MASK_SSE164 with MASK_SSE | MASK_64BIT. Replace MASK_SSE264
869         with MASK_SSE2 | MASK_64BIT.
870         (bdesc_1arg): Likewise.
871         (ix86_init_mmx_sse_builtins): Likewise.
872
873         * config/i386/i386.h (TARGET_SSE): Remove MASK_SSE2.
874         (TARGET_SWITCHES): Enable both MASK_SSE and MASK_SSE2 for
875         -msse2.
876
877 2003-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
878
879         * hwint.h (HOST_WIDE_INT_PRINT, HOST_WIDE_INT_PRINT_C): New macros.
880         (HOST_WIDE_INT_PRINT_DEC_SPACE,
881         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
882         HOST_WIDEST_INT_PRINT_DEC_SPACE,
883         HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE): Delete.
884         (HOST_WIDE_INT_PRINT_DEC, HOST_WIDE_INT_PRINT_DEC_C,
885         HOST_WIDE_INT_PRINT_UNSIGNED, HOST_WIDE_INT_PRINT_HEX): Define in
886         terms of HOST_WIDE_INT_PRINT and possibly HOST_WIDE_INT_PRINT_C.
887
888         * final.c (asm_fprintf): Use HOST_WIDE_INT_PRINT.
889         * ra-debug.c (dump_static_insn_cost): Likewise.
890
891 2003-06-26  Nick Clifton  <nickc@redhat.com>
892
893         * config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Define instead
894         of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
895         Replace occurances of '???' with 'XXX' incase they are
896         mistaken for trigraphs.
897         (THUMB_PRINT_OPERAND_ADDRESS): abort if a compound address
898         does not have a register for the first operand.
899
900 2003-06-25      Dhananjay Deshpande <dhananjayd@kpitcummins.com>
901
902         * config/sh/sh.c (sh_register_move_cost):
903         Add case for moving between MAC_REGS.
904
905 2003-06-25  Zack Weinberg  <zack@codesourcery.com>
906
907         PR 10178
908         * langhooks.h (struct lang_hooks): Add no_body_blocks bool.
909         * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): New; default false.
910         * c-lang.c, objc/objc-lang.c: Override LANG_HOOKS_NO_BODY_BLOCKS
911         to true.
912         * stmt.c (is_body_block): If lang_hooks.no_body_blocks, always
913         return 0.
914
915 2003-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
916
917         * Makefile.in (bt-load.o): Depend on $(TM_P_H).
918         * bt-load.c: Include "tm_p.h".
919
920 2003-06-25  Kazu Hirata  <kazu@cs.umass.edu>
921
922         * config/h8300/h8300.c (compute_mov_length): Adjust for the
923         new optimization.
924         * config/h8300/h8300.md (*movsi_h8300): Optimize the load of
925         an SImode constant whose upper and lower are the same.
926
927 Wed Jun 25 11:31:59 CEST 2003  Jan Hubicka  <jh@suse.cz>
928
929         * varasm.c (assemble_name): Mark needed variables even when
930         global info is ready.
931
932 2003-06-24  Jerry Quinn  <jlquinn@optonline.net>
933
934         PR other/11280
935         * gcc/doc/invoke.texi (Optimization Options): Remove -Os from
936         -freorder-functions description.
937
938 2003-06-25  Josef Zlomek  <zlomekj@suse.cz>
939
940         * dwarf2out.c (gen_field_die): Return if type of decl is error mark.
941
942 2003-06-25  Neil Booth  <neil@daikokuya.co.uk>
943
944         * opts.c (common_handle_option): Add missing break;s.
945
946 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
947
948         * config/h8300/h8300-protos.h: Add a prototype for
949         compute_mov_length.
950         * config/h8300/h8300.c (compute_mov_length): New.
951         * config/h8300/h8300.md (*movqi_h8300): Use it.
952         (*movqi_h8300hs): Likewise.
953         (movstrictqi): Likewise.
954         (*movhi_h8300): Likewise.
955         (*movhi_h8300hs): Likewise.
956         (movstricthi): Likewise.
957         (*movsi_h8300): Likewise.
958         (*movsf_h8300): Likewise.
959         (*movsi_h8300hs): Likewise.
960         (*movsf_h8300hs): Likewise.
961
962 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
963
964         * jump.c (next_nondeleted_insn): Remove.
965         * rtl.h: Remove the prototype for next_nondeleted_insn.
966
967 2003-06-24  Roger Sayle  <roger@eyesopen.com>
968
969         PR optimization/11311
970         * builtins.c (powi_cost): Fix typo.  The number of multiplications
971         required is the number to reduce the argument, result, plus the
972         cost of calculating the residual, val [not n, the original value].
973
974 2003-06-24  Roger Sayle  <roger@eyesopen.com>
975
976         * config/alpha/osf5.h (TARGET_C99_FUNCTIONS): Define.
977
978 2003-06-24  Richard Henderson  <rth@redhat.com>
979             (blame to: Loren James Rittle  <ljrittle@acm.org>)
980
981         * real.h (ieee_extended_intel_96_round_53_format): New.
982         * real.c (ieee_extended_intel_96_round_53_format): New.
983         * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Use it
984         for XFmode and TFmode.
985
986 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
987
988         * config/h8300/h8300.md (4 anonymous patterns): Give internal
989         names.
990         (movsi_h8300): Change the name to *movsi_h8300.
991         (movsi_h8300hs): Change the name to *movsi_h8300hs.
992         (movsf_h8300): Change the name to *movsf_h8300.
993         (movsf_h8300hs): Change the name to *movsf_h8300hs.
994
995 2003-06-24  Jakub Jelinek  <jakub@redhat.com>
996
997         * builtins.c (expand_builtin_strcpy): Don't evaluate side-effects in
998         src twice.
999
1000 2003-06-24  J"orn Rennecke <joern.rennecke@superh.com>
1001
1002         Back out these patches:
1003          2003-06-02  J"orn Rennecke <joern.rennecke@superh.com>
1004           * sh.h (OLD_ARG_MODE): New macro.
1005           (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
1006           (FUNCTION_ARG_1): Break out of:
1007           (FUNCTION_ARG).  Use OLD_ARG_MODE.
1008          2003-06-06  J"orn Rennecke <joern.rennecke@superh.com>
1009           * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
1010           of the generated register.
1011
1012         * sh.h (FUNCTION_ARG_SCmode_WART): Define.
1013         (FUNCTION_ARG): Unless FUNCTION_ARG_SCmode_WART is defined and
1014         an even number of floating point regs are in use, use the same
1015         sequence of argument passing registers for SCmode as would be
1016         used for two SFmode values.
1017         * sh.c (sh_va_arg): If FUNCTION_ARG_SCmode_WART is defined,
1018         swap real / imaginary parts in incoming SCmode values passed
1019         in registers.
1020
1021 2003-06-24  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1022
1023         PR target/11260
1024         * config/alpha/alpha.md (sqrtdf2): Fix operand substitution.
1025
1026 Tue Jun 24 18:49:33 CEST 2003  Jan Hubicka  <jh@suse.cz>
1027
1028         * Makefile.in (cgraph.o): Depend on output.h, not depend on
1029         tree-inline.h
1030         * cgraph.c: Do not include tree-inline.h; include output.h
1031         (known_fns): Rename to ...
1032         (known_decls): ... this one; update all uses.
1033         (cgraph_varpool_hash): New static variable.
1034         (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): New global
1035         variables.
1036         (cgraph_varpool_hash_node, eq_cgraph_varpool_node, cgraph_varpool_node,
1037         cgraph_varpool_node_for_identifier, cgraph_varpool_mark_needed_node,
1038         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
1039         New functions.
1040         * cgraph.h (cgraph_varpool_node): New structure.
1041         (cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): Declare.
1042         (cgraph_varpool_node, cgraph_varpool_node_for_identifier,
1043         cgraph_varpool_finalize_decl, cgraph_varpool_mark_needed_node,
1044         cgraph_varpool_asemble_pending_decls): Declare.
1045         * cgraphunit.c (record_call_1): Notice variable references.
1046         (cgraph_finalize_compilation_unit): Assemble pending variables.
1047         * toplev.c (wrapup_global_declarations): Use varpool.
1048         (compile_file): Assemble pending declarations.
1049         (rest_of_decl_compilation): Use varpool in unit-at-a-time mode.
1050         * varasm.c (assemble_name): Notice varpool references.
1051
1052 Tue Jun 24 13:52:11 CEST 2003  Jan Hubicka  <jh@suse.cz>
1053
1054         * langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): New macro.
1055         * langhooks.h (lang_hooks_for_decls): Add prepare_assemble_variable.
1056         * varasm.c (assemble_variable): Call prepare_assemble_variable.
1057
1058 2003-06-23  Roger Sayle  <roger@eyesopen.com>
1059
1060         * builtins.c (expand_builtin): Use expand_builtin_pow to expand
1061         calls for pow, powf, powl and their __builtin_ variants.
1062         (expand_builtin_pow): If the second argument is a constant
1063         integer and compiling with -ffast-math, use expand_powi to
1064         generate RTL if powi_cost is less than POWI_MAX_MULTS.
1065         (powi_cost): New function to return the number of multiplications
1066         necessary to evaluate an Nth power, for integer constant N.
1067         (expand_powi): New function to expand the RTL for evaluating
1068         the Nth power of a floating point value, for integer constant N.
1069
1070         * doc/tm.texi (POWI_MAX_MULTS): Document new target macro.
1071
1072 Mon Jun 23 23:07:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
1073
1074         * cgraph.c (cgraph_nodes_queue): Declare.
1075         (eq_node): Take identifier as p2.
1076         (cgraph_node): Update htab_find_slot_with_hash call.
1077         (cgraph_node_for_identifier): New.
1078         (cgraph_mark_needed_node): Move here from cgraphunit.c.
1079         * cgraph.h (cgraph_nodes_queue): Declare.
1080         (cgraph_node_for_identifier): Declare.
1081         * cgraphunit.c (cgraph_finalize_function): Collect entry points here
1082         instead of in cgraph_finalize_compilation_unit; constructors and
1083         destructors are entry points.
1084         (cgraph_finalize_compilation_unit): Reorganize debug outout;
1085         examine nested functions after lowerng; call collect_functions hook.
1086         (cgraph_mark_local_functions): DECL_COMDAT functions are not local.
1087         (cgraph_finalize_compilation_unit): Do not collect entry points.
1088         * varasm.c: Include cgraph.h
1089         (assemble_name): Mark referenced identifier as needed.
1090
1091         * cgraphunit.c (record_call_1): Use get_callee_fndecl.
1092
1093 2003-06-23  Jakub Jelinek  <jakub@redhat.com>
1094
1095         * config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0,
1096         just SYMBOL_REF.
1097         * config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
1098         mode, as it requires pic register loaded.
1099
1100         * varasm.c (resolve_unique_section): Remove prototype.  No longer
1101         static.
1102         * tree.h (resolve_unique_section): New prototype.
1103
1104 2003-06-23  Andreas Schwab  <schwab@suse.de>
1105
1106         PR debug/9905
1107         * dwarf2out.c (loc_descriptor_from_tree): Handle MODIFY_EXPR by
1108         recursing through first argument.
1109
1110 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
1111
1112         * ChangeLog.1: Fix a typo.
1113         * cfgrtl.c: Fix comment typos.
1114         * dwarf2out.c: Likewise.
1115         * expmed.c: Likewise.
1116         * genrecog.c: Likewise.
1117         * jump.c: Likewise.
1118         * rtlanal.c: Likewise.
1119         * ssa-dce.c: Likewise.
1120         * toplev.c: Likewise.
1121
1122 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
1123
1124         * doc/extend.texi: Fix typos.
1125         * doc/md.texi: Likewise.
1126         * doc/tm.texi: Likewise.
1127
1128 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
1129
1130         * basic-block.h: Fix comment formatting.
1131         * bt-load.c: Likewise.
1132         * builtins.c: Likewise.
1133         * c-common.c: Likewise.
1134         * c-common.h: Likewise.
1135         * c-format.c: Likewise.
1136         * coverage.c: Likewise.
1137         * cpplib.h: Likewise.
1138         * cpppch.c: Likewise.
1139         * dbxout.c: Likewise.
1140         * diagnostic.c: Likewise.
1141         * dwarf2out.c: Likewise.
1142         * expr.c: Likewise.
1143         * fold-const.c: Likewise.
1144         * function.c: Likewise.
1145         * gcc.c: Likewise.
1146         * gcov-io.c: Likewise.
1147         * gcov-io.h: Likewise.
1148         * gcov.c: Likewise.
1149         * profile.c: Likewise.
1150         * real.h: Likewise.
1151         * sched-deps.c: Likewise.
1152
1153 2003-06-23  Roger Sayle  <roger@eyesopen.com>
1154             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1155
1156         * doc/contrib.texi (Contributors): Add a note on testing and
1157         remove duplicates from testers list.
1158
1159 2003-06-23  Nick Clifton  <nickc@redhat.com>
1160
1161         * read-rtl.c (read_braced_string): Check for EOF.  If
1162         encountered issue an error message.
1163
1164 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
1165
1166         * doc/invoke.texi: Document dump options, dT and dW.
1167
1168 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
1169
1170         * genrecog.c (pred_table): Remove the entry for
1171         mode_independent_operand.
1172         * recog.c (next_insns_test_no_inequality): Remove.
1173         (mode_independent_operand): Likewise.
1174         * recog.h: Remove the prototype for mode_independent_operand.
1175
1176 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
1177
1178         * config/h8300/h8300.c (output_simode_bld): Use rotxl.l to
1179         store into bit 0.
1180         * config/h8300/h8300.md (*extzv_1_r_h8300hs): Change cc of the
1181         second alternative to set_znv.
1182         (*extzv_1_r_inv_h8300hs): Likewise.
1183
1184 2003-06-23  Hans-Peter Nilsson  <hp@bitrange.com>
1185
1186         * configure.in (in_tree_gas): Find out here whether GAS is ELF,
1187         set in_tree_gas_is_elf accordingly.
1188         (in_tree_ld): Find out whether LD emulation is ELF, set
1189         in_tree_ld_is_elf accordingly.
1190         (gcc_cv_as_subsections, gcc_cv_as_hidden, gcc_cv_as_leb128)
1191         (gcc_cv_as_eh_frame, gcc_cv_as_shf_merge)
1192         (gcc_cv_as_dwarf2_debug_line, gcc_cv_as_gdwarf2_flag)
1193         (gcc_cv_as_gstabs_flag): Use $in_tree_gas_is_elf instead of
1194         grepping gas/Makefile.
1195         (gcc_cv_ld_ro_rw_mix, gcc_cv_ld_eh_frame_hdr, gcc_cv_ld_pie): Use
1196         $in_tree_ld_is_elf instead of grepping ld/Makefile.
1197         * configure: Regenerate.
1198
1199 2003-06-22  Roger Sayle  <roger@eyesopen.com>
1200
1201         * builtins.c (expand_builtin_mathfn_2): Use tree_cons to build
1202         up the stabilized argument list, not build_tree_list.
1203         (expand_builtin_strcpy): Construct new argument list manually
1204         instead of using chainon to modify the original argument list.
1205         (expand_builtin_stpcpy): Construct new argument list manually
1206         instead of using copy_list and chainon.
1207         (expand_builtin_sprintf): New function.  Optimize calls to
1208         sprintf when the format is "%s" or doesn't contain a '%'.
1209         (expand_builtin): Expand BUILT_IN_SPRINTF using the new function
1210         expand_builtin_sprintf.
1211
1212 2003-06-22  Andreas Schwab  <schwab@suse.de>
1213
1214         * function.c (set_insn_locators): Mark as unused.
1215
1216 2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
1217
1218         * common.opt: Add -finline-limit.
1219         * opts.c (common_handle_options): Handle it.
1220         * opts.sh: Temporary kludge for -finline-limit.
1221         * toplev.c (decode_f_option, independent_decode_option): Die.
1222         (parse_options_and_default_flags): No independent_decode_option.
1223
1224 2003-06-22  Andreas Jaeger  <aj@suse.de>
1225
1226         * calls.c (emit_call_1): Readd lost ATTRIBUTE_UNUSED.
1227
1228 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
1229
1230         * doc/invoke.texi: Document dumps, .btl, .cfg, and .bypass.
1231
1232 2003-06-22  Andreas Schwab  <schwab@suse.de>
1233
1234         * doc/invoke.texi: Remove leading `-' from options in index.
1235
1236 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
1237
1238         * bt-load.c: Follow spelling conventions.
1239
1240 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
1241
1242         * expr.c (emit_move_insn_1): Fix a comment typo.
1243
1244 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
1245
1246         * doc/invoke.texi: Alphabetize dump options.
1247
1248 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
1249
1250         * doc/invoke.texi: Remove a duplicate -dk.
1251
1252 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
1253
1254         * doc/invoke.texi: Update dump file names.
1255
1256 2003-06-22  Zack Weinberg  <zack@codesourcery.com>
1257
1258         * config/i370/i370.c, config/i370/i370.h: Use HOST_CHARSET_ASCII
1259         and HOST_CHARSET_EBCDIC, not HC_ASCII and HC_EBCDIC.
1260
1261 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
1262
1263         * doc/rtl.texi: Fix the @findex for pre_modify.
1264
1265 2003-06-22  Andreas Jaeger  <aj@suse.de>
1266
1267         * caller-save.c: Convert to ISO C90.
1268         * calls.c: Likewise.
1269         * cfg.c: Likewise.
1270         * cfganal.c: Likewise.
1271         * cfgbuild.c: Likewise.
1272         * cfgcleanup.c: Likewise.
1273         * cfghooks.c: Likewise.
1274         * cfglayout.c: Likewise.
1275         * cfglayout.h: Likewise.
1276         * cfgloop.c: Likewise.
1277         * cfgloop.h: Likewise.
1278         * cfgloopanal.c: Likewise.
1279         * cfgloopmainip.c: Likewise.
1280         * cfgrtl.c: Likewise.
1281
1282 2003-06-22  Richard Earnshaw  <rearnsha@arm.com>
1283
1284         * arm.h (BIGGEST_ALIGNMENT): Use TARGET_REALLY_IWMMXT for selecting
1285         64-bit alignment.
1286
1287 2003-06-22  Richard Earnshaw  <rearnsha@arm.com>
1288
1289         * arm.md (all call_value patterns): Remove register constraints on
1290         value operand.
1291
1292 2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
1293
1294         * common.opt: More -f switches.
1295         * opts.c (common_handle_options): Handle them.
1296         * toplev.c (time_report): Make extern.
1297         (f_options): USe flag_dummy.
1298         (decode_f_option): No need to use f_options now.
1299         * toplev.h (flag_cprop_registers, flag_ssa, flag_ssa_ccp,
1300         flag_ssa_dce, time_report, flag_new_regalloc): Make extern.
1301
1302 2003-06-22  Andreas Jaeger  <aj@suse.de>
1303
1304         * c-lex.c: Convert to ISO C90.
1305         * c-objc-common.c: Likewise.
1306         * c-opts.c: Likewise.
1307         * c-pch.c: Likewise.
1308         * c-ppoutput.c: Likewise.
1309         * c-pragma.h: Likewise.
1310         * c-pretty-print.c: Likewise.
1311         * c-pretty-print.h: Likewise.
1312         * c-semantics.c: Likewise.
1313         * c-tree.h: Likewise.
1314         * c-typeck.c: Likewise.
1315
1316         * c-lang.c: Convert to ISO C90.
1317
1318 2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
1319
1320         * opts.c (find_opt): Fix to always guarantee a find of a
1321         switch with joined parameter.
1322         * opts.h (struct cl_option): New member back_chain.
1323         * opts.sh: Update to calculate and add back_chain member.
1324
1325 2003-06-22  Gabriel Dos Reis <gdr@integrable-solutions.net>
1326
1327         * diagnostic.h (output_host_wide_integer): Declare.
1328         * diagnostic.c (output_long_long_decicaml): New function.
1329         (output_host_wide_integer): Likewise.
1330         (output_format): Use them.  Handle "%ll" and "%w".
1331
1332 2003-06-21  Jason Thorpe  <thorpej@wasabisystems.com>
1333
1334         * config.gcc (*-*-netbsd*): Add t-libgcc-pic to tmake_file.
1335
1336 2003-06-21  Zack Weinberg  <zack@codesourcery.com>
1337
1338         * aclocal.m4 (gcc_AC_C_CHARSET): Delete.
1339         * configure.in: Don't use gcc_AC_C_CHARSET.
1340         * configure, config.in: Regenerate.
1341         * config/i370/i370.c, config/i370/i370.h: Use
1342         (HOST_CHARSET == HC_EBCDIC) or (HOST_CHARSET == HC_ASCII)
1343         instead of HOST_EBCDIC or !HOST_EBCDIC.  Clarify comments a tad.
1344
1345 2003-06-21  Neil Booth  <neil@daikokuya.co.uk>
1346
1347         * Makefile.in: Update.
1348         * common.opt: New switches.
1349         * opts.c: Include diagnostic.h.
1350         (common_handle_option): Handle new switches.
1351         * toplev.c (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
1352         flag_if_conversion2, flag_delete_null_pointer_checks,
1353         flag_rerun_cse_after_loop): Make extern.
1354         (flag_dummy): New.
1355         (f_options): Update to use flag_dummy for moved options.
1356         (decode_f_option): Some switches moved to opts.c.
1357         * toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
1358         flag_if_conversion2, flag_delete_null_pointer_checks,
1359         flag_rerun_cse_after_loop, flag_keep_static_consts, flag_peel_loops,
1360         flag_tracer, flag_thread_jumps, flag_unroll_loops,
1361         flag_unroll_all_loops, flag_unswitch_loops): New.
1362
1363 Sat Jun 21 13:41:00 CEST 2003  Jan Hubicka  <jh@suse.cz>
1364
1365         * i386.c (ix86_va_arg): Fix allocation of temporary slot.
1366
1367 2003-06-20  Kazu Hirata  <kazu@cs.umass.edu>
1368
1369         * config/h8300/h8300-protos.h: Add a prototype for
1370         same_cmp_preceding_p.
1371         * config/h8300/h8300.c (same_cmp_preceding): New.
1372         * config/h8300/h8300.md: Extend peephole2's that transform
1373         compare:SI into shorter sequences so that they can deal with
1374         signed comparisons.
1375
1376 2003-06-21  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1377
1378         * doc/contrib.texi (Contributors): Use Windows instead of Win32.
1379
1380         Update Andreas Jaeger's entry.
1381
1382         Merge the two entries of Kaveh Ghazi, David Edelsohn, and
1383         Loren J. Rittle.
1384
1385 2003-06-21  Nathanael Nerode  <neroden@gcc.gnu.org>
1386
1387         * mkconfig.sh: Add multiple inclusion guards to generated headers.
1388
1389 2003-06-20  Neil Booth  <neil@daikokuya.co.uk>
1390
1391         * c-decl.c (store_parm_decls): Make saved_warn_shadow boolean.
1392         * common.opt: Add remaining -W options and -g.
1393         * diagnostic.c (warnings_are_errors): Remove.
1394         * flags.h: Make most warning flags boolean.
1395         * opts.c (common_handle_option): Handle remaining -W options, and -g.
1396         Move many warning flags from toplev.c, making them boolean.
1397         * toplev.c: Remove many warning flags.
1398         (decode_W_option): Remove.
1399         (decode_g_option): Make extern.  Error on unknown switch.
1400         (lang_independent_W_options): Use warn_dummy.
1401         (independent_decode_option): Just handle -f switches now.
1402         * toplev.h (decode_g_option): New.
1403
1404 2003-06-20  Aldy Hernandez  <aldyh@redhat.com>
1405
1406         PR/11092
1407         * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Adjust for
1408         vectors.
1409
1410 2003-06-20  Kelley Cook  <kelleycook@wideopenwest.com>
1411
1412         * opts.sh: Tweak awk script for portability.
1413
1414 2003-06-20  Mark Mitchell  <mark@codesourcery.com>
1415
1416         PR c++/10888
1417         * tree-inline.c (expand_call_inline): Do not warn about failing to
1418         inline functions declared in system headers.
1419         * doc/invoke.texi (-Winline): Expand on documentation.
1420
1421 2003-06-20  Richard Henderson  <rth@redhat.com>
1422
1423         * config/alpha/alpha.c (alpha_file_start): Disable
1424         file_start_file_directive for ELF and not MDEBUG.
1425
1426 2003-06-20  J"orn Rennecke <joern.rennecke@superh.com>
1427
1428         * sh.h (ROUND_TYPE_ALIGN): Remove.
1429
1430 2003-06-20  Richard Henderson  <rth@redhat.com>
1431
1432         * hooks.c (hook_int_void_no_regs): Rename from
1433         hook_reg_class_void_no_regs; change return type.
1434         * hooks.h: Update.
1435         * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Update.
1436         * target.h (branch_target_register_class): Change return type to int.
1437         Add documentation.
1438         * config/sh/sh.c (sh_target_reg_class): Change return type.
1439         * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
1440
1441 2003-06-20  Andreas Tobler <toa@pop.agri.ch>
1442
1443         * c-format.c: Change _Bool to bool reverting part of the last
1444         patch.
1445
1446 2003-06-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1447
1448         * som.h (ASM_OUTPUT_SOURCE_LINE): Use targetm.strip_name_encoding to
1449         strip name encoding.
1450
1451 2003-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1452
1453         * configure.in (gcc_cv_as_gstabs_flag): Disable if assembler warns.
1454         * configure: Regenerate.
1455         Fixes PR driver/9362.
1456
1457 2003-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1458
1459         * config/alpha/alpha.c (alpha_file_start): Fix typo.
1460
1461 2003-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1462
1463         * config/mips/mips.h (PUT_SDB_FUNCTION_END): Pass 0 as third arg
1464         to ASM_OUTPUT_SOURCE_LINE.
1465
1466 2003-06-20  Daniel Egger  <degger@fhm.edu>
1467             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1468
1469         * doc/install.texi (Building): Correct and improve statement
1470         about parallel builds.
1471
1472 2003-06-20  Andreas Jaeger  <aj@suse.de>
1473
1474         * c-common.c: Change _Bool to bool reverting part of the last
1475         patch.
1476
1477 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
1478
1479         * tree.h (expand_function_end): Remove all parameters.
1480         * function.c (expand_function_end): Remove all parameters.
1481         Use input_location. Never expand_end_bindings.
1482         * c-decl.c (c_expand_body_1): Adjust expand_function_end call.
1483         * coverage.c (create_coverage): Likewise.
1484
1485 2003-06-20  Nick Clifton  <nickc@redhat.com>
1486
1487         * doc/extend.texi (ARM Built-in Functions): New node.  Document
1488         ARM builtin functions for iWMMXt support.
1489
1490 2003-06-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
1491
1492         * doc/install.texi (--with-gnu-as): Mention SPARC/Solaris and
1493         SPARC64/Solaris as platforms where --with-gnu-as makes a difference.
1494         (--with-as): Add @anchor.
1495         (--with-gnu-ld): Fix typo.
1496         (--with-ld): Add @uref to --with-as.
1497
1498 2003-06-19  Zack Weinberg  <zack@codesourcery.com>
1499
1500         * doc/tm.texi: Uniformly use @defmac for macros, rather than
1501         @table items.  Minor formatting and editorial corrections.
1502
1503 2003-06-20  Neil Booth  <neil@daikokuya.co.uk>
1504
1505         * line-map.c, line-map.h: Convert to ISO prototypes.
1506
1507 2003-06-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1508
1509         * gcse.c (store_killed_in_insn): Fix.
1510
1511 2003-06-19  Zack Weinberg  <zack@codesourcery.com>
1512
1513         * target.h (asm_out.file_start, file_start_app_off,
1514         file_start_file_directive): New hooks.
1515         * target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
1516         TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START):
1517         New hook-definition macros.
1518         * doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START.
1519         * varasm.c (default_file_start): New.
1520         * output.h: Prototype it.
1521         * toplev.c (init_asm_output): Use targetm.asm_out.file_start.
1522         * system.h: Poison ASM_FILE_START.
1523
1524         * config/alpha/alpha.c (alpha_write_verstamp): Delete.
1525         (alpha_file_start): New, define if !TARGET_ABI_UNICOSMK.
1526         (unicosmk_asm_file_start): Rename unicosmk_file_start,
1527         make static, take no arguments.
1528         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END,
1529         TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate.
1530         * config/alpha/unicosmk.h: Don't define ASM_FILE_START nor
1531         TARGET_ASM_FILE_END.  Remove reference to ASM_FILE_START in
1532         comment.
1533         * config/arc/arc.c (arc_asm_file_start): Rename
1534         arc_file_start, take no arguments, make static.
1535         (TARGET_ASM_FILE_START): Set it.
1536         * config/arm/arm.c (aof_file_start): New static function.
1537         (TARGET_ASM_FILE_START): Set it, when appropriate.
1538         * config/arm/coff.h, config/arm/elf.h:
1539         Set TARGET_ASM_FILE_START_APP_OFF to true.
1540         * config/avr/avr.c (asm_file_start): Rename avr_file_start,
1541         take no arguments, make static.
1542         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
1543         Set them.
1544         * config/c4x/c4x.c (c4x_file_start): New static function.
1545         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
1546         Set them.
1547         * config/cris/cris.c (cris_file_start): New static function.
1548         (TARGET_ASM_FILE_START): Set it.
1549         * config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename
1550         dsp16xx_file_start, make static.
1551         (luxworks_dsp16xx_file_start): Delete.
1552         (TARGET_ASM_FILE_START): Set it.
1553         * config/h8300/h8300.c (asm_file_start): Rename
1554         h8300_file_start, make static, take no arguments.
1555         (TARGET_ASM_FILE_START): Set it.
1556         * config/i370/i370.c (i370_file_start): New static function.
1557         (TARGET_ASM_FILE_START): Set it.
1558         * config/i386/i386.c (x86_file_start): New static function.
1559         (TARGET_ASM_FILE_START): Set it.
1560         * config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE,
1561         X86_FILE_START_FLTUSED): New macros, default to false.
1562         * config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1.
1563         * config/i386/sysv4.h, config/i386/sco5.h: Override
1564         X86_FILE_START_VERSION_DIRECTIVE to true.
1565         * config/ia64/ia64.c (ia64_file_start): New static function.
1566         (TARGET_ASM_FILE_START): Set it.
1567         (emit_safe_across_calls): Take no arguments.
1568         * config/ia64/ia64.md: Update to match.
1569         * config/m32r/m32r.c (m32r_asm_file_start): Rename
1570         m32r_file_start, make static, take no arguments.
1571         (TARGET_ASM_FILE_START): Set it.
1572         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename
1573         m68hc11_file_start, make static, take no arguments.
1574         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1575         (print_options): Delete.
1576         * config/m68k/m68k.c (m68k_hp320_file_start): New static function.
1577         (TARGET_ASM_FILE_START_APP_OFF): Set.
1578         * config/m68k/hp320.h: Set TARGET_ASM_FILE_START to
1579         m68k_hp320_file_start.
1580         * config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start):
1581         Make static, take no arguments.
1582         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1583         * config/mmix/mmix.c (mmix_asm_file_start): Rename
1584         mmix_file_start, make static, take no arguments.
1585         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1586         * config/mn10300/mn10300.c (asm_file_start): Rename
1587         mn10300_file_start, make static, take no arguments.
1588         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1589         * config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set.
1590         * config/pa/pa.c (pa_file_start_level, pa_file_start_space,
1591         pa_file_start_file, pa_file_start_mcount, pa_elf_file_start,
1592         pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start,
1593         pa_hpux64_hpas_file_start): New static functions.
1594         * config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start.
1595         * config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to
1596         pa_linux_file_start.
1597         * config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to
1598         pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as
1599         appropriate.
1600         * config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start.
1601         * config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF.
1602         (rs6000_file_start): Make static, take no arguments.  Reset
1603         default_cpu under certain conditions.
1604         (rs6000_xcoff_file_start): New function.
1605         * config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set.
1606         * config/rs6000/xcoff.h (TARGET_ASM_FILE_START,
1607         TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override.
1608         * config/sh/sh.c (output_file_start): Rename
1609         sh_file_start, make static, take no arguments.  Merge in old
1610         code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF.
1611         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1612         * config/sh/sh.c (TARGET_ELF): Define to 0.
1613         * config/sh/elf.h (TARGET_ELF): Redefine to 1.
1614         * config/v850/v850.c (asm_file_start): Delete.
1615         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
1616         * config/vax/vax.c (vax_file_start): New static function.
1617         (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set.
1618
1619         * config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false.
1620         * config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h
1621         * config/i386/att.h, config/i386/gas.h, config/i386/linux.h
1622         * config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h
1623         * config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h
1624         * config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true.
1625
1626         * config/darwin.h, config/elfos.h, config/alpha/elf.h
1627         * config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h
1628         * config/arc/arc.h, config/arm/aof.h, config/arm/aout.h
1629         * config/arm/coff.h, config/arm/elf.h, config/arm/pe.h
1630         * config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h
1631         * config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h
1632         * config/i370/i370.h, config/i386/att.h, config/i386/gas.h
1633         * config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h
1634         * config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h
1635         * config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h
1636         * config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h
1637         * config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h
1638         * config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h
1639         * config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h
1640         * config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h
1641         * config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h
1642         * config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h
1643         * config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START.
1644
1645         * config/alpha/alpha-protos.h, config/arc/arc-protos.h
1646         * config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h
1647         * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
1648         * config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h
1649         * config/mips/mips-protos.h, config/mmix/mmix-protos.h
1650         * config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h
1651         * config/sh/sh-protos.h, config/v850/v850-protos.h: Update.
1652
1653         * xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h:
1654         Remove reference to ASM_FILE_START in comment.
1655         * config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h
1656         * config/arm/linux-gas.h, config/arm/netbsd-elf.h
1657         * config/arm/netbsd.h: Delete definition of ARM_OS_NAME.
1658
1659 2003-06-19  Graeme Peterson <gp@qnx.com>
1660
1661         * gcc.c (target_sysroot_suffix, target_sysroot_hdrs_suffix,
1662         SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC, sysroot_suffix_spec,
1663         sysroot_hdrs_suffix_spec): New.
1664         (static_specs): Initialize new variables.
1665         (add_sysroot_suffix_prefix, do_spec_1, main): Use new variables.
1666         * doc/tm.texi (SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC):
1667         New macros.
1668
1669 2003-06-19  Andreas Jaeger  <aj@suse.de>
1670
1671         * c-aux-info.c: Convert to ISO C90.
1672         * c-pragma.c: Likewise.
1673         * c-common.c: Likewise.
1674         * c-common.h: Likewise.
1675         * c-convert.c: Likewise.
1676         * c-cppbuiltin.c: Likewise.
1677         * c-dump.c: Likewise.
1678         * c-decl.c: Likewise
1679         * c-format.c: Likewise.
1680         * c-incpath.c: Likewise.
1681         * c-incpath.h: Likewise.
1682
1683 2003-06-19  Roger Sayle  <roger@eyesopen.com>
1684
1685         * builtins.c (expand_errno_check): Assume that flag_errno_math
1686         and HONOR_NANS have been tested before calling here.  Only try
1687         to set errno ourselves if the decl can't throw an exception.
1688         (expand_builtin_mathfn): Move the code to stabilize the arg
1689         after the main switch, so that that its only done when needed.
1690         BUILT_IN_SQRT{,F,L} doesn't set errno if its arg is nonnegative.
1691         Don't modify the original expr when stabilizing the argument.
1692         (expand_builtin_mathfn_2): Likewise, move the code to stabilize
1693         the args after the main switch, and don't modify the orginal exp.
1694
1695 2003-06-19  Aldy Hernandez  <aldyh@redhat.com>
1696
1697         * expr.c (const_vector_from_tree): Initialize remaining elements
1698         to 0.
1699
1700 2003-06-19  Aldy Hernandez  <aldyh@redhat.com>
1701
1702         * config/rs6000/spe.md ("spe_evfscfsi"): Change operand types.
1703         Change "fix" to "float".
1704
1705 2003-06-19  Andreas Jaeger  <aj@suse.de>
1706
1707         * c-tree.h: Remove declaration of poplevel.
1708
1709         * tree.h: Remove declaration of approx_sqrt.
1710
1711         * c-lex.c: Remove redundant declaration of asm_out_file.
1712
1713         * flags.h: Remove declaration of warn_unknown_pragma and
1714         main_input_filename.
1715
1716         * rtl.h: Remove functions from fold-const.c since they're already
1717         declared in tree.h.
1718
1719         * regs.h: Remove redundant declaration of reg_names.
1720
1721         * bt-load.c (migrate_btr_defs): Correct printf arguments.
1722
1723         * protoize.c: Fix breakage from last patch.
1724
1725 2003-06-19  J"orn Rennecke <joern.rennecke@superh.com>
1726
1727         * hooks.h (hook_reg_class_void_no_regs): Only declare if tm.h
1728         has been included.
1729
1730 2003-06-18  James A Morrison <ja2morri@student.math.uwaterloo.ca>
1731
1732         * config/sparc/sparc.c: Update copyright year.
1733
1734 2003-06-19  David Edelsohn  <edelsohn@gnu.org>
1735
1736         * config/rs6000/rs6000.c (init_cumulative_args): Limit CALL_LIBCALL
1737         to ABI_V4.
1738
1739 2003-06-18  Joseph S. Myers  <jsm@polyomino.org.uk>
1740
1741         PR bootstrap/4068
1742         * config/i386/liunx.h: Don't include sys/ucontext.h for glibc 2.0.
1743
1744 2003-06-19  Kazu Hirata  <kazu@cs.umass.edu>
1745
1746         * config/h8300/h8300.c (TARGET_INITIALIZER and friends): Move
1747         to the end of the file.  Remove unnecessary prototypes.
1748
1749 2003-06-19  Hans-Peter Nilsson  <hp@axis.com>
1750
1751         * bt-load.c (migrate_btr_def) [INSN_SCHEDULING]: Conditionalize
1752         calls to insn_default_latency and result_ready_cost.  Initialize
1753         def_latency to 1.
1754
1755 2003-06-18  Richard Henderson  <rth@redhat.com>
1756
1757         * config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
1758         (_Unwind_FindEnclosingFunction): Implement.
1759
1760 2003-06-18  Kazu Hirata  <kazu@cs.umass.edu>
1761
1762         * toplev.c (rest_of_handle_sched): Hide the entire function if
1763         INSN_SCHEDULING is not defined.
1764         (rest_of_compilation): Call rest_of_handle_sched() only when
1765         INSN_SCHEDULING is defined.
1766
1767 2003-06-18  Stephen Clarke <stephen.clarke@superh.com>
1768             J"orn Rennecke <joern.rennecke@superh.com>
1769
1770         * bt-load.c: New file.
1771         * Makefile.in (OBJS): Include bt-load.o
1772         (bt-load.o): Add dependencies.
1773         * flags.h (flag_branch_target_load_optimize): Declare.
1774         (flag_branch_target_load_optimize2): Likewise.
1775         * hooks.c (hook_reg_class_void_no_regs): New function.
1776         (hook_bool_bool_false): Likewise.
1777         * hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
1778         * rtl.h (branch_target_load_optimize): Declare.
1779         * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
1780         (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1781         (TARGET_INITIALIZER): Include these.
1782         * target.h (struct gcc_target): Add branch_target_register_class
1783         and branch_target_register_callee_saved members.
1784         * toplev.c (enum dump_file_index): Add DFI_branch_target_load
1785         (dump_file) Add "tars" entry.
1786         (flag_branch_target_load_optimize): New variable.
1787         (flag_branch_target_load_optimize2): Likewise.
1788         (lang_independent_options): Add entries for new options.
1789         (rest_of_compilation): Call branch_target_load_optimize.
1790         * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
1791         (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1792         * doc/invoke.texi: Document -fbranch-target-load-optimize and
1793         -fbranch-target-load-optimize2.
1794         * rtl.h (epilogue_completed): Declare.
1795         * recog.c (epilogue_completed): New variable.
1796         * toplev.c (rest_of_compilation): Set it.
1797         * flow.c (mark_regs_live_at_end): Use it.
1798         * config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
1799         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
1800         * config/sh/sh.c (sh_output_mi_thunk): Likewise.
1801         * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
1802
1803         * sh.c (shmedia_space_reserved_for_target_registers): New variable.
1804         (sh_target_reg_class): New function.
1805         (sh_optimize_target_register_callee_saved): Likwise.
1806         (shmedia_target_regs_stack_space): Likewise.
1807         (shmedia_reserve_space_for_target_registers_p): Likewise.
1808         (shmedia_target_regs_stack_adjust): Likewise.
1809         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
1810         (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
1811         (calc_live_regs): If flag_branch_target_load_optimize2 and
1812         TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
1813         for target registers, make sure that we save all target registers.
1814         (sh_expand_prologue, sh_expand_epilogue): Take target register
1815         optimizations into account.  Collapse stack adjustments if that
1816         is beneficial.
1817         (initial_elimination_offset): Reserve space for target registers
1818         if necessary.
1819         * sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
1820         (OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
1821
1822 2003-06-18  Nick Clifton  <nickc@redhat.com>
1823
1824         * config.gcc: Add an extra_header for ARM targets.
1825         Support configuring with --with-cpu=iwmmxt.
1826         * doc/invoke.texi: Document new value for -mcpu= ARM switch.
1827         * config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
1828         names.  Fix formatting.
1829         * config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
1830         names.
1831         * config/arm/arm-protos.h (arm_emit_vector_const): New
1832         prototype.
1833         (arm_output_load_gr): New prototype.
1834         * config/arm/arm.c (extra_reg_names1): Delete.
1835         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
1836         * arch_is_iwmmxt): Define.
1837         (all_cores, all_architecture): Add entry for iwmmxt.
1838         (arm_override_options): Add support for iwmmxt.
1839         (use_return_insn, arm_function_arg, arm_legitimate_index_p,
1840         arm_print_value, arm_rtx_costs_1, output_move_double,
1841         arm_compute_save_reg_mask, arm_output_epilogue,
1842         arm_get_frame_size, arm_expand_prologue, arm_print_operand,
1843         arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
1844         Likewise.
1845         (arm_init_cumulative_args): Count iwmmxt registers.
1846         (arm_function_ok_for_sibcall): Return false of sibcall_blocked
1847         has been set.
1848         (struct minipool_node): Add fix_size field.
1849         (add_minipool_forward_ref): Add support for 8-byte aligning of
1850         the pool.
1851         (add_minipool_backward_ref, add_minipool_offsets,
1852         dump_minipool, push_minipool_fix): Likewise.
1853         (struct builtin_description): New struct.
1854         (builtin_description): New array of iwmmxt builtin functions.
1855         (arm_init_iwmmxt_builtins): New function.
1856         (arm_init_builtins): New function.
1857         (safe_vector_operand): New function.
1858         (arm_expand_binop_builtin): New function.
1859         (arm_expand_unop_builtin): New function.
1860         (arm_expand_builtin): New function.
1861         (arm_emit_vector_const): New function.
1862         (arm_output_load_gr): New function.
1863         * config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
1864         TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
1865         TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
1866         DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
1867         (BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
1868         (CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
1869         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
1870         reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
1871         REG_CLASS_FOR_LETTER): Add iwmmxt registers.
1872         (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
1873         registers unless the iwmmxt target is selected.
1874         (FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
1875         FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
1876         IS_IWMMXT_GR_REGNUM): Define.
1877         (FIRST_PSEUDO_REGISTER): Bump to 63.
1878         (struct machine_function): Add sibcall_blocked field.
1879         (Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
1880         nargs fields.
1881         (enum arm_builtins): New enum list.
1882         * config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
1883         UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
1884         UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
1885         UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
1886         (VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
1887         VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
1888         (movv2si, movv4hi, movv8qi): New expands for vector moves.
1889         Include iwmmxt.md.
1890         * config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
1891         multilib.
1892         (MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
1893         * config/arm/mmintrin.h: New ARM specific header file.
1894         * config/arm/iwmmx.md: New iWMMXt specific machine patterns.
1895
1896 2003-06-18  J"orn Rennecke <joern.rennecke@superh.com>
1897
1898         * toplev.c (Remaining -d letters summary): Update.
1899
1900 2003-06-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1901
1902         * config/rs6000/rs6000.c (init_cumulative_args): Add and handle LIBCALL
1903         argument.
1904         (function_arg): Handle CALL_LIBCALL flag.
1905         * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
1906         prototype.
1907         * config/rs6000/rs6000.h (CALL_LIBCALL): New macro.
1908         (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
1909         (INIT_CUMULATIVE_ARGS): Add LIBCALL argument.
1910         (INIT_CUMULATIVE_INCOMING_ARGS): Likewise.
1911
1912 2003-06-18  Neil Booth  <neil@daikokuya.co.uk>
1913
1914         * Makefile.in: Update.
1915         * common.opt: New options.
1916         * opts.c (maybe_warn_unused_parameter, set_Wextra, handle_param,
1917         set_Wunused): New.
1918         (common_handle_option): Handle new options.
1919         * toplev.c (set_target_switch): Export.
1920         (set_Wextra, set_Wunused, maybe_warn_unused_parameter): Move to opts.c.
1921         (decode_W_option): -Wunused and -Wextra handled in opts.c now.
1922         (independent_decode_option): More options handled in opts.c now.
1923         Change prototype.
1924         * toplev.h (set_target_switch): New.
1925
1926 2003-06-17  Robert Abeles  <rabeles@archaelogic.com>
1927
1928         PR debug/4252
1929         * c-opts.c (c_common_handle_option): Pass -fdump argument suffix
1930         to dump_switch_p().
1931         * tree-dump.c (dump_switch_p): Remove redundant 'dump-' prefix
1932         from static strings in dump_files.
1933
1934 2003-06-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1935
1936         * system.h (ANSI_PROTOTYPES, PTR_CONST, LONG_DOUBLE, VPARAMS,
1937         VA_OPEN, VA_FIXEDARG, VA_CLOSE, VA_START): undef and poison these
1938         libiberty macros.
1939
1940 2003-06-17  Jason Merrill  <jason@redhat.com>
1941
1942         PR c++/10929
1943         * tree-inline.c (expand_call_inline): Don't warn about failing to
1944         inline a function which was made inline by -finline-functions.
1945
1946 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
1947
1948         * config/h8300/h8300-protos.h: Update to ISO C.
1949         * config/h8300/h8300.c: Likewise.
1950         * config/h8300/h8300.h: Likewise.
1951         * config/h8300/h8300.md: Likewise.
1952
1953 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
1954
1955         * configure.in: Replace BUILD_CC references with CC_FOR_BUILD.
1956         * configure: Regenerate.
1957         * Makefile.in: Replace BUILD_CC references with CC_FOR_BUILD.
1958
1959 2003-06-17  Ranjit Mathew  <rmathew@hotmail.com>
1960
1961         * install.texi (Testing): Add information on how to run Java
1962         runtime tests separately.
1963
1964 2003-06-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1965
1966         * config/mips/mips.md (trap): Use break 0 when !TARGET_GAS.
1967
1968         * config/mips/iris6-o32.h (MIPS_ISA_DEFAULT): Remove.
1969         (MIPS_CPU_STRING_DEFAULT): Redefine to mips2.
1970
1971 2003-06-17  Christopher Faylor  <cgf@redhat.com>
1972
1973         * doc/install.texi: Add msvc rebuild caveat.
1974
1975 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
1976
1977         * config/sh/coff.h: Replace Hitachi with Renesas.
1978         * config/sh/elf.h: Likewise.
1979         * config/sh/embed-elf.h: Likewise.
1980         * config/sh/lib1funcs.asm: Likewise.
1981         * config/sh/sh-protos.h: Likewise.
1982         * config/sh/sh.c: Likewise.
1983         * config/sh/sh.h: Likewise.
1984         * config/sh/sh.md: Likewise.
1985
1986 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
1987
1988         * ChangeLog.3: Fix comment typos.
1989         * ChangeLog.6: Likewise.
1990         * config/d30v/d30v.c: Likewise.
1991         * config/h8300/h8300.md: Likewise.
1992         * config/m32r/m32r.md: Likewise.
1993         * config/mips/mips.c: Likewise.
1994         * config/mips/mips.md: Likewise.
1995         * config/ns32k/NOTES: Likewise.
1996
1997 2003-06-17  Ranjit Mathew  <rmathew@hotmail.com>
1998             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1999
2000         * doc/sourcebuild.texi (libgcj Tests): Simplify instructions on how
2001         to run Java runtime tests separately.
2002
2003 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
2004
2005         * config/h8300/h8300-protos.h: Update a comment.
2006
2007 2003-06-17  J"orn Rennecke <joern.rennecke@superh.com>
2008
2009         * sh.h (ROUND_TYPE_ALIGN, LOCAL_ALIGNMENT): Complex modes
2010         are aligned like integral modes.
2011         (SH5_WOULD_BE_PARTIAL_NREGS): Also test for CDImode and DCmode.
2012
2013         * sh.h (EXTRA_CONSTRAINT_Csy): Allow PIC_DIRECT_ADDR_P.
2014         (LEGITIMATE_PIC_OPERAND_P): Allow LABEL_REF.
2015         * sh.md (*pt): Remove.
2016
2017         * sh.h (REG_ALLOC_ORDER): Avoid squandering call-saved registers.
2018
2019         * sh.md (return_media_rte): New pattern.
2020         (return_media): Use it.
2021
2022 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
2023
2024         * doc/contrib.texi: Replace Hitachi with Renesas.
2025         * doc/install.texi: Likewise.
2026         * doc/invoke.texi: Likewise.
2027
2028 2003-06-17  J"orn Rennecke <joern.rennecke@superh.com>
2029
2030         * sh.h (CONST_OK_FOR_J16): Fix HOST_BITS_PER_WIDE_INT >= 64
2031         behaviour.
2032
2033 2003-06-17  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2034
2035         * doc/tm.texi (MD_FALLBACK_FRAME_STATE_FOR): Mention MAKE_THROW_FRAME.
2036
2037         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Partly revert
2038         2003-01-23 patch. Corrected to handle kernels with changed ucontext.
2039
2040         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Error on invalid
2041         -msdata=eabi usages.
2042
2043         * gcc/config/rs6000/sysv4.h (USE_LIBC_1): Delete all uses.
2044
2045 2003-06-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2046
2047         * alloc-pool.c: Don't check HAVE_LONG_DOUBLE.
2048         * fixinc/gnu-regex.c: Don't define `volatile'.
2049         * ggc-page.c: Don't check HAVE_LONG_DOUBLE.
2050         * ggc-simple.c: Likewise.
2051         * system.h: Don't define `volatile'.
2052
2053         * aclocal.m4 (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Delete.
2054         * configure.in (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Don't
2055         call these macros.
2056         * config.in, configure: Regenerated.
2057
2058 2003-06-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2059
2060         * config/ia64/ia64.c (ia64_expand_builtin, case IA64_BUILTIN_BSP):
2061         Handle POINTERS_EXTEND_UNSIGNED.
2062
2063 2003-06-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2064
2065         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
2066         !TARGET_IRIX6]: Define as NULL.
2067
2068 2003-06-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
2069
2070         * config/sparc/sparc.c (sparc_va_arg): Don't align 16-byte+ structures.
2071
2072 2003-06-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
2073
2074         * dbxout.c (dbxout_source_line_counter): New global variable.
2075         Mark it with GTY(()).
2076         (dbxout_source_line): Increment dbxout_source_line_counter
2077         and pass it to ASM_OUTPUT_SOURCE_LINE.
2078         * sdbout.c (sdbout_source_line_counter): New global variable.
2079         Mark it with GTY(()).
2080         (unnamed_struct_number): Mark it with GTY(()).
2081         (sdbout_source_line): Increment sdbout_source_line_counter
2082         and pass it to ASM_OUTPUT_SOURCE_LINE.
2083         * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Add third parameter
2084         (xcoffout_source_line): Pass 0 as third argument to
2085         ASM_OUTPUT_SOURCE_LINE.
2086         (xcoffout_begin_prologue): Likewise.
2087         * config/dbxout.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
2088         Use it instead of 'sym_lineno' but without incrementing it.
2089         * config/dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2090         * config/lynx.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2091         * config/ptx4.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2092         * config/alpha/alpha.c (alpha_start_function): Pass 0 as third
2093         argument to ASM_OUTPUT_SOURCE_LINE.
2094         * config/alpha/alpha.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
2095         * config/arm/aout.h: Remove useless comment.
2096         * config/avr/avr.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
2097         * config/i960/i960.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2098         * config/m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
2099         Use it instead of 'sym_lineno' but without incrementing it.
2100         * config/m68k/hp320.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
2101         * config/mcore/mcore-pe.h (ASM_OUTPUT_SOURCE_LINE): Add third
2102         parameter. Use it instead of 'sym_lineno' but without incrementing it.
2103         * config/mips/mips.c (mips_output_function_prologue): Pass 0 as third
2104         argument to ASM_OUTPUT_SOURCE_LINE.
2105         * config/mips/mips.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
2106         * config/mmix/mmix.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2107         * config/pa/som.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
2108         Use it instead of 'sym_lineno' but without incrementing it.
2109         * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2110         * config/sh/elf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2111         * config/sparc/aout.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2112         * config/sparc/pbd.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
2113         * doc/tm.texi (ASM_OUTPUT_SOURCE_LINE): Document third parameter.
2114
2115 2003-06-17  Richard Sandiford  <rsandifo@redhat.com>
2116
2117         * config/mips/mips-protos.h (mips_expand_block_move): Declare.
2118         (expand_block_move, output_block_move): Remove.
2119         * config/mips/mips.h (enum block_move_type): Remove.
2120         * config/mips/mips.c (block_move_call, output_block_move): Remove.
2121         (mips_block_move_straight, mips_adjust_block_mem): New function.
2122         (mips_block_move_loop): Renamed and reworked from block_move_loop.
2123         (mips_expand_block_move): Likewise expand_block_move.  Return false
2124         to fall back on the target-independent code.
2125         * config/mips/mips.md (movstrsi): Use mips_expand_block_move.
2126         (movstrsi_internal*): Remove.
2127
2128 2003-06-16  Zack Weinberg  <zack@codesourcery.com>
2129
2130         * cpplib.h, cpphash.h, cppcharset.c, cpperror.c, cppexp.c
2131         * cppfiles.c, cpphash.c, cppinit.c, cpplex.c, cpplib.c
2132         * cppmacro.c, cpppch.c, cpptrad.c, cppspec.c: Convert to
2133         ISO C: new-style function declarations, no need for PARAMS,
2134         no special punctuation on indirect function calls, use string
2135         constant concatenation where convenient.
2136
2137 2003-06-17  Andreas Jaeger  <aj@suse.de>
2138
2139         * rtl.h: Remove declarations from coverage.h.
2140         * toplev.c: Include coverage.h.
2141         * Makefile.in (toplev.o): Depend on coverage.h.
2142
2143         * toplev.h: Remove extra declaration of print_time.
2144
2145         * gengtype.c (close_output_files): Remove duplicated declaration.
2146
2147 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
2148
2149         * config/sparc/sysv4.h: Remove target-independent comment;
2150         replace "GNU CC" with "GCC".
2151         * config/vxworks.h: Replace "GNU compiler" with "GCC".
2152         * config/sparc/aout.h, config/sparc/biarch64.h, config/sparc/elf.h,
2153         config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
2154         config/sparc/lite.h, config/sparc/litecoff.h, config/sparc/liteelf.h,
2155         config/sparc/netbsd-elf.h, config/sparc/openbsd.h,
2156         config/sparc/rtemself.h, config/sparc/sol2-64.h,
2157         config/sparc/sol2-bi.h, config/sparc/sol2-gas-bi.h,
2158         config/sparc/sol2-gld-bi.h, config/sparc/sol2-gld.h,
2159         config/sparc/sol2.h, config/sparc/sp64-aout.h,
2160         config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h,
2161         config/sparc/sparc-protos.h, config/sparc/sysv4-only.h: Replace
2162         "GNU compiler", "GNU CC" with "GCC".
2163         * config/sparc/cypress.md, config/sparc/hypersparc.md,
2164         config/sparc/sparc-modes.def, config/sparc/sparc.c,
2165         config/sparc/sparc.md, config/sparc/sparclet.md,
2166         config/sparc/supersparc.md, config/sparc/ultra1_2.md,
2167         config/sparc/ultra3.md: Replace "GNU CC", "GNU Compiler", and
2168         "GNU C Compiler" with "GCC".
2169         * config/ip2k/ip2k.h: Replace "GNU CC" and "GNU compiler" with "GCC".
2170
2171 2003-06-16  Aldy Hernandez  <aldyh@redhat.com>
2172
2173         * simplify-rtx.c (simplify_subreg): Do not over-extend vector
2174         constants.
2175
2176         * testsuite/gcc.c-torture/execute/simd-4.c: New.
2177
2178 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
2179
2180         * config/ip2k/ip2k.h: Remove target-independent comments.
2181
2182         * config.gcc: Explicitly mention elfos.h in ip2k entry.
2183         * config/ip2k/ip2k.h: Don't #include it here.
2184
2185 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2186
2187         * bitmap.c, builtins.c, c-incpath.c, cgraph.c, config/frv/frv.c,
2188         config/mips/mips.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c,
2189         dwarf2out.c, dwarfout.c, except.c, expr.c, expr.h, fold-const.c,
2190         function.c, gcc.c, genoutput.c, gensupport.c, global.c,
2191         haifa-sched.c, hashtable.c, ifcvt.c, integrate.c, local-alloc.c,
2192         loop.c, mips-tdump.c, mips-tfile.c, mkdeps.c, protoize.c,
2193         read-rtl.c, recog.h, reload1.c, sbitmap.c, ssa-dce.c,
2194         stringpool.c, tlink.c, tree.c, varasm.c, varray.c: Don't use
2195         the PTR macro.
2196
2197         * gengtype.c: Don't use UNION_INIT_ZERO.
2198         * system.h (UNION_INIT_ZERO): Delete.
2199
2200 2003-06-16  Richard Henderson  <rth@redhat.com>
2201
2202         * simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE instead of
2203         GET_MODE_UNIT_SIZE when simplifying constant vectors.
2204
2205 2003-06-16  Andreas Jaeger  <aj@suse.de>
2206
2207         * timevar.c (get_run_time): Remove function provided also by
2208         libiberty.
2209         * timevar.h: Remove get_run_time declaration.
2210
2211 2003-06-16  Kazu Hirata  <kazu@cs.umass.edu>
2212
2213         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): Remove
2214         unreachable code.
2215
2216 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2217
2218         * builtin-attrs.def, builtin-attrs.def, builtins.c, cpplex.c,
2219         cpplib.c, gencheck.c, gengenrtl.c, machmode.def, protoize.c: Don't
2220         use macros from "symcat.h", instead rely on ISO C.
2221
2222         * system.h: Don't include "symcat.h".
2223         * configure.in (AC_C_STRINGIZE): Delete.
2224         * config.in, configure: Regenerate.
2225
2226 2003-06-16  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2227
2228         * Makefile.in (install-mkheaders): Use INSTALL_SCRIPT for scripts.
2229
2230         * tree.h (STMT_CHECK): New macro.
2231         Also upper-case argument names on all checking macros and
2232         fix some whitespace problems; assume CODE argument does not
2233         have side-effects.
2234
2235 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2236
2237         * scan.h: Convert to ISO C.
2238         * system.h: Likewise.
2239
2240         * c-format.c (dynamic_format_types): New pointer for dynamic data.
2241         (find_length_info_modifier_index, init_dynamic_asm_fprintf_info):
2242         New functions split out of...
2243         (handle_format_attribute): ...here.
2244
2245 2003-06-16  J"orn Rennecke <joern.rennecke@superh.com>
2246
2247         * sh.h (REG_CLASS_FROM_LETTER): Change to:
2248         (REG_CLASS_FROM_CONSTRAINT).
2249         (CONST_OK_FOR_I): Rename to:
2250         (CONST_OK_FOR_I08).  Changed all users.
2251         (CONST_OK_FOR_J): Rename to:
2252         (CONST_OK_FOR_I16).  Changed all users.
2253         (CONST_OK_FOR_K): Rename to:
2254         (CONST_OK_FOR_P27).  Changed all users.
2255         (CONST_OK_FOR_L): Rename to:
2256         (CONST_OK_FOR_K08).  Changed all users.
2257         (CONST_OK_FOR_O): Rename to:
2258         (CONST_OK_FOR_I06).  Changed all users.
2259         (CONST_OK_FOR_P): Rename to:
2260         (CONST_OK_FOR_I10).  Changed all users.
2261         (CONSTRAINT_LEN, CONST_OK_FOR_I, CONST_OK_FOR_J16): Define.
2262         (CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_P): Likewise.
2263         (EXTRA_CONSTRAINT_A, EXTRA_CONSTRAINT_Bsc): Likewise.
2264         (EXTRA_CONSTRAINT_B, PIC_OFFSET_P, PIC_DIRECT_ADDR_P): Likewise.
2265         (EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C): Likewise.
2266         (EXTRA_MEMORY_CONSTRAINT,(EXTRA_CONSTRAINT_Sr0): Likewise.
2267         (CONST_OK_FOR_LETTER_P): Replace with
2268         (CONST_OK_FOR_CONSTRAINT_P).
2269         (EXTRA_CONSTRAINT_S): Rename to:
2270         (EXTRA_CONSTRAINT_C16).  Changed all users.
2271         (MOVI_SHORI_BASE_OPERAND_P): Don't allow direct addresses.
2272         (EXTRA_CONSTRAINT_T): Rename to:
2273         (EXTRA_CONSTRAINT_Csy).  Changed all users.
2274         (EXTRA_CONSTRAINT_Z): Remove.
2275         (EXTRA_CONSTRAINT): Replace with:
2276         (EXTRA_CONSTRAINT_STR).
2277         (EXTRA_CONSTRAINT_U): Rename to:
2278          (EXTRA_CONSTRAINT_Z).  Changed all users.
2279         * sh.c (and_operand): Use CONST_OK_FOR_J16.
2280         * sh.md (cmpeqsi_t-1, cmpeqsi_t, adddi3_media): Use new constraints.
2281         (addsi3_media, addsi3_compact, andsi3_compact, anddi3): Likewise.
2282         (iorsi3, iordi3, xorsi3, xordi3, ashlsi3_std, ashlhi3_k): Likewise.
2283         (lshrsi3_k, movsi_i, movsi_ie, movsi_i_lowpart, movsi_media): Likewise.
2284         (movsi_media_nofpu, movqi_media, movhi_i, movhi_media): Likewise.
2285         (*movdi_i, movdi_media, movdi_media_nofpu, shori_media): Likewise.
2286         (movdf_media, movdf_media_nofpu, movv2sf_i, movv4sf_i): Likewise.
2287         (movsf_media, movsf_media_nofpu, movsi_y, beq_media): Likewise.
2288         (beq_media_i, bne_media, pt, ptb, movv8qi_i, movv2hi_i): Likewise.
2289         (movv4hi_i, movv2si_i, negcmpeqv8qi, negcmpeqv2si): Likewise.
2290         (negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si, negcmpgtv4hi): Likewise.
2291         (mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub, mextr_rl, mextr_lr): Likewise.
2292         (mextr1, mextr2, mextr3, mextr4, mextr5, mextr6, mextr7): Likewise.
2293         (mperm_w, mperm_w_little, mperm_w_big, msad_ubq_i): Likewise.
2294         (mshards_q, mshfhi_b, mshflo_b, mshf4_b, mshf0_b, mshfhi_l): Likewise.
2295         (mshflo_l, mshf4_l, mshf0_l, mshfhi_w, mshflo_w, mshf4_w): Likewise.
2296         (mshf0_w, mshflo_w_x, mshfhi_l_di, mshfhi_l_di_rev): Likewise.
2297         (mshflo_l_di_rev, mshflo_l_di_x, concat_v2sf): Likewise.
2298         (mshflo_l_di_x_rev, subv2si3, subv4hi3, sssubv2si3): Likewise.
2299         (sssubv4hi3): Likewise.
2300         (movsf_i): Change I[08]/r to G/r.
2301         (movsf_ie): Change f/{G,H}/c/X to f/{G,H}/c/Bsc.
2302
2303         * sh.c (sh_output_mi_thunk): Use CONST_OK_FOR_ADD.
2304
2305 2003-06-16  Vladimir Makarov  <vmakarov@redhat.com>
2306
2307         * config/i386/i386.c (ix86_memory_move_cost): Fix typo.
2308
2309 2003-06-16  Andreas Jaeger  <aj@suse.de>
2310
2311         * basic-block.h: Remove duplicate prototype of
2312         note_prediction_to_br_prob.
2313
2314         * tree.h: Remove duplicate prototype of strip_float_extensions.
2315
2316 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2317
2318         * config/c4x/c4x.c: Don't include "c-tree.h".
2319         * config/pa/pa.c: Likewise.
2320         * langhooks.c: Likewise.
2321         * tree.h (poplevel): Declare.
2322
2323 2003-06-16  Kazu Hirata  <kazu@cs.umass.edu>
2324
2325         * config/h8300/h8300.c (const_costs): Move this to ...
2326         (h8300_rtx_costs): ... here.
2327
2328 2003-06-16  Roger Sayle  <roger@eyesopen.com>
2329
2330         * optabs.h (enum optab_index): Add new OTI_tan and OTI_atan.
2331         (tan_optab, atan_optab): Define corresponding macros.
2332         * optabs.c (init_optabs): Initialize tan_optab and atan_optab.
2333         * genopinit.c (optabs): Implement tan_optab and atan_optab
2334         using tan?f2 and atan?f2 patterns.
2335         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_TAN{,F,L}
2336         using tan_optab, and BUILT_IN_ATAN{,F,L} using atan_optab.
2337         Change the default value of errno_set to false.
2338         (expand_builtin): Expand BUILT_IN_TAN{,F,L} and BUILT_IN_ATAN{,F,L}
2339         using expand_builtin_mathfn.
2340
2341         * config/i386/i386.md (atansf2, atandf2, atanxf2, atantf2): New
2342         expander patterns implemented using existing atan2?f3 patterns.
2343
2344 2003-06-16  Roger Sayle  <roger@eyesopen.com>
2345
2346         * expr.c (expand_expr <PLUS_EXPR>): If operand_equal_p considers
2347         both operands of the addition equal, reuse the expanded RTL.
2348         (expand_expr <MULT_EXPR>): Likewise for multiplication.
2349
2350 2003-06-16  Roger Sayle  <roger@eyesopen.com>
2351             Jeff Law  <law@redhat.com>
2352
2353         * fold-const.c (operand_equal_p): Consider two calls to "const"
2354         functions with identical non-volatile arguments to be equal.
2355         Consider the FUNCTION_DECL for the "__builtin_foo" form of a
2356         built-in function to be equal to the "foo" form.
2357
2358 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
2359
2360         * config/rs6000/sysv4le.h: Remove target-independent comment.
2361         Replace "GNU compiler" with "GCC" in comment.
2362
2363 2003-06-16  Andreas Jaeger  <aj@suse.de>
2364
2365         * tracer.c: Remove duplicate declaration.
2366
2367         * toplev.c: Remove extra declaration of decode_d_option.
2368
2369         * ssa.c: Remove duplicate declaration.
2370
2371         * sreal.c: Remove extra declaration of dump_sreal.
2372
2373         * reload1.c: Remove duplicate declarations.
2374
2375         * integrate.c: Remove extra declaration of
2376         set_decl_abstract_flags.
2377
2378         * flow.c: Remove extra declaration of dump_flow_info.
2379
2380         * alias.c: Remove extra declaration of get_addr.
2381
2382 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
2383
2384         * config/rtems.h, config/sol2.h, config/svr4.h, config/usegas.h,
2385         config/vxworks.h: GNU CC -> GCC.
2386
2387         * convert.c, dwarf2out.c, dwarfout.c, emit-rtl.c, function.c,
2388         lists.c, print-rtl.c, print-tree.c, read-rtl.c, rtl-error.c,
2389         stmt.c, toplev.c, integrate.h, loop.h, machmode.h, rtl.h,
2390         ssa.h, tree.def: Replace overly specific references to "GNU C"
2391         and "GNU C Compiler" with references to "GCC".
2392
2393 2003-06-16  J"orn Rennecke <joern.rennecke@superh.com>
2394
2395         * sh.c (prepare_move_operand): Check if operand 0 is an invalid
2396         memory reference.  Fix test that checks if operand 1 is using r0.
2397         * sh.md (movhi_i): Don't allow st.w r0,@(rX,rY) .
2398
2399         * defaults.h (REG_CLASS_FROM_CONSTRAINT): Only define if not already
2400         defined.
2401
2402 2003-06-15  Nathan Sidwell  <nathan@codesourcery.com>
2403
2404         * function.h (struct emit_status): Remove x_last_linenum,
2405         x_last_filename. Add x_last_location.
2406         * rtl.h: #include "input.h".
2407         (NOTE_DATA): New.
2408         * cfglayout.c (duplicate_insn_chain): Use emit_line_note for line
2409         number notes.
2410         * emit-rtl.c (last_linenum, last_filename): Remove.
2411         (last_location): New.
2412         (emit_line_note_after): LINE must always be >= 0.
2413         (emit_line_note): Likewise. Check not duplicate here...
2414         (emit_note): ... rather than here.
2415         (emit_line_note_force, force_next_line_note, init_emit): Adjust.
2416         * integrate.c (expand_inline_function): Use emit_line_note for
2417         line number notes.
2418         (copy_insn_list): Likewise.
2419         * unroll.c (copy_loop_body): Likewise.
2420         * Makefile.in (RTL_H): Add input.h.
2421
2422 2003-06-16  Richard Sandiford  <rsandifo@redhat.com>
2423
2424         * optabs.c (emit_libcall_block): Don't hoist insns past a label.
2425
2426 2003-06-16  Richard Henderson  <rth@redhat.com>
2427
2428         * config/alpha/alpha-protos.h, config/alpha/elf.h,
2429         config/alpha/osf.h, config/alpha/unicosmk.h, config/alpha/vms.h,
2430         config/alpha/vms-cc.c, config/alpha/vms-ld.c: Update to ISO C.
2431         * config/alpha/alpha.c: Likewise.  Move targetm init to end of file.
2432         Remove unneeded static function decls.
2433
2434 2003-06-16  Neil Booth  <neil@daikokuya.co.uk>
2435
2436         * c-opts.c (c_common_handle_option): s/on/value/.
2437         (OPT_fabi_version_, OPT_ftabstop_, OPT_ftemplate_depth_): Use value
2438         directly rather than converting the argument.
2439         * c.opt: Update docs.  Use UInteger where appropriate.
2440         * common.opt: Use UInteger where appropriate.
2441         * opts.c (integral_argument): New.
2442         (handle_argument): Handle integral arguments, and optional
2443         joined arguments.
2444         (common_handle_option): Update.
2445         * opts.h (CL_MISSING_OK, CL_UINTEGER): New.
2446         * opts.sh: Handle JoinedOrMissing and UInteger flags.
2447
2448 2003-06-16  Neil Booth  <neil@daikokuya.co.uk>
2449
2450         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Remove
2451         unnecessary extern declaration.
2452
2453 2003-06-15  Nathanael Nerode  <neroden@gcc.gnu.org>
2454
2455         * config/gofast.h, config/interix.h, config/interix3.h,
2456         config/libgloss.h, config/linux-aout.h, config/linux.h,
2457         config/lynx-ng.h, config/lynx.h: GNU CC -> GCC.
2458         * config/kaos.h: "GNU compiler" -> GCC.
2459         * config/linux-aout.h, config/lynx.h: Clarify comment describing file.
2460
2461         * config/ip2k/crt0.S, config/ip2k/ip2k-protos.h,
2462         config/ip2k/ip2k.c, config/ip2k/ip2k.md, config/ip2k/libgcc.S:
2463         GNU CC -> GCC.
2464
2465         * config/svr3.h: Remove #if 0 code, misleading comments.
2466         GNU CC -> GCC.
2467
2468 2003-06-15  Zack Weinberg  <zack@codesourcery.com>
2469
2470         * vmsdbgout.c (vmsdbgout_finish): Rename parameter to
2471         main_input_filename to avoid conflict with input_filename macro.
2472
2473 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
2474
2475         * config/mips/mips.h (asm_file_name, g_switch_set,
2476         g_switch_value): Remove.
2477         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
2478         unnecessary extern declarations.
2479
2480 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
2481
2482         * config/frv/frv.h: Remove declaration of g_switch_value.
2483         * config/m32r/m32r.h: Remove declaration of g_switch_value.
2484         * config/m68hc11/m68hc11.c: Remove declaration of asm_file_name.
2485
2486 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
2487
2488         * opts.sh: Quote '+' in regex.
2489
2490 2003-06-15  Andrew Pinski <pinskia@physics.uc.edu>
2491
2492         * config/rs6000/t-rs6000: Add dependence of cfglayout.h to rs6000.o.
2493         * config/rs6000/rs6000.c: Include cfglayout.h.
2494         * config/alpha/alpha.c: Likewise.
2495         * config/ia64/ia64.c: Likewise.
2496         * config/sparc/sparc.c: Likewise.
2497         * config/sh/sh.c: Likewise.
2498
2499 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
2500
2501         * opts.sh: Quote '+' in regex.
2502
2503 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
2504
2505         * c-opts.c (lang_flags): Update for new spelling of flags.
2506         (write_langs): Similarly.
2507         * c.opt: Specify languages.
2508         * opts.h: Remove languages.
2509         * opts.sh: Recognise front-end defined languages.
2510         * doc/sourcebuild.texi: Update.
2511
2512 2003-06-15  Andreas Jaeger  <aj@suse.de>
2513
2514         * alloc-pool.c: Convert to ISO C90 prototypes.
2515         * alloc-pool.h: Likewise.
2516         * alias.c: Likewise.
2517         * attribs.c: Likewise.
2518         * bb-reorder.c: Likewise.
2519         * bitmap.h: Likewise.
2520         * bitmap.c: Likewise.
2521         * builtins.c: Likewise.
2522
2523         * tree.h: Convert prototypes of attribs.c to ISO C90.
2524         * basic-block.h: Convert prototypes of bb-reorder.c to ISO C90.
2525         * rtl.h: Convert prototypes of alias.c and builtins.c to ISO C90.
2526         * expr.h: Convert prototypes of builtins.c to ISO C90.
2527
2528 2003-06-15  Roger Sayle  <roger@eyesopen.com>
2529
2530         * config/i386/i386.md (expsf2, expdf2, expxf2): New patterns to
2531         implement exp, expf and expl built-ins as inline x87 intrinsics.
2532         (UNSPEC_FSCALE, UNSPEC_FRNDINT, UNSPEC_F2XM1): New unspecs to
2533         represent x87's fscale, frndint and f2xm1 insns respectively.
2534         (*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): New insn patterns
2535         to encode x87's "fscale" instruction followed by a pop.
2536         (*frndintxf2): New insn pattern for "frndint".
2537         (*f2xm1xf2): New insn pattern for "f2xm1".
2538
2539         * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT and
2540         UNSPEC_F2XM1 like UNSPEC_{SIN,COS} and handle UNSPEC_FSCALE like
2541         UNSPEC_FPATAN.
2542
2543 2003-06-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2544
2545         * gencheck.c (main): Avoid generating duplicate macros.
2546
2547         * Makefile.in (stagefeedback-start): Use $(SUBDIRS) instead of
2548         knowing names of language subdirectories.
2549
2550 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
2551
2552         * c-pch.c (asm_file_name): Remove.
2553         * common.opt: Add more switches.
2554         * flags.h (g_switch_set): Boolify.
2555         * opts.c (g_switch_value, g_switch_set, exit_after_options,
2556         version_flag): Move from toplev.c.
2557         (common_handle_option): Handle more switches from toplev.c.
2558         * toplev.c (display_help, display_target_options, decode_d_option,
2559         print_version): Make non-static, remove prototypes.
2560         (aux_base_name, asm_file_name, aux_info_file_name): Constify.
2561         (version_flag, g_switch_value, g_switch_set, exit_after_options):
2562         Remove.
2563         (independent_decode_option): Move some handlers to opts.c.
2564         * toplev.h (aux_info_file_name, aux_base_name, asm_file_name,
2565         exit_after_options, version_flag, display_help, display_target_options,
2566         print_version, decode_d_option): New.
2567
2568 2003-06-15  Kazu Hirata  <kazu@cs.umass.edu>
2569
2570         * config/alpha/alpha.md: Follow spelling conventions.
2571         * config/arm/arm.c: Likewise.
2572         * config/arm/arm.h: Likewise.
2573         * config/arm/arm.md: Likewise.
2574         * config/arm/crtn.asm: Likewise.
2575         * config/m32r/m32r.c: Likewise.
2576         * config/m32r/m32r.md: Likewise.
2577         * config/rs6000/rs6000.c: Likewise.
2578
2579 2003-06-15  Richard Henderson  <rth@redhat.com>
2580
2581         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Call
2582         insn_locators_initialize.
2583         * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
2584         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
2585         * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
2586         * config/sh/sh.c (sh_output_mi_thunk): Do it later.
2587
2588 2003-06-15  Kazu Hirata  <kazu@cs.umass.edu>
2589
2590         * builtins.c (expand_builtin_expect_jump): Remove redundant
2591         tests that are also in any_condjump_p().
2592
2593 2003-06-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2594
2595         * libgcc2.c: Delete sysV68 L_trampoline section.
2596         * config/m68k/mot3300-crt0.S: Delete file.
2597         * config/m68k/mot3300Mcrt0.S: Likewise.
2598
2599 2003-06-15  Nathanael Nerode  <neroden@gcc.gnu.org>
2600
2601         * config/aoutos.h: Remove.
2602         * config.gcc: Remove reference to aoutos.h.
2603         * config/m68k/m68k-aout.h: Remove reference to aoutos.h.
2604
2605 2003-06-14  Kazu Hirata  <kazu@cs.umass.edu>
2606
2607         * doc/install.texi: Follow spelling conventions.
2608         * doc/tm.texi: Likewise.
2609         * config/fp-bit.c: Likewise.
2610         * config/arm/arm.c: Likewise.
2611         * config/frv/frv.c: Likewise.
2612         * config/ns32k/NOTES: Likewise.
2613         * config/ns32k/STATUS: Likewise.
2614
2615 2003-06-14  Roger Sayle  <roger@eyesopen.com>
2616             Zack Weinberg  <zack@codesourcery.com>
2617
2618         * rtl.h (STORE_FLAG_VALUE): Remove default definition from here.
2619         * defaults.h (STORE_FLAG_VALUE): Move default definition to here.
2620         * doc/tm.texi (STORE_FLAG_VALUE): Document the default value.
2621
2622         * config/alpha/alpha.h (STORE_FLAG_VALUE): Remove definition.
2623         * config/arc/arc.h (STORE_FLAG_VALUE): Likewise.
2624         * config/arm/arm.h (STORE_FLAG_VALUE): Likewise.
2625         * config/cris/cris.h (STORE_FLAG_VALUE): Likewise.
2626         * config/i370/i370.h (STORE_FLAG_VALUE): Likewise.
2627         * config/i386/i386.h (STORE_FLAG_VALUE): Likewise.
2628         * config/i960/i960.h (STORE_FLAG_VALUE): Likewise.
2629         * config/ia64/ia64.h (STORE_FLAG_VALUE): Likewise.
2630         * config/ip2k/ip2k.h (STORE_FLAG_VALUE): Likewise.
2631         * config/m32r/m32r.h (STORE_FLAG_VALUE): Likewise.
2632         * config/mcore/mcore.h (STORE_FLAG_VALUE): Likewise.
2633         * config/mips/mips.h (STORE_FLAG_VALUE): Likewise.
2634         * config/mmix/mmix.h (STORE_FLAG_VALUE): Likewise.
2635         * config/ns32k/ns32k.h (STORE_FLAG_VALUE): Likewise.
2636         * config/pa/pa.h (STORE_FLAG_VALUE): Likewise.
2637         * config/pdp11/pdp11.h (STORE_FLAG_VALUE): Likewise.
2638         * config/sh/sh.h (STORE_FLAG_VALUE): Likewise.
2639         * config/sparc/sparc.h (STORE_FLAG_VALUE): Likewise.
2640         * config/v850/v850.h (STORE_FLAG_VALUE): Likewise.
2641         * config/xtensa/xtensa.h (STORE_FLAG_VALUE): Likewise.
2642
2643 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
2644
2645         * opts.sh (POSIXLY_CORRECT): Unset it.
2646
2647         * tree.h (init_function_start): Remove filename and line paramters.
2648         * function.c (init_function_start): Remove filename and line
2649         parameters. Use DECL_SOURCE_LOCATION.
2650         * c-decl.c (store_parm_decls): Adjust init_function_start call.
2651         (c_expand_body_1): Likewise.
2652         * coverage.c (create_coverage): Likewise.
2653         * objc/objc-act.c (build_tmp_function_decl): Set line number to
2654         zero.
2655         (hack_method_prototype): Adjust init_function_start call.
2656
2657 2003-06-14  Richard Earnshaw  <rearnsha@arm.com>
2658
2659         PR target/3724
2660         * arm/linux-elf.h (PROFILE_HOOK): Define.
2661
2662 2003-06-14  Richard Earnshaw  <rearnsha@arm.com>
2663
2664         PR target/11183
2665         * arm.h (CANNOT_CHANGE_MODE_CLASS): Define.
2666
2667 2003-06-14  Roger Sayle  <roger@eyesopen.com>
2668
2669         * opts.sh: Work around a mysterious feature in cygwin's gawk
2670         where specifying the input files explicitly has a different
2671         behavior to piping them via stdin.
2672
2673 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
2674
2675         * doc/sourcebuild.texi: Update.
2676
2677 2003-06-14  Richard Earnshaw  <rearnsha@arm.com>
2678
2679         PR target/11183
2680         * arm.c (output_move_double): Pass SImode to adjust_address.
2681
2682 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
2683
2684         * Makefile.in: Update to use common.opt and lang_opt_files.
2685         (c-options.c, c-options.h): Remove.
2686         (options.c, options.h): Add.
2687         * c-opts.c: Include options.h not c-options.h.
2688         * common.opt: New file.
2689         * configure, configure.in: Add lang_opt_files.
2690         * opts.c: Include flags.h and diagnostic.h.
2691         (common_handle_option): New.
2692         (handle_option): Update to recognize common options and all
2693         language-dependent options.
2694         * opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New.
2695         (struct cl_option): Make flags of type int.
2696         * opts.h: Flag option with front ends to which it applies.
2697         Handle duplicate options.
2698         * toplev.c (filename): Remove.
2699         (independent_decode_option): Don't handle filenames and -quiet.
2700         (process_options, do_compile): Update.
2701
2702 2003-06-14  Nick Clifton  <nickc@redhat.com>
2703
2704         * doc/install.texi (Specific): Add description of different
2705         ARM supported file format targets.
2706
2707 Sat Jun 14 11:12:04 CEST 2003  Jan Hubicka  <jh@suse.cz>
2708
2709         * reorg.c (emit_delay_sequence, dbr_schedule): Clear insn locators
2710         inside delay slots.
2711
2712 2003-06-13  Matt Kraai  <kraai@alumni.cmu.edu>
2713
2714         * unwind-c.c: Define NO_SIZE_OF_ENCODED_VALUE.
2715         * unwind-pe.h (size_of_encoded_value): Do not define if
2716         NO_SIZE_OF_ENCODED_VALUE is defined.
2717
2718 2003-06-13  Roger Sayle  <roger@eyesopen.com>
2719
2720         * expr.c (expand_expr <COMPLEX_CST>): Handle the case of
2721         expanding a complex constant into a CONCAT target.
2722
2723 2003-06-13  Zack Weinberg  <zack@codesourcery.com>
2724
2725         * config/svr3.h (ASM_FILE_START): Don't use ASM_FILE_START_1.
2726         (ASM_FILE_START_1): Delete.
2727         * config/i386/att.h, config/i386/sco5.h,
2728         config/i386/sysv3.h
2729         (ASM_FILE_START_1): Delete.
2730
2731 2003-06-13  Kelley Cook  <kelleycook@wideopenwest.com>
2732
2733         * config/i386/bsd.h: Remove ASM_FILE_START.
2734         * config/i386/djgpp.h: Likewise.
2735         * config/i386/gas.h (ASM_FILE_START): Output .file before .intel_syntax.
2736
2737         * config/i386/djgpp.h: Move included unix.h, bsd.h, gas.h to ...
2738         * config.gcc (i[34567]86-pc-msdosdjgpp): ... here.
2739
2740 2003-06-13  Vladimir Makarov  <vmakarov@redhat.com>
2741
2742         PR bootstrap/10835
2743         * haifa-sched.c (max_lookahead_tries,
2744         cached_first_cycle_multipass_dfa_lookahead,
2745         cached_issue_rate): New variables.
2746         (max_issue): Check the number of tries.
2747         (choose_ready): Calculate max_lookahead_tries.
2748         (sched_init): Check cached_issue_rate.
2749
2750 2003-06-13  Richard Henderson  <rth@redhat.com>
2751
2752         * cfgbuild.c (make_edges): Set ABNORMAL with SIBCALL.
2753         * cfgrtl.c (purge_dead_edges): Expect it too.
2754
2755 2003-06-13  Jim Wilson  <wilson@tuliptree.org>
2756             Eric Botcazou  <ebotcazou@libertysurf.fr>
2757
2758         PR bootstrap/10983
2759         * combine.c (make_extraction): Use gen_lowpart_for_combine
2760         when extracting from a REG and not in the destination of a SET.
2761
2762 2003-06-13  Doug Evans  <dje@sebabeach.org>
2763
2764         * tsystem.h (abort): Declare in inhibit_libc case to remove build
2765         warnings for addvsi3, et.al.
2766
2767 2003-06-13  Aldy Hernandez  <aldyh@redhat.com>
2768
2769         * c-common.c (handle_mode_attribute): Use VECTOR_MODE_P macro.
2770
2771         * simplify-rtx.c (simplify_subreg): Same.
2772
2773         * emit-rtl.c (gen_lowpart_common): Same.
2774
2775 2003-06-13  Kazu Hirata  <kazu@cs.umass.edu>
2776
2777         * builtins.c: Fix comment typos.
2778         * fold-const.c: Likewise.
2779
2780 2003-06-13  Doug Evans  <dje@sebabeach.org>
2781             Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2782
2783         * config/m32r/m32r-protos.h (m32r_pass_by_reference): Declare.
2784         * config/m32r/m32r.c (m32r_pass_by_reference): New fn.
2785         (m32r_va_arg): Use it.
2786         * config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Ditto.
2787         (RETURN_IN_MEMORY): Ditto.
2788
2789 2003-06-13  Nathanael Nerode  <neroden@gcc.gnu.org>
2790
2791         * c-typeck.c: Remove #if 0 clauses.
2792
2793         PR other/1494
2794         * config/alpha/openbsd.h, config/i386/openbsd.h,
2795         config/m68k/openbsd.h, config/sparc/openbsd.h: Remove
2796         residual reference to EGCS.
2797
2798 2003-06-13  Richard Earnshaw  <rearnsha@arm.com>
2799
2800         * arm.c (output_call_mem): If the address references the link-register
2801         use an instruction sequence that avoids early-clobbering IP.
2802         (eliminate_lr2ip): Delete.
2803
2804 2003-06-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2805
2806         * c-format.c (format_types_orig): Disallow '*' width/precision in
2807         asm_fprintf format checks.
2808
2809 2003-06-13  Ulrich Weigand  <uweigand@de.ibm.com>
2810
2811         * config/s390/s390.c (s390_va_arg): Fix alignment when retrieving
2812         non-integral types from integer register save area slots.
2813
2814 2003-06-13  Nathanael Nerode  <neroden@gcc.gnu.org>
2815
2816         * config/i386/svr3dbx.h: GNU CC -> GCC; Intel 385 -> Intel 386.
2817
2818 2003-06-13  Florian Weimer  <fw@deneb.enyo.de>
2819
2820         * doc/invoke.texi (SPARC Options): Document ``-mimpure-text''.
2821
2822 2003-06-13  Kaz Kojima  <kkojima@gcc.gnu.org>
2823
2824         * config/sh/linux.h (TARGET_ASM_FILE_END): Set TARGET_ASM_FILE_END
2825         to file_end_indicate_exec_stack.
2826
2827 2003-06-12  Richard Henderson  <rth@redhat.com>
2828
2829         PR target/11089
2830         * config/i386/i386.md (sse_movaps): Use an expander to force
2831         one operand to be a register.
2832         (sse_movups): Likewise.
2833
2834 2003-06-13  Doug Evans  <dje@sebabeach.org>
2835
2836         Remove some build warnings.
2837         * config/m32r/initfini.c (__CTOR_LIST__,__DTOR_LIST__): Attribute used.
2838         (__do_global_ctors,__do_global_dtors): Ditto.
2839
2840 2003-06-12  Richard Henderson  <rth@redhat.com>
2841
2842         PR middle-end/10557
2843         * rtlanal.c (subreg_offset_representable_p): Relax subreg check.
2844
2845 2003-06-13  Kazu Hirata  <kazu@cs.umass.edu>
2846
2847         * config/m32r/m32r.md: Fix a comment typo.
2848
2849 2003-06-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2850             Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
2851
2852         PR target/10142
2853         * config/sparc/sparc.c (function_arg_record_value_parms): Add
2854         new 'stack' field.
2855         (function_arg_record_value_1): Set 'stack' to 1 if we run out of
2856         integer slots for an integer field.
2857         (function_arg_record_value_3): Shift vector index.
2858         (function_arg_record_value_2): Likewise.
2859         (function_arg_record_value): Initialize 'stack' to 0.
2860         Set 'stack' to 1 if we run out of integer slots for an integer field.
2861         Generate (parallel [(expr_list (nil) ...) ...]) if 'stack' is set to 1.
2862
2863 2003-06-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
2864
2865         PR optimization/10955
2866         * unroll.c (unroll_loop): Fix off-by-one bug.
2867
2868 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
2869
2870         * config/rs6000/rs6000.c (function_arg): Remove typo.
2871
2872 2003-06-12  Richard Henderson  <rth@redhat.com>
2873
2874         * config/i386/i386.c (legitimate_constant_p): Handle UNSPEC_NTPOFF
2875         and UNSPEC_DTPOFF.
2876
2877 2003-06-12  Richard Henderson  <rth@redhat.com>
2878
2879         PR middle-end/10475
2880         * expmed.c (emit_store_flag): Use simplify_gen_subreg directly
2881         for extracting sub-words.
2882
2883 2003-06-12  Richard Henderson  <rth@redhat.com>
2884
2885         PR target/7594
2886         * config/m68k/m68k.md (zero_extendhisi2): Use gen_lowpart_SUBREG.
2887         (zero_extendqihi2, zero_extendqisi2): Likewise.
2888
2889 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
2890
2891         * config/rs6000/rs6000.c (function_arg): Always split vectors for
2892         e500 if it's a stdarg function.
2893         (function_arg_advance): Advance 2 registers for vectors in a
2894         stdarg function.
2895         (init_cumulative_args): Initialize stdarg.
2896         (rs6000_spe_function_arg): New.
2897
2898         * config/rs6000/rs6000.h (rs6000_args): Add stdarg.
2899
2900 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
2901
2902         * config/rs6000/rs6000.h (MODES_TIEABLE_P): Add SPE vectors.
2903
2904 2003-06-12  Roger Sayle  <roger@eyesopen.com>
2905
2906         PR middle-end/168
2907         * fold-const.c (tree_expr_nonnegative_p):  Handle addition
2908         and multiplication of zero extensions, floating point division,
2909         and integer<->fp, fp<->fp and zero extension conversions.
2910         The built-in ceil and floor functions preserve signedness.
2911
2912 2003-06-12  Kazu Hirata  <kazu@cs.umass.edu>
2913
2914         * ChangeLog: Follow spelling conventions.
2915         * ChangeLog.2: Likewise.
2916         * c-decl.c: Likewise.
2917         * cfgloop.h: Likewise.
2918         * cgraph.c: Likewise.
2919         * coverage.c: Likewise.
2920         * cppcharset.c: Likewise.
2921         * cpphash.h: Likewise.
2922         * cpplex.c: Likewise.
2923         * cpplib.c: Likewise.
2924         * dbxout.c: Likewise.
2925         * df.c: Likewise.
2926         * dwarf2out.c: Likewise.
2927         * dwarfout.c: Likewise.
2928         * emit-rtl.c: Likewise.
2929         * explow.c: Likewise.
2930         * gcov-io.c: Likewise.
2931         * gcov-io.h: Likewise.
2932         * gcov.c: Likewise.
2933         * gengtype.c: Likewise.
2934         * ggc.h: Likewise.
2935         * opts.c: Likewise.
2936         * real.c: Likewise.
2937         * reload.c: Likewise.
2938         * stmt.c: Likewise.
2939
2940 2003-06-12  Janis Johnson  <janis187@us.ibm.com>
2941
2942         * doc/install.texi (m32r-*-elf): Change company to Renesas.
2943
2944 Thu Jun 12 20:00:55 CEST 2003  Jan Hubicka  <jh@suse.cz>
2945
2946         * basic-block.h (flow_delete_block_noexpunge): Kill.
2947         * cfgrtl.c (flow_delete_block_noexpunge): Merge to
2948         rtl_delete_block.
2949
2950 2003-06-10  Richard Henderson  <rth@redhat.com>
2951
2952         PR inline-asm/4823
2953         * reg-stack.c (any_malformed_asm): New.
2954         (check_asm_stack_operands): Set it.
2955         (convert_regs_1): Check it before aborting.
2956
2957 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
2958
2959         * config/rs6000/spe.md: Change all clobbers of the accumulator to sets.
2960
2961 2003-06-12  Jakub Jelinek  <jakub@redhat.com>
2962
2963         * c-opts.c (complain_wrong_lang): Add on argument.
2964         Print no- switch if on is false.
2965         (c_common_decode_option): Adjust caller.
2966
2967 2003-06-12  Ulrich Weigand  <uweigand@de.ibm.com>
2968
2969         * config/s390/s390.c (s390_emit_prologue): Use LA instead of AR
2970         to initialize GOT register.
2971
2972 2003-06-12  Roger Sayle  <roger@eyesopen.com>
2973
2974         * fold-const.c (tree_expr_nonnegative_p): Add support for
2975         floating point constants, addition and multiplication.
2976
2977 2003-06-12  J"orn Rennecke <joern.rennecke@superh.com>
2978
2979         * sh.md (adddi3_compact, subdi3_compact): Add earlyclobber
2980         constraint modifier for operand 0.
2981
2982 2003-06-12  Hans-Peter Nilsson  <hp@axis.com>
2983
2984         Don't warn on dollars in builtin macro definitions,
2985         e.g. __REGISTER_PREFIX__.
2986         * cpphash.h (struct cpp_reader): Move member warn_dollars...
2987         * cpplib.h (struct cpp_options): ...to here.  Change type to
2988         unsigned char.
2989         * cppinit.c (cpp_create_reader): Set it to 1 here.
2990         (post_options): Don't set it here.
2991         * c-opts.c (c_common_init_options): Reset it to 0 here.
2992         (finish_options): Set it here.
2993         * cpplex.c (forms_identifier_p): Tweak for new location of
2994         warn_dollars.
2995
2996         * configure.in (assembler dwarf2 debug_line support): Define insn
2997         for cris-*-* and mmix-*-*.
2998         * configure: Regenerate.
2999
3000 2003-06-11  Uwe Stieber  <uwe@kaos-group.de>
3001
3002         * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
3003         powerpcle-*-kaos*, strongarm-*-kaos*): New targets.
3004         (sh-*-elf*): Add sh*-*-kaos* support.
3005         * config/kaos.h, config/arm/kaos-strongarm.h, config/arm/kaos-arm.h,
3006         config/i386/kaos-i386.h, config/rs6000/kaos-ppc.h,
3007         config/sh/kaos-sh.h: New files.
3008
3009 2003-06-12  Kazu Hirata  <kazu@cs.umass.edu>
3010
3011         * gcse.c (fis_get_condition): Make it a global function.
3012         * reload1.c (reload_cse_move2add): Detect implicit sets.
3013         * rtl.h: Add a prototype for fis_get_condition.
3014
3015 2003-06-11  Richard Henderson  <rth@redhat.com>
3016
3017         * stmt.c (expand_asm_operands): Don't warn for memories with
3018         queued addresses.
3019
3020 2003-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
3021
3022         * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Rewrite without
3023         brackets.
3024
3025 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
3026
3027         * hooks.c (hook_int_size_t_constcharptr_int_0): New.
3028         * hooks.h (hook_int_size_t_constcharptr_int_0): New.
3029         * langhooks-def.h (lhd_decode_option, LANG_HOOKS_DECODE_OPTION): Die.
3030         (LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_INITIALIZER): Update.
3031         * langhooks.c (lhd_decode_option): Remove.
3032         * langhooks.h (struct lang_hooks): Remove decode_option.
3033         * opts.c (handle_option): No longer use decode_option.
3034
3035 2003-06-11  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3036
3037         * cfgloopanal.c (variable_initial_value): Update the set of altered
3038         registers correctly.
3039
3040 2003-06-11  Roger Sayle  <roger@eyesopen.com>
3041             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3042
3043         * config/d30v/d30v.h: Delete reference to ASM_FINAL_SPEC.
3044         * config/i386/netbsd-elf.h: Likewise.
3045         * config/m32r/m32r.h: Likewise.
3046         * config/mn10300/mn10300.h: Likewise.
3047         * config/stormy16/stormy16.h: Likewise.
3048         * config/v850/v850.h: Likewise.
3049         * config/vax/netbsd-elf.h: Likewise.
3050         * config/xtensa/elf.h: Likewise.
3051         * config/xtensa/linux.h: Likewise.
3052
3053 2003-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3054
3055         * config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
3056         DWARF 2 default.
3057
3058         * config/mips/dbxmdebug.h: New file.
3059         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
3060         gas and --with-stabs.
3061
3062 2003-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
3063
3064         * expr.c (can_move_by_pieces): align argument may be unused.
3065
3066 2003-06-11  J"orn Rennecke <joern.rennecke@superh.com>
3067
3068         * expr.c (convert_move): Handle moves between two CONCATs.
3069
3070 2003-06-11  Kazu Hirata  <kazu@cs.umass.edu>
3071
3072         * config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
3073         !TARGET_H8300.
3074
3075 2003-06-11  Kazu Hirata  <kazu@cs.umass.edu>
3076
3077         * config/h8300/h8300.c (final_prescan_insn): Don't dump rtl.
3078         * config/h8300/h8300.h (MASK_RTL_DUMP): Remove.
3079         (TARGET_RTL_DUMP): Likewise.
3080         (TARGET_SWITHCES): Remove -mrtl-dump.
3081
3082 2003-06-10  Richard Henderson  <rth@redhat.com>
3083
3084         * optabs.c (gen_cond_trap): Fix prepare_operand typo.
3085
3086 2003-06-10  Richard Henderson  <rth@redhat.com>
3087
3088         * config/ia64/ia64.md (call_gp): Fix memory mode.
3089
3090 2003-06-10  James E Wilson  <wilson@tuliptree.org>
3091
3092         PR target/8812
3093         * reload1.c (choose_reload_regs): For equiv reg, add loop over all
3094         hard regs for reload_reg_used_at_all and reg_class_contents checks.
3095
3096 2003-06-10  Kazu Hirata  <kazu@cs.umass.edu>
3097
3098         * config/h8300/h8300.c (print_operand): Remove support for
3099         operand character 'b'.
3100         Add the AND case to operand character 'c'.
3101         * config/h8300/h8300.md (two anonymous patterns): Replace
3102         operand character 'b' with 'c'.
3103
3104 2003-06-10  Kazu Hirata  <kazu@cs.umass.edu>
3105
3106         * config/h8300/h8300.c (print_operand): Remove support for
3107         operand character 'u'.
3108
3109 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
3110
3111         * configure.in: Fix typo.
3112         * configure: Regenerate.
3113
3114 2003-06-10  Loren James Rittle  <ljrittle@acm.org>
3115
3116         * config/alpha/alpha.c (unicosmk_file_end): Add conditional
3117         compilation guard.
3118
3119 2003-06-10  J"orn Rennecke <joern.rennecke@superh.com>
3120
3121         * sh-protos.h (function_symbol): Declare.
3122         * sh.c (expand_block_move, expand_ashiftrt): Use it.
3123         (sh_expand_prologue, sh_expand_epilogue): Likewise.
3124         (sh_initialize_trampoline): Likewise.
3125         (function_symbol): New function.
3126         * sh.md (udivsi3, divsi3, mulsi3, ic_invalidate_line): Use it.
3127         (initialize_trampoline, call, call_pop, call_value, sibcall): Likewise.
3128         (call_value_pop, shcompact_return_tramp): Likewise.
3129
3130         * sh.h (OVERRIDE_OPTIONS): Don't suppress --profile-arc-flag.
3131
3132         * sh.md (GOTaddr2picreg): Use gen_lowpart to get lowpart of
3133         target register.
3134
3135 2003-06-10  DJ Delorie  <dj@redhat.com>
3136
3137         * doc/md.texi (Machine Constraints): Document stormy's Z
3138         constraint.
3139
3140 2003-06-10  Geoffrey Keating  <geoffk@apple.com>
3141
3142         * except.c (call_site_base): Mark with GTY.
3143
3144 2003-06-10  Richard Earnshaw  <rearnsha@arm.com>
3145
3146         * arm-proto.h: Convert to ISO C90 prototypes.
3147         * arm.c: Likewise.
3148
3149 2003-06-10  J"orn Rennecke <joern.rennecke@superh.com>
3150
3151         * sh.c (sh_output_mi_thunk): Call insn_locators_initialize.
3152
3153 2003-06-10  Steve Ellcey  <sje@cup.hp.com>
3154
3155         * calls.c (expand_call): Convert structure_value_addr to Pmode if
3156         necessary.
3157
3158 2003-06-10  Andrew Haley  <aph@redhat.com>
3159
3160         * langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
3161         (LANG_HOOKS_DECLS): Add LANG_HOOKS_DECL_OK_FOR_SIBCALL.
3162         (lhd_decl_ok_for_sibcall): New.
3163         * langhooks.c (lhd_decl_ok_for_sibcall): New.
3164         * langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
3165         * calls.c (expand_call): Check lang_hook before generating a
3166         sibcall.
3167
3168 2003-06-10  DJ Delorie  <dj@redhat.com>
3169
3170         * config/stormy16/stormy16.c (xstormy16_extra_constraint_p): Add Z,
3171         which matches (const_int 0) for addhi3.
3172         * config/stormy16/stormy16.md: Document known constraints.
3173         (addhi3): Handle adding zero.
3174
3175 2003-06-10  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3176
3177         * config/m32r/m32r.h (HARD_REGNO_RENAME_OK): New.
3178         * config/m32r/m32r.c (m32r_hard_regno_rename_ok): New.
3179         * config/m32r/m32r-protos.h: Prototype it.
3180
3181 2003-06-10  Janis Johnson  <janis187@us.ibm.com>
3182
3183         * config/rs6000/eabi.h (TARGET_OS_CPP_BUILTINS): Define builtins
3184         common to rs6000 sysv targets.
3185         * config/rs6000/eabisim.h (TARGET_OS_CPP_BUILTINS): Ditto.
3186         * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Ditto.
3187
3188 2003-06-10  Nick Clifton  <nickc@redhat.com>
3189
3190         * config.gcc: Add arm-wince-pe target.
3191         * config/arm/pe.h (MULTILIB_DEFAULTS): Define.
3192         Add comment about default apcs26 support.
3193         * config/arm/t-pe (MULTILIB_OPTIONS): Add an -mapcs-32
3194         multilib.
3195         (MULTILIB_DIRNAMES): Add 'apcs32'.
3196         * config/arm/t-wince-pe: New makefile fragment.
3197         * config/arm/wince-pe.h: New file.  Overrides a few definitions
3198         in arm/pe.h
3199
3200 2003-06-10  Roger Sayle  <roger@eyesopen.com>
3201
3202         * builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
3203         * fold-const.c (fold <NEGATE_EXPR>): Convert -f(x) into f(-x)
3204         when x is easily negated and f is sin, tan or atan.
3205         (fold <MULT_EXPR>): Optimize tan(x)*cos(x) and cos(x)*tan(x) as
3206         sin(x) with flag_unsafe_math_optimizations.
3207         (fold <RDIV_EXPR>): With flag_unsafe_math_optimizations fold
3208         sin(x)/cos(x) as tan(x) and cos(x)/sin(x) as 1.0/tan(x).
3209
3210 2003-06-10  Roger Sayle  <roger@eyesopen.com>
3211
3212         * fold-const.c (fold <EQ_EXPR>):  Don't fold x == x only if x
3213         is a floating point type *and* we currently honor NaNs.
3214         (fold <NE_EXPR>): Likewise.
3215
3216 2003-06-10  Mark Mitchell  <mark@codesourcery.com>
3217
3218         PR c++/11131
3219         * tree-inline.c (inlinable_function_p): Call the language-specific
3220         hook early.
3221
3222 2003-06-09  David Taylor  <dtaylor@emc.com>
3223
3224         * config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg):  Skip over
3225         the f_res field.
3226
3227 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
3228
3229         * configure.in: Remove references to host_truncate_target.
3230         * configure: Regenerate.
3231         * config.gcc: Remove references to truncate_target,
3232         host_truncate_target.
3233
3234         * Makefile.in, configure.in, config/m68hc11/t-m68hc11-gas:
3235         Replace "build_canonical" with build, "host_canonical" with host.
3236         * configure.in: Use GCC_TOPLEV_SUBDIRS.
3237         * aclocal.m4: Include ../config/acx.m4.
3238         * configure: Regenerate.
3239
3240 2003-06-09  David Taylor  <dtaylor@emc.com>
3241
3242         * config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
3243         bytes of padding in the __va_list_tag structure a name (reserved).
3244
3245 2003-06-09  Jason Merrill  <jason@redhat.com>
3246
3247         * fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR.
3248
3249 2003-06-09  Osku Salerma  <osku@iki.fi>
3250
3251         * c-format.c (check_format_string, get_constant): New.
3252         (handle_format_attribute, handle_format_arg_attribute,
3253         decode_format_attr): Change to use above functions.
3254
3255 2003-06-09  Richard Henderson  <rth@redhat.com>
3256
3257         * stmt.c (expand_asm_operands): Re-word warning.
3258
3259 2003-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
3260
3261         PR target/8787
3262         * config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
3263         if -masm=intel.
3264
3265 2003-06-09  James E Wilson  <wilson@tuliptree.org>
3266
3267         * config/frv/cmovc.c, config/frv/cmovh.c, config/frv/cmovw.c,
3268         config/frv/frvbegin.c, config/frv/frvend.c, config/frv/lib1funcs.asm:
3269         Add libgcc exception.
3270
3271 2003-06-09  David Edelsohn  <edelsohn@gnu.org>
3272             Ayal Zaks  <gcchaifa@us.ibm.com>
3273
3274         * config/rs6000/rs6000.md (define_attr "type"): Add insert_word.
3275         (insvsi*): Add insert_word attribute.
3276         * config/rs6000/rs6000.c (rs6000_variable_issue): Add TYPE_INSERT_WORD.
3277         * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
3278         power4.md,rios1.md,rios2.md,rs64.md}: Add insert_word.
3279
3280 2003-06-09  Kazu Hirata  <kazu@cs.umass.edu>
3281
3282         * fold-const.c (fold): Fix a comment typo.
3283
3284 2003-06-09  Nathan Sidwell  <nathan@codesourcery.com>
3285
3286         * tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
3287         removed.
3288
3289 2003-06-09  J"orn Rennecke <joern.rennecke@superh.com>
3290
3291         * sh.c (gen_block_redirect): Use locators.
3292
3293 2003-06-09  Richard Earnshaw  <rearnsha@arm.com>
3294
3295         * arm.h (THUMB_PRINT_OPERAND_ADDRESS): Use %wd in format and remove
3296         cast to int.
3297
3298 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
3299
3300         * configure.in: Assume gas 2.14 and above can handle MIPS relocation
3301         operators.
3302         * configure: Regenerated.
3303
3304 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
3305             Alexandre Oliva  <aoliva@redhat.com>
3306
3307         * config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
3308         (PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
3309         (STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
3310         n32/64 PIC.
3311         (MUST_SAVE_REGISTERS): Delete.
3312         * config/mips/mips.c (mips_frame_info): Remove extra_size field.
3313         (machine_function): Add global_pointer field.
3314         (mips_classify_constant): Check for (const $gp) using pointer equality
3315         with pic_offset_table_rtx.
3316         (mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
3317         (mips_restore_gp): Use current_function_outgoing_args_size.
3318         (print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
3319         GP_REG_FIRST + 28.  Handle relocation strings that have
3320         more than one '('.
3321         (mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
3322         (mips_global_pointer): New function.
3323         (mips_save_reg_p): New function, mostly split out from...
3324         (compute_frame_size): ...here.  Remove handling of extra_size.
3325         Reclaim args_size if no variables depend on it.  Don't treat gp
3326         as a special case: handle it in the main GPR loop.
3327         (mips_initial_elimination_offset): Fix comment.
3328         (save_restore_insns): Save every register in the GPR mask,
3329         removing distinction between mask and real_mask.
3330         (mips_output_function_prologue): Update .frame psuedo-op after
3331         the removal of extra_size.  Move the SVR4 PIC stack allocation
3332         and cprestore instructions to mips_expand_prologue.
3333         (mips_gp_insn): New function.
3334         (mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
3335         the chosen global pointer.  Handle SVR4 PIC stack allocation
3336         in the same way as other ABIs.  Adjust varargs code accordingly.
3337         Emit a cprestore insn after allocating the stack.  Use mips_gp_insn
3338         to emit the loadgp sequence.  Follow it with a loadgp_blockage
3339         if not using explicit relocs.
3340         (mips_output_function_epilogue): Reinstate the default gp register.
3341         (mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
3342         (mips16_optimize_gp): Likewise.
3343         * config/mips/mips.md (UNSPEC_LOADGP): Remove.
3344         (UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
3345         (UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
3346         (loadgp): Remove.
3347         (loadgp_blockage, cprestore): New instructions.
3348         (builtin_setjmp_setup): Implement using emit_move_insn.  Use
3349         pic_offset_table_rtx.
3350         (builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
3351         (builtin_longjmp): Use gen_raw_REG to force use of $28.
3352
3353 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
3354
3355         * config/mips/mips-protos.h (mips_output_division): Declare.
3356         * config/mips/mips.h (MASK_CHECK_RANGE_DIV): Remove.
3357         (MASK_BRANCHLIKELY): Use MASK_CHECK_RANGE_DIV's old number.
3358         (TARGET_NO_CHECK_ZERO_DIV, TARGET_CHECK_RANGE_DIV): Remove.
3359         (TARGET_CHECK_ZERO_DIV): New macro.
3360         (TARGET_SWITCHES): Remove -mcheck-range-div & -mno-check-range-div.
3361         * config/mips/mips.c (mips_output_division): New function.
3362         * config/mips/mips.md (length): Take TARGET_CHECK_ZERO_DIV into
3363         account when calculating the default length of a division.
3364         (divmodsi4, divmoddi4, udivmodsi4, udivmoddi4): Turn into define_insns.
3365         Enable regardless of optimization level.  Use mips_output_division.
3366         (divmodsi4_internal, divmoddi4_internal, udivmodsi4_internal,
3367         udivmoddi4_internal, div_trap, div_trap_normal, div_trap_mips16,
3368         divsi3, divsi3_internal, divdi3, divdi3_internal, modsi3,
3369         modsi3_internal, moddi3, moddi3_internal, udivsi3, udivsi3_internal,
3370         udivdi3, udivdi3_internal, umodsi3, umodsi3_internal, umoddi3,
3371         umoddi3_internal): Remove.
3372
3373 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
3374
3375         * config/mips/mips.c (mips_reg_names): Change hilo entry to "".
3376         (mips_sw_reg_names): Likewise.
3377         (mips_regno_to_class): Change hilo entry to NO_REGS.
3378         (hilo_operand): Use MD_REG_P.
3379         (extend_operator): New predicate.
3380         (override_options): Remove 'a' constraint.
3381         (mips_secondary_reload_class): Remove hilo handling.  Also remove
3382         handling of (plus sp reg) reloads for mips16.
3383         (mips_register_move_cost): Remove hilo handling.
3384         * config/mips/mips.h (FIXED_REGISTERS): Make hilo entry fixed.
3385         (MD_REG_LAST): Remove hilo from range.
3386         (HILO_REGNUM): Delete.
3387         (reg_class): Remove HILO_REG and HILO_AND_GR_REGS.
3388         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
3389         (PREDICATE_CODES): Add entry for extend_operator.
3390         (DEBUG_REGISTER_NAMES): Change hilo entry to "".
3391         * config/mips/mips.md: Remove hilo clobbers wherever they occur.
3392         Remove constraints from multiplication define_expands.  Remove
3393         clobbers from "decorative" define_expand patterns.
3394         (UNSPEC_HILO_DELAY): Delete.
3395         (*mul_acc_si, *mul_sub_si): Add early-clobber to operand 6.
3396         (mulsidi3, umulsidi3): Change pattern to match the TARGET_64BIT case.
3397         Adjust C code to just emit insns for !TARGET_64BIT.
3398         (mulsidi3_internal): Rename to mulsidi3_32bit.
3399         (mulsidi3_64bit): Use a "d" constraint for the destination.
3400         Use extend_operator so that the pattern can handle umulsidi3 as well.
3401         Split the instruction after reload.
3402         (*mulsidi3_64bit_parts): New pattern, generated by mulsidi3_64bit.
3403         (umulsidi3_internal): Rename to umulsidi3_32bit.
3404         (umulsidi3_64bit): Remove.
3405         (*smsac_di, *umsac_di): Line-wrap fixes.
3406         (udivsi3_internal): Don't allow operand 2 to be constant.
3407         (udivdi3_internal, umodsi3_internal, umoddi3_internal): Likewise.
3408         (movdi_internal2, movsi_internal): Remove hilo alternatives.
3409         (reload_in[sd]i, reload_out[sd]i, hilo_delay): Remove.
3410
3411 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
3412
3413         PR target/10913
3414         * config/mips/mips.h (TARGET_FILE_SWITCHING, NO_DBX_FUNCTION_END,
3415         PUT_SDB_SCL, PUT_SDB_INT_VAL, PUT_SDB_VAL, PUT_SDB_ENDEF,
3416         PUT_SDB_TYPE, PUT_SDB_SIZE, PUT_SDB_DIM, PUT_SDB_START_DIM,
3417         PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM, PUT_SDB_TAG, PUT_SDB_SRC_FILE,
3418         SDB_GENERATE_FAKE, TEXT_SECTION): Delete.
3419         (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, PUT_SDB_BLOCK_START,
3420         PUT_SDB_BLOCK_END, PUT_SDB_FUNCTION_END): Replace use of
3421         asm_out_text_file with asm_out_file.
3422         * config/mips/iris5gas.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Likewise.
3423         * config/mips/elf.h (TEXT_SECTION): Undefine.
3424         * config/mips/elf64.h (TEXT_SECION): Undefine.
3425         * config/mips/openbsd.h (TEXT_SECION): Undefine.
3426         * config/mips/mips.c (asm_out_text_file, asm_out_data_file): Delete.
3427         (override_options): Disable small-data optimizations unless using
3428         gas or explicit relocations.
3429         (mips_asm_file_start, mips_asm_file_end, mips_output_function_epilogue,
3430         iris6_asm_named_section, iris6_asm_file_start): Remove code for
3431         handling TARGET_FILE_SWITCHING.
3432         (copy_file_data): Move into TARGET_IRIX6 block.
3433
3434 2003-06-08  Richard Henderson  <rth@redhat.com>
3435
3436         * expr.h (EXPAND_MEMORY): New.
3437         * expr.c (expand_expr): Check it.
3438         * stmt.c (expand_asm_operands): Provide it when the constraint
3439         requires a memory.  Warn for memory input constraints without
3440         a memory operand.
3441
3442 2003-06-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3443
3444         * varasm.c: Don't include c-tree.h.
3445
3446 2003-06-08  Andreas Jaeger  <aj@suse.de>
3447
3448         * predict.h: Convert to ISO C90 prototypes.
3449         * predict.c: Likewise.
3450         * tree-dump.h: Likewise.
3451         * tree-dump.c: Likewise.
3452         * diagnostic.h: Likewise.
3453         * diagnostic.c: Likewise.
3454         * combine.c: Likewise.
3455
3456         * rtl.h: Convert prototypes of combine.c to ISO C90.
3457
3458 Sun Jun  8 21:27:41 CEST 2003  Jan Hubicka  <jh@suse.cz>
3459
3460         * cfglayout.c (insn_scope): New static function
3461         (block_locators_*, line_locators*, file_locators*): New static varrays.
3462         (scope_to_insns_initialize): Use them.
3463         (insn_line, insn_file): New functions.
3464         (scope_to_insns_finalize): Use insn_scope.
3465         (prologue_locator, epilogue_locator): New global variables.
3466         * emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
3467         make_call_insn_raw, emit_copy_of_insn_after): Use locators.
3468         (emit_insn_after_scope, emit_insn_before_scope
3469         emit_jump_insn_after_scope, emit_jump_insn_before_scope
3470         emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
3471         (emit_insn_after_setloc, emit_insn_before_setloc
3472         emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
3473         emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
3474         use locators.
3475         * final.c (notice_source_line): Use locators.
3476         (final_start_function): Set initial source file and line.
3477         (final_scan_insn): Use locators.
3478         * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
3479         noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
3480         noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
3481         noce_process_if_block, find_cond_trap): Likewise.
3482         * integrate.c (copy_insn_list): Likewise.
3483         * jump.c (duplicate_loop_exit_test): LIkewise.
3484         * print-rtl.c (print_rtx): Print locators.
3485         * recog.c (peephole2_optimize): Likewise.
3486         * rtl.h (INSN_SCOPE): Remove.
3487         (emit_insn_after_scope, emit_insn_before_scope
3488         emit_jump_insn_after_scope, emit_jump_insn_before_scope
3489         emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
3490         (emit_insn_after_setloc, emit_insn_before_setloc
3491         emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
3492         emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
3493         (insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
3494         * unroll.c (copy_loop_body): Use locators.
3495         * function.c (set_insn_locators): New function.
3496         (thread_prologue_and_epilogue_insns): Set the locators accordingly.
3497
3498 2003-06-08  Kazu Hirata  <kazu@cs.umass.edu>
3499
3500         * config/h8300/h8300.h (LONG_LONG_TYPE_SIZE): Set to 64.
3501         * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _floatdisf
3502         _fixsfdi _fixunssfdi.
3503         (LIB2FUNCS_EXTRA): Add entries for clzhi2, ctzhi2, parityhi2,
3504         popcounthi2.
3505         (TARGET_LIBGCC2_CFLAGS): Remove -DDI=SI.
3506         * config/h8300/clzhi2.c: New.
3507         * config/h8300/ctzhi2.c: Likewise.
3508         * config/h8300/parityhi2.c: Likewise.
3509         * config/h8300/popcounthi2.c: Likewise.
3510
3511 Sun Jun  8 15:52:17 CEST 2003  Jan Hubicka  <jh@suse.cz>
3512
3513         * i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
3514         * i386.c (k8_avoid_jump_misspredicts): Fix debug output.
3515
3516         * cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
3517         (dump_bb): New based on old dump_bb in cfgrtl.c
3518         (debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
3519         * cfghooks.h (cfgh_verify_flow_info): Return status.
3520         * cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
3521         * cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
3522         (dump_bb): Remove generic parts.
3523         (rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
3524         (rtl_verify_flow_info): Only check things dependeing on linearized RTL.
3525
3526 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
3527
3528         * Makefile.in: Rename options.c and options.h to c-options.c and
3529         c-options.h.
3530         (OBJS): Remove options.o.
3531         * c-opts.c: Don'tInclude c-options.h instead of options.h.
3532         * opts.c: Don't include options.h.
3533         (find_opt): Can't use enum opt_code or N_OPTS.
3534         * opts.h (struct cl_option, cl_options, cl_options_count): Move from...
3535         * opts.sh: ... here.
3536
3537 2003-06-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
3538             Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
3539
3540         PR pch/9830
3541         * ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
3542         if HAVE_MINCORE is defined.
3543         (MAP_FAILED): Define if not defined.
3544         (gt_pch_save): Test against MAP_FAILED.
3545         (gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
3546         the mapping address to the preferred base after checking it
3547         is possible to do so. Test against MAP_FAILED.
3548         * configure.in: Test for the presence of mincore in libc.
3549         * config.in: Regenerate.
3550         * configure: Regenerate.
3551
3552 2003-06-07  Richard Henderson  <rth@redhat.com>
3553
3554         * config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
3555         conditional compilation guard.
3556
3557 2003-06-08  Kazu Hirata  <kazu@cs.umass.edu>
3558
3559         * optabs.c (expand_abs): Set result_unsignedp to 1 if
3560         flag_trav is zero.
3561
3562 2003-06-07  Richard Henderson  <rth@redhat.com>
3563
3564         * c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.
3565
3566 2003-06-07  Richard Henderson  <rth@redhat.com>
3567
3568         * basic-block.h (EDGE_SIBCALL): New.
3569         (EDGE_ALL_FLAGS): Update.
3570         * cfg.c (dump_edge_info): Add sibcall name.
3571         * cfgbuild.c (make_edges): Use EDGE_SIBCALL.
3572         * cfgrtl.c (purge_dead_edges): Handle sibcalls.
3573
3574 2003-06-07  Andreas Jaeger  <aj@suse.de>
3575
3576         * mklibgcc.in (lib2funcs): Remove _exit.
3577         * libgcc2.c: Remove L_exit.
3578         * gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.
3579
3580         * system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.
3581
3582         * doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.
3583
3584         * ggc.h: Convert to ISO C90 prototypes.
3585         * ggc-none.c: Likewise.
3586         * ggc-common.c: Likewise.
3587         * ggc-page.c: Likewise.
3588         * ggc-simple.c: Likewise.
3589
3590         * crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
3591
3592         * system.h: Poison INIT_SECTION_PREAMBLE.
3593
3594 2003-06-07  Zack Weinberg  <zack@codesourcery.com>
3595
3596         * config.gcc (with_cpu handling): Translate sparc64 in
3597         $machine to --with-cpu=v9.
3598         * config/alpha/alpha.c
3599         (TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
3600         (alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
3601
3602         * target.h: New hook asm_out.file_end.
3603         * target.h: Update to match.  New hook macro TARGET_ASM_FILE_END.
3604         * toplev.c (compile_file): Use targetm.asm_out.file_end.
3605         * system.h: Poison ASM_FILE_END.
3606         * varasm.c (file_end_indicate_exec_stack): New.
3607         * output.h: Prototype it.
3608         * doc/tm.texi: Document TARGET_ASM_FILE_END and
3609         file_end_indicate_exec_stack.  Delete references to attasm.h.
3610
3611         * config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
3612         (ASM_FILE_END): Delete; move code...
3613         * config/darwin.c (darwin_file_end): Here; new function.
3614         * config/darwin-protos.h: Prototype it.
3615         * config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
3616         rename unicosmk_file_end.
3617         * config/arm/aof.h (ASM_FILE_END): Delete; move code...
3618         * config/arm/arm.c (aof_file_end): ... here; new static function.
3619         Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
3620         Make aof_dump_imports and aof_dump_pic_table static.
3621         * config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
3622         Set TARGET_ASM_FILE_END to avr_file_end.
3623         * config/c4x/c4x.c (c4x_file_end): Make static.  Take no arguments.
3624         Set TARGET_ASM_FILE_END to c4x_file_end.
3625         * config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
3626         make static. Take no arguments.  Set TARGET_ASM_FILE_END to
3627         h8300_file_end.
3628         * config/i370/i370.h (ASM_FILE_END): Delete; move code...
3629         * config/i370/i370.c (i370_file_end): ... here; new static function.
3630         Set TARGET_ASM_FILE_END to i370_file_end.
3631          * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
3632          Take no arguments.  Call file_end_indicate_exec_stack if
3633          NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
3634         * config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
3635         Define NEED_INDICATE_EXEC_STACK to 0.
3636         * config/i386/linux.h, config/i386/linux64.h: Redefine
3637         NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
3638         * config/i386/winnt.c (i386_pe_asm_file_end): Rename to
3639         i386_pe_file_end.  Take no arguments.  Use ix86_file_end.
3640         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
3641         ia64_hpux_file_end, make static.  Take no arguments.
3642         * config/ip2k/ip2k.c (asm_file_start, asm_file_end,
3643         commands_in_prologues, commands_in_epilogues): Delete.
3644         (function_epilogue): Update to match.
3645         * config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
3646         make static.  Take no arguments.
3647         (iris6_asm_file_end): Rename iris6_file_end, make static, use
3648         mips_file_end, take no arguments.
3649         Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
3650         appropriate.
3651         * config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
3652         make static, take no arguments. Set TARGET_ASM_FILE_END to
3653         mmix_file_end.
3654         * config/pa/pa.c (output_deferred_plabels): Make static, take
3655         no arguments.  Set TARGET_ASM_FILE_END to output_deferred_plabels.
3656         * config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
3657         (ASM_FILE_END): Delete; move code...
3658         * config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
3659         new static function.
3660
3661         * config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
3662         * config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
3663         Don't set ASM_FILE_END.
3664         * config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
3665         * config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
3666         * config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
3667         file_end_indicate_exec_stack; don't set ASM_FILE_END.
3668         * config/alpha/unicosmk.h, config/i386/cygming.h
3669         * config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
3670         * config/arm/arm-protos.h, config/alpha/alpha-protos.h
3671         * config/avr/avr-protos.h, config/c4x/c4x-protos.h
3672         * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
3673         * config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
3674         * config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
3675
3676 Sat Jun  7 18:32:13 CEST 2003  Jan Hubicka  <jh@suse.cz>
3677
3678         * i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
3679         specified.
3680
3681 Sat Jun  7 15:20:01 CEST 2003  Jan Hubicka  <jh@suse.cz>
3682
3683         * Makefile.in (stageprofile_build): Kill redundant target.
3684         * i386.c (mdep_reorg): Don't pad jumps for Athlon.
3685
3686 2003-06-07  Andreas Jaeger  <aj@suse.de>
3687
3688         * doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
3689
3690         * config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
3691         * config/dsp16xx/dsp16xx.h: Likewise.
3692         * config/i386/i386.h: Likewise.
3693         * config/ip2k/ip2k.h: Likewise.
3694
3695 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
3696
3697         * Makefile.in (OJBS, c-opts.o): Update.
3698         (c-options.c, c-options.h): Rename options.h and options.c.
3699         (options.h): Rename options_.h.
3700         (opts.o): New.
3701         * c-common.h (c_common_handle_option): Replace c_common_decode_option.
3702         (c_common_init_options): Update prototype.
3703         * c-lang.c (c_init_options): Update prototype.
3704         (LANG_HOOKS_HANDLE_OPTION): Override.
3705         (LANG_HOOKS_DECODE_OPTION): Drop.
3706         * c-opts.c: Include opts.h and options.h instead of c-options.h
3707         and c-options.c.
3708         (lang_flags): Move to file scope.
3709         (find_opt, c_common_decode_option): Remove.
3710         (CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
3711         CL_REJECT_NEGATIVE): Move to opts.h.
3712         (missing_arg): Update prototype.
3713         (c_common_init_options): Update for new prototype.
3714         (c_common_handle_options): Filenames are passed as N_OPTS.
3715         * hooks.c (hook_int_void_0): New.
3716         * hooks.h (hook_int_void_0): New.
3717         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
3718         (LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
3719         (LANG_HOOKS_INITIALIZER): Update.
3720         * langhooks.h (init_options): Update.
3721         (handle_option): New.
3722         * opts.c, opts.h: New files.
3723         * opts.sh: Update c file to include opts.h and options.h.
3724         * toplev.c: Include opts.h; change options.h to options_.h.
3725         (parse_options_and_default_flags): Get lang_mask, use
3726         handle_option for language-specific handling.
3727         * objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
3728         (LANG_HOOKS_HANDLE_OPTION): Override.
3729         (objc_init_options): Update.
3730
3731 2003-06-07  Magnus Kreth <magnus.kreth@gmx.de>
3732             Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
3733
3734         PR other/7031
3735         * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
3736         gcov.
3737
3738 2003-06-07  Kelley Cook  <kelleycook@wideopenwest.com>
3739
3740         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
3741         section names.
3742         * configure: Regenerate.
3743
3744 2003-06-07  Alan Modra  <amodra@bigpond.net.au>
3745
3746         * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
3747
3748 2003-06-06  James E Wilson  <wilson@tuliptree.org>
3749
3750         PR inline-asm/10890
3751         * reload1.c (merge_assigned_reloads): Abort only if two reloads have
3752         different in fields.
3753
3754 2003-06-06  Nathanael Nerode  <neroden@gcc.gnu.org>
3755
3756         * configure.in: Make $(target_subdir) correspond with top level usage.
3757         * Makefile.in: Likewise.
3758         * configure: Regenerate.
3759
3760 2003-06-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3761
3762         * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
3763         ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
3764         unsigned HOST_WIDE_INT.
3765         * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
3766         Likewise.
3767         * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
3768         Likewise.
3769
3770 2003-06-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3771
3772         * doc/install.texi (Prerequisites): New section documenting
3773         tools and packages necessary prior to building and/or
3774         modifying GCC.
3775         * doc/install.texi2html: Also generate prerequisites.html.
3776
3777 2003-06-06  Richard Earnshaw  <rearnsha@arm.com>
3778
3779         PR target/11052
3780         * ifcvt.c (noce_process_if_block): Fail if the destination has
3781         side-effects.
3782
3783 2003-06-06  Jason Merrill  <jason@redhat.com>
3784
3785         * stmt.c (resolve_asm_operand_names): Rename from
3786         resolve_operand_names.  No longer static.  Avoid needless copying.
3787         Don't build array of constraints.
3788         (expand_asm_operands): Build it here.
3789         * tree.h: Declare resolve_asm_operand_names.
3790
3791         * stmt.c (expand_decl): Put artificial vars into registers even
3792         when not optimizing, and don't mark the regs as user vars.
3793
3794 2003-06-06  J"orn Rennecke <joern.rennecke@superh.com>
3795
3796         * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
3797         of the generated register.
3798
3799 2003-06-06  Daniel Jacobowitz  <drow@mvista.com>
3800
3801         * config.gcc: Add a missing sparc64 case.
3802
3803 2003-06-06  Jakub Jelinek  <jakub@redhat.com>
3804
3805         * mklibgcc.in: Propagate .note.GNU-stack section if needed into
3806         the .hidden assembly stubs.
3807
3808 2003-06-06  H.J. Lu <hongjiu.lu@intel.com>
3809
3810         * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
3811         and x86_64-*-*.
3812
3813         * config/i386/mmintrin.h: Update version and add alternate
3814         intrinsic names.
3815         * config/i386/xmmintrin.h: Likewise.
3816
3817         * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
3818         intrinsics to ...
3819         * config/i386/emmintrin.h: Here. New file.
3820
3821 2003-06-06  Roger Sayle  <roger@eyesopen.com>
3822
3823         * fold-const.c (fold <ABS_EXPR>):  Re-fold the result of folding
3824         fabs(-x) into fabs(x).  Use tree_expr_nonnegative_p to determine
3825         when the ABS_EXPR (fabs or abs) is not required.
3826         (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
3827         always nonnegative from fold to here.  Additionally, cabs and fabs
3828         are always non-negative, and pow and atan are non-negative if
3829         their first argument is non-negative.
3830
3831         * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
3832         Evaluate cabs of a constant at compile-time.  Convert cabs of a
3833         non-complex argument into fabs.  Convert cabs(z) into
3834         sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
3835         -funsafe-math-optimizations or -ffast-math.
3836         (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
3837         Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
3838
3839 Thu Jun  5 20:51:09 CEST 2003  Jan Hubicka  <jh@suse.cz>
3840
3841         * sourcebuild.texi (Front End Directory): Document new hooks.
3842
3843 Fri Jun  6 11:02:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
3844
3845         * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
3846         * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
3847         stack frames.
3848         (pro_epilogue_adjust_stack_rex64_2): New pattern
3849
3850 Fri Jun  6 11:03:14 CEST 2003  Jan Hubicka  <jh@suse.cz>
3851                                Pop Sebastian
3852                                Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3853
3854         * cfghooks.h, cfghooks.c: New files.
3855         * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
3856         (OBJS): Add cfghooks.o.
3857         (cfghooks.o): New rule.
3858         * basic-block.h (split_edge): Rename to rtl_split_edge.
3859         (verify_flow_info): Rename to rtl_verify_flow_info.
3860         (cfghooks.h): Included here.
3861         * cfgrtl.c (split_edge): Renamed rtl_split_edge.
3862         (verify_flow_info): Renamed rtl_verify_flow_info.
3863         * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
3864
3865         * basic-block.h (split_block, split_edge, flow_delete_block,
3866         redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
3867         (flow_delete_block_noexpunge):  Return void.
3868         * cfg.c (verify_flow_info): New function.
3869         * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
3870         try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
3871         Use delete_block.
3872         * cfglayout.c (function_footer): Rename to...
3873         (cfg_layout_function_footer): ... this variable
3874         (unlink_insn_chain): Make global.
3875         (fixup_reorder_chain, record_effective_endpoints): Update.
3876         (cleanup_unconditional_jumps): Use delete_block.
3877         (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
3878         (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
3879         (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
3880         * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block):  Delete.
3881         (cfg_layout_function_footer): Declare.
3882         * cfgloopmanip (split_loop_bb): Do not update RBI.
3883         (remove_bbs): Use delete_block.
3884         (loop_reidrect_edge, loop_delete_branch_edge): Use
3885         redirect_edge_and_branch.
3886         (create_preheader): Use split_block and redirect_edge_and_branch_force.
3887         (split_edge_with): Likewise.
3888         * cfgrtl.c: Include cfglayout.h
3889         (split_edge): Rename to ...
3890         (rtl_split_edge) ... this one; make local.
3891         (redirect_edge_and_branch): Rename to ...
3892         (rtl_redirect_edge_and_branch) ... this one; make local.
3893         (redirect_edge_and_branch_force): Rename to ...
3894         (rtl_redirect_edge_and_branch_force) ... this one; make local.
3895         (cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
3896         (cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
3897         cfglayout.c; update to directly call RTL counterparts.
3898         (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
3899         * ifcvt.c (find_cond_trap): Use delete_block.
3900         (find_if_case_1): Use delete_block.
3901         (find_if_case_2): Use delete_block.
3902         * rtl.h (unlink_insn_chain): Declare.
3903         * toplev.c (rtl_reigster_cfg_hooks): New.
3904
3905 2003-06-05  Richard Henderson  <rth@redhat.com>
3906
3907         * recog.c (peephole2_optimize): Revert last change.
3908
3909 2003-06-05  Richard Henderson  <rth@redhat.com>
3910
3911         * recog.c (peephole2_optimize): Don't split block unless
3912         can_throw_internal.
3913
3914 2003-06-06  Kazu Hirata  <kazu@cs.umass.edu>
3915
3916         * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
3917         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
3918
3919 2003-06-05  Kelley Cook  <kelleycook@wideopenwest.com>
3920
3921         PR optimization/4490
3922         * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
3923         * doc/invoke.texi (m96bit-long-double, m128bit-long-double):  Reword
3924         documentation to accurately reflect what these options do.
3925
3926 2003-06-06  Kaz Kojima  <kkojima@gcc.gnu.org>
3927
3928         * config/sh/linux.h (STARTFILE_SPEC): Handle -pie.  Simplify.
3929         (ENDFILE_SPEC): Redefine to handle -pie.
3930
3931 2003-06-05  Phil Edwards <phil@jaj.com>
3932
3933         * Makefile.in (qmtest-g++): Use target_alias, not target.
3934
3935 2003-06-05  Per Bothner  <pbothner@apple.com>
3936
3937         * toplev.c (push_srcloc):  Simplify behavior to save current location
3938         and set current location to parameters.
3939         (pop_srcloc):  Simplify semantics.
3940         (lang_dependent_init):  Remove now-useless initial push_srcloc.
3941
3942 2003-05-06  Richard Henderson  <rth@redhat.com>
3943
3944         * dwarf2out.c (loc_descriptor_from_tree): Return 0 for
3945         language-specific tree codes.
3946
3947 2003-06-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3948
3949         PR middle-end/9986
3950         * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
3951         BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
3952
3953 Thu Jun  5 18:32:46 CEST 2003  Jan Hubicka  <jh@suse.cz>
3954
3955         * install.tex: Document profiledbootstrap.
3956
3957         * configure.in:  Add support for lang.stageprofile and
3958         lang.stagefeedback
3959         * Makefile.in (clean, distclean): Kill new stages
3960         (POSTSTAGE1_FLAGS_TO_PASS): Break from ...
3961         (STAGE2_FLAGS_TO_PASS): ... this one.
3962         (STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
3963         (stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
3964         (stageprofile_build, stageprofile_copy, stagefeedback_build,
3965         stagefeedback_copy): New.
3966         (restageprofile, restagefeedback, stageprofile-start,
3967         stageprofile, stagefeedback-start): Likewise.
3968
3969 2003-06-05  David Miller  <davem@redhat.com>
3970             Richard Henderson  <rth@redhat.com>
3971
3972         * optabs.c (HAVE_conditional_trap): Provide default.
3973         (gen_conditional_trap): Likewise.
3974         (init_optabs): Merge init_traps.
3975         (gen_cond_trap): Use prepare_operand.  Restructure and avoid ifdef.
3976
3977 Thu Jun  5 14:59:44 CEST 2003  Jan Hubicka  <jh@suse.cz>
3978
3979         * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
3980         is REG for nonzero_bits (REG) == 8.
3981
3982 Thu Jun  5 13:23:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
3983
3984         * i386.md (align): Fix warning; clarify what to do when no p2align
3985         is available.
3986
3987 2003-06-05  Nick Clifton  <nickc@redhat.com>
3988
3989         * config.gcc (m32r-elf): Revert previous delta.
3990         * config/m32r/t-m32r (crtinit.o): Fix rule to work with
3991         multilibs.  Remove m32rx specific version.
3992         (crtfini.o): Likewise.
3993         (EXTRA_MULTILIB_PARTS): Define.
3994
3995 2003-06-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
3996
3997         * doc/md.texi (Machine Constraints): Correct the meaning of
3998         constraints related to floating-point registers on SPARC.
3999
4000 2003-06-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
4001             Paolo Bonzini  <bonzini@gnu.org>
4002
4003         PR target/10663
4004         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
4005         assembler and linker output to /dev/null.
4006         Use a 'sed' construct instead of 'grep -A1'.
4007         * configure: Regenerate.
4008
4009 2003-06-04  Richard Henderson  <rth@redhat.com>
4010
4011         * config/i386/i386.c (struct ix86_address): Add seg.
4012         (no_seg_address_operand): New.
4013         (ix86_decompose_address): Restructure PLUS loop.  Accept one
4014         UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS.  Adjust ESP swap test
4015         to test for a regnum, not stack_pointer_rtx.
4016         (ix86_address_cost): Reduce cost if non-default segment.
4017         (legitimate_address_p): Remove UNSPEC_TP check.
4018         (get_thread_pointer): Add to_reg argument.  Don't represent
4019         the thread pointer as a memory load.
4020         (legitimize_tls_address): Split out of ...
4021         (legitimize_address): ... here.
4022         (print_operand_address): Handle parts.seg.
4023         (ix86_expand_move): Use legitimize_tls_address.
4024         (ix86_rtx_costs): Handle UNSPEC_TP.
4025         * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
4026         (TARGET_TLS_DIRECT_SEG_REFS): New.
4027         (TARGET_SWITCHES): Add tls-direct-seg-refs.
4028         (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
4029         (PREDICATE_CODES): Add no_seg_address_operand.
4030         * config/i386/i386.md (lea_1): Use it.
4031         (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
4032         (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
4033         * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
4034         * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
4035         * doc/invoke.texi: Add -mtls-direct-seg-refs.
4036
4037 2003-06-04  Mark Mitchell  <mark@codesourcery.com>
4038
4039         * Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
4040         (QMTEST_GPP_TESTS): Use "g++" by default.
4041         (stamp-qmtest): Tweak database creation.
4042         (QMTEST_DIR/context): Update context file format.
4043         (qmtest-g++): Tweak command-line.
4044
4045 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4046
4047         * Makefile.in (varasm.o): Don't set -Wno-error.
4048         * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
4049
4050 2003-06-04  Zack Weinberg  <zack@codesourcery.com>
4051
4052         PR bootstrap/3163
4053         * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
4054         (gcc_AC_FUNC_MMAP_BLACKLIST): New.
4055         * configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
4056         and AC_CHECK_FUNCS lists, respectively.  Use
4057         gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
4058         AC_FUNC_MMAP_FILE.
4059         * configure, config.in: Regenerate.
4060
4061 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4062
4063         * arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
4064         * arm.c (arm_output_function_prologue): Fix format specifiers.
4065         * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
4066         * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
4067         HOST_WIDE_INT_PRINT_DEC.
4068         * vax.c (vax_output_function_prologue): Fix format specifiers.
4069
4070 2003-06-04  Richard Henderson  <rth@redhat.com>
4071
4072         * cse.c (find_best_addr): Consider binary operators even if second
4073         argument is not CONST_INT.
4074
4075 2003-06-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4076
4077         * doc/invoke.texi (max-cse-path-length): Document.
4078
4079 2003-06-04  Richard Henderson  <rth@redhat.com>
4080
4081         * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
4082
4083 2003-06-04  Andrew Pinski <pinskia@physics.uc.edu>
4084
4085         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
4086         Remove semi-colon at the end of the expression.
4087
4088 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4089
4090         * i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
4091         * i370.h (mvs_function_name_length): Likewise.
4092         * i960.h (CONSTANT_ALIGNMENT): Likewise.
4093         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
4094         * pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
4095         * pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
4096         * rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
4097         variable.
4098
4099 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
4100
4101         * config.gcc: Reorganize --with-cpu logic.  Set
4102         configure_default_options according to the default CPU, --with-cpu,
4103         --with-arch, --with-tune, --with-schedule, --with-abi, and
4104         --with-float.  Check for legal values of various options.
4105         * configure.in: Define configure_default_options in configargs.h.
4106         * configure: Regenerated.
4107         * config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
4108         (TARGET_DEFAULT_FLOAT_P): New macros.
4109         * gcc.c (do_option_spec): New function.
4110         (struct default_spec, option_default_specs): New.
4111         (main): Call do_option_spec.
4112         * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
4113         config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
4114         config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
4115
4116         * doc/install.texi: Update --with-cpu documentation.  Mention
4117         --with-arch, --with-schedule, --with-tune, --with-abi, and
4118         --with-float.
4119         * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
4120
4121 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
4122
4123         * config.gcc: Only process --with-cpu logic in the third pass.
4124
4125 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
4126
4127         * config.gcc: Reorganize --with-cpu section.  Remove an
4128         obsolete comment about the default CPU for x86-64.  Fix
4129         a typo for the ep9312.  Update the list of supported PowerPC
4130         CPUs.  Support a limited set of new --with-cpu options
4131         for i386.
4132
4133 2003-06-04  Aldy Hernandez  <aldyh@redhat.com>
4134
4135         * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
4136         complex numbers <= 32 bits into two registers.
4137
4138 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4139
4140         * alpha.c (print_operand_address): Fix format specifier warnings.
4141         * alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
4142         * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
4143         * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
4144         * arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
4145         * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
4146         ASM_OUTPUT_SKIP): Likewise.
4147         * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4148         * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4149         * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
4150         Likewise.
4151         * i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4152         * i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
4153         * i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
4154         * i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4155         * m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
4156         * mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
4157         * pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4158         * ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
4159         * sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4160         * svr3.h (ASM_OUTPUT_COMMON): Likewise.
4161
4162 2003-06-04  J"orn Rennecke <joern.rennecke@superh.com>
4163
4164         * c-decl.c (c_init_decl_processing): Clear input_file_name
4165         while building common nodes.
4166         * dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
4167         Don't add working directory for strings like <built-in> .
4168
4169 2003-06-04  David Edelsohn  <edelsohn@gnu.org>
4170
4171         * doc/install.texi (*-ibm-aix*): Native as and ld required
4172         to bootstrap on AIX 5L.
4173
4174 2003-06-04  Richard Henderson  <rth@redhat.com>
4175
4176         * c-common.c (handle_cleanup_attribute): New.
4177         (c_common_attributes): Add it.
4178         * c-decl.c (finish_decl): Honor the cleanup attribute.
4179         * doc/extend.texi (Variable Attributes): Document it.
4180
4181         * unwind-c.c: New file.
4182         * Makefile.in (LIB2ADDEH): Add it.
4183         * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
4184         config/ia64/t-ia64: Likewise.
4185
4186 2003-06-04  Jakub Jelinek  <jakub@redhat.com>
4187
4188         * function.c (trampolines_created): New variable.
4189         (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
4190         * function.h (trampolines_created): Add.
4191         * config/s390/linux.h (ASM_FILE_END): Define.
4192         * config/alpha/linux-elf.h (ASM_FILE_END): Define.
4193         * config/m68k/linux.h (ASM_FILE_END): Define.
4194         * config/rs6000/linux.h (ASM_FILE_END): Define.
4195         * config/rs6000/linux64.h (ASM_FILE_END): Define.
4196         * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
4197         * config/sparc/linux.h (ASM_FILE_END): Define.
4198         * config/sparc/linux64.h (ASM_FILE_END): Define.
4199         * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
4200         * config/i386/linux.h (SUBTARGET_FILE_END): Define.
4201         * config/i386/linux64.h (SUBTARGET_FILE_END): Define.
4202
4203 Wed Jun  4 18:39:33 CEST 2003  Jan Hubicka  <jh@suse.cz>
4204
4205         * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
4206         (ix86_reorg): Use it.
4207         * i386.md (align): New insn pattern.
4208
4209 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4210
4211         * toplev.c (rest_of_type_compilation): Fix typo.
4212
4213 2003-06-04  Jakub Jelinek  <jakub@redhat.com>
4214             Alan Modra  <amodra@bigpond.net.au>
4215
4216         * config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
4217         * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
4218         * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
4219         * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
4220         * config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
4221         * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
4222         (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
4223         * config/rs6000/rs6000.c (output_profile_hook): Likewise.
4224
4225         * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
4226         Pass it to $gcc_cv_as.
4227         * configure: Rebuilt.
4228
4229         * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
4230         (print_operand): Allow TARGET_AIX to be non-constant.
4231         (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
4232         Define unconditionally.
4233         (rs6000_elf_declare_function_name): New function.
4234         * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
4235         non-constant.
4236         * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
4237         to 1.
4238         (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
4239         [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
4240         is defined.
4241         (TARGET_AIX): Define to 1 if TARGET_64BIT.
4242         (PROCESSOR_DEFAULT): Remove.
4243         (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
4244         INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
4245         [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
4246         (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
4247         -m32 and -m64.
4248         (MULTILIB_DEFAULTS): Define.
4249         (SUBSUBTARGET_EXTRA_SPECS): Define.
4250         (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
4251         (TARGET_TOC): Define only if !RS6000_BI_ARCH.
4252         (TARGET_NO_TOC): Remove.
4253         [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
4254         TARGET_PROTOTYPE): Define to 0.
4255         (NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
4256         (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
4257         (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
4258         if !TARGET_64BIT.
4259         (USER_LABEL_PREFIX): Remove.
4260         (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
4261         (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
4262         if TARGET_64BIT.
4263         (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
4264         (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
4265         (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
4266         (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
4267         (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
4268         (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
4269         TARGET_64BIT.
4270         (RS6000_CALL_GLUE): Likewise.
4271         (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
4272         RESTORE_FP_SUFFIX): Likewise.
4273         (ASM_DECLARE_FUNCTION_NAME): Remove.
4274         (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
4275         DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
4276         name if TARGET_64BIT.
4277         (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
4278         !TARGET_64BIT.
4279         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
4280         (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
4281         (DRAFT_V4_STRUCT_RET): Define.
4282         (SIGNAL_FRAMESIZE): New enum value.
4283         (MD_FALLBACK_FRAME_STATE_FOR): Define.
4284         * config/rs6000/default64.h: New file.
4285         * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
4286         options.
4287         (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
4288         to RS6000_ABI_NAME.  Only disallow mixing of -fPIC with -mcall-aixdesc
4289         if !TARGET_64BIT.
4290         [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
4291         (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
4292         function.
4293         (TARGET_OS_SYSV_CPP_BUILTINS): Define.
4294         (TARGET_OS_CPP_BUILTINS): Use it.
4295         (CPP_SYSV_SPEC): Remove.
4296         (CPP_SPEC): Remove cpp_sysv.
4297         (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
4298         Add SUBSUBTARGET_EXTRA_SPECS.
4299         (SUBSUBTARGET_EXTRA_SPECS): Define.
4300         * config/rs6000/biarch64.h: New file.
4301         * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
4302         New prototype.
4303         * config/rs6000/x-linux64: New file.
4304         * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
4305         multilibs.
4306         * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
4307         * config/rs6000/eabi-cn.asm: Likewise.
4308         * config/rs6000/tramp.asm: Likewise.
4309         * config/rs6000/sol-ci.asm: Likewise.
4310         * config/rs6000/sol-cn.asm: Likewise.
4311         * config/rs6000/linux.h (TARGET_64BIT): Define to 0.
4312         (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
4313         * config/rs6000/ppc-asm.h: Move __powerpc64__ section before
4314         _CALL_AIXDESC section.
4315         * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
4316         defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
4317         or default32.
4318
4319 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
4320
4321         * config.gcc: Revert accidentally committed ARM changes.
4322
4323 2003-06-04  Roger Sayle  <roger@eyesopen.com>
4324
4325         * builtins.c (dconstpi, dconste): New mathematical constants.
4326         (init_builtin_dconsts): New function to initialize dconstpi
4327         and dconste.
4328         (fold_builtin): Optimize exp(1.0) = e.  Evaluate exp(x) at
4329         compile time with -ffast-math when x is an integer constant.
4330         Optimize tan(0.0) = 0.0.  Optimize atan(0.0) = 0.0,
4331         atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
4332
4333 2003-06-04  Roger Sayle  <roger@eyesopen.com>
4334
4335         * calls.c (expand_call): Avoid calling pure or const functions
4336         when the result is ignored (or void) and none of the arguments
4337         are volatile.  Move warning diagnostic earlier in function.
4338
4339 2003-06-04  Andreas Jaeger  <aj@suse.de>
4340
4341         * system.h: Do not poison TDESC_SECTION_ASM_OP,
4342         RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
4343
4344 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4345
4346         * final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
4347         optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
4348         handle %ll, optimize regular character case.
4349
4350 2003-06-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4351
4352         * Makefile.in (cse.o): Add params.h dependency.
4353         * cse.c: Include params.h.
4354         (PATHLENGTH): Removed.
4355         (struct cse_basic_block_data): Make path array dynamic.
4356         (cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
4357         of PATHLENGTH.
4358         (cse_main, cse_basic_block): Allocate path array.
4359         * params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
4360
4361 Wed Jun  4 09:49:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
4362
4363         * i386.c (ix86_reorg): Replace the jump instead of adding nop.
4364         * i386.md (UNSPEC_REP): New constant.
4365         (return_internal_long): New pattern.
4366
4367 2003-06-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
4368
4369         PR optimization/11018
4370         * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
4371         consistently to decide whether the scratch register is really
4372         required.
4373
4374 2003-06-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
4375
4376         PR optimization/10876
4377         * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
4378         new 'O' constraint for constant 4096.
4379         (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
4380         * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
4381         Do not transform into MINUS insn for constant 4096.
4382         (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
4383         for constant 4096 as third operand.
4384         (addsi3 expander): Remove.
4385         (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
4386         new alternative for constant 4096 as third operand.
4387         (subdi3 expander): Do not transform into PLUS insn for constant 4096.
4388         (*subdi3_sp64 insn): Add new alternative for constant 4096 as third
4389         operand.
4390         (subsi3 expander): Remove.
4391         (*subsi3 insn): Rename into 'subsi3'. Add new alternative for
4392         constant 4096 as third operand.
4393         * doc/md.texi (Machine Constraints): Document new 'O' constraint for
4394         the SPARC port.
4395
4396 2003-06-03  Chris Demetriou  <cgd@broadcom.com>
4397
4398         * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
4399
4400 2003-06-04  Andreas Jaeger  <aj@suse.de>
4401
4402         * config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
4403
4404         * config/i386/i386.c (ix86_expand_prologue): Do not use
4405         SUBTARGET_PROLOGUE.
4406
4407         * system.h: Poision SUBTARGET_PROLOGUE.
4408
4409         * config/arm/arm-protos.h: Remove unused rdate_section prototype.
4410
4411         * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
4412         dependend code.
4413
4414         * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
4415
4416         * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
4417         INSN_CACHE_LINE_WIDTH.
4418
4419         * libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
4420         (__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
4421         INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
4422
4423         * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
4424         INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
4425
4426         * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
4427         (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
4428         (dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
4429         (dbxout_block): Remove usage of DBX_LBRAC_FIRST.
4430         (dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
4431         (dbxout_init): Remove test for DBX_WORKING_DIRECTORY.
4432
4433         * doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
4434         DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
4435         DBX_WORKING_DIRECTORY.
4436
4437         * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
4438         DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
4439
4440         * config/frv/frv-protos.h: Remove unused const_section
4441         declaration.
4442         * config/vax/vax-protos.h: Likewise.
4443
4444         * output.h: Remove CONST_SECTION_ASM_OP usage.
4445
4446         * system.h: Poison CONST_SECTION_ASM_OP.
4447
4448         * crtstuff.c (__do_global_dtors_aux): Remove usage of
4449         CRT_GET_RFIB_TEXT.
4450         (frame_dummy): Likewise.
4451         * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
4452         * system.h: Poison CRT_GET_RFIB_TEXT.
4453
4454         * collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
4455
4456         * fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
4457         (write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code.
4458         (recognized_function): Likewise.
4459         (read_scan_file): Likewise.
4460
4461 2003-06-03  Roger Sayle  <roger@eyesopen.com>
4462
4463         * optabs.c (expand_binop): Optimize complex multiplication for
4464         the case of squaring a complex argument.
4465
4466 2003-06-03  Roger Sayle  <roger@eyesopen.com>
4467
4468         * optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
4469         non-volatile operands of binary operations.
4470         (prepare_cmp_insn): Likewise.
4471
4472 2003-06-03  Roger Sayle  <roger@eyesopen.com>
4473
4474         * varasm.c (force_const_mem): Handle alignment of constants not
4475         representable as a type in the front-end language.
4476
4477 2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
4478
4479         * flow.c (initialize_uninitialized_subregs): Use
4480         emit_move_insn instead of emitting a hardcoded move.
4481
4482 2003-06-03  Richard Henderson  <rth@redhat.com>
4483
4484         * optabs.c (expand_abs_nojump): Split out from ...
4485         (expand_abs): ... here.
4486         * optabs.h (expand_abs_nojump): Declare.
4487         * ifcvt.c: (noce_try_abs): Use expand_abs_nojump.
4488         * Makefile.in (ifcvt.o): Depend on optabs.h.
4489
4490 2003-06-03  Alan Modra  <amodra@bigpond.net.au>
4491
4492         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
4493
4494 2003-06-03  Jason Thorpe  <thorpej@wasabisystems.com>
4495
4496         * config.gcc (default_use_cxa_atexit): New variable, defaults to no.
4497         (*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
4498         to yes.
4499         * configure.in: Allow default_use_cxa_atexit to determine the
4500         value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
4501         disabled.
4502         * configure: Regenerate.
4503
4504 2003-06-03  Douglas B Rupp  <rupp@gnat.com>
4505
4506         * Makefile.in (TEXI_GCC_FILES): Remove vms.texi entry.
4507         * doc/gcc.texi: Remove vms.texi section.
4508         * doc/vms.texi: Remove obsolete file.
4509
4510 2003-05-23  J"orn Rennecke <joern.rennecke@superh.com>
4511
4512         * configure.in (inhibit_libc): Don't define when configuring
4513         with --with-newlib --with-headers.
4514         * configure: Regenerate.
4515
4516         * t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules.
4517
4518 2003-06-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4519
4520         * configure.in (gcc_cv_as_hidden): Disable .hidden completely on
4521         IRIX 6 without GNU ld.
4522         * configure: Regenerate.
4523
4524 2003-06-03  Roger Sayle  <roger@eyesopen.com>
4525
4526         * expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
4527         of a complex number rather than invoke mov_optab directly.
4528
4529 2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
4530
4531         * combine.c (simplify_set): Don't move a subreg in SET_SRC to
4532         SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
4533
4534 2003-06-03  Nathanael Nerode  <neroden@gcc.gnu.org>
4535
4536         * config/i386/x86-64.h: Remove two target-independent comments;
4537          replace "GNU CC" with "GCC".
4538
4539 2003-06-03  Anthony Green  <green@redhat.com>
4540
4541         * config/frv/t-frv (EXTRA_HEADERS): Remove media.h
4542
4543 2003-06-03  Roger Sayle  <roger@eyesopen.com>
4544
4545         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
4546         New builtins representing ISO C99's cabs, cabsf and cabsl.
4547         * builtins.c (expand_builtin_fabs): New function.
4548         (expand_builtin_cabs): New function.
4549         (expand_builtin): Expand BUILT_IN_FABS{,F,L} and BUILT_IN_CABS{,F,L}
4550         using expand_builtin_fabs and expand_builtin_cabs respectively.
4551
4552         * doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
4553
4554 2003-06-03  Aldy Hernandez  <aldyh@redhat.com>
4555
4556         * function.c (assign_parms): Split complex arguments.
4557
4558         * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
4559
4560         * expr.h (SPLIT_COMPLEX_ARGS): Define.
4561         (split_complex_types): Protoize.
4562         (split_complex_values): Protoize.
4563
4564         * calls.c (expand_call): Split complex arguments on architectures
4565         that require it.
4566         (split_complex_values): New.
4567         (split_complex_types): New.
4568
4569         * config/rs6000/rs6000.c (rs6000_libcall_value): New.
4570         (rs6000_function_value): Handle complex values on AIX.
4571         (rs6000_complex_function_value): New.
4572
4573         * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
4574
4575         * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
4576         (SPLIT_COMPLEX_ARGS): New.
4577
4578 2003-06-03  Jakub Jelinek  <jakub@redhat.com>
4579
4580         * configure.in (HAVE_LD_PIE): Check for ld -pie.
4581         * config.in: Rebuilt.
4582         * configure: Rebuilt.
4583         * toplev.c (flag_pie, flag_shlib): New variables.
4584         (f_options): Add -fpie and -fPIE.
4585         (parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
4586         Set flag_shlib if flag_pic and not -fpie/-fPIE.
4587         * flags.h (flag_pic, flag_shlib): Add.
4588         * varasm.c (default_binds_local_p): Use flag_shlib instead of
4589         flag_pic.
4590         * gcc.c (LINK_PIE_SPEC): Define.
4591         (LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
4592         (option_map): Add --pie -> -pie mapping.
4593         * config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
4594         and -fPIE the same way as -fPIC.
4595         * config/openbsd.h (ASM_SPEC): Likewise.
4596         * config/frv/frv.h (ASM_SPEC): Likewise.
4597         * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
4598         * config/arm/semi.h (ASM_SPEC): Likewise.
4599         * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
4600         * config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
4601         * config/i386/beos-elf.h (CC1_SPEC): Likewise.
4602         * config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
4603         * config/m68k/linux.h (CPP_SPEC): Likewise.
4604         * config/m68k/netbsd.h (ASM_SPEC): Likewise.
4605         * config/m68k/openbsd.h (ASM_SPEC): Likewise.
4606         * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
4607         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
4608         * config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
4609         * config/pa/pa-linux.h (CPP_SPEC): Likewise.
4610         * config/netbsd-aout.h (ASM_SPEC): Likewise.
4611         * config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
4612         * config/rs6000/vxworks.h (CPP_SPEC): Likewise.
4613         * config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
4614         * config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
4615         * config/sparc/sparc.h (ASM_SPEC): Likewise.
4616         * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
4617         * config/sparc/sysv4.h (ASM_SPEC): Likewise.
4618         * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
4619         * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
4620         * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
4621         * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
4622         Simplify.
4623         * config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
4624         * config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
4625         * config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
4626         * config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
4627         * config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
4628         * config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
4629         * config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
4630         * doc/invoke.texi: Document -pie, -fpie and -fPIE options.
4631
4632 2003-06-03  Jakub Jelinek  <jakub@redhat.com>
4633
4634         * builtins.c (expand_builtin_memcpy): Remove endp argument and endp
4635         != 0 handling.  Pass 0 to store_by_pieces.
4636         (expand_builtin_mempcpy): Add endp argument.  Don't call
4637         expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
4638         directly.  If ignoring result, only do expand_call.
4639         (expand_builtin_stpcpy): Likewise.  Call expand_builtin_mempcpy
4640         otherwise.
4641         (expand_builtin_strncpy, expand_builtin_memset): Adjust
4642         store_by_pices callers.
4643         (expand_builtin): Adjust expand_builtin_memcpy and
4644         expand_builtin_mempcpy callers.
4645         * expr.c (can_move_by_pieces): New function.
4646         (move_by_pieces): Add endp argument, return to resp. memory at end
4647         or one byte earlier depending on endp.
4648         (store_by_pieces): Likewise.
4649         (emit_block_move): Adjust call to move_by_pieces.
4650         (emit_push_insn): Adjust move_by_pieces caller.
4651         * expr.h (can_move_by_pieces): New prototype.
4652         (store_by_pieces): Adjust prototypes.
4653         * rtl.h (move_by_pieces): Adjust prototype.
4654         * config/mips/mips.c (expand_block_move): Adjust move_by_pieces
4655         caller.
4656
4657 2003-06-03  Ben Elliston  <bje@wasabisystems.com>
4658
4659         * doc/md.texi (Processor pipeline description): Improve wording.
4660
4661 2003-06-03  Neil Booth  <neil@daikokuya.co.uk>
4662
4663         * c-opts.c (c_common_handle_option): New, pulled out of
4664         c_common_decode_option.  Substitute uses of argv.
4665         (c_common_decode_option): Broken into two.
4666
4667 2003-06-02  Roger Sayle  <roger@eyesopen.com>
4668             Zack Weinberg  <zack@codesourcery.com>
4669
4670         * emit-rtl.c (gen_complex_constant_part):  Remove unnecessary
4671         test of TREE_CONSTANT_POOL_ADDRESS_P.
4672
4673 2003-06-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4674
4675         * mips.c: Don't include output.h twice.
4676         * stormy16.c: Likewise.
4677         * xtensa.c: Likewise.
4678         * output.h: Protect against multiple inclusion.
4679
4680 2003-06-02  J"orn Rennecke <joern.rennecke@superh.com>
4681
4682         * sh.h (OLD_ARG_MODE): New macro.
4683         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
4684         (FUNCTION_ARG_1): Break out of:
4685         (FUNCTION_ARG).  Use OLD_ARG_MODE.
4686
4687 2003-06-02  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
4688
4689         * gcc/config.gcc Add support multilib parts for m32rx processor.
4690
4691 2003-06-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4692
4693         * Makefile.in (c-options.c): Pass in $(AWK) to opts.sh.
4694         (mostlyclean): Delete c-options.c and c-options.h.
4695
4696 2003-06-02  Neil Booth  <neil@daikokuya.co.uk>
4697
4698         * c-opts.c (CL_REJECT_NEGATIVE): New.
4699         (c_common_decode_option): Update to use it.
4700         * c.opt: Update documentation; use RejectNegative.
4701         * opts.sh: Handle RejectNegative.
4702
4703 2003-06-01  Zack Weinberg  <zack@codesourcery.com>
4704
4705         * ggc-page.c (init_ggc): Give better diagnostics on failure to
4706         open /dev/zero.
4707         * toplev.c (crash_signal): Reset handling for received signal
4708         to SIG_DFL.
4709
4710 2003-06-02  Ben Elliston  <bje@wasabisystems.com>
4711
4712         * config/arm/arm.c (arm_use_dfa_pipeline_interface): Declare.
4713         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define if not already.
4714         (arm_use_dfa_pipeline_interface): Implement.
4715         * config/arm/arm.md (arm): New automaton.
4716         (write_buf): Remove function units; new cpu unit.
4717         (write_blockage): Remove function units; new cpu unit.
4718         (core): Remove function units; new cpu unit.
4719         (r_mem_f_wbuf): New instruction reservation.
4720         (store1_wbuf, store2_wbuf, store3_wbuf, store4_wbuf): Likewise.
4721         (store1_ldsched, store2, store3, store4): Likewise.
4722         (load_ldsched, load_ldsched_xscale, load_or_store): Likewise.
4723         (mult, mult_ldsched, mult_ldsched_strongarm): Likewise.
4724         (multi_cycle, single_cycle): Likewise.
4725         * config/arm/fpa.md (armfp): New automaton.
4726         (fpa): Remove function units; new cpu unit.
4727         (fpa_mem): Remove function unit; new cpu unit.
4728         (fdivx, fdivd, fdivs, fmul, ffmul, farith, ffarith): New reservations.
4729         (r_2_f, f_2_r, f_load, f_store, r_mem_f, f_mem_r): Likewise.
4730
4731 2003-06-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4732
4733         * builtin-attrs.def (ATTR_ASM_FPRINTF): New.
4734         * c-format.c (enum format_type): Add asm_fprintf_format_type.
4735         (NOARGUMENTS, asm_fprintf_length_specs, asm_fprintf_flag_specs,
4736         asm_fprintf_flag_pairs, asm_fprintf_char_table): New.
4737         (format_types_orig): Renamed from format_types.  Add new data.
4738         (format_types): Declare as pointer.
4739         (handle_format_attribute): Move later in file so we have all
4740         necessary declarations.  Add section to capture HOST_WIDE_INT.
4741         * output.h (ATTRIBUTE_ASM_FPRINTF, __gcc_host_wide_int__): New.
4742         (asm_fprintf): Mark with ATTRIBUTE_ASM_FPRINTF.
4743
4744 2003-06-01  Andreas Jaeger  <aj@suse.de>
4745
4746         * doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
4747         ROUND_TYPE_SIZE_UNIT.
4748
4749         * stor-layout.c (finalize_record_size): Remove usages of
4750         ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
4751         (finalize_type_size): Likewise.
4752         (layout_type): Likewise.
4753
4754         * system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
4755
4756         * loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
4757
4758         * config/d30v/d30v.h: Remove text copied from the manual.
4759
4760 2003-06-01  Roger Sayle  <roger@eyesopen.com>
4761             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4762             Geoffrey Keating  <geoffk@apple.com>
4763
4764         * emit-rtl.c (gen_lowpart_common): Handle interpreting integer
4765         constants as condition code values.
4766
4767 2003-06-01  DJ Delorie  <dj@redhat.com>
4768
4769         * cppmacro.c (warn_of_redefinition): Handle cases where the two
4770         definitions have different numbers of tokens.
4771
4772 2003-06-01  Andreas Jaeger  <aj@suse.de>
4773
4774         * gen-protos.c (main): Readd unused attribute for argc.
4775
4776 2003-06-01  Neil Booth  <neil@daikokuya.co.uk>
4777
4778         * Makefile.in (c-options.c, c-options.h): Parallel make safe.
4779         * c.opt: End in blank line.
4780         * opts.sh: Take AWK from environment if available; use C locale.
4781
4782 2003-06-01  Andreas Schwab  <schwab@suse.de>
4783
4784         * config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
4785
4786 2003-06-01  Andreas Jaeger  <aj@suse.de>
4787
4788         * gen-protos.c (main): Revert patch to check for argument.
4789
4790 2003-06-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
4791
4792         PR target/11044
4793         * config/i386/i386.md (length attribute): Set length to 4
4794         for instructions of type "fcmp".
4795
4796 2003-06-01  Andreas Jaeger  <aj@suse.de>
4797
4798         * toplev.c: Use ISO C90 prototypes.
4799
4800         * toplev.h: Use ISO C90 prototypes.
4801
4802         * genrecog.c: Use ISO C90 prototypes.
4803         (nodes_identical): Correct declaration to match prototype.
4804         (maybe_both_true): Likewise.
4805         (merge_trees): Likewise.
4806
4807         * genpeep.c (gen_peephole): Remove #if 0 code.
4808         Use ISO C90 prototypes.
4809
4810         * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
4811         Remove #if 0'ed function simplify_by_alternatives.
4812         (optimize_attrs): Remove #if 0'ed code.
4813         Remove ^L.
4814         Use ISO C90 prototypes.
4815         (make_canonical): Remove #if 0'ed code.
4816         (convert_const_symbol_ref): Remove #if 0'ed function.
4817
4818         * gen-protos.c (main): Check for argument.
4819
4820         * rtl.h: Use ISO C90 prototypes for functions from lists.c.
4821
4822         * params.h: Use ISO C90 prototypes.
4823         * params.c: Likewise.
4824         * intl.c: Likewise.
4825         * intl.h: Likewise.
4826         * lists.c: Likewise.
4827         * errors.c: Likewise.
4828         * errors.h: Likewise.
4829         * gencodes.c: Likewise.
4830         * genpreds.c: Likewise.
4831         * genattr.c: Likewise.
4832         * gen-protos.c: Likewise.
4833         * genflags.c: Likewise
4834         * genconditions.c: Likewise.
4835         * genautomata.c: Likewise.
4836         * gencheck.c: Likewise.
4837         * genconfig.c: Likewise.
4838         * genconstants.c: Likewise.
4839         * genemit.c: Likewise.
4840         * genextract.c: Likewise.
4841         * gengenrtl.c: Likewise.
4842         * gengtype.c: Likewise.
4843         * gengtype.h: Likewise.
4844         * genopinit.c: Likewise.
4845         * genoutput.c: Likewise.
4846         * gensupport.c: Likewise.
4847         * gensupport.h: Likewise.
4848
4849         * sdbout.h: Use ISO C90 prototypes.
4850
4851         * sdbout.c (CONTIN): Removed empty macro.
4852         (sdbout_one_type): Remove CONTIN usages.
4853         Remove ^Ls.
4854         (tag_of_ru_type): Remove #if 0'ed function.
4855         (sdbout_symbol): Remove #if 0'ed code.
4856         (sdbout_one_type): Remove a #if 1.
4857         (sdbout_one_type): Remove #if 0'ed code.
4858         (sdbout_init): Remove RMS_QUICK_HACK_1 code.
4859         Remove PARAMS, use ISO C90 prototypes for all functions.
4860
4861 2003-06-01  Josef Zlomek  <zlomekj@suse.cz>
4862
4863         * rtl.def (CONST_DOUBLE): Update comment.
4864
4865 2003-06-01  Neil Booth  <neil@daikokuya.co.uk>
4866
4867         * opts.sh: Remove path from sort.
4868
4869 2003-06-01  Aldy Hernandez  <aldyh@redhat.com>
4870
4871         PR/9680
4872         * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
4873         TARGET_SPE for SPE_VECTOR_MODE.
4874
4875 2003-05-31  Aldy Hernandez  <aldyh@redhat.com>
4876
4877         * toplev.c (botch): Remove.
4878         (do_abort): Remove.
4879         (set_Wunused): Comment.
4880         (set_Wextra): Comment.
4881         Remove ^L's.
4882         (rest_of_compilation): Factor out common code into functions.
4883         (rest_of_handle_inlining): New.
4884         (rest_of_handle_ssa): New.
4885         (rest_of_handle_cse): New.
4886         (rest_of_handle_gcse): New.
4887         (rest_of_handle_loop_optimize): New.
4888         (rest_of_handle_jump_bypass): New.
4889         (rest_of_handle_sibling_calls): New.
4890         (rest_of_handle_null_pointer): New.
4891         (rest_of_handle_addresof): New.
4892         (rest_of_handle_flow): New.
4893         (rest_of_handle_branch_prob): New.
4894         (rest_of_handle_if_conversion): New.
4895         (rest_of_handle_tracer): New.
4896         (rest_of_handle_loop2): New.
4897         (rest_of_handle_cse2): New.
4898         (rest_of_handle_life): New.
4899         (rest_of_handle_combine): New.
4900         (rest_of_handle_if_after_combine): New.
4901         (rest_of_handle_regmove): New.
4902         (rest_of_handle_sched): New.
4903         (rest_of_handle_old_regalloc): New.
4904         (rest_of_handle_new_regalloc): New.
4905         (rest_of_handle_regrename): New.
4906         (rest_of_handle_reorder_blocks): New.
4907         (rest_of_handle_sched2): New.
4908         (rest_of_handle_new_regalloc): New.
4909         (rest_of_handle_old_regalloc): New.
4910         (rest_of_handle_regrename): New.
4911         (rest_of_handle_reorder_blocks): New.
4912         (rest_of_handle_stack_regs): New.
4913         (rest_of_handle_machine_reorg): New.
4914         (rest_of_handle_delay_slots): New.
4915         (rest_of_handle_final): New.
4916
4917         * toplev.h (botch): Remove prototype.
4918         (do_abort): Same.
4919
4920 2003-05-31  Neil Booth  <neil@daikokuya.co.uk>
4921
4922         * Makefile.in (c-opts.o, c-options.h): Update dependencies.
4923         * c-opts.c: Include c-options.h and c-options.c.
4924         (CL_C_ONLY, CL_OBJC_ONLY, CL_CXX_ONLY, CL_OBJCXX_ONLY):
4925         Rename CL_C, CL_OBJC, CL_CXX, CL_OBJCXX.
4926         (CL_ARG, CL_ALL, COMMAND_LINE_OPTIONS, struct cl_option,
4927         OPT, opt_comp): Remove.
4928         (missing_arg, c_common_init_options, c_common_decode_option,
4929         write_langs): Update for macro redefinitions and enumeration
4930         name changes.
4931         * c.opt, opts.sh: New files.
4932         * doc/passes.texi: Update.
4933
4934 2003-05-31  Andreas Jaeger  <aj@suse.de>
4935
4936         * function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
4937         usage.
4938
4939         * doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
4940
4941         * config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
4942
4943         * system.h: Poison ALLOCATE_TRAMPOLINE.
4944
4945         * doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
4946         * system.h: Poison HANDLE_PRAGMA.
4947
4948 2003-05-31  Kazu Hirata  <kazu@cs.umass.edu>
4949
4950         * doc/invoke.texi: Update dump file names.
4951
4952 2003-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4953
4954         * c-format.c (format_length_info, format_char_info,
4955         format_flag_spec, format_flag_pair, format_kind_info):
4956         De-const-ify structure members.
4957
4958 2003-05-31  Roger Sayle  <roger@eyesopen.com>
4959
4960         * flags.h (flag_wrapv): New flag controlling overflow semantics.
4961         * toplev.c (flag_wrapv): Declare the variable with default false.
4962         (lang_independent_options): New option "-fwrapv" to set the above.
4963
4964         * fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
4965         as x, when signed arithmetic overflow wraps around.
4966         (fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
4967         * loop.c (basic_induction_var): Ignore BIVs that rely on undefined
4968         overflow when flag_wrapv is true.
4969
4970         * doc/invoke.texi: Document new -fwrapv command line option.
4971         * doc/c-tree.texi: Mention that the overflow semantics of
4972         NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR and MULT_EXPR is dependent
4973         upon both flag_wrapv and flag_trapv.
4974
4975 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
4976
4977         * doc/install.texi (mips-sgi-irix5): Add missing
4978         HTML <hr> marker.
4979
4980 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
4981
4982         * doc/md.texi (Machine Constraints): Document
4983         missing SPARC constraints.
4984
4985 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
4986
4987         * doc/md.texi (Automaton pipeline description): Use
4988         "type" instead of "cpu" as the attribute in the examples.
4989
4990 2003-05-30  Stan Shebs  <shebs@apple.com>
4991
4992         * system.h: Poison OBJC_PROLOGUE.
4993
4994 2003-05-30  Roger Sayle  <roger@eyesopen.com>
4995
4996         * emit-rtl.c (gen_complex_constant_part): New function for getting
4997         the constant real or imaginary part of a complex constant.
4998         (gen_realpart): Use it.
4999         (gen_imagpart): Likewise.
5000
5001 2003-05-30  Kazu Hirata  <kazu@cs.umass.edu>
5002
5003         * doc/invoke.texi: Fix typos.
5004         * doc/rtl.texi: Likewise.
5005
5006 2003-05-30  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
5007
5008         * config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
5009         mode.
5010         * config/h8300/crtn.asm: Likewise.
5011         * config/h8300/lib1funcs.asm: Likewise.
5012         * config/h8300/h8300.c (asm_file_start): Likewise.
5013         * config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and
5014         h8300snelf emulations for normal mode.
5015         * config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn
5016         emulations for normal mode.
5017
5018 2003-05-30  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
5019
5020         * config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
5021         true if TARGET_NORMAL_MODE.
5022
5023 2003-05-30  Roger Sayle  <roger@eyesopen.com>
5024
5025         * cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when
5026         making a substitution.
5027         (dead_libcall_p): If directly replacing a libcall with a
5028         constant value produces an invalid instruction, also try forcing
5029         the constant into the constant pool.
5030         * expr.c (emit_move_insn): Add a REG_EQUAL note when it is not
5031         obvious that the source is a constant.
5032         (compress_float_constant): Use set_unique_reg_note to place
5033         REG_EQUAL notes on instructions.
5034
5035 2003-05-30  Eric Christopher  <echristo@redhat.com>
5036
5037         * config/mips/mips.c (extern_list): Add GTY marker.
5038         (extern_head): Separate out definition. Add marker.
5039         (mips_output_external): Use ggc_alloc for extern_list
5040         allocation.
5041         (mips_output_external_libcall): Ditto.
5042
5043 2003-05-30  Florian Weimer  <fw@deneb.enyo.de>
5044
5045         * doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
5046         later.
5047
5048 2003-05-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5049
5050         * vax.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
5051         warnings.
5052         (PRINT_OPERAND): Likewise.
5053
5054 2003-05-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5055
5056         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
5057         -mdebug/-no-mdebug switches ...
5058         (MDEBUG_ASM_SPEC): ... here.
5059         Use only with gas.
5060         (EXTRA_SPECS): Initialize mdebug_asm_spec.
5061
5062 2003-05-29  Matt Kraai  <kraai@alumni.cmu.edu>
5063
5064         * gthr-gnat.c: Remove #undef UNUSED.
5065         (__gnat_default_lock, __gnat_default_unlock): Prototype.
5066         (__gnat_task_lock, __gnat_task_unlock): Make declarations
5067         prototypes.
5068         (__gnat_install_locks): Convert declaration to ISO C90, make
5069         parameter declarations prototypes, and remove blank line.
5070         * gthr-gnat.h (__gnat_install_locks): Make parameter
5071         declarations prototypes.
5072
5073 2003-05-29  Jason Merrill  <jason@redhat.com>
5074
5075         * Makefile.in (unstrap): Remove stage_last after make unstage1.
5076
5077 2003-05-29  Roger Sayle  <roger@eyesopen.com>
5078
5079         * mips-tfile.c (PAGE_SIZE): Increase page size to 32K.
5080
5081 2003-05-29  Roger Sayle  <roger@eyesopen.com>
5082             Kaveh Ghazi  <ghazi@caip.rutgers.edu>
5083
5084         PR bootstrap/10169
5085         * mips-tfile.c (main): Use getopt_long instead of getopt.
5086         Add new command line option --version to display version.
5087         Treat --verbose like -v to report a single line version.
5088         (options): New global variable for getopt_long.
5089         * mips-tdump.c (main): Use getopt_long instead of getopt.
5090         New command line options -v, --version and -verbose to display
5091         the program version number (to match mips-tfile's behavior).
5092         (options): New global variable for getopt_long.
5093
5094         * gcov.c (options): Zero-terminate getopt_long array.
5095         * gcov-dump.c (options): Likewise.
5096
5097         * Makefile.in (mips-tdump.o): Add dependency on version.h.
5098
5099 2003-05-29  Stan Shebs  <shebs@apple.com>
5100
5101         Remove OBJC_PROLOGUE everywhere.
5102         * objc/objc-act.c (finish_objc): Remove use of OBJC_PROLOGUE.
5103         * config/avr/avr.h: Remove no-op ref to OBJC_PROLOGUE.
5104         * config/d30v/d30v.h: Similarly.
5105         * config/ip2k/ip2k.h: Similarly.
5106         * doc/tm.texi: Remove doc of OBJC_PROLOGUE.
5107
5108 2003-05-29  Roger Sayle  <roger@eyesopen.com>
5109
5110         * c-semantics.c (genrtl_do_stmt_1): New function split out from...
5111         (gen_rtl_do_stmt): ... here.  Call genrtl_do_stmt_1.
5112         (expand_unreachable_stmt): Expand unreachable while statements
5113         using genrtl_do_stmt_1.
5114
5115 2003-05-29  Richard Sandiford  <rsandifo@redhat.com>
5116
5117         * config/mips/mips-protos.h (mips_output_load_label): Declare.
5118         * config/mips/mips.c (mips_output_load_label): New function.
5119         (mips_output_conditional_branch): Use it.
5120         * config/mips/mips.md (jump): And here.
5121
5122 2003-05-28  Bob Wilson  <bob.wilson@acm.org>
5123
5124         * config/xtensa/xtensa-protos.h (smalloffset_double_mem_p): Delete.
5125         (xtensa_split_operand_pair): New proto.
5126         * config/xtensa/xtensa.c (move_operand): Handle DFmode and DImode.
5127         (smalloffset_double_mem_p): Delete.
5128         (gen_float_relational, printx, print_operand, xtensa_va_arg):
5129         Fix whitespace.
5130         (xtensa_split_operand_pair): New.
5131         (xtensa_dbx_register_number): Fix formatting.
5132         * config/xtensa/xtensa.h (EXTRA_CONSTRAINT): Remove 'S' constraint.
5133         * config/xtensa/xtensa.md (movdi, movdf): Force constants to memory
5134         instead of splitting them into single-word moves.  Remove unnecessary
5135         checks for reload_in_progress and reload_completed.
5136         (movdi_internal, movdf_internal): Change to post-reload split patterns.
5137         Add constraints to allow constant operands.
5138         (movsf_internal): Allow CONST_INT operands.
5139
5140 2003-05-27  Danny Smith   <dannysmith@users.sourceforge.net>
5141
5142         * config.gcc (i[34567]86-*-mingw32*): Add host makefile
5143         fragment i386/x-mingw32.
5144         * config/i386/x-mingw32: New file. Make local_includedir
5145         relative to EXEC_PREFIX.
5146
5147 2003-05-27  Aaron W. LaFramboise  <awlaframboise@aol.com>
5148
5149         * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Update.
5150         (MD_STARTFILE_PREFIX): Define.
5151
5152 2003-05-27  Denis Chertykov  <denisc@overta.ru>
5153
5154         * cselib.c (cselib_invalidate_regno): Abort if hardreg have a
5155         VOIDmode.
5156         * cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
5157         call of cselib_invalidate_regno.
5158
5159 2003-05-28  Daniel Jacobowitz  <drow@mvista.com>
5160
5161         * config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
5162         -lthread to -lpthread.
5163
5164 2003-05-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
5165             Bruce Korb  <bkorb@gnu.org>
5166             Arno Klaassen  <arno@heho.snv.jussieu.fr>
5167
5168         * fixinc/inclhack.def: Add missing declaration of getpagesize()
5169         to unistd.h on Solaris 2.5.1.
5170         Fix prototype of recv() and send() in sys/socket.h on
5171         Solaris 2.5.1 and 2.6.
5172         * fixinc/tests/base/unistd.h: Add solaris_unistd fix test.
5173         * fixinc/tests/base/sys/socket.h: Add solaris_socket test.
5174         * fixinc/check.tpl: Use 'diff -c', not 'diff -u'.
5175         * fixinc/fixincl.x: Regenerate.
5176
5177 2003-05-27  Jason Merrill  <jason@redhat.com>
5178
5179         * tree.c (expr_first, expr_length): New fns.
5180         * tree.h: Declare them.
5181
5182         * tree.c (iterative_hash_expr): Hash commutative expressions
5183         consistently.
5184
5185 2003-05-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5186
5187         * tree.h (contains_placeholder_p): Now returns bool.
5188         (CONTAINS_PLACEHOLDER_P): New macro.
5189         (type_contains_placeholder_p): New function.
5190         * tree.c (save_expr): Remove code avoiding folding COMPONENT_REF.
5191         (contains_placeholder_p): Now returns bool.
5192         Rework to use CONTAINS_PLACEHOLDER_P macro.
5193         (type_contains_placeholder_p): New function.
5194         * fold-const.c (fold, case COMPONENT_REF): Don't fold if
5195         type_contains_placeholder_p.
5196         (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
5197         Use CONTAINS_PLACEHOLDER_P macro.
5198         * builtins.c (fold_builtin): Likewise.
5199         * calls.c (initialize_argument_information): Likewise.
5200         * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
5201         * explow.c (expr_size): Likewise.
5202         * expr.c (store_constructor, get_inner_reference): Likewise.
5203         * function.c (assign_parms): Likewise.
5204         * stor-layout.c (variable_size): Likewise.
5205
5206 2003-05-25  Gabriel Dos Reis <gdr@integrable-solutions.net>
5207
5208         * diagnostic.h (output_verbatim, verbatim):  Remove  printf
5209         attribute.
5210
5211 2003-05-25  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5212
5213         * doc/contrib.texi (Contributors): Update Kean Johnston.
5214
5215 2003-05-24  David Edelsohn  <edelsohn@gnu.org>
5216
5217         * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add length attribute.
5218
5219 2003-05-24  Nathanael Nerode  <neroden@gcc.gnu.org>
5220
5221         * config/rs6000/440.md, config/stormy16/stormy16protos.h,
5222         config/stormy16/stormy16.c, config/stormy16/stormy16.md:
5223         Replace "GNU CC" with "GCC".
5224
5225 2003-05-24  Matt Kraai  <kraai@alumni.cmu.edu>
5226
5227         * builtins.c (expand_builtin_memcpy): Use mode of dest_addr for
5228         intermediate computation.
5229
5230 2003-05-23  Eric Christopher  <echristo@redhat.com>
5231
5232         * config/mips/mips.md (clzsi, clzdi): New patterns.
5233
5234 2003-05-23  Geoffrey Keating  <geoffk@apple.com>
5235
5236         * gcc.c (default_compilers): Use -o to specify preprocessor's output
5237         file.  Make -no-integrated-cpp work when building PCH files.
5238         * objc/lang-specs.h: Likewise.
5239
5240 2003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>
5241
5242         * fixinc/Makefile.in: Correct description.
5243         * fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
5244         fixinc/fixlib.c, fixinc/fixlib.h, fixinc/fixtests.c,
5245         fixinc/genfixes: Replace "GNU CC" with "GCC".
5246
5247 2003-05-23  Roger Sayle  <roger@eyesopen.com>
5248
5249         * builtins.def: Define atan, atanf, atanl, tan, tanf and tanl
5250         builtin functions (and their __builtin_* variants).
5251         * builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}.
5252         (expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not
5253         optimizing.
5254
5255         * doc/extend.texi: Document new tan and atan builtins, and
5256         their float and long double variants.
5257
5258 2003-05-23  Jason Thorpe  <thorpej@wasabisystems.com>
5259
5260         * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
5261         __sparcv9 in the TARGET_ARCH64 case.
5262
5263 Fri May 23 22:17:32 CEST 2003  Jan Hubicka  <jh@suse.cz>
5264
5265         * i386.c (ix86_reorg): Calls are also jumps.
5266
5267 2003-05-23  J"orn Rennecke <joern.rennecke@superh.com>
5268
5269         * cse.c (count_reg_usage): When processing an INSNs REG_EQUAL
5270         note containing an EXPR_LIST, process all the arguments.
5271
5272 Fri May 23 21:19:31 CEST 2003  Jan Hubicka  <jh@suse.cz>
5273                                Andreas Jaeger  <aj@suse.de>
5274
5275         * i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
5276         do not use assertion.
5277
5278 2003-05-23  Mike Stump  <mrs@apple.com>
5279
5280         * tlink.c (scan_linker_output): Add support for darwin linker, as it
5281         emits unresolved symbols one per line, consuming the entire line.
5282
5283 2003-05-23  Larin Hennessy <larin@science.oregonstate.edu>
5284             Zack Weinberg <zack@codesourcery.com>
5285
5286         * explow.c (allocate_dynamic_stack_space): Remove call to gen_probe.
5287         * config/m68k/m68k.c (m68k_output_function_prologue):
5288         Remove code under #if NEED_PROBE.
5289         * config/m68k/m68k.h: Don't define NEED_PROBE.
5290         * config/m68k/m68k.md: Remove "probe" insn.
5291         * doc/md.texi: Remove documentation of "probe" pattern.
5292
5293 2003-05-23  Dorit Naishlos  <gcchaifa@il.ibm.com>
5294
5295         * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add branch attribute.
5296
5297 2003-05-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
5298
5299         * doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
5300         Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
5301
5302 2003-05-22  Roger Sayle  <roger@eyesopen.com>
5303
5304         * real.c (real_maxval): New function to return the largest finite
5305         value representable in a given mode (i.e. FLT_MAX and DBL_MAX).
5306         * real.h (real_maxval): Prototype here.
5307         * fold-const.c (fold_inf_compare): Transform comparisons against
5308         +-Infinity into comparisons against DBL_MAX (or equivalent).
5309
5310 2003-05-22  Mike Stump  <mrs@apple.com>
5311
5312         * config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
5313         default.
5314
5315 2003-05-22  DJ Delorie  <dj@redhat.com>
5316
5317         * calls.c (expand_call): If the arg block is going to grow
5318         downward, we need argblock to point to the top of the block,
5319         not the bottom.
5320
5321 2003-05-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5322
5323         * c-decl.c (duplicate_decls): Test DECL for ERROR_MARK.
5324
5325         * expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
5326         constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.
5327
5328 2003-05-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5329
5330         * m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.
5331         * m68k.c: Likewise.
5332         * m68k.h: Likewise.
5333
5334 2003-05-22  Zack Weinberg  <zack@codesourcery.com>
5335
5336         PR other/2873
5337         * fixinc/inclhack.def (avoid_wchar_t_type): Add bypass
5338         expressions to prevent triggering on recent curses.h,
5339         linux/nls.h, or X11/Xlib.h.
5340         (stdio_va_list): Add _G_va_list to bypass pattern.
5341         (strict_ansi_not): Add bypass pattern for __SCO_VERSION__.
5342         * fixinc/fixincl.x: Regenerate.
5343
5344 2003-05-22 Rekha Bhintade <rekhad@kpitcummins.com>
5345
5346         * gcc/config/sh/sh.h (TARGET_SWITCHES): Display all the target
5347         switches when --target-help option is specified.
5348
5349 2003-05-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
5350
5351         PR bootstrap/10805
5352         * doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
5353         failure with Sun assembler 5.0 Alpha 03/27/98.
5354
5355 2003-05-21  Loren James Rittle  <ljrittle@acm.org>
5356
5357         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
5358         to match system compiler convention.
5359
5360 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
5361
5362         * gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for nonzero
5363         value, not just if defined.
5364         Update copyright year.
5365
5366 2003-05-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5367
5368         PR target/6428
5369         * pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling
5370         directories from LIB_SPEC to LINK_SPEC.  Emit warning if `-p' or `-pg'
5371         option is used without `-static'.
5372         * pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise.
5373         * pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise.
5374
5375 2003-05-21  Bob Wilson  <bob.wilson@acm.org>
5376
5377         * config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
5378         TARGET_SERIALIZE_VOLATILE): Delete.
5379         (MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
5380         (TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
5381         (TARGET_SWITCHES): Remove "-mserialize-volatile" and
5382         "-mno-serialize-volatile".
5383         * config/xtensa/xtensa.c (print_operand): Remove checks of
5384         TARGET_SERIALIZE_VOLATILE.
5385         * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
5386         * doc/invoke.texi (Option Summary, Xtensa Options): Remove
5387         "-mserialize-volatile" and "-mno-serialize-volatile" options.
5388
5389 2003-05-21  Nathan Sidwell  <nathan@codesourcery.com>
5390
5391         * c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
5392         (nested_function): Likewise.
5393         (notype_nested_function): Likewise.
5394
5395 2003-05-21  Nick Clifton  <nickc@redhat.com>
5396
5397         * config/stormy16/stormy-abi: Update overflow type for
5398         R_XSTORMY16_16 reloc.
5399
5400 2003-05-21  Nathan Sidwell  <nathan@codesourcery.com>
5401
5402         * c-common.h (enum rid): Remove RID_BOUNDED, RID_UNBOUNDED.
5403         * c-parse.in (reswords): Remove __bounded__ and __unbounded__.
5404         (rid_to_yy): Remove RID_BOUNDED, RID_UNBOUNDED slots.
5405         * print-tree.c (print_node): Remove ambient-boundedness.
5406         * tree.h (tree_common): Remove bounded_flag.
5407         (BOUNDED_INDIRECT_YPE_P, BOUNDED_POINTER_TYPE_P,
5408         BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
5409         MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
5410         TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
5411         TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED, TYPE_QUAL_BOUNDED):
5412         Remove.
5413         (TYPE_QUALS): Remove BOUNDED.
5414         (TREE_EXPR_QUALS, TREE_FUNC_QUALS): Remove.
5415         (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
5416         TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
5417         TYPE_AMBIENT_BOUNDEDNESS, MAX_POINTER_DEPT,
5418         VA_LIST_POINTER_DEPTH): Remove.
5419         (struct tree_type): Remove pointer_depth.
5420
5421 2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5422
5423         * c-pretty-print.c (pp_c_integer_literal): Use
5424         HOST_WIDE_INT_PRINT_DOUBLE_HEX.
5425
5426 2003-05-20  Roger Sayle  <roger@eyesopen.com>
5427             Kazu Hirata  <kazu@cs.umass.edu>
5428             Joern Rennecke  <joern.rennecke@superh.com>
5429
5430         * gcse.c (cprop_jump):  Make use of REG_EQUAL notes on both
5431         setcc and jump, if they exist.  If substituted instruction
5432         fails to validate, store current effort in a REG_EQUAL note.
5433         (cprop_insn): Don't attempt further substitutions if the
5434         current instruction has been deleted.
5435         (local_cprop_pass): Likewise.
5436
5437         * jump.c (redirect_jump):  Also update REG_EQUAL note, if
5438         one is attached to the jump instruction.
5439         (invert_jump): Delete REG_EQUAL note on jump, if one exists.
5440
5441 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
5442
5443         PR c++/9738
5444         * config/i386/winnt.c (i386_pe_encode_section_info): Enable
5445         even if not first.
5446
5447 2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5448
5449         * genautomata.c (output_description, output_automaton_units,
5450         output_state_arcs): Add missing specifiers.
5451
5452 2003-05-20  Bob Wilson  <bob.wilson@acm.org>
5453
5454         * config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
5455         (do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
5456         (__mulsi3): Use do_addx* instead of ADDX* instructions.  Formatting.
5457         (nsau): Rename to do_nsau.  Provide alternate version for use when
5458         the NSAU instruction is available.
5459         (__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
5460         (__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
5461         * config/xtensa/xtensa-config.h: Update comments to match binutils.
5462         (XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
5463         * config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
5464         (TARGET_ABS, TARGET_ADDX): Define.
5465         (TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
5466         (TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
5467         * config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
5468         *subx8): Set predicate condition to TARGET_ADDX.
5469         (abssi2): Set predicate condition to TARGET_ABS.
5470         * doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
5471         "-maddx", and "-mno-addx" options.
5472         (Xtensa Options): Likewise.  Also tag some opcode names with @code.
5473
5474 2003-05-20  Kevin Ryde <user42@zip.com.au>
5475             Wolfgang Bangerth <bangerth@dealii.org>
5476
5477         PR/10355
5478         * doc/extend.texi: Put a warning into the documentation
5479         of attribute regparm.
5480
5481 2003-05-20  Jason Merrill  <jason@redhat.com>
5482
5483         * tree.c (expr_last): New fn.
5484         * tree.h: Declare it.
5485         * objc/objc-act (expr_last): Rename to objc_expr_last.
5486
5487 2003-05-20  J"orn Rennecke <joern.rennecke@superh.com>
5488
5489         * sh.c (sh_register_move_cost): Add clase for moving between
5490         FP registers and MAC registers.
5491
5492 2003-05-19  John David Anglin  <dave.anglin@nrc-gnrc.gc.ca>
5493
5494         * pa/milli64.S ($$mulI): Fix typo.
5495
5496 2003-05-19  Matt Kraai  <kraai@alumni.cmu.edu>
5497
5498         * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)
5499         (nonlocal_set_p): Remove initial blank line.
5500         * dwarf2out.c (simple_type_size_in_bits): Likewise.
5501         * et-forest.c (et_forest_create): Likewise.
5502         * explow.c (stabilize): Likewise.
5503         * fix-header.c (write_lbrac): Likewise.
5504         * graph.c (start_fct, node_data): Likewise.
5505         * jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
5506         * rtlanal.c (global_reg_mentioned_p): Likewise.
5507         * tree.c (bit_position): Likewise.
5508
5509 2003-05-19  Alexandre Oliva  <aoliva@redhat.com>
5510
5511         * config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
5512         -lthread to -lpthread.
5513
5514 2003-05-19  Neil Booth  <neil@daikokuya.co.uk>
5515
5516         * c-opts.c (c_common_decode_option): Don't accept dollars
5517         as identifier characters in assembly.
5518         * doc/cpp.texi: Document this.
5519
5520 2003-05-19  Seth Arnold  <sarnold@wirex.com>
5521             Aldy Hernandez  <aldyh@redhat.com>
5522
5523         * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
5524         vrsave_size twice.
5525
5526 2003-05-19  Aldy Hernandez  <aldyh@redhat.com>
5527
5528         * doc/tm.texi (function_arg): Fix typo.
5529
5530 2003-05-19  Matt Austern  <austern@apple.com>
5531
5532         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-offsetof option.
5533         * c-common.h (warn_invalid_offsetof): Declare.
5534         * c-common.c (warn_invalid_offsetof): Define.
5535         * doc/invoke.texi: Document -Winvalid-offsetof.
5536         * testsuite/g++.dg/other/offsetof3.C: New.
5537         * testsuite/g++.dg/other/offsetof4.C: New.
5538
5539 2003-05-19  Kevin B. Hendricks  <kevin.hendricks@sympatico.ca>
5540             David Edelsohn  <edelsohn@gnu.org>
5541
5542         * config/rs6000/rs6000.c (rs6000_alignment_string,
5543         rs6000_alignment_flags): New variables.
5544         (rs6000_parse_alignment_option): New function.
5545         (rs6000_override_options): Call it.
5546         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
5547         (MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
5548         macros.
5549         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
5550         natural alignment if TARGET_NATURAL_ALIGNMENT
5551         (ROUND_TYPE_ALIGN): Always use default record alignment if
5552         TAGET_NATURAL_ALIGNMENT.
5553         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
5554         (ROUND_TYPE_ALIGN): Same.
5555         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
5556         (ROUND_TYPE_ALIGN): Same.
5557         * doc/invoke.texi (Option Summary, PowerPC Options): Document
5558         new options.
5559
5560 2003-05-19  J"orn Rennecke <joern.rennecke@superh.com>
5561
5562         * c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
5563         of a function using ASMSPEC, prepend a star.
5564
5565 2003-05-19  Jason Merrill  <jason@redhat.com>
5566
5567         * tree-inline.c (copy_body_r): Avoid generating &* during inline
5568         substitution.
5569
5570 2003-05-19  Andrew Macleod  <amacleod@redhat.com>
5571
5572         * config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
5573         not mark assignments to the hard frame pointer as being stack
5574         frame related.
5575         (xstormy16_expand_epilogue): Mark adjustments to the stack
5576         pointer as being stack frame related.
5577
5578 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
5579
5580         * config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
5581         ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
5582         (PREDICATE_CODES): Add hilo_operand.
5583         * config/mips/mips.c (hilo_operand): New predicate.
5584         (mips_adjust_insn_length): Account for the number nops that might
5585         be needed to avoid hardware hazards.
5586         * config/mips/mips.md (dslot): Remove attribute.
5587         (hazard): New attribute.
5588         (can_delay): Use it.  Check for calls, branches & jumps.
5589         (muldi3): Use the standard dmult pattern for mips16 code.
5590         (muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
5591
5592 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
5593
5594         * config/mips/mips-protos.h (final_prescan_insn,
5595         mips_count_memory_refs, mips_fill_delay_slot): Remove.
5596         * config/mips/mips.h (delay_type, dslots_load_total,
5597         dslots_load_filled, dslots_jump_total, dslots_jump_filled,
5598         dslots_number_nops, num_refs, mips_load_reg, mips_load_reg2,
5599         mips_load_reg3, mips_load_reg4): Remove.
5600         (MASK_STATS): Remove.
5601         (MASK_EXPLICIT_RELOCS): Reuse its value.
5602         (TARGET_STATS): Remove.
5603         (TARGET_SWITCHES): Turn -mstats and -mno-stats into no-ops.
5604         Warn that -mstats is now ignored.
5605         (FINAL_PRESCAN_INSN): Undefine.
5606         (DBR_OUTPUT_SEQEND): Remove handling of dslot statistics.
5607         (ASM_OUTPUT_REG_POP): Likewise.
5608         * config/mips/mips.c (dslots_load_total, dslots_load_filled,
5609         dslots_jump_total, dslots_jump_filled, dslots_number_nops, num_refs,
5610         mips_load_reg, mips_load_reg2, mips_load_reg3, mips_load_reg4,
5611         mips_fill_delay_slot, mips_count_memory_refs,
5612         final_prescan_insn): Remove.
5613         (output_block_move): Remove calls to mips_count_memory_refs.
5614         (print_operand): Remove printing of #nop for TARGET_STATS.
5615         (mips_output_function_epilogue): Remove TARGET_STATS code.
5616         Reorganize setting of fnnmae.
5617         * config/mips/mips.md: Remove handling of dslot statistics
5618         throughout file.  Change all fcmp patterns into normal asm
5619         templates, removing calls to mips_fill_delay_slot.
5620         * doc/invoke.texi: Remove documentation of -mstats.
5621
5622 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
5623
5624         * config/mips/mips.c (mips_class_max_nregs): Return the number of
5625         words in the mode.
5626
5627 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
5628
5629         * config/mips/mips.c (override_options): Disable explicit
5630         relocs for old ABIs unless using gas.
5631
5632 2003-05-18  Eric Christopher  <echristo@redhat.com>
5633
5634         * config/mips/mips.h: Remove definition of g_switch_value.
5635
5636 2003-05-18  Matt Kraai  <kraai@alumni.cmu.edu>
5637
5638         * flags.h (g_switch_value): Change to an unsigned
5639         HOST_WIDE_INT.
5640         * toplev.c (g_switch_value): Likewise.
5641
5642         * config/alpha/alpha.c (small_symbolic_operand): Remove
5643         g_switch_value cast.
5644         (alpha_in_small_data_p): Cast size to an unsigned
5645         HOST_WIDE_INT.
5646
5647         * config/frv/frv.c (frv_in_small_data_p): Cast size to an
5648         unsigned HOST_WIDE_INT.
5649         * config/frv/frv.h (g_switch_value, g_switch_set): Remove.
5650         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
5651
5652         * config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
5653         unsigned HOST_WIDE_INT.
5654         (m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
5655         * config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
5656         (ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
5657
5658         * config/rs6000/rs6000.c (rs6000_file_start): Use
5659         HOST_WIDE_INT_PRINT_UNSIGNED.
5660         (small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
5661         (rs6000_elf_in_small_data_p): Cast size to unsigned
5662         HOST_WIDE_INT.
5663         * config/rs6000/sysv4.h (g_switch_value, g_switch_set):
5664         Remove.
5665         (SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
5666         g_switch_set.
5667         (ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
5668         g_switch_value cast.
5669
5670 2003-05-18  Roger Sayle  <roger@eyesopen.com>
5671             Zack Weinberg  <zack@codesourcery.com>
5672
5673         PR middle-end/10472
5674         * builtins.c (expand_builtin_memcpy):  Call force_operand on
5675         expressions and use simplify_gen_binary to create the addition.
5676
5677 2003-05-18  Andreas Schwab  <schwab@suse.de>
5678
5679         * config/m68k/m68k.md: Use define_constants for unspec numbers.
5680
5681 2003-05-18  Neil Booth  <neil@daikokuya.co.uk>
5682
5683         * config/sparc/sparc.h: Define sparc for now.
5684 2003-05-18  Nathanael Nerode  <neroden@gcc.gnu.org>
5685
5686         * config.gcc: Clear xm_file, md_file at the beginning of each pass.
5687
5688         * config/stormy16/stormy16.h: Remove about 3000 lines of
5689         target-independent comments.  Update copyright notice.
5690
5691         * doc/collect2.texi: GNU CC -> GCC.
5692         * doc/headerdirs.texi: GNU CC -> GCC.
5693
5694 2003-05-18  Gabriel Dos Reis <gdr@integrable-solutions.net>
5695
5696         * hashtable.h (struct ht_identifier): Add data member "hash_value".
5697         * hashtable.c (ht_lookup): Use it when searching, remember.
5698         (ht_expand): Do not recompute.
5699         * tree.h (IDENTIFIER_HASH_VALUE): New macro.
5700
5701 2003-05-18  Nathan Sidwell  <nathan@codesourcery.com>
5702
5703         * gcov-io.c (gcov_read_bytes): Fix fread thinko.
5704
5705 2003-05-18  Neil Booth  <neil@daikokuya.co.uk>
5706
5707         * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
5708         Default here.
5709         (c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS().
5710         * defaults.h: Don't default TARGET_OS_CPP_BUILTINS here.
5711         * config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__.
5712         * config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h,
5713         config/arm/linux-elf.h, config/arm/rtems-elf.h,
5714         config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h,
5715         config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h,
5716         config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h,
5717         config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h,
5718         config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h,
5719         config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h,
5720         config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h,
5721         config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h,
5722         config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h,
5723         config/sparc/openbsd64.h, config/sparc/sp64-elf.h,
5724         config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h:
5725         Don't define __ELF__.
5726         * config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS):
5727         Define __ELF__.
5728         * doc/cpp.texi: Document __ELF__.
5729         * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS.     *
5730
5731 2003-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5732
5733         * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
5734         always use stdarg.
5735         * c-errors.c (pedwarn_c99): Likewise.
5736         * c-format.c (status_warning): Likewise.
5737         * c-semantics.c (build_stmt): Likewise.
5738         * calls.c (emit_library_call, emit_library_call_value): Likewise.
5739         * collect2.c (notice, fatal_perror, fatal, error): Likewise.
5740         * cpperror.c (cpp_error, cpp_error_with_line): Likewise.
5741         * diagnostic.c (build_message_string, output_printf,
5742         output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
5743         fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
5744         error_with_decl, fnotice): Likewise.
5745         * dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
5746         dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
5747         dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
5748         dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
5749         dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
5750         dw2_asm_output_encoded_addr_rtx): Likewise.
5751         * emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
5752         * errors.c (warning, error, fatal, internal_error): Likewise.
5753         * final.c (output_operand_lossage, asm_fprintf): Likewise.
5754         * fix-header.c (fatal): Likewise.
5755         * gcc.c (fatal, error, notice): Likewise.
5756         * gcov.c (fnotice): Likewise.
5757         * genattrtab.c (attr_rtx, attr_printf): Likewise.
5758         * gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
5759         * gensupport.c (message_with_line): Likewise.
5760         * mips-tfile.c (fatal, error): Likewise.
5761         * protoize.c (notice): Likewise.
5762         * ra-debug.c (ra_debug_msg): Likewise.
5763         * read-rtl.c (fatal_with_file_and_line): Likewise.
5764         * rtl-error.c (error_for_asm, warning_for_asm): Likewise.
5765         * tree.c (build, build_nt, build_function_type_list): Likewise.
5766
5767 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
5768
5769         * defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
5770         * gcc.c (cpp_predefines): Remove.
5771         (cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES.
5772         (static_specs): Remove predefines.
5773         * system.h: Poison CPP_PREDEFINES.
5774         * config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h,
5775         config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES.
5776
5777 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
5778
5779         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h,
5780         config/m68k/m68k.h, config/m68k/m68kemb.h, config/m68k/m68kv4.h,
5781         config/m68k/openbsd.h, config/m68k/rtemself.h: Remove CPP_PREDEFINES,
5782         use TARGET_OS_CPP_BUILTINS and TARGET_CPU_CPP_BUILTINS instead.
5783
5784 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
5785
5786         PR c/9209
5787         * c-common.c, c-common.h (dollars_in_ident): Remove.
5788         * c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true.
5789         (c_common_init_options, c_common_decode_option): Set dollars_in_ident.
5790         * cpphash.h (warned_dollar): Rename warn_dollars.
5791         * cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang)
5792         Permit dollars regardless of -std=.
5793         (post_options): Set warn_dollars.
5794         * cpplex.c (forms_identifier_p): Use warn_dollars.
5795         * config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h:
5796         Remove redundant definitions of DOLLARS_IN_IDENTIFIERS.
5797         * doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi:
5798         Update documentation.
5799
5800 2003-05-17  Andreas Schwab  <schwab@suse.de>
5801
5802         * config/m68k/m68k.c (m68k_output_function_prologue): Use
5803         HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
5804         formatting a HOST_WIDE_INT.
5805         (m68k_output_function_epilogue): Likewise.
5806
5807 2003-05-17  Zack Weinberg  <zack@codesourcery.com>
5808
5809         * doc/install.texi: Remove information about desupported targets.
5810
5811 2003-05-17  Andreas Schwab  <schwab@suse.de>
5812
5813         * config/m68k/coff.h: Remove support for Sun FPA and Sun SKY board.
5814         * config/m68k/linux.h: Likewise.
5815         * config/m68k/m68k-none.h: Likewise.
5816         * config/m68k/netbsd-elf.h: Likewise.
5817         * config/m68k/sgs.h: Likewise.
5818         * config/m68k/m68k.h: Likewise.
5819         * config/m68k/m68k.md: Likewise.
5820         * config/m68k/m68k.c: Likewise.
5821         * doc/md.texi (Machine Constraints): Remove Sun FPA specific
5822         constraints.
5823         * doc/invoke.texi (Option Summary): Remove -mfpa.
5824         (M680x0 Options): Likewise.
5825
5826 2003-05-17  David Edelsohn  <edelsohn@gnu.org>
5827
5828         * rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
5829
5830 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
5831
5832         * config/sol2.h: Add TARGET_SUB_OS_CPP_BUILTINS.
5833         * config/sparc/liteelf.h, config/sparc/openbsd64.h,
5834         config/sparc/rtemself.h, config/sparc/sol2-64.h,
5835         config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h:
5836         Update for use of TARGET_SUB_OS_CPP_BUILTINS.
5837
5838 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
5839
5840         * i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
5841         TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
5842
5843 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
5844
5845         * config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
5846         * sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
5847         sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
5848         sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
5849         sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
5850         sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
5851         sparc/sysv4.h,
5852         * sparc/sysv4-only.h: New.
5853
5854 2003-05-17  Alan Modra  <amodra@bigpond.net.au>
5855
5856         * function.c (assign_parms): Check for zero size args.
5857
5858 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5859
5860         * cfgloopanal.c (test_for_iteration): Use string concatentation on
5861         HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
5862         function calls into one.
5863         * dbxout.c (dbxout_symbol): Likewise.
5864         * defaults.h (ASM_OUTPUT_SIZE_DIRECTIVE): Likewise.
5865         * dwarf2asm.c (dw2_asm_output_data_uleb128,
5866         dw2_asm_output_data_sleb128): Likewise.
5867         * genrecog.c (debug_decision_2): Likewise.
5868         * loop.c (emit_prefetch_instructions): Likewise.
5869         * print-rtl.c (print_rtx): Likewise.
5870         * print-tree.c (print_node_brief, print_node): Likewise.
5871         * ra-debug.c (dump_igraph, dump_graph_cost,
5872         dump_static_insn_cost): Likewise.
5873         * ra-rewrite.c (dump_cost): Likewise.
5874         * sdbout.c (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
5875         * sreal.c (dump_sreal): Likewise.
5876         * unroll.c (unroll_loop, precondition_loop_p): Likewise.
5877         * varasm.c (assemble_vtable_entry): Likewise.
5878
5879         * avr.c (avr_output_function_prologue,
5880         avr_output_function_epilogue, print_operand): Fix format specifier
5881         warnings.
5882         (init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
5883         * avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
5884
5885 2003-05-16  Geoffrey Keating  <geoffk@apple.com>
5886
5887         * config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
5888         and ! TARGET_STRING cases.
5889
5890         * doc/cppopts.texi (-undef): Fix texinfo warning.
5891
5892         * doc/cppopts.texi (-H): Document that -H works for PCH files too.
5893         * cppfiles.c (validate_pch): When -H is used, print some information
5894         about PCH files found.
5895
5896 2003-05-16  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5897
5898         * config/mips/t-elf: Remove obsolete rules adding dependencies on tm.h.
5899         * config/mips/t-isa3264, config/mips/t-r3900: Likewise.
5900         * config/mips/t-sr71k: Likewise.
5901
5902 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5903
5904         * arc.c (arc_output_function_prologue,
5905         arc_output_function_epilogue): Fix format specifier warnings.
5906         * arc.h (LARGE_INT): Fix signed/unsigned warnings.
5907
5908         * v850.c (print_operand): Fix format specifier warnings.
5909
5910         * ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
5911         specifier warnings.
5912
5913         * mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
5914         format specifier warnings.
5915
5916         * ip2k.c (function_prologue, function_epilogue, print_operand):
5917         Fix format specifier warnings.
5918         * ip2k.md: Likewise.
5919
5920         * i960.c (i960_output_function_prologue, i960_print_operand,
5921         i960_print_operand_addr): Fix format specifier warnings.
5922
5923         * i370.c (ascebc, ebcasc): Wrap in macros controlling usage.
5924         (i370_output_function_prologue): Fix format specifier warnings.
5925         * i370.h (PRINT_OPERAND): Likewise.
5926
5927         * fr30.c (fr30_print_operand): Fix format specifier warnings.
5928
5929         * dsp16xx.c (print_operand_address): Fix format specifier warning.
5930         * dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
5931
5932         * c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
5933         specifier warnings.
5934
5935         * alpha.c (print_operand_address, alpha_start_function,
5936         unicosmk_output_ssib): Use string concatentation on
5937         HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
5938         function calls into one.
5939         * arm.c (arm_print_operand): Likewise.
5940         * cris.c (cris_asm_output_mi_thunk): Likewise.
5941         * frv.c (frv_asm_output_mi_thunk): Likewise.
5942         * ia64.c (ia64_print_operand, process_set): Likewise.
5943         * m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk):
5944         Likewise.
5945         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
5946         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
5947         * pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise.
5948         * pa.h (PRINT_OPERAND_ADDRESS): Likewise.
5949         * rs6000.c (rs6000_va_start, print_operand_address): Likewise.
5950         * s390.c (s390_assemble_integer): Likewise.
5951         * sparc.c (sparc_flat_function_prologue,
5952         sparc_flat_function_epilogue): Likewise.
5953         * stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise.
5954         * vax.c (vax_output_mi_thunk): Likewise.
5955
5956         * frv.c (frv_print_operand_memory_reference): Fix format specifier
5957         warning.
5958         (frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
5959
5960         * m68k.c (m68k_output_function_epilogue): Fix format specifier
5961         warnings.
5962
5963         * stormy16-protos.h (xs_hi_general_operand,
5964         xs_hi_nonmemory_operand): Prototype.
5965         * stormy16.c (xstormy16_output_shift): Fix format specifier
5966         warnings.
5967
5968         * cris.c: Fix format specifier warnings.
5969
5970 2003-05-16  Nick Clifton  <nickc@redhat.com>
5971
5972         * config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
5973
5974 2003-05-16  Wolfgang Bangerth <bangerth@dealii.org>
5975
5976         * doc/bugreport.texi: Remove most of the of the preface of the
5977         bugs section.
5978
5979 2003-05-16  Jakub Jelinek  <jakub@redhat.com>
5980
5981         * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
5982         .save XX, r0.
5983
5984 2003-05-15  Roger Sayle  <roger@eyesopen.com>
5985
5986         * config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
5987
5988 2003-05-15  Eric Christopher  <echristo@redhat.com>
5989
5990         * cfgcleanup.c (merge_blocks): Fix return value.
5991
5992 2003-05-15 Eric Christopher <echristo@redhat.com>
5993
5994         * combine.c (expand_compound_operation): Make sure
5995         that zero_extend operation is profitable.
5996
5997 2003-05-15  Richard Henderson  <rth@redhat.com>
5998
5999         * config/alpha/linux.h, config/alpha/linux-elf.h: Remove
6000         code protected by USE_GNULIBC_1.
6001
6002 2003-05-15  Zack Weinberg  <zack@codesourcery.com>
6003
6004         * config.gcc: Purge all targets obsoleted in GCC 3.3.  Also
6005         remove hppa*-*-mpeix* which could not be built, and prune
6006         files from tmake_file= or tm_file= lists that don't exist.
6007
6008         * config/alpha/alpha-interix.h, config/alpha/alpha32.h
6009         * config/alpha/t-interix, config/arm/conix-elf.h
6010         * config/arm/t-arm-aout, config/arm/t-strongarm-coff
6011         * config/arm/unknown-elf-oabi.h, config/i386/win32.h
6012         * config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
6013         * config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
6014         * config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
6015         * config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
6016         * config/m68k/m68k-psos.h, config/m68k/mot3300.h
6017         * config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
6018         * config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
6019         * config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
6020         * config/m68k/t-mot3300, config/m68k/t-mot3300-gald
6021         * config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
6022         * config/m68k/tower-as.h, config/m68k/tower.h
6023         * config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
6024         * config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
6025         * config/m88k/m88k-protos.h, config/m88k/m88k.c
6026         * config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
6027         * config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
6028         * config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
6029         * config/mips/rtems64.h, config/mips/sni-gas.h
6030         * config/mips/sni-svr4.h, config/mips/t-ecoff
6031         * config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
6032         * config/mn10200/mn10200.c, config/mn10200/mn10200.h
6033         * config/mn10200/mn10200.md, config/mn10200/t-mn10200
6034         * config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
6035         * config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
6036         * config/romp/romp-protos.h, config/romp/romp.c
6037         * config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
6038         * config/rs6000/aix3newas.h, config/rs6000/mach.h
6039         * config/sparc/bsd.h, config/sparc/hal.h
6040         * config/sparc/linux-aout.h, config/sparc/lynx-ng.h
6041         * config/sparc/lynx.h, config/sparc/netbsd.h
6042         * config/sparc/sp86x-aout.h, config/sparc/splet.h
6043         * config/sparc/sun4gas.h, config/sparc/sun4o3.h
6044         * config/sparc/sunos4.h, config/sparc/t-chorus-elf
6045         * config/sparc/t-halos, config/sparc/t-sparcbare
6046         * config/sparc/t-splet, config/sparc/t-sunos41
6047         * config/v850/rtems.h: Delete file.
6048
6049 2003-05-15  Aldy Hernandez  <aldyh@redhat.com>
6050
6051         * config/rs6000/rs6000-protos.h (function_value): Protoize.
6052
6053         * config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
6054
6055         * config/rs6000/rs6000.c (rs6000_function_value): New.
6056
6057 2003-05-15  Philip Blundell  <philb@gnu.org>
6058
6059         * config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
6060         All uses updated.
6061         (arm_tune_xscale): New variable.
6062         (arm_override_options): Set it.
6063         (arm_adjust_cost): Use it in place of arm_arch_xscale.
6064         (arm_gen_load_multiple): Likewise.
6065         (arm_gen_store_multiple): Likewise.
6066         * config/arm/arm.md (is_xscale): Likewise.
6067         * config/arm/arm.h (arm_tune_xscale): Declare.
6068
6069 2003-05-15  Philip Blundell  <philb@gnu.org>
6070
6071         PR target/10730
6072         * config/arm/arm.c (adjacent_mem_locations): Reject offsets
6073         involving invalid constants.
6074
6075 2003-05-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6076
6077         * pa.c (hppa_expand_prologue): Remove blockage.
6078
6079 2003-05-15  Wolfgang Bangerth <bangerth@dealii.org>
6080
6081         * doc/bugreport.texi: Remove most of the bug reporting
6082         instructions and merge them into bugs.html.
6083
6084 2003-05-14  Matt Kraai  <kraai@alumni.cmu.edu>
6085
6086         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
6087         g_switch_value to unsigned HOST_WIDE_INT.
6088
6089 2003-05-14  Eric Christopher  <echristo@redhat.com>
6090
6091         * combine.c: Fix header comments.
6092         (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
6093         to all calls and prototype.
6094
6095 2003-05-14  Roger Sayle  <roger@eyesopen.com>
6096
6097         PR optimization/10764
6098         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
6099         Add an explicit clobber to show that UNSPEC_FPATAN clobbers st(1).
6100         (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3):  Likewise,
6101         add an explicit clobber to show that UNSPEC_FYL2X clobbers st(1).
6102         (logsf2, logdf2, logxf2, logtf2): Update expander patterns to match
6103         the corresponding *fyl2x_?fxf3 instructions.
6104
6105 2003-05-14  Bob Wilson  <bob.wilson@acm.org>
6106
6107         * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
6108         * config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
6109         XCHAL_HAVE_L32R): New.
6110         * config/xtensa/xtensa-protos.h (non_const_move_operand,
6111         xtensa_load_constant, xtensa_function_prologue,
6112         xtensa_function_epilogue): Delete prototypes.
6113         (xtensa_expand_prologue): New.
6114         * config/xtensa/xtensa.c (frame_size_const,
6115         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
6116         non_const_move_operand, xtensa_load_constant, xtensa_reorg,
6117         xtensa_function_prologue): Delete.
6118         (add_operand, xtensa_mem_offset): Formatting.
6119         (move_operand): If the const16 option is available, allow any SFmode
6120         and SImode constants.
6121         (xtensa_emit_move_sequence): Inline the former contents of
6122         xtensa_load_constant with modifications to handle the const16 option.
6123         (override_options): Add xtensa_char_to_class['W'] and set it to
6124         the general register class only if the const16 option is enabled.
6125         Fix formatting.  Disallow PIC when using the const16 option.
6126         (print_operand): Reorganize to switch on "letter" instead of the
6127         RTL code.  Add output_operand_lossage calls for invalid cases.
6128         Add support for 't' and 'b' letters.
6129         (xtensa_expand_prologue): New function to replace
6130         xtensa_function_prologue and xtensa_reorg.
6131         (xtensa_function_epilogue): Declare this as static.  Delete code
6132         to print the retw.n or retw instruction.
6133         (xtensa_return_addr): Use A0_REG instead of 0.
6134         (xtensa_rtx_costs): Add costs for using the const16 option.
6135         * config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
6136         (TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
6137         (TARGET_SWITCHES): Add "const16" and "no-const16".
6138         (REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
6139         (EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
6140         using the const16 option.
6141         (TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
6142         (TRAMPOLINE_SIZE): Change from 49 to 59.
6143         (INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
6144         (GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
6145         when using the const16 option.
6146         (PREDICATE_CODES): Delete non_const_move_operand.
6147         * config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
6148         UNSPECV_ENTRY.
6149         (movdi, movdf): If the source is a constant, always expand to a
6150         sequence of movsi insns.
6151         (movdi_internal, movdf_internal): Remove alternative using l32r insns.
6152         (movsi_internal, movsf_internal): Add alternative using const16 insns.
6153         (movsf): Add const16 support.
6154         (entry, prologue, epilogue): New.
6155         (set_frame_ptr): Add missing mode for unspec_volatile operation.
6156         Likewise for subsequent split pattern.
6157         * doc/invoke.texi (Option Summary, Xtensa Options): Document new
6158         "-mconst16" and "-mno-const16" options.
6159
6160 2003-05-14  Richard Henderson  <rth@redhat.com>
6161
6162         * config/ia64/ia64.c (ia64_expand_load_address): Force destination
6163         to be DImode register.  Merge load_symptr.
6164         * config/ia64/ia64.md (load_symptr): Remove.
6165
6166 2003-05-14  Richard Henderson  <rth@redhat.com>
6167
6168         * rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
6169         DEFERRED_CONSTANT_P.
6170         * integrate.c (copy_rtx_and_substitute): Update use.
6171         * varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
6172         to the copy generated.
6173         (maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
6174         of the constant to see if we should emit.
6175         (mark_constant): Similarly.
6176         (output_constant_def_contents): Set TREE_ASM_WRITTEN.
6177
6178 2003-05-14  David Edelsohn  <edelsohn@gnu.org>
6179
6180         * config/rs6000/rs6000.md (movsi_internal2): Use compare for self
6181         move record condition.
6182         (movdi_internal2): Same.
6183
6184 2003-05-14  Nathan Sidwell  <nathan@codesourcery.com>
6185
6186         * gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.
6187         (GCOV_TAG_*) Force type to gcov_unsigned_t.
6188         (GCOV_CHECK, GCOV_CHECK_READING, GCOV_CHECK_WRITING): New.
6189         (struct gcov_var): Remove modified. Add start, length, offset,
6190         overread. Have buffer array for libgcov.
6191         (gcov_sync, gcov_seek): Definitions moved to gcov-io.c.
6192         (gcov_position, gcov_rewrite, gcov_is_eof): Adjust.
6193         * gcov-io.c (gcov_open): Set mode, do not read anything.
6194         (gcov_close): Write final block.
6195          (gcov_write_block, gcov_allocate): New.
6196         (gcov_write_bytes): Make static. Write or allocate buffer.
6197         (gcov_write_unsigned, gcov_write_counter): Buffer can never be
6198         null.
6199         (gcov_write_string): Adjust.
6200         (gcov_write_tag)
6201         (gcov_write_length): Adjust. Flush the block.
6202         (gcov_write_tag_length): Buffer can never be null.
6203         (gcov_read_bytes): Make static. Read in block.
6204         (gcov_sync): Moved here. Adjust.
6205         (gcov_seek): Moved here. Adjust.
6206         * coverage.c (read_counts_file): Adjust.
6207         * gcov-dump.c (print_prefix): Add position parameter.
6208         (flag_dump_positions): New flag.
6209         (options, main, print_usage): Add it.
6210         (dump_file, tag_blocks, tag_arcs, tag_lines, tag_counters,
6211         tag_summary): Adjust.
6212         * gcov.c (read_graph_file, read_count_file): Adjust.
6213         * libgcov.c (gcov_exit): Adjust.
6214
6215         * Makefile.in (LIBGCC_DEPS): Use $(srcdir) on gcov files
6216         (libgcov.a): Depend on libgcc.a.
6217         (gcov.o, gcov-dump.o): Add gcov-io.c.
6218         * mklibgcc.in (libgcov_c_dep): Use $(srcdir).
6219
6220         * loop.c (check_dbra_loop): Factor common test.
6221
6222 2003-05-14  Ben Elliston  <bje@wasabisystems.com>
6223
6224         * doc/md.texi (Automaton pipeline description): Grammar fixes.
6225
6226 2003-05-14  Richard Sandiford  <rsandifo@redhat.com>
6227
6228         * target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
6229         (TARGET_INITIALIZER): Include it.
6230         * target.h (struct gcc_target): Add machine_dependent_reorg field.
6231         * toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
6232         * system.h: Poison MACHINE_DEPENDENT_REORG.
6233
6234         * config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
6235         * config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
6236         * config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6237         (alpha_handle_trap_shadows): Remove "first insn" parameter.
6238         (alpha_align_insns): Likewise.
6239         (alpha_reorg): Likewise.  Make static.  Update calls to above
6240         functions.
6241
6242         * config/arm/arm-protos.h (arm_reorg): Remove declaration.
6243         * config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
6244         * config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6245         (arm_reorg): Remove parameter.  Make static.
6246
6247         * config/avr/avr-protos.h (machine_dependent_reorg): Remove.
6248         * config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
6249         * config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6250         (avr_reorg): Renamed from machine_dependent_reorg.  Make static.
6251         Remove parameter.
6252
6253         * config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
6254         * config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
6255         * config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6256         (c4x_reorg): Renamed from c4x_process_after_reload.  Make static.
6257         Remove parameter.
6258
6259         * config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
6260         * config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
6261         * config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
6262
6263         * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
6264         * config/frv/frv.c: Remove orphaned comment.
6265
6266         * config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
6267         * config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
6268         * config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6269         (ix86_reorg): Renamed from x86_machine_dependent_reorg.  Make static.
6270         Remove parameter.
6271
6272         * config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
6273         * config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
6274         * config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6275         (emit_insn_group_barriers): Remove "first insn" parameter.
6276         (emit_all_insn_group_barriers): Likewise.
6277         (ia64_reorg): Likewise.  Make static.  Update calls to above functions.
6278         (ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
6279
6280         * config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
6281         * config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
6282         * config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6283         (ip2k_reorg): Renamed from machine_dependent_reorg.  Make static.
6284         Remove parameter.
6285
6286         * config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
6287         * config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
6288         * config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6289         (m68hc11_reorg): Make static.  Remove parameter.
6290
6291         * config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
6292         * config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
6293         * config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6294         (conditionalize_optimization): Remove parameter.
6295         (mcore_reorg): Renamed from mcore_dependent_reorg.  Remove parameter.
6296         Make static.  Update call to conditionalize_optimization.
6297
6298         * config/mips/mips-protos.h (machine_dependent_reorg): Remove.
6299         * config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
6300         * config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6301         (mips_reorg): Renamed from machine_dependent_reorg.  Remove parameter.
6302         Make static.
6303
6304         * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
6305         * config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
6306         * config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6307         (mmix_reorg): Renamed from mmix_machine_dependent_reorg.  Make static.
6308         Remove parameter.
6309
6310         * config/pa/pa-protos.h (pa_reorg): Remove declaration.
6311         * config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
6312         * config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6313         (pa_combine_instructions): Remove "first insn" parameter.
6314         (remove_useless_addtr_insns): Likewise.
6315         (pa_reorg): Likewise.  Make static.  Update calls to above functions.
6316
6317         * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
6318         commented-out definition.
6319
6320         * config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
6321         * config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
6322         * config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6323         (s390_reorg): Renamed from s390_machine_dependent_reorg.  Make static.
6324         Remove parameter.
6325
6326         * config/sh/sh-protos.h (machine_dependent_reorg): Remove.
6327         * config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
6328         * config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6329         (sh_reorg): Renamed from machine_dependent_reorg.  Make static.
6330         Remove parameter.
6331         (sh_output_mi_thunk): Call sh_reorg directly.
6332         * config/sh/sh.md: Update comment.
6333
6334         * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
6335         commented-out definition.
6336
6337         * config/v850/v850-protos.h (v850_reorg): Remove declaration.
6338         * config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
6339         * config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6340         (v850_reorg): Make static.  Remove parameter.
6341
6342         * config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
6343         * config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
6344         * config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
6345         (xtensa_reorg): Make static.  Remove parameter.
6346
6347         * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
6348         (TARGET_MACHINE_DEPENDENT_REORG): Document.
6349
6350 2003-05-13  Richard Henderson  <rth@redhat.com>
6351
6352         * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
6353         the old decl had instantiated DECL_RTL.
6354
6355 2003-05-13  Mike Stump  <mrs@apple.com>
6356
6357         * doc/invoke.texi (Option Summary): Kill off documentation for -$.
6358
6359 2003-05-13  Janis Johnson  <janis187@us.ibm.com>
6360
6361         * config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
6362         HOST_WIDE_INT argument.
6363
6364 2003-05-13  Jason Merrill  <jason@redhat.com>
6365
6366         * tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
6367
6368         * tree.c (iterative_hash_expr): New fn.
6369
6370         * c-semantics.c (emit_local_var): Don't mess with temp slots if
6371         there's no initializer.
6372
6373 2003-05-13  Richard Sandiford  <rsandifo@redhat.com>
6374
6375         * final.c (final_scan_insn): Apply the effects of frame-related
6376         delay slot insns before emitting a delayed branch.
6377
6378 2003-05-13  Nick Clifton  <nickc@redhat.com>
6379
6380         * config/mcore/mcore.md (jump): Use emit_jump_insn.
6381
6382 2003-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
6383
6384         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
6385         parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
6386
6387 2003-05-12  DJ Delorie  <dj@redhat.com>
6388
6389         * expr.c (move_by_pieces): Honor the alignment of TO and FROM.
6390         (emit_push_insn): Don't use push when the source alignment is less
6391         than the stack's push rounding.
6392
6393 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
6394
6395         * diagnostic.c (output_format): Add support for %m.
6396         (output_printf, output_verbatim, diagnostic_set_info,
6397         verbatim): Set err_no field of the text_info structure being
6398         initialized.
6399         (fatal_io_error): Delete function.
6400         * diagnostic.h (text_info): Add err_no field.
6401         * toplev.h (fatal_io_error): Delete prototype.
6402
6403         * c-opts.c, c-pch.c, dwarfout.c, ggc-common.c, ggc-page.c, graph.c
6404         * toplev.c, config/mips/mips.c, config/rs6000/host-darwin.c
6405         * objc/objc-act.c: Replace all calls to fatal_io_error with
6406         calls to fatal_error; add ": %m" to the end of all the affected
6407         error messages.
6408
6409 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
6410
6411         * varasm.c (notice_rtl_inlining_of_deferred_constant): New function.
6412         * rtl.h: Prototype it.
6413         * integrate.c (copy_rtx_and_substitute <SYMBOL_REF>): Call it
6414         when appropriate.
6415
6416 2003-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
6417
6418         * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
6419         ("*iorsi3_oi"): Likewise.
6420
6421 2003-05-13  Richard Earnshaw  <rearnsha@arm.com>
6422
6423         * arm.md (compare_scc): Use shorter sequence for EQ case.
6424         (ior_scc_scc_cmp, and_scc_scc_cmp): New insn-and-split patterns.
6425         (and_scc_scc): Ensure split only applies when there is a dominance
6426         of the comparisons.
6427         (and_scc_scc_nodom): New insn-and-split pattern.
6428
6429 2003-05-13  Richard Sandiford  <rsandifo@redhat.com>
6430
6431         * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
6432         to _Unwind_SetGRPtr().
6433
6434 2003-05-13  Michael Eager <eager@mvista.com>
6435
6436         * Makefile.in: Initialize program_transform_cross_name from
6437         @program_transform_name@ instead of target_alias.
6438
6439 2003-05-12  Janis Johnson  <janis187@us.ibm.com>
6440             Alan Modra  <amodra@bigpond.net.au>
6441             Jakub Jelinek  <jakub@redhat.com>
6442
6443         * configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
6444         * configure: Rebuild.
6445         * config/rs6000/rs6000-protos.h: Update.
6446         * config/rs6000/rs6000.c (rs6000_tls_size): New.
6447         (rs6000_tls_size_string): New.
6448         (rs6000_parse_tls_size_option): New.
6449         (rs6000_legitimize_tls_address): New.
6450         (rs6000_tls_get_addr): New.
6451         (rs6000_got_sym): New.
6452         (rs6000_tls_symbol_ref): New.
6453         (rs6000_tls_symbol_ref_1): New.
6454         (rs6000_get_some_local_dynamic_name): New.
6455         (rs6000_get_some_local_dynamic_name_1): New.
6456         (TARGET_HAVE_TLS): New.
6457         (TARGET_CANNOT_FORCE_CONST_MEM): New.
6458         (rs6000_override_options): Handle -mtls-size option.
6459         (constant_pool_expr_1): Handle TLS symbols.
6460         (rs6000_legitimize_address): Handle TLS symbols.
6461         (rs6000_tls_referenced_p): New.
6462         (rs6000_legitimate_address): Handle TLS symbols.
6463         (rs6000_emit_move): Handle TLS symbols.
6464         (print_operand): Handle TLS symbols.
6465         (uses_TOC): Handle TLS symbols.
6466         (rs6000_emit_prologue): Use symbol for unspec constant.
6467         * config/rs6000/rs6000.h (HAVE_AS_TLS): New.
6468         (some_ld_name): New.
6469         (LEGITIMATE_CONSTANT_P): Handle TLS symbols.
6470         (PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
6471         (PREDICATE_CODES): Add rs6000_tls_symbol_ref.
6472         * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
6473         Support TLS.
6474         (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
6475         tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
6476         tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
6477         tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
6478         tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
6479         tls_tls_64): New.
6480         * config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
6481
6482 2003-05-12  Neil Booth  <neil@cat.daikokuya.co.uk>
6483
6484         * Makefile.in (stage2_build, stage3_build, stage4_build):
6485         Set BUILD_CC to the same as CC.
6486
6487 2003-05-12  Neil Booth  <neil@daikokuya.co.uk>
6488
6489         * alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
6490
6491 2003-05-12  Andreas Schwab  <schwab@suse.de>
6492
6493         * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
6494         as unused.
6495         (bundling): Initialize 'pos'.
6496         (ia64_expand_builtin): Initialize 'rmode'.
6497
6498 2003-05-12  David Edelsohn  <edelsohn@gnu.org>
6499
6500         * config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
6501         (ASM_OUTPUT_ALIGNED_COMMON): Same.
6502         (ASM_OUTPUT_LOCAL): Same.
6503
6504 Mon May 12 21:53:29 CEST 2003  Jan Hubicka  <jh@suse.cz>
6505
6506         * varasm.c (output_constant):  Fix underflow.
6507
6508 2003-05-12  Mark Mitchell  <mark@codesourcery.com>
6509
6510         PR other/10745
6511         * configure.in: Correct detection of GNU ld version number.
6512         * configure: Regenerated.
6513
6514 2003-05-12  Zack Weinberg  <zack@codesourcery.com>
6515
6516         * diagnostic.c (diagnostic_for_decl): Take a
6517         diagnostic_context argument.  Restructure to be consistent
6518         with diagnostic_report_diagnostic.
6519         (diagnostic_count_diagnostic): Now static.  Take a
6520         diagnostic_info argument, not just a diagnostic_t.  Some code
6521         moved here from internal_error.  Move a case label for
6522         clarity.
6523         (diagnostic_action_after_output): New function.  Code moved
6524         here from internal_error and fatal_error.
6525         (bug_report_request): New #define so that this text appears in
6526         only one place.
6527         (diagnostic_report_diagnostic): Update to match changes to
6528         diagnostic_count_diagnostic.  Call diagnostic_action_after_output.
6529         (diagnostic_set_info): Call gettext here.
6530
6531         (pedwarn): Update comment.  Don't call gettext here.
6532         (sorry): Use report_diagnostic.  Don't call gettext here.
6533         (fatal_error): Remove final fnotice and exit, but call
6534         real_abort to prevent warnings about noreturn function returning.
6535         (internal_error): Likewise.  Don't do ICE suppression here nor
6536         call context->internal_error.
6537         (warning_with_decl): Suppress for decls in system headers.
6538         Adjust call to diagnostic_for_decl.
6539         (pedwarn_with_decl): Likewise.
6540         (error_with_decl): Adjust call to diagnostic_for_decl.
6541         (error_recursion): Use bug_report_request.
6542
6543         * diagnostic.h: Remove prototype of diagnostic_count_diagnostic.
6544         * objc/objc-act.c (error_with_ivar, warn_with_method): Don't call
6545         diagnostic_count_diagnostic.
6546
6547 2003-05-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6548
6549         * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
6550
6551 Mon May 12 15:57:54 CEST 2003  Jan Hubicka  <jh@suse.cz>
6552
6553         * rs6000/darwin.h (ASM_OUTPUT_COMMON): Accept HOST_WIDE_INT
6554         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Fix warning.
6555         * mips/mips.h (ASM_OUTPUT_SKIP):  Fix typo in the previous patch.
6556
6557 2003-05-12  Roger Sayle  <roger@eyesopen.com>
6558
6559         * doc/rtl.texi: Document zero_extract as a valid destination
6560         of a set insn.
6561
6562 2003-05-12  Richard Earnshaw  <rearnsha@arm.com>
6563
6564         * arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
6565         '.'.  Change all local symbol definitions and references to use LSYM.
6566
6567 Mon May 12 11:32:53 CEST 2003  Jan Hubicka  <jh@suse.cz>
6568
6569         * expr.h (assemble_static_space): Update prototype.
6570         * output.h (assemble_zeros, output_constant): Likewise.
6571         * elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
6572         * alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
6573         it 64bit clean.
6574         * elf.h (ASM_OTUPUT_SKIP): Likewise.
6575         * unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
6576         * arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
6577         Expect HOST_WIDE_INT operand.
6578         * aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
6579         Expect HOST_WIDE_INT operand.
6580         * unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
6581         Expect HOST_WIDE_INT operand.
6582         * avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
6583         HOST_WIDE_INT operand.
6584         * c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
6585         ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
6586         * aout.h (ASM_OTUPUT_SKIP): Likewise.
6587         * cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
6588         * darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
6589         * dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
6590         * frv.h (ASM_OTUPUT_SKIP): Likewise.
6591         * h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
6592         * 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
6593         Make it 64bit
6594         clean.
6595         * att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
6596         * bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
6597         Make it 64bit clean.
6598         * darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
6599         * sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
6600         HOST_WIDE_INT operand
6601         * svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
6602         Expect HOST_WIDE_INT operand
6603         * sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
6604         * i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
6605         ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
6606         * ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
6607         Likewise.
6608         * m32r.h (ASM_OUTPUT_COMMON): Likewise.
6609         * 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
6610         Likewise.
6611         * amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
6612         * crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
6613         * hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
6614         ASM_OUTPUT_SKIP): Likewise.
6615         * m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
6616         Likewise.
6617         * m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
6618         ASM_OUTPUT_SKIP): Likewise.
6619         * m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
6620         ASM_OUTPUT_SKIP): Likewise.
6621         * mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
6622         * netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
6623         ASM_OUTPUT_SKIP): Likewise.
6624         * sgs.h (ASM_OUTPUT_SKIP): Likewise.
6625         * tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
6626         ASM_OUTPUT_SKIP): Likewise.
6627         * m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
6628         Likewise.
6629         * mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
6630         * iris.h (ASM_OUTPUT_LOCAL): Likewise.
6631         * mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
6632         * ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
6633         ASM_OUTPUT_SKIP): Make it 64bit clean.
6634         * pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
6635         Make it 64bit clean.
6636         * pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
6637         ASM_OUTPUT_SKIP): Make it 64bit clean.
6638         * hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
6639         64bit clean.
6640         * romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
6641         HOST_WIDE_INT argument
6642         * s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
6643         * sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
6644         HOST_WIDE_INT argument
6645         * sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
6646         * sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
6647         * svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
6648         * vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
6649         HOST_WIDE_INT argument
6650         * vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
6651         * xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
6652         * varasm.c (asm_output_bss, asm_output_aligned_bss,
6653         asm_emit_uninitialized, assemble_zeros, assemble_static_space):
6654         HOST_WIDE_INT argument
6655
6656 2003-05-10  Steven Bosscher  <steven@gcc.gnu.org>
6657
6658         * cgraphunit.c (cgraph_create_edges): Drop walk_tree in
6659         favor of walk_tree_without_duplicates.  Add comments.
6660
6661 2003-05-12  Josef Zlomek  <zlomekj@suse.cz>
6662
6663         * alloc-pool.h (ALLOC_POOL_ID_TYPE): New type.
6664         (struct alloc_pool_def): New element 'id'.
6665         * alloc-pool.c (fancy_abort): Extern function prototype.
6666         (abort): Macro which uses fancy_abort.
6667         (struct allocation_object_def): New structure.
6668         (ALLOCATION_OBJECT_PTR_FROM_USER_PTR): New macro.
6669         (USER_PTR_FROM_ALLOCATION_OBJECT_PTR): New macro.
6670         (last_id): New variable.
6671         (create_alloc_pool): Add the offset of u.data to size of element,
6672         increase and use last_id.
6673         (free_alloc_pool): Do the checking only when ENABLE_CHECKING.
6674         (pool_alloc): Likewise. Set ID for elements.
6675         (pool_free): Check whether the PTR was allocated from POOL.
6676
6677 2003-05-11  Richard Henderson  <rth@redhat.com>
6678
6679         PR c/10675
6680         * c-decl.c: Include hashtab.h.
6681         (detect_field_duplicates): New.
6682         (finish_struct): Use it.
6683         * Makefile.in (c-decl.o): Update.
6684         * c-parse.in (structsp_attr): Nreverse component_decl_list results.
6685         (component_decl_list, component_decl_list2,
6686         components, components_notype): Build list in reverse order.
6687         (enumlist): Clarify docs.  Use TREE_CHAIN not chainon.
6688
6689         * tree.c (chainon): Special case op2 null as well.
6690         Reorg for clarity.
6691
6692 2003-05-11  Roger Sayle  <roger@eyesopen.com>
6693
6694         * config/i386/i386.md (logsf2, logdf2, logxf2, logdf2): New patterns
6695         to implement log, logf and logl built-ins as inline x87 intrinsics.
6696         (UNSPEC_FYL2X): New unspec to represent x87's "fyl2x" instruction.
6697         (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): New insn
6698         patterns for x87's "fyl2x" instruction, used by log?f2 patterns.
6699
6700         * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
6701         UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
6702
6703 2003-05-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6704
6705         * Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
6706
6707         * sparc.c (print_operand): Fix uninitialized warning.
6708
6709 2003-05-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6710
6711         * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
6712         real insns.
6713         * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
6714         condition.
6715
6716 2003-05-11  Neil Booth  <neil@cat.daikokuya.co.uk>
6717
6718         * doc/cpp.texi: Fix typos.
6719
6720 2003-05-11  Ulrich Weigand  <uweigand@de.ibm.com>
6721
6722         * config/s390/s390.c (s390_function_arg_float): New function.
6723         (s390_function_arg_pass_by_reference): Use it.
6724         (s390_function_arg_advance): Likewise.
6725         (s390_function_arg): Likewise.
6726         (s390_va_arg): Likewise
6727
6728 2003-05-11  Nathan Sidwell  <nathan@codesourcery.com>
6729
6730         * coverage.h (coverage_counter_alloc): New function.
6731         * function.h (struct function): Remove arc_profile flag.
6732         * coverage.c (fn_ident): Remove.
6733         (fn_b_ctrs, no_coverage): New.
6734         (get_coverage_counts): Use current_function_funcdef_no.
6735         (coverage_counter_alloc): New.
6736         (coverage_counter_ref): Adjust.
6737         (coverage_begin_output): Check no_coverage. Use
6738         current_function_funcdef_no.
6739         (coverage_end_function): Likewise.
6740         (create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
6741         than clearing flag_inline_functions. Do not clear arc_profile
6742         flag.
6743         * function.c (prepare_function_start): Do not set arc_profile
6744         flag.
6745         * profile.c (instrument_edges): Return number of instrumented
6746         edges. Use a for loop.
6747         (branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
6748         local to here and simplify. Use profile_arc_flag not arc_profile
6749         flag.
6750         (find_spanning_tree): Reformat.
6751         * toplev.c (rest_of_compilation): Use profile_arc_flags and
6752         flag_test_coverage rather than arc_profile flag.
6753
6754 2003-05-11  Gabriel Dos Reis <gdr@integrable-solutions.net>
6755
6756         * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
6757
6758 2003-05-11  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6759
6760         * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
6761
6762 2003-05-11  Bruno Haible  <bruno@clisp.org>
6763
6764         * cppfiles.c (find_or_create_entry): Preserve errno.
6765
6766 2003-05-11  Neil Booth  <neil@cat.daikokuya.co.uk>
6767
6768         * c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
6769         cpplib as it's a Standard Predefined Macro.
6770         * c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
6771         * cppinit.c (_cpp_init_builtins): Take HOSTED.  Define
6772         __STDC_HOSTED__ appropriately.
6773         * cpplib.h (_cpp_init_builtins): Update.
6774         * fix-header.c (read_scan_file): Update.
6775         * doc/cpp.texi, doc/cppopts.texi: Update documentation.
6776
6777 2003-05-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6778
6779         PR C++/689
6780         PR C++/9257
6781         * c-opts.c (c_common_decode_option): Don't set
6782         warn_ctor_dtor_privacy wen -Wall.
6783         * c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
6784
6785 2003-05-10  Alexandre Oliva  <aoliva@redhat.com>
6786
6787         * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
6788         patch.
6789
6790 2003-05-10  Zack Weinberg  <zack@codesourcery.com>
6791
6792         * diagnostic.c: Reorder functions for clarity, putting all the
6793         functions in the "error" family next to each other, and
6794         likewise all the functions in the "error_with_decl" family.
6795         Some other routines were moved too.  Add comments.
6796         (vbuild_message_string): Fold into sole caller.
6797
6798
6799 2003-05-11  Ulrich Weigand  <uweigand@de.ibm.com>
6800
6801         * except.c (EH_RETURN_STACKADJ_RTX): Do not define.
6802         (EH_RETURN_HANDLER_RTX): Likewise.
6803         (expand_builtin_eh_return): Do not copy stack adjustment
6804         if EH_RETURN_STACKADJ_RTX is not defined.
6805         (expand_eh_return): Likewise.  Also, do not pass stack
6806         adjustment as argument to the eh_return pattern.
6807         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
6808         because EH_RETURN_STACKADJ_RTX is not defined.
6809         * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
6810         is not defined, treat stack pointer like a regular register.
6811         (uw_init_context_1): Set up fake initial stack pointer register.
6812         (uw_install_context_1): Do not compute stack adjustment if
6813         EH_RETURN_STACKADJ_RTX is not defined.
6814
6815         * config/i386/i386.md ("eh_return"): Remove first argument.
6816         * config/mips/mips.md ("eh_return"): Likewise.
6817         * config/rs6000/rs6000.md ("eh_return"): Likewise.
6818         * config/sh/sh.md ("eh_return"): Likewise.
6819
6820         * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
6821
6822 2003-05-10  Alexander Aganichev  <aaganichev@yandex.ru>
6823
6824         * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
6825
6826 2003-05-10  Nathan Sidwell  <nathan@codesourcery.com>
6827
6828         * defaults.h (GCOV_TYPE_SIZE): Remove.
6829         * gcov-io.h (gcov_type): Set to specific mode int on target.
6830         (gcov_unsigned_t, gcov_position_t): New.
6831         (GCOV_TYPE_NODE): New.
6832         (GCOV_TAG_SUMMARY_LENGTH): Adjust.
6833         (GCOV_COUNTERS_SUMMABLE): New.
6834         (gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
6835         gcov_ctr_info, gcov_info): Adjust types.
6836         (gcov_var): Adjust types.
6837         (gcov_write_unsigned, gcov_write_tag,
6838         gcov_write_length, gcov_write_tag_length, gcov_write_summary,
6839         gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
6840         (gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
6841         * gcov-io.c (gcov_write_unsigned, gcov_write_tag,
6842         gcov_write_length, gcov_write_tag_length, gcov_write_summary,
6843         gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
6844         * libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
6845         __gcov_init, __gcov_merge_add): Adjust gcov types.
6846         * coverage.c (ctr_merge_functions): Constify.
6847         (ctr_names): New.
6848         (read_counts_file): Adjust gcov types. Only summarize & merge
6849         summable counters.
6850         (coverage_counter_ref): Use GCOV_TYPE_NODE.
6851         (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
6852         build_ctr_info_value, build_gcov_info): Adjust types.
6853         * profile.c (branch_prob): Adjust gcov types.
6854         * gcov_dump (dump_file): Adjust gcov types.
6855
6856 2003-05-10  Richard Earnshaw  <rearnsha@arm.com>
6857
6858         * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
6859         constants.
6860         (ior_scc_scc, and_scc_scc): New insn_and_split patterns.
6861         * arm.c (arm_select_dominance_cc_mode): Renamed from
6862         select_dominance_cc_mode, no-longer static.  Use DOM_CC... constants.
6863         Callers updated.
6864         * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
6865
6866 2003-05-09  Roger Sayle  <roger@eyesopen.com>
6867
6868         * config/alpha/alpha.c (alpha_start_function): Declare frame_size
6869         as unsigned to avoid signed/unsigned comparison warnings.
6870
6871 2003-05-09  Bob Wilson  <bob.wilson@acm.org>
6872
6873         * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
6874         instruction if the Xtensa density option is enabled.
6875
6876 2003-05-09  Matt Kraai <kraai@alumni.cmu.edu>
6877
6878        * mklibgcc.in: Remove extra quotes.
6879
6880 2003-05-09  Mark Mitchell  <mark@codesourcery.com>
6881
6882         * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
6883         of int_ftype_void.
6884
6885 2003-05-09  Alexandre Oliva  <aoliva@redhat.com>
6886
6887         * reload1.c (reload_cse_move2add): Don't turn an implicit
6888         truncation into a self-set in the narrow mode.
6889
6890 2003-05-09  Richard Earnshaw  <rearnsha@arm.com>
6891
6892         * arm.md (clzsi2): The CLZ instruction is predicable.
6893
6894 2003-05-09  Bob Wilson  <bob.wilson@acm.org>
6895
6896         * config/xtensa/xtensa.c: Formatting.
6897
6898 2003-05-09  Diego Novillo  <dnovillo@redhat.com>
6899
6900         * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
6901         instead of TREE_OPERAND to access the operand of a
6902         CONSTRUCTOR node.
6903
6904 2003-05-09  Diego Novillo  <dnovillo@redhat.com>
6905
6906         * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
6907         one operand.
6908
6909 2003-05-09  Gabriel Dos Reis <gdr@integrable-solutions.net>
6910
6911         * toplev.h (warning_with_file_and_line): Don't declare.
6912         (error_with_file_and_line): Likewise.
6913         * diagnostic.c (error_with_file_and_line): Remove.
6914         (warning_with_file_and_line): Likewise.
6915
6916 2003-05-09  Gabriel Dos Reis <gdr@integrable-solutions.net>
6917
6918         * c-parse.in (if_stmt_locus): New object.
6919         (if_prefix rule): Use it.  Don't use warning_with_file_and_line.
6920         (select_or_iter_stmt rule): Likewise.
6921         (if_stmt_file): Remove.
6922         (if_stmt_line): Likewise.
6923         * jump.c: include "diagnostic.h"
6924         (never_reached_warning): Don't use warning_with_file_and_line.
6925         * Makefile.in (jump.o): Add dependce on diagnostic.h
6926
6927 2003-05-09  Alan Modra  <amodra@bigpond.net.au>
6928
6929         * expr.c (move_block_from_reg): Remove "size" parm.  Localize vars.
6930         Move code handling pieces not larger than a word to..
6931         * function.c (assign_parms): ..here, but use change_address instead
6932         of adjust_address and operand_subword, and expand_binop instead of
6933         expand_shift.  Adjust calls to move_block_from_reg.
6934         * expr.h (move_block_from_reg): Update declaration.
6935         (copy_blkmode_from_reg): Formatting.
6936         * Makefile.in (function.o): Add $(OPTABS_H) to deps.
6937         * config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
6938         move_block_from_reg calls.
6939         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
6940         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
6941         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
6942         * config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
6943         * config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
6944         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
6945         * config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
6946         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
6947         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
6948
6949 2003-05-08  DJ Delorie  <dj@redhat.com>
6950
6951         * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
6952         to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
6953         variable-sized types).
6954         (xstormy16_function_arg): New.  Pass them that way too.
6955         * config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
6956         * config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
6957
6958 2003-05-08  Aldy Hernandez  <aldyh@redhat.com>
6959
6960         * mklibgcc.in: Use mkinstalldirs when installing multilib
6961         directories.
6962
6963 2003-05-08  J"orn Rennecke <joern.rennecke@superh.com>
6964
6965         * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
6966         instead of CODE_FOR_jump
6967
6968 2003-05-08  Gabriel Dos Reis <gdr@integrable-solutions.net>
6969
6970         * objc/objc-act.c (error_with_ivar): Don't use
6971         error_with_file_and_line.
6972         (warn_with_method): Don't use warning_with_file_and_line.
6973
6974 2003-05-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6975
6976         * stmt.c (emit_locus): New macro.
6977         (emit_filename): Remove.
6978         (emit_lineno): Likewise.
6979         (struct stmt_status): Replace members x_emit_filename and
6980         x_emit_lineno with x_emit_locus.
6981         (set_file_and_line_for_stmt): Adjust.
6982         (expand_expr_stmt_value): Don't use warning_with_file_and_line.
6983         (warn_if_unused_value): Likewise.
6984         (check_seenlabel): Likewise.
6985
6986 2003-05-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6987
6988         * c-decl.c (define_label): Tidy.  Don't use any of
6989         error_with_file_and_line or warning_with_file_and_file.
6990         (pending_xref_error): Likewise.
6991         (store_parm_decls): Likewise.
6992         (current_function_prototype_locus): New object.  Package from
6993         current_function_prototype_file and current_function_prototype_line.
6994         (start_function): Use it.
6995         (current_function_prototype_file): Remove.
6996         (current_function_prototype_line): Remove;
6997
6998 2003-05-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6999
7000         * builtins.c (readonly_data_expr): New function.
7001         (expand_builtin_memmove): Optimize any rodata source, not just
7002         strings.
7003
7004 2003-05-07  David Mosberger <davidm@hpl.hp.com>
7005
7006         * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
7007
7008 2003-05-07  Richard Henderson  <rth@redhat.com>
7009
7010         * config/i386/i386.c (ix86_split_long_move): Fix base register
7011         mode for XFmode splits for TARGET_64BIT.
7012
7013 2003-05-07  Richard Henderson  <rth@redhat.com>
7014
7015         * sched-ebb.c (schedule_ebb): Supply the correct starting
7016         block number to save_line_notes.
7017
7018 2003-05-07  Richard Henderson  <rth@redhat.com>
7019
7020         * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
7021         (dump_file): Likewise.
7022
7023 2003-05-07  David Mosberger <davidm@hpl.hp.com>
7024
7025         * config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
7026         forget to preserve gp.
7027         * config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
7028
7029         * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
7030         .prologue directive.
7031         Use .skip instead of data8 for .bss section to make Intel
7032         Assembler (ias) happy.  Minor whitespace fixups.  Make "nop 0"
7033         explicit in the .mib bundles and remove the unnecessary stop
7034         bits.  Replace local labels with normal labels, to make ias
7035         happy.  Don't register __do_global_ctors_aux here, do it in
7036         crtend.asm instead.
7037
7038         * config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register
7039         __do_global_ctors_aux in .init_array section instead of
7040         declaring it as a hidden global.  Replace local labels with
7041         ordinary labels to make ias happy.
7042
7043 2003-05-07  Richard Henderson  <rth@redhat.com>
7044
7045         PR c++/10570
7046         * except.c: Revert 04-01 and 04-02 forced-unwind changes.
7047         * flags.h, toplev.c, doc/invoke.texi: Likewise.
7048
7049         * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
7050         * unwind.inc (_Unwind_DeleteException): Check for null
7051         exception_cleanup.
7052
7053         * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
7054         * unwind.inc (_Unwind_Resume_or_Rethrow): New.
7055         * unwind.h: Declare them.
7056         * libgcc-std.ver (GCC_3.3): Export them.
7057
7058 2003-05-07  Richard Henderson  <rth@redhat.com>
7059
7060         * unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
7061         not _Unwind_Word.
7062
7063 2003-05-07  Zack Weinberg  <zack@codesourcery.com>
7064
7065         * stmt.c (force_label_rtx): New function, based on logic
7066         formerly found in expand_expr.
7067         * expr.h: Prototype it.
7068         * expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if
7069         appropriate.
7070         * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
7071
7072         * print-tree.c (debug_tree): Free the table after we're done
7073         with it.  Use putc.
7074
7075 2003-05-07  Aldy Hernandez  <aldyh@redhat.com>
7076
7077         * config/rs6000/spe.h: Reverse arguments for __ev_subfw.
7078         Unreverse arguments for __ev_subw.
7079
7080         * config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
7081
7082 2003-05-07  Nick Clifton  <nickc@redhat.com>
7083
7084         * config/stormy16/stormy-abi: Update to include
7085         R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
7086         R_XSTORMY16_12 relocs.
7087
7088 2003-05-07  Alan Modra  <amodra@bigpond.net.au>
7089
7090         * function.c (assign_parms): Correct reversed reg_parm_stack_space
7091         test.  Add partial in-regs size to stack_args_size.
7092
7093 2003-05-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7094
7095         * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
7096         as a C only option.
7097
7098 2003-05-07  Nathan Sidwell  <nathan@codesourcery.com>
7099
7100         * gcov-io.h (GCOV_LOCKED): New #define.
7101         (GCOV_LINKAGE): Make sure it is #defined.
7102         (gcov_write_string, gcov_write_tag, gcov_write_length,
7103         gcov_read_string, gcov_time): Poison in libgcov.
7104         (gcov_seek_end): Remove.
7105         (gcov_write_tag_length, gcov_sync, gcov_rewrite): New.
7106         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
7107         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
7108         GCOV_TAG_SUMMARY_LENGTH): New #defines.
7109         (gcov_write_tag, gcov_write_length): Not in libgcov.
7110         * gcov-io.c (gcov_open): Use GCOV_LOCKED.
7111         (gcov_write_tag, gcov_write_length): Not in libgcov.
7112         (gcov_write_tag_length): New.
7113         (gcov_write_summary): Use gcov_write_tag_length.
7114         * libgcov.c: Always #include gcov-io.h.
7115         (IN_LIBGCOV): -1 for inhibit_libc, +1 otherwise.
7116         (GCOV_LINKAGE): Define to nothing for L_gcov.
7117         (gcov_exit): Replace gcov_write_tag, gcov_write_length with
7118         gcov_write_tag_length. Use gcov_rewrite & gcov_seek.
7119         * gcov.c (read_graph_file): Replace gcov_seek by gcov_sync.
7120         (read_count_file): Likewise.
7121         * gcov-dump.c (dump_file): Likewise.
7122         * coverag.c (read_counts_file): Likewise.
7123
7124 2003-05-06  Mark Mitchell  <mark@codesourcery.com>
7125
7126         PR other/10658
7127         * gcc.c (process_command): Update copyright date.
7128
7129 2003-05-06  Phil Edwards  <pme@gcc.gnu.org>
7130
7131         * doc/install.texi (mips-*-*):  Add note about libstdc++.
7132
7133 2003-05-06  DJ Delorie  <dj@redhat.com>
7134
7135         * config/stormy16/stormy16.c (xstormy16_function_profiler): New.
7136         * config/stormy16/stormy16.h (FUNCTION_PROFILER): Call it.
7137         * config/stormy16/stormy16-protos.h (xstormy16_function_profiler): New.
7138
7139 2003-05-06    <neil@cat.daikokuya.co.uk>
7140
7141         * c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
7142         and -Wstrict-prototypes if C++.
7143
7144 2003-05-06  Aldy Hernandez  <aldyh@redhat.com>
7145
7146         * config/rs6000/linuxspe.h: New file.
7147
7148         * config.gcc: Add powerpc-*-linux-gnuspe* target.
7149
7150 2003-05-06  Richard Henderson  <rth@redhat.com>
7151
7152         * unwind-dw2.c (uw_update_context_1): Only set cfa as sp if
7153         previous frame didn't save sp.  Clear sp for next frame.
7154         (uw_install_context_1): Honor saved sp from frame.
7155
7156 2003-05-06  Richard Sandiford  <rsandifo@redhat.com>
7157
7158         * config/mips/mips-protos.h (mips_subword, mips_output_move): Declare.
7159         (mips_move_1word, mips_move_2words): Remove declaration.
7160         (mips_split_64bit_move_p, mips_split_64bit_move): Declare.
7161         (mips_restore_gp): Remove insn argument.
7162         * config/mips/mips.h (FP_REG_RTX_P): New macro.
7163         * config/mips/mips.c (volatile_buffer): Remove.
7164         (mips_subword, mips_split_64bit_move_p, mips_split_64bit_move): New.
7165         (mips_move_1word, mips_move_2words): Remove, replacing with...
7166         (mips_output_move): ...this new function.
7167         (mips_restore_gp): Remove insn argument.  Adjust for above changes.
7168         (print_operand): Make '%h' print %hi(op) for HIGH operands.  Remove
7169         handling of floating-point constants.  Handle zero CONST_DOUBLE
7170         arguments.
7171         (mips_annotate_frame_insn): Replace with...
7172         (mips_set_frame_expr): ...this, which just takes one argument.
7173         (mips_frame_set): Change the register argument to an rtx.
7174         (mips_emit_frame_related_store): Use mips_split_64bit_move_p to
7175         check whether moves should be split.  Use mips_split_64bit_move
7176         to split them.  Use mips_subword to generate the high and low
7177         parts of a paired FPR.  Adjust calls to frame_set and
7178         mips_set_frame_expr.
7179         (mips_expand_prologue): Simplify due to above changes.
7180         * config/mips/mips.md:  Add splitters for 64-bit moves on 32-bit
7181         targets, replacing xisting register-only versions.
7182         (UNSPEC_STORE_DF_HIGH): New unspec.
7183         (UNSPEC_LOAD_DF_LOW, UNSPEC_LOAD_DF_HIGH): New unspecs.
7184         (mulsi3_r4000, muldi3_internal2): Avoid use of mips_move_1word.
7185         (*paradoxical_extendhidi2): Remove.
7186         (movdi_internal, movdi_internal2): Use mips_output_move.
7187         (*movdi_internal2_mips16, movsi_internal, movcc): Likewise.
7188         (movsf_internal1, movsf_internal2): Likewise.
7189         (movdf_internal1a): Likewise.  Fix length and type of f <- G case.
7190         (movdf_internal1b): Use mips_output_move.  Fix type of f <- G case.
7191         (movdf_internal2): Use mips_output_move.  Fix lengths of FPR moves.
7192         Add m <- G alternative.
7193         (load_df_low, load_df_high, store_df_low): New patterns.
7194         (movhi_internal): Use @ template instead of calling a function.
7195         Remove unnecessary 'z' alternatives.
7196         (movqi_internal): Likewise.
7197         (exception_receiver): Update call to mips_restore_gp.
7198
7199 2003-05-06  Richard Sandiford  <rsandifo@redhat.com>
7200
7201         * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Remove.
7202         (mips_delegitimize_address): Declare.
7203         * config/mips/mips.h (ASM_SIMPLIFY_DWARF_ADDR): Undefine.
7204         (FIND_BASE_TERM): Define.
7205         * config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
7206         (mips_delegitimize_address): Renamed from mips_simplify_dwarf_addr.
7207         Handle small-data addresses.
7208
7209 2003-05-05  Roger Sayle  <roger@eyesopen.com>
7210
7211         * real.c (real_powi): New function to calculate the value of
7212         a real raised to an integer power, i.e. pow(x,n) for int n.
7213         (real_sqrt): Convert to using the faster do_add, do_multiply
7214         and do_divide API for consistency with the rest of real.c.
7215         * real.h (real_powi): Prototype here.
7216         * builtins.c (fold_builtin):  Avoid local variable mode when
7217         evaluating sqrt at compile time.  Attempt to evaluate pow at
7218         compile-time, by checking for an integral exponent.
7219
7220 2003-05-05  Richard Henderson  <rth@redhat.com>
7221
7222         * doc/extend.texi (Variable Attributes): Re-sort table and tidy.
7223
7224 2003-05-05  David O'Brien  <obrien@FreeBSD.org>
7225
7226         * config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
7227         other FreeBSD ports.
7228         (LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
7229         (_LITTLE_ENDIAN): Use __LITTLE_ENDIAN__ instead.
7230
7231 2003-05-05  Janis Johnson  <janis187@us.ibm.com>
7232
7233         * Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
7234         expanded variables.
7235         * doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
7236
7237 2003-05-05  Zack Weinberg  <zack@codesourcery.com>
7238
7239         * rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
7240         * varasm.c (struct varasm_status): Add deferred_constants field.
7241         (n_deferred_strings): Delete variable.
7242         (n_deferred_constants): New #define.
7243         (struct constant_descriptor_tree): Kill next and label fields.
7244         (const_hash_table, MAX_HASH_TABLE): Delete.
7245         (const_desc_htab): New static variable.
7246         (const_hash): Rename const_desc_hash, and make it fit the
7247         hashtab.h interface.
7248         (const_desc_eq): New.
7249         (const_hash_1, compare_constant): Const-ify arguments.
7250         (build_constant_desc): Set DEFERRED_CONSTANT_P on all new
7251         SYMBOL_REFs.  Clarify comments.  Don't set desc->label.
7252         (output_constant_def): Do the lookup/insert using the
7253         hashtab.h interface.  Don't muck with n_deferred_constants or
7254         DEFERRED_CONSTANT_P here.
7255         Always call maybe_output_constant_def_contents.
7256         (maybe_output_constant_def_contents): Take a pointer to the
7257         descriptor, not the EXP and RTL separately.  Return
7258         immediately if this constant is not deferred.  Defer output of
7259         everything, except writable string constants.  Update
7260         n_deferred_constants here.
7261         (output_constant_def_contents): Now takes just one argument,
7262         an rtx.  Clear DEFERRED_CONSTANT_P here.
7263         (mark_constant_pool): Update for rename of n_deferred_strings.
7264         (mark_constant): Don't clear DEFERRED_CONSTANT_P here.
7265
7266         (init_varasm_status): Clear p->deferred_constants.
7267         (init_varasm_once): Call htab_create_ggc for const_desc_htab.
7268
7269 2003-05-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7270
7271         * builtins.c (expand_builtin_stpcpy): Only expand when the length
7272         of the source string can be evaluated at compile-time.
7273
7274 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
7275
7276         * testsuite/gcc.c-torture/compile/simd-6.c: New.
7277
7278         * c-typeck.c (digest_init): Handle arrays of vector constants.
7279
7280 2003-05-05  Jakub Jelinek  <jakub@redhat.com>
7281
7282         * builtins.c (expand_builtin_mempcpy): New function.
7283         (expand_builtin_stpcpy): Optimize stpcpy whose return value is
7284         ignored into strcpy no matter what arguments it has.
7285         (expand_builtin) <case BUILT_IN_MEMPCPY>: Call
7286         expand_builtin_mempcpy.
7287
7288 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
7289
7290         * testsuite/gcc.dg/20030505.c: New.
7291
7292         * c-typeck.c (convert_for_assignment): Opaque pointers can
7293         interconvert.
7294
7295         * config/rs6000/rs6000.c: New global opaque_p_V2SI_type_node.
7296         (rs6000_init_builtins): Initialize opaque_p_V2SI_type_node.
7297         (spe_init_builtins): Rename all pv2si_type_node to
7298         opaque_p_V2SI_type_node.
7299         Remove declaration of pv2si_type_node.
7300         (is_ev64_opaque_type): Accept opaque pointers.
7301
7302 2003-05-05  Geoffrey Keating  <geoffk@apple.com>
7303
7304         * config/rs6000/rs6000.c (validate_condition_mode): Use
7305         flag_finite_math_only.
7306         (rs6000_reverse_condition): Never return UNKNOWN; use
7307         flag_finite_math_only.
7308         (rs6000_generate_compare): Use flag_finite_math_only.
7309         (rs6000_emit_cmove): Handle UNLE.  Support UNEQ under -ffast-math.
7310         Use HONOR_* rather than flag_unsafe_math_optimizations.  Correct
7311         UNGE and GT cases.  Handle UNEQ and LTGT when ! HONOR_NANS.
7312
7313         * toplev.c (check_global_declarations): Suppress not-used warning
7314         for volatile variables.
7315
7316 2003-05-05  Olivier Hainque  <hainque@act-europe.fr>
7317
7318         * expr.c (expand_expr, case BIT_FIELD_REF): Refine the test forcing
7319         usage of bitfield instructions for mode1 != BLKmode, only ignoring
7320         SLOW_UNALIGNED_ACCESS if the field is not byte aligned.
7321         (store_field): Likewise.
7322
7323 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
7324
7325         * config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
7326         evsubifw to builtins accepting 5-bit unsigned constants.
7327         (easy_vector_constant): Return if V1DImode.  Fix typo.
7328
7329 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
7330
7331         * config/rs6000/spe.h: Revert licensing change from last patch.
7332
7333 2003-05-05  DJ Delorie  <dj@redhat.com>
7334
7335         * config/stormy16/stormy16.md (negsi2): Allocate the pseudos
7336         before reload, but defer the split until after.
7337         * config/stormy16/stormy16.c (xstormy16_expand_arith): Modify
7338         to match.
7339
7340 2003-05-05  David Edelsohn  <edelsohn@gnu.org>
7341
7342         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 440 support.
7343         * config/rs6000/vxworks.h (CC1_SPEC): Use -mcpu=440 for t440.
7344
7345 2003-05-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7346
7347         * libgcov.c (__gcov_merge_add): Do not use gcov_type when inhibit_libc
7348         is defined.
7349
7350 2003-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7351
7352         * builtin-attrs.def (ATTR_NOTHROW_NONNULL_1,
7353         ATTR_NOTHROW_NONNULL_2, ATTR_NOTHROW_NONNULL_3): Renamed from
7354         ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
7355
7356         (ATTR_NOTHROW_NONNULL_1_2, ATTR_NOTHROW_NONNULL_1_4,
7357         ATTR_CONST_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1,
7358         ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_MALLOC_NOTHROW_NONNULL_1):
7359         New.
7360
7361         * builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
7362         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
7363
7364         (BUILT_IN_INDEX, BUILT_IN_RINDEX, BUILT_IN_MEMCPY,
7365         BUILT_IN_MEMMOVE, BUILT_IN_MEMCMP, BUILT_IN_MEMSET,
7366         BUILT_IN_MEMPCPY, BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
7367         BUILT_IN_STPCPY, BUILT_IN_STRCPY, BUILT_IN_STRNCPY,
7368         BUILT_IN_STRCMP, BUILT_IN_STRNCMP, BUILT_IN_STRLEN,
7369         BUILT_IN_STRSTR, BUILT_IN_STRPBRK, BUILT_IN_STRSPN,
7370         BUILT_IN_STRCSPN, BUILT_IN_STRCHR, BUILT_IN_STRRCHR, BUILT_IN_NAN,
7371         BUILT_IN_NANF, BUILT_IN_NANL, BUILT_IN_NANS, BUILT_IN_NANSF,
7372         BUILT_IN_NANSL, BUILT_IN_PUTS, BUILT_IN_FPUTC, BUILT_IN_FPUTS,
7373         BUILT_IN_FWRITE, BUILT_IN_PUTS_UNLOCKED, BUILT_IN_FPUTC_UNLOCKED,
7374         BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE_UNLOCKED,
7375         BUILT_IN_STRDUP): Add "nonnull" attribute.
7376
7377 2003-05-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7378
7379         * expr.c (store_field): Don't clobber TEMP in shift: it might be
7380         a variable.
7381         (get_inner_reference): Don't go through a VIEW_CONVERT_EXPR
7382         whose purpose is to step up the alignment.
7383         (expand_expr, case ADDR_EXPR): Force LO_SUM into memory, just like REG.
7384
7385         * stor-layout.c (compute_record_mode): Relax restriction
7386         on fields crossing word boundaries forcing BLKmode.
7387
7388 2003-05-04  Neil Booth  <neil@daikokuya.co.uk>
7389
7390         * cppinit.c (cpp_create_reader, post_options): Warn about
7391         trigraphs unless explicity set or -trigraphs.
7392         * cpplex.c (warn_in_comment): New.
7393         (_cpp_process_line_notes): Better handling of -Wtrigraphs.
7394         (_cpp_skip_block_comment): Add call to _cpp_process_line_notes.
7395         * doc/cppopts.texi, doc/cpp.texi: Update.
7396
7397 2003-05-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7398
7399         * Makefile.in (LIBGCOV): Add _gcov_merge_add.
7400         * gcov-io.h: Make GCOV_LINKAGE extern in libgcov and prevent resulting
7401         namespace clash.
7402         (GCOV_MERGE_FUNCTIONS): New.
7403         (gcov_merge_fn): Declare.
7404         (struct gcov_ctr_info): New field "merge".
7405         (__gcov_merge_add): Declare.
7406         * coverage.c (ctr_merge_functions): New.
7407         (build_ctr_info_type, build_ctr_info_value): Initialize merge field
7408         of gcov_ctr_info type.
7409         * libgcov.c (__gcov_merge_add): New.
7410         (gcov_exit): Call a hook to merge values of counters.
7411
7412 2003-05-04  Gabriel Dos Reis <gdr@integrable-solutions.net>
7413
7414         * toplev.h (pedwarn_with_file_and_line): Don't declare.
7415         * diagnostic.c (pedwarn_with_file_and_line): Remove.
7416
7417 2003-05-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7418
7419         * varasm.c (assemble_variable): Don't use error_with_file_and_line.
7420
7421 2003-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7422
7423         * builtins.c (expand_builtin_constant_p, expand_builtin_strlen,
7424         expand_builtin_frame_address): Update prototypes.
7425         (expand_builtin_constant_p, expand_builtin_strlen,
7426         expand_builtin_strcpy, expand_builtin_memset,
7427         expand_builtin_bzero, expand_builtin_args_info,
7428         expand_builtin_frame_address): Pass in just the argument(s)
7429         needed, not the entire expression `exp'.
7430         (expand_builtin): Update all calls to these functions.
7431
7432 2003-05-03  Richard Henderson  <rth@redhat.com>
7433
7434         * builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
7435         <BUILT_IN_DWARF_SP_COLUMN>: New.
7436         * builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
7437         (BUILT_IN_DWARF_SP_COLUMN): New.
7438         * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
7439         (expand_builtin_dwarf_sp_column): New.
7440         * except.h: Update to match.
7441         * unwind-dw2.c (execute_stack_op): Correct stack push typo.
7442         (execute_cfa_program): Record location expression address
7443         before extracting length.
7444         (uw_update_context_1): Install old CFA into stack pointer column.
7445         (uw_init_context_1): Set cfa_reg to stack pointer column.
7446
7447 2003-05-03  Richard Henderson  <rth@redhat.com>
7448
7449         * config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
7450         return bool.
7451         (toc_relative_expr_p): Likewise.
7452         (SPE_CONST_OFFSET_OK): Move from rs6000.h.
7453         (legitimate_constant_pool_address_p): Move from rs6000.h, change
7454         into a function, downcase all users.
7455         (legitimate_small_data_p): Likewise.
7456         (legitimate_offset_address_p): Likewise.
7457         (legitimate_indexed_address_p): Likewise.
7458         (legitimate_indirect_address_p): Likewise.
7459         (legitimate_lo_sum_address_p): Likewise.
7460         (rs6000_mode_dependent_address): Likewise.
7461         * rs6000.h (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): Remove.
7462         (SPE_CONST_OFFSET_OK, LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
7463         LEGITIMATE_SMALL_DATA_P, LEGITIMATE_OFFSET_ADDRESS_P,
7464         LEGITIMATE_INDEXED_ADDRESS_P, LEGITIMATE_INDIRECT_ADDRESS_P,
7465         LEGITIMATE_LO_SUM_ADDRESS_P): Move into rs6000.c.
7466         (LEGITIMATE_ADDRESS_INTEGER_P): Remove.
7467         (GO_IF_MODE_DEPENDENT_ADDRESS): Use rs6000_mode_dependent_address.
7468         * config/rs6000/rs6000-protos.h: Update.
7469
7470 2003-05-03  Geoffrey Keating  <geoffk@apple.com>
7471
7472         * config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
7473         (REVERSE_CONDITION): Define.
7474
7475         * config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
7476         to branch_positive_comparison_operator.
7477         (ccr_bit): Check that sCOND conditions are actually a positive bit.
7478         (print_operand): Remove %D substitution.
7479         (rs6000_emit_sCOND): Generate complement operation to ensure that
7480         sCOND input is a positive bit.
7481         * config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
7482         same order as bCOND, and add the missing ones.  Remove the %D
7483         substitutions from the scc patterns.
7484
7485         * simplify-rtx.c (simplify_relational_operation): Add case for
7486         ! (fabs(x) < 0.0).
7487
7488 2003-05-03  Bruce Korb  <bkorb@gnu.org>
7489
7490         * gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts
7491         in fixincl.x
7492         * gcc/fixinc/inclhack.def(bsd_stdio_attrs_conflict): fix placement
7493
7494 2003-05-03  Aldy Hernandez  <aldyh@redhat.com>
7495
7496         * config/rs6000/spe.h: Remove unecessary casts.  Misc cleanups.
7497
7498 2003-05-03  Zack Weinberg  <zack@codesourcery.com>
7499
7500         PR c/10604
7501         * c-common.c (warn_sign_compare): Initialize to -1.
7502         * c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
7503         (c_common_decode_option <OPT_Wall>): Set warn_sign_compare
7504         for C++ only.
7505         (c_common_post_options): Set warn_sign_compare from extra_warnings
7506         if it's still -1 at this point.
7507
7508         * toplev.c (maybe_warn_unused_parameter): New static variable.
7509         (set_Wextra): New static function.
7510         (W_options): Remove "extra".
7511         (decode_W_option): Call set_Wextra.
7512         (independent_decode_option): Likewise.
7513         (set_Wunused): Cooperate with set_Wextra in setting
7514         warn_unused_parameter.
7515         (rest_of_compilation): No need to check extra_warnings as
7516         well as warn_uninitialized.
7517
7518         * c-typeck.c (build_binary_op, build_conditional_expr):
7519         No need to check extra_warnings as well as warn_sign_compare.
7520         (internal_build_compound_expr): No need to check extra_warnings
7521         as well as warn_unused_value.
7522         * function.c (expand_function_end): No need to check extra_warnings
7523         as well as warn_unused_parameter.
7524         * stmt.c (expand_expr_stmt_value): No need to check extra_warnings
7525         as well as warn_unused_value.
7526
7527         * doc/invoke.texi: Clarify documentation of -Wsign-compare.
7528
7529         * Makefile.in: Disable -Werror for gengtype-lex.o.
7530
7531 2003-05-03  Olivier Hainque  <hainque@act-europe.fr>
7532
7533         * emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
7534         * rtl.h (last_call_insn, add_function_usage_to): New prototypes.
7535         * builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
7536         * calls.c (emit_call_1): Likewise.
7537         (expand_call): For calls initializing constant memory, replace
7538         emission of standalone mem /u clobber with function usage entry.
7539         * expr.c (emit_block_move_via_libcall): Likewise.
7540         * cse.c (count_reg_usage, case EXPR_LIST): New case.
7541         * flow.c (propagate_one_insn): Pass entire operand of
7542         CALL_INSN_FUNCTION_USAGE to mark_used_regs.
7543         * integrate.c (try_constants): For CALL_INSNs, substitute constants
7544         within the FUNCTION_USAGE also.
7545         * loop.c (prescan_loop): Note clobbers of const mem mentioned in
7546         FUNCTION_USAGE lists.
7547         * reload1.c (replace_pseudos_in): Renamed.
7548         (reload): Use it for clobbers surviving until the end of the reload.
7549
7550 2003-05-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7551
7552         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
7553         gen_lowpart on non-integer modes.
7554
7555         * stor-layout.c (place_field): When adjusting offset_align, use
7556         desired_align, not DECL_ALIGN.
7557
7558 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
7559
7560         * c-decl.c (pending_invalid_xref_file): Remove.
7561         (pending_invalid_xref_line): Remove.
7562         (pending_invalid_xref_location): New.
7563         (lookup_label): Use location_t and input_location directly.
7564         (lookup_tag): Likewise.
7565         (pending_xref_error): Likewise.
7566         (c_expand_body_1): Likewise.
7567         * c-common.c (x_expand_start_cond): Likewise.
7568         * c-semantics.c (genrtl_for_stmt): Likewise.
7569         (find_reachable_label): Likewise.
7570         * expr.c (expand_expr): Likewise.
7571         * integrate.c (output_inline_function): Likewise.
7572         * tree-inline.c (find_alloca_call): Likewise.
7573         (find_builtin_longjmp_call): Likewise.
7574         * gcc.c (input_filename): Make static.
7575
7576 2003-05-03  Richard Sandiford  <rsandifo@redhat.com>
7577
7578         * config/mips/mips.md: Fix comment typo.
7579
7580         * config/mips/mips.c (mips_integer_op): New structure.
7581         (MIPS_MAX_INTEGER_OPS): Define.
7582         (mips_const_insns): Use mips_build_integer to determine the number
7583         of instructions needed to load a CONST_INT.
7584         (move_operand): Reject compound CONST_INTs.
7585         (mips_build_shift, mips_build_lower, mips_build_integer): New fns.
7586         (mips_move_integer): New fn.
7587         (mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
7588         (mips_legitimize_move): Only legitimize constants when moving
7589         word or subword values.
7590
7591 2003-05-02  Matt Kraai  <kraai@alumni.cmu.edu>
7592
7593         * Makefile.in (gcov-iov.h): Use move-if-change and a stamp.
7594
7595 2003-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7596
7597         * builtins.c (expand_builtin_stpcpy): Copy `arglist' before
7598         modifying it.
7599
7600 2003-05-03  Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
7601             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7602
7603         * doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
7604         Hernandez, and Kazu Hirata.  Update Richard Henderson.
7605
7606 2003-05-02  Geoffrey Keating  <geoffk@apple.com>
7607
7608         * config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
7609         to tentative declaration.
7610
7611         * config/rs6000/sysv4.h (SYMBOL_FLAG_SMALL_V4): Delete.
7612         (SYMBOL_FLAG_SMALL_V4): Delete.
7613         * config/rs6000/rs6000.c (small_data_operand): Use SYMBOL_REF_SMALL_P.
7614         (rs6000_elf_encode_section_info): Don't set SYMBOL_FLAG_SMALL_V4.
7615         (rs6000_elf_in_small_data_p): Add extra section names.  Add
7616         comment about TREE_PUBLIC test.
7617
7618         * c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
7619         expand_stmt on result of expand_unreachable_stmt.
7620
7621 2003-05-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7622
7623         * doc/contrib.texi (Contributors): Add Daniel Berlin.
7624
7625 2003-05-02  David Edelsohn  <edelsohn@gnu.org>
7626
7627         * config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
7628         number of automata.
7629
7630         * config/rs6000/rs6000.c (symbol_ref_operand): Check
7631         SYMBOL_REF_FUNCTION_P on AIX.
7632         (current_file_function_operand): Same.
7633         * config/rs6000/rs6000.md (call,call_value): Force non-function
7634         symbol_ref into register on AIX.
7635
7636 2003-05-02  Alan Modra  <amodra@bigpond.net.au>
7637
7638         * calls.c (struct arg_data): Move offset, slot_offset, size and
7639         alignment_pad to struct locate_and_pad_arg_data.  Update all refs.
7640         (initialize_argument_information): Adjust call to locate_and_pad_parm.
7641         Delete alignment_pad var.  Don't calculate slot_offset here.
7642         (emit_library_call_value_1): Delete alignment_pad, offset and size
7643         vars.  Use struct locate_and_pad_arg_data instead.  Adjust refs.
7644         Adjust call to locate_and_pad_parm.  Don't tweak arg size for
7645         partial in-regs here.  Formatting fixes.
7646         * expr.h (struct locate_and_pad_arg_data): New struct.
7647         (locate_and_pad_parm): Adjust declaration.
7648         * function.c (assign_parms): Localize vars.  Use "locate" instead of
7649         other arg location vars.  Don't invoke FUNCTION_ARG or
7650         FUNCTION_INCOMING_ARG unless pretend_named is different from
7651         named_arg.  Heed MUST_PASS_IN_STACK and set up "partial" before
7652         calling locate_and_pad_parm.  Adjust locate_and_pad_parm call.
7653         Use slot_offset for stack home of reg parms.  Correct test for
7654         parm passed in memory.  Formatting fixes.
7655         (locate_and_pad_parm): Add "partial" to params.  Replace offset_ptr
7656         arg_size_ptr and alignment pad with "locate".  Set slot_offset here.
7657         Correct initial_offset_ptr handling.  Localize vars.  Always pad
7658         locate->offset even when in_regs.
7659
7660 2003-05-02  Nathan Sidwell  <nathan@codesourcery.com>
7661
7662         * Makefile.in (TREE_H): Replace location.h with input.h.
7663         (GTFILES) Remove location.h
7664         (gt-lists.h): Replace gt-location.h with gt-input.h
7665         * input.h (input_filename, input_line): Remove variables.
7666         (location_s, location_t): Move from location.h.
7667         (input_location): New.
7668         (input_filename, input_line): New #defines.
7669         * location.h: Remove.
7670         * tree.h: Replace location.h with input.h.
7671         (input_filename, input_line): Remove.
7672         * diagnostic.h: Replace location.h with input.h.
7673         * gcc.h (input_filename, input_filename_length): Remove declarations.
7674         * toplev.c (input_filename, input_line): Remove.
7675         (input_location): Define.
7676         (push_srcloc, pop_srcloc): Adjust.
7677         * diagnostic.c (diagnostic_report_current_module): Adjust.
7678
7679 2003-05-02  Nick Clifton  <nickc@redhat.com>
7680
7681         * configure.in: Add xstormy16 to list of targets that has a nop
7682         instruction and hence which can be tested to see if the
7683         assembler supports the --gdwarf2 switch.
7684         * configure: Regenerate.
7685
7686 2003-05-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7687
7688         PR target/8257
7689         * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
7690         alpha_start_function, alpha_expand_epilogue, unicosmk_gen_dsib):
7691         Avoid undefined shifts by making the shift operand unsigned.
7692
7693 2003-05-01  DJ Delorie  <dj@redhat.com>
7694
7695         * reload.c (find_reloads): Also check that all of a multi-reg
7696         value is in the class.
7697
7698 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
7699
7700         * scan.h (lineno): Revert the rename here.
7701
7702 2003-05-01  Stan Shebs  <shebs@apple.com>
7703
7704         * config/darwin.c (darwin_encode_section_info): Call
7705         default_encode_section_info.
7706
7707 2003-05-01  David Edelsohn  <edelsohn@gnu.org>
7708
7709         * config/rs6000/rs6000.md (define_attr "type"): Add mfjmpr.
7710         (movsi_internal1): Use new mfjmpr attribute.
7711         (movhi_internal): Same.
7712         (movqi_internal): Same.
7713         (movcc_internal1): Same.
7714         (movdi_internal64): Same.
7715         * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
7716         power4.md,rios1.md,rios2.md,rs64.md}: Add mfjmpr.
7717         * config/rs6000/40x.md: Add fpu_405.
7718         * config/rs6000/power4.md: Merge power4lsu and power4disp automata
7719         into power4misc automata.  Remove extraneous parentheses.
7720         * config/rs6000/440.md: New file.
7721         * config/rs6000/rs6000.c (processor_target_table): Add 440,
7722         440fp.  Rename 405f to 405fp.
7723         (function_arg_padding): Correct formatting.
7724         (rs6000_rtx_costs): Add PROCESSOR_PPC440 cases.
7725
7726 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
7727
7728         * input.h (lineno): Rename to ...
7729         (input_line): ... here.
7730         * tree.h (lineno): Rename to ...
7731         (input_line): ... here.
7732         * scan.h (lineno): Rename to ...
7733         (input_line): ... here.
7734         * toplev.c (lineno): Rename to ...
7735         (input_line): ... here.
7736         (push_srcloc, pop_srcloc):  Rename lineno to input_line.
7737         * c-common.c (c_expand_start_cond, fname_decl): Likewise.
7738         * c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
7739         store_parm_decls, c_expand_body_1): Likewise.
7740         * c-errors.c (pedwarn_c99): Likewise.
7741         * c-format.c (status_warning): Likewise.
7742         * c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
7743         * c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
7744         * c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
7745         * c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
7746         gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
7747         genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
7748         genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
7749         build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
7750         prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
7751         * coverage.c (create_coverage): Likewise.
7752         * diagnostic.c (pedwarn, sorry, error, fatal_error,
7753         internal_error, warning, diagnostic_report_current_module,
7754         inform): Likewise.
7755         * expr.c (expand_expr): Likewise.
7756         * integrate.c (expand_inline_function,
7757         output_inline_function): Likewise.
7758         * rtl-error.c (file_and_line_for_asm): Likewise.
7759         * tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
7760         walk_tree): Likewise.
7761         * tree.c (make_node): Likewise.
7762         * ada, cp, f, java, objc, treelang: Likewise.
7763         * objc/objc-act.c (objc_init): Rename lineno to input_line.
7764         (build_module_descriptor, build_selector_translation_table,
7765         build_protocol_template, build_method_prototype_list_template,
7766         build_category_template, build_selector_table,
7767         build_class_template, build_super_template, build_ivar_template,
7768         build_ivar_list_template, build_method_list_template,
7769         build_method_template, add_instance_variable): Likewise.
7770
7771         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Change parameter
7772         name from input_filename.
7773
7774 2003-04-30  Eric Christopher  <echristo@redhat.com>
7775             Richard Sandiford <rsandifo@redhat.com>
7776
7777         * configure: Regenerate from patches below.
7778         * combine.c (gen_lowpart_for_combine): Fix comment and add tests
7779         for all symbolic operands.
7780         * config/mips/mips.c: Migrate RTX_COSTS and CONST_COSTS
7781         to function.
7782         * config/mips/linux.h: Fix typo.
7783         * Merge from mips-3_4-rewrite branch:
7784
7785         2003-04-07  Richard Sandiford  <rsandifo@redhat.com>
7786
7787                 * config/mips/mips.c (mips_classify_symbol): Add catch-all case for
7788                 handling local labels when TARGET_ABICALLS.
7789
7790         2003-04-04  Richard Sandiford  <rsandifo@redhat.com>
7791
7792                 * config/mips/mips-protos.h (mips_expand_epilogue): Add an
7793                 integer argument.
7794                 (mips_expand_call): Likewise.
7795                 * config/mips/mips.h (TARGET_SIBCALLS): New macro.
7796                 (FIXED_REGISTERS): Clear $31 entry.
7797                 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTER): Likewise.
7798                 (EPILOGUE_USES): Define.
7799                 * config/mips/mips.c (mips_function_ok_for_sibcall): New function.
7800                 (TARGET_FUNCTION_OK_FOR_SIBCALL): Use it.
7801                 (override_options): Add a 'j' register class.
7802                 (mips_expand_call): Handle sibcalls
7803                 (mips_expand_epilogue): Handle epilogues for sibcalls.
7804                 * config/mips/mips.md (epilogue): Adjust call to mips_expand_epilogue.
7805                 (sibcall_epilogue): New pattern.
7806                 (call, call_value): Adjust calls to mips_expand_call.
7807                 (sibcall, sibcall_value): New expanders.
7808                 (sibcall_internal, sibcall_value_internal): New patterns.
7809                 (sibcall_value_multiple_internal): New pattern.
7810
7811         2003-03-25  Richard Sandiford  <rsandifo@redhat.com>
7812
7813                 * config/mips/mips.md (extended_mips16): New attribute.
7814                 (define_attr length): Default to 8 if extended_mips16 == yes.
7815                 (truncdisi2): Set extended_mips16 to yes for the sll alternative.
7816                 (truncdihi2, truncdiqi2, *extendsidi2): Likewise.
7817                 (call_internal): Set extended_mips16 to yes for direct jumps.
7818                 Remove redundant mode attribute.
7819                 (call_value_internal, call_value_multiple_internal): Likewise.
7820                 (call_split): Remove redundant mode attribute.
7821                 (call_value_split, call_value_multiple_split): Likewise.
7822
7823                 * config/mips/mips.c (mips_symbol_insns): Rework.  Fix handling
7824                 of unaligned offsets.
7825
7826                 * config/mips/mips.c (mips_splittable_symbol_p): Fix handling
7827                 of SYMBOL_GENERAL.
7828
7829         2003-03-22  Richard Sandiford  <rsandifo@redhat.com>
7830
7831                 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS): Add commentary.
7832                 * config/mips/mips.c (override_options): Disable -mexplicit-relocs
7833                 for mips16 code.
7834
7835         2003-03-22  Richard Sandiford  <rsandifo@redhat.com>
7836
7837                 * config/mips/mips.h (ADDRESS_COST): Define.
7838
7839         2003-03-20  Richard Sandiford  <rsandifo@redhat.com>
7840
7841                 * config/mips/mips.h (EXTRA_CONSTRAINT): Give existing meaning of
7842                 'R' to 'U'.  Make 'R' mean a single-instruction memory reference.
7843                 * config/mips/mips.md: Replace 'R' constraints with 'U'.
7844
7845         2003-03-18  Richard Sandiford  <rsandifo@redhat.com>
7846
7847                 * config/mips/mips.md (truncdisi2): Add commentary.  Use sll instead
7848                 of a two-instruction sequence.  Add register->memory alternative.
7849                 (truncdihi2, truncdiqi2): Likewise.
7850                 Rework shift/truncate instructions so that they only handle right
7851                 shifts of 32 (or more, in the case of arithmetic shifts).
7852                 Add patterns for truncate/sign-extend.
7853
7854         2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
7855
7856                 * configure.in (mips*-*-*): Check for explicit relocation support.
7857                 * configure: Regenerate.
7858
7859         2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
7860
7861                 * config/mips/mips.h (TARGET_SWITCHES): Add -mexplicit-relocs
7862                 and -mno-explicit-relocs.
7863                 (MASK_EXPLICIT_RELOCS): Define.
7864                 (TARGET_EXPLICIT_RELOCS): Use it.
7865                 (mips_split_addresses): Remove declaration.
7866                 * config/mips/mips.c (override_options): Update comment for
7867                 mips_split_addresses.  Clear MASK_EXPLICIT_RELOCS for non-PIC n64.
7868
7869         2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
7870
7871                 * combine.c (gen_lowpart_for_combine): Treat the lowpart Pmode of
7872                 a CONST as identity.  Check the return value of gen_lowpart_common.
7873
7874         2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
7875
7876                 * config/mips/mips.c (mips_legitimize_symbol): Handle small data
7877                 references for TARGET_EXPLICIT_RELOCS.
7878                 (mips_reloc_string): Return "%gp_rel(" for RELOC_GPREL16 if
7879                 !TARGET_MIPS16.
7880
7881         2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
7882
7883                 * config/mips/mips.md: Replace 'IQ' mips16 constraints with just 'Q'.
7884                 (addsi3): Remove redundant constraints.
7885                 (addsi3_internal): Use separate register & constant alternatives.
7886                 Use a 'Q' constraint and "addiu" insn for the latter.
7887                 (adddi3_internal_3, addsi3_internal_2): Likewise.
7888
7889         2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
7890
7891                 * config/mips/mips-protos.h (mips_expand_unaligned_load): Declare.
7892                 (mips_expand_unaligned_store): Declare.
7893                 * config/mips/mips.c (mips_get_unaligned_mem): New fn.
7894                 (mips_expand_unaligned_load, mips_expand_unaligned_store): New fns.
7895                 * config/mips/mips.md (UNSPEC_ULW, UNSPEC_USW): Remove.
7896                 (UNSPEC_ULD, UNSPEC_USD): Remove.
7897                 (UNSPEC_LWL, UNSPEC_LWR, UNSPEC_SWL, UNSPEC_SWR): New.
7898                 (UNSPEC_LDL, UNSPEC_LDR, UNSPEC_SDL, UNSPEC_SDR): New.
7899                 (extv, extzv): Use mips_expand_unaligned_load.
7900                 (insv): Use mips_expand_unaligned_store.  Use a reg_or_0_operand
7901                 predicate for operand 3.
7902                 (movsi_ulw, movsi_usw): Replace with...
7903                 (mov_lwl, mov_lwr, mov_swl, move_swr): ...these new insns.
7904                 (movdi_uld, movdi_usd): Likewise replace with...
7905                 (mov_ldl, mov_ldr, mov_sdl, move_sdr): ...these insns.
7906
7907         2003-02-26  Richard Sandiford  <rsandifo@redhat.com>
7908
7909                 * config/mips/mips-protos.h (mips_global_pic_constant_p): Declare.
7910                 * config/mips/mips.h (LEA_REGS): New register class.
7911                 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it.
7912                 (GR_REG_CLASS_P): Include LEA_REGS.
7913                 (DANGEROUS_FOR_LA25_P): New macro.
7914                 (EXTRA_CONSTRAINT): Add !DANGEROUS_FOR_LA25_P to R's condition.
7915                 Add a T constraint for the DANGEROUS_FOR_LA25_P case.
7916                 * config/mips/mips.c (mips_regno_to_class): Change GR_REGS
7917                 entries to LEA_REGS.
7918                 (mips_global_pic_constant_p): New function.
7919                 (override_options): Add 'e' register constraint.
7920                 (mips_secondary_reload_class): Return LEA_REGS when reloading
7921                 a dangerous constant into a class containing $25.
7922                 * config/mips/mips.md (movdi_internal2): Add an e <- T alternative.
7923                 (movsi_internal): Likewise.
7924
7925         2003-02-23  Richard Sandiford  <rsandifo@redhat.com>
7926
7927                 * config/mips/mips.h (TARGET_SPLIT_CALLS): New macro.
7928                 * config/mips/mips.md (call_split): New insn.
7929                 (call_value_split, call_value_multiple_split): New insns.
7930                 (call_internal): Turn into a define_insn_and_split.  Split the
7931                 instruction into a call and $gp load if TARGET_SPLIT_CALLS.
7932                 (call_value_internal, call_value_multiple_internal): Likewise.
7933
7934         2003-02-23  Richard Sandiford  <rsandifo@redhat.com>
7935
7936                 * config/mips/mips.c (mips_reloc_string): Return "%got(" for
7937                 RELOC_GOT_PAGE and RELOC_GOT_DISP if !TARGET_NEWABI.
7938                 (mips_encode_section_info): Don't take symbol visibility into
7939                 account if TARGET_ABICALLS.  Add more commentary.
7940                 * config/mips/mips.md: Add commentary above reloc constants.
7941
7942         2003-02-12  Richard Sandiford  <rsandifo@redhat.com>
7943
7944                 * config/mips/mips.c (mips_legitimize_const_move): New, extracted
7945                 from mips_legitimize_move.  Legitimize constant pool references.
7946                 (mips_legitimize_move): Call mips_legitimize_const_move.  Attach
7947                 a REG_EQUAL note to the last instruction.
7948
7949         2003-02-11  Richard Sandiford  <rsandifo@redhat.com>
7950
7951                 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
7952                 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
7953                 (ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
7954                 (EXTRA_CONSTRAINT): Allow symbolic call addresses for TARGET_ABICALLS.
7955                 * config/mips/mips.md (UNSPEC_HIGH): New constant.
7956                 (UNSPEC_RELOC_GPREL16): Rename to...
7957                 (RELOC_GPREL16): ...this.
7958                 (RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE, RELOC_GOT_DISP): New.
7959                 (RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
7960                 (macro_calls): New attribute.
7961                 (length): Use it to set the default length of calls.  Don't allow
7962                 calls to have delay slots if macro_calls is "yes".
7963                 (luisi, luidi): New patterns.
7964                 (lowsi, lowdi): Use '%R' to print the relocation.
7965                 (lowdi_extend): Remove.
7966                 (loadgp): Remove mode from operand 0.  Use '%0' instead of '%a0'.
7967                 (call_internal): Merge alternatives.  Always use "jal".
7968                 (call_value_internal, call_value_multiple_internal): Likewise.
7969                 (reloc_gprel16): Remove.
7970                 * config/mips/mips.c (mips_got_alias_set): New variable.
7971                 (mips_classify_constant): Handle the new relocation constants.
7972                 (mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
7973                 (mips_symbolic_address_p): Return false if generating explicit relocs.
7974                 Otherwise allow local PIC symbols to have an offset.
7975                 (mips_splittable_symbol_p): New function.
7976                 (mips_classify_address): Use it to check whether a LO_SUM is valid.
7977                 (mips_const_insns): Always accept HIGH.
7978                 (call_insn_operand): Don't accept global symbols if using explicit
7979                 relocs.
7980                 (move_operand): Don't accept HIGH when generating PIC.
7981                 (mips_reloc, mips_lui_reloc): New functions.
7982                 (mips_force_temporary): Remove MODE argument.  Expect VALUE to
7983                 be a valid right-hand-side for a SET pattern.
7984                 (mips_load_got, mips_load_got16, mips_load_got32): New functions.
7985                 (mips_emit_high): New function.
7986                 (mips_legitimize_symbol): Use mips_reloc for the mips16 gp-relative
7987                 case.  Use mips_splittable_symbol_p to check whether a LO_SUM
7988                 address should be used.  Use mips_emit_high to generate the
7989                 high part of such an address.  Adjust the global symbol + offset
7990                 case to match the change to mips_force_temprorary.
7991                 (mips_legitimize_move): Shuffle call to mips_legitimize_symbol.
7992                 If generating explicit-reloc PIC, load the address of global
7993                 symbols from the GOT.  Use mips_emit_high to emit the high part
7994                 of an address.
7995                 (mips_simplify_dwarf_addr): New function.
7996                 (mips_move_1word): Use lwc1 instead of l.s and swc1 instead of s.s.
7997                 (mips_move_2words): Likewise ldc1/l.d and sdc1/s.d if TARGET_64BIT.
7998                 (mips_expand_call): Load the addresses of global functions using
7999                 %call* relocs if generating explicit-reloc PIC.  Don't generate
8000                 an exception_receiver pattern.
8001                 (override_options): Initialize mips_got_alias_set.
8002                 (print_relocation): Remove in favor of...
8003                 (mips_reloc_string): ...this new function.
8004                 (print_operand): Handle '%R'.  Use mips_reloc_string.
8005                 (print_operand_address): Use print_operand to print the symbolic
8006                 part of a LO_SUM address.
8007                 (mips_output_function_prologue): Use .cprestore, reverting last patch.
8008                 (mips_encode_section_info): Factor out DECL_RTL accesses.  Reverse
8009                 sense of SYMBOL_REF_FLAG for PIC, using binds_local_p to check
8010                 for local symbols.
8011
8012         2003-02-02  Eric Christopher  <echristo@redhat.com>
8013
8014                 * config/mips/mips.c (mips_sign_extend): Remove.
8015                 * config/mips/mips-protos.h: Ditto.
8016                 * config/mips/mips.md (movdi_internal2_extend): Remove.
8017                 (extendsidi2): Fix mode of convert_memory_address.
8018
8019         2003-01-24  Eric Christopher  <echristo@redhat.com>
8020
8021                 * config/mips/mips.md: Rewrite zero_extend* and extend*
8022                 patterns. Use explicit instructions and split after reload
8023                 for register extensions.
8024                 (ashlsi3_internal1_extend): New combiner pattern for
8025                 shift and extend combinations.
8026                 * config/mips/mips.h: Change Pmode back to ptr_mode
8027                 for performance enhancement.
8028                 * combine.c (expand_compound_operation): Make sure
8029                 that zero_extend operation is profitable.
8030
8031         2003-01-14  Richard Sandiford  <rsandifo@redhat.com>
8032
8033                 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Make size of stored
8034                 addresses depend on ptr_mode rather than Pmode.
8035                 (TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT): Update acoordingly.
8036                 (INITIALIZE_TRAMPOLINE): Rework to handle Pmode != ptr_mode.
8037                 (CASE_VECTOR_MODE): Use ptr_mode for !TARGET_MIPS16.
8038                 (ASM_OUTPUT_ADDR_VEC_ELT): Update accordingly.
8039                 * config/mips/mips.md (tablejump): Likewise.  Remove Pmode
8040                 condition for selecting cpaddsi or cpadddi: use cpadd instead.
8041                 (tablejump_internal1): Remove condition.
8042                 (tablejump_internal2): Change condition to TARGET_64BIT.
8043                 (cpaddsi): Rename to...
8044                 (cpadd): ...this.
8045                 (cpadddi): Remove.
8046
8047         2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
8048
8049                 * config/mips/mips-protos.h (mips16_constant_after_function_p,
8050                 mips_address_cost, mips_check_split, double_memory_operand,
8051                 mips16_gp_offset, mips16_gp_offset_p, mips16_constant,
8052                 pic_address_needs_scratch, symbolic_operand): Remove declarations.
8053                 (mips_legitimate_address_p): Return bool.
8054                 (mips_address_insns, mips_fetch_insns, mips_const_insns,
8055                 mips_legitimize_address, mips_legitimize_move,
8056                 mips_expand_call): Declare.
8057                 (mips_return_addr): Move outside #ifdef RTX_CODE.
8058
8059                 * config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): New macro.
8060                 (PIC_FN_ADDR_REG): New reg_class.
8061                 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add corresponding entries.
8062                 (GR_REG_CLASS_P): True for PIC_FN_ADDR_REG.
8063                 (SMALL_OPERAND, SMALL_OPERAND_UNSIGNED, LUI_OPERAND,
8064                 CONST_HIGH_PART, CONST_LOW_PART, LUI_INT): New macros.
8065                 (SMALL_INT, SMALL_INT_UNSIGNED, CONST_OK_FOR_LETTER_P): Use new macros.
8066                 (EXTRA_CONSTRAINTS): Give new meanings to Q, R and S.
8067                 (CONSTANT_ADDRESS_P): Use mips_legitimate_address_p.
8068                 (LEGITIMATE_PIC_OPERAND): Undefine.
8069                 (LEGITIMATE_CONSTANT_P): Use mips_const_insns.
8070                 (LEGITIMIZE_ADDRESS): Use mips_legitimize_address.
8071                 (CONSTANT_AFTER_FUNCTION_P): Remove definition in #if 0 block.
8072                 (FUNCTION_MODE): Change to SImode.
8073                 (CONST_COSTS): Use mips_const_insns to calculate the cost of
8074                 most constants.  Treat const_artih_operands specially if they
8075                 occur in a PLUS or MINUS.
8076                 (CONSTANT_POOL_COST): New macro.
8077                 (RTX_COSTS): Use mips_address_insns for MEMs, with a base cost of 2.
8078                 Add LO_SUM handling.
8079                 (ADDRESS_COST): Undefine.
8080                 (PREDICATE_CODES): Add symbolic_operand and const_arith_operand.
8081                 Add CONST to the list of codes for arith_operand.  Add LABEL_REF
8082                 to call_insn_operand and remove CONST_INT.
8083
8084                 * config/mips/mips.c: Include integrate.h.
8085                 (SINGLE_WORD_MODE_P): New macro.
8086                 (mips_constant_type, mips_symbol_type, mips_address_type): New enums.
8087                 (mips_constant_info, mips_address_info): New structs.
8088                 (mips_regno_to_class): Map $25 to PIC_FN_ADDR_REG.
8089                 (mips_classify_constant, mips_classify_symbol,
8090                 mips_valid_base_register_p, mips_symbolic_address_p,
8091                 mips_classify_address, mips_symbol_insns,
8092                 mips16_unextended_reference_p, mips_address_insns, mips_const_insns,
8093                 mips_fetch_insns, mips_force_temporary, mips_add_offset,
8094                 mips_legitimize_symbol, mips_legitimize_address, mips_legitimize_move,
8095                 mips_print_relocation): New functions.
8096                 (const_arith_operand): New operand predicate.
8097                 (arith_operand): Use it.
8098                 (mips_const_double_ok, mips16_simple_memory_operand,
8099                 simple_memory_operand, double_memory_operand, mips_check_split,
8100                 mips_address_cost, pic_address_needs_scratch, mips16_gp_offset,
8101                 mips16_gp_offset_p, mips16_output_gp_offset,
8102                 mips16_constant_after_function_p, mips16_constant): Remove.
8103                 (call_insn_operand): Be more fussy about symbolic constants.
8104                 Use register_operand.
8105                 (move_operand): Use mips_symbolic_address_p to check symbolic
8106                 operands and general_operand to check the rest.
8107                 (symbolic_operand): Use mips_classify_constant.
8108                 (mips_legitimate_address_p): Use mips_classify_address.
8109                 (mips_move_1word): Combine handling of symbolic addresses.
8110                 Remove special treatment of gp-relative loads for TARGET_MIPS16.
8111                 (move_move_2words): Likewise.  Assume addresses are offsettable
8112                 if they need to refer to more than one word.  Add HIGH handling.
8113                 (mips_restore_gp): Use ptr_mode for the GP save slot.
8114                 (mips_expand_call): New function, combining the old mips.md
8115                 call and call_internal define_expands.  If the address isn't
8116                 a call_insn_operand, force it into a register.  For SVR4 PIC,
8117                 emit an exception_receiver instruction after the call.
8118                 (override_options): Only override flag_pic for TARGET_ABICALLS
8119                 if it is currently zero.  Allow mips_split_addresses when
8120                 Pmode == DImode too, except when ABI_HAS_64BIT_SYMBOLS.
8121                 Add new register class letter, 'c'.
8122                 (print_operand): Use mips_classify_constant for constant operands.
8123                 (print_operand_address): Use mips_classify_address.
8124                 (mips_output_function_prologue): Don't use .cprestore.
8125                 (mips_expand_epilogue): For TARGET_MIPS16, only adjust the stack
8126                 via the frame pointer if current_function_calls_eh_return.
8127                 (mips_encode_section_info): For TARGET_ABICALLS, use SYMBOL_REF_FLAG
8128                 to mark whether a symbol is local or global.
8129                 (build_mips16_call_stub): Expect the address of the function rather
8130                 than a MEM reference to it.  Update call generation sequences.
8131                 (mips16_optimize_gp): Remove Pmode checks.  Temporarily disable
8132                 small-data adjustments.
8133
8134                 * config/mips/mips.md: Remove 'R'/'m' memory distinction.  Use default
8135                 length for loads and stores.
8136                 (UNSPEC_CPADD, UNSPEC_RELOC_GPREL16): New constants.
8137                 (define_attr type): Add const and prefetch.
8138                 (define_attr length): Use mips_const_insns for const instructions.
8139                 Use mips_fetch_insns for load and store instructions.
8140                 (define_attr single_insn): New.
8141                 (define_attr can_delay): Use it.
8142                 (define_attr abicalls): Remove.
8143                 (define_delay): Use can_delay.  Always allow calls to have delay slots.
8144                 (addsi3_internal_2): Add 'Q' constraint.
8145                 (movsi_ulw, movsi_usw, movdi_uld, movdi_usd): Set length to 8.
8146                 (high): Remove.
8147                 (lowsi): Renamed from low.
8148                 (lowdi): New pattern.
8149                 (movdi, movsi): Use mips_legitimize_move.  Remove define_split.
8150                 (lwxc1, ldxc1, swxc1, sdxc1): Set length to 4.
8151                 (loadgp): Change operand 0 to an immediate_operand.
8152                 (tablejump): Use the same patterns for SVR4 PIC but emit a cpadd
8153                 beforehand.
8154                 (cpaddsi, cpadddi): New patterns.
8155                 (tablejump_internal3, tablejump_internal4): Remove define_expands
8156                 and associated define_splits.
8157                 (call, call_value): Use mips_expand_call.
8158                 (call_internal): New, replacing all existing call_internal* insns.
8159                 (call_value_internal): Likewise call_value_internal*.
8160                 (call_value_multiple_internal): Likewise call_value_multiple_internal*.
8161                 (untyped_call): Remove if (operands[0]) magic.
8162                 (prefetch_si_address, prefetch_si): Change type to "prefetch".
8163                 (prefetch_di_address, prefetch_di): Likewise.
8164                 (leasi, leadi): Remove.
8165                 (reloc_gprel16): New.
8166
8167                 * config/mips/5400.md (ir_vr54_hilo): Include const type.
8168                 * config/mips/5500.md (ir_vr55_hilo): Likewise.
8169                 * config/mips/sr71k.md (ir_sr70_hilo): Likewise.
8170
8171         2003-01-08  Eric Christopher  <echristo@redhat.com>
8172
8173                 * config.gcc (mipsisa32*): Change ABI_MEABI to ABI_EABI.
8174                 * config/mips/elf.h (STARTFILE_SPEC): Remove ABI_MEABI references and
8175                 configure check for libgloss.
8176                 * config/mips/elf64.h: Ditto.
8177                 * config/mips/mips.c: Remove ABI_MEABI.
8178                 * config/mips/mips.h: Ditto.
8179
8180         2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
8181
8182                 Fix merge fallout.
8183                 * config/mips/mips.md (mul_acc_si): Reapply 2002-10-16 change.
8184                 (muldi3_internal): Remove outdated comment.
8185                 (*muls_di, *umuls_di): Fix comment and 64-bitness.
8186                 (*smsac_di, *umsac_di): Likewise.  Reformat.
8187                 (umulsi3_highpart): Minor formatting tweaks.
8188                 (umulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.  Remove
8189                 redundant scratch operand.  Minor formatting tweak.
8190                 (umulsi3_highpart_mulhi_internal): Use for !TARGET_64BIT as well.
8191                 (umulsi3_highpart_neg_mulhi_internal): Likewise.  Fix asm template.
8192                 (smulsi3_highpart): As for the unsigned version.
8193                 (smulsi3_highpart_internal): Likewise.
8194                 (smulsi3_highpart_mulhi_internal): Likewise.
8195                 (smulsi3_highpart_neg_mulhi_internal): Likewise.
8196                 (smuldi3_highpart, umuldi3_highpart): Minor formatting tweaks.
8197                 (*smul_acc_di): Remove duplicated pattern.
8198                 (*umul_acc_di, *smul_acc_di): Reapply 2002-10-16 change.
8199                 (anddi3) [unnamed mips16 pattern]: Remove reintroduced length.
8200                 (zero_extendsidi2_internal2): Remove new, but commented-out pattern.
8201
8202         2002-10-22  Eric Christopher  <echristo@redhat.com>
8203
8204                 * config/mips/mips-protos.h (mips_return_addr): New.
8205                 * config/mips/mips.c (mips_return_addr): New.
8206                 (movdi_operand): Remove.
8207                 (se_register_operand): Ditto.
8208                 (se_reg_or_0_operand): Ditto.
8209                 (se_uns_arith_operand): Ditto.
8210                 (se_arith_operand): Ditto.
8211                 (se_nonmemory_operand): Ditto.
8212                 (extend_operator): Ditto.
8213                 (highpart_shift_operator): Ditto.
8214                 (mips_initial_elimination_offset): Remove return address pointer
8215                 elimination.
8216                 (mips_reg_names): Remove $ra.
8217                 (mips_regno_to_class): Ditto.
8218                 * config/mips/mips.h (POINTER_SIZE): Define based on TARGET_LONG64
8219                 and TARGET_64BIT.
8220                 (POINTER_BOUNDARY): Remove.
8221                 (POINTERS_EXTEND_UNSIGNED): Define to 0.
8222                 (PROMOTE_MODE): Promote to Pmode.
8223                 (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
8224                 (Pmode): Define to TARGET_64BIT.
8225                 (FUNCTION_MODE): Define as Pmode.
8226                 (mips_args): Remove deleted functions.
8227                 (SIZE_TYPE): Depend on POINTER_SIZE.
8228                 (PTRDIFF_TYPE): Ditto.
8229                 (FIXED_REGISTERS): Fix extra registers.
8230                 (CALL_USED_REGISTERS): Ditto.
8231                 (CALL_REALLY_USED_REGISTERS): Ditto.
8232                 (RAP_REG_NUM): Remove.
8233                 (RETURN_ADDRESS_POINTER_REGNUM): Ditto.
8234                 (RETURN_ADDR_RTX): Define to mips_return_addr.
8235                 (ELIMINABLE_REGS): Remove RETURN_ADDRESS_POINTER_REGNUM.
8236                 (CAN_ELIMINATE): Ditto.
8237                 * config/mips/mips.md: For DImode patterns, take into account
8238                 deletions above. Split mulsidi patterns into sign_extend and
8239                 zero_extend.
8240
8241         2002-10-16  Richard Sandiford  <rsandifo@redhat.com>
8242                     Michael Meissner  <meissner@redhat.com>
8243
8244                 * config/mips/mips.h (ISA_HAS_MACC): True for normal-mode vr4120 code.
8245                 * config/mips/mips.md (mulsi3_mult3): Add a define_peephole2 to
8246                 mop up unnecessarly moves through LO.
8247                 (*mul_acc_si): Remove vr5400 and vr5500 handling from here.
8248                 (*macc): New pattern for ISA_HAS_MACC.  Add define_peephole2s to
8249                 change mtlo/macc sequences into mul/add sequences when a three-
8250                 address mul is available.
8251                 (*macc2): New pattern.  Add a define_peephole2 to generate it.
8252                 (*mul_sub_si): Fix contraint for operand 5.
8253                 (*muls): Use in 32-bit code as well.
8254                 (*msac): Likewise.  Use msub instead of msac in vr5500 code
8255                 if the destination is LO.  Remove duplicate define_split.
8256                 (*muls_di): Use only in 32-bit code.  Adjust rtl accordingly.
8257                 (*msac_di): Likewise.  Fix formatting.
8258                 (smulsi3_highpart, umulsi3_highpart): Use mulhi in 32-bit code too.
8259                 (*xmulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.
8260                 (*xmulsi3_highpart_mulhi): Use even if !TARGET_64BIT.
8261                 (*xmulsi3_neg_highpart_mulhi): Likewise.
8262                 (*mul_acc_64bit_di): Remove.
8263                 (*mul_acc_di): Use only in 32-bit code.  Handle ISA_HAS_MACC as well.
8264
8265         2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
8266
8267                 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
8268                 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
8269                 (MULTILIB_DIRNAMES): Remove long32.
8270                 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
8271                 (MULTILIB_REDUNDANT_DIRS): Remove.
8272
8273         2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
8274
8275                 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
8276                 * gcc.c (driver_self_specs): New variable.
8277                 (do_self_spec): New function.
8278                 (main): Use it to process driver_self_specs.
8279
8280         2002-10-09  Richard Sandiford  <rsandifo@redhat.com>
8281
8282                 * config/mips/mips.md (one_cmpldi2): Use only if TARGET_64BIT.
8283                 Remove DImode define_split for !TARGET_64BIT.
8284                 (anddi3): Remove !TARGET_64BIT support from here as well.
8285                 Change operand 2's predicate to se_uns_arith_operand.
8286                 Add constant alternatives to define_insn.
8287                 (iordi3, xordi3, *nordi3): Likewise.
8288                 (anddi3_internal1, xordi3_immed): Remove.
8289
8290         2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8291
8292                 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
8293                 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
8294                 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
8295                 * config/mips/mips.md: Apply same renaming here.
8296
8297         2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8298
8299                 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
8300                 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
8301                 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
8302                 * config/mips/mips.md (define_attr cpu): Remove r4320.
8303                 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
8304
8305         2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8306
8307                 * config/mips/mips.c (mips16_strings): New variable.
8308                 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
8309                 symbol in mips16_strings.  Free the list.
8310                 (mips_encode_section_info): Keep track of local strings.
8311
8312         2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8313
8314                 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
8315                 (sordered_df, sordered_sf): Remove.
8316                 * config/mips/mips.c (get_float_compare_codes): New fn.
8317                 (gen_int_relational, gen_conditional_move): Use it.
8318
8319         2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
8320
8321                 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
8322                 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
8323                 * config/mips/mips.c (fcc_register_operand): New function.
8324                 (mips_emit_fcc_reload): New function, extracted from reload_incc.
8325                 (override_options): Allow TFmode values in float registers
8326                 if ISA_HAS_8CC.
8327                 * cnfig/mips/mips.md (reload_incc): Change destination prediate
8328                 to fcc_register_operand.  Remove misleading source constraint.
8329                 Use mips_emit_fcc_reload.
8330                 (reload_outcc): Duplicate reload_incc.
8331
8332
8333 2003-04-30  Diego Novillo  <dnovillo@redhat.com>
8334
8335         * builtins.def (BUILTIN_CONSTANT_P): Mark as constant.
8336
8337 2003-04-30  Geoffrey Keating  <geoffk@apple.com>
8338
8339         * tree-inline.c (inlinable_function_p): Back out last change, it's
8340         unnecessary.
8341
8342 2003-04-30  Steven Bosscher  <steven@gcc.gnu.org>
8343
8344         * ggc-page.c (TREE_EXP_SIZE): Define.
8345         (extra_order_size_table): New entry for expr trees with
8346         two operands.
8347
8348 2003-04-30  Gabriel Dos Reis <gdr@integrable-solutions.net>
8349
8350         * c-common.c (if_elt): Use location_t in lieu of "file, line" pair.
8351         (c_expand_start_cond): Adjust.
8352         (c_expand_end_cond): Don't use warning_with_file_and_file.
8353         (shadow_warning): Likewise.
8354
8355 2003-04-30  Nathan Sidwell  <nathan@codesourcery.com>
8356
8357         * tree.h (DECL_POINTER_DEPTH): Remove.
8358         (struct tree_decl): Remove pointer_depth.
8359
8360 2003-04-30  Janis Johnson  <janis187@us.ibm.com>
8361
8362         * config/rs6000/linux64.h (ASM_OUTPUT_LABELREF): Remove.
8363         * config/rs6000/rs6000.c (rs6000_elf_strip_name_encoding): Remove.
8364         (rs6000_xcoff_encode_section_info): Remove.
8365         (current_file_function_operand): Use SYMBOL_REF_FLAGS; fix latent bug.
8366         (rs6000_output_mi_thunk): Remove dead code; use SYMBOL_REF_FLAGS.
8367         (small_data_operand, rs6000_emit_move, rs6000_elf_in_small_data_p,):
8368         Use SYMBOL_REF_FLAGS.
8369         (rs6000_elf_encode_section_info): Call default_encode_section_info for
8370         generic flags, use SYMBOL_REF_FLAGS; code cleanups.
8371         * sysv4.h (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
8372         (SYMBOL_FLAG_SMALL_V4, SYMBOL_REF_SMALL_V4_P): New.
8373         * xcoff.h (TARGET_ENCODE_SECTION_INFO): Remove.
8374         (ASM_DECLARE_FUNCTION_NAME): Remove setting of SYMBOL_REF_FLAG.
8375
8376 2003-04-30  Gabriel Dos Reis <gdr@integrable-solutions.net>
8377
8378         * diagnostic.c (output_pointer): Use HOST_PTR_PRINTF.
8379
8380 2003-04-30  Andreas Schwab  <schwab@suse.de>
8381
8382         * doc/extend.texi (Other Builtins): Enclose multiple word data
8383         type in braces for @deftypefn.
8384
8385 2003-04-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8386
8387         * stor-layout.c (mode_for_size_tree): Use BLKmode if SIZE overflows.
8388
8389         * doc/install.texi (--enable-threads): Document "gnat" option.
8390
8391 2003-04-30  Gabriel Dos Reis <gdr@integrable-solutions.net>
8392
8393         * diagnostic.h (output_formatted_scalar): Tweak.
8394         * diagnostic.c (output_long_decimal): Likewise.
8395         (output_unsigned_decimal): Likewise.
8396         (output_long_unsigned_decimal): Likewise.
8397         (output_octal): Likewise.
8398         (output_long_octal): Likewise.
8399         (output_hexadecimal): Likewise.
8400         (output_long_hexadecimal): Likewise.
8401         (output_pointer): New function.
8402         (output_format): Use it.  Recognize "%p" format specifier.
8403
8404 2003-04-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8405
8406         * function.c (purge_addressof_1): Postpone insn in fewer cases.
8407
8408 2003-04-29  Geoffrey Keating  <geoffk@apple.com>
8409
8410         * config/rs6000/host-darwin.c (segv_handler): When -dH is used,
8411         call abort() after running out of stack space.
8412
8413         * c-typeck.c (function_types_compatible_p): Ignore incompatible
8414         'volatile' qualifiers on a function's return type in GNU mode.
8415
8416 2003-04-29  Aldy Hernandez  <aldyh@redhat.com>
8417
8418         * expr.c (emit_group_load): Dump parallels of simd types to
8419         memory.
8420
8421 2003-04-29  Vladimir Makarov  <vmakarov@redhat.com>
8422
8423         * genautomata.c (add_vect): Check undefined value for range type
8424         too.
8425
8426 2003-04-29  Phil Edwards  <pme@gcc.gnu.org>
8427
8428         * configure.in:  More general test for cmp --ignore-initial.
8429         * configure:  Regenerate.
8430
8431 2003-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8432
8433         * stor-layout.c (mode_for_size_tree): Use tree_low_cst.
8434         (layout_decl, place_field): Likewise.
8435         Also make minor type and whitespace changes.
8436
8437         * tree.c (save_expr): Don't fold a COMPONENT_REF.
8438
8439 2003-04-29  Olivier Hainque <hainque@act-europe.fr>
8440
8441         * calls.c (expand_call): When modes of target and valreg match, force
8442         sibcall failure when target is a MEM.
8443
8444 2003-04-29  Geoffrey Keating  <geoffk@apple.com>
8445
8446         * tree-inline.c (inlinable_function_p): Don't support inlining
8447         functions using varargs.
8448
8449         * doc/invoke.texi (Overall Options): Mention -x objective-c-header.
8450
8451         * dwarf2out.c (output_call_frame_info): No need to output EH
8452         unwind information if all_throwers_are_sibcalls.
8453
8454         * c-semantics.c (expand_unreachable_stmt): Return a tree.
8455         (expand_stmt): Update for change to expand_unreachable_stmt.
8456         (expand_unreachable_if_stmt): Likewise.
8457
8458         * Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
8459
8460 2003-04-29  Jason Merrill  <jason@redhat.com>
8461
8462         PR middle-end/10336
8463         * jump.c (never_reached_warning): Really stop looking if we reach
8464         the beginning of the function.
8465
8466 2003-04-29  Bob Wilson  <bob.wilson@acm.org>
8467
8468         * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE, USER_LABEL_PREFIX):
8469         Remove redundant macros.
8470         (WCHAR_TYPE, WCHAR_TYPE_SIZE): Change to "short unsigned int".
8471         (LOCAL_LABEL_PREFIX): Define unconditionally.
8472         (NO_DOT_IN_LABEL): Clarify comment.
8473         * config/xtensa/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Add explicit
8474         definition to "long int".
8475
8476 2003-04-29  Alexander Kabaev  <kan@FreeBSD.ORG>
8477
8478         bootstrap/10452
8479         * gengtype-yacc.y: Improve portability.
8480
8481 2003-04-29  Zack Weinberg  <zack@codesourcery.com>
8482
8483         * config.gcc: Install obsolete target list for GCC 3.3.
8484         * doc/install.texi: Mention in specific-target instructions
8485         that certain configurations are deprecated.
8486
8487 2003-04-29  Zack Weinberg  <zack@codesourcery.com>
8488
8489         * tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
8490
8491 2003-04-29  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
8492
8493         * c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
8494         * gcc.c (display_help): Likewise.
8495         * toplev.c (f_options): Likewise.
8496         * params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
8497         * config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
8498         * config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
8499         * config/s390/s390.h (TARGET_SWITCHES): Likewise.
8500         * config/v850/v850.h (TARGET_SWITCHES): Likewise.
8501
8502 2003-04-29  J"orn Rennecke <joern.rennecke@superh.com>
8503
8504         * varasm.c (default_assemble_visibility): Use assemble_name.
8505
8506 2003-04-29  David O'Brien  <obrien@FreeBSD.org>
8507
8508         * config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
8509         * config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
8510         (SIZE_TYPE): New macro.
8511         * config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
8512         (SET_ASM_OP): New macro.
8513         (HANDLE_SYSV_PRAGMA): New macro.
8514         (ASM_WEAKEN_LABEL): New macro.
8515
8516 2003-04-28  Mark Mitchell  <mark@codesourcery.com>
8517
8518         PR c++/10180
8519         * tree-inline.c (expand_call_inline): Call push_srcloc when
8520         encountering EXPR_WITH_FILE_LOCATION.  Honor warn_inline.
8521
8522 2003-04-28  Mike Stump  <mrs@apple.com>
8523
8524         * gdbinit.in: Update to reflect new identifier structure.
8525
8526 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
8527
8528         * tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
8529         (struct tree_int_cst, struct tree_real_cst, struct tree_string,
8530         struct tree_complex, struct tree_vector): Remove RTL field.
8531         (CONSTRUCTOR_ELTS): Use elt 0.
8532         * tree.def (CONSTRUCTOR): Delete first of its two operands.
8533         * varasm.c (output_constant_def): Remove early exit if
8534         TREE_CST_RTL is set.  Don't set TREE_CST_RTL.
8535         (decode_addr_const): Don't mention TREE_CST_RTL in comment.
8536         * target.h (select_section): Don't mention TREE_CST_RTL in comment.
8537         * doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
8538
8539 2003-04-28  Jakub Jelinek  <jakub@redhat.com>
8540
8541         * c-decl.c (finish_decl): When prototype with asmspec is found
8542         for built-in, adjust built_in_decls as well as expr.c decls.
8543         * expr.c (init_block_move_fn, init_block_clear_fn): New functions.
8544         (emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
8545         * expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
8546
8547 2003-04-28  Richard Henderson  <rth@redhat.com>
8548
8549         * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
8550         * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
8551         integral constant mult operand.
8552         (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
8553         (const_smulsi3_highpart_v8plus): Likewise.
8554         (const_smulsi3_highpart): Likewise.
8555         (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
8556         (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
8557         (const_umulsi3_highpart_v8plus): Likewise.
8558         (const_umulsi3_highpart): Likewise.
8559
8560 2003-04-28  David O'Brien  <obrien@FreeBSD.org>
8561
8562         * config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
8563         Define as 1.
8564
8565 2003-04-28  David O'Brien  <obrien@FreeBSD.org>
8566
8567         * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
8568
8569 2003-04-28  Jakub Jelinek  <jakub@redhat.com>
8570
8571         * builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
8572         * builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
8573         * builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
8574         functions.
8575         (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
8576
8577 2003-04-28  Nick Clifton  <nickc@redhat.com>
8578
8579         * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
8580
8581 2003-04-27  Zack Weinberg  <zack@codesourcery.com>
8582
8583         * expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
8584         output_constant_def, use its result instead of TREE_CST_RTL (exp).
8585         Can assume it has the form (mem (symbol_ref ".LCxxx")).
8586         (expand_expr <COMPONENT_REF>): Can always just extract the
8587         relevant field of a CONSTRUCTOR.
8588         (expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
8589         ARRAY_RANGE_REF>): Make control flow explicit.
8590         * varasm.c (output_constant_def): Can look at TREE_CST_RTL of
8591         an INTEGER_CST.
8592
8593 2003-04-27  Kazu Hirata  <kazu@cs.umass.edu>
8594
8595         * reload1.c (reg_set_luid): Fix a comment typo.
8596
8597 2003-04-27  Zack Weinberg  <zack@codesourcery.com>
8598
8599         * varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
8600         struct deferred_string, const_str_htab): Kill.
8601         (n_deferred_strings): New static variable.
8602         (build_constant_desc): Set SYMBOL_REF_DECL of the new
8603         symbol_ref to point to the constant.
8604         (output_constant_def): When a deferred string is forced out,
8605         just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
8606         (mark_constant): Likewise.
8607         (maybe_output_constant_def_contents): When deferring a string
8608         constant, just set STRING_POOL_ADDRESS_P and increment
8609         n_deferred_strings.
8610         (mark_constant_pool): Check n_deferred_strings, not the size
8611         of const_str_htab.
8612         (init_varasm_once): No need to create const_str_htab.
8613
8614         * rtl.def, rtl.h, doc/rtl.texi: Document possibility that
8615         SYMBOL_REF_DECL points to a constant.
8616
8617 2003-04-26  Zack Weinberg  <zack@codesourcery.com>
8618
8619         * varasm.c (output_constant_def): Split out two new static
8620         functions, build_constant_desc and maybe_output_constant_def_contents.
8621         Restructure for comprehensibility.  Don't call
8622         output_addressed_constants.  Treat defstr being non-NULL for
8623         STRING_POOL_ADDRESS_P constants as an invariant.
8624         (struct deferred_string): Remove labelno field.
8625         (output_constant_def_contents): Kill labelno argument. Call
8626         output_addressed_constants here.  Use ASM_OUTPUT_LABEL, not
8627         asm_out.internal_label.
8628         (mark_constant): Update call to output_constant_def_contents.
8629         Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
8630         constants as an invariant.
8631
8632 2003-04-26  Richard Henderson  <rth@redhat.com>
8633
8634         * config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
8635         (ix86_expand_call, ix86_rtx_consts): Likewise.
8636
8637 2003-04-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8638
8639         * doc/md.texi (cmpstr): Document additional restrictions.
8640
8641 2003-04-26  Neil Booth  <neil@daikokuya.co.uk>
8642
8643         * flags.h (time_report): Remove.
8644         * timevar.c (timevar_enable): New.
8645         (TIMEVAR_ENABLE): Remove, use timevar_enable.
8646         (timevar_init): Rename from init_timevar.
8647         * timevar.h (timevar_init): Rename from init_timevar.
8648         * toplev.c (time_report): Make static.
8649         (do_compile): Conditionally call init_timevar first.
8650         (preprocess_options): Move some code to do_compile.
8651
8652 2003-04-26  Stephane Carrez  <stcarrez@nerim.fr>
8653
8654         * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
8655
8656 2003-04-26  Neil Booth  <neil@daikokuya.co.uk>
8657
8658         * _cpp_lex_direct: Remove pointless code.
8659
8660 2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
8661
8662         * doc/extend.texi (Function Attributes): Document "near" and "far"
8663         for 68HC11 and 68HC12.
8664
8665 2003-04-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8666
8667         * expr.c (store_field): When making temporary for store, don't
8668         make it TYPE_QUAL_CONST.
8669
8670 2003-04-25  Phil Edwards  <pme@gcc.gnu.org>
8671
8672         * toplev.c (read_integral_parameter):  Use "argument" in error
8673         message to distinguish it from actual invalid options.
8674
8675 2003-04-25  Bob Wilson  <bob.wilson@acm.org>
8676
8677         * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
8678         addition of __PIC__ and __pic__ macros.
8679         * config/xtensa/xtensa.h: Clean up indentation.
8680
8681 2003-04-25  Bob Wilson  <bob.wilson@acm.org>
8682
8683         * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
8684         _GNU_SOURCE.  Add definitions of __PIC__ and __pic__.
8685         (SUBTARGET_CPP_SPEC): Define.
8686         (LIB_SPEC): Delete.
8687         * config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
8688         * config/xtensa/xtensa.c (xtensa_declare_object): Delete.
8689         * config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
8690         Define.
8691         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
8692         (ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
8693
8694 2003-04-25  H.J. Lu <hjl@gnu.org>
8695
8696         * config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
8697         for return mode.
8698         (ia64_expand_builtin): Set rmode to SImode for
8699         IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI,
8700         IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and
8701         IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode
8702         for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI.
8703
8704 2003-04-25  Phil Edwards  <pme@gcc.gnu.org>
8705
8706         * configure.in (make_compare_target):  Test for GNU cmp and set this
8707         variable appropriately.
8708         * Makefile.in (compare, compare3, compare4, compare-lean, compare3-lean,
8709         compare4-lean): Rename actual targets to slowcompare*.  New compare*
8710         targets depend on names based on make_compare_target.
8711         * configure:  Regenerated.
8712
8713 2003-04-25  Richard Henderson  <rth@redhat.com>
8714
8715         * config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
8716         to clobber ar.pfs and ar.unat.
8717         (ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
8718         fix test for spilling ar.pfs to the stack.
8719
8720 2003-04-25  Richard Henderson  <rth@redhat.com>
8721
8722         PR opt/10315
8723         * config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
8724         checks during reload; use validize_mem instead of adjust_address.
8725
8726 2003-04-26  Ben Elliston  <bje@wasabisystems.com>
8727
8728         * config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
8729         return values from recog_memoized().
8730
8731 2003-04-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8732
8733         PR opt/8705
8734         * gcse.c (try_replace_reg): On a successful substitution of a constant
8735         into a single set, try to simplify the source of the set.
8736         * loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
8737         constant source.
8738
8739 2003-04-24  Neil Booth  <neil@daikokuya.co.uk>
8740
8741         * cpplex.c (cpp_token_len): Tighten up.
8742         (cpp_token_as_text): Need extra byte now.
8743         * cpplib.c (glue_header_name): Need extra 2 bytes.
8744         * cppmacro.c (cpp_macro_definition): Need extra byte.
8745
8746 2003-04-24  Alexander Kabaev <kan@FreeBSD.ORG>
8747
8748         * config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
8749         const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
8750         where they might be not present. Use their _sp64 equivalent
8751         instead.
8752
8753 Thu Apr 24 20:42:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
8754
8755         * i386.md (cvtsi2sdq): Fix typo in previous patch.
8756
8757 2003-04-24  Krister Walfridsson  <cato@df.lth.se>
8758
8759         * configure.in: Check whether mbstowcs works.
8760         * configure, config.in: Regenerate.
8761         * intl.c: Use HAVE_WORKING_MBSTOWCS.
8762
8763 2003-04-24  H.J. Lu <hjl@gnu.org>
8764
8765         * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
8766         for __sync_bool_compare_and_swap_di for int return type.
8767
8768         * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
8769         Change return type to int.
8770         (__sync_bool_compare_and_swap): Likewise.
8771
8772 Thu Apr 24 16:55:26 CEST 2003  Jan Hubicka  <jh@suse.cz>
8773
8774         * cfgbuild.c (make_edges):  Do not use next_nonnote_insn when
8775         looking for fallthru edge.
8776
8777         * athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
8778         Fix.
8779         (athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
8780         athlon-fvector): New.
8781         (athlon_*): Revisit to match new optimization guide.
8782         * i386.c (ix86_adjust_cost):  Fix memory operand costs on Athlon/k8
8783         * i386.md (cvt??2?? patterns): Fix modes.
8784         (fistp patterns): Set modes.
8785
8786         Accidentaly commited with my earlier reload patch:
8787         PR c/10308
8788         * reload.c (find_reloads_address_1): Reload plus at the place of
8789         index register.
8790
8791 2003-04-24  Nathan Sidwell  <nathan@codesourcery.com>
8792
8793         New GCOV_TAG_FUNCTION layout
8794         * coverage.c (struct function_list): Replace name with ident.
8795         (struct counts_entry): Likewise.
8796         (fn_ident): New.
8797         (htab_counts_entry_hash, htab_counts_entry_eq,
8798         htab_counts_entry_del): Adjust.
8799         (reads_count_file, get_coverage_counts,
8800         coverage_begin_output, coverage_end_function): Adjust.
8801         (build_fn_info_type, build_fn_info_value): Likewise.
8802         * gcov-dump.c (tag_function): Adjust.
8803         * gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
8804         * gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
8805         * gcov.c (struct function_info): Add ident.
8806         (read_graph_file, read_count_file): Adjust.
8807         * libgcov.c (gcov_exit): Adjust.
8808
8809 2003-04-23  Richard Henderson  <rth@redhat.com>
8810
8811         PR opt/8300
8812         * toplev.c (rest_of_compilation): Delay no_new_pseudos until
8813         after initialize_uninitialized_subregs; update reg info assuming
8814         new pseudos were created.
8815
8816 2003-04-23  Neil Booth  <neil@daikokuya.co.uk>
8817
8818         * Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
8819         * c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
8820         (lex_string): Take cpp_string with full spelling.
8821         (cb_ident): Update.
8822         (c_lex): Update diagnostics.
8823         * cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
8824         (create_literal): New.
8825         (lex_string): Unterminated literals have type CPP_OTHER.
8826         (_cpp_lex_direct): Update calls to lex_string.  Use create_literal
8827         for CPP_OTHER.
8828         (cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
8829         (_cpp_equiv_tokens, cpp_interpret_charconst): Update.
8830         * cpplib.c (parse_include, do_line, do_linemarker,
8831         destringize_and_run): Update for token storing full spelling.
8832         * cpplib.h: Update token spelling types.
8833         * cppmacro.c (stringify_arg, check_trad_stringification):
8834         Update for token storing full spelling.
8835
8836 2003-04-23  Ulrich Weigand  <uweigand@de.ibm.com>
8837
8838         * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
8839
8840 2003-04-23  Richard Earnshaw  <rearnsha@arm.com>
8841
8842         * arm.h (TARGET_OPTIONS): Add value field.
8843
8844 2003-04-23  Mark Mitchell  <mark@codesourcery.com>
8845
8846         * doc/extend.texi: Remove duplicate 2003 copyright date.
8847
8848 2003-04-23  Nathan Sidwell  <nathan@codesourcery.com>
8849
8850         * Makefile.in (LIBGCC_DEPS): Add gcov headers.
8851         (libgcov.a): Depends on LIBGCC_DEPS.
8852         * basic-block.h (profile_info): Moved here from coverage.h. Made
8853         a pointer.
8854         * coverage.c (struct function_list): Fixed array of counter types.
8855         (struct counts_entry): Keyed by counter type, contains summary.
8856         (profile_info): Moved to profile.c.
8857         (prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
8858         vars.
8859         (profiler_label): Remove.
8860         (ctr_labels): New.
8861         (set_purpose, label_for_tag, build_counter_section_fields,
8862         build_counter_section_value, build_counter_section_data_fields,
8863         build_counter_section_data_values, build_function_info_fields,
8864         build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
8865         (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
8866         build_ctr_info_value, build_gcov_info): New.
8867         (htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
8868         (reads_counts_file): Adjust.
8869         (get_coverage_counts): Takes counter number. Add summary
8870         parameter. Adjust.
8871         (coverage_counter_ref): Tkaes counter number. Adjust. Lazily
8872         create counter array labels.
8873         (coverage_end_function): Adjust.
8874         (create_coverage): Adjust.
8875         (find_counters_section): Remove.
8876         * coverage.h (MAX_COUNTER_SECTIONS): Remove.
8877         (struct section_info, struct profile_info): Remove.
8878         (profile_info): Moved to basic-block.h.
8879         (coverage_counter_ref): Takes a counter number.
8880         (get_coverage_counts): Takes a counter number. Added summary
8881         parameter.
8882         (find_counters_section): Remove.
8883         * gcov-dump.c (tag_arc_counts): Rename to ...
8884         (tag_counters): ... here. Adjust.
8885         (tag_table): Move tag_counters to 3rd entry. Remove
8886         PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
8887         (dump_file): Check for counter tag values here.
8888         (tag_summary): Adjust.
8889         * gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
8890         * gcov-io.h (GCOV_LOCKED): New.
8891         (GCOV_TAG_ARC_COUNTS): Rename to ...
8892         (GCOV_TAG_COUNTS_BASE): ... here.
8893         (GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
8894         Remove.
8895         (GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
8896         (GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
8897         GCOV_TAG_IS_COUNTER): New.
8898         (struct gcov_ctr_summary): New.
8899         (struct gcov_summary): Adjust.
8900         (struct gcov_counter_section): Remove.
8901         struct gcov_counter_section_data): Remove.
8902         (struct gcov_function_info): Rename to ...
8903         (struct gcov_fn_info): ... here. Adjust.
8904         (struct gcov_ctr_info): New.
8905         (struct gcov_info): Adjust.
8906         * gcov.c (read_count_file): Adjust.
8907         (output_lines): Adjust.
8908         * libgcov.c (gcov_exit): Adjust.
8909         (__gcov_flush): Adjust.
8910         * mklibgcc.in (libgcc2_c_dep): Add gcov headers.
8911         * predict.c (maybe_hot_bb_p, probably_cold_bb_p,
8912         probably_never_executed_bb_p, compute_frequency_function): Adjust
8913         profile_info use.
8914         * profile.c (struct counts_entry): Remove.
8915         (profile_info): Define here.
8916         (get_exec_counts): Adjust get_coverage_counts call.
8917         (compute_branch_probablilities): Remove find_counters_section
8918         call.
8919         (gen_edge_profiler): Adjust coverage_counter_ref call.
8920         * tracer.c (tail_duplicate): Adjust profile_info use.
8921
8922 2003-04-23  Roger Sayle  <roger@eyesopen.com>
8923
8924         PR optimization/10339
8925         * builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
8926         directly instead of unsafely transforming call into a memcmp.
8927         (expand_builtin_strncmp): Likewise.
8928
8929 2003-04-22  Roger Sayle  <roger@eyesopen.com>
8930
8931         * alias.c (mark_constant_function):  Check for constancy and
8932         purity even of void functions.  Update both the function decl
8933         and the cgraph RTL info with the results.
8934
8935 2003-04-22  Roger Sayle  <roger@eyesopen.com>
8936
8937         * real.c (do_add): Change to return a bool indicating that the
8938         result of the operation may be inexact due to loss of precision.
8939         (do_multiply): Likewise.
8940         (do_divide): Likewise.
8941
8942 2003-04-22  Geoffrey Keating  <geoffk@apple.com>
8943             Loren James Rittle  <ljrittle@acm.org>
8944
8945         * dwarf2out.c (fde_table_allocated): Mark with GTY.
8946         (decl_die_table_allocated): Likewise.
8947         (abbrev_die_table_allocated): Likewise.
8948         (line_info_table_allocated): Likewise.
8949         (separate_line_info_table_allocated): Likewise.
8950         (pubname_table_allocated): Likewise.
8951         (arange_table_allocated): Likewise.
8952         (ranges_table_allocated): Likewise.
8953         (decl_die_table_in_use): Unconditionalize; mark with GTY.
8954         (abbrev_die_table_in_use): Likewise.
8955         (line_info_table_in_use): Likewise.
8956         (separate_line_info_table_in_use): Likewise.
8957         (pubname_table_in_use): Likewise.
8958         (arange_table_in_use): Likewise.
8959         (ranges_table_in_use): Likewise.
8960         (have_location_lists): Likewise.
8961         (emitcount): New GTY-marked static, moved...
8962         (maybe_emit_file): ...from here.
8963         (label_num): New GTY-marked static, moved...
8964         (gen_internal_sym): ...from here.
8965
8966 2003-04-22  Richard Henderson  <rth@redhat.com>
8967
8968         PR 8866
8969         * rtl.h (MEM_NOTRAP_P): New.
8970         (MEM_COPY_ATTRIBUTES): Copy it.
8971         * rtlanal.c (may_trap_p): Check it.
8972         * expr.c (do_tablejump): Set it.
8973         * doc/rtl.texi (Flags): Document it.
8974
8975         * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
8976
8977 2003-04-22  Olivier Hainque  <hainque@act-europe.fr>
8978
8979         * config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
8980         set FRP on stack adjustment for outgoing args if frame_pointer_needed.
8981
8982 2003-04-22  Vincent Celier <celier@gnat.com>
8983
8984         * gthr-gnat.h, gthr-gnat.c: new sources for implementation of
8985         --enable-threads=gnat.
8986         * Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
8987         * configure.in: Add gnat to the list of thread packages
8988         * configure: Rebuild.
8989         * config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
8990
8991 2003-04-22  Neil Booth  <neil@daikokuya.co.uk>
8992
8993         * cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
8994
8995 2003-04-22  Devang Patel  <dpatel@apple.com>
8996
8997         * cpptrad.c (_cpp_replacement_text_len): Add check for macro
8998         parameter count.
8999         (_cpp_copy_replacement_text): Same.
9000
9001 2003-04-22  Neil Booth  <neil@daikokuya.co.uk>
9002
9003         * c-lex.c (c_lex): Handle CPP_OTHER differently.
9004         * cppexp.c (_cpp_parse_expr): Similarly.
9005         * cpplex.c (SPELL_CHAR): Remove.
9006         (_cpp_lex_direct): Stray chars are saved as byte strings.
9007         (cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
9008         handle SPELL_CHAR.
9009         (cpp_avoid_paste): Update handling of CPP_OTHER.
9010         * cpplib.h: Spell CPP_OTHER like a number.
9011         (struct cpp_token): Remove member c.
9012         * cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
9013
9014 2003-04-22  David Turner <novalis@gnu.org>
9015
9016         * gbl-ctors.h: Add special license exception.
9017         * libgcc2.h: Likewise.
9018         * tsystem.h: Likewise.
9019         * gcov-io.h: Likewise.
9020
9021 2003-04-22  David Edelsohn  <edelsohn@gnu.org>
9022
9023         * fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
9024         macro defaulting to original BRANCH_COST heuristic.
9025         * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
9026
9027         * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
9028
9029 2003-04-22  Aldy Hernandez  <aldyh@redhat.com>
9030
9031         * config/rs6000/t-spe: Merge in t-fprules into file.
9032
9033         * config.gcc: Add t-spe to powerpc-eabispe.
9034
9035 2003-04-22  Kean Johnston  <jkj@sco.com>
9036
9037         * tlink.c (recompile_files): Add missing '=' to putenv calls
9038
9039 2003-04-22  Nathan Sidwell  <nathan@codesourcery.com>
9040
9041         * ginclude/stddef.h: Provide C++ safe offsetof.
9042
9043 2003-04-22  J"orn Rennecke <joern.rennecke@superh.com>
9044
9045         * function.c (purge_addressof_1): In (mem (addressof (reg))) case
9046         for reg notes, if there are no substitutions, just use a SUBREG.
9047
9048 2003-04-21  Mark Mitchell  <mark@codesourcery.com>
9049
9050         * Makefile.in (calls.o): Depend on except.h.
9051         * calls.c: Include except.h.
9052         (emit_call_1): Call note_eh_region_may_contain_throw if
9053         appropriate.
9054         * except.c (eh_region): Add may_contain_throw.
9055         (expand_eh_region_end_cleanup): Do not include handler code when
9056         it cannot be reached.
9057         (note_eh_region_may_contain_throw): New function.
9058         * except.h (note_eh_region_may_contain_throw): New function.
9059
9060 2003-04-21  Mark Mitchell  <mark@codesourcery.com>
9061
9062         * config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
9063         changes.
9064
9065 2003-04-21  Aldy Hernandez  <aldyh@redhat.com>
9066
9067         * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
9068         64-bit long doubles.
9069
9070 2003-04-21  Olivier Hainque  <hainque@act-europe.fr>
9071
9072         * fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
9073         a number of conversions required for type consistency and previously
9074         stripped off by STRIP_NOPS.
9075
9076         * calls.c (expand_call): Prevent sibcall optimization for calls to
9077         nested subprograms.
9078
9079         * expmed.c (extract_bit_field): Reverse operands of && condition to
9080         prevent a potential division by zero in the previously first branch.
9081         * config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
9082
9083 2003-04-21  Joel Brobecker  <brobecker@gnat.com>
9084
9085         * dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
9086         (subrange_type_die): Likewise.
9087         (modified_type_die): Emit a subrange_type DIE for Ada subrange types.
9088         (is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
9089
9090 2003-04-21  Nathan Sidwell  <nathan@codesourcery.com>
9091
9092         Break out coverage routines to new file.
9093         * Makefile.in (COVERAGE_H): New variable
9094         (C_OBJS): Add coverage.o
9095         (coverage.o): New target.
9096         (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
9097         dependencies.
9098         (GTFILES): Adjust.
9099         (gt-coverage.h): New target.
9100         (gt-profile.h): Remove.
9101         * profile.h: Remove. Move to ...
9102         * coverage.h: ... here. New. #include gcov-io.h.
9103         * gcov-io.h: Move function definitions to ...
9104         * gcov-io.c: ... here. New.
9105         * profile.c: Move coverage routines to coverage.c.
9106         (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
9107         end_branch_prob): Adjust.
9108         * coverage.c: New. Coverage routines from profile.c
9109         (coverage_counter_ref, coverage_init, coverage_finish,
9110         coverage_end_function, coverage_begin_output,
9111         coverage_counter_ref, get_coverage_counts): Define.
9112         * gcov-dump.c, gcov.c: #include gcov-io.c.
9113         * libgcov.c: Likewise. Adjust.
9114         * loop-init.c: Don't #include profile.h
9115         * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
9116         * rtl.h: Add coverage prototypes.
9117         * toplev.c (compile_file): Init coverage, not branch_prob.
9118         Always call coverage_finish.
9119         (rest_of_compilation): Call coverage_end_function.
9120
9121 2003-04-21  Matt Kraai  <kraai@alumni.cmu.edu>
9122
9123         * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
9124
9125 2003-04-21  Neil Booth  <neil@daikokuya.co.uk>
9126
9127         * c-ppoutput.c (cb_include): Don't take a cpp_token.
9128         * cppfiles.c: Don't undef strcmp.
9129         (find_include_file): Don't take a cpp_token.  Check for empty
9130         file names.
9131         (_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
9132         (cpp_push_include): Simplify.
9133         * cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
9134         * cpplib.c (glue_header_name): Return the file name, not a cpp_token.
9135         (parse_include): Similary.  Don't check for zero-length filenames.
9136         (do_include_common, do_pragma_dependency): Update accordingly.
9137         * cpplib.h (struct cpp_callbacks): Change prototype of include.
9138
9139 2003-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9140
9141         * doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
9142         details of conflict handling.
9143
9144         * fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
9145         when conversion overflows.
9146
9147         * stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
9148
9149         * expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
9150         before clearing.
9151
9152 2003-04-21  Mark Mitchell  <mark@codesourcery.com>
9153
9154         * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
9155         have the same form as the old RTL.
9156
9157 2003-04-21  Andreas Jaeger  <aj@suse.de>
9158
9159         * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
9160
9161 2003-04-20  Chris Lattner  <sabre@nondot.org>
9162             Zack Weinberg  <zack@codesourcery.com>
9163
9164         * c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
9165         genrtl_cleanup_stmt.  Correct comment at head of
9166         genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
9167
9168         * stmt.c (struct nesting): Kill n_function_calls.
9169         (expand_start_bindings): Don't set
9170         thisblock->data.block.n_function_calls.
9171         (expand_end_bindings): Compare function_call_count against 0.
9172         (expand_cleanups): Kill DONT_DO argument; all callers passed
9173         NULL_TREE. All callers updated to match.
9174
9175 2003-04-20  Zack Weinberg  <zack@codesourcery.com>
9176
9177         * varasm.c (struct deferred_constant, defer_addressed_constants_flag)
9178         (defer_addressed_constants, output_deferred_addressed_constants): Kill.
9179         (output_constant_def): Remove code predicated on
9180         defer_addressed_constants_flag.
9181
9182         * output.h: Remove prototypes of deleted functions.
9183         * c-typeck.c (constructor_subconstants_deferred): Kill.
9184         (struct initializer_stack): Remove 'deferred' field.
9185         (start_init): Remove all references to the above.
9186         (finish_init): Likewise. Also remove never-executed call to
9187         output_deferred_addressed_constants.  Pull assignment to
9188         defstr out of if expression.
9189
9190 2003-04-20  Neil Booth  <neil@daikokuya.co.uk>
9191
9192         * cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
9193         NOTE_NEWLINE): Remove.
9194         * cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
9195         to handle new form of line note type.
9196
9197 2003-04-20  Zack Weinberg  <zack@codesourcery.com>
9198
9199         * target.h (encode_section_info): Add new argument carrying
9200         the RTL to be modified by the hook.
9201
9202         * varasm.c (make_decl_rtl, output_constant_def): Update calls
9203         to encode_section_info.
9204         (default_encode_section_info): Take and use RTL argument,
9205         don't use TREE_CST_RTL or DECL_RTL.
9206         * output.h: Update prototype of default_encode_section_info.
9207         * config/darwin.h (ASM_DECLARE_OBJECT_NAME)
9208         (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
9209         Update calls to encode_section_info.
9210
9211         * config/darwin.c, config/arm/arm.c, config/arm/pe.c
9212         * config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
9213         * config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
9214         * config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
9215         * config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
9216         * config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
9217         Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
9218         except for PE dllimport/dllexport.  Update calls to
9219         default_encode_section_info.
9220
9221         * config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
9222         Update prototypes.
9223
9224         * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
9225
9226 2003-04-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9227
9228         PR/8705
9229         * pa.md (movccfp): New expander.
9230         (setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
9231         Reverse fcmp conditions.
9232
9233 2003-04-20  Marek Michalkiewicz  <marekm@amelek.gda.pl>
9234
9235         * config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
9236         of operand 1 correctly.
9237
9238 2003-04-20  Nathan Sidwell  <nathan@codesourcery.com>
9239
9240         * cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
9241         * gcov.c (output_lines): Don't be so fussy about going past EOF.
9242
9243 2003-04-20  Neil Booth  <neil@daikokuya.co.uk>
9244
9245         * Makefile.in (LIBCPP_OBJS): Add cppcharset.o.
9246         (cppcharset.o): New target.
9247         * c-lex.c (is_extended_char): Move to cppcharset.c.
9248         (utf8_extend_token): Delete.
9249         * cppcharset.c: New file.
9250         * cpphash.h (_cpp_valid_ucn): New.
9251         * cpplex.c (lex_identifier): Update prototype.
9252         (continues_identifier_p): Rename forms_identifier_p.  Handle UCN
9253         escapes.
9254         (maybe_read_ucs): Rename maybe_read_ucn.  Update to use code
9255         in cppcharset.c.
9256         (lex_number, lex_identifier, cpp_parse_escape): Update.
9257         (_cpp_lex_direct): Update to handle UCNs.
9258         (cpp_avoid_paste): Don't paste to form a UCN.
9259
9260 2003-04-19  Roger Sayle  <roger@eyesopen.com>
9261
9262         * builtins.c (expand_builtin):  Don't expand a pure or const
9263         built-in function if the result will be ignored and none of
9264         its arguments are volatile.
9265
9266 2003-04-19  Kean Johnston  <jkj@sco.com>
9267
9268         * unwind-dw2.c (_Unwind_GetCFA): cast return to avoid warning
9269         * config.gcc: make SCO use dbxelf.h and elfos.h; only use one
9270         target fragment now: t-sco5; dont compile crti.o.
9271         * config/i386/sco5.h: major overhaul to remove all COFF remnants
9272         and to use elfos.h for most definitions.
9273         (BSS_SECTION_ASM_OP): set correct segment attributes.
9274         (PREFERED_DEBUGGING_TYPE): set to DWARF-2.
9275         (DWARF2_UNWIND_INFO): Always set to 1.
9276         (MD_STARTFILE_PREFIX): Make /usr/gnu/lib the default.
9277         (MD_STARTFILE_PREFIX_1): Define.
9278         (MD_EXEC_PREFIX): Adjust to /usr/gnu/bin if using GAS.
9279         (DEFAULT_LINKER): Define if not specified to configure.
9280         (CTORS_SECTION_ASM_OP): Remove COFF crud.
9281         (DTORS_SECTION_ASM_OP): Remove COFF crud.
9282         (WINT_TYPE): Define.
9283         (SDB_DEBUGGING_INFO): Remove.
9284         (EXTRA_SECTIONS): Likewise.
9285         (EXTRA_SECTION_FUNCTIONS): Likewise.
9286         (CTOR_LIST_BEGIN): Likewise.
9287         (CTOR_LIST_END): Likewise.
9288         (INIT_SECTION_FUNCTION): Likewise.
9289         (FINI_SECTION_FUNCTION): Likewise.
9290         (SUBTARGET_FRAME_POINTER_REQUIRED): Likewise.
9291         (LOCAL_LABEL_PREFIX): Likewise.
9292         (NON_SAVING_SETJMP): Likewise.
9293         (RETURN_POPS_ARGS): Likewise.
9294         (ASM_OUTPUT_SKIP): Likewise.
9295         (TARGET_ASM_NAMED_SECTION): Likewise.
9296         (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9297         (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
9298         (ASM_OUTPUT_IDENT): Likewise.
9299         (ASM_OUTPUT_CASE_LABEL): Likewise.
9300         (ASM_OUTPUT_ASCII): Likewise.
9301         (ASM_OUTPUT_LIMITED_STRING): Likewise.
9302         (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
9303         (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
9304         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
9305         (ASM_FINISH_DECLARE_OBJECT): Likewise.
9306         (ASM_DECLARE_OBJECT_NAME): Likewise.
9307         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
9308         (ASM_DECLARE_FUNCTION_NAME): Likewise.
9309         (ASM_DECLARE_RESULT): Likewise.
9310         (ASM_WEAKEN_LABEL): Likewise.
9311         (SUPPORTS_WEAK): Likewise.
9312         (APPLY_RESULT_SIZE): Likewise.
9313         (LPREFIX): Likewise.
9314         (ALIGN_ASM_OP): Likewise.
9315         (ASCII_DATA_ASM_OP): Likewise.
9316         (IDENT_ASM_OP): Likewise.
9317         (ASM_SHORT): Likewise.
9318         (ASM_LONG): Likewise.
9319         (TYPE_ASM_OP): Likewise.
9320         (SIZE_ASM_OP): Likewise.
9321         (STRING_ASM_OP): Likewise.
9322         (SKIP_ASM_OP): Likewise.
9323         (EH_FRAME_SECTION_ASM_OP): Likewise.
9324         (READONLY_DATA_SECTION_ASM_OP): Likewise.
9325         (INIT_SECTION_ASM_OP): Likewise.
9326         (FINI_SECTION_ASM_OP): Likewise.
9327         (TEXT_SECTION_ASM_OP): Likewise.
9328         (DATA_SECTION_ASM_OP): Likewise.
9329         (TYPE_OPERANT_FORMAT): Likewise.
9330         (ASM_SPEC): Remove COFF code.
9331         (STARTFILE_SPEC): Likewise. Always use crti.o; add -p and -pp support;
9332         cause -pg to emit an error; use pcrt1elf.o with -pp
9333         (ENDFILE_SPEC): Likewise.
9334         (TARGET_OS_CPP_BUILTINS): Add _SCO_DS_LL.
9335         (CPP_SPEC): Remove COFF crud; always look in /usr/gnu/include first.
9336         (LINK_SPEC): Remove COFF crud; use -E for environment switch not -R;
9337         add -z alt_resolve to support weak symbols the way GCC wants them.
9338         (LIB_SPEC): Use the profiler libraries in -p or -pp mode.
9339         (LIBGCC_SPEC): Dont use -lgcc in -G mode.
9340         (ASM_PREFERED_EH_DATA_FORMAT): Remove.
9341         * config/i386/t-sco5 (TARGET_LIBGCC2_CFLAGS): Remove.
9342         (CRTSTUFF_T_CFLAGS_S): Define.
9343         (MULTILIB_OPTIONS): Likewise.
9344         (MULTILIB_DIRNAMES): Likewise.
9345         (MULTILIB_MATCHES): Likewise.
9346         (MULTILIB_EXTRA_OPTS): Likewise.
9347         (LIBGCC): Likewise.
9348         (INSTALL_LIBGCC): Likewise.
9349         (crti.o): Remove.
9350         * config/i386/t-sco5gas: Remove.
9351         * doc/install.texi: Updated for new OpenServer instructions.
9352         * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
9353
9354 2003-04-19  Kean Johnston  <jkj@sco.com>
9355
9356         * fixinc/check.tpl: Allow user to over-ride diff program.
9357         * fixinc/inclhack.def: Removed extraneous #ifndef SVR5.
9358         (sco_math): Added test for SCO math header files.
9359         (sco_regset): Added check for conflicts with ieeefp.h.
9360         (svr4_disable_opt): Removed extraneous #ifdef SVR4.
9361         * fixinc/fixincl.x: Regenerated
9362         * fixinc/tests/base/math.h: Added sco_math tests.
9363         * fixinc/tests/base/string.h: New file.
9364         * fixinc/tests/base/sys/regset.h: New file.
9365
9366 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
9367
9368         * cpphash.h (struct cpp_buffer): Remove backup_to.
9369         * cpplex.c (BACKUP, get_effective_char): Die.
9370         (_cpp_skip_block_comment): Assume '*' is location on entry.
9371         (continues_identifier_p): Respect -fno-dollars-in-identifiers.
9372         (IF_NEXT_IS): Update.
9373         (_cpp_lex_direct): Don't use backup_to; look ahead directly.
9374
9375 2003-04-19  Matt Kraai  <kraai@alumni.cmu.edu>
9376
9377         * README.Portability: Move to a new section and obsolete K+R
9378         portability issues.
9379
9380 Sat Apr 19 14:56:17 CEST 2003  Jan Hubicka  <jh@suse.cz>
9381
9382         * rtlanal.c (subreg_offset_representable_p):  Fix call of
9383         subreg_lowpart.
9384
9385 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
9386
9387         * cpphash.h (struct cpp_reader): New member warned_dollar.
9388         * cpplex.c (continues_identifier_p): New function.
9389         (parse_identifier, parse_number, parse_string): Rename lex_identifer,
9390         lex_number and lex_string, and simplify.
9391         (parse_slow, unescaped_terminator_p): Die.
9392         (_cpp_lex_direct): Update.
9393
9394 2003-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9395
9396         * calls.c (expand_call): Provide init for old_stack_pointer_delta.
9397
9398 2003-04-19  Nathan Sidwell  <nathan@codesourcery.com>
9399
9400         * doc/invoke.texi (-fprofile-arcs): Mention -lgcov, locking and
9401         fork behavior.
9402
9403 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
9404
9405         * cppexp.c (eval_token): Permit true and false even if pedantic.
9406
9407 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
9408
9409         * cpplex.c (skip_whitespace): Rearrange to avoid stage1 ICE.
9410
9411 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
9412
9413         * cppfiles.c (ENABLE_VALGRIND_CHECKING, VALGRIND_DISCARD,
9414         MMAP_THRESHOLD, TEST_THRESHOLD, SHOULD_MMAP): Remove.
9415         (struct include_file): Remove fefcnt, mapped members.
9416         (open_file, stack_include_file, _cpp_pop_file_buffer): Disable caching.
9417         (read_include_file): Don't use mmap, terminate buffers in '\r'.
9418         (purge_cache): Don't use munmap.
9419         * cpphash.h (CPP_BUF_COLUMN): Update.
9420         (lexer_state): Remove lexing_comment.
9421         (struct _cpp_line_note): New.
9422         (struct cpp_buffer): New members cur_note, notes_used, notes_cap,
9423         next_line and need_line.  Remove col_adjust and saved_flags.
9424         (_cpp_process_line_notes, _cpp_clean_line, _cpp_get_fresh_line,
9425         _cpp_skip_block_comment, scan_out_logical_line): New.
9426         (_cpp_init_mbchar): Remove.
9427         * cppinit.c (init_library): Remove call to _cpp_init_mbchar.
9428         (cpp_read_main_file): Set line to 1 earlier.
9429         (post_options): -traditional-cpp doesn't want trigraphs.
9430         * cpplex.c (MULTIBYTE_CHARS): Remove code predicated on this.
9431         (add_line_note, _cpp_clean_line, _cpp_process_line_notes,
9432         _cpp_get_fresh_line): New.
9433         (handle_newline, skip_escaped_newlines, trigraph_p,
9434         continue_after_nul, _cpp_init_mbchar): Remove.
9435         (get_effective_char): Update.
9436         (_cpp_skip_block_comment): Rename from skip_block_comment, simplify.
9437         (skip_line_comment): Simplify.
9438         (skip_whitespace, parse_identifier, parse_slow, parse_number,
9439         parse_string): Update.
9440         (cpp_lex_direct): Use clean lines and process line notes.  Update.
9441         (cpp_interpret_charconst): No MULTIBYTE_CHARS.
9442         * cpplib.c (prepare_directive_trad): Call scan_out_logical_line
9443         directly.
9444         (_cpp_handle_directive): Don't set saved_flags.
9445         (run_directive, destringize_and_run, cpp_define, cpp_define_builtin,
9446         cpp_undef, handle_assertion, cpp_push_buffer): Update.
9447         (_cpp_pop_buffer): Free notes.
9448         * cppmacro.c (builtin_macro, paste_tokens): \n terminate buffer.
9449         * cpppch.c (cpp_read_state): \n terminate buffer.
9450         * cpptrad.c (skip_escaped_newlines, handle_newline): Remove.
9451         (copy_comment): Use _cpp_skip_block_comment.
9452         (skip_whitespace, lex_identifier, _cpp_read_logical_line_trad):
9453         Simplify.
9454         (_cpp_overlay_buffer, _cpp_remove_overlay, push_replacement_text,
9455         save_replacement_text): Update.
9456         (scan_out_logical_line): Update to use clean lines and process
9457         line notes.
9458         * fix-header.c (read_scan_file): Update.
9459
9460 2003-04-18  Douglas B Rupp  <rupp@gnat.com>
9461
9462         * unwind-dw2-fde.c (__register_frame_info_bases): Check for
9463         null begin parameter (as well as pointer to null).
9464         (__deregister_frame_info_bases): Likewise.
9465
9466 2003-04-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9467
9468         * function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a
9469         hard or virtual register and copy into pseudo if replacement fails.
9470
9471         * cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
9472
9473         * expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
9474
9475 2003-04-18  Olivier Hainque <hainque@act-europe.fr>
9476
9477         * calls.c (expand_call): Move special case for constructor calls
9478         to right place. Ensures constructor calls used to initialize
9479         arguments get a clean outgoing argument block for themselves.
9480         Move check for stack deallocation completeness until after last
9481         deallocation.  Add stack_pointer_delta to set of state
9482         variables saved and restored along with current stack_level.
9483
9484         * integrate.c (expand_inline_function): Ensure non-const actuals
9485         don't end up const in the caller's flow after conversion to possibly
9486         const formal type.
9487
9488 2003-04-18  Vincent Celier  <celier@gnat.com>
9489
9490         * dwarf2out.c (loc_descriptor_from_tree): Treat all *_MOD_EXPR
9491         and *_DIV_EXPR as TRUNC_*_EXPR.
9492
9493 2003-04-18  Mark Mitchell  <mark@codesourcery.com>
9494
9495         * cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
9496         for orphaned jump tables.
9497
9498 2003-04-18  Kazu Hirata  <kazu@cs.umass.edu>
9499
9500         * reload1.c: Revert my previous patch on 2002-04-17.
9501
9502 2003-04-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9503
9504         * doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
9505         Add Segher Boessenkool.
9506
9507 2003-04-18  Alexander Sotirov  <sluncho@mirizma.org>
9508
9509         PR c/9177
9510         * c-decl.c (c_expand_body): Don't garbage collect the function
9511         body if we are going to dump it later.
9512
9513 2003-04-18  Richard Henderson  <rth@redhat.com>
9514
9515         * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): Remove.
9516         (alpha_end_function): Don't set them.
9517         (decl_in_text_section): Remove.
9518         (alpha_encode_section_info): Remove.
9519         (samegp_function_operand): Use SYMBOL_REF LOCAL_P and EXTERNAL_P.
9520         (direct_call_operand): Use SYMBOL_REF_DECL and compare actual
9521         sections, rather than decl_in_text_section results.
9522
9523 2003-04-18  Roger Sayle  <roger@eyesopen.com>
9524
9525         * rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
9526         and SIGN_EXTRACT.
9527
9528 2003-04-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
9529
9530         PR optimization/7675
9531         * c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
9532         on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
9533         nested functions if they refer to declarations from parent functions.
9534         * stmt.c (expand_decl): Don't put automatic variables in registers
9535         if the DECL_NONLOCAL flag is set.
9536
9537 2003-04-18  Hans-Peter Nilsson  <hp@bitrange.com>
9538
9539         * gcse.c (compute_ld_motion_mems): For MEM destinations, only
9540         consider those to be movable where the source matches
9541         want_to_gcse_p.
9542         (update_ld_motion_stores): In comment, refer to
9543         compute_ld_motion_mems for validity of replacement.
9544
9545 Fri Apr 18 01:28:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
9546
9547         * gcov-dump.c (tag_summary): Remove max_sum
9548         * gcov-io.h (gcov_summary, gcov_write_summary,
9549         gcov_read_summary): Kill max_sum.
9550         * libgcov.c (gcov_exit): Do one pass over the data.  Make error
9551         message more verbose.
9552
9553         * emit-rtl.c (subreg_hard_regno):  Check that register is
9554         representable.
9555
9556         * reload.c (reload_inner_reg_of_subreg):  When register is not
9557         representable, reload the whole thing.
9558         (find_reloads): Likewsie.
9559         * rtlanal.c (subreg_representable_p):  New function.
9560
9561         * profile.c (compute_branch_probabilities):  Cleanup sanity checking;
9562         allow negative probabilities for edges from the call to exit.
9563         (branch_prob): Do not add fake edges for functions that may return
9564         twice.
9565
9566 2003-04-17  DJ Delorie  <dj@redhat.com>
9567
9568         * toplev.c (target_options): Add value field.
9569         (set_target_switch): Handle target options with values.
9570         * doc/tm.texi: Document how fixed vs variable target
9571         options work.
9572         * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
9573         config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
9574         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
9575         config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
9576         config/m32r/m32r.h, config/m68hc11/m68hc11.h,
9577         config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
9578         config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
9579         config/rs6000/rs6000.h, config/rs6000/sysv4.h,
9580         config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
9581         Add value initializer to target options.
9582
9583 2003-04-07  Loren James Rittle  <ljrittle@acm.org>
9584
9585         * cpppch.c (cpp_valid_state): Unconditionally initialize nl.
9586
9587 2003-04-17  Kazu Hirata  <kazu@cs.umass.edu>
9588
9589         * reload1.c (move2add_last_cc0): New.
9590         (reload_cse_move2add): Detect implicit sets.
9591         (move2add_note_store): Notice a store into cc0.
9592
9593 2003-04-17  Roger Sayle  <roger@eyesopen.com>
9594
9595         PR c/10375
9596         * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
9597         function attributes.
9598
9599 2003-04-17  Janis Johnson  <janis187@us.ibm.com>
9600
9601         * doc/sourcebuild.texi (Test Suites): Document support for testing
9602         binary compatibility (moved from testsuite/README.compat).
9603
9604 2003-04-17  Richard Henderson  <rth@redhat.com>
9605
9606         * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
9607
9608 2003-04-17  Simon Law  <sfllaw@engmail.uwaterloo.ca>
9609
9610         * doc/include/gpl.texi: Fix double-spacing after "MA" to match
9611         the one provided by the FSF.
9612
9613 2003-04-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9614
9615         * doc/install.texi (Binaries): Update URL and list of platforms
9616         provided by ftp.thewrittenword.com.
9617
9618 2003-04-17  Richard Henderson  <rth@redhat.com>
9619
9620         * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
9621         (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
9622         * config/xtensa/xtensa.md (call, call_value): Likewise.
9623
9624 2003-04-17  Richard Henderson  <rth@redhat.com>
9625
9626         * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
9627         (print_operand_address): Likewise.
9628         (ep_memory_operand): Likewise.
9629         (special_symbolref_operand): Likewise.
9630         (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
9631         (v850_encode_section_info): Call default_encode_section_info.
9632         (v850_strip_name_encoding): Remove.
9633         * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
9634         (ASM_OUTPUT_LABELREF): Remove.
9635         (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
9636         (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
9637         (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
9638         (ENCODED_NAME_P): Remove.
9639         (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
9640         (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
9641         (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
9642
9643 2003-04-17  Richard Henderson  <rth@redhat.com>
9644
9645         * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
9646         * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
9647         SYMBOL_REF_FUNCTION_P.
9648
9649 2003-04-17  Richard Henderson  <rth@redhat.com>
9650
9651         * config/sparc/sparc.c (sparc_encode_section_info): Remove.
9652         (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
9653         (text_segment_operand): Likewise.
9654
9655 2003-04-17  Richard Henderson  <rth@redhat.com>
9656
9657         * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
9658         (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
9659         (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
9660         (sh_encode_section_info): Remove.
9661         (sh_strip_name_encoding): Remove.
9662         * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
9663         (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
9664         (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
9665         (ASM_OUTPUT_LABELREF): Remove.
9666         (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
9667         * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
9668
9669 2003-04-17  Richard Henderson  <rth@redhat.com>
9670
9671         * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
9672         (tls_model_chars): Remove.
9673         (larl_operand): Use SYMBOL_REF_FLAGS.
9674         (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
9675         (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
9676         (s390_output_mi_thunk): Likewise.
9677         (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
9678         (s390_function_profiler): Likewise.
9679         (s390_encode_section_info): Use default_encode_section_info
9680         and SYMBOL_FLAG_ALIGN1.
9681         (s390_strip_name_encoding): Remove.
9682         * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
9683         * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
9684         (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
9685
9686 2003-04-17  Richard Henderson  <rth@redhat.com>
9687
9688         * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
9689         (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
9690         (print_operand_address): Likewise.
9691
9692         * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
9693         * config/ns32k/ns32k.c (expand_block_move): Don't check
9694         flag_unroll_loops.
9695
9696 2003-04-17  Richard Henderson  <rth@redhat.com>
9697
9698         * config/mcore/mcore.c (mcore_encode_section_info): Don't set
9699         SYMBOL_REF_FLAG.
9700
9701 2003-04-17  Richard Henderson  <rth@redhat.com>
9702
9703         * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
9704
9705         * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
9706         (SYMBOL_REF_MODEL): New.
9707         (LIT_NAME_P): Move from m32r.h.
9708         (m32r_select_section): Remove.
9709         (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
9710         (m32r_strip_name_encoding): Remove.
9711         (m32r_in_small_data_p): New.
9712         (small_data_operand): Use SYMBOL_REF_SMALL_P.
9713         (addr24_operand): Use SYMBOL_REF_MODEL.
9714         (call26_operand): Likewise.
9715         (addr32_operand): Tidy.
9716         (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
9717         * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
9718         (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
9719         (READONLY_DATA_SECTION_ASM_OP): Remove.
9720         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
9721         (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
9722         (TARGET_ASM_SELECT_SECTION): Remove.
9723         (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
9724         (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
9725         (LARGE_NAME_P, ENCODED_NAME_P): Remove.
9726         (ASM_OUTPUT_LABELREF): Remove.
9727
9728 2003-04-17  Richard Henderson  <rth@redhat.com>
9729
9730         * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
9731         (encode_section_info): Remove.
9732         * config/ip2k/ip2k-protos.h: Update.
9733
9734 2003-04-17  Richard Henderson  <rth@redhat.com>
9735
9736         * varasm.c (default_encode_section_info): Don't set
9737         SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
9738         * config/i370/i370.c (i370_encode_section_info): Remove.
9739         * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
9740         (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
9741         * config/i370/i370.md (movsi): Likewise.
9742
9743         * config/i370/t-i370: Add missing backslash.
9744
9745 2003-04-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
9746
9747         * doc/invoke.texi (inline-limit): Fix pasto.
9748
9749 2003-04-17  Richard Henderson  <rth@redhat.com>
9750
9751         * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
9752         (small_call_insn_operand): Use it.
9753         (SYMBOL_FLAG_EIGHTBIT_DATA): New.
9754         (h8300_eightbit_constant_address_p): Use it.
9755         (SYMBOL_FLAG_TINY_DATA): New.
9756         (h8300_tiny_constant_address_p): Use it.
9757         (h8300_encode_label, h8300_strip_name_encoding): Remove.
9758         (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
9759         * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
9760         (ASM_OUTPUT_LABELREF): Remove.
9761
9762 2003-04-16  Richard Henderson  <rth@redhat.com>
9763
9764         * config/frv/frv.c (symbol_ref_small_data_p): Remove.  Replace
9765         all users with SYMBOL_REF_SMALL_P.
9766         (const_small_data_p): Use SYMBOL_REF_SMALL_P.
9767         (frv_encode_section_info): Remove.
9768         (frv_strip_name_encoding): Remove.
9769         (frv_in_small_data_p): Merge tests from encode_section_info.
9770         (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
9771         * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
9772         (SDATA_NAME_P): Remove.
9773         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
9774         (ASM_OUTPUT_LABELREF): Remove.
9775         (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
9776
9777         * config/frv/frv.c (frv_asm_out_constructor): New.
9778         (frv_asm_out_destructor): New.
9779         * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
9780         (DTORS_SECTION_ASM_OP): New.
9781         (ASM_OUTPUT_CONSTRUCTOR): Remove.
9782         (ASM_OUTPUT_DESTRUCTOR): Remove.
9783
9784 2003-04-16  Richard Henderson  <rth@redhat.com>
9785
9786         * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
9787         SYMBOL_REF_LOCAL_P; abort if not pic.
9788         (cris_encode_section_info): Remove.
9789
9790 2003-04-16  Richard Henderson  <rth@redhat.com>
9791
9792         * config/c4x/c4x.c (c4x_encode_section_info): Remove.
9793         (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
9794
9795         * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
9796         flag_inline_trees.
9797
9798 2003-04-16  Richard Henderson  <rth@redhat.com>
9799
9800         * config/avr/avr.c (avr_encode_section_info): Remove.
9801         (avr_insert_attributes): New.
9802         (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
9803         (avr_assemble_integer): Likewise.
9804
9805 2003-04-16  Richard Henderson  <rth@redhat.com>
9806
9807         * arc.c (arc_encode_section_info): Remove.
9808         (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
9809         (arc_print_operand, arc_print_operand_address): Likewise.
9810         * arc.h (EXTRA_CONSTRAINT): Likewise.
9811
9812 2003-04-16  Roger Sayle  <roger@eyesopen.com>
9813
9814         * c-semantics.c (find_reachable_label): New function to find a
9815         potentially reachable label in an expression.
9816         (expand_unreachable_if_stmt): Similar to expand_if_stmt but
9817         assumes the start of the IF_STMT is unreachable (dead) code.
9818         (expand_unreachable_stmt): Similar to expand_stmt but assumes
9819         the start of the statement list is unreachable (dead) code.
9820         (genrtl_if_stmt):  If the controlling expression of the IF
9821         is constant, use expand_unreachable_stmt for the THEN or ELSE
9822         clause as appropriate.
9823         (genrtl_switch_stmt):  Use expand_unreachable_stmt to expand
9824         the body of a SWITCH statement.
9825         (expand_stmt): The code immediately following a "return",
9826         "break", "continue" or "goto" is unreachable.
9827         * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
9828
9829 2003-04-16  Richard Henderson  <rth@redhat.com>
9830
9831         * rtl.h (MEM_ALIAS_SET): Update documentation.
9832         * doc/rtl.texi (Special Accessors): New node.
9833         (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
9834
9835 2003-04-16  Alexandre Oliva  <aoliva@redhat.com>
9836
9837         * reload1.c (reload_cse_noop_set_p): Return false if mode of
9838         SET_DEST is not the same as that returned by...
9839         * cselib.h (cselib_reg_set_mode): ... new function.
9840         * cselib.c (cselib_reg_set_mode): Define it.
9841         (REG_VALUES): Document semantics of first element as set mode.
9842         (cselib_subst_to_values): Skip first element if ELT is NULL.
9843         (cselib_lookup): Likewise.  Insert past the first element.
9844         (cselib_invalidate_regno): NULLify first element.
9845         (cselib_record_set): Set first element.
9846
9847 2003-04-16  Olivier Hainque <hainque@act-europe.fr>
9848
9849         * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
9850         (save_expr): Replace loop by call to skip_simple_arithmetics_at.
9851         * tree.h: Add prototypes for the two new functions.
9852         * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
9853         updates introduced in the previous revision by call to saved_expr_p.
9854         * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
9855
9856         * expr.c (store_field): Force usage of bitfield instructions when
9857         the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
9858         (expand_expr, case BIT_FIELD_REF): likewise.
9859
9860 2003-04-16  Mark Mitchell  <mark@codesourcery.com>
9861
9862         PR middle-end/8866
9863         * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
9864         jumptables.
9865
9866 2003-04-16  Richard Henderson  <rth@redhat.com>
9867
9868         * config/ia64/ia64.c (sdata_symbolic_operand): Use
9869         SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
9870         (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
9871         (function_operand): Use SYMBOL_REF_FUNCTION_P.
9872         (ia64_expand_load_address): Likewise.
9873         (ia64_assemble_integer): Likewise.
9874         (ia64_encode_section_info): Remove.
9875         (ia64_strip_name_encoding): Remove.
9876         * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
9877         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
9878
9879 2003-04-16  Richard Henderson  <rth@redhat.com>
9880
9881         * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
9882         (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
9883         (direct_call_operand): Use SYMBOL_FLAG_NEAR.
9884         (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
9885         (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
9886         (global_symbolic_operand): Similarly.
9887         (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
9888         (tls_symbolic_operand_type): Likewise.
9889         (alpha_encode_section_info): Use default_encode_section_info.
9890         (alpha_strip_name_encoding): Remove.
9891         (get_tls_get_addr): Split out from ...
9892         (alpha_legitimize_address): ... here.
9893         (alpha_emit_xfloating_libcall): Use init_one_libfunc.
9894         (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
9895         (alpha_initialize_trampoline): Use init_one_libfunc.
9896         (alpha_setup_incoming_varargs): Mark unused parameters.
9897         (alpha_initial_elimination_offset): Likewise.
9898         (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
9899         (unicosmk_unique_section): Use default_strip_name_encoding.
9900         (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
9901
9902 2003-04-16  Aldy Hernandez  <aldyh@redhat.com>
9903
9904         * config.gcc: Add t-spe for eabispe.
9905
9906         * config/rs6000/t-spe: New.
9907
9908 2003-04-16  J"orn Rennecke <joern.rennecke@superh.com>
9909
9910         Re-apply this patch:
9911
9912         2002-05-16  Dale Johannesen  <dalej@apple.com>
9913           * combine.c (cant_combine_insn_p):  Reenable combinations
9914           involving hard regs unless CLASS_LIKELY_SPILLED_P.
9915
9916 2003-04-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9917
9918         PR/10271
9919         * pa-protos.h (function_arg): Remove last argument.
9920         * pa.c (function_arg): Likewise.  Use CUMULATIVE_ARGS struct instead.
9921         * pa.h (struct hppa_args): Add member incoming.
9922         (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
9923         member incoming.
9924         (FUNCTION_ARG): Revise call to function_arg.
9925         (FUNCTION_INCOMING_ARG): Delete.
9926
9927 2003-04-15  Zack Weinberg  <zack@codesourcery.com>
9928
9929         * configure.in: Unify the code which creates symlinks to a
9930         just-built as, ld, objdump, and nm with the code that detects
9931         their presence for purposes of feature tests.
9932         * configure: Regenerate.
9933
9934 2003-04-15  Zack Weinberg  <zack@codesourcery.com>
9935
9936         * varasm.c (output_constant_def): Do not consult
9937         CONSTANT_AFTER_FUNCTION_P.  Remove all code predicated on it.
9938         (after_function_constants, output_after_function_constants): Delete.
9939         * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
9940         * config/mips/mips-protos.h, config/mips/mips.c
9941         (mips16_constant_after_function_p): Delete.
9942         * config/mips/mips.h: Delete #if-0-ed definition of
9943         CONSTANT_AFTER_FUNCTION_P.
9944         * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
9945         mention of CONSTANT_AFTER_FUNCTION_P in comment.
9946
9947 2003-04-15  Geoffrey Keating  <geoffk@apple.com>
9948
9949         * tree.c (next_decl_uid): Mark with GTY.
9950         (next_type_uid): Likewise.
9951
9952 2003-04-15  J"orn Rennecke <joern.rennecke@superh.com>
9953
9954         PR target/9594:
9955         * sh.c (barrier_align): Also recognize stuff_delay_slot as
9956         an indicator that a barrier was created by branch splitting.
9957
9958 2003-04-15  Mark Mitchell  <mark@codesourcery.com>
9959
9960         * c-decl.c (implicitly_declare): Copy declarations that are going
9961         to be placed in a local scope.
9962
9963 2003-04-15  James A. Morrison  <ja2morri@uwaterloo.ca>
9964
9965         * invoke.texi (Spec Files): Wrap if-exists-else example.
9966         (MCore): Remove duplicate @itemx entries and @opindex entries.
9967
9968 2003-04-15  Ulrich Weigand  <uweigand@de.ibm.com>
9969
9970         * unwind.inc (_Unwind_Backtrace): New function.
9971         * unwind.h (_Unwind_Backtrace): Declare it.
9972         * libgcc-std.ver (_Unwind_Backtrace): Export it.
9973
9974 2003-04-14  Jason Merrill  <jason@redhat.com>
9975
9976         PR middle-end/10336, c++/10401
9977         * jump.c (never_reached_warning): Also stop looking if we reach the
9978         beginning of the function.
9979
9980 2003-04-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9981
9982         PR target/10338
9983         PR bootstrap/10198
9984         PR bootstrap/10140
9985         * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
9986
9987 2003-04-15  J"orn Rennecke <joern.rennecke@superh.com>
9988
9989         * i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
9990
9991 2003-04-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9992
9993         * optabs.c (expand_binop): In multi-word add cases, ensure
9994         XTARGET is copied to TARGET if they are different.
9995
9996 2003-04-15  Olivier Hainque <hainque@act-europe.fr>
9997
9998         * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
9999         to region, possible after integration of function with unreachable
10000         regions that were optimized away.
10001
10002 2003-04-15  Jakub Jelinek  <jakub@redhat.com>
10003
10004         * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
10005         instead of TOC_REGISTER in epilogue in
10006         current_function_calls_eh_return functions.
10007
10008 2003-04-14  Mark Mitchell  <mark@codesourcery.com>
10009
10010         * doc/extend.texi (Empty Structures): Correct description of G++'s
10011         handling of these structures.
10012
10013         * c-decl.c (grokdeclarator): Reject extern redeclarations of
10014         static variables.
10015
10016 2003-04-14  Janis Johnson  <janis287@us.ibm.com>
10017
10018         * config/rs6000/rs6000.md (define_constants): Define constants for
10019         all UNSPEC usage, including new values for TLS support.
10020         (aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
10021         load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
10022         load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
10023         macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
10024         stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
10025         eh_set_lr_di): Use them.
10026         * rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
10027         rs6000_emit_epilogue) Use them.
10028
10029         * rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
10030
10031 2003-04-14  Neil Booth  <neil@daikokuya.co.uk>
10032
10033         * Makefile.in (c-opts.o): Use custom action.
10034
10035 2003-04-14  Douglas B Rupp  <rupp@gnat.com>
10036
10037         * ifcvt.c (noce_process_if_block): Fail on BLKmode move.
10038
10039 2003-04-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10040
10041         * stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
10042         handle "superflat arrays" in Ada.
10043
10044         * integrate.c (expand_inline_function): Don't inline if would
10045         lose /u on a BLKmode TARGET.
10046
10047 2003-04-14  Joel Brobecker  <brobecker@gnat.com>
10048
10049         * dbxout.c (print_int_cst_bounds_in_octal_p): New function,
10050         extracted from dbxout_type.
10051         (dbxout_range_type): print large bounds in octal format.
10052         (dbxout_type): Replace extracted code by call to
10053         print_int_cst_bounds_in_octal_p.
10054
10055         * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
10056         of DW_LANG_Ada83 for Ada units.
10057
10058 2003-04-14  Olivier Hainque <hainque@act-europe.fr>
10059
10060         * explow.c (round_push): Use HOST_WIDE_INT instead of int for the
10061         temporary used to round CONST_INT sizes.
10062
10063         * tree.c (int_fits_type_p): Extract generic checks from the case
10064         of constant type bounds. Refine the checks against constant type
10065         bounds to allow for possible decisions against each of these bounds
10066         without requiring both bounds to be constant.
10067         (tree_int_cst_msb): Put back.
10068         * tree.h (tree_int_cst_msb): Likewise.
10069
10070         * global.c (global_conflicts): Prevent allocation of call clobbered
10071         hard regs to pseudos live across abnormal edges, as later passes are
10072         not ready to handle them.
10073
10074         * fold-const.c (fold): Reorder tests for conditional expressions.
10075
10076         * expr.c (highest_pow2_factor): Return unsigned.
10077         * expr.h (offset_address): Likewise.
10078         * emit-rtl.c (offset_address): POW2 argument now unsigned.
10079
10080 2003-04-14  Roger Sayle  <roger@eyesopen.com>
10081
10082         * builtins.c (expand_builtin_strlen):  Evaluate the lengths of
10083         string literals at compile-time.
10084
10085 2003-04-14  Roger Sayle  <roger@eyesopen.com>
10086
10087         * fold-const.c (fold):  Transform (c1 - x) cmp c2, where cmp is a
10088         comparison operation and c1/c2 are floating point constants into
10089         x swap(cmp) (c1 - c2).
10090
10091 2003-04-14  Vladimir Makarov  <vmakarov@redhat.com>
10092
10093         * genautomata.c (output_translate_vect): Fix a typo in loop
10094         condition.
10095
10096 2003-04-14  Hans-Peter Nilsson  <hp@axis.com>
10097
10098         PR target/10377
10099         * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
10100         ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
10101         ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
10102         ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
10103         ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
10104         ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
10105         ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
10106         ("*extopqihi_swap_side", "*extopqisi_swap_side")
10107         ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
10108         When next to constraint R, replace constraint i with n.
10109
10110 Mon Apr 14 16:18:37 CEST 2003  Jan Hubicka  <jh@suse.cz>
10111
10112         PR opt/10024
10113         * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
10114
10115 2003-04-14  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
10116
10117         * doc/contrib.texi (Contributors): Correct my entry.
10118
10119 2003-04-13  Roger Sayle  <roger@eyesopen.com>
10120
10121         * tree.h (DECL_BUILT_IN_NONANSI): Remove.
10122         * c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
10123         * c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
10124         implies DECL_BUILT_IN to simplify logic.
10125         * print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
10126
10127 2003-04-13  Roger Sayle  <roger@eyesopen.com>
10128
10129         * builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
10130         (BT_FN_PTR_SIZE_SIZE): Likewise.
10131         * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
10132         New built-in functions for malloc, calloc and strdup respectively.
10133         * calls.c (special_function_p): No need to handle malloc-like
10134         functions any longer.  ECF_MALLOC is set via built-in attributes.
10135
10136         * c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
10137
10138         * doc/extend.texi: Document these new built-in functions.
10139
10140 2003-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10141
10142         * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
10143         (expand_builtin_stpcpy): New.
10144         (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
10145         * builtins.def: Add mempcpy & stpcpy support.
10146         * doc/extend.texi (mempcpy, stpcpy): Document new builtins.
10147
10148 2003-04-13  Nick Clifton  <nickc@redhat.com>
10149
10150         * config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
10151         "GCC".
10152         * config/rs6000/40x.md, config/rs6000/603.md,
10153         config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
10154         config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
10155         config/rs6000/aix3newas.h, config/rs6000/aix41.h,
10156         config/rs6000/aix43.h, config/rs6000/aix51.h,
10157         config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
10158         config/rs6000/altivec.h, config/rs6000/altivec.md,
10159         config/rs6000/beos.h, config/rs6000/darwin.h,
10160         config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
10161         config/rs6000/eabisim.h, config/rs6000/eabispe.h,
10162         config/rs6000/freebsd.h, config/rs6000/gnu.h,
10163         config/rs6000/host-darwin.c, config/rs6000/linux.h,
10164         config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
10165         config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
10166         config/rs6000/netbsd.h, config/rs6000/power4.md,
10167         config/rs6000/rios1.md, config/rs6000/rios2.md,
10168         config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
10169         config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
10170         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
10171         config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
10172         config/rs6000/spe.md, config/rs6000/sysv4.h,
10173         config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
10174         config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
10175
10176 2003-04-13  Nick Clifton  <nickc@redhat.com>
10177
10178         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
10179         support for -mcall-aix switch.
10180         * config/rs6000/eabiaix.h: Delete.
10181         * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
10182         (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
10183         RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
10184         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
10185         * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
10186         debug_stack_info, output_function_profiler,
10187         rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
10188         * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
10189         call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
10190         call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
10191         sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
10192         * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
10193         multilibs.
10194         (MULTILIB_DIRNAMES): Remove mcall-aix directories.
10195         (MULTILIB_EXCEPTIONS): Delete.
10196         (MULTILIB_MATCHES): Remove mcall-aix matches.
10197
10198         * doc/fragments.texi: Replace -mcall-aix example with an ARM
10199         one.
10200         * doc/install.texi: Delete powerpc-*-eabiaix target.
10201         * doc/invoke.texi: Remove documentation of mcall-aix switch.
10202         * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
10203         * config.gcc: Delete powerpc-*-eabiaix target.
10204
10205 2003-04-13  Kazu Hirata  <kazu@cs.umass.edu>
10206
10207         * doc/invoke.texi: Fix typos.
10208         * doc/tm.texi: Likewise.
10209
10210 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
10211
10212         * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
10213
10214 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
10215
10216         * tree.c (build_constructor): New function.
10217         * tree.h: Prototype it.
10218
10219         * c-typeck.c (build_c_cast, pop_init_level)
10220         * profile.c (build_function_info_value, build_gcov_info_value)
10221         (create_profiler):
10222         Use build_constructor.
10223
10224         * builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
10225
10226         * objc/objc-act.c (build_constructor):
10227         Rename objc_build_constructor. Use build_constructor.
10228         (build_objc_string_object, objc_add_static_instance)
10229         (init_def_list, init_objc_symtab, init_module_descriptor)
10230         (generate_static_references, build_selector_translation_table)
10231         (build_descriptor_table_initializer, generate_descriptor_table)
10232         (build_protocol_initializer, build_ivar_list_initializer)
10233         (generate_ivars_list, build_dispatch_table_initializer)
10234         (generate_dispatch_table, generate_protocol_list)
10235         (build_category_initializer, build_shared_structure_initializer):
10236         Update to match.
10237
10238 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
10239
10240         * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
10241
10242 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
10243
10244         * config/m68hc11/m68hc11-protos.h
10245         (m68hc11_eq_compare_operator): Declare
10246         * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
10247         * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
10248         (d_register_operand): Check the operand mode.
10249         (hard_addr_reg_operand): Likewise.
10250
10251 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
10252
10253         * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
10254         pattern for dbcc/ibcc generation for 68HC12.
10255         ("doloop_end"): New pattern.
10256         ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
10257         ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
10258         ("m68hc12_dbcc_dec_qi"): New pattern.
10259         ("m68hc12_dbcc_inc_qi"): New pattern.
10260         (split): Add split for the above when we can't use dbcc/ibcc due to
10261         reloading.
10262         (peephole2): Add peephole2 to generate the above when possible.
10263
10264 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
10265
10266         * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
10267         mode of operand 0.
10268         (peephole2 optimize const load): Likewise for operand 2.
10269         ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
10270         clobbers CC_REGNUM.
10271         ("*rotrhi3_with_carry"): Likewise.
10272         (ashift:DI 1 split): Update pattern to create the above rotate.
10273         (lshiftrt:DI 1 split): Likewise.
10274
10275 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
10276
10277         * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
10278         ("tstqi_z_used" split): Use it.
10279         ("cmphi_z_used"): Likewise.
10280         ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
10281         ("cmpqi_z_used"): Likewise.
10282
10283 2003-04-12  Mark Mitchell  <mark@codesourcery.com>
10284
10285         PR c++/7910
10286         * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
10287
10288 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
10289
10290         * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
10291         * configure, config.in: Regenerate.
10292         * intl.c (gcc_gettext_width): New function.
10293         * intl.h: Prototype it.
10294
10295 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
10296
10297         * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
10298         recognize -mnorelax.
10299         (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
10300         (REG_CLASS_NAMES): Add its name.
10301         (REG_CLASS_CONTENTS): Define its content.
10302
10303 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
10304
10305         * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
10306         parameters so that offsets are valid for far definition.
10307         (__mulsi3): Likewise and use ret to return.
10308         (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
10309
10310 2003-04-12  David Edelsohn  <edelsohn@gnu.org>
10311
10312         * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
10313
10314 2003-04-12  Alexandre Oliva  <aoliva@redhat.com>
10315
10316         * mklibgcc.in (libgcc-stage-start): For every multilib  directory
10317         containing a libgcc.a, move lib* to the corresponding stage dir.
10318
10319         * Makefile.in (stage1-start, stage2-start, stage3-start,
10320         stage4-start): Move $(SPECS) to specs in stage dir.
10321         (unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
10322         back as $(SPECS).
10323
10324         * mklibgcc.in (libgcc-stage-start): Move into the stage directory
10325         object files from the non-libgcc/ multilib directories as well.
10326
10327 2003-04-11  Geoffrey Keating  <geoffk@apple.com>
10328
10329         * profile.c (read_counts_file): Initialise 'checksum'.
10330
10331         * emit-rtl.c (gen_rtx): Really correct typo.
10332
10333         PR c++/9393
10334         * doc/invoke.texi (Debugging Options): Document -frandom-seed.
10335         * configure.in: Check for gettimeofday.
10336         * tree.c (flag_random_seed): Define.
10337         (default_flag_random_seed): New.
10338         (append_random_chars): Use flag_random_seed rather than trying
10339         to acquire randomness here.
10340         * tree.h (default_flag_random_seed): Declare.
10341         * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
10342         descriptions.
10343         (decode_f_option): Handle -frandom-seed.
10344         (print_switch_values): Call default_flag_random_seed.
10345         * flags.h (flag_random_seed): Declare.
10346         * configure: Regenerate.
10347         * config.in: Regenerate.
10348         * config/alpha/t-crtfm: Use -frandom-seed.
10349
10350         * doc/extend.texi (Empty Structures): New.
10351
10352         * c-pch.c: Include flags.h.  Add comments to routines.
10353         (struct c_pch_validity): New.
10354         (get_ident): Update PCH file version number.
10355         (pch_init): Output current debugging type.
10356         (c_common_valid_pch): Check debugging type.
10357         * Makefile.in (c-pch.o): Update dependencies.
10358         * flags.h (debug_type_names): Declare.
10359         * toplev.c (debug_type_names): Move out of decode_g_option.
10360
10361 2003-04-11  Eric Christopher  <echristo@redhat.com>
10362
10363         * emit-rtl.c (gen_rtx): Fix typos.
10364
10365 2003-04-11  Richard Henderson  <rth@redhat.com>
10366
10367         * emit-rtl.c (gen_rtx): Zero '0' fields.
10368
10369 2003-04-11  Richard Henderson  <rth@redhat.com>
10370
10371         PR c++/10202
10372         * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
10373         not COMPLETE_TYPE_P for re-invoking layout_decl.
10374
10375 2003-04-11  Simon Law  <sfllaw@engmail.uwaterloo.ca>
10376
10377         * doc/bugreport.texi: Fix paragraph breaking between sections
10378         in preparation for TeXinfo's paragraph indentation fixes.
10379         * doc/extend.texi: Ditto.
10380         * doc/invoke.texi: Ditto.
10381         * doc/objc.texi: Ditto.
10382         * doc/gcov.texi: Wrap 'gcov' in @command{}.
10383         * doc/invoke.texi (Darwin Options): Add a preamble.
10384
10385 2003-04-11  Richard Henderson  <rth@redhat.com>
10386
10387         * config/i386/i386.c (tls_model_chars): Remove.
10388         (ix86_encode_section_info, ix86_strip_name_encoding): Remove.
10389         (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
10390         (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
10391         (tls_symbolic_operand_1): Likewise.
10392         (legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
10393         * config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
10394         (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
10395         * config/i386/winnt.c (i386_pe_encode_section_info): Replace
10396         bits "copied from i386.h" with default_encode_section_info.
10397
10398 2003-04-11  Richard Henderson  <rth@redhat.com>
10399
10400         * rtl.def (SYMBOL_REF): Add two 0 fields.
10401         * gengtype.c (adjust_field_rtx_def): Handle them.
10402         * print-rtl.c (print_rtx): Print them.
10403         * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
10404         (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
10405         (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
10406         (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
10407         (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
10408         (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
10409         (SYMBOL_FLAG_MACH_DEP): New.
10410         * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
10411         * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
10412         (assemble_static_space): Set SYMBOL_REF_FLAGS.
10413         (assemble_trampoline_template): Likewise.
10414         (output_constant_def, force_const_mem): Likewise.
10415         (default_encode_section_info): New.
10416         * output.h: Declare it.
10417         * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
10418
10419 2003-04-11  Richard Henderson  <rth@redhat.com>
10420
10421         * libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
10422         (setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
10423         * optabs.c (init_optabs): Initialize them.
10424         (init_libfuncs): Use init_one_libfunc.
10425         * calls.c (expand_call): Use gcov_flush_libfunc.
10426         * expr.c (store_constructor): Use setbits_libfunc.
10427         * function.c (expand_main_function): Use init_one_libfunc.
10428         * profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
10429
10430 2003-04-11  Mark Mitchell  <mark@codesourcery.com>
10431
10432         * doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
10433         documentation; add DECL_FRIEND_CONTEXT.
10434
10435 2003-04-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
10436
10437         * doc/install.texi (hppa): Update links for HP-UX patches.  Revise
10438         notes on linker selection and configuration for 64-bit HP-UX port.
10439         * doc/invoke.texi (hppa): Remove hppa text from description for
10440         -ffunction-sections and -fdata-sections.  Document -static, -nolibdld
10441         and -threads options.
10442
10443         * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
10444         libc.a on libdld.sl when -static is specified and -nolibdld is not
10445         specified.
10446         * pa64-hpux.h (LIB_SPEC): Likewise.
10447         * pa-hpux11.h (LIB_SPEC): Likewise.
10448         (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
10449         is not specified.
10450
10451 2003-04-11  Zack Weinberg  <zack@codesourcery.com>
10452
10453         * config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
10454         not IDENTIFIER_LOCAL_VALUE.
10455
10456 2003-04-11  Richard Henderson  <rth@redhat.com>
10457
10458         PR c/10201
10459         * expr.c (expand_expr): Move DECL_RTL frobbing ...
10460         * stor-layout.c (layout_decl): ... here.
10461
10462 2003-04-11  James A. Morrison <ja2morri@uwaterloo.ca>
10463
10464         * doc/invoke.texi: Eliminate extra white-space caused by
10465         @gccoptlist{ on its own line.
10466         * doc/invoke.texi: Ensured there are two spaces between each option.
10467         * doc/invoke.texi: Re-wrapped option lines that were too wide.
10468         Added @gol to options that didn't have them.
10469
10470 2003-04-11  Nathan Sidwell  <nathan@codesourcery.com>
10471
10472         * Makefile.in (loop-init.o): Do not depend on gcov-io.h,
10473         gcov-iov.h.
10474
10475         Simplify interface to gcov reading and writing.
10476         * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
10477         gcov_alloc, gcov_modified, gcov_errored): Move into ...
10478         (struct gcov_var gcov_var): ... this static structure.
10479         (gcov_write_unsigned, gcov_write_counter, gcov_write_string):
10480         Return void.
10481         (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
10482         read object.
10483         (gcov_read_bytes, gcov_write_bytes): Set error flag on error.
10484         (gcov_reserve_length): Remove.
10485         (gcov_write_tag): New.
10486         (gcov_write_length): Adjust.
10487         (gcov_read_summary, gcov_write_summary): Adjust.
10488         (gcov_eof, gcov_ok): Rename to ...
10489         (gcov_is_eof, gcov_is_error): ... here. Return error code.
10490         (gcov_save_position, gcov_resync): Rename to ...
10491         (gcov_position, gcov_seek): ... here.
10492         (gcov_skip, gcov_skip_string): Remove.
10493         (gcov_error): Remove.
10494         (gcov_open, gcov_close): Adjust.
10495         * gcov.c (find_source): Take const char *, copy it on allocation.
10496         (read_graph_file): Adjust.
10497         (read_count_file): Adjust.
10498         * libgcov.c (gcov_exit): Adjust.
10499         * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
10500         tag_arc_counts, tag_summary): Return void. Adjust.
10501         (struct tag_format): Adjust proc member.
10502         (dump_file): Adjust gcov calls.
10503
10504 2003-04-11  Alexandre Oliva  <aoliva@redhat.com>
10505
10506         * Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
10507         mkfixinc.sh.
10508         * fixinc/mkfixinc.sh (defs): Add LIBERTY.
10509         * configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
10510         build != host sysrooted builds.
10511         * configure.in (SYSTEM_HEADER_DIR): Make sure it contains
10512         TARGET_SYSTEM_ROOT even on sysrooted natives.
10513         * configure: Rebuilt.
10514
10515 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
10516
10517         * c-decl.c (struct binding_level): Add shadowed_tags and
10518         function_body; remove this_block, tag_transparent, and
10519         subblocks_tag_transparent; update comments.
10520         (clear_binding_level, lookup_tag_reverse): Kill.
10521         (make_binding_level): Use ggc_alloc_cleared or memset.
10522         (lookup_tag): Remove struct binding_level* parameter.  All
10523         callers changed. Just look at IDENTIFIER_TAG_VALUE, and
10524         current_binding_level->tags if asked for thislevel_only or if
10525         we might have to diagnose "struct foo; union foo;"
10526         (pushlevel): Ignore argument.  Do not push another binding
10527         level on the transition from the parameters to the top level
10528         of the function body; just tweak the flags and proceed.
10529         (poplevel): Overhaul.  Clear IDENTIFIER_TAG_VALUEs; on exiting
10530         a function body, separate the parameter list from the
10531         top-level local variables.
10532         (set_block): Do nothing.
10533         (pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
10534         shadowed_tags if necessary.
10535         (warn_if_shadowing): Nuke the special case for local shadowing
10536         parameter.
10537         (pushdecl): Do not create a shadow entry if we are replacing
10538         an older decl in the same binding level.
10539         (pushdecl_function_level): Tweak for new way of indicating
10540         function scope.
10541         (shadow_tag_warned): Use TYPE_NAME, not lookup_tag_reverse.
10542         (start_function): Don't set subblocks_tag_transparent.
10543         (finish_function): Fix up the binding_level stack for totally
10544         empty functions.  Otherwise, don't call poplevel.
10545
10546         * c-common.c (shadow_warning): MANDATORY argument is no longer
10547         necessary.  Always use plain warning.
10548         * c-common.h: Update to match.
10549
10550         * cfglayout.c (scope_to_insns_initialize): Clear block when we
10551         hit the FUNCTION_DECL.
10552         * function.c: Do not create cyclic tree structure.
10553
10554 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
10555
10556         * c-tree.h (struct lang_identifier): Replace global_value,
10557         local_value members with symbol_value, tag_value.  Kill
10558         implicit_decl and limbo_value.
10559         (IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
10560         IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
10561         C_MISSING_PROTOTYPE_WARNED): Kill.
10562         (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
10563         C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
10564         (C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
10565         (implicit_decl_warning, lookup_name_current_level,
10566         record_function_scope_shadow): Don't prototype.
10567         (pushdecl_function_level): Prototype.
10568
10569         * c-decl.c (truly_local_externals): New variable.
10570         (struct binding_level): Adjust commentary.
10571         (get_function_binding_level, clear_limbo_values,
10572         record_function_scope_shadow): Kill.
10573         (lookup_name_current_level, implicit_decl_warning): Are now static.
10574         (any_external_decl, record_external_decl): New static functions.
10575         (clone_underlying type): Split out of pushdecl.
10576         (c_print_identifier): Update to match changes to struct
10577         lang_identifier.
10578         (poplevel): Delete #if 0 block.  Make externals invisible
10579         instead of clearing their IDENTIFIER_SYMBOL_VALUEs.  Don't
10580         call clear_limbo_values.  Refer to IDENTIFIER_SYMBOL_VALUE not
10581         IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
10582         (duplicate-decls): For real parm decl after a forward decl,
10583         set TREE_ASM_WRITTEN here.  Allow void foo(...) followed by
10584         foo(...) { } with only a warning.  Say whether a previous
10585         declaration was implicit.
10586         (warn_if_shadowing): Now handles all shadowing, not just
10587         local-over-local.  Clarify comments.
10588         (pushdecl): Rewritten.  There is no longer a distinction
10589         between global and local symbol values; they're all
10590         IDENTIFIER_SYMBOL_VALUE.  Call record_external_decl on all
10591         DECL_EXTERNAL decls, and use any_external_decl to check
10592         against previous externals.  Kill #if 0 blocks.  Don't
10593         tolerate error_mark_node being NULL.
10594         (pushdecl_top_level): Handle only those cases which
10595         Objective C (the only user) needs.
10596         (pushdecl_function_level): New function.
10597         (implicitly_declare): Create ordinary decls with
10598         C_DECL_IMPLICIT set.  Recycle old decls, however they got
10599         created.
10600         (lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
10601         for C_DECL_INVISIBLE symbols.
10602         (lookup_name_current_level): Likewise.  Use chain_member.
10603         (c_make_fname_decl): Don't muck with DECL_CONTEXT.
10604         Use pushdecl_function_level.
10605         (builtin_function): Use C_DECL_INVISIBLE.
10606         (start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
10607         Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
10608         (store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
10609         (identifier_global_value): Same.  Must scan
10610         global_binding_level in extremis.
10611
10612         * c-typeck.c (undeclared_variable): New static function, split
10613         from build_external_ref.
10614         (build_external_ref): Use DECL_CONTEXT, not
10615         IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
10616         an instance variable.  Restructure for clarity.
10617         * objc/objc-act.c: Use identifier_global_value, not
10618         IDENTIFIER_GLOBAL_VALUE.
10619
10620 2003-04-08  Jonathan Wakely  <redi@gcc.gnu.org>
10621
10622         * doc/extend.texi (Template Instantiation): Refer to ISO standard,
10623         not Working Paper.
10624         * doc/invoke.texi (C++ Dialect Options): Same.
10625
10626 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
10627
10628         * tree.c (tree_operand_check_failed): New function.
10629         * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
10630         TREE_RTL_OPERAND_CHECK): New checking macros.
10631         (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
10632         RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
10633         CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
10634         EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
10635         EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
10636         TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
10637         checking macros.
10638
10639 Thu Apr 10 23:52:30 CEST 2003  Jan Hubicka  <jh@suse.cz>
10640
10641         PR inline-asm/8803
10642         * function.c (instantate_virtual_regs):  Verify that all ASM statements
10643         match after the virutal regs instantiation.
10644
10645 2003-04-10  Steve Ellcey  <sje@cup.hp.com>
10646
10647         * ia64-protos.h (addp4_optimize_ok): New.
10648         * ia64.c (addp4_optimize_ok): New.
10649         * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
10650         (*ptr_extend_plus_2): Ditto.
10651
10652 2003-04-10  Steve Ellcey  <sje@cup.hp.com>
10653
10654         * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
10655         not with convert_memory_address.
10656         (store_constructor): Ditto, and same for copy_size_rtx.
10657         (expand_expr): Ditto.
10658
10659 2003-04-10  Douglas B Rupp  <rupp@gnat.com>
10660
10661         * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
10662
10663 2003-04-10  Bob Wilson  <bob.wilson@acm.org>
10664
10665         * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
10666         even if it is configured to be write-through.
10667
10668 2003-04-10  Ulrich Weigand  <uweigand@de.ibm.com>
10669
10670         * config/s390/s390.c (larl_operand): Do not allow symbols
10671         marked with '@'.
10672         (s390_encode_section_info): Mark symbols with forced 1-byte
10673         alignment with '@'.
10674         (s390_strip_name_encoding): Strip '@'.
10675         (legitimize_pic_address): Handle symbols that are not valid
10676         LARL operands in 64-bit mode.
10677
10678 2003-04-10  Andrew Haley  <aph@redhat.com>
10679
10680         * tree-inline.c (inlinable_function_p): Disable inlining for
10681         synchronized methods.
10682
10683 2003-04-09  Steven Bosscher  <steven@gcc.gnu.org>
10684
10685         * c-common.h (lang_statement_code_p): Remove declaration.
10686         (statement_code_p): Ditto.
10687         (c_common_stmt_codes): Define; list of c-common statement codes.
10688         (statement_code_p): New extern declaration.
10689         (STATEMENT_CODE_P): Define.
10690         (INIT_STATEMENT_CODES): Define.
10691         * c-common.c (statement_code_p): Kill the function, declare
10692         as an array of bools instead.
10693         (lang_statement_code_p): Remove.
10694         (walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
10695         (c_safe_from_p): Ditto.
10696         * c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
10697         to initialize the statement_code_p array.
10698         * tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
10699         statement_code_p.
10700         (copy_tree_r): Ditto.
10701         * cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
10702         statement tree codes.
10703         * cp/lex.c (cxx_init): Add missing print line break.  Use
10704         INIT_STATEMENT_CODES to initialize the statement_code_p array.
10705         * cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
10706         instead of statement_code_p.
10707         * cp/pt.c (tsubst_expr): Ditto.
10708         * cp/tree.c (verify_stmt_tree_r): Ditto.
10709         (cp_statement_code_p): Remove.
10710         (init_tree): Don't set lang_statement_code_p, it's gone.
10711
10712 2003-04-09  Dan Nicolaescu  <dann@ics.uci.edu>
10713             Zack Weinberg  <zack@codesourcery.com>
10714
10715         * regrename.c (struct du_chain): Use a bitfield for reg_class.
10716         * cse.c (struct qty_table_elem, struct table_elt, struct set):
10717         Use bitfields for fields holding enum rtx_code or
10718         enum machine_mode values.  Add comments explaining size choices.
10719
10720 2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
10721
10722         * config/fp-bit.c (unpack_d): Handle pair of doubles with
10723         different signs correctly.
10724
10725 2003-04-09  Vladimir Makarov  <vmakarov@redhat.com>
10726
10727         * sched-deps.c (reg_pending_barrier_mode): New enumeration.
10728         (reg_pending_barrier): Make it of the enumeration type.
10729         (sched_analyze_2): Define the barrier as MOVE_BARRIER or
10730         TRUE_BARRIER.
10731         (sched_analyze): Ditto.
10732         (sched_analyze_insn): Ditto.  Use anti-dependencies for
10733         MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
10734         (init_deps_global): Initialize the barrier as NO_BARRIER.
10735
10736 2003-04-09  Vladimir Makarov  <vmakarov@redhat.com>
10737
10738         * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
10739         Check that asm insn starts on a new cycle.  Add nops after asm
10740         insn to end bundle.
10741         (bundling): Move insn type evaluation from the loop.  Call
10742         issue_nops_and_insn with the new parameter.  Ignore changing
10743         position for nops after asm insn.
10744
10745 2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
10746
10747         * optabs.c: Comment that gen_add2_insn and others may actually
10748         return emitted insns, if the gen functions turn out to return
10749         emitted insns.
10750         * reload1.c (reload_cse_move2add): Cope with emitted insns from
10751         gen_add2_insn.
10752
10753 2003-04-09  Richard Henderson  <rth@redhat.com>
10754
10755         * config/ia64/ia64.c (move_operand): Allow symbolic_operand,
10756         but not tls_symbolic_operand.
10757         (ia64_expand_load_address): Remove scratch operand.
10758         (ia64_expand_tls_address): Split out from ia64_expand_move.
10759         (ia64_expand_move): Split symbolics only after reload.
10760         (ia64_emit_cond_move): New.
10761         * config/ia64/ia64-protos.h: Update.
10762         * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
10763         (symbolic splitter): Accept SImode operands too.
10764         (cmove splitter): Use ia64_emit_cond_move.
10765
10766 2003-04-09  Nick Clifton  <nickc@redhat.com>
10767
10768         * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
10769         newer.
10770         * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
10771         instead of -mno-fpu.
10772         * config/arm/semi.h (ASM_SPEC): Likewise.
10773         * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
10774         but only if -msoft-float is specified pass.  Otherwise pass
10775         -mfpu=softvfp.
10776
10777 2003-04-09  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10778
10779         * function.c (purge_addressof): Use free_INSN_LIST_node instead of
10780         free_EXPR_LIST_node.
10781
10782 2003-04-08  Roger Sayle  <roger@eyesopen.com>
10783
10784         * fold-const.c (fold):  Use "fold" following build in more places.
10785         Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
10786         pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
10787
10788 2003-04-08  Roger Sayle  <roger@eyesopen.com>
10789
10790         * builtins.c (fold_builtin):  Constant fold expressions as x*0.5
10791         instead of x/2.0.  Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
10792         log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
10793         pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
10794         Delete function scope "fcode" variable to avoid shadowing.
10795
10796 2003-04-08  Kevin Buettner  <kevinb@redhat.com>
10797
10798         * dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
10799         Take into account DWARF_INITIAL_LENGTH_SIZE.
10800
10801 2003-04-08  Hans-Peter Nilsson  <hp@axis.com>
10802
10803         * reorg.c (fill_slots_from_thread): When considering changing the
10804         insn following a reg-to-reg copy insn to use the source reg of the
10805         copy, bail out if there's overlap between the registers.
10806
10807 2003-04-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10808
10809         * function.c (postponed_insns): New.
10810         (purge_addressof_1): Postpone processing of insns if addressofs
10811         are not put into stack.
10812         (purge_addressof): Process postponed insns.
10813
10814 2003-04-08  J"orn Rennecke <joern.rennecke@superh.com>
10815
10816         * sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
10817         this is FP_MODE_DOUBLE .
10818         * sh.c (ra.h): #include.
10819         (push_regs): Add second parameter.  Changed all callers.
10820         If necessary, set fpscr before saving floating point registers.
10821         (calc_live_regs): If interrupt handler and TARGET_FMOVD, always
10822         do saves / restores with SZ == 1.
10823         (sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
10824         (sh_expand_epilogue): Likewise.  For TARGET_FMOVD, if floating point
10825         registers are being restored, restore FPSCR only after restoring them.
10826
10827 2003-04-08  Aldy Hernandez  <aldyh@redhat.com>
10828
10829         * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
10830         regardless of architecture.
10831         (spe_init_builtins): Change V2SI and V2SF types to opaque types.
10832
10833 2003-04-08  J"orn Rennecke <joern.rennecke@superh.com>
10834
10835         * sh.c (push_regs, calc_live_regs): Return int.  Take single
10836         HARD_REG_SET * parameter.  Changed all callers.
10837
10838 Tue Apr  8 11:12:07 CEST 2003  Jan Hubicka  <jh@suse.cz>
10839
10840         * i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
10841         GOTOFF operand.
10842         (legitimize_pic_address): Move plus outside the unspec.
10843         * i386.c (legitimate_constant_p):  Check (CONST (PLUS (UNSPEC ...
10844         for validity.
10845
10846 2003-04-08  Nathan Sidwell  <nathan@codesourcery.com>
10847
10848         * gcov-io.h (gcov_save_position): Remove __inline__ from
10849         declaration.
10850
10851 2003-04-07  Matt Kraai  <kraai@alumni.cmu.edu>
10852
10853         * doc/install.texi: Use @command and @samp for single- and
10854         multi-word commands respectively.
10855         * doc/makefile.texi: Likewise.
10856         * doc/sourcebuild.texi: Likewise.
10857
10858 2003-04-07  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
10859             Richard Henderson  <rth@redhat.com>
10860
10861         PR c/9516
10862         * expr.c (safe_from_p): Rearrange to avoid deep recursion in
10863         favor of looping and tail recursion for TREE_LIST and binops.
10864
10865 2003-04-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10866
10867         * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
10868         for insns without luid.
10869
10870 2003-04-07  Glen Nakamura  <glen@imodulo.com>
10871
10872         PR opt/8634
10873         * explow.c (maybe_set_unchanging): Don't flag non-static const
10874         aggregate type initializers with RTX_UNCHANGING_P.
10875
10876 2003-04-07  Richard Henderson  <rth@redhat.com>
10877
10878         PR opt/8634
10879         * function.c (purge_addressof_1): Don't try arithmetics for
10880         unchanging memories.
10881
10882 2003-04-07  Janis Johnson  <janis187@us.ibm.com>
10883
10884         * doc/sourcebuild.texi (Test Suites): Document testing support for
10885         gcov and profile-directed optimizations; describe gcc.misc-tests.
10886
10887 Mon Apr  7 22:19:59 CEST 2003  Jan Hubicka  <jh@suse.cz>
10888
10889         PR target/10077
10890         * i386.md (movsi_1, movsi_nointerunit_1):  Fix SSEMOV alternative.
10891
10892 2003-04-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
10893
10894         * doc/rtl.texi (Comparison operations): Update to
10895         record the allowed comparison modes.
10896
10897 2003-04-07  Aldy Hernandez  <aldyh@redhat.com>
10898
10899         * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
10900         V2SI_type_node to opaque_V2SI_type_node.  Rename all
10901         V2SF_type_node to opaque_V2SF_type_node.
10902         (rs6000_init_builtins): Define opaque_V2SI_type_node and
10903         opaque_V2SF_type_node.
10904         (is_ev64_opaque_type): The types opaque_V2SI_type_node and
10905         opaque_V2SF_type_node are opaque types.
10906
10907 2003-04-07  J"orn Rennecke <joern.rennecke@superh.com>
10908
10909         * gcse.c (replace_store_insn): Use single_set.
10910
10911 2003-04-07  Nathan Sidwell  <nathan@codesourcery.com>
10912
10913         Change gcov file interface to single file at a time.
10914         * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
10915         Convert to C89 prototypes.
10916         (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
10917         gcov_error, gcov_modified): New static variables.
10918         (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
10919         functions.
10920         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
10921         gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
10922         (gcov_read_summary, gcov_write_summary): Adjust.
10923         (gcov_save_position, gcov_reserve_length, gcov_write_length):
10924         Adjust.
10925         (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
10926         (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
10927         (da_file_position, da_file_seek, da_file_write, da_file_read):
10928         Remove.
10929         (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
10930         * gcov.c (gcov_type): Don't typedef here.
10931         (IN_GCOV): #define
10932         (read_graph_file, read_count_file): Adjust.
10933         * gcov-dump.c (gcov_type): Don't typedef here.
10934         (IN_GCOV): #define.
10935         (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
10936         Remove FILE parameter, adjust.
10937         (struct tag_format): Adjust proc member.
10938         (dump_file): Adjust.
10939         * libgcov.c (IN_LIBGCOV): #define.
10940         (gcov_exit): Adjust.
10941         * loop-init.c: Don't #include gcov-io.h
10942         * profile.c (struct counts_entry): New structure to hold counter
10943         values.
10944         (struct section_reference, struct da_index_entry): Remove.
10945         (bbg_file, da_file): Remove.
10946         (htab_counts_index_hash, htab_counts_index_eq,
10947         htab_counts_index_del): Replace with ...
10948         (htab_counts_entry_hash, htab_counts_entry_eq,
10949         htab_counts_entry_del): ... these.
10950         (cleanup_counts_index, index_counts_file): Remove.
10951         (read_counts_file): New function.
10952         (get_exec_counts): Adjust.
10953         (compute_branch_probabilities): Don't free the exec counts here.
10954         (branch_prob): Adjust.
10955         (init_branch_prob): Adjust.
10956         (end_branch_prob): Adjust.
10957
10958 2003-04-07  Aldy Hernandez  <aldyh@redhat.com>
10959
10960         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
10961         -mfloat-gprs.
10962
10963         * config/rs6000/rs6000.c: Delete rs6000_fprs.
10964         Declare rs6000_float_gprs.
10965         Declare rs6000_float_gprs_string.
10966         (rs6000_parse_float_gprs_option): New.
10967         (rs6000_override_options): Genericize rs6000_parse_* calls to use
10968         rs6000_parse_yes_no_option.
10969         Change check for cpu=8540, to use TARGET_E500.
10970         (rs6000_parse_isel_option): Delete.
10971         (rs6000_parse_spe_option): Delete.
10972         (rs6000_parse_vrsave_option): Delete.
10973
10974         * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
10975         Define rs6000_float_gprs_string.
10976         (TARGET_OPTIONS): Add rs6000_float_gprs option.
10977
10978         * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
10979
10980         * config/rs6000/eabispe.h: Set rs6000_float_gprs.
10981
10982 Mon Apr  7 14:36:24 CEST 2003  Jan Hubicka  <jh@suse.cz>
10983
10984         PR opt/10024
10985         * cfglayout.c (cfg_layout_redirect_edge):
10986         Redirect any branch edges unified with the fallthru one.
10987         * cfgrtl.c (force_nonfallthru_and_redirect):  Do not special
10988         case fallthru edges when called via cfglayout.c
10989
10990 2003-04-07  J"orn Rennecke <joern.rennecke@superh.com>
10991
10992         * c-typeck.c (output_init_element): Check for type == error_mark_node.
10993
10994 2003-04-07  Kazu Hirata  <kazu@cs.umass.edu>
10995
10996         * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
10997         split.
10998         (a splitter): Do zero-extension via HImode.
10999
11000 2003-04-07  James A. Morrison <ja2morri@uwaterloo.ca>
11001
11002         * doc/invoke.texi: Eliminate extra white-space caused by
11003         @gccoptlist{ on its own line.
11004         * doc/invoke.texi: Ensured there are two spaces between each option.
11005         * doc/invoke.texi: Re-wrapped option lines that were too wide.
11006         Added @gol to options that didn't have them.
11007
11008 2003-04-07  James A Morrison <ja2morri@student.math.uwaterloo.ca>
11009
11010         * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
11011
11012 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
11013
11014         * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
11015         at the sizes of the relevant structures, rather than relying
11016         on TREE_CODE_LENGTH.  Call lang_hooks.tree_size to get the
11017         sizes of any such we don't know about.  Use
11018         lang_hooks.identifier_size for IDENTIFIER_NODE.
11019
11020         (initializer_zerop): Use CONSTRUCTOR_ELTS.
11021         * tree.def: Update commentary.  Make fourth element of
11022         the definition for all 'c' and 'x' nodes zero.
11023
11024         * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
11025         * langhooks-def.h: Update to match.
11026         * langhooks.c: New default, lhd_tree_size.
11027
11028         * c-common.def (SRCLOC): Kill.
11029         * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
11030         Remove entirely - was already #if-ed out.
11031
11032
11033 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
11034
11035         * mklibgcc.in: Use a here document to avoid running afoul of
11036         shells that generate control-A from "echo \1".
11037
11038 2003-04-06  Aldy Hernandez  <aldyh@redhat.com>
11039
11040         * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
11041         option.
11042
11043         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
11044         rs6000_spe.
11045
11046         * config/rs6000/eabi.h (TARGET_E500): Define.
11047
11048         * config/rs6000/rs6000.h (TARGET_E500): Define.
11049         (TARGET_OPTIONS): Add spe= option.
11050         Declare rs6000_spe and rs6000_spe_string extern.
11051
11052         * config/rs6000/rs6000.c (branch_positive_comparison_operator):
11053         Change TARGET_SPE to TARGET_E500.
11054         (ccr_bit): Change TARGET_SPE to TARGET_E500.  Check for
11055         !TARGET_FPRS.
11056         (print_operand): Same.
11057         (rs6000_generate_compare): Same.
11058         (output_cbranch): Same.
11059         (rs6000_spe): Declare.
11060         (rs6000_spe_string): Declare.
11061         (rs6000_override_options): Call rs6000_parse_spe_option.
11062         (rs6000_parse_spe_option): New.
11063
11064 2003-04-06  Steven Bosscher  <steven@gcc.gnu.org>
11065
11066         * hashtable.c (gcc_obstack_init): Delete this function
11067         and everything related to it.
11068         * hashtable.h: Remove prototype.
11069         * bitmap.c (bitmap_element_allocate): Cleanup redundant
11070         defines.  Cleanup some unnecessary whitespace.
11071         * defaults.h (obstack_chunk_alloc): Redefine with
11072         appropriate casts for libiberty obstacks.
11073         (obstack_chunk_free): Ditto.
11074         (OBSTACK_CHUNK_SIZE): Define, default to 0.
11075         (gcc_obstack_init): Define as a call to _obstack_begin.
11076         * tree.c (print_obstack_statistics): Delete this unused
11077         function.
11078         * tree.h (obstack): Don't forward-declare.
11079         (print_obstack_statistics): Delete prototype.
11080         (print_obstack_name): Ditto.
11081         (gcc_obstack_init): Ditto.
11082         * rtl.h (gcc_obstack_init): Ditto.
11083         * java/jv-scan.c (gcc_obstack_init): Delete this
11084         function, its prototype and related defines.
11085         * java/jvgenmain.c (gcc_obstack_init): Delete this
11086         function, and related defines.
11087         * java/parse-scan.y (obstack_chunk_alloc): Don't define.
11088         (obstack_chunk_free): Ditto
11089
11090 2003-04-06  Geoffrey Keating  <geoffk@apple.com>
11091
11092         * dbxout.c (dbxout_handle_pch): Move prototype out from
11093         #if defined DBX_DEBUGGING_INFO.
11094
11095 2003-04-05  Nathan Sidwell  <nathan@codesourcery.com>
11096
11097         * gcov.c (struct arc_info): Replace local_span with cycle.
11098         (struct block_info): Replace u.span with u.cycle. Add is_call_return.
11099         (solve_flow_graph): Set is_call_return.
11100         (add_line_counts): Adjust. In block mode, blocks attach to last line.
11101         (accumulate_line_counts): Find graph cycles, not spanning tree.
11102         (output_branch_count): Adjust.
11103         (output_lines): Adjust.
11104         * doc/gcov.texi: Update.
11105
11106 2003-04-06  Kazu Hirata  <kazu@cs.umass.edu>
11107
11108         * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
11109         the second alternative to "#".
11110
11111 2003-04-05  Kazu Hirata  <kazu@cs.umass.edu>
11112
11113         * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
11114         (single_zero_operand): Likewise.
11115
11116 2003-04-05  Daniel Berlin  <dberlin@dberlin.org>
11117
11118         * Makefile.in (df.o):  Depend on alloc-pool.h, not obstack.h.
11119         * df.c: Include alloc-pool.h, not obstack.h.
11120         (df_ref_obstack): Remove.
11121         (df_ref_pool, df_link_pool): Add pools.
11122         (df_alloc): Init the new pools.
11123         (df_free): And free them.
11124         (df_link_create): Use the pools.
11125         (df_ref_create): Ditto.
11126
11127 2003-04-05  Kazu Hirata  <kazu@cs.umass.edu>
11128
11129         * simplify-rtx.c: Fix formatting.
11130
11131 2003-04-05  Andrew Pinski  <apinski@apple.com>
11132
11133         * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
11134         reg with reg1 == reg2 and offset1 = -8.
11135
11136 2003-04-05  David Edelsohn  <edelsohn@gnu.org>
11137
11138         * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
11139         multiply costs.  Correct Power4 divide costs.
11140         * config/rs6000/power4.md: Restore multiply and FP latency.
11141
11142 2003-04-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11143
11144         * alias.c (find_base_term): Export.
11145         * rtl.h (find_base_term): Declare.
11146         * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
11147         instead of flag_exceptions.  Move test for parameter passing ...
11148         (store_killed_in_insn): ... here.
11149
11150 2003-04-05  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11151
11152         PR bootstrap/10267
11153         * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
11154         for configuring.
11155
11156 2003-04-04  Geoffrey Keating  <geoffk@apple.com>
11157
11158         * dbxout.c (scope_labelno): Add GTY.
11159         (have_used_extensions): Add GTY.
11160         (source_label_number): Add GTY.
11161         (lastfile): Add GTY.
11162         (lastfile_is_base): New.
11163         (base_input_file): New.
11164         (dbxout_handle_pch): New.
11165         (dbx_debug_hooks): Add handle_pch.
11166         (xcoff_debug_hooks): Likewise.
11167         (dbxout_function_end): Remove scope_labelno.
11168         (dbxout_init): Set base_input_file.
11169         (dbxout_handle_pch): New.
11170         (dbxout_source_file): Honour lastfile_is_base.
11171         * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
11172         * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
11173         * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
11174         * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
11175         * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
11176         * debug.h (struct gcc_debug_hooks): Add handle_pch.
11177         * c-pch.c (pch_init): Don't call start_source_file, but do call
11178         handle_pch.
11179         (c_common_write_pch): Call handle_pch.
11180         (c_common_read_pch): Don't call start_source_file,
11181         or end_source_file.
11182
11183 Fri Apr  4 17:43:52 2003  Olivier Hainque <hainque@act-europe.fr>
11184
11185         * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
11186         use of default attributes to agree MEM_ALIGN macro.
11187
11188 Fri Apr  4 17:33:24 2003  Joel Brobecker  <brobecker@gnat.com>
11189
11190         * dbxout.c (dbxout_type): When printing type index of range type
11191         whose bounds are printed in octal format, print type of parent type if
11192         it exists so enumerated type descriptions are not transformed
11193         into unsigned types.
11194
11195 2003-04-04  Kazu Hirata  <kazu@cs.umass.edu>
11196
11197         * config/h8300/h8300-protos.h: Add a prototype for
11198         compute_a_shift_cc.
11199         * config/h8300/h8300.c (shift_one): Update the CC status.
11200         (shift_two): Likewise.
11201         (output_a_shift_cc): Set cc_inline and cc_special.
11202         (compute_a_shift_cc): New.
11203         * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
11204
11205 2003-04-04  Richard Henderson  <rth@redhat.com>
11206
11207         * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
11208
11209 2003-04-04  Loren James Rittle  <ljrittle@acm.org>
11210
11211         * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
11212         * fixinc/fixincl.x: Rebuilt.
11213         * fixinc/tests/base/stdio.h: Regenerated.
11214
11215 2003-04-04  Nathan Sidwell  <nathan@codesourcery.com>
11216
11217         * gcov.c (accumulate_line_counts): Fix span tree merge bug.
11218
11219 Fri Apr  4 15:58:52 2003  J"orn Rennecke <joern.rennecke@superh.com>
11220
11221         * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
11222         (NORMAL_MODE).
11223         * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
11224
11225 2003-04-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11226
11227         * doc/contrib.texi (Contributors): Add entries for Wolfgang
11228         Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
11229         Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
11230         Danny Smith, and Ulrich Weigand.
11231         Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
11232         entry.
11233
11234 2003-04-04  Nick Clifton  <nickc@redhat.com>
11235
11236         * config/sparc/sol2-bi.h: Revert previous delta.
11237         * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
11238
11239 2003-04-04  Nick Clifton  <nickc@redhat.com>
11240
11241         * config/v850/v850.c (expand_prologue): Only use register save
11242         helper functions if long calls are not being used.
11243         Add a clobber of r11 id using long calls.
11244         (pattern_is_ok_for_prologue): Account for the extra clobber.
11245         (construct_save_jarl): Likewise.
11246         * config/v850/v850.md (prolog pattern): Do not use this pattern
11247         for v850e's.
11248
11249 2003-04-04  Andreas Schwab  <schwab@suse.de>
11250
11251         * stor-layout.c (layout_decl): Avoid syntax error in last change
11252         when PCC_BITFIELD_TYPE_MATTERS is defined but not
11253         EMPTY_FIELD_BOUNDARY.
11254
11255 2003-04-03  Jason Merrill  <jason@redhat.com>
11256
11257         PR c/10175
11258         * jump.c (never_reached_warning): Revert patch of 2002-11-02.
11259         Look backwards for a line note.
11260
11261 2003-04-03  Neil Booth  <neil@daikokuya.co.uk>
11262
11263         * fix-header.c (read_scan_file): Defer switch processing.
11264
11265 2003-04-03  Matt Austern  <austern@apple.com>
11266
11267         * cpppch.c (reset_ht): Remove.
11268         (cpp_read_state): Remove loop to reset hashtable identifiers.
11269         * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
11270         after pch file is written.
11271         * ggc.h (gt_pch_fixup_stringpool): Declare.
11272         * stringpool.c (ht_copy_and_clear): Define.  Callback.  Copy
11273         hashnode's value to another hashtable, then clear the original.
11274         (saved_ident_hash): Define.
11275         (gt_pch_save_stringpool): Create saved_ident_hash, use it to
11276         store definitions in ident_hash, and clear ident_hash.
11277         (gt_pch_fixup_stringpool): Define.  Restore definitions from
11278         saved_ident_hash to ident_hash, then destroy saved_ident_hash.
11279
11280 Thu Apr  3 22:27:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
11281
11282         * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
11283
11284 2003-04-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
11285
11286         PR optimization/10157
11287         * gcse.c (can_copy_p): Rename it to can_copy.
11288         (can_copy_init_p): Remove.
11289         (compute_can_copy): Use can_copy instead of can_copy_p.
11290         (can_copy_p): New exported function. Call compute_can_copy.
11291         (hash_scan_set): Use it.
11292         (gcse_main): Don't call compute_can_copy.
11293         (bypass_jumps): Don't call compute_can_copy.
11294         * rtl.h (can_copy_p): Declare.
11295         * loop.c (scan_loop): Don't move the source and add a reg-to-reg
11296         copy if the mode doesn't support copy operations.
11297
11298 2003-04-03  Jason Merrill  <jason@redhat.com>
11299
11300         * Makefile.in (unstrap): Also remove stage_last.
11301
11302         * dwarf2out.c (lookup_filename): Don't check for "<internal>".
11303         (dwarf2out_source_line): Don't do anything if line==0.
11304
11305         * stor-layout.c (do_type_align): New fn, split out from...
11306         (layout_decl): ...here.  Do all alignment calculations for
11307         FIELD_DECLs here.
11308         (update_alignment_for_field): Not here.
11309         (start_record_layout, debug_rli): Remove unpadded_align.
11310         * tree.h (struct record_layout_info_s): Remove unpadded_align.
11311         * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
11312         or DECL_MODE on the CONST_DECLs.
11313         (finish_struct): Don't mess with DECL_ALIGN.
11314
11315 Thu Apr  3 18:57:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
11316
11317         * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
11318
11319 Thu Apr  3 17:08:09 2003  J"orn Rennecke <joern.rennecke@superh.com>
11320
11321         * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
11322         function is an interrupt handler.
11323
11324         * sh.c (sh_expand_epilogue): Avoid clash of temp register for
11325         restoring target registers with EH_RETURN_STACKADJ_RTX; use
11326         multiple registers in round-robin fashion.
11327
11328 2003-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11329
11330         * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
11331         * system.h (CHAR_BITFIELD): New.
11332
11333 2003-04-03  Kazu Hirata  <kazu@cs.umass.edu>
11334
11335         * config/h8300/h8300.md (a peephole2): Generalize to accept GT
11336         and LE.
11337         (another peephole2): Likewise.
11338
11339 2003-04-03  Nick Clifton  <nickc@redhat.com>
11340
11341         * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
11342         (DEF_ARCH64_SPEC): Likewise.
11343
11344 Thu Apr  3 09:53:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
11345
11346         * i386.c (constant_address_p): Use legitimate_constant_p.
11347         (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
11348
11349 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
11350
11351         * config/h8300/h8300-protos.h: Add a prototype for
11352         gtle_operator.
11353         * config/h8300/h8300.c (gtle_operator): New.
11354         * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
11355         gtle_operator.
11356         * config/h8300/h8300.md (a peephole2): Generalize to accept GT
11357         and LE.
11358
11359 2003-04-02  Richard Henderson  <rth@redhat.com>
11360
11361         * libgcc-std.ver (_Unwind_GetCFA): New.
11362         * unwind-dw2.c (_Unwind_GetCFA): New.
11363         * unwind-libunwind.c (_Unwind_GetCFA): New.
11364         * unwind-sjlj.c (_Unwind_GetCFA): New.
11365         * unwind.h: Declare it.
11366
11367 Thu Apr  3 00:31:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
11368
11369         PR inline-asm/8088
11370         * i386.c (ix86_hard_regno_mode_ok):  Return 0 for MMX/SSE registers
11371         when MMX/SSE is not available.
11372
11373 2003-04-02  Mike Stump  <mrs@apple.com>
11374
11375         * doc/install.texi (Specific): Update pointers to apple.com.
11376
11377 Thu Apr  3 00:18:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
11378
11379         * i386.c (override_options):  Disable red zone by default on i386.
11380         (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
11381         Do not test TARGET_64BIT together with TARGET_RED_ZONE
11382
11383 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
11384
11385         * config/h8300/h8300.md (a peephole2): Tighten the condition.
11386
11387 2003-04-02  Richard Henderson  <rth@redhat.com>
11388
11389         * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
11390
11391 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
11392
11393         * config/h8300/h8300.md (a peephole2): New.
11394
11395 2003-04-02  Richard Henderson  <rth@redhat.com>
11396
11397         * except.c (sjlj_find_directly_reachable_regions): Recognize when
11398         must-not-throw region has been deleted.
11399
11400 2003-04-02  Richard Henderson  <rth@redhat.com>
11401
11402         * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
11403         optimization when flag_exceptions not enabled.
11404
11405 2003-04-02  Vladimir Makarov  <vmakarov@redhat.com>
11406
11407         * config/rs6000/rs6000.c
11408         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
11409         macros.
11410         (rs6000_issue_rate): Add case for 8540.
11411         (rs6000_use_sched_lookahead): New function.
11412
11413         * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
11414         units into MU ones.
11415         (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
11416         reservation before retirement.
11417         (ppc8540_multiply, ppc8540_load, ppc8540_store,
11418         ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
11419         Remove additional cycle in the reservation before retirement.
11420         (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
11421         reservation of ppc8540_issue.
11422
11423 2003-04-02  Andreas Schwab  <schwab@suse.de>
11424
11425         * real.c (decode_ieee_single): Fix decoding of SNaN bit.
11426
11427 2003-04-01  Richard Henderson  <rth@redhat.com>
11428
11429         * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
11430         notes for nothrow calls if flag_forced_unwind_exceptions.
11431         (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
11432         (sjlj_find_directly_reachable_regions): Likewise.
11433         (reachable_handlers): Likewise.
11434         (can_throw_external): Likewise.
11435         (collect_one_action_chain): Record cleanups after catch-all and
11436         must-not-throw if flag_forced_unwind_exceptions.
11437         * flags.h (flag_forced_unwind_exceptions): Declare.
11438         * toplev.c (flag_forced_unwind_exceptions): New.
11439         (lang_independent_options): Add it.
11440         * doc/invoke.text: Add it.
11441
11442 2003-04-01  David Mosberger <davidm@hpl.hp.com>
11443
11444         * config/ia64/crti.asm: Clean up trailing whitespace.
11445         Remove trailing hashes (#) from identifiers.
11446
11447         * config/ia64/crtn.asm: Ditto.
11448
11449         * config/ia64/crtend.asm: Remove trailing hashes (#) from
11450         identifiers.
11451         (__do_global_ctors_aux): Align to 32-byte boundary.  Add unwind
11452         directives.  Drop explicit bundling---it just makes the code
11453         harder to read.  Don't save/restore gp needlessly.
11454
11455         * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
11456         identifiers (they're only needed if the identifier would clash
11457         with a register name otherwise).
11458         (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
11459         directives.  Drop explicit bundling---it just makes the code
11460         harder to read.
11461         (__do_jv_register_classes): Ditto.
11462         (.fini_array): Remove "progbits" (newer
11463         assemblers don't like wrong section-types).
11464         (.init_array): Ditto.
11465
11466 2003-04-01  Roger Sayle  <roger@eyesopen.com>
11467
11468         PR fortran/9974
11469         * gcse.c (reg_killed_on_edge): New function to test whether the
11470         given reg is overwritten by any instruction queued on an edge.
11471         (bypass_block): Ignore substitutions killed on incoming edges.
11472         Don't bypass outgoing edges that have queued instructions.
11473
11474 2003-04-01  Alexandre Oliva  <aoliva@redhat.com>
11475
11476         * real.h (EXP_BITS): Make room for...
11477         (struct real_value): ... added canonical bit.
11478         (struct real_format): Added pnan.
11479         (mips_single_format, mips_double_format, mips_extended_format,
11480         mips_quad_format): New.
11481         * real.c: Copy p to pnan in all formats.
11482         (get_canonical_qnan, get_canonical_snan): Set canonical bit.
11483         (real_nan): Use pnan to compute significand's shift.
11484         (real_identical): Disregard significand in canonical
11485         NaNs.
11486         (real_hash): Likewise.  Take signalling into account.
11487         (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
11488         Disregard significand bits in canonical NaNs.  Set all bits of
11489         canonical NaN if !qnan_msb_set.
11490         (encode_ibm_extended, decode_ibm_extended): Likewise.  Use
11491         qnan_msb_set to tell the base double format.
11492         (ibm_extended_format): Use 53 as pnan.
11493         (mips_single_format, mips_double_format, mips_extended_format,
11494         mips_quad_format): Copied from the corresponding ieee/ibm
11495         formats, with qnan_msb_set false.
11496         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
11497         * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
11498         * config/mips/mips.c (override_options): Use mips_single_format
11499         and mips_double_format.  Default TFmode to mips_quad_format.
11500         * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
11501         * config/mips/t-irix6: Likewise.
11502         * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
11503         * config/fp-bit.c (pack_d, unpack_d): Obey it.
11504
11505 2003-04-01  Geoffrey Keating  <geoffk@apple.com>
11506
11507         * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
11508         (live_image_destructor): Reset image to initial state.
11509         (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
11510
11511 2003-04-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
11512
11513         * config/sparc/sparc.c (input_operand): Accept bare
11514         CONSTANT_P_RTX operands.
11515
11516 2003-04-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11517
11518         * gcse.c (struct ls_expr): Added pattern_regs field.
11519         (ldst_entry): Initialize it.
11520         (extract_mentioned_regs, extract_mentioned_regs_helper): New.
11521         (store_ops_ok): Use regs precomputed by them.
11522         (find_loads, store_killed_in_insn, load_kills_store): Change return
11523         type to bool.
11524         (store_killed_before, store_killed_after): Take position of register
11525         set in account.
11526         (reg_set_info): Store position of the setter.
11527         (gcse_main): Enable store motion.
11528         (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
11529         (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
11530         sharing.
11531         (simple_mem): Enable store motion of non-symbol mems.
11532         (regvec): Type changed.
11533         (LAST_AVAIL_CHECK_FAILURE): New.
11534         (compute_store_table_current_insn): New.
11535         (build_store_vectors): Computation of availability and anticipatability
11536         moved ...
11537         (compute_store_table, find_moveable_store): ... here.
11538         (delete_store): Remove senseless comment.
11539         (store_motion): Reorganize.
11540
11541 2003-04-01  Kevin Buettner  <kevinb@redhat.com>
11542
11543         * config/mips/mips.c (override_options): Provide mappings for
11544         HI_REGNUM and LO_REGNUM.
11545         * config/mips/mips.h (MD_DBX_FIRST): Define.
11546
11547 2003-04-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11548
11549         * combine.c (merge_outer_ops): Fix typo.
11550
11551         * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
11552
11553 2003-04-01  David Edelsohn  <edelsohn@gnu.org>
11554
11555         * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
11556         power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
11557         imul_compare.  Add lmul_compare.
11558         * config/rs6000/power4.md: Bump some latencies.  Model extra cycle
11559         in second pair of dispatch slots.  Model stores more accurately.
11560         Tweak multiply model.  Add bypasses for CR instructions dependent
11561         on complicated compares.
11562         * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
11563         (muldi3): Add lmul_compare patterns.
11564         * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
11565         and FPSTORE_UX to split instructions and add COMPARE,
11566         DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
11567         (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
11568         (rs6000_rtx_costs): Separate POWER4 multiply case.
11569
11570 2003-04-01  Ulrich Weigand  <uweigand@de.ibm.com>
11571
11572         * config/s390/s390.c (s390_fixup_clobbered_return_reg):
11573         Do nothing if __builtin_return_address was not used.
11574
11575 Tue Apr  1 18:18:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
11576
11577         * i386.md (test patterns):  Allow memory operand in operand1.
11578
11579 2003-02-31  Aldy Hernandez  <aldyh@redhat.com>
11580
11581         * testsuite/gcc.c-torture/execute/simd-3.c: New.
11582
11583         * expr.c (expand_expr): Handle VECTOR_CST.
11584         (const_vector_from_tree): New.
11585
11586         * varasm.c (output_constant): Handle VECTOR_CST.
11587
11588         * c-typeck.c (digest_init): Build a vector constant from a
11589         VECTOR_TYPE.
11590
11591         * config/rs6000/rs6000.c: Remove prototype for
11592         easy_vector_constant.
11593         (easy_vector_constant): Add mode parameter.  Rewrite to handle
11594         more easy constants.
11595         (rs6000_emit_move): Pass mode to easy_vector_constant.
11596         Call emit_easy_vector_insn for SPE V2SI vector constant moves.
11597         (emit_easy_vector_insn): New.
11598         (easy_vector_same): New.
11599         (EASY_VECTOR_15): New macro.
11600         (EASY_VECTOR_15_ADD_SELF): New macro.
11601         (bdesc_2arg): Rename to xorv2si3.
11602         (easy_vector_constant_add_self): New.
11603         (input_operand): Allow vector constants.
11604
11605         * config/rs6000/rs6000.h (PREDICATE_CODES): Add
11606         easy_vector_constant, easy_vector_constant_add_self.
11607         (EXTRA_CONSTRAINT): Add 'W'.
11608
11609         * config/rs6000/rs6000-protos.h: Add prototype for
11610         easy_vector_constant, emit_easy_vector_insn.
11611
11612         * config/rs6000/altivec.md (xorv8hi3): New.
11613         (xorv16qi3): New.
11614         Remove all _const0 patterns.
11615         (movv4si_internal): Rewrite to use code.  Add vector constant to
11616         vector alternative.  Add splitter.
11617         (movv8hi_internal): Same.
11618         (movv16qi_internal): Same.
11619         (movv4sf_internal): Same.
11620         Change the unspecs for vspltis* to use constants.
11621
11622         * config/rs6000/spe.md ("xorv4hi3"): New.
11623         ("spe_evxor"): Rename to xorv2si3.
11624         ("xorv1di3"): New.
11625         Remove all _const0 patterns.
11626         (movv2si_internal): Rewrite to use code.  Add vector constant to
11627         alternatives.  Add splitter.
11628         (movv4hi_internal): Add vector constant to alternatives.
11629         (movv1di_internal): Same.
11630         (movv2sf_internal): Same.
11631
11632 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
11633
11634         PR c/9936
11635         * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
11636         variably-sized arrays in parameters.
11637         (set_save_expr_context): New function.
11638         (c_expand_body): Use it, via walk_tree.
11639
11640 2003-03-31  Eric Christopher  <echristo@redhat.com>
11641
11642         * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
11643         (combinable_i3pat): Remove call to expand_field_assignment and
11644         #if 0'd code.
11645
11646 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
11647
11648         PR c++/10278
11649         * c-common.c (finish_label_address_expr): Handle the
11650         error_mark_node.
11651
11652 2003-03-31  Richard Henderson  <rth@redhat.com>
11653
11654         * real.c (real_identical): Reorg so as to not compare
11655         signalling for normals.
11656
11657 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
11658
11659         * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
11660
11661 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
11662
11663         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
11664         notes as they are boggus.
11665         (m68hc11_gen_movqi): Likewise.
11666
11667 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
11668
11669         * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
11670         save the soft registers after the frame pointer so that gdb can unwind
11671         the frame more easily.
11672         (expand_epilogue): Likewise in opposite order; allow to use X register
11673         as scratch if the return value is by reference.
11674
11675 2003-03-31  Jason Merrill  <jason@redhat.com>
11676
11677         PR java/10145
11678         * stor-layout.c (update_alignment_for_field): Respect
11679         DECL_USER_ALIGN for zero-length bitfields, too.
11680         * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
11681         fields.
11682
11683 2003-03-31  Matt Austern  <austern@apple.com>
11684
11685         * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
11686         (count_defs): Keep track of number of defs as well as total size.
11687         (write_defs): Put every definition in cpp_savedstate's defs array.
11688         (comp_hashnode): Define.  Comparison function for qsort.
11689         (cpp_write_pch_deps): Sort definitions before writing them.
11690         (struct ht_node_list): Define. Like cpp_savedstate but simpler.
11691         (collect_ht_nodes): Define.
11692         (cpp_valid_state): When verifying that undefined identifiers in
11693         the pch file are still undefined, read a sorted list of undefined
11694         identifiers, collect all defined identifiers into a sorted list,
11695         and walk through both lists to make sure there's no match.
11696
11697 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
11698
11699         * config/h8300/h8300.md (a peephole2): New.
11700
11701 2003-03-31  Michael Matz  <matz@suse.de>
11702
11703         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
11704
11705 2003-03-31  Segher Boessenkool  <segher@koffie.nl>
11706
11707         PR target/10177
11708         * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
11709         * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
11710         all call-clobbered registers as used.
11711
11712 2003-03-31  Michael Matz  <matz@suse.de>
11713
11714         * cppexp.c (cpp_classify_number): Accept '.' after "0x".
11715         * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
11716
11717 2003-03-31  Nathan Sidwell  <nathan@codesourcery.com>
11718
11719         * gcov.c: Add -a & -u options.
11720         (struct arc_info): Add local_span, is_call_non_return,
11721         is_nonlocal_return, is_unconditional flags, remove is_call flag.
11722         (struct block_info): Add flags, is_call_site, is_nonlocal_return
11723         members. Make encodings a union with span member.
11724         (struct function_info): Add blocks_executed, line, src, line_next
11725         members.
11726         (struct coverage_info): Make branches a union with blocks member.
11727         (struct source_info): Add functions member.
11728         (object_summary, program_count): New global variables.
11729         (flag_all_blocks, flag_unconditional): New flags.
11730         (find_source, output_branch_count): New functions.
11731         (print_usage): Adjust.
11732         (options): Adjust.
11733         (process_args): Adjust.
11734         (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
11735         <GCOV_TAG_BLOCKS>: Read flags.
11736         <GCOV_TAG_LINES>: Adjust.
11737         (read_count_file): Process SUMMARY tags.
11738         (solve_flow_graph): Set is_unconditional and clear is_call_site
11739         appropriately.
11740         (add_branch_counts): Adjust. Don't count unconditional branches.
11741         (add_line_counts): Deal with all-blocks mode, accumulate block
11742         coverage.
11743         (accumulate_line_counts): Adjust, generate local spanning tree for
11744         all-blocks mode.
11745         (output_lines): Adjust.
11746         * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
11747         * doc/gcov.texi: Document.
11748
11749 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
11750
11751         * config/h8300/h8300.md: Organize peephole2's that transform
11752         (compare (reg:HI) (const_int)).
11753
11754 2003-03-31  Roger Sayle  <roger@eyesopen.com>
11755
11756         * emit-rtl.c (dconstm2, dconsthalf): New real constants.
11757         (init_emit_once): Initialize dconstm2 and dconsthalf here.
11758         * real.h (dconstm2, dconsthalf): Add prototypes here.
11759         * real.c (real_sqrt): Use dconsthalf rather than local copy.
11760         * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
11761         exp(x/2.0) remember to fold the division if possible.
11762         Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
11763         pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
11764         1.0/(x*x) and pow(x,0.5) as sqrt(x).
11765
11766 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
11767
11768         * config/h8300/h8300.md (a new peephole2): New.
11769
11770 2003-03-31  Richard Sandiford  <rsandifo@redhat.com>
11771
11772         * gcse.c (simple_mem): Return false for floating-point accesses
11773         if flag_float_store is true.
11774
11775 2003-03-30  Roger Sayle  <roger@eyesopen.com>
11776
11777         * gcse.c (gcse_constant_p): New function to identify constants
11778         suitable for constant propagation, including COMPARE with two
11779         integer constant arguments.
11780         (hash_scan_set): Use gcse_constant_p.
11781         (find_avail_set): Likewise.
11782         (cprop_insn): Likewise.
11783         (do_local_cprop): Likewise.
11784         (find_implicit_sets): Likewise.
11785         (find_bypass_set): Likewise.
11786
11787 2003-03-30  Matt Kraai  <kraai@alumni.cmu.edu>
11788
11789         * except.h: Remove definition of varray_type.
11790
11791 2003-03-30  Richard Henderson  <rth@redhat.com>
11792
11793         PR opt/10011, opt/10252:
11794         * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
11795         before post-gcse cse pass.
11796
11797 2003-03-30  Roger Sayle  <roger@eyesopen.com>
11798
11799         * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
11800
11801 2003-03-30  DJ Delorie  <dj@redhat.com>
11802
11803         * profile.c (instrument_edges): Make sure any newly created
11804         jump insns have correct jump label info.
11805
11806 2003-03-30  Richard Henderson  <rth@redhat.com>
11807
11808         * cfgbuild.c (make_edges): Use tablejump_p.
11809         * cfgcleanup.c (label_is_jump_target_p): Likewise.
11810         * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
11811         * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
11812         (try_redirect_by_replacing_jump): Likewise.
11813         (redirect_edge_and_branch): Likewise.
11814         * cse.c (fold_rtx): Likewise.
11815         * jump.c (delete_related_insns): Likewise.
11816         * rtlanal.c (get_jump_table_offset): Likewise.
11817         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
11818
11819 2003-03-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11820
11821         * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
11822         (STRICT2_WARN): Likewise.
11823
11824 2003-03-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11825
11826         PR other/6955
11827         * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
11828         * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
11829
11830 2003-03-30  Richard Henderson  <rth@redhat.com>
11831
11832         PR c/10083
11833         * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
11834         don't zero_extend const inputs.
11835
11836 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
11837
11838         * reload1.c (reload_cse_move2add): Fix a comment typo.
11839
11840 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
11841
11842         * config/h8300/h8300.md (a peephole2): Remove useless code.
11843
11844 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
11845
11846         * config/h8300/h8300.md (*iorsi3_and_ashift): New.
11847         (*iorsi3_and_lshiftrt): Likewise.
11848         (*iorsi3_zero_extract): Likewise.
11849
11850 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
11851
11852         * config/h8300/h8300.md (*insv_si_8_8): New.
11853         (*insv_si_8_8_lshiftrt_8): Likewise.
11854         (a peephole2): Likewise.
11855
11856 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11857
11858         * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
11859         Uniformly use bugfix instead of bug fix.
11860
11861 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
11862
11863         PR doc/895
11864         * ONEWS: Remove those items that already appear in the EGCS
11865         release notes on our web pages.
11866
11867 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
11868
11869         * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
11870         TARGET_HARD_FLOAT.  Reformat.
11871         (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
11872
11873 2003-03-28  Albert Chin-A-Young  <china@thewrittenword.com>
11874
11875         * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
11876         work on Solaris 2.5.1.
11877
11878 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>
11879
11880         * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
11881         section of h8300.md
11882         (*addsi3_and_nor_r_1): Likewise.
11883
11884 2003-03-29  Ulrich Weigand  <uweigand@de.ibm.com>
11885
11886         * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
11887         set up before any trapping memory access if flag_non_call_exceptions.
11888
11889 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
11890
11891         * reload1.c (reload_as_needed): Allow a USE in asm reloads.
11892
11893         * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
11894
11895 2003-03-28  Nathanael Nerode  <neroden@gcc.gnu.org>
11896
11897         * configure.in: Clarify comments.
11898         * configure: Regenerate.
11899
11900 2003-03-28  Ulrich Weigand  <uweigand@de.ibm.com>
11901
11902         * config/s390/s390.md ("literal_pool_31"): Output pool anchor
11903         label even if pool empty when generating PIC.
11904         ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
11905
11906 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>,
11907             Dhananjay Deshpande  <dhananjayd@kpit.com>
11908
11909         PR target/10205
11910         * config/h8300/h8300.c (h8300_initial_elimination_offset):
11911         Correct the offset computation when TARGET_NORMAL.
11912
11913 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
11914
11915         PR target/10067
11916         * config/sparc/sparc.md (jump pattern): Correct order
11917         when issuing the annuling marker.
11918
11919 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
11920
11921         PR c/8281
11922         * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
11923         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
11924
11925 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
11926
11927         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
11928         globalize_label.
11929         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11930         * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11931         * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11932         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11933         * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11934         * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
11935         * config/v850/v850.c (v850_output_aligned_bss): Likewise.
11936
11937 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
11938
11939         * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
11940         (replace_loop_mems): Add "written" param.  Remove invalid REG_EQUAL
11941         notes after hoisting.
11942         (load_mems): Adjust replace_loop_mems call.
11943
11944 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
11945             Richard Henderson  <rth@redhat.com>
11946
11947         PR target/10114 and PR target/10084
11948         * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
11949
11950 2003-03-27  Richard Henderson  <rth@redhat.com>
11951
11952         * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
11953
11954 2003-03-27  Roger Sayle  <roger@eyesopen.com>
11955
11956         * fold-const.c (fold_inf_compare):  New function to simplify FP
11957         comparisons against +Infinity or -Infinity.
11958         (fold):  Optimize floating point comparisons against Infs and NaNs.
11959
11960 2003-03-27  Janis Johnson  <janis187@us.ibm.com>
11961
11962         * libgcov.c: Provide only dummy functions if libc is not available.
11963
11964 2003-03-27  Richard Henderson  <rth@redhat.com>
11965
11966         * real.h (struct real_value): Add signalling.
11967         (EXP_BITS): Decrement.
11968         * real.c (get_canonical_qnan): Don't set MSB-1.
11969         (get_canonical_snan): Likewise.  Set signalling.
11970         (real_identical): Compare signalling.
11971         (round_for_format): Remove force-one-bit on code.
11972         (real_nan): Likewise.  Set signalling.
11973         (encode_ieee_single): Add force-one-bit code; honor signalling.
11974         (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
11975         (decode_ieee_single): Set signalling.
11976         (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
11977
11978 2003-03-27  Olivier Hainque  <hainque@act-europe.fr>
11979
11980         PR ada/9953
11981         * ada/Makefile.in (gnatlib configuration for HPUX): Split
11982         the general section for HPUX into specific sections for
11983         HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
11984         11 case.
11985
11986 2003-03-27  Glen Nakamura  <glen@imodulo.com>
11987
11988         PR opt/10087
11989         * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
11990         while incrementing giv.
11991         (record_biv): Check for duplicate biv locations and
11992         set (struct induction *) v->same if found.
11993
11994 2003-03-27  David Mosberger  <davidm@hpl.hp.com>
11995
11996         * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
11997         v0.9 API change: replace read of UNW_REG_HANDLER with
11998         unw_get_proc_info().
11999         (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
12000         with unw_get_proc_info().
12001         (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
12002         unw_get_proc_info().
12003
12004 2003-03-27  Vladimir Makarov  <vmakarov@redhat.com>
12005
12006         * config/rs6000/8540.md: Use presence_set instead of absence_set.
12007
12008 2003-03-26  Richard Henderson  <rth@redhat.com>
12009
12010         * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
12011
12012 2003-03-26  Roger Sayle  <roger@eyesopen.com>
12013
12014         PR bootstrap/10051, PR bootstrap/10169.
12015         * mips-tfile.c (init_file): Don't provide a static initializer.
12016         (initialize_init_file): Initialize the contents of init_file.
12017         (add_file): Call initialize_init_file if not already initialized.
12018
12019 2003-03-26  Ulrich Weigand  <uweigand@de.ibm.com>
12020
12021         * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
12022         registers used for global asm variables.
12023         (s390_frame_info, s390_arg_frame_offset): Likewise.
12024         (s390_emit_prologue, s390_emit_epilogue): Likewise.
12025
12026 2003-03-26  Vladimir Makarov  <vmakarov@redhat.com>
12027
12028         * config/rs6000/8540.md: New file.
12029
12030         * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
12031         power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
12032         reservations for imul.
12033
12034         * config/rs6000/rs6000.md: Include 8540.md.  Change
12035         delayed_compare onto mult_compare for insns generating
12036         multiplication.
12037         (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
12038         New type attribute values.
12039
12040         * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
12041         fpsimple instead of fp.
12042         (*divsf3_gpr): Use type vecfdiv instead of fp.
12043         (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
12044         instead of vecfloat.
12045         (spe_evfsdive): Use type vecfdiv instead of vecfloat.
12046         (spe_brinc): Use type brinc instead of veccomplex.
12047         (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
12048         veccomplex.
12049         (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
12050         (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
12051         *movv2sf_internal): Define type attribute values for all
12052         alternatives.
12053         (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
12054         of fpcompare.
12055         (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
12056         instead of fpcompare.
12057
12058 2003-03-26  David Edelsohn  <edelsohn@gnu.org>
12059
12060         * config/rs6000/power4.md: Allow delay between dispatch and
12061         function units for simple instructions.  Correct store units.
12062         Allow branch to occupy as many dispatch slots as necessary.
12063
12064 2003-03-26  Jakub Jelinek  <jakub@redhat.com>
12065
12066         * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
12067         (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
12068         zero extend old to it.
12069         * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
12070         operand.
12071
12072 2003-03-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
12073
12074         PR target/7784
12075         * reload.c (find_reloads_address): Handle
12076         (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
12077         all base registers.
12078
12079 2003-03-25  Marcelo Abreu  <mmabreu@inf.ufrgs.br>
12080
12081         PR other/10203
12082         * version.c: Reference the GCC web site in the URL.
12083
12084 2003-03-26  Alan Modra  <amodra@bigpond.net.au>
12085
12086         * c-incpath.c (add_standard_paths): Add both "translated" and
12087         non-translated header paths.
12088
12089 2003-03-25  Loren James Rittle  <ljrittle@acm.org>
12090
12091         * doc/install.texi (*-*-freebsd*): Update with known status.
12092
12093 2003-03-21  Jason Merrill  <jason@redhat.com>
12094
12095         PR optimization/10171
12096         * unroll.c (unroll_loop): Don't delete the jump at the end unless
12097         we also delete a jump at the beginning.
12098
12099 2003-03-25  Stephane Carrez  <stcarrez@nerim.fr>
12100
12101         * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
12102         contributor.
12103
12104 Tue Mar 25 20:35:51 CET 2003  Jan Hubicka  <jh@suse.cz>
12105
12106         * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
12107         constants are not expensive.
12108
12109 Mon Mar 24 20:03:03 CET 2003  Jan Hubicka  <jh@suse.cz>
12110
12111         PR opt/10056
12112         * cfglayout.c (fixup_reorder_chain):  Fix dealing with the conditional
12113         jump jumping to the next instruction.
12114         * cfgrtl.c (force_nonfallthru_and_redirect):  Likewise.
12115
12116 2003-03-25  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12117
12118         * doc/passes.texi (Passes): Properly document that we do not
12119         perform jump2 any longer; remove command-line option -dJ.
12120
12121 2003-03-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
12122
12123         PR optimization/8746
12124         * config/i386/i386.md (and promoting splitters): Disable HImode to
12125         SImode promoting when the sign bit matters and is not preserved, or
12126         when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
12127         for size.
12128
12129 2003-03-24  Kazu Hirata  <kazu@cs.umass.edu>
12130
12131         * config/h8300/h8300.md (a peephole2): Extend to support loads
12132         in QImode and HImode.
12133
12134 2003-03-24  Stephane Carrez  <stcarrez@nerim.fr>
12135
12136         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
12137         _return_far
12138         (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
12139         (MULTILIB_EXCEPTIONS): Likewise.
12140         * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
12141         by calling some board support routine.
12142         ("call_value"): Likewise.
12143         ("*return_void"): Likewise for return.
12144         ("*return_16bit"): Likewise.
12145         ("*return_32bit"): Likewise.
12146         * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
12147         for 68HC11 too.
12148         (DWARF2_ADDR_SIZE): Use 4 so that addresses can
12149         * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
12150         -mlong-calls for 68HC11.
12151         * config/m68hc11/larith.asm (declare_near): New macro.
12152         (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
12153         (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
12154         (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
12155         (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
12156         (__mulhi32): Likewise.
12157         (ret): Update macro for 68HC11.
12158         (__far_trampoline): Implement for 68HC11.
12159         (__call_a16, __call_a32, __return_void, __return_16): New support
12160         routines for 68HC11 memory bank switching calling support.
12161         (__return_32): Likewise.
12162
12163 2003-03-24  Neil Booth  <neil@daikokuya.co.uk>
12164
12165         * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
12166
12167 2003-03-24  Janis Johnson  <janis187@us.ibm.com>
12168
12169         * doc/install.texi (Testing): Mention test result links from build
12170         status pages.
12171
12172 2003-03-24  Mark Mitchell  <mark@codesourcery.com>
12173
12174         * function.c (put_var_into_stack): Change bool parameter to int.
12175         (gen_mem_addressof): Likewise.
12176         * rtl.h (gen_mem_addressof): Likewise.
12177         * tree.h (put_var_into_stack): Likewise.
12178         * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
12179         gen_mem_addressof or put_var_into_stack.
12180         * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
12181         * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
12182
12183 2003-03-24  Kazu Hirata  <kazu@cs.umass.edu>
12184
12185         * config/h8300/h8300.md (a peephole2): New.
12186
12187 2003-03-24  Jakub Jelinek  <jakub@redhat.com>
12188
12189         * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
12190
12191 2003-03-24  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12192
12193         * doc/contrib.texi (Contributors): Update Janis Johnson.
12194
12195 2003-03-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
12196
12197         PR target/10072
12198         * combine.c (simplify_if_then_else): Check that the mode
12199         has MODE_INT class before applying the (OP Z (mult COND C2))
12200         transformation.
12201
12202 2003-03-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
12203
12204         PR optimization/9414
12205         * config/sparc/sparc.md (widening peepholes): Use
12206         widen_memory_access instead of change_address.
12207
12208 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
12209
12210         PR c++/7086
12211         * c-typeck.c (c_mark_addressable): Adjust calls to
12212         put_var_into_stack.
12213         * expr.c (expand_expr): Likewise.
12214         * function.c (put_var_into_stack): Add rescan parameter.  Do not
12215         call fixup_var_refs when rescan is false.
12216         (gen_mem_addressof): Likewise.
12217         (assign_parms): Adjust calls to put_var_into_stack.
12218         (setjmp_protect): Likewise.
12219         (setjmp_protect_args): Likewise.
12220         * rtl.h (gen_mem_addressof): Change prototype.
12221         * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
12222         * tree.h (put_var_into_stack): Change prototype.
12223
12224 2003-03-23  Arpad Beszedes <beszedes@cc.u-szeged.hu>
12225
12226         PR middle-end/9967
12227         * builtins.c (expand_builtin_fputs): When optimizing for size,
12228         don't transform fputs into fwrite.
12229
12230 2003-03-23  Glen Nakamura <glen@imodulo.com>
12231
12232         PR c/8224
12233         * fold-const.c (extract_muldiv_1): Don't pass through type conversions
12234         when signedness changes for division or modulus.
12235
12236 2003-03-24  Alan Modra  <amodra@bigpond.net.au>
12237
12238         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
12239         globalize_label.
12240
12241 2003-03-23  Roger Sayle  <roger@eyesopen.com>
12242
12243         PR c/10178
12244         * stmt.c (expand_end_case_type): Check for overflow in range when
12245         determining whether to use a bit-test implementation.
12246
12247 2003-03-23  Richard Henderson  <rth@redhat.com>
12248
12249         * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
12250         before flow2.
12251         * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
12252
12253 2003-03-23  Richard Henderson  <rth@redhat.com>
12254
12255         PR opt/10116
12256         * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
12257         from then_bb or else_bb after flow2.
12258
12259 2003-03-23  Zack Weinberg  <zack@codesourcery.com>
12260
12261         * configure.in: Check whether it is necessary to link against
12262         libm to use ldexp.
12263         * configure: Regenerate.
12264         * Makefile.in: Add LDEXP_LIB substitution variable.
12265
12266 2003-03-23  Kazu Hirata  <kazu@cs.umass.edu>
12267
12268         * config/h8300/h8300.md: Fix comment typos.
12269
12270 2003-03-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12271
12272         * pa.c (output_cbranch): Fix typo in comment.
12273
12274 2003-03-22  Richard Henderson <rth@redhat.com>
12275
12276         * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
12277         after reload.
12278
12279 2003-03-22  DJ Delorie  <dj at redhat dot com>,
12280         Bruce Korb  <bkorb at gnu dot org>
12281
12282         * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
12283         buggy Solaris 2.6 mutex/cond initializers.
12284         (solaris_mutex_init): Rename to solaris_mutex_init_2.
12285         * fixinc/fixincl.x: Regenerate.
12286         * fixinc/tests/base/pthread.h: Update.
12287         * fixinc/fixincl.c(initialize): be explicit about the default case
12288         and indicate verbose level when being very, very verbose.
12289         * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
12290
12291 2003-03-22  Andreas Jaeger  <aj@suse.de>
12292
12293         * config/i386/i386.c (ix86_init_machine_status): Return value.
12294
12295 2003-03-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12296
12297         * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
12298         conditional branch to the following instruction.  Use next_real_insn
12299         instead of next_active_insn.
12300         (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
12301         instead of next_active_insn.
12302
12303 2003-03-22  Ulrich Weigand  <uweigand@de.ibm.com>
12304
12305         * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
12306         instead of 'm' constraint in forced-split alternatives.
12307         ("*adddi3_31", "*subdi3_31"): Likewise.  Also, pass 0 instead of 1 as
12308         VALIDATE_ADDRESS parameter to operand_subword.
12309
12310 2003-03-22  Kazu Hirata  <kazu@cs.umass.edu>
12311
12312         * config/h8300/h8300.c (notice_update_cc): Correctly handle
12313         the case where the set destination is STRICT_LOW_PART.
12314
12315 2003-03-22  Svein E. Seldal  <Svein.Seldal@solidas.com>
12316
12317         * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
12318         c30 instead of a c40 processor.
12319
12320 2003-03-22  Alan Modra  <amodra@bigpond.net.au>
12321
12322         * combine.c (simplify_comparison <AND>): Use gen_int_mode.  Tidy.
12323
12324 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
12325
12326         * c-common.c: Include intl.h.
12327         (shadow_warning): Rewrite to allow better diagnostic translations.
12328         * c-common.h: Update prototype of shadow_warning.  Declare sw_kind enum.
12329         * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
12330         use it throughout.
12331         * Makefile.in (c-common.o): Add intl.h.
12332
12333 2003-03-21  Nathanael Nerode  <neroden@gcc.gnu.org>
12334
12335         * config.gcc: Remove 'float_format'.
12336
12337         * fixproto: Define NULL and size_t in generated stdlib.h and
12338         unistd.h.  Kill unused required_stdlib_h, required_unistd_h.
12339         Rearrange file generation loop for readability.  Generate time.h,
12340         string.h if missing.
12341         * tsystem.h: Include <string.h>, <time.h> unconditionally.
12342         * config.gcc: Blow away POSIX defines.
12343
12344 2003-03-22  Stephane Carrez  <stcarrez@nerim.fr>
12345
12346         * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
12347
12348 2003-03-22  Stephane Carrez  <stcarrez@nerim.fr>
12349
12350         * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
12351         writing .interrupt command.
12352         * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
12353         if it's a far or near function.
12354         ("call_value"): Likewise.
12355         * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
12356         near attributes.
12357         (m68hc11_handle_fntype_attribute): Accept attributes on methods.
12358         (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
12359         (m68hc11_initial_elimination_offset): Set current_function_far
12360         according to attributes.
12361         (expand_prologue): Likewise.
12362         (trap_handler_symbol): New global to keep track of trap handlers.
12363         (m68hc11_encode_section_info): Mark symbol as far if needed; set
12364         trap symbol.
12365         (m68hc11_is_far_symbol): New function.
12366         (m68hc11_is_trap_symbol): New function.
12367         * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
12368         (m68hc11_is_trap_symbol): Declare.
12369
12370 2003-03-21  Jan Hubicka  <jh@suse.cz>
12371
12372         * i386.c (ix86_compute_frame_layout): Recompute fast prologues
12373         only when amount of saved regs changed.
12374         (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
12375         * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
12376
12377 2003-03-21  Jan Hubicka  <jh@suse.cz>
12378
12379         PR inline-asm/7916
12380         * function.c (instantiate_virtual_regs_lossage): New function.
12381         (instantiate_virtual_regs_1): Use it.
12382         (instantiate_virtual_regs): Do not continue in substition when insn has
12383         been deleted.
12384
12385 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
12386
12387         * combine.c (make_field_assignment): Fix a warning.
12388
12389 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
12390
12391         * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
12392
12393 2003-03-21  Dale Johannesen  <dalej@apple.com>
12394
12395         * config/rs6000/rs6000.h (REG_ALLOC_ORDER):  Increase
12396         priority for R2 on Darwin.
12397         (HARD_REGNO_MODE_OK):  Don't accept R31 for DFmode.
12398
12399 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
12400
12401         * combine.c (make_field_assignment): Remove unnecessary AND
12402         when storing into zero_extract.
12403
12404 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
12405
12406         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
12407         * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
12408         * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
12409         in comment.
12410
12411 2003-03-21  DJ Delorie  <dj@redhat.com>
12412
12413         * optabs.c (init_integral_libfuncs): Make sure we init at least up
12414         to "long long" size words.
12415
12416 2003-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
12417
12418         * config/s390/s390.h: Do not include fixdfdi.h on s390x.
12419         (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
12420         (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
12421
12422 2003-03-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
12423
12424         PR doc-bug/9813
12425         * doc/extend.texi: Move misplaced paragraph about underscores in
12426         variables in macros.
12427
12428 2003-03-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
12429             Richard Henderson  <rth@redhat.com>
12430
12431         PR optimization/8366
12432         * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
12433         (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
12434         PIC+SYMBOLIC_CONST in other modes than Pmode.
12435         (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
12436         the form PIC+SYMBOLIC_CONST as mode dependent.
12437
12438 2003-03-21  DJ Delorie  <dj@redhat.com>
12439
12440         * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
12441         sure we always emit at least one insn.
12442
12443 2003-03-21  Christopher Faylor  <cgf@redhat.com>
12444
12445         * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
12446         stub t-cygming. Use common target header cygming.h. Add extra
12447         c_target_obj and cxx_target_obj file. Default cygwin to posix
12448         threading. Enforce i386 as float format.
12449         (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
12450         Remove cygwin.h as target header. Use common target header
12451         cygming.h  Enforce i386 as float format. Correct typo.
12452         * config/i386/cygming.h: New file, containing definitions
12453         common to mingw32 and cygwin.
12454         * config/i386/cygwin.h: Remove definitions common to cygwin and
12455         mingw.  Simplify special spec logic.  Define "wrappers" around
12456         certain include path defines to accommodate -mno-cygwin.
12457         Remove some #if 0'ed code.
12458         (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
12459         (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
12460         (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
12461         * config/i386/mingw32.h: Remove definitions common to cygwin and
12462         mingw.
12463         (EXTRA_OS_CPP_BUILTINS): Adjust.
12464         (TARGET_VERSION): Define.
12465         * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
12466         mingw32.h definitions.
12467         (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
12468         * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
12469         Add compilation rules for cygwin1.o cygwin2.o.
12470         * config/i386/cygwin1.c: New file.
12471         * config/i386/cygwin2.c: New file.
12472         * config/i386/t-cygming: New makefile stub.
12473
12474 2003-03-20  Richard Henderson  <rth@redhat.com>
12475
12476         * fold-const.c (extract_muldiv_1): Revert changing order of
12477         operands in case MULT_EXPR of 2003-02-16 patch.
12478
12479 2003-03-20  Daniel Berlin  <dberlin@dberlin.org>
12480         Merge changes from new-regalloc-branch
12481
12482         From Michael Matz  <matz@suse.de>
12483         * df.c (df_ref_record_1): Move init of loc to safe point.
12484         Only recurse on interesting things in parallels.
12485         Handle CLASS_CANNOT_CHANGE_MODE smarter.
12486         (df_uses_record): Ditto.
12487
12488         * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
12489         it's already okay to use memory operands in (IE doesn't require
12490         adding another insn or anything).
12491
12492 2003-03-20  Richard Henderson  <rth@redhat.com>
12493
12494         PR middle-end/6348
12495         * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
12496         different from word_mode.
12497
12498 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
12499
12500         * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
12501         source operand to those that can be extracted with bld.
12502
12503 2003-03-20  Richard Earnshaw  <rearnsha@arm.com>
12504
12505         PR 10066
12506         * arm.md (UNSPEC_PIC_BASE): New constant.
12507         (pic_add_dot_plus_four): Wrap with unspec.
12508         (pic_add_dot_plus_eight): Likewise.
12509
12510 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
12511
12512         * config/h8300/h8300.md (*insv_si_1_n): New.
12513         (*insv_si_1_n_lshiftrt): Likewise.
12514
12515 2003-03-20  Roger Sayle  <roger@eyesopen.com>
12516
12517         * fold-const.c (fold_mathfn_compare): New function to simplify
12518         comparisons against built-in math functions.  Fold comparisons
12519         of sqrt against constants.
12520         (fold): Call fold_mathfn_compare when appropriate.
12521
12522 2003-03-20 Richard Earnshaw  <rearnsha@arm.com>
12523
12524         * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
12525         information.
12526
12527 2003-03-20  Per Bothner  <pbothner@apple.com>
12528
12529         Various cleanups to help compile server.
12530
12531         * cppinit.c (cpp_create_reader):  Take extra hash_table* argument,
12532         and pass that to _cpp_init_hashtable.
12533         (cpp_read_main_file):  Drop hash_table* argument; don't call
12534         _cpp_init_hashtable.
12535         * cpplib.h:  Update declarations to match.
12536         * c-opts.c (c_common_init_options):  Pass ident_hash to
12537         cpp_create_reader.
12538         (c_common_post_options):  Don't pass ident_hash to cpp_read_main_file.
12539         * fix-header.c (read_scan_file):  Likewise pass NULL table to
12540         cpp_create_reader rather than cpp_read_main_file.
12541
12542         * cppfiles.c (cpp_rename_file):  Generalized and renamed
12543         to cpp_change_file.
12544         * cpplib.h:  Update declaration to match.
12545         * c-opts.c (push_command_line_line, finish_options):  Change
12546         cpp_rename_file calls to cpp_change_file.
12547
12548         * line-map.c (add_line_map):  Allow leaving the outermost file.
12549         Allowing entering an outermost-file after the initial time.
12550
12551         * toplev.c (pop_srcloc):  Allow popping from initial file.
12552
12553 2003-03-20  Kazu Hirata  <kazu at cs dot umass dot edu>
12554
12555         * fold-const.c (fold): Fold A - (A & B) into ~B & A.
12556
12557 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
12558
12559         * config/h8300/h8300.md (a peephole2): New.
12560
12561 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
12562
12563         * config/h8300/h8300.md (*addsi3_and_r_1): New.
12564         (*addsi3_and_not_r_1): Likewise.
12565
12566 2003-03-19  Loren James Rittle  <ljrittle@acm.org>
12567
12568         * Makefile.in (STRICT2_WARN): Add @WERROR@.
12569         (GCC_WARN_CFLAGS): Remove $(WERROR).
12570         (fixinc.sh-warn): New.
12571         * ada/Make-lang.in (ada-warn): Add $(WERROR).
12572         * cp/Make-lang.in (cp-warn): Add $(WERROR).
12573         * f/Make-lang.in (f-warn): Add $(WERROR).
12574         * java/Make-lang.in (java-warn): Add $(WERROR).
12575         * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
12576
12577 2003-03-19  Nathanael Nerode  <neroden@gcc.gnu.org>
12578
12579         * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
12580         langhooks-def.h (lhd_tree_dump_dump_tree),
12581         langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
12582         Change return type from 'int' to 'bool'.  Replace 0 and 1 with
12583         true and false in return statements.
12584
12585 2003-03-19  Kevin Buettner  <kevinb@redhat.com>
12586
12587         * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
12588         (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
12589         DWARF_INITIAL_LENGTH_SIZE.
12590         (output_compilation_unit_header, output_pubnames, output_aranges)
12591         (output_line_info): Output 0xffffffff escape value for 64-bit
12592         DWARF extension.
12593         * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
12594
12595 2003-03-19  Ulrich Weigand  <uweigand@de.ibm.com>
12596
12597         * config/s390/s390.c (s390_preferred_reload_class): Do not
12598         force constants to the pool unless necessary.
12599         (s390_decompose_address): Prefer to use pointer as base,
12600         not index register.
12601         * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
12602         Q alternative.
12603         ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
12604         "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
12605         ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
12606         "*zero_extendqisi2_31", "*zero_extendqihi2_31",
12607         "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
12608
12609 2003-03-19  Jan Hubicka  <jh@suse.cz>
12610
12611         * i386.h (machine_function): New fields use_fast_prologue_epilogue.
12612         * i386.c (use_fast_prologue_epilogue): Remove.
12613         (ix86_frame): New field save_regs-using_mov;
12614         (ix86_compute_frame_layout):  Decide on fast prologues;
12615         allocate saved registers in red zone.
12616         (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
12617
12618 2003-03-19  Nick Clifton  <nickc@redhat.com>
12619
12620         * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
12621
12622 2003-03-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12623
12624         PR 10062
12625         * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
12626         * pa-protos.h (output_lbranch): New prototype.
12627         * pa.c (compute_frame_size): Change size of the frame marker on the
12628         64-bit ports to 48 bytes.
12629         (pa_output_function_prologue): Document why SAVE_SP is set.
12630         (hppa_expand_prologue): Save previous stack pointer into frame marker
12631         on targets which use the hpux unwind library.
12632         (output_cbranch): Use output_lbranch.
12633         (output_lbranch): New function to output long unconditional branches.
12634         * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
12635         (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
12636         64-bit ports.
12637         * pa.md (jump): Use output_lbranch.
12638         (allocate_stack): New expander for dynamic stack allocation.
12639
12640 2003-03-19  Alan Modra  <amodra@bigpond.net.au>
12641
12642         * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
12643         when debugging on XCOFF targets.  Delete "abi" temp.
12644
12645         PR target/10073
12646         * combine.c (force_to_mode <NOT>): Use gen_int_mode.
12647
12648 2003-03-18  Jakub Jelinek  <jakub@redhat.com>
12649
12650         * config/s390/s390.c (s390_output_dwarf_dtprel): New.
12651         * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
12652         * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
12653
12654         * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
12655         * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
12656         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
12657
12658 2003-03-18  Geoffrey Keating  <geoffk@apple.com>
12659
12660         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
12661         the result of machopic_function_base_name.
12662         * config/darwin.c (machopic_function_base_name): Use a gc-allocated
12663         string rather than a static array.
12664
12665         * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
12666
12667         * gengtype.c: Include rtl.h.
12668         (enum rtx_code): Don't define.
12669         (rtx_format): Make declaration match rtl.h.
12670         (rtx_next_new): Rename from rtx_next to avoid conflict.  Change all
12671         users.
12672         (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
12673         * Makefile.in (gengtype.o): Update dependencies.
12674
12675 2003-03-18  Andreas Schwab  <schwab@suse.de>
12676
12677         * config/m68k/m68k.md (iordi3): Fix setting low half to -1.  From
12678         martin@blom.org.
12679
12680 2003-03-18  Geoffrey Keating  <geoffk@apple.com>
12681
12682         * function.c (next_block_index): Mark with GTY.
12683
12684         * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
12685
12686 2003-03-18  Richard Henderson  <rth@redhat.com>
12687
12688         * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
12689         (builtin_setjmp_receiver): Delay call to ia64_reload_gp
12690         until after reload.
12691
12692 2003-03-18  Richard Henderson  <rth@redhat.com>
12693
12694         * builtins.c (expand_builtin_unop): New target_mode operand;
12695         use it to convert the result to the correct mode.
12696         (expand_builtin): Update all callers.
12697
12698 2003-03-18  Ulrich Weigand  <uweigand@de.ibm.com>
12699
12700         * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
12701
12702 2003-03-18  Jan Hubicka  <jh@suse.cz>
12703
12704         * i386.md:  Fix previous commit that mistakely applied the patch
12705         twice.
12706
12707         * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
12708         canonicalized.
12709         (memrefs_conflict_p): Likewise.
12710         (addr_side_effect_eval): Canonicalize the constructed address.
12711
12712 2003-03-18  Jan Hubicka  <jh@suse.cz>
12713
12714         * i386.md (cvtts?2si peep2): New.
12715
12716 2003-03-18  Kazu Hirata  <kazu@cs.umass.edu>
12717
12718         * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
12719
12720 2003-03-18  Andreas Schwab  <schwab@suse.de>
12721
12722         * dwarf2out.c (output_file_names): Cast size_t to unsigned long
12723         for format.
12724
12725 2003-03-17  Jason Merrill  <jason@redhat.com>
12726
12727         PR c++/10091
12728         * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
12729         an unaligned member of TREE_ADDRESSABLE type.
12730
12731 2003-03-18  Alan Modra  <amodra@bigpond.net.au>
12732
12733         * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
12734         (TARGET_PROFILE_KERNEL): Define.
12735         (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
12736         (PROFILE_BEFORE_PROLOGUE): Don't define.
12737         (PROFILE_KERNEL): Remove hacks.
12738         * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
12739         (rs6000_stack_info): No need to save lr if just for profiling when
12740         TARGET_PROFILE_KERNEL.
12741         (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
12742         (output_function_profiler): Localize label generation.  Emit code
12743         for kernel profiling.
12744
12745 2003-03-17  Kazu Hirata  <kazu@cs.umass.edu>
12746
12747         * config/h8300/h8300-protos.h: Add a prototype for
12748         byte_accesses_mergeable_p.
12749         * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
12750         * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
12751         (a splitter): Likewise.
12752         (*iorsi3_ashift_16_ashift_24): Likewise.
12753         (*iorsi3_ashift_16_ashift_24_mem): Likewise.
12754
12755 2003-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12756
12757         * dwarf2asm.h: Delete obsolete comment.
12758         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
12759         dw2_asm_output_pcrel, dw2_asm_output_addr,
12760         dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
12761         dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
12762         dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
12763         dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
12764
12765 2003-03-17  Zack Weinberg <zack@codesourcery.com>
12766
12767         * c-tree.h (struct lang_identifier): Remove error_locus field.
12768         (IDENTIFIER_ERROR_LOCUS): Kill.
12769         (record_function_scope_shadow): New prototype.
12770         * c-typeck.c (build_external_ref): Don't complain if
12771         decl is error_mark_node.  When not at file scope, bind the
12772         decl's local value to error_mark_node to suppress further
12773         warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
12774
12775         * c-decl.c (get_function_binding_level): New static function.
12776         (record_function_scope_shadow): New exported function.
12777         (c_make_fname_decl): Use get_function_binding_level.
12778
12779 2003-03-17  Steve Ellcey  <sje@cup.hp.com>
12780
12781         * stmt.c (tail_recursion_args): Call promote_mode to set
12782         unsignedp flag correctly before calling convert_move.
12783
12784 2003-03-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12785
12786         * loop-unroll.c (decide_peel_completely,
12787         decide_unroll_constant_iterations, decide_unroll_stupid,
12788         decide_unroll_runtime_iterations, decide_peel_simple): Set
12789         loop->has_desc.
12790
12791 2003-03-17  Jan Hubicka  <jh@suse.cz>
12792
12793         * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
12794
12795 2003-03-17  Olivier Hainque  <hainque@act-europe.fr>
12796
12797         * function.c (assign_parms): For a struct value address passed as
12798         first argument, delay the function's result RTL setup code until
12799         after the emission of parameter conversions.
12800
12801 2003-03-17  Dave Love  <fx@gnu.org>
12802             Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12803
12804         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
12805         __arch64__ to match Compaq cc.
12806
12807 2003-03-17  Neil Booth  <neil@daikokuya.co.uk>
12808
12809         * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
12810         (c_common_init): Set EBCDIC in cpp options.
12811         * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
12812         not conditional compilation.
12813         * cpplib.h (struct cpp_options): New entry EBCDIC.
12814
12815 2003-03-17  Neil Booth  <neil@daikokuya.co.uk>
12816
12817         * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
12818
12819 2003-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12820
12821         * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
12822         argument to 0 for redirect_jump.
12823
12824 2003-03-16  Mark Mitchell  <mark@codesourcery.com>
12825
12826         PR c++/8805
12827         * except.c (eh_region_u_cleanup): Add prev_try.
12828         (expand_eh_region_end_cleanup): Set it.
12829         (reachable_handlers): Use it to skip over cleanup blocks.
12830
12831 2003-03-17  Andreas Jaeger  <aj@suse.de>
12832
12833         * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
12834
12835 2003-03-17  Alan Modra  <amodra@bigpond.net.au>
12836
12837         * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
12838         (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
12839         (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
12840         (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
12841
12842 2003-03-16  Richard Henderson  <rth@redhat.com>
12843
12844         * simplify-rtx (simplify_binary_operation): Don't abort for
12845         SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
12846
12847 2003-03-16  Richard Henderson  <rth@redhat.com>
12848
12849         * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
12850         optimize_size as well.
12851
12852 2003-03-16  Stephane Carrez  <stcarrez@nerim.fr>
12853
12854         * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
12855         for D register to specify the low part of it, aka B.
12856         (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
12857         the register if we are loading 1 or -1 to it; avoid using temp
12858         register when moving X/Y to Y/X.
12859         (m68hc11_gen_movqi): Likewise.
12860         (m68hc11_check_z_replacement): Fix last insn setting for compare case.
12861
12862 2003-03-14  Mark Mitchell  <mark@codesourcery.com>
12863
12864         PR optimization/9016
12865         * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
12866         into the constant pool.
12867
12868 2003-03-16  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
12869
12870         PR target/9164
12871         * tree.c (get_narrower): For extensions with unchanged bit number,
12872         return the unsignedness of the outer mode.
12873
12874 2003-03-16  Roger Sayle  <roger@eyesopen.com>
12875
12876         * c-typeck.c (build_component_ref):  Turn "for" into "do .. while"
12877         to avoid "may be used uninitialized" warning on ia64-hpux.
12878         * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
12879
12880 2003-03-16  Andreas Jaeger  <aj@suse.de>
12881
12882         * configure.in: Improve check for memcheck.h.
12883         * configure: Regenerated.
12884
12885 2003-03-16  Neil Booth  <neil@daikokuya.co.uk>
12886
12887         * doc/cppopts.texi: Remove documentation of -A-.
12888
12889 2003-03-15  Zack Weinberg  <zack@codesourcery.com>
12890
12891         * doc/libgcc.texi: Remove @tie.
12892
12893 2003-03-15  Josef Zlomek  <zlomekj@suse.cz>
12894
12895         * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
12896         (rtx_pair): Added new element update_label_nuses, renamed to
12897         replace_label_data.
12898         * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
12899         replace_label_data instead of rtx_pair.
12900         * loop.c (load_mems): Likewise.
12901         * rtlanal.c (replace_label): Replace label in pool constants and in
12902         INSN_LIST (in REG_LABEL note).
12903         (subrtx_p): Renamed to rtx_referenced_p.
12904         (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
12905         LABEL_REF with CODE_LABEL, traverse constants from pool.
12906
12907 2003-03-15  Aldy Hernandez <aldyh@redhat.com>
12908             Zack Weinberg  <zack@codesourcery.com>
12909
12910         * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
12911         * doc/libgcc.texi: New file.
12912         * doc/interface.texi: Delete paragraph about libgcc interface.
12913         * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
12914
12915 2003-03-15  Jason Merrill  <jason@redhat.com>
12916
12917         PR debug/9039
12918         * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
12919
12920         PR debug/6387
12921         * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
12922         function DIEs at toplevel.
12923         (decls_for_scope): At -g1, don't descend into subblocks.
12924
12925 2003-03-15  Ulrich Weigand  <uweigand@de.ibm.com>
12926
12927         * varasm.c (struct rtx_const): Change type of un.addr member
12928         to struct holding an additional 'symbol' member.
12929         (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
12930         with equal string addresses as equal.
12931         (simplify_subtraction): Adapt to struct rtx_const change.
12932
12933 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
12934
12935         * fix-header.c (read_scan_file): Read main file before handling -D.
12936
12937 2003-03-15  Roger Sayle  <roger@eyesopen.com>
12938
12939         * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
12940         * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
12941         * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
12942         (find_sub_basic_blocks): Likewise.
12943         * cgraphunit.c (cgraph_expand_functions): Likewise.
12944         * dwarf2out.c (prune_unused_types): Likewise.
12945         * expr.c (store_field): Likewise.
12946         * genextract.c (print_path): Likewise.
12947         * haifa-sched.c (schedule_insn): Likewise.
12948         * lcm.c (compute_antinout_edge): Likewise.
12949         * loop-unroll.c (decide_peel_once_rolling): Likewise.
12950         * ra-colorize.c (ra_colorize_free_all): Likewise.
12951         * ra-debug.c (dump_igraph): Likewise.
12952         (debug_hard_reg_set): Likewise.
12953         * reg-stack.c (reg_to_stack): Likewise.
12954         * rtlanal.c (refers_to_regno_p): Likewise.
12955         * tracer.c (layout_superblocks): Likewise.
12956
12957 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
12958
12959         * fix-header.c (read_scan_file): Fix thinko.
12960
12961 2003-03-15  Glen Nakamura  <glen@imodulo.com>
12962
12963         * reload1.c (choose_reload_regs): Use && instead of ||
12964         with REG_CANNOT_CHANGE_MODE_P condition.
12965
12966 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
12967
12968         * Makefile.in: Update.
12969         * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
12970         * c-lex.c (init_c_lex): Register builtins hook is dead.
12971         * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
12972         (c_common_decode_option): Don't call cpp_handle_option.
12973         Handle -A, -D and -U.
12974         (handle_deferred_opts): Simplify.
12975         (finish_options): Define builtins and command line macros.
12976         * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
12977         * cppinit.c: Don't include intl.h.
12978         (init_builtins): Rename cpp_init_builtins.  No hook to call.
12979         (init_library): Don't need to sort options.
12980         (cpp_create_reader): Don't set pending.
12981         (cpp_destroy): Don't free pending.
12982         (struct pending_option, cl_directive_handler, struct cpp_pending,
12983         APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
12984         cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
12985         cl_options, cpp_handle_option): Remove.
12986         * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
12987         cpp_finish_options): Remove.
12988         (cpp_init_builtins): New.
12989         * fix-header.c (read_scan_file): Update to handle -D.  Fix
12990         handling of -I.  Replace call to cpp_finish_options.
12991
12992 2003-03-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12993
12994         PR optimization/9387
12995         * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
12996         for conditional returns.
12997
12998 2003-03-14  Jason Merrill  <jason@redhat.com>
12999
13000         PR optimization/6871
13001         * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
13002
13003 2003-03-14  Neil Booth  <neil@daikokuya.co.uk>
13004
13005         * c-opts.c (finish_options): New.
13006         (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
13007         (missing_arg): Handle OPT_include and OPT_imacros.
13008         (c_common_init, c_common_parse_file): Use finish_options.
13009         (handle_deferred_opts): Update.
13010         * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
13011         (cpp_finish_options): Don't handle -imacros here.
13012         (no_fil): Remove.
13013         (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
13014
13015 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
13016
13017         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
13018         rs6000_maybe_dead if !fromprolog.
13019
13020 2003-03-14  Neil Booth  <neil@daikokuya.co.uk>
13021
13022         * Makefile.in: Update.
13023         * c-common.h (fe_file_change, pp_file_change): New.
13024         * c-lex.c (init_c_lex): Don't set cb_file_change.
13025         (c_common_parse_file): Move to c-opts.c.
13026         (cb_file_change): Rename fe_file_change.
13027         * c-opts.c: Include debug.h.
13028         (warn_unused_macros, include_cursor): New.
13029         (push_command_line_include, cb_file_change): New.
13030         (COMMAND_LINE_OPTIONS): Handle -include.
13031         (c_common_decode_option): Use local warn_unused_macros.
13032         Handle OPT_include.
13033         (c_common_post_options): Set file change callback.
13034         (handle_deferred_opts): Skip -include.  Don't free the array.
13035         (c_common_init): Call cpp_finish_options here, and push an
13036         initial -include file.
13037         * c-ppoutput.c (cb_file_change): Rename pp_file_change.
13038         (preprocess_file): Don't call cpp_finish_options.
13039         (init_pp_output): Don't set the file change callback.
13040         (pp_file_change): Return if no line commands or no output.
13041         * cpphash.h (next_include_file, first_unused_line): Remove.
13042         * cppinit.c (include_head, include_tail): Remove.
13043         (cpp_destroy): Don't free -include chain.
13044         (cpp_finish_options): Don't handle -include, or worry about
13045         -Wunused-macros.
13046         (_cpp_maybe_push_include_file): Remove.
13047         (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
13048         * cpplib.c (_cpp_pop_buffer): Don't handle -include.
13049         * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
13050         Used flag is set based upon the state of the warn_unused_macros
13051         flag, and so use of first_unused_line is unnecessary.
13052
13053 2003-03-13  Jan Hubicka  <jh@suse.cz>
13054
13055         * cselib.c (clear_table): Do not take argument; always clear just
13056         used slots.
13057         (cselib_process_insn):  Update call of clear_table
13058         (cselib_init): Do not call clear_table.
13059         (cselib_finish): Clear table.
13060
13061         * cse.c (count_reg_usage): Do not check side_effects_p.
13062         * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
13063         like noop.
13064         (find_reg_equal_equiv_note): Do not use find_reg_note.
13065
13066 2003-03-14  Richard Henderson  <rth@redhat.com>
13067
13068         PR target/9700
13069         * config/alpha/alpha.c (alpha_va_start): Account for
13070         current_function_pretend_args_size in the AP offset.
13071
13072         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
13073         (INITIAL_ELIMINATION_OFFSET): Move out of line.
13074         * config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
13075         (alpha_initial_elimination_offset) New.
13076         * config/alpha/alpha-protos.h: Update.
13077
13078 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
13079
13080         * stmt.c (expand_start_case): Call emit_queue ().
13081
13082 2003-03-14  Chris Demetriou  <cgd@broadcom.com>
13083             Alexandre Oliva  <aoliva@redhat.com>
13084
13085         * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
13086         words in new abis.
13087
13088 2003-03-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
13089
13090         PR optimization/8396
13091         * tree-inline.c (initialize_inlined_parameters): Make sure the value
13092         of read-only constant arguments is passed with the right type.
13093
13094 2003-03-14  Steven Bosscher  <steven@gcc.gnu.org>
13095
13096         * doc/extend.texi (Function Names): Make the example compilable.
13097
13098 2003-03-13  David Edelsohn  <edelsohn@gnu.org>
13099
13100         * config/rs6000/rs6000.c (processor_target_table): Really allow
13101         GP optional instructions on Power4.
13102
13103 2003-03-13  Roger Sayle  <roger@eyesopen.com>
13104
13105         * calls.c (flags_from_decl_or_type): Factor and remove redundant
13106         conditional tests.
13107
13108 2003-03-13  Mike Stump  <mrs@apple.com>
13109
13110         * ggc-page.c (struct page_entry): Remove varray.h header.
13111         Add index_by_depth field.
13112         Remove save_in_use_p field.
13113         (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
13114         by_depth_max, by_depth, and save_in_use fields.
13115         (INITIAL_PTE_COUNT): Add.
13116         (save_in_use_p_i): Add.
13117         (save_in_use_p): Add.
13118         (adjust_depth): Add.
13119         (move_ptes_to_front): Add.
13120         (push_depth): Add.
13121         (push_by_depth): Add.
13122         (prefetch): Add.
13123         (free_page): Add support for and use faster data structures.
13124         (ggc_alloc): Likewise.
13125         (init_ggc): Likewise.
13126         (ggc_recalculate_in_use_p): Likewise.
13127         (ggc_pop_context): Likewise.
13128         (clear_marks): Likewise.
13129         (ggc_pch_read): Likewise.
13130         * Makefile.in (ggc-page.o): Remove varray.h.
13131
13132 2003-03-13  Nathanael Nerode  <neroden@gcc.gnu.org>
13133
13134         * ChangeLog: Rotated last year's entries to...
13135         * ChangeLog.8: New.
13136
13137         * config/ia64/fde-glibc.c, config/ia64/freebsd.h,
13138         config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
13139         config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
13140         config/ia64/ia64-protos.h, config/ia64/ia64.c,
13141         config/ia64/ia64.h, config/ia64/ia64.md,
13142         config/ia64/itanium1.md, config/ia64/itanium2.md,
13143         config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
13144         config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
13145
13146 2003-03-13  Aldy Hernandez  <aldyh@redhat.com>
13147
13148         * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
13149         Differentiate endianness.
13150         (s6000_override_options): Use cpu type instead of TARGET_SPE.
13151
13152 2003-03-13  Nick Clifton  <nickc@redhat.com>
13153
13154         * config/arm/arm.c (print_multi_reg): Do not generate a type 2
13155         LDM instructions with writeback enabled.
13156         (output_return_instruction): Likewise.
13157
13158         * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
13159         (CALL_USED_REGISTERS): Remove definition.
13160         (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
13161
13162 2003-03-13  Alan Modra  <amodra@bigpond.net.au>
13163
13164         * config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
13165         (rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
13166         (rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
13167         (rs6000_override_options): Don't clear flag_pic for ABI_AIX.
13168         (rs6000_legitimize_address): Formatting.
13169         (rs6000_emit_move): Likewise.
13170         (rs6000_return_addr): Test ABI_AIX as well as flag_pic.
13171         (rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
13172         (rs6000_elf_select_section): Comment reason for shlib being
13173         set for ABI_AIX.
13174         (rs6000_elf_unique_section): Likewise.
13175         (rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
13176         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
13177         as well as flag_pic.
13178         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
13179         (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
13180         * config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
13181
13182 2003-03-13  Richard Henderson  <rth@redhat.com>
13183
13184         * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
13185
13186         * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
13187         (ia64_gp_save_reg): Remove.
13188         (struct ia64_frame_info): Move to the beginning of the file;
13189         add reg_save_gp.
13190         (ia64_expand_call): Rearrange for new call patterns.
13191         (ia64_reload_gp): New.
13192         (ia64_split_call): New.
13193         (ia64_compute_frame_size): Allocate reg_save_gp.
13194         (ia64_expand_prologue): Save reg_save_gp.
13195         (ia64_expand_epilogue): Don't restore gp.
13196         (ia64_hard_regno_rename_ok): Remove R4 hack.
13197         (ia64_function_ok_for_sibcall): New.
13198         (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
13199         call try_split on sibcall pattern.
13200         * config/ia64/ia64-protos.h: Update.
13201         * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
13202         Rename from nopic versions.  Confiscate 2nd argument to call as
13203         a marker.
13204         (call_pic, call_value_pic, sibcall_pic): Remove.
13205         (call_gp, call_value_gp, sibcall_gp): New.
13206         (builtin_setjmp_setup): Remove.
13207         (builtin_setjmp_receiver): Call ia64_reload_gp.
13208
13209 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
13210
13211         * config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
13212         config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
13213         "GNU CC" with "GCC".
13214
13215         * config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
13216         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
13217         config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
13218         GCC, not GNU CC.
13219
13220         * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
13221         langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
13222
13223         * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
13224         langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
13225         unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
13226         "GNU CC" with "GCC".
13227
13228         * config/v850/lib1funcs.asm, config/v850/rtems.h,
13229         config/v850/v850-c.c, config/v850/v850-protos.h,
13230         config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
13231         GCC, not GNU CC.
13232
13233         * config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
13234         config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
13235         config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
13236         config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
13237         GNU CC.
13238
13239 2003-03-12  Benjamin Kosnik  <bkoz@redhat.com>
13240
13241         * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
13242
13243 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
13244
13245         * fixinc/fixinc.interix: Remove dead code (most of it).
13246         * fixinc/fixinc.dgux: Remove.
13247
13248         * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
13249         ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
13250
13251 2003-03-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
13252
13253         * pa.c (pa_init_builtins): Fix warning.
13254
13255 2003-03-12  Steve Ellcey  <sje@cup.hp.com>
13256
13257         * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
13258         (ASM_OUTPUT_XDATA_SHORT): Remove.
13259         (ASM_OUTPUT_XDATA_INT): Remove.
13260         (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
13261         (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
13262         (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
13263         (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
13264
13265 2003-03-12  Andrew Lewycky  <andrew@mxc.ca>
13266
13267         PR c++/7050
13268         * expr.c (store_expr): Don't attempt to store void-typed trees,
13269         just evaluate them for side effects.
13270
13271 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
13272
13273         * cppfiles.c (cpp_rename_file, cpp_push_include): New.
13274         * cppinit.c (push_include): Move with changes to cppfiles.c.
13275         (cpp_read_main_file): Mark named operators here...
13276         (cpp_finish_options): ...not here.  Update.
13277         (_cpp_maybe_push_include_file): Update.
13278         * cpplib.h (cpp_push_include, cpp_rename_file): New.
13279
13280 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
13281
13282         * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
13283         _gcc_COMPUTE_GAS_VERSION.
13284         * configure.in: Use them.
13285         * configure: Regenerate.
13286
13287 2003-03-12  Bob Wilson  <bob.wilson@acm.org>
13288
13289         * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
13290         to detect carry.
13291         (subdi3): Reorder emitted instructions.
13292
13293 2003-03-12  Andreas Jaeger  <aj@suse.de>
13294
13295         * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
13296         NETBSD_OS_CPP_BUILTINS_LP64.
13297
13298 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
13299
13300         * Makefile.in: Eliminate all.indirect.  Update and clean up comments.
13301         Rearrange.  Reorganize.
13302         * configure.in: Rearrange.
13303         * configure: Regenerate.
13304
13305 2003-03-12  Andreas Jaeger  <aj@suse.de>
13306
13307         * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
13308         LP64 targets.
13309
13310         * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
13311         _LP64.
13312
13313         * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
13314         _LP64 macros here.
13315         * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
13316
13317         * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
13318         NETBSD_OS_CPP_BUILTINS_LP64.
13319         * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
13320         * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
13321
13322         * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
13323
13324 2003-03-12  Jan Hubicka  <jh@suse.cz>
13325
13326         * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
13327
13328 2003-03-12  Daniel Jacobowitz  <drow@mvista.com>
13329
13330         Fix PR target/9797 and PR c/9853.
13331         * stmt.c (expand_decl_init): Call push_temp_slots () and
13332         pop_temp_slots ().
13333
13334 2003-03-12  J"orn Rennecke <joern.rennecke@superh.com>
13335
13336         * sh.c: Include basic-block.h.
13337         (sh_output_mi_thunk, emit_load_ptr): New functions.
13338         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
13339
13340 2003-03-12  Nick Clifton  <nickc@redhat.com>
13341
13342         * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
13343         (CALL_USED_REGISTERS): Likewise.
13344         * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
13345         describing how this value is calculated.
13346
13347 2003-03-12  Hans-Peter Nilsson  <hp@bitrange.com>
13348
13349         * configure.in (rlim_t): Define to long if no valid definition
13350         found in sys/resource.h.
13351         * config.in, configure: Regenerate.
13352
13353 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
13354
13355         * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
13356         TARGET_OS_CPP_BUILTINS.
13357         * config/mcore/mcore-pe.h: Similarly.
13358         * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
13359         CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
13360
13361 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
13362
13363         PR c/9928
13364         * c-decl.c (duplicate_decls): Discard the initializer of the new decl
13365         only if it is a VAR_DECL.
13366
13367 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
13368
13369         PR optimization/9888
13370         * config/i386/i386.md (jcc_1): Fix range.
13371         (jcc_2): Likewise.
13372         (jump): LIkewise.
13373         (doloop_end_internal): Likewise.
13374
13375 2003-03-12  Danny Smith  <dannysmith@users.sourceforge.net>
13376
13377         * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
13378         Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
13379         (DLL_EXPORT_PREFIX): New define. Use throughout instead of
13380         DLL_IMPORT_EXPORT_PREFIX and "i."
13381         (i386_pe_dllexport_name_p): Here.
13382         (i386_pe_dllimport_name_p): Here.
13383         (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
13384         not 9 chars when getting identifier name.
13385         (i386_pe_mark_dllimport): Here.
13386         (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
13387         not 9 chars when getting identifier name. Correct comment.
13388         (i386_pe_strip_name_encoding): Here. Add comments for different
13389         cases.
13390         (gen_fastcall_suffix): Break down xmalloc() argument to
13391         components.
13392         (gen_stdcall_suffix): Likewise.
13393         Update copyright year.
13394
13395 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
13396
13397         PR optimization/9888
13398         * config/i386/i386.md (movsi_1): Remove special alternatives
13399         for %eax register.
13400         (movsi_1_nointernunit): Likewise.
13401         (movhi_1): Likewise.
13402         * config/i386/i386.c (memory_address_length): Do not use
13403         short displacement when there is no base.
13404         (ix86_attr_length_address_default): Handle LEA instructions.
13405
13406 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
13407
13408         * c-cppbuiltin.c (builtin_define_std): Make non-static.
13409
13410 2003-03-11  Loren James Rittle  <ljrittle@acm.org>
13411
13412         * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
13413         (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
13414         (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
13415         * config/freebsd.h (CPP_PREDEFINES): Remove.
13416         (TARGET_OS_CPP_BUILTINS): New.
13417         * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
13418         instead of TARGET_OS_CPP_BUILTINS.
13419         * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
13420
13421 2003-03-11  Geoffrey Keating  <geoffk@apple.com>
13422
13423         * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
13424
13425 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
13426
13427         * config/rs6000/rs6000.c (rs6000_stack_info): Remove
13428         insn_chain_scanned.  Use insn_chain_scanned_p in machine_function.
13429
13430         * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
13431
13432 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
13433
13434         * toplev.c (independent_decode_option): Return success for --help,
13435         --target-help and --version.
13436
13437 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
13438
13439         * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
13440         Default to -mips3 on -mabi=64.  Don't add -mips* flag if -march is
13441         specified.
13442         (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
13443         DRIVER_SELF_SPECS.
13444         (LINK_SPEC): Let endian options affect the linker emulation name.
13445
13446 2003-03-11  J"orn Rennecke <joern.rennecke@superh.com>
13447
13448         * sh.md (reload_inqi): Fix mode for source in second set.
13449
13450 2003-03-11  Jan Hubicka  <jh@suse.cz>
13451
13452         * cselib.c (cselib_invalidate_mem_1): Move too ...
13453         (cselib_invalidate_mem): ... here; use new list
13454         (dummy_val, first_containing_mem): New static variables.
13455         (clear_table): Initialize first_containing_mem.
13456         (discard_useless_values):  Compact the containing_mem list.
13457         (add_mem_for_addr): Add to the list.
13458         * cselib.h (cselib_val): Add next_containing_mem.
13459
13460 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
13461
13462         * config/rs6000/rs6000.c (rs6000_override_options): Disable string
13463         instructions for e500.
13464
13465 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
13466
13467         * Makefile.in: Update.
13468         * c-cppbuiltin.c: Include tm_p.h.
13469
13470 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
13471
13472         * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
13473
13474         * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
13475         (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
13476         (_Unwind_SetGR): Same.
13477         (_Unwind_GetGRPtr): New.
13478         (_Unwind_SetGRPtr): New.
13479         (uw_update_context_1): Use accesor functions instead of accessing
13480         context->reg[] directly.
13481         (uw_install_context_1): Same.
13482         (execute_cfa_program): Same.
13483         (__frame_state_for): Same.
13484
13485         * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
13486         the synthetic register offset.
13487
13488         * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
13489
13490 2003-03-11  Hans-Peter Nilsson  <hp@axis.com>
13491
13492         * config/cris/cris.md: Remove lingering EGCS reference.
13493         ("*extopqihi_side_biap"): For HI operation, match
13494         cris_additive_operand_extend_operator, not
13495         cris_operand_extend_operator.  Adjust condition.
13496         ("*extopqihi_side", "*extopqihi"): Ditto.
13497         ("*extopqisi_side_biap"): Correct operand numbers in condition.
13498         ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
13499         ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
13500         ("*extophisi_swap"): Ditto.
13501         ("*extopqihi_swap_side_biap"): For HI operation, match a simple
13502         PLUS, not cris_operand_extend_operator.  Adjust condition and
13503         output template.
13504         ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
13505         * config/cris/cris.h (PREDICATE_CODES): Add
13506         cris_additive_operand_extend_operator.
13507         * config/cris/cris.c (cris_additive_operand_extend_operator):
13508         New predicate.
13509
13510 2003-03-11  Hartmut Penner  <hpenner@de.ibm.com>
13511
13512         * df.c (read_modify_subreg_p): Change from static to global.
13513         * df.h (read_modify_subreg_p): Add prototype.
13514         * sched-deps.c (sched_analyze_1): Generate true dependency for
13515         strict_low_part, certain subregs and zero/sign_extract.
13516
13517 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
13518
13519         * Makefile.in: Update.
13520         * c-common.c: Don't include real.h or except.h.
13521         (REGISTER_PREFIX): Remove.
13522         (builtin_define_std, builtin_define_with_value,
13523         builtin_define_with_int_value, builtin_define_with_hex_fp_value,
13524         builtin_define_type_max, builtin_define_type_precision,
13525         builtin_define_float_constants): Move to c-cppbuiltin.c.
13526         (c_stddef_cpp_builtins): New.
13527         * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
13528         * c-cppbuiltin.c: New, extracted from c-common.c.
13529         (define__GNUC__): New.
13530         * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
13531         * gcc.c: Remove support of %v1, %v2 and %v3 specs.
13532         (cpp_unique_options): Don't support no-gcc.
13533         (do_spec_1): Remove support of version specs.
13534         * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
13535         * doc/passes.texi: Update.
13536         * doc/tm.texi: Update.
13537
13538 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
13539
13540         * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
13541
13542 2003-03-10  Andrew Pinski  <apinski@apple.com>
13543
13544         * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
13545         is on should not get here.
13546         (machopic_indirect_data_reference): If dynamic-no-pic is on just
13547         generate high/low parts of the address.
13548         (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
13549         MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
13550         symbol and labels with a new reg.  Dynamic-no-pic does not have a
13551         pic_offset_table_rtx.
13552         (machopic_select_section): Change references of flag_pic to
13553         MACHOPIC_INDIRECT.
13554         (machopic_asm_out_destructor): Likewise.
13555         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
13556         reference of flag_pic to MACHOPIC_INDIRECT.
13557         (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
13558         (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
13559         (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
13560         (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
13561         * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
13562         0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
13563         * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
13564         (TARGET_DYNAMIC_NO_PIC): Define.
13565         (SUBTARGET_SWITCHES): Define, have sub-target switches for
13566         dynamic-no-pic.
13567         (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
13568         rs6000_override_options to here. Dynamic-no-pic overrides
13569         pic.
13570         (CC1_SPEC): Change from not static then pic to not static and not
13571         dynamic-no-pic then pic.
13572         * config/rs6000/rs6000.c (rs6000_override_options): Move the
13573         check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
13574         (rs6000_legitimize_reload_address): Add case for loading floating in
13575         dynamic-no-pic.
13576         (rs6000_emit_move): Add case for dynamic-no-pic.  Change reference
13577         of flag_pic to MACHOPIC_INDIRECT.
13578         (secondary_reload_class): Conditional change the reference of
13579         flag_pic to MACHOPIC_INDIRECT.
13580         (rs6000_output_mi_thunk): Change reference of flag_pic to
13581         MACHOPIC_INDIRECT.
13582         (output_profile_hook): Likewise.
13583         (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
13584         * config/rs6000/rs6000.md (movdf_low): Add the case for
13585         MACHO_DYNAMIC_NO_PIC_P.
13586         (call): Change references for flag_pic in TARGET_MACHO to
13587         MACHOPIC_INDIRECT.
13588         (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
13589         -mdynamic-no-pic is on.  Also move case for -fpic from rs6000.c.
13590         * doc/invoke.texi (-mdynamic-no-pic): Document.
13591
13592 2003-03-10  Devang Patel  <dpatel@apple.com>
13593
13594         PR c++/9394
13595         * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
13596         (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
13597         * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
13598         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
13599         * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
13600         (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
13601
13602 2003-03-10  Steven Bosscher  <s.bosscher@student.tudelft.nl>
13603
13604         PR optimization/7189
13605         * toplev.c (rest_of_compilation):  Move
13606         check_function_return_warnings up to just after
13607         delete_unreachable_blocks.
13608
13609 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
13610
13611         * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
13612         * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
13613         Declare.
13614         * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
13615         for reg rename optimization to avoid using Z and Y registers.
13616
13617 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
13618
13619         * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
13620         when adding to X and Y since leax/leay are fast.
13621         ("*addhi3"): Accept 'I' constraint when adding to address register.
13622         ("rotlhi3"): Operand 1 must be a register_operand.
13623         (peephole2): New peephole to optimize some adds.
13624         * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
13625         to represent -2 .. 2 small integer range.
13626
13627 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
13628
13629         * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
13630         each 16-bit rotation.
13631
13632 2003-03-10  Zack Weinberg  <zack@codesourcery.com>
13633
13634         * c-opts.c (add_prefixed_path): Don't use concat.  When
13635         prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
13636         cpp_GCC_INCLUDE_DIR_len characters.
13637
13638 2003-03-10  Segher Boessenkool  <segher@koffie.nl>
13639
13640         * testsuite/gcc.dg/altivec-9.c: New file.
13641
13642         * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
13643         (rs6000_emit_prologue): Use rs6000_frame_related instead.
13644
13645 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
13646
13647         * config/rs6000/spe.h: Define __ev64_*64__ to use single element
13648         vectors.
13649         (__ev_convert_u64): Remove macro.  Define as inline.
13650         (__ev_convert_s64): Same.
13651
13652 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
13653
13654         * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
13655         (rs6000_stack_t): Add spe_64bit_regs_used.
13656
13657         * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
13658         spe_64bit_regs_used, and use it to determine the size of the
13659         frame.
13660         (spe_func_has_64bit_regs_p): New.
13661         (spe_synthesize_frame_save): New.
13662         (rs6000_frame_related): Handle SPE synthetic registers.
13663         (rs6000_emit_prologue): Only save in 64-bits if the function used
13664         any registers in 64-bit mode.
13665         (rs6000_emit_epilogue): Same, but for restore.
13666
13667 2003-03-10  Richard Earnshaw  <rearnsha@arm.com>
13668
13669         * arm.h (enum floating_point_type): Delete.  Replace with...
13670         (enum fputype): ... new.
13671         (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT.  Values reworked.
13672         * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
13673         * arm.md (attr fpu): Reworked for new underlying enum values.
13674         * arm.c (arm_fpu_arch): Now enum fputype.
13675         (arm_fpu_tune): Renamed from arm_fpu.  Now enum fputype.
13676         (arm_override_options, arm_output_epilogue, arm_expand_prologue):
13677         Update uses of arm_fpu_arch and arm_fpu_tune.
13678
13679 2003-03-10  Josef Zlomek  <zlomekj@suse.cz>
13680
13681         * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
13682         (try_crossjump_to_edge): Replace refereces to one jump table by
13683         references to identical jump table.
13684         * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
13685         (replace_label): Moved to rtlanal.c.
13686         (struct rtx_pair): Moved to rtl.h.
13687         * rtl.h (struct rtx_pair): Moved from loop.c.
13688         (replace_label): New extern function.
13689         (subrtx_p): New extern function.
13690         (tablejump_p): New extern function.
13691         * rtlanal.c (replace_label): Moved from loop.c.
13692         (subrtx_p_1): New static function.
13693         (subrtx_p): New function.
13694         (tablejump_p): New function.
13695
13696 2003-03-10  Jan Hubicka  <jh@suse.cz>
13697
13698         * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
13699
13700         * cfgcleanup.c (merge_blocks): Return where to iterate next.
13701         (try_optimize_cfg): Use return value of merge_blocks
13702
13703 2003-03-10  Michael Matz  <matz@suse.de>
13704
13705         * cfg.c (unchecked_make_edge): New.
13706         (cached_make_edge): Use it.
13707         * basic-block.h (unchecked_make_edge): Declare.
13708         * cfglayout.c (cfg_layout_duplicate_bb): Use it.
13709
13710 2003-03-10  Richard Earnshaw  <rearnsha@arm.com>
13711
13712         * fpa.md: New file.  Move all patterns relating to FPA co-processor
13713         to here...
13714         * arm.md: ... from here.
13715         (cirrus.md, fpa.md): Include at end of description.
13716         (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
13717         (pic_load_addr_based): Remove register constraint from expander.
13718         (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
13719         (sordered, sungt, sunle, sunge, sunlt): Likewise.
13720         (eh_epilogue, tablejump): Likewise.
13721
13722 2003-03-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13723
13724         * tree.c (substitute_in_expr, case 'e'): Only make recursive call
13725         on operands if it has a PLACEHOLDER_EXPR.
13726
13727 2003-03-09  David Edelsohn  <edelsohn@gnu.org>
13728             Mostafa Hagog
13729
13730         * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
13731         condition.
13732
13733 2003-03-09  Neil Booth  <neil@daikokuya.co.uk>
13734
13735         * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
13736         * config/ip2k/ip2k.h: Similarly.
13737         * config/m32r/m32r.h: Similarly.
13738         * config/m68hc11/m68hc11.h: Similarly.
13739         * config/mn10200/mn10200.h: Similarly.
13740         * config/mn10300/mn10300.h: Similarly.
13741         * config/pdp11/pdp11.h: Similarly.
13742         * config/v850/v850.h: Similarly.
13743         * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
13744         * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
13745         * config/mips/iris3.h: Remove #if 0 block.
13746
13747 2003-03-09  Roger Sayle  <roger@eyesopen.com>
13748             Joern Rennecke <joern.rennecke@superh.com>
13749
13750         * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch.  Don't handle
13751         pending argument upon return from handle_braces here.
13752         (do_spec_2): Instead handle it upon return from do_spec_1 here.
13753
13754 2003-03-09  Roger Sayle  <roger@eyesopen.com>
13755             Joern Rennecke <joern.rennecke@superh.com>
13756
13757         * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch.  Don't handle
13758         pending argument upon return from handle_braces here.
13759         (do_spec_2): Instead handle it upon return from do_spec_1 here.
13760
13761 2003-03-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13762
13763         * varasm.c (make_decl_one_only): Use declare_weak().
13764
13765 2003-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
13766
13767         PR middle-end/9986
13768         * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
13769         after the common builtins.
13770         * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
13771         * pa.c (TARGET_INIT_BUILTINS): Define.
13772         (pa_init_builtins): New function.
13773
13774         * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
13775         space has been allocated for the outgoing arguments, set the arg
13776         pointer for a call emitted after virtuals have been instantiated
13777         using the stack pointer offset, otherwise abort.
13778
13779 2003-03-09  DJ Delorie  <dj@redhat.com>
13780
13781         * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
13782
13783 2003-03-09  Richard Earnshaw  <rearnsha@arm.com>
13784
13785         * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
13786         (arm_fix_truncdfsi2): Add missing fix in floating point mode before
13787         conversion to integer.
13788         * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
13789
13790 2003-03-09  Roger Sayle  <roger@eyesopen.com>
13791
13792         * builtins.def: Fix typo and improve grammar.
13793         * loop-unroll.c (decide_peel_completely): Tidy log message.
13794
13795 2003-03-09  Kazu Hirata  <kazu@cs.umass.edu>
13796
13797         * config/h8300/h8300.md (*tstsi_upper_bit): New.
13798         (*iorsi3_e2f): Likewise.
13799
13800 2003-03-08  Kazu Hirata  <kazu@cs.umass.edu>
13801
13802         * config/h8300/h8300.c (h8300_and_costs): Return the number of
13803         assembly instructions needed.
13804         (h8300_shift_costs): Likewise.
13805
13806 2003-03-09  Hans-Peter Nilsson  <hp@bitrange.com>
13807
13808         * config/cris/aout.h (ENDFILE_SPEC): Undef.
13809
13810         * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
13811         moves from here ...
13812         * expr.c (emit_move_insn_1): ... to here.
13813
13814         * config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
13815         (TARGET_OS_CPP_BUILTINS): New macro.
13816         * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
13817         (TARGET_OS_CPP_BUILTINS): New macro.
13818         (CPP_PREDEFINES): Don't define.  Move old definitions and...
13819         (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
13820         (TARGET_CPU_CPP_BUILTINS): New macro.
13821         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
13822         definitions and the optional __PIC__, __pic__ and
13823         __NO_UNDERSCORES__ definitions to...
13824         (TARGET_OS_CPP_BUILTINS): New macro.
13825
13826         * flags.h (flag_leading_underscore): Declare.
13827
13828         * c-opts.c (c_common_post_options): On fopen failure, return
13829         false, not NULL.
13830
13831 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
13832
13833         * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
13834         config.h.
13835         * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
13836         * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
13837
13838 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
13839
13840         * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
13841         CPP_PREDEFINES.
13842         * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
13843         CPP_PREDEFINES.
13844
13845 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
13846
13847         * c-common.h (c_common_init, c_common_post_options): Update.
13848         * c-objc-common.c (c_objc_common_init): Update for new prototype.
13849         * c-opts.c (saved_lineno): New.
13850         (c_common_post_options, c_common_init): Update prototypes,
13851         move call to cpp_read_main_file from latter to former.
13852         * c-tree.h (c_ojbc_common_init): Update.
13853         * langhooks-def.h (lhd_post_options): New.
13854         (LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
13855         * langhooks.c (lhd_post_options): New.
13856         * langhooks.h (struct lang_hooks): Update post_options and init hooks.
13857         * toplev.c (no_backend): New.
13858         (process_options): Call post_options hook and set main_input_filename
13859         and input_filename here.
13860         (lang_dependent_init, do_compile): post_options hook moved to
13861         process_options.
13862         * objc/objc-act.c (objc_init): Update prototype.
13863         * objc/objc-act.h (objc_init): Update prototype.
13864
13865 2003-03-08  Roger Sayle  <roger@eyesopen.com>
13866
13867         * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
13868         a complex or vector type, using a load in the original mode.
13869
13870 2003-03-08  Jan Hubicka  <jh@suse.cz>
13871
13872         * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
13873         * gt-cgraph.h: New GC file.
13874         * cgraph.c (known_fns): New static variable.
13875         (cgraph_node): Add the decl into varray.
13876
13877 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
13878
13879         * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
13880
13881 2003-03-08  Richard Earnshaw  <rearnsha@arm.com>
13882
13883         * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
13884         (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
13885         (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
13886         (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
13887         All callers changed.
13888         * arm.md, arm.h, arm-protos.h: Updated.
13889
13890         * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
13891         (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
13892         * arm.c (arm_regno_class, f_register_operand): Updated.
13893
13894 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
13895
13896         * config/cris/cris.h: Remove EGCS references.
13897         (CPP_SPEC): Remove "-$".
13898         (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
13899
13900 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
13901
13902         * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
13903         preference to CPP_PREDEFINES.
13904
13905 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
13906
13907         * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
13908
13909 2003-03-08  Kazu Hirata  <kazu@cs.umass.edu>
13910
13911         * config/h8300/h8300.md (*extzv_16_8): New.
13912
13913 2003-03-08  Jan Hubicka  <jh@suse.cz>
13914
13915         * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
13916         * cgraph.h: (cgraph_local_info): Add can_inline_once
13917         (cgraph_global_info): Add inline_once.
13918         (cgraph_node): Add previous.
13919         (cgraph_remove_node): New.
13920         * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
13921         function.
13922         (cgraph_optimize): Call it.
13923         (cgraph_finalize_function):  Set inlinable flags.
13924         (cgraph_finalize_compilation_unit):  Actually remove the reclaimed nodes.
13925         (cgraph_mark_functions_to_output):  Use new inlining heuristics flags.
13926         (cgraph_expand_function): Likewise.
13927         * cgraph.c
13928         (cgraph_node): Put nodes into doubly linked chain.
13929         (cgraph_remove_node): New function.
13930         * flags.h (flag_inline_functions_called_once): Declare.
13931         * tree-inline.c: Include cgraph.h
13932         (inlinable_functions_p): Add extra argument to bypass limits.
13933         (expand_call_inline):  Obey cgraph flag.
13934         * tree-inline.h (tree_inlinable_function_p): Update prototype.
13935
13936 2003-03-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13937
13938         * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
13939         irreducible loops.
13940
13941         * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
13942         loops info correctly.
13943
13944 2003-03-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
13945
13946         PR middle-end/7796
13947         * unroll.c (calculate_giv_inc): Handle constants being
13948         loaded with LSHIFTRT.
13949
13950 2003-03-07  David Edelsohn  <edelsohn@gnu.org>
13951
13952         * config/rs6000/rs6000.c (processor_target_table): Do not disable
13953         GP optional instructions on Power3, Power4, 620, and 630.
13954
13955 2003-03-07  Kazu Hirata  <kazu@cs.umass.edu>
13956
13957         * calls.c: Fix comment formatting.
13958         * cfgloopanal.c: Likewise.
13959         * cfgloopmanip.c: Likewise.
13960         * combine.c: Likewise.
13961         * dwarf2out.c: Likewise.
13962         * ggc-common.c: Likewise.
13963         * langhooks.c: Likewise.
13964         * loop-unroll.c: Likewise.
13965         * loop.c: Likewise.
13966         * ra-build.c: Likewise.
13967         * sbitmap.c: Likewise.
13968         * toplev.c: Likewise.
13969
13970 2003-03-07  James E Wilson  <wilson@tuliptree.org>
13971
13972         * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
13973
13974 2003-03-07  Geoffrey Keating  <geoffk@apple.com>
13975
13976         * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
13977         support -no-integrated-cpp.
13978
13979         * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
13980         than langhooks.name.
13981
13982 2003-03-07  Michael Matz  <matz@suse.de>
13983
13984         * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
13985         (DF_FOR_REGALLOC): New.
13986         * df.c (df_ref_record): Set DF_REF_STRIPPED.
13987         (read_modify_subreg_p): Simplify.
13988         (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
13989         Use DF_FOR_REGALLOC.
13990         * ra.h (struct web): New member subreg_stripped.
13991         (invalid_mode_change_regs): Declare.
13992         * ra.c (invalid_mode_change_regs): New.
13993         (init_ra): Initialize it.
13994         * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
13995         Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
13996         (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
13997         * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
13998         Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
13999
14000 2003-03-07  Richard Earnshaw  <rearnsha@arm.com>
14001
14002         * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
14003         (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
14004         (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
14005         machine description file from ...
14006         * cirrus.md: ... here.
14007
14008 2003-03-06  Kazu Hirata  <kazu@cs.umass.edu>
14009
14010         * config/h8300/h8300.md (a peephole2): Don't use
14011         reg_overlap_mentioned_p.
14012
14013 2003-03-06  Geoffrey Keating  <geoffk@apple.com>
14014
14015         * c-pch.c: Include langhooks.h.
14016         (IDENT_LENGTH): New.
14017         (get_ident): New.
14018         (pch_ident): Delete.
14019         (pch_init): Use get_ident, IDENT_LENGTH.
14020         (c_common_valid_pch): Likewise.  Also, use actual language
14021         in warning message.
14022         * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
14023
14024         * objc/config-lang.in (gtfiles): Add objc-act.c.  Remove duplicate
14025         c-parse.in.
14026         * objc/Make-lang.in (objc/objc-act.o): Add dependency on
14027         gt-objc-objc-act.h.
14028         (gt-objc-objc-act.h): New rule.
14029         * objc/lang-specs.h: Support PCH.
14030         * objc/objc-act.c: Include gt-objc-objc-act.h.
14031         (objc_add_static_instance): Move num_static_inst out, mark for PCH.
14032         (build_selector_reference_decl): Move idx out, mark for PCH.
14033         (build_class_reference_decl): Likewise.
14034         (build_objc_string_decl): Move *_idx out, mark for PCH.
14035         (build_tmp_function_decl): Move xxx out, mark for PCH.
14036
14037 2003-03-06  Dale Johannesen  <dalej@apple.com>
14038
14039         * config/rs6000/rs6000.c (rs6000_binds_local_p):  Consider
14040         global functions for inlining on Darwin.
14041
14042 2003-03-06  Vladimir Makarov  <vmakarov@redhat.com>
14043
14044         * haifa-sched.c (schedule_block): Don't call reorder when sorting
14045         is prohibited.
14046
14047 2003-03-06  Neil Booth  <neil@daikokuya.co.uk>
14048
14049         * Makefile.in (c-ppoutput.o): Update.
14050         * c-common.h (init_pp_output): New.
14051         (preprocess_file): Update.
14052         * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
14053         Register builtins.
14054         * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
14055         Make call to cpp_read_main_file common to whether preprocessing
14056         or not.  Don't register builtins.
14057         * c-ppoutput.c: Include c-pragma.h.
14058         (setup_callbacks): Rename init_pp_output.
14059         (preprocess_file): No longer setup callbacks or call
14060         cpp_read_main_file.
14061         * cpphash.h (_cpp_init_mbchar): New.
14062         * cppinit.c (init_library): Call _cpp_init_mbchar.
14063         * cpplex.c (_cpp_init_mbchar): New.
14064
14065 2003-03-06  Roger Sayle  <roger@eyesopen.com>
14066
14067         * emit-rtl.c (gen_lowpart): When requesting the low-part of a
14068         MEM, try loading the MEM into a register and taking the low-part
14069         of that, to help CSE see the use of the MEM in its true mode.
14070
14071 2003-03-05  Tom Tromey  <tromey@redhat.com>
14072
14073         * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
14074         Define.
14075
14076 2003-03-05  Nick Clifton  <nickc@cambridge.redhat.com>
14077
14078         * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
14079         operand 2.
14080         ("*ineqbranchsi"): Likewise.
14081
14082 2003-03-05  Andrew Haley  <aph@cambridge.redhat.com>
14083
14084         * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
14085         mem_fake_push_rtx.  Instead construct a SEQUENCE to show the
14086         register store followed by a stack increment.
14087
14088 2003-03-05  Chris Moller  <cmoller@redhat.com>
14089
14090         * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
14091         to inhibit saving CARRY_REGS.
14092
14093         * config/stormy16/stormy16.c (xs_hi_general_operand):
14094         added predicate to detect and error-out on out-of-range
14095         const_ints for movhi.
14096         * config/stormy16/stormy16.md (movhi): use
14097         xs_hi_general_operand.
14098
14099         * config/stormy16/stormy16.c (xstormy16_expand_prologue):
14100         added a check for local vbl size overflow.
14101         * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
14102         added predicate to detect and error-out on out-of-range
14103         const_ints for addhi and subhi.
14104         * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
14105         subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
14106
14107         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
14108         add a term to accept PRE_MODIFY addresses.
14109         * config/stormy16/stormy16.c (xstormy16_expand_move):
14110         add code to expand PRE_MODIFY addresses to an add followed
14111         by a move.
14112
14113 2003-03-06  Jason Merrill  <jason@redhat.com>
14114
14115         * tree-inline.c (inlinable_function_p): Revert earlier change
14116         pending investigation.
14117
14118 2003-03-06  Kazu Hirata  <kazu@cs.umass.edu>
14119
14120         * config/h8300/h8300.md (a new peephole2): New.
14121
14122 2003-03-06  Jan Hubicka  <jh@suse.cz>
14123
14124         * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
14125
14126 2003-03-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14127
14128         * dwarf2out.c (size_of_die): Compute size of external reference to
14129         die correctly.
14130
14131 2003-03-06  Hans-Peter Nilsson  <hp@bitrange.com>
14132
14133         * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
14134         ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
14135         expanders.
14136
14137 2003-03-05  Roger Sayle  <roger@eyesopen.com>
14138
14139         * expr.h (lang_expand_expr): Delete obsolete prototype.
14140
14141 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
14142
14143         * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
14144
14145 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
14146
14147         * config/h8300/h8300.md (a peephole2): Generalize to
14148         accept a memory operand.
14149
14150 2003-03-05  Olivier Hainque <hainque@act-europe.fr>
14151
14152         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
14153         * config/alpha/alpha.c (print_operand, case '+'): New.
14154         * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
14155         (call_value_osf_1_noreturn): Likewise.
14156
14157 2003-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14158
14159         * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
14160         (expand_end_bindings): Likewise.
14161
14162 2003-03-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
14163
14164         * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
14165         (epilogue): Don't generate return_external_pic when emitting PA 2.0
14166         code.
14167
14168 2003-03-05  Aldy Hernandez  <aldyh@redhat.com>
14169
14170         * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
14171
14172         * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
14173
14174         * hooks.c (hook_rtx_rtx_null): New.
14175
14176         * hooks.h (hook_rtx_rtx_null): Protoize.
14177
14178         * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
14179         (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
14180
14181         * target.h (struct gcc_target): Add dwarf_register_span.
14182
14183         * dwarf2out.c (multiple_reg_loc_descriptor): New.
14184         (one_reg_loc_descriptor): New.
14185         (reg_loc_descriptor): Add support for values that span more than
14186         one register.
14187
14188 2003-03-05  Jan Hubicka  <jh@suse.cz>
14189
14190         * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
14191         * alias.c:  Include cgraph.h
14192         (mark_constant_function): Use cgraph_rtl_info.
14193         * calls.c:  Include cgraph.h
14194         (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
14195         calls.
14196         (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
14197         * cgraph.c (cgraph_rtl_info): New function.
14198         * cgraph.h (cgraph_rtl_info): Declare
14199         (cgraph_rtl_info): Likewise.
14200         * function.h (struct function): Add recursive_call_emit.
14201         * toplev.c: Include cgraph.h.
14202         (rest_of_compilation): Set preferred_incoming_stack_boundary.
14203
14204 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
14205
14206         * config/h8300/h8300.c (output_simode_bld): Clear the
14207         destination first if possible.
14208         * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
14209         alternative.
14210         (extzv_1_r_inv_h8300hs): Likewise.
14211
14212 2003-03-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14213
14214         * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
14215         * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
14216         * cfgloop.c (flow_loop_free): Made global.
14217         (establish_preds): New static function.
14218         (flow_loop_tree_node_add): Handle subloops of added loop correctly.
14219         (get_loop_exit_edges): New.
14220         (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
14221         * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
14222         * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
14223         loops.
14224         * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
14225         removability of an edge.
14226         (fix_irreducible_loops): New static function.
14227         (find_path, remove_path): Add ability to remove enclosing loops.
14228         (unloop): New.
14229         (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
14230         flags.
14231         * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
14232         * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
14233         not neccessary.
14234         (decide_peel_completely, peel_loops_completely): Allow complete peeling
14235         of non-duplicable once rolling loops.
14236         * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
14237
14238 2003-03-05  J"orn Rennecke <joern.rennecke@superh.com>
14239
14240         * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
14241         for align_jumps is 4.
14242
14243         (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
14244         use GENERAL_REGS.
14245
14246 2003-03-05  Stephane Carrez  <stcarrez@nerim.fr>
14247
14248         * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
14249         according to va_arg type.
14250         (EXPAND_BUILTIN_VA_ARG): Remove.
14251         * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
14252         * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
14253
14254 2003-03-05  David Edelsohn  <edelsohn@gnu.org>
14255
14256         * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
14257         else clauses.
14258
14259 2003-03-05  Michael Matz  <matz@suse.de>
14260
14261         * i386/i386.c (ix86_save_reg): Also test
14262         current_function_uses_const_pool.
14263
14264 2003-03-05  Michael Matz  <matz@suse.de>
14265
14266         * unwind.h: Add the GPL exception.
14267         * Makefile.in (USER_H): Add unwind.h.
14268
14269 2003-03-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
14270
14271         PR c/9799
14272         * c-typeck.c (push_init_level): Add sanity check.
14273
14274 2003-03-05  Jan Hubicka  <jh@suse.cz>
14275
14276         * toplev.c (rest_of_compilation):  Deffer RTL compilation only when
14277         RTL inlining is done.
14278
14279         * cgraphunit.c (cgraph_mark_local_functions): New local function.
14280         (cgraph_optimize): Mark local functions.
14281         * i386-protos.h (init_cumulative_args): Update prototype.
14282         * i386.c (init_cumulative_args): Use register passing convention for
14283         local functions.
14284
14285         * cgraph.c (cgraph_global_info_ready): New global variable
14286         (cgraph_local_info, cgraph_global_info): New functions.
14287         * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
14288         structures.
14289         (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
14290         Declare.
14291         * cgraphunit.c (cgraph_finalize_function): Set inline_many.
14292         (cgraph_mark_functions_to_output): Use inline_many.
14293         (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
14294         (cgraph_expand_functions): Expand inline functions last.
14295         (cgraph_optimize): Do not emit uneeded functions.
14296
14297 2003-03-04  Steve Ellcey  <sje@cup.hp.com>
14298
14299         * expr.c (convert_modes): Check for legal hard register.
14300
14301 2003-03-04  Tom Tromey  <tromey@redhat.com>
14302
14303         * doc/sourcebuild.texi (Front End Directory): Document tags.
14304         * configure: Rebuilt.
14305         * configure.in (target_list): Added tags.
14306         * Makefile.in (TAGS): Depend on lang.clean.  Include subdirectory
14307         TAGS files by reference.
14308         * objc/Make-lang.in (objc.tags): New target.
14309
14310 2003-03-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14311
14312         * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
14313         gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
14314         gcov_write_string, gcov_read_unsigned, gcov_read_counter,
14315         gcov_read_string, gcov_write_length): Modified to enable reading/
14316         writing of whole .da file just once.
14317         (da_file_open, da_file_close, da_file_eof, da_file_error,
14318         da_file_position, da_file_seek, da_file_write, da_file_read): New
14319         functions.
14320         (actual_da_file, actual_da_file_position, actual_da_file_length,
14321         actual_da_file_buffer, actual_da_file_buffer_size): New static
14322         functions.
14323         * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
14324         just once.
14325
14326
14327 2003-03-04  Andreas Schwab  <schwab@suse.de>
14328
14329         * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
14330         offset without frame pointer.
14331
14332 2003-03-04  Steve Ellcey  <sje@cup.hp.com>
14333
14334         * expr.c (expand_expr): Call promote_mode to set unsignedp.
14335
14336 2003-03-04  Daniel Jacobowitz  <drow@mvista.com>
14337
14338         * configure.in: Don't always define TARGET_SYSTEM_ROOT.
14339         * configure: Regenerated.
14340         * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
14341
14342 2003-03-04  Andreas Jaeger  <aj@suse.de>
14343
14344         * configure.in: Check for <memcheck.h>.
14345         * configure: Regenerated.
14346
14347         * config.in: Define HAVE_MEMCHECK_H.
14348
14349         * ggc-common.c: Use <memcheck.h> if available instead of
14350         <valgrind.h>.
14351         * ggc-page.c: Likewise.
14352         * cppfiles.c: Likewise.
14353
14354 2003-03-04  Kazu Hirata  <kazu@cs.umass.edu>
14355
14356         * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
14357
14358 2003-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
14359
14360         PR c/9262
14361         * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
14362         (c_finish_case): Rechain the next statements to the SWITCH_STMT.
14363
14364 2003-03-04  Jan Hubicka  <jh@suse.cz>
14365
14366         * doc/invoke.texi:  Document that unit-at-a-time is enabled for -O3
14367         * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
14368         for -O3.
14369
14370 2003-03-04  Nathanael Nerode  <neroden@gcc.gnu.org>
14371
14372         * configure.in: Delete three unused variables.  Move a variable
14373         definition closer to its use.  Simplify use_collect2 logic.  Start to
14374         organize.  Simplify tests for in-tree gas and ld.
14375         * configure: Regenerate.
14376
14377 2003-03-04  Neil Booth  <neil@daikokuya.co.uk>
14378
14379         * Makefile.in: Update.
14380         * c-common.c (flag_no_line_commands, flag_no_output,
14381         flag_dump_macros, flag_dump_includes): New.
14382         * c-common.h (flag_no_line_commands, flag_no_output,
14383         flag_dump_macros, flag_dump_includes, preprocess_file): New.
14384         (init_c_lex): Update prototype.
14385         * c-lex.c (init_c_lex): Update prototype; move some code to
14386         c_common_init.
14387         * c-opts.c (preprocess_file): Subsume into c_common_init.
14388         (c_common_decode_option): Update flags.
14389         (c_common_init): Move code from preprocess_file and init_c_lex.
14390         (sanitize_cpp_opts): Update.
14391         * c-ppoutput.c: New, cppmain.c almost verbatim.
14392         * cpphash.h (struct printer): Remove.
14393         (struct cpp_reader): Remove print.
14394         * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
14395         cpp_preprocess_file): Remove.
14396         (struct cpp_options): Remove no_output, no_line_commands, dump_macros
14397         and dump_includes.
14398         * cppmain.c: Remove.
14399         * doc/passes.texi: Update.
14400
14401 2003-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
14402
14403         * function.c (STACK_ALIGNMENT_NEEDED): New macro.  Default to 1.
14404         (assign_stack_local_1): Perform overall stack alignment only when
14405         STACK_ALIGNMENT_NEEDED is nonzero.
14406         * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
14407
14408         * pa.c (compute_frame_size): Rename fsize to size.  Account for
14409         alignment to a word boundary before general register save block.  Only
14410         account for double-word alignment before floating point register save
14411         block if one or more are saved.  Don't allocate space for %r3 when
14412         frame pointer is needed.
14413         (hppa_expand_prologue): Include alignment to word boundary in local
14414         frame size.
14415         * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
14416         (STACK_ALIGNMENT_NEEDED): Define.
14417
14418 2003-03-04  Kevin Buettner  <kevinb@redhat.com>
14419
14420         * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
14421         global register variables.
14422
14423 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
14424
14425         * reload.c (reload_adjust_reg_for_mode): New function.
14426         (subst_reloads): Call it.
14427         (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
14428         * reload.h (reload_adjust_reg_for_mode): Declare.
14429         * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
14430         Call it.
14431
14432 2003-03-03  James E Wilson  <wilson@tuliptree.org>
14433
14434         * optabs.c (add_equal_note): Delete SUBREG_REG use.
14435         Fixes PR c/7872.
14436
14437 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
14438
14439         * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
14440         (*ixorsi3_lshiftrt_16): New.
14441         (*iorsi3_ashift_16): Remove.
14442
14443 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
14444
14445         * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
14446         pattern.
14447
14448 2003-03-03  Geoffrey Keating  <geoffk@apple.com>
14449
14450         * doc/install.texi (Specific): Update entry for powerpc-darwin.
14451
14452 2003-03-03  Richard Henderson  <rth@redhat.com>
14453
14454         * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
14455
14456 2003-03-03  David Edelsohn  <edelsohn@gnu.org>
14457
14458         * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
14459         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
14460         (rs6000_variable_issue): Do not return negative value.
14461         (rs6000_issue_rate): Uniformly set issue rate to 1 for first
14462         scheduling pass.
14463
14464 2003-03-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14465
14466         * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
14467         prune_unused_types calls.
14468
14469 2003-03-03  Jason Merrill  <jason@redhat.com>
14470
14471         * tree-inline.c (find_builtin_longjmp_call): Save and restore
14472         lineno and input_filename.
14473         (find_alloca_call): Likewise.
14474         (inlinable_function_p): Run the langhook earlier.
14475
14476         * calls.c (compute_argument_addresses): Give the new MEMs a
14477         minimum alignment of PARM_BOUNDARY.
14478
14479 2003-03-03  J"orn Rennecke <joern.rennecke@superh.com>
14480
14481         * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
14482         subtarget_asm_isa_spec.
14483         (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
14484         (ASM_SPEC): Define as SH_ASM_SPEC.
14485         (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
14486         Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
14487         * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
14488         (SUBTARGET_ASM_ISA_SPEC): Undef / define.
14489
14490         * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
14491         and align_jumps if not set.
14492         Force align_jumps to be at least 2.
14493         When relaxing, force align_functions to be at least the maximum of
14494         align_loops, align_jumps and 4.
14495         * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
14496         (sh_loop_align): Honour align_loops_log.
14497
14498         * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
14499         to check for indirect_jump_scratch.
14500         (indirect_jump_scratch): Add second set.
14501         * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
14502         when looking for indirect_jump_scratch.
14503         Extract scratch register taking new structure of indirect_jump_scratch
14504         into account.
14505         (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
14506
14507 2003-03-03  Jan Hubicka  <jh@suse.cz>
14508
14509         * calls.c (rtx_for_function_call): Take the address as an argument
14510         (expand_call): Do not modify the expression.
14511
14512         * toplev.c (rest_of_compilation):  Avoid cfg_cleanup calls when not
14513         optimizing.
14514
14515 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
14516
14517         * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
14518         TARGET_H8300H and TARGET_H8300S.
14519
14520 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
14521
14522         * config/h8300/h8300.md (a peephole2): New.
14523
14524 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
14525
14526         * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
14527         operands[0] and operands[1] are different.
14528
14529 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
14530
14531         * reload1.c (reload_cse_move2add): Remove variable success.
14532
14533 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14534
14535         * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
14536         warnings.
14537
14538 2003-03-02  Richard Henderson  <rth@redhat.com>
14539
14540         * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
14541         * config.in, configure: Rebuild.
14542         * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
14543         * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
14544         paired ldtoffx and ldxmov annotations.
14545         (load_symptr_internal1): Remove.
14546         (load_symptr_high, load_symptr_low): New.
14547
14548 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
14549
14550         * c-incpath.c (add_path): Fix sysp assignment.
14551
14552 2003-03-02  Kurt Garloff  <garloff@suse.de>
14553
14554         * params.def: Introduce parameter max-inline-insns-rtl for
14555         a separate limit for the RTL inliner.
14556         * params.h: Likewise.
14557         * integrate.c (function_cannot_inline_p): Use it.
14558         * toplev.c (decode_f_option): Set multiple parameters
14559         controlling inlining with -finline-limit.
14560         * params.def: Fix orthographic and typographic errors.
14561         * doc/invoke.texi: Document parameters controlling inlining
14562         and the way -finline-limit sets multiple of them.
14563
14564         * tree.h (struct tree_decl): Introduce inlined_function_flag,
14565         recording whether the function became eligible for inlining
14566         by a compiler flag rather than the declaration.
14567         Provide DID_INLINE_FUNC macro to access it.
14568         * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
14569         * cp/decl.c (grokfndecl): Likewise.
14570         * toplev.c (rest_of_compilation): Likewise.
14571         * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
14572         * print-tree.c (print_node): Report it.
14573         * params.def: Introduce new max-inline-insns-auto limit.
14574         * params.h: Likewise.
14575         * tree-inline.c (inlinable_function_p): Apply it to functions
14576         with DID_INLINE_FUNC set.
14577         * toplev.c (decode_f_option): Initialize it from -finline-limit
14578         value.
14579         * doc/invoke.texi: Document new parameter.
14580
14581 2003-03-02  Geoffrey Keating  <geoffk@apple.com>
14582
14583         * fix-header.c (read_scan_file): Don't reference simplify_path.
14584
14585 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
14586
14587         * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
14588         min/max instructions by default as may result in reload errors.
14589
14590 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
14591
14592         * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
14593         avoid reload problems; define split for it.
14594
14595 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
14596
14597         * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
14598         * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
14599         * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
14600         * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
14601         rotatert and rotate.
14602         ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
14603         ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
14604         ("*rotrhi3_addr"): New split for shift insns on address register.
14605         ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
14606         * config/m68hc11/larith.asm (___rotlhi3): New asm function.
14607         (___rotrhi3): Likewise.
14608         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
14609
14610 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
14611
14612         * toplev.c (aux_base_name): Moved from toplev.h.
14613         (filename): Constify.
14614         (lang_dependent_init): Don't duplicate name.
14615         (process_options): Set aux_base_name here, not...
14616         (do_compile): ...here.  Change protoype.
14617         (toplev_main): Move some code from do_compile.
14618         * toplev.h: Remove aux_base_name.
14619
14620 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
14621
14622         * config/h8300/h8300-protos.h: Add a prototype for
14623         iorxor_operator.
14624         * config/h8300/h8300.c (print_operand): Handle 'c'.
14625         (iorxor_operator): New.
14626         * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
14627         * config/h8300/h8300.md (*iorhi3_zext): Remove.
14628         (*iorsi3_zexthi): Likewise.
14629         (*iorsi3_zextsi): Likewise.
14630         (*xorhi3_zextqi): Likewise.
14631         (*xorsi3_zexthi): Likewise.
14632         (*xorsi3_zextsi): Likewise.
14633         (*ixorhi3_zext): New.
14634         (*ixorsi3_zext_qi): Likewise.
14635         (*ixorsi3_zext_hi): Likewise.
14636
14637 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
14638
14639         * c-incpath.c (remove_component_p, simplify_path): Move back to
14640         cppfiles.c.
14641         (remove_duplicates): Use cpp_simplify_path.
14642         * c-incpath.h (simplify_path): Remove.
14643         * c-lex.c: Don't include c-incpath.h.
14644         (init_c_lex): Remove simplify_path.
14645         * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
14646         (find_or_create_entry, validate_pch): Revert.
14647
14648 2003-03-02  Ashif Harji  <asharji@uwaterloo.ca>
14649
14650         * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
14651           an external cpp during compilation.
14652         (option_map): Likewise.
14653         * objc/lang-specs.h (default_compilers): Similarly.
14654         * doc/invoke.texi: Document -no-integrated-cpp flag.
14655
14656 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
14657
14658         * config/h8300/h8300.md (zero_extendqisi2): Change to an
14659         expander.
14660         (*zero_extendqisi2_h8300): New.
14661         (*zero_extendqisi2_h8300hs): New.
14662         (two splitters): New.
14663
14664 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14665
14666         * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
14667
14668 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
14669
14670         * config/h8300/h8300.md (a peephole2): Remove dead code.
14671
14672 2003-03-01  Roger Sayle  <roger@eyesopen.com>
14673
14674         PR c++/9367
14675         * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
14676         (BT_FN_INT_CONST_STRING_VALIST_ARG,
14677         BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
14678         BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
14679         BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
14680         BT_FN_INT_STRING_CONST_STRING_VAR,
14681         BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
14682         BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
14683         * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
14684         ATTR_NONNULL_3): Also include the nothrow attribute.
14685         (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
14686         vsnprintf, vscanf, vsscanf): Don't define attributes here.
14687         * builtins.def (putchar, puts): Make full C89 built-ins.
14688         (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
14689         vsscanf, vsnprintf, vsprintf): New built-ins.
14690         * c-common.c (c_common_nodes_and_builtins): Handle new macro
14691         DEF_FUNCTION_TYPE_VAR_3.
14692
14693         * doc/extend.texi: Document these new built-in functions.
14694
14695 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
14696
14697         * config/h8300/h8300.md (a peephole2): New.
14698
14699 2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
14700
14701         * predict.c (estimate_bb_frequencies): Correctly set
14702         real_values_initialized after initialization.
14703
14704 2003-03-01  Neil Booth  <neil@daikokuya.co.uk>
14705
14706         * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
14707         cppinit.o, cppdefault.o, fix-header): Update.
14708         * c-incpath.c: New file.
14709         * c-incpath.h: New file.
14710         * c-lex.c: Include c-incpath.h.
14711         (init_c_lex): Register path simplifier.
14712         * c-opts.c: Include cppdefault.h and c-incpath.h.
14713         (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
14714         std_cxx_inc, quote_chain_split, add_prefixed_path): New.
14715         (COMMAND_LINE_OPTIONS): Add more options from cpplib.
14716         (missing_arg, c_common_decode_option): Handle them.
14717         (c_common_post_options): Register include chains.
14718         (print_help): Update.
14719         * cppdefault.h (struct default include): Update.
14720         Move some macros to ...
14721         * cppdefault.c: ... here.
14722         (cpp_include_defaults): Add extra field add_sysroot.
14723         * cppfiles.c (include_file, search_from, find_or_create_entry,
14724         cpp_included, find_include_file, remap_filename): Update for
14725         renaming of search_path to cpp_path, and of the chain headers.
14726         (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
14727         * cpphash.h (struct search_path): Move to cpplib.h.
14728         (struct cpp_buffer, struct cpp_reader): Update.
14729         (_cpp_simplify_pathname): Remove.
14730         * cppinit.c: Don't include prefix.h and cppdefault.h.
14731         (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
14732         remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
14733         init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
14734         no_pth, cpp_handle_options): Remove.
14735         (struct pending_option): Remove chain members.
14736         (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
14737         cpp_handle_option): Update.
14738         * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
14739         (struct cpp_options): Remove quote_include, bracket_include,
14740         include_prefix, include_prefix_len, verbose, ignore_srcdir,
14741         no_standard_includes, no_standard_cplusplus_includes.
14742         (struct cpp_callbacks): Add simplify_path.
14743         (cpp_handle_options): Remove.
14744         * fix-header.c: Include c-incpath.h.
14745         (read_scan_file): Update to use c-incpath functionality.
14746         * doc/passes.texi: Update.
14747
14748 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
14749
14750         * config/h8300/h8300.c (bit_operand): Accept MEM only if it
14751         satisfies EXTRA_CONSTRAINT 'U'.
14752
14753 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
14754
14755         * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
14756         register.
14757         (*tst_extzv_memqi_1_n): Change to a splitter.
14758         (a peephole2): Update.
14759
14760 2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
14761
14762         * predict.c (estimate_bb_frequencies): Initialize the sreal
14763         constants once per compilation.
14764
14765 2003-02-28  Richard Henderson  <rth@redhat.com>
14766
14767         * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
14768
14769 2003-02-28  scott snyder  <snyder@fnal.gov>
14770
14771         * flags.h: Add flag_eliminate_unused_debug_types.
14772         * toplev.c: Add flag_eliminate_unused_debug_types.
14773         (f_options): Add -feliminate-unused-debug-types.
14774         * dwarf2out.c (struct file_table): Add emitted member.
14775         (splice_child_die): Fix the parent pointer for the child being
14776         spliced.
14777         (lookup_filename): Maintain file_table.emitted array.  Don't
14778         output .file directive here.
14779         (maybe_emit_file): (new)
14780         (init_file_table): Set up file_table.emitted.
14781         (dwarf2out_source_line): Use maybe_emit_file.
14782         (dwarf2out_start_source_file): Use maybe_emit_file.
14783         (dwarf2out_init): Use maybe_emit_file.
14784         (prune_unused_types_walk_attribs): (new)
14785         (prune_unused_types_mark): (new)
14786         (prune_unused_types_walk): (new)
14787         (prune_unused_types_prune): (new)
14788         (prune_unused_types): (new)
14789         (dwarf2out_finish): Call prune_unused_types if
14790         flag_eliminate_unused_debug_types is set.
14791         * doc/invoke.texi (Option Summary): Add
14792         -feliminate-unused-debug-types.
14793         (Debugging Options): Likewise.
14794
14795 2003-02-28  Geoffrey Keating  <geoffk@apple.com>
14796
14797         * doc/invoke.texi: Change .pch to .gch.
14798         * cppfiles.c (open_file_pch): Likewise.
14799         * gcc.c (default_compilers): Likewise.
14800
14801 2003-02-28  Aldy Hernandez  <aldyh@redhat.com>
14802
14803         * floatlib.c: Remove.
14804
14805 2003-02-28  Jason Merrill  <jason@redhat.com>
14806
14807         * stor-layout.c (variable_size): Leave a "minus 1" outside the
14808         SAVE_EXPR.
14809
14810 2003-02-28  David Edelsohn  <edelsohn@gnu.org>
14811
14812         * config/rs6000/power4.md: Add compare bypass.
14813
14814 2003-02-28  Jason Thorpe  <thorpej@wasabisystems.com>
14815
14816         * config/netbsd.h: Update copyright years.
14817         (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
14818         -pthread is specified on the command line.
14819
14820 2003-02-28  Dale Johannesen <dalej@apple.com>
14821
14822         * loop.c (struct movable): Add insert_temp, shrink savemode.
14823         (scan_loop): Accept invariants that require copying; mark as
14824         insert_temp.
14825         (combine_movables): Don't combine insert_temp movables.
14826         (move_movables): Insert copies for insert_temp movables.
14827         Don't record the info based on regno for insert_temp's.
14828
14829 2003-02-28  Joel Sherrill <joel@OARcorp.com>
14830
14831         PR 9638/other
14832         * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
14833         this constant defaults to 1.
14834
14835 2003-02-28  Bob Wilson  <bob.wilson@acm.org>
14836
14837         * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
14838
14839 2003-02-28  Richard Earnshaw  <rearnsha@arm.com>
14840
14841         * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
14842         ARMv5e processor, not just for XScale.  Instructions are predicable.
14843         (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
14844
14845 2003-02-28  Nick Clifton  <nickc@redhat.com>
14846
14847         * config/arm/arm.c (note_invalid_constants): Change parameter type
14848         from bool to int.
14849
14850 2003-02-28  Kazu Hirata  <kazu@cs.umass.edu>
14851
14852         * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
14853         test of bit 7.
14854         (*tst_extzv_memqi_1_n): Likewise.
14855         (a peephole2): New.
14856
14857 2003-02-28  Richard Sandiford  <rsandifo@redhat.com>
14858
14859         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
14860         #ifndef __mips16.
14861
14862 2003-02-28  Jan Hubicka  <jh@suse.cz>
14863
14864         * combine.c (gen_lowpart_for_combine): Update handling of
14865         subregs_of_mode
14866         * flow.c (life_analysis, mark_used_regs): Likewise.
14867         * regclass.c (subregs_of_mode): Turn into single bitmap.
14868         (cannot_change-mode_set_regs, invalid_mode_change_p): Update
14869         dealing with subregs_of_mode
14870         * regs.h (subregs_of_mode): Update prototype.
14871
14872 2003-02-28  Josef Zlomek  <zlomekj@suse.cz>
14873
14874         * emit-rtl.c (set_reg_attrs_for_parm): New function.
14875         * rtl.h (set_reg_attrs_for_parm): New exported function.
14876         * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
14877         set_reg_attrs_from_mem.
14878
14879 2003-02-27  Roger Sayle  <roger@eyesopen.com>
14880             Zack Weinberg <zack@codesourcery.com>
14881
14882         * gcc.c (do_spec_1):  Treat %U like %u for unique associations.
14883
14884 2003-02-27  Kazu Hirata  <kazu@cs.umass.edu>
14885
14886         * reload1.c (sext_for_mode): Remove.
14887         (reload_cse_move2add): Use trunc_int_for_mode instead of
14888         sext_for_mode.
14889         (move2add_note_store): Likewise.
14890         Reset register information if we see a set in non-integer
14891         mode.
14892
14893 2003-02-27  David Edelsohn  <edelsohn@gnu.org>
14894
14895         * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
14896         option.
14897         (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
14898         * config/rs6000/aix51.h: Same.
14899         * config/rs6000/aix52.h: Same.
14900         * config/rs6000/power4.md: Additional VMX bypasses.
14901
14902 2003-02-27   Geert Bosch <bosch@gnat.com>
14903
14904         * toplev.c (print_version): Add indentation for GGC heuristics and
14905         output after printing version information.
14906
14907 2003-02-27  James E Wilson  <wilson@tuliptree.org>
14908
14909         * combine.c (simplify_comparison): Require integral mode when
14910         permuting SUBREG with AND.
14911
14912 2003-02-27  Steve Ellcey  <sje@cup.hp.com>
14913
14914         * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
14915
14916 2003-02-27  Nick Clifton  <nickc@redhat.com>
14917
14918         * config/arm/arm.md (extendsfdf2): Add pattern accidentally
14919         deleted when cirrus instructions were added.
14920
14921 2003-02-27  Jason Thorpe  <thorpej@wasabisystems.com>
14922
14923         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
14924         POSIX thread support by default.
14925
14926 2003-02-27  Roger Sayle  <roger@eyesopen.com>
14927
14928         * config/i386/cygwin.h: Don't include any other files directly.
14929         * config/i386/mingw32.h: Don't include cygwin.h directly.
14930         * config.gcc (cygwin, mingw32, uwin): Instead make these files
14931         explicit in the tm_files variable.
14932
14933 2003-02-27  Alan Modra  <amodra@bigpond.net.au>
14934
14935         * config/rs6000/rs6000.md: Add TI constant splitter.
14936
14937 2003-02-26  Alexandre Oliva  <aoliva@redhat.com>
14938
14939         * builtins.c (purge_builtin_constant_p): Handle subreg of
14940         constant_p_rtx too.
14941
14942         * function.c (assign_stack_local_1): Truncate constant added to
14943         frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
14944
14945 2003-02-26  David Edelsohn  <edelsohn@gnu.org>
14946
14947         * config.gcc: Add power4 to PowerPC with_cpu list.
14948
14949 2003-02-26  Jan Hubicka  <jh@suse.cz>
14950
14951         * objc-act.c: (mark_referenced_methods): Fix compilation problem.
14952
14953 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14954
14955         * gcov-dump.c (print_prefix): Fix signedness warning.
14956         * gcov-io.h (struct counter_section, struct counter_section_data): New.
14957         (struct function_info): n_arc_counts field removed, n_counter_sections,
14958         counter_sections fields added.
14959         (struct gcov_info): arc_counts, n_arc_counts fields removed,
14960         n_counter_sections, counter_sections fields added.
14961         * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
14962         profile sections.
14963         * profile.h (MAX_COUNTER_SECTIONS): New.
14964         (struct section_info): New.
14965         (struct profile_info): count_instrumented_edges,
14966         count_edges_instrumented_now fields removed, n_sections, section_info
14967         fields added.
14968         (find_counters_section): Declare.
14969         * profile.c (struct function_list): count_edges field removed,
14970         n_counter_sections, counter_sections fields added.
14971         (set_purpose, label_for_tag, build_counter_section_fields,
14972         build_counter_section_value, build_counter_section_data_fields,
14973         build_counter_section_data_value, build_function_info_fields,
14974         build_function_info_value, build_gcov_info_fields,
14975         build_gcov_info_value): New static functions.
14976         (find_counters_section): New function.
14977         (instrument_edges, get_exec_counts, compute_branch_probabilities,
14978         branch_prob, create_profiler): Modified to support multiple profile
14979         sections.
14980
14981 2003-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
14982
14983         * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
14984         is 8 * STACK_BOUNDARY.
14985         * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
14986
14987 2003-02-26  Michael Matz  <matz@suse.de>
14988
14989         * ra-colorize.c (merge_moves): Fix list handling.
14990
14991 2003-02-26  Nick Clifton  <nickc@redhat.com>
14992
14993         * config/arm/arm.c (is_load_address): Rename to...
14994         (arm_memory_load_p) ... this and make it check for SUBREGs and
14995         constant loads that will be converted into loads from the
14996         minipool.
14997         (is_cirrus_insn): Rename to ...
14998         (arm_cirrus_insn_p): ... this, for consistency.  Replace test
14999         of CIRRUS_NO with CIRRUS_NOT.
15000         (cirrus_reorg): Use renamed functions.
15001         (note_invalid_constants): Change from a void function to bool.
15002         Add an extra parameter, saying whether the fixups should be
15003         pushed.  Return true if fixups are needed.
15004         (arm_reorg): Use renamed functions.  Use INSN_P.  Replace test
15005         of CIRRUS_NO with CIRRUS_NOT.
15006         * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
15007         other floating point co-processors can also affect this.
15008         * config/arm/arm.md ("type" attribute): Add mav_farith and
15009         mav_dmult.  Replace references to "cirrus_type" attribute with
15010         "type".
15011         * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
15012         ("cirrus_type" attribute): Delete - use "type" instead.
15013         ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
15014         'normal'.
15015
15016 2003-02-25  Jan Hubicka  <jh@suse.cz>
15017
15018         * objc-act.c: Include cgraph.h
15019         (mark_referenced_methods): New function.
15020         (objc_init): Call it.
15021         * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
15022
15023         * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
15024         mode.
15025
15026         * optabs.c (expand_fix): Do not widen the input operand.
15027
15028         * expr.c (emit_group_store):  Fix crash when converting single
15029         register into complex register.
15030
15031         * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
15032         * alias.c: Include timevar.h
15033         (init_alias_analysis):  Set timevar
15034         * jump.c: Include timevar.h
15035         (rebuild_jump_labels):  Set timevar
15036         * regcalss.c: Include timevar.h
15037         (reg_scan):  Set timevar
15038         * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
15039
15040 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15041
15042         * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
15043
15044         * Makefile.in (loop-unroll.o): New.
15045         * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
15046         (unroll_and_peel_loops): Declare.
15047         * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
15048         flag_old_unroll_loops.
15049         * loop.c (loop_invariant_p): Ditto.
15050         * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
15051         flag_old_unroll_all_loops.
15052         * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
15053         (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
15054         * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
15055         (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
15056         PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
15057         PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
15058         PARAM_MAX_ONCE_PEELED_INSNS): New.
15059         * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
15060         (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
15061         instead of old one.
15062         (flag_peel_loops): New.
15063         (lang_independent_options): The new flags added.
15064         (rest_of_compilation): Call new unroller.
15065         (process_options): Setup flags for coexistence of old and new unroller.
15066         * doc/invoke.texi: Document new options.
15067         * doc/passes.texi: Document new unroller pass.
15068
15069 2003-02-26  David Billinghurst <David.Billinghurst@riotinto.com>
15070
15071         * fixinc/fixincl.x: Regenerate
15072
15073 2003-02-26  Josef Zlomek  <zlomekj@suse.cz>
15074
15075         * function.c (assign_parms): Set reg_attrs for parameters passed in
15076         registers.
15077
15078 2003-02-26  Alan Modra  <amodra@bigpond.net.au>
15079
15080         PR target/9681
15081         * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
15082
15083 2003-02-25  David Edelsohn  <edelsohn@gnu.org>
15084
15085         * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
15086         pseudo-op.
15087
15088 2003-02-25  Roger Sayle  <roger@eyesopen.com>
15089
15090         * combine.c (combine_simplify_rtx, simplfy_comparison):  Use CC0_P.
15091         * cse.c (invalidate_skipped_set):  Likewise.
15092         * integrate.c (subst_constants):  Likewise.
15093         * jump.c (reversed_comparison_code_parts):  Likewise.
15094         * loop.c (canonicalize_condition):  Likewise.
15095         * simplify-rtx.c (simplify_relational_operation):  Likewise.
15096
15097 2003-02-25  Roger Sayle  <roger@eyesopen.com>
15098
15099         * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
15100         (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit):  Use
15101         the appropriate macro to define built-in function.
15102         (fmod,fmodf,fmodl): New built-in functions.
15103
15104         * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
15105
15106 2003-02-25  Richard Henderson  <rth@redhat.com>
15107
15108         * config/i386/i386.c (function_arg): Pass variable sized
15109         structures correctly on the stack.
15110
15111 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
15112
15113         * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
15114         does not reduce the cost of SET.
15115
15116 2003-02-25  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
15117
15118         PR target/9732
15119         * config/rs6000/rs6000.c (first_reg_to_save): Handle
15120         PIC_OFFSET_TABLE_REGNUM for -fPIC too.
15121         (rs6000_emit_prologue): Likewise.
15122         (rs6000_emit_epilogue): Likewise.
15123         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
15124         PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
15125
15126 2003-02-25  Richard Henderson  <rth@redhat.com>
15127
15128         * real.c (real_to_integer2): Force overflow result only for
15129         unsigned overflow.
15130
15131 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
15132
15133         * gcse.c (cprop_jump): Revert the 2003-02-23 change.
15134
15135 2003-02-25  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
15136             Richard Henderson  <rth@redhat.com>
15137
15138         * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
15139         there is no similar load.
15140
15141 2003-02-25  Vladimir Makarov  <vmakarov@redhat.com>
15142             Richard Henderson  <rth@redhat.com>
15143
15144         * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
15145         sched-rgn.c.
15146         (add_forward_dependence): New function prototype.
15147
15148         * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
15149         sched-init.h.
15150         (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
15151         them to haifa-sched.c.
15152
15153         * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
15154         haifa_classify_insn): Move them from sched-rgn.c.
15155
15156         * sched-deps.c (add_dependence): Return flag of creating a new
15157         entry.
15158         (add_forward_dependence): New function.
15159         (compute_forward_dependences): Use the function.
15160
15161         * sched-ebb.c (earliest_block_with_similiar_load): New function.
15162         (add_deps_for_risky_insns): New function.
15163         (schedule_ebb): Call the function.
15164
15165 2003-02-20  Aldy Hernandez  <aldyh@redhat.com>
15166
15167         * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
15168         TARGET_VECTOR_OPAQUE_P.  Document accordingly.
15169
15170         * testsuite/gcc.dg/20030218-1.c: Check that initialization of
15171         opaque types fail.
15172
15173         * c-typeck.c (comptypes): Change call to vector_types_compatible
15174         to vector_opaque_p.
15175         (convert_for_assignment): Call vector_opaque_p instead of
15176         vector_types_compatible.
15177         (really_start_incremental_init): Disallow initialization of opaque
15178         types.
15179
15180         * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
15181         Define TARGET_VECTOR_OPAQUE_P.
15182         (TARGET_INITIALIZER): Same.
15183
15184         * target.h (struct gcc_target): Remove vector_types_compatible.
15185         Add vector_opaque_p.
15186
15187         * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
15188         Remove.
15189         (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
15190         a vector type.  Change return type to bool.
15191         (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
15192         (TARGET_VECTOR_OPAQUE_P): Define.
15193
15194         * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
15195         target hook.
15196         Include target.h.
15197         (cp_parser_init_declarator): Fix typo in function comments.
15198
15199 2003-02-25  Jan Hubicka  <jh@suse.cz>
15200
15201         * Makefile.in (lcm.o):  Add dependency on function.h
15202         * lcm.c (function.h): Include.
15203         * i386.c (machine_function, ix86_stack_locals,
15204         * ix86_save_varrargs_registers) : Move to
15205         ...
15206         * i386.h (machine_function, ix86_stack_locals,
15207         ix86_save_varrargs_registers): ... here; add optimize_mode_switching
15208         (ix86_optimize_mode_switching): New.
15209         * i386.md (fix patterns): Set ix86_optimize_mode_switching
15210
15211 2003-02-25  Nick Clifton  <nickc@redhat.com>
15212
15213         * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo.  Name
15214         of fourth arg is 'fndecl' not 'indirect'.  Update comment
15215         describing the function's parameters.
15216
15217 2003-02-24  Jan Hubicka  <jh@suse.cz>
15218
15219         * combine.c (simplify_shift_const):  Fix previous patch.
15220
15221 2003-02-24  Jeff Law  <law@redhat.com>
15222
15223         * i386.md (testdi_1_rex64): Discourage reload from using the %eax
15224         alternative.
15225         (testsi_1, testhi_1, testqi_1): Likewise.
15226
15227 2003-02-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15228
15229         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
15230         __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
15231         * doc/extend.texi (Tru64 Pragmas): Reflect this.
15232
15233         * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
15234         extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
15235         * fixinc/fixincl.x: Regenerate.
15236         * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
15237         testcase.
15238         Fixes PR c/5059, c/6126, other/9671.
15239
15240 2003-02-24  Roger Sayle  <roger@eyesopen.com>
15241
15242         * gcc.c (do_spec_1) ['{']:  Handle pending argument upon return
15243         from handle_braces in "%{...}".
15244
15245 2003-02-24  Kaz Kojima  <kkojima@gcc.gnu.org>
15246
15247         * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
15248         (prepare_move_operands): Handle TLS operands.
15249         (tls_symbolic_operand): New.
15250         (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
15251         (legitimize_pic_address): Do nothing for the TLS symbol.
15252         (sh_encode_section_info): Handle TLS case.
15253         (sh_strip_name_encoding): Drop TLS encoding.
15254         * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
15255         * config/sh/sh.h (SH_TLS_ENCODING): Define.
15256         (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
15257         (ASM_OUTPUT_LABELREF): Drop TLS encoding.
15258         (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
15259         * config/sh/sh.md: Define TLS UNSPEC constants.
15260         (type): Add tls_load.
15261         ("tls_global_dynamic", "tls_local_dynamic"): New insns.
15262         ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
15263         ("tls_initial_exec"): New insn.
15264         ("sym2TPOFF", "symTPOFF2reg"): New expanders.
15265         ("load_gbr"): New insn.
15266
15267         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
15268         * configure: Regenerate.
15269
15270 2003-02-24  Alan Modra  <amodra@bigpond.net.au>
15271
15272         PR 9297, PR 9722
15273         * calls.c (store_one_arg): Revert 1999-02-16 change.  Revert
15274         2000-12-17 change.  Pass EXPAND_STACK_PARM to expand_expr.
15275         * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
15276         (enum block_op_methods): Reorder for better store_expr optimization.
15277         * expr.c (store_expr): Test bit 1 of "want_value" for call param
15278         stores, test bit 0 for original want_value meaning.  Pass
15279         BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set.  Adjust
15280         recursive calls, and calls to expand_param.
15281         (expand_expr): Handle EXPAND_STACK_PARM modifier.  When cse
15282         expected, set target to 0 rather than to subtarget.  Formatting.
15283
15284 2003-02-23  Kazu Hirata  <kazu@cs.umass.edu>
15285
15286         * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
15287
15288 2003-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15289
15290         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
15291         new default behavior.
15292         * ggc-common.c: Include sys/resource.h.
15293         (ggc_rlimit_bound): New function.
15294         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
15295         defaults to account for rlimits.
15296
15297 2003-02-22  Richard Henderson  <rth@redhat.com>
15298
15299         * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
15300
15301 2003-02-22  Kelley Cook <kelley@dwhoops.info>
15302
15303         * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
15304         (ix86_tune_string): Rename from ix86_cpu_string.
15305
15306 2003-02-22  Kelley Cook <kelleycook@comcast.net>
15307
15308         * config/i386/i386.c: Replace "mcpu" with "mtune".
15309         * config/i386/i386.h (TARGET_OPTIONS): Likewise.
15310         (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
15311         * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
15312         with "mtune".  Note that "mcpu" is a deprecated synonym for "mtune".
15313
15314 2003-02-23  Andreas Schwab  <schwab@suse.de>
15315
15316         * config.gcc: Delete references to m68k/t-linux and
15317         m68k/t-linux-aout.
15318         * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
15319
15320 2003-02-22  Jan Hubicka  <jh@suse.cz>
15321
15322         * toplev.c (rest_of_compilation):  Apply fotgotten hunk
15323         of track scheduling patch.
15324
15325 2003-02-22  Jan Hubicka  <jh@suse.cz>
15326
15327         * config/linux.h (TARGET_HAS_F_SETLKW): Define.
15328         * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
15329
15330 2003-02-22  Jan Hubicka  <jh@suse.cz>
15331
15332         * c-decl.c (c_expand_body_1): Fix.
15333
15334 2003-02-22  Jan Hubicka  <jh@suse.cz>
15335
15336         * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
15337
15338         * cfgcleanup.c (try_forward_edges):  Don't check loop structures
15339         when not optimizing.
15340         (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
15341         when not expensive.
15342         * toplev.c (rest_of_compilation):  Duplicate loop headers only when
15343         optimizing;  Delete trivially dead insns early; fix optimize check.
15344
15345         * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
15346         dependency on cgraph.h
15347         * c-decl.c: Include cgraph.h
15348         (finish_function): Update call of tree_inlinable_function_p.
15349         * c-objc-common.c: Include cgraph.h
15350         * cgraph.h: New file.
15351         * cgraphunit.c: New file.
15352         * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
15353         (cgraph_nodes, cgraph_n_nodes): Globalize.
15354         (cgraph_finalize_function, cgraph_finalize_compilation_unit
15355         cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
15356         Move into cgraphunit.c
15357         * tree-inline.c: Include cgraph.h
15358         * tree-inline.c: Include cgraph.h
15359
15360 2003-02-22  Josef Zlomek  <zlomekj@suse.cz>
15361
15362         * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
15363         for copying a register.
15364
15365 2003-02-22  Steven Bosscher  <s.bosscher@student.tudelft.nl>
15366
15367         PR other/3782
15368         * toplev.c (process_options): If flag_detailed_statistics is set,
15369         then set time_report as well.
15370
15371         PR c/8828
15372         * jump.c (never_reached_warning): Don't fall through BARRRIER
15373         insns.  Update comments to reflect what the function really does.
15374
15375 2003-02-21  Roger Sayle  <roger@eyesopen.com>
15376
15377         * fold-const.c (omit_one_operand): No longer static.
15378         * tree.h (omit_one_operand): Prototype here.
15379         (div_and_round_double): Keep fold-const.c prototypes together.
15380         * builtins.c (builtin_mathfn_code): Handle binary built-in
15381         funtions, such as "pow" and "atan2".
15382         (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
15383         Simplify optimizations using "type" the builtin's return type.
15384
15385 2003-02-22  Hans-Peter Nilsson  <hp@axis.com>
15386
15387         * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
15388         Fix functionalization typo.
15389
15390         * regmove.c (optimize_reg_copy_1): Do not replace a hard register
15391         in an asm.
15392
15393 2003-02-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15394
15395         * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
15396         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
15397         documentation.
15398         * ggc-common.c: Include params.h
15399         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
15400         init_ggc_heuristics): New functions.
15401         * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
15402         init_ggc_heuristics): Prototype.
15403         * toplev.c (print_version):  Output GGC heuristics.
15404         (parse_options_and_default_flags): Call init_ggc_heuristics.
15405
15406 2003-02-22  Jan Hubicka  <jh@suse.cz>
15407
15408         * i386.c (def_builtin):  Special case 64bit builtins.
15409         (MASK_SSE164, MASK_SSE264): New constants.
15410         (builtin_description): Add 64bit builtins.
15411         (ix86_init_mmx_sse_builtins): Likewise.
15412         * i386.h (enum ix86_builtins): Likewise.
15413         * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
15414         sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
15415         (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
15416         * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
15417         * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
15418         _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
15419         _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
15420
15421 2003-02-22  Jan Hubicka  <jh@suse.cz>
15422
15423         * i386.c (builtin_description): Add __builtin_ia32_paddq and
15424         __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
15425          and __builtin_ia32_psubq128.
15426         * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
15427         * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
15428         (mmx_adddi3, mmx_subdi3): New.
15429         * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
15430         * xmmintrin.h (_mm_movepi64_pi64): New.
15431         (_mm_add_epi64, _mm_sub_epi64): fix.
15432         (_mm_mul_pu16): Rename to...
15433         (_mm_mul_su32): ... this one.
15434
15435         * builtins.c (expand_builtin_expect):  Do not predict
15436         flag_guess_branch_prob is not set.
15437         * c-semantics.c (expand_stmt): Likewise.
15438         * predict.c (predict_insn): Likewise.
15439         * stmt.c (expand_continue_loop): Likewise.
15440         * toplev.c (rest_of_compilation): Do not call
15441         note_prediction_to_br_prob and note_prediction_to_br_prob
15442         when not optimizing.
15443
15444 2003-02-21  Jan Hubicka  <jh@suse.cz>
15445
15446         * cfgrtl.c (commit_edge_insertions):  Call
15447         find_many_sub_basic_block only when some code has been emitted.
15448         (commit_edge_insertions_watch_calls): Bring into sync with
15449         commit_edge_insertions
15450
15451 2003-02-21  J"orn Rennecke <joern.rennecke@superh.com>
15452
15453         * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
15454
15455         * sh.md (binary_sf_op): Use extra constant operand instead of
15456         negating constant operand 4.
15457         * sh.c (sh_expand_binop_v2sf): Supply it.
15458
15459 2003-02-21  Zack Weinberg  <zack@codesourcery.com>
15460
15461         * cpphash.h (struct lexer_state): Add directive_wants_padding.
15462         * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
15463         for directives of type INCL.
15464         (glue_header_name, parse_include): Use get_token_no_padding.
15465         * cppmacro.c (replace_args): If directive_wants_padding,
15466         provide padding tokens.
15467
15468 2003-02-21  Kazu Hirata  <kazu@cs.umass.edu>
15469
15470         * config/h8300/h8300.md (a peephole2): New.
15471
15472 2003-02-21  Jan Hubicka  <jh@suse.cz>
15473
15474         * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
15475         (commit_edge_insertions): Call find_many_sub_basic_blocks
15476
15477         * reg-stack.c (convert_regs): Cleax aux for blocks.
15478
15479 2003-02-21  Jan Hubicka  <jh@suse.cz>
15480
15481         * toplev.c (parse_options_and_default_flags): Undo accidental commit.
15482
15483 2003-02-21  Glen Nakamura  <glen@imodulo.com>
15484
15485         PR optimization/8613
15486         * builtins.c (expand_builtin): Emit postincrements before expanding
15487         builtin functions.
15488
15489 2003-02-21  Ben Elliston  <bje@redhat.com>
15490
15491         PR other/5634
15492         * doc/install.texi (Configuration): Explain using $HOME instead of
15493         the ~ metacharacter when referring to home directories.
15494
15495 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
15496
15497         * configure.in (TARGET_SYSTEM_ROOT): Set default to
15498         ${exec_prefix}/${target_alias}/sys-root.  Match explicit
15499         '${exec_prefix}' (in addition to the expansion thereof) as
15500         relocatable.
15501         * configure: Rebuilt.
15502
15503 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
15504
15505         * config/h8300/h8300.md (addhi3_incdec): Change the name to
15506         *addhi3_incdec.
15507         (addsi3_incdec): Change the name to *addsi3_incdec.
15508
15509 2003-02-20  Roger Sayle  <roger@eyesopen.com>
15510
15511         * explow.c (force_reg): Avoid useless REG_EQUAL notes.
15512
15513 2003-02-20  Toon Moene  <toon@moene.indiv.nluug.nl>
15514
15515         PR fortran/9038
15516         * c-opts.c (sanitize_cpp_opts): Add Fortran front end
15517         options to be ignored.
15518         (c_common_decode_option): Ignore them when preprocessing.
15519
15520 2003-02-20  Jan Hubicka  <jh@suse.cz>
15521
15522         * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
15523         global variables.
15524         (lang_independent_options):  Add -fsched2-use-superblocks
15525         -fsced2-use-traces.
15526         (rest_of_compilation): Deal with it.
15527         * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks):  Declare.
15528         * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
15529         Declare.
15530         * rtl.h (reg_to_stack):  Update prototype.
15531         * reg-stack.c (reg_to_stack): Return when something has changed;
15532         update liveness when executing after superblock scheduling.
15533
15534         * combine.c (simplify_shift_const):  Simplify few special cases
15535         into constants.
15536
15537 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
15538
15539         * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
15540         (add.,subf.,neg.): Change attribute to fast_compare.
15541         All DFA descriptions updated.
15542
15543 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
15544
15545         Change base class access representation.
15546         * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
15547         TREE_VIA_PRIVATE): Remove.
15548         (BINFO_BASEACCESSES): New binfo elt.
15549         (BINFO_BASEACCESS): New accessor.
15550         (BINFO_ELTS): Increase.
15551         (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
15552         (access_public_node, access_protected_node,
15553         access_private_node): New global nodes.
15554         * tree.c (build_common_tree_nodes_2): Initialize access nodes.
15555         * dbxout.c (dbxout_type): Adjust.
15556         * dwarf2out.c (gen_inheritance_die): Add access parameter.
15557         (gen_member_die): Adjust.
15558         * dwarfout.c (output_inheritance_die): ARG is array of two trees.
15559         (output_type): Adjust.
15560         * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
15561
15562         Change base class access representation. Share virtual base
15563         binfos.
15564         * cp/call.c (build_special_member_call): Remove binfo_for_vbase
15565         call.
15566         * cp/class.c (build_base_path): Likewise.
15567         (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
15568         (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
15569         (make_new_vtable): Adjust.
15570         (force_canonical_binfo_r): Delete.
15571         (force_canonical_binfo): Delete.
15572         (mark_primary_virtual_base): Delete.
15573         (dfs_unshared_virtual_bases): Delete.
15574         (mark_primary_bases): Adjust.
15575         (maybe_warn_about_overly_private_class): Adjust.
15576         (dfs_base_derived_from): Delete.
15577         (base_derived_from): Follow the inheritance chain.
15578         (struct find_final_overrider_data): Add vpath member.
15579         (dfs_find_final_overrider): Adjust.
15580         (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
15581         (find_final_overrider): Adjust.
15582         (update_vtable_entry_for_fn): Adjust.
15583         (modify_all_vtables): Adjust.
15584         (walk_subobject_offsets): Adjust.
15585         (layout_nonempty_base_or_field): Adjust.
15586         (layout_empty_base): Remove last parameter. Adjust.
15587         (build_base_field): Adjust.
15588         (build_base_fields): Adjust.
15589         (propagate_binfo_offsets): Remove last parameter. Adjust.
15590         (dfs_set_offset_for_unshared_vbases): Delete.
15591         (layout_virtual_bases): Adjust.
15592         (finish_struct_1): Adjust.
15593         (init_class_processing): Don't init access nodes.
15594         (dfs_get_primary_binfo): Delete.
15595         (get_primary_binfo): Adjust.
15596         (dump_class_hierarchy_r): Remove most derived arg, add IGO
15597         parameter. Adjust.
15598         (dump_class_hierarchy): Adjust.
15599         (finish_vtbls): Adjust.
15600         (get_original_base): Delete.
15601         (build_vtt_inits): Adjust.
15602         (dfs_build_secondary_vptr_vtt_inits): Adjust.
15603         (dfs_ctor_vtable_bases_queue_p): Adjust.
15604         (build_ctor_vtbl_group): Adjust.
15605         (dfs_accumulate_vtbl_inits): Adjust.
15606         (build_vtbl_initializer): Adjust.
15607         (build_vbase_offset_vtbl_entries): Adjust.
15608         (add_vcall_offset_vtbl_entries_1): Adjust.
15609         * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
15610         (access_*_node): Remove.
15611         (CANONICAL_BINFO): Delete.
15612         (BINFO_UNSHARED_MARKED): Remove.
15613         (BINFO_MARKED): Set LANG_FLAG_0 directly.
15614         (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
15615         (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
15616         (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
15617         Delete.
15618         (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
15619         (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
15620         (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
15621         Delete.
15622         (BINFO_DEPENDENT_BASE_P): New.
15623         (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
15624         index.
15625         (markedp, unmarkedp): Adjust.
15626         (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
15627         dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
15628         find_vbase_instance, binfo_for_vbase): Delete.
15629         (copied_binfo, original_binfo): Declare.
15630         (finish_base_specifier): Add virtual_p arg.
15631         (unshare_base_binfos): Delete.
15632         (copy_base_binfos): Declare.
15633         (reverse_path): Delete.
15634         * cp/decl.c (xref_basetypes): Access and virtuality passed
15635         differently. Don't copy direct base binfos here. Call
15636         copy_base_binfos.
15637         * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
15638         (initialize_vtbl_ptrs): Adjust.
15639         (expand_member_init): Adjust.
15640         * cp/parser.c (cp_parser_base_specifier): Adjust.
15641         * cp/pt.c (instantiate_class_template): Adjust.
15642         (get_template_base_recursive): Adjust.
15643         * cp/rtti.c (get_pseudo_ti_init): Adjust.
15644         (get_pseudo_ti_desc): Adjust.
15645         * cp/tree.c (unshare_base_binfos): Rename to ...
15646         (copy_base_binfos): ... here, reimplement.
15647         (make_binfo): Set BINFO_DEPENDENT_BASE_P.
15648         (reverse_path): Remove.
15649         * cp/typeck.c (get_delta_difference): Adjust error messages.
15650         * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
15651         * cp/search.c (lookup_base_r): Adjust.
15652         (dynamic_cast_base_recurse): Adjust.
15653         (canonical_binfo): Remove.
15654         (dfs_canonical_queue): Remove.
15655         (dfs_assert_unmarked_p): Remove.
15656         (assert_canonical_unmarked): Remove.
15657         (shared_marked_p, shared_unmarked_p): Remove.
15658         (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
15659         (dfs_access_in_type): Adjust.
15660         (access_in_type): Adjust.
15661         (dfs_accessible_queue_p): Adjust.
15662         (dfs_accessible_p): Adjust.
15663         (is_subobject_of_p_1, is_subobject_of_p): Remove.
15664         (struct lookup_field_info): Remove from_dep_base_p field.
15665         (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
15666         (lookup_field_r): Remove dependent base code.
15667         (lookup_member): Likewise.
15668         (dfs_walk, dfs_walk_real): Add access arg to queue fn.
15669         (dfs_unmarked_real_bases_queue_p): Remove.
15670         (dfs_marked_real_bases_queue_p): Remove.
15671         (dfs_skip_vbases): Remove.
15672         (dfs_get_pure_virtuals): Adjust.
15673         (markedp, unmarkedp): Adjust.
15674         (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
15675         (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
15676         (dfs_unmark): Adjust.
15677         (dfs_get_vbase_types):Remove.
15678         (dfs_build_inheritance_graph_order): Remove.
15679         (get_vbase_types): Remove
15680         (dfs_find_vbase_instance): Remove.
15681         (find_vbase_instance): Remove.
15682         (dfs_debug_unmarkedp): Adjust.
15683         (dependent_base_p): Remove.
15684         (dfs_push_type_decls): Adjust.
15685         (dfs_push_decls): Adjust.
15686         (dfs_no_overlap_yet): Adjust.
15687         (copied_binfo): New function.
15688         (original_binfo): New function.
15689         (binfo_for_vbase): Remove.
15690
15691         Change base class access representation.
15692         * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
15693         (add_interface_do): Likewise.
15694
15695 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
15696
15697         * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
15698         * config/rs6000/power4.md (power4-store,power4-vecstore): New
15699         insn reservations.
15700         (power4-fpstore): Compact.
15701
15702 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
15703
15704         * config/h8300/h8300.md (*iorsi3_w): New.
15705
15706 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
15707
15708         * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
15709         * rtl.c (reg_note_name): Likewise.
15710         * rtl.h (enum reg_note): Likewise.
15711         * doc/invoke.texi: Likewise.
15712         * doc/rtl.texi: Likewise.
15713
15714 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
15715
15716         * bb-reorder.c (find_traces_1_round): Fix comment typo.
15717
15718 2003-02-19  Roger Sayle  <roger@eyesopen.com>
15719
15720         * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
15721         addition in the presence of signaling NaNs.
15722
15723 2003-02-19  Krister Walfridsson  <cato@df.lth.se>
15724
15725         * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
15726
15727 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
15728
15729         * config/h8300/h8300.c (output_logical_op): Optimize or.l when
15730         ORing with 0xffff??00 with the highest bit of the ?? part set.
15731         (compute_logical_op_length): Update.
15732         (compute_logical_op_cc): Likewise.
15733
15734 2003-02-19  Josef Zlomek  <zlomekj@suse.cz>
15735
15736         * bb-reorder.c (find_traces_1_round): Fixed condition for small
15737         destination block with multiple predecessors.
15738         (connect_traces): Check whether the block is a start of trace.
15739
15740 2003-02-19  Jan Hubicka  <jh@suse.cz>
15741
15742         * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
15743         * function.c (assign_params): Likewise.
15744         * arm-protos.h (arm_init_cumulative_args): Update prototype.
15745         * arm.c (arm_init_cumulative_args): Update function.
15746         * arm.h (INIT_CUMULATIVE_ARGS): Update.
15747         * avr-protos.h (init_cumulative_args): Update prototype.
15748         * avr.c (init_cumulative_args): Update function.
15749         * avr.h (INIT_CUMULATIVE_ARGS): Update.
15750         * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
15751         * d30v.c (d30v_init_cumulative_args): Update function.
15752         * d30v.h (INIT_CUMULATIVE_ARGS): Update.
15753         * frv-protos.h (frv_init_cumulative_args): Update prototype.
15754         * frv.c (frv_init_cumulative_args): Update function.
15755         * frv.h (INIT_CUMULATIVE_ARGS): Update.
15756         * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
15757         * pa.h (INIT_CUMULATIVE_ARGS): Update.
15758         * sparc-protos.h (init_cumulative_args): Update prototype.
15759         * sparc.c (init_cumulative_args): Update function.
15760         * sparc.h (INIT_CUMULATIVE_ARGS): Update.
15761         * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
15762
15763 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
15764
15765         * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
15766         (*ashiftsi_sextqi_7): Likewise.
15767
15768 2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15769
15770         * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
15771         ISO C99 and C++.
15772
15773         * fixinc/inclhack.def (irix___restrict): Don't change __restrict
15774         for C++ on IRIX 6.5.1[89].
15775         * fixinc/tests/base/internal/sgimacros.h: New file.
15776
15777         * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
15778         * fixinc/tests/base/internal/wchar_core.h: New file.
15779
15780         * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
15781         socklen_t definition.
15782         * fixinc/fixincl.x: Regenerate.
15783         * fixinc/tests/base/sys/socket.h: New file.
15784         Fixes PR libgcj/9652.
15785
15786 2003-02-19  Jan Hubicka  <jh@suse.cz>
15787
15788         * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
15789
15790 2003-02-19  David Edelsohn  <edelsohn@gnu.org>
15791
15792         * config/rs6000/rs6000.c (rs6000_override_options): Initialize
15793         align_jumps_max_skip and align_loops_max_skip.
15794
15795 2003-02-19  Thierry Moreau  <thierry.moreau@connotech.com>
15796
15797         * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
15798         test size if named section.
15799
15800 2003-02-19  Daniel Jacobowitz  <drow@mvista.com>
15801
15802         * expr.c (expand_expr): Use gen_int_mode for the argument
15803         to gen_rtx_MULT.
15804
15805 2003-02-19  Jan Hubicka  <jh@suse.cz>
15806
15807         * i386.md (cosxf2):  Fix conditional.
15808
15809 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
15810
15811         * config/h8300/h8300.md (extendqisi2): Change to an expander.
15812         (*extendqisi2_h8300): New.
15813         (*extendqisi2_h8300hs): Likewise.
15814
15815 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
15816
15817         * config/h8300/h8300-protos.h: Update the prototype for
15818         split_adds_subs.  Remove the prototypes for
15819         const_int_le_2_operand and const_int_le_6_operand.
15820         * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
15821         (const_int_le_2_operand): Remove.
15822         (const_int_le_6_operand): Likewise.
15823         * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
15824         for const_int_le_2_operand and const_int_le_6_operand.
15825         * config/h8300/h8300.md: Update all uses of split_adds_subs.
15826         (a peephole2): New.
15827
15828 2003-02-18  Jan Hubicka  <jh@suse.cz>
15829
15830         * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
15831         (cgraph_expand_function): Rewrite.
15832
15833 2003-02-18  Matt Austern <austern@apple.com>
15834
15835         * toplev.c, langhooks.c, langhooks-def.h: Move
15836         write_global_declarations from toplev.c to langhooks.c.
15837
15838 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
15839
15840         * config/h8300/h8300.c (general_operand_src): Always check
15841         MODE.
15842         (general_operand_dst): Likewise.
15843
15844 2003-02-18  Roger Sayle  <roger@eyesopen.com>
15845
15846         * convert.c (convert_to_real): Also optimize (float)log(x) into
15847         logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
15848
15849 2003-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
15850
15851         * config/sh/sh.c (unspec_caller_rtx_p): New.
15852         (sh_cannot_copy_insn_p): New.
15853         (TARGET_CANNOT_COPY_INSN_P): New.
15854
15855 2003-02-18  Richard Henderson  <rth@redhat.com>
15856
15857         * c-common.c (handle_used_attribute): Accept static data too.
15858
15859 2003-02-18  Nick Clifton  <nickc@redhat.com>
15860             Aldy Hernandez  <aldyh@redhat.com>
15861
15862         * testsuite/gcc.dg/20030218-1.c: New.
15863
15864         * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
15865
15866         * target-def.h (TARGET_INITIALIZER): Add
15867         TARGET_VECTOR_TYPES_COMPATIBLE.
15868         (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
15869
15870         * target.h (struct gcc_target): Add field vector_types_compatible.
15871
15872         * c-typeck.c (comptypes): Take into account
15873         TARGET_VECTOR_TYPES_COMPATIBLE.
15874         (convert_for_assignment): Same.
15875
15876         * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
15877         (rs6000_spe_vector_types_compatible): New.
15878         (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
15879
15880 2003-02-19  Andreas Schwab  <schwab@suse.de>
15881
15882         * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
15883         * toplev.c: Include langhooks-def.h.
15884
15885 2003-02-18  Chris Demetriou  <cgd@broadcom.com>
15886
15887         * config/mips/mips.h (enum processor_type): Sort entries
15888         alphabetically.
15889         * config/mips/mips.md (define_attr cpu): Sync with processor_type
15890         enum values, including adding entries that were missing.
15891
15892 2003-02-18  J"orn Rennecke <joern.rennecke@superh.com>
15893
15894         * sh.c (calc_live_regs): Also check GET_CODE when checking if
15895         initial value for PR_REG is still the PR_REG register.
15896
15897 2003-02-18  Jim Wilson  <wilson@redhat.com>
15898
15899         * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
15900         instruction in output template.
15901         (bsp_value): Change output template from string to C code, add %,
15902         before actual instruction.
15903         (flushrs): Mark as not predicable.
15904
15905 2003-02-18  Krister Walfridsson  <cato@df.lth.se>
15906
15907         * inclhack.def (netbsd_bogus_semicolon): New fix.
15908         * fixincl.x: Rebuilt.
15909         * tests/base/ctype.h: Update.
15910
15911 2003-02-18  Roger Sayle  <roger@eyesopen.com>
15912
15913         * fold-const.c (negate_expr_p): New function to determine whether
15914         an expression can be negated cheaply.
15915         (fold) [MINUS_EXPR]: Use it to determine whether to transform
15916         -A - B into -B - A for floating point types.
15917
15918 2003-02-18  Roger Sayle  <roger@eyesopen.com>
15919
15920         * sbitmap.c (sbitmap_resize): New function.
15921         * sbitmap.h (sbitmap_resize): Prototype here.
15922         * recog.c (split_all_insns): Use sbitmap_resize.
15923
15924 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
15925
15926         * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
15927         insn length.
15928         (extendqisi2): Likewise.
15929         (*extendhisi2_h8300): Likewise.
15930
15931 2003-02-18  Matt Austern <austern@apple.com>
15932
15933         * langhooks.h, langhooks-def.h: introduce new langhook,
15934         final_write_globals, with write_global_declarations as default.
15935         * toplev.c: Move invocation of wrapup_global_declarations from
15936         compile_file to new function, write_global_declarations.  Change
15937         compile_file to use final_write_globals hook.  Change
15938         wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
15939         conditional.
15940
15941 2003-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
15942
15943         * pa.md: Correct and enhance comment.
15944
15945 2003-02-18  Geoffrey Keating  <geoffk@apple.com>
15946
15947         * gcc.c (validate_switches): Don't scan past closing '}'.
15948
15949 2003-02-18  Ben Elliston  <bje@redhat.com>
15950
15951         PR c++/1607
15952         * doc/extend.texi (Function Attributes): Document the effect of
15953         the C++ "this" parameter on the counting of arguments for the
15954         "format" and "format_arg" attributes.
15955
15956 2003-02-17  Aldy Hernandez  <aldyh@redhat.com>
15957
15958         * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
15959         (__ev_stdw): Same.
15960         (__ev_stdh): Same.
15961
15962 2003-02-17  Jan Hubicka  <jh@suse.cz>
15963
15964         * recog.c (split_all_insns):  Fix memory overflow.
15965
15966 2003-02-17  Kazu Hirata  <kazu@cs.umass.edu>
15967
15968         * config/h8300/h8300.md (cmpqi): Remove mode from compare.
15969         (cmphi): Likewise.
15970         (*cmphi_h8300): Likewise.
15971         (*cmphi_h8300hs): Likewise.
15972         (cmpsi): Likewise.
15973         (7 peephole2): Likewise.
15974
15975 2003-02-16  Jan Hubicka  <jh@suse.cz>
15976
15977         * c-typeck.c (build_c_cast):  Fold constant variables into
15978         initial values.
15979
15980 2003-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15981
15982         * doc/install.texi (Specific): Fix link for m68k-att-sysv.
15983         (Binaries): Ditto for Sinix/Reliant Unix.
15984
15985 2003-02-16 Richard Earnshaw  <rearnsha@arm.com>
15986
15987         * arm.c (arm_reload_in_hi): Ensure that the scratch register does
15988         not overlap the final result register.
15989
15990 2003-02-16 Arend Bayer <arend.bayer@web.de>
15991            Richard Henderson  <rth@redhat.com>
15992
15993         PR c/8068
15994         * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
15995         rearrange mult arguments for less recursion.
15996         (extract_muldiv): New.  Prevent runaway recursion.
15997
15998 2003-02-16  Danny Smith  <dannysmith@users.sourceforge.net>
15999
16000         * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
16001         MASK_ALIGN_DOUBLE.
16002
16003 2003-02-15  Roger Sayle  <roger@eyesopen.com>
16004
16005         * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
16006         to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
16007         (ext_80387_constants_table): Global table of 80387 special constants
16008         guarded by ext_80387_constants_init flag when not initialized.
16009         (init_ext_80387_constants): New function to initialize this table.
16010         (standard_80387_constant_p): Extend to recognize extra 80387
16011         constants, in XFmode, on processors where this is a win.
16012         (standard_80387_constant_opcode): New function to return the
16013         opcode associated with standard_80387_constant_p.
16014         (standard_80387_constant_rtx): New function to return the XFmode
16015         CONST_DOUBLE associated with standard_80387_constant_p.
16016         (ix86_rtx_costs): Give the new constants the same cost as 1.0.
16017
16018         * config/i386/i386-protos.h (standard_80387_constant_opcode):
16019         Prototype here.
16020         (standard_80387_constant_rtx): Likewise.
16021
16022         * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
16023         *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
16024         *movtf_integer): Simplify using new standard_80387_constant_opcode.
16025
16026 2003-02-15  Geoffrey Keating  <geoffk@apple.com>
16027
16028         * doc/invoke.texi (Optimize Options): Correct @option syntax.
16029
16030 2003-02-15  Richard Henderson  <rth@redhat.com>
16031
16032         * Makefile.in (cfglayout.o): Depend on TARGET_H.
16033         * cfglayout.c: Include target.h.
16034         (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
16035         * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
16036         * target.h (struct gcc_target): Add cannot_copy_insn_p.
16037
16038         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
16039         (TARGET_CANNOT_COPY_INSN_P): New.
16040         (override_options): Revert 2003-02-08 hack.
16041
16042 2003-02-15  Richard Henderson  <rth@redhat.com>
16043
16044         * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
16045         (bypass_conditional_jumps): Accept computed_jump_p insns as well.
16046
16047 2003-02-15  David Edelsohn  <edelsohn@gnu.org>
16048
16049         * config/rs6000/rs6000.h (processor_type): Add PPC440.
16050         * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
16051         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
16052         TARGET_SCHED_VARIABLE_ISSUE): Define.
16053         (rs6000_use_dfa_pipeline_interface): New function.
16054         (rs6000_multipass_dfa_lookahead): New Function.
16055         (rs6000_variable_issue): New function.
16056         (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
16057         (rs6000_issue_rate): Add PPC440.
16058         * config/rs6000/rs6000.md (unspec list): Correct typo.
16059         (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
16060         store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
16061         cmp, delayed_cr, mfcr, mtcr.
16062         (automata_option): Set "ndfa".
16063         (extendMMNN2): Update attributes.
16064         (movcc_internal1): Discourage move to non-cr0.  Update
16065         attributes.
16066         (movMM_update): Update attributes.
16067         (cmpMM_internal): Update attributes.
16068         (sCC CR materialization): Update attributes.
16069         (branch patterns): Do not discourage non-cr0.
16070         (cr logical patterns): Prefer destructive register allocation.
16071         Update attributes.
16072         (movesi_from_cr): Update attribute.
16073         (mtcrf_operation): Update attribute.
16074         (mtcrfsi): Update attribute.
16075         * config/rs6000/40x.md: New file.
16076         * config/rs6000/603.md: New file.
16077         * config/rs6000/6xx.md: New file.
16078         * config/rs6000/7450.md: New file.
16079         * config/rs6000/7xx.md: New file.
16080         * config/rs6000/mpc.md: New file.
16081         * config/rs6000/power4.md: New file.
16082         * config/rs6000/rios1.md: New file.
16083         * config/rs6000/rios2.md: New file.
16084         * config/rs6000/rs64.md: New file.
16085         [Some DFA descriptions based on work by Michael Hayes]
16086
16087 2003-02-15  Richard Henderson  <rth@redhat.com>
16088
16089         * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
16090         successors with multiple predecessors.
16091         (connect_traces): Try harder to copy traces of length 1.
16092
16093         * function.h (struct function): Add computed_goto_common_label,
16094         computed_goto_common_reg.
16095         * function.c (free_after_compilation): Zap them.
16096         * stmt.c (expand_computed_goto): Use them to produce one
16097         indirect branch per function.
16098
16099 2003-02-15  Richard Henderson  <rth@redhat.com>
16100
16101         * cfgcleanup.c: Include params.h.
16102         (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
16103         too many outgoing edges from a block.
16104         * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
16105         * params.def (max-crossjump-edges): New.
16106         * doc/invoke.texi: Document it.
16107
16108 2003-02-15  Richard Henderson  <rth@redhat.com>
16109
16110         * recog.c (split_all_insns): Include new blocks in life update;
16111         do a global life update.
16112
16113 2003-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
16114
16115         * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
16116         Update copyright.
16117         * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
16118         -mno-cygwin case.
16119
16120 2003-02-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
16121
16122         PR optimization/7702
16123         * reload1.c (reload_cse_simplify_set): Honor
16124         CANNOT_CHANGE_MODE_CLASS.
16125
16126 2003-02-14  Alexandre Oliva  <aoliva@redhat.com>
16127
16128         * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
16129         function.
16130         * config/mn10300/mn10300-protos.h: Declare it.
16131         * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
16132         attribute cc of instructions that may use clr.
16133
16134 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
16135
16136         * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
16137         (x - (x & y)) is found.
16138
16139 2003-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16140
16141         * configure.in: Fix typo.
16142         * configure: Regenerate.
16143
16144 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
16145
16146         * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
16147
16148 2003-02-13  Adam Nemet  <anemet@lnxw.com>
16149
16150         PR opt/2391
16151         * combine.c: Fix spelling in comment.
16152         (cached_nonzero_bits): New function.
16153         (cached_num_sign_bit_copies): New function.
16154         (nonzero_bits_with_known): New macro.
16155         (num_sign_bit_copies_with_known): New macro.
16156         (nonzero_bits1): Rename from nonzero_bits.  Add three new
16157         arguments.  Change calls from nonzero_bits to
16158         nonzero_bits_with_known.
16159         (num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
16160         three new arguments.  Change calls from num_sign_bit_copies to
16161         num_sign_bit_copies_with_known.
16162         (nonzero_bits): New macro.
16163         (num_sign_bit_copies): New macro.
16164         (update_table_tick): Don't traverse identical subexpression more
16165         than once.
16166         (get_last_value_validate): Likewise.
16167
16168 2003-02-13  Zack Weinberg  <zack@codesourcery.com>
16169
16170         * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
16171         * function.h (struct emit_status): Length of regno_pointer_align
16172         and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
16173         not regno_pointer_align_length (i.e. length actually used, not
16174         length as allocated)
16175
16176         * config/i386/i386.c (struct stack_local_entry): New.
16177         (struct machine_function): Replace huge array with alist.
16178         (assign_386_stack_local): Change to match.
16179
16180 2003-02-13  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
16181
16182         * inclhack.def (hpux_long_double): Tighten select and add bypass
16183         regexp.
16184         * fixincl.x: Rebuilt.
16185
16186 2003-02-13  Josef Zlomek  <zlomekj@suse.cz>
16187
16188         * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
16189         edge and block ends with a jump insn it must be simple jump.
16190
16191 2003-02-13  Daniel Jacobowitz  <drow@mvista.com>
16192
16193         * Makefile.in (PREPROCESSOR_DEFINES): Add
16194         @TARGET_SYSTEM_ROOT_DEFINE@.
16195         * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
16196         is specified or if building a cross compiler.
16197         (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
16198         if the sysroot is under $exec_prefix.
16199         * configure: Regenerated.
16200         * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
16201         defined.
16202         (struct default_include): Add add_sysroot field.
16203         (cpp_SYSROOT): Declare.
16204         * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
16205         field.
16206         (cpp_SYSROOT): New variable.
16207         * cppinit.c (cpp_create_reader): Initialize
16208         CPP_OPTION (pfile, sysroot).
16209         (init_standard_includes): Handle add_sysroot.  Do not
16210         add unrelocated copies of relocated directories.
16211         (COMMAND_LINE_OPTIONS): Add -isysroot.
16212         (cpp_handle_option): Handle -isysroot.
16213         * cpplib.h (struct cpp_options): Add sysroot member.
16214         * gcc.c (The Specs Language): Update description of %I.
16215         (target_system_root_changed): New variable.
16216         (process_command): Conditionalize make_relative_prefix call
16217         on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE.  Set
16218         target_system_root_changed.
16219         (do_spec_1): Add -isysroot to %I.
16220         * doc/invoke.texi (Spec Files): Update description of %I.
16221         * doc/install.texi (--with-sysroot): Update comment about
16222         relocation.
16223
16224 2003-02-13  Kazu Hirata  <kazu@cs.umass.edu>
16225
16226         * config/h8300/h8300.md (a peephole2): New.
16227
16228 2003-02-13  Robert Lipe <robertlipe@usa.net>
16229             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16230
16231         * doc/install.texi (Specific): Update three SCO-related URLs.
16232
16233 2003-02-13  Andreas Schwab  <schwab@suse.de>
16234
16235         * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
16236         Parenthesize properly.
16237         (NPREDECESORS): Parenthesize properly.
16238
16239 2003-02-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
16240
16241         * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
16242
16243 2003-02-12  Roger Sayle  <roger@eyesopen.com>
16244
16245         * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
16246         (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
16247
16248         * reg-stack.c (subst_stack_regs_pat): Add support for binary
16249         UNSPEC instructions (e.g. "fpatan").
16250
16251 2003-02-12  Mike Stump  <mrs@apple.com>
16252
16253         * varray.c (element_size): Remove.
16254         (uses_ggc): Remove.
16255         (element): Add.
16256         (varray_init): Use new interface.
16257         (varray_grow): Use new interface.
16258         (varray_clear): Use new interface.
16259
16260 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
16261
16262         * config/rs6000/spe.h: Add casts to the arguments of the following
16263         macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
16264         evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
16265         evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
16266         __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
16267         __ev_get_u16, __ev_get_s16.
16268
16269 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
16270
16271         * config/h8300/h8300.md (a peephole2): New.
16272
16273 2003-02-12  Jan Hubicka  <jh@suse.cz>
16274
16275         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
16276         (OBJS): Add callgraph.o
16277         (callgraph.o): New.
16278         * c-decl.c (expand_body_1): Break out from ...
16279         (expand_body): This one;  change calling convention
16280         (finish_function): Move some of expand_body logic here.
16281         (c_expand_deferred_function): Update call of expand_body
16282         (c_expand_stmt): Use c_expand_body_1.
16283         * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
16284         * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
16285         * c-tree.h (c_expand_body): Declare.
16286         * callgraph.c: New file.
16287         * flags.h (flag_unit_at_a_time): Declare.
16288         * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
16289         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
16290         LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
16291         * langhooks.h (struct lang_hooks_for_callgraph): New.
16292         (struct lang_hooks): Add callgraph field.
16293         * toplev.c (flag_unit_at_a_time): New.
16294         (lang_independent_options): Add flag_unit_at_a_time.
16295         (process_options): Disable unit-at-a-time mode for frontends not
16296         supporting callgraph.
16297         * tree-inline.c (typedef struct inline_data): Add "decl"
16298         (expand_call_inline): Update callgraph.
16299         (optimize_inline_calls): Set id.decl.
16300         * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
16301         cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
16302         cgraph_calls_p): Declare.
16303         * invoke.texi (-funit-at-a-time): Document
16304
16305 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
16306
16307         * config/rs6000/spe.h: Fix misc formatting.
16308         (__ev_create_ufix32_fs): Cast ev argument.
16309         (__ev_create_sfix32_fs): Same.
16310         (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
16311         (__ev_get_ufix32_fs_internal): Same.
16312
16313 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
16314
16315         * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
16316         * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
16317
16318 2003-02-12  Zack Weinberg  <zack@codesourcery.com>
16319
16320         * cpplib.c (do_include_common): Move warnings for
16321         #include_next and #import out to callers.  Use early-return
16322         instead of nested ifs.  Don't do check_eol here.
16323         (parse_include): Do check_eol here with the rest of the
16324         parsing stuff.
16325         (do_include_next, do_import): Now handle warnings.
16326
16327 2003-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16328
16329         * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
16330
16331 2003-02-12  Jan Hubicka  <jh@suse.cz>
16332
16333         * predict.c (estimate_probability):  Fix roundoff error.
16334
16335 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
16336
16337         * config/h8300/h8300.md (a peephole2): Don't handle 65535.
16338         (two peephole2): New.
16339
16340 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
16341
16342         * config/h8300/h8300.md (several peephole2): Replace
16343         find_regno_note with peep2_reg_dead_p.
16344
16345 2003-02-11  Richard Henderson  <rth@redhat.com>
16346
16347         * gcse.c (lookup_set): Remove unused argument PAT.  Update
16348         both callers.
16349
16350 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
16351
16352         * diagnostic.c (real_abort): New.
16353         (diagnostic_report_diagnostic): Call real_abort on error.
16354         * diagnostic.h (diagnostic_abort_on_error): New.
16355         (struct diagnostic_context): Add abort_on_error field.
16356         * toplev.c (setup_core_dumping): New.
16357         (decode_d_option): Handle 'H' case.
16358         * doc/invoke.texi (Debugging Options): Document -dH.
16359
16360 2003-02-11  Nathanael Nerode  <neroden@gcc.gnu.org>
16361
16362         * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
16363         which refers to obsolete directories.
16364
16365 2003-02-11  Richard Henderson  <rth@redhat.com>
16366
16367         * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
16368
16369 2002-10-21  Jan Hubicka  <jh@suse.cz>
16370
16371         * i386.c (contains_128bit_aligned_vector_p): New function.
16372         (ix86_function_arg_boundary): Properly align vector modes.
16373
16374 2003-02-11  Bob Wilson  <bob.wilson@acm.org>
16375
16376         * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
16377         * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
16378         as a SET pattern.
16379
16380 2003-02-11  Roger Sayle  <roger@eyesopen.com>
16381
16382         * builtins.c:  Fix failure caused by commiting wrong patch.
16383
16384 2003-02-11  Dale Johannesen  <dalej@apple.com>
16385         * ra-build.c (compare_and_free_webs):  Relax checking.
16386         * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME):  Define.
16387         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):  Define.
16388
16389 2003-02-11  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
16390
16391         PR optimization/9651
16392         * rtlanal.c (may_trap_p): Handle FIX.
16393
16394 2003-02-11  Dave Jones <davej@codemonkey.org.uk>
16395
16396         * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
16397         * doc/invoke.texi: Extra alias.
16398
16399 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
16400
16401         * config/rs6000/host-darwin.c: Fix comment.
16402
16403 2003-02-11  David Edelsohn  <edelsohn@gnu.org>
16404
16405         * config/rs6000/rs6000.md (divmodsi4): Use register_operand
16406         predicate for mod result.
16407
16408 2003-02-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
16409
16410         * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
16411         hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
16412         * fixincl.x: Rebuilt.
16413         * tests/base/stdlib.h: Update.
16414         * tests/base/ctype.h: New file.
16415
16416 2003-02-11  Jan Hubicka  <jh@suse.cz>
16417
16418         * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
16419
16420 2003-02-11  Richard Henderson  <rth@redhat.com>
16421
16422         * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
16423         appropriated as globals.
16424         (ix86_expand_clrstr): Similarly.
16425         * config/i386/i386.md (cmpstrsi): Similarly.
16426
16427 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
16428
16429         * config/h8300/h8300.md (a peephole2): Add a case of 255.
16430
16431 2003-02-11  Roger Sayle  <roger@eyesopen.com>
16432
16433         * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
16434         (pow_optab, atan2_optab): Define corresponding macros.
16435         * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
16436         * genopinit.c (optabs): Implement pow_optab and atan2_optab
16437         using pow?f3 and atan2?f3 patterns.
16438         * builtins.c (expand_errno_check): New function to update errno
16439         if necessary, split out from expand_builtin_mathfn.
16440         (expand_builtin_mathfn): Use expand_errno_check.
16441         (expand_builtin_mathfn_2): New function to handle expanding binary
16442         math functions, reusing the code in expand_errno_check.
16443         (expand_builtin): Handle the pow and atan2 math built-ins,
16444         BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
16445         expand_builtin_mathfn_2.
16446
16447         * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
16448
16449 2003-02-11  Jan Hubicka  <jh@suse.cz>
16450
16451         * combine.c (combine_simplify_rtx): Fix folding of
16452         nested float_truncates.
16453
16454 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
16455
16456         * config/h8300/h8300.md (a peephole2): Fix a typo.
16457
16458 2003-02-11  Richard Earnshaw  <rearnsha@arm.com>
16459
16460         * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
16461         register number.
16462
16463 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
16464
16465         * config/h8300/h8300-protos.h: Add a prototype for
16466         gtuleu_operator.
16467         * config/h8300/h8300.c (gtuleu_operator): New.
16468         * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
16469         * config/h8300/h8300.md (a peephole2): New.
16470
16471 2003-02-11  Jan Hubicka  <jh@suse.cz>
16472
16473         * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
16474
16475 2003-02-11  Jan Hubicka  <jh@suse.cz>
16476
16477         * predict.c (choose_function_section): Choose sections correctly.
16478
16479 2003-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
16480
16481         * reload1.c (first_label_num): New.
16482         (reload): Index offsets_known_at and offsets_at using difference of
16483         label number and first label number.  Don't use offset pointers.
16484         (set_label_offsets, set_initial_label_offsets): Likewise.
16485
16486 2003-02-10  Roger Sayle  <roger@eyesopen.com>
16487
16488         * mips-tfile.c (init_file): Add missing initializers in the
16489         "#ifdef __alpha" case.
16490         (file_offset, max_file_offset): Declare as unsigned long.
16491         (write_varray): Cast to "unsigned long" in comparisons against
16492         either file_offset or max_file_offset.
16493         (write_object): Likewise.
16494         (read_seek): Likewise.
16495         (copy_object): Likewise. Declare "ifd" as int to match its use
16496         in add_ext_symbol, and avoid signed/unsigned conditional warning.
16497
16498 2003-02-10  Nick Clifton  <nickc@redhat.com>
16499             Aldy Hernandez  <aldyh@redhat.com>
16500
16501         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
16502         override options which have been specified on the command line.
16503
16504 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
16505
16506         * config/h8300/h8300.md (abssf2): New.
16507         (*abssf2_h8300): Likewise.
16508         (*abssf2_h8300hs): Likewise.
16509
16510 2003-02-10  Phil Edwards  <pme@gcc.gnu.org>
16511
16512         * tree.c (build_tree_list):  Fix parameter names in comment.
16513
16514 2003-02-10  Janis Johnson  <janis187@us.ibm.com>
16515
16516         * config/rs6000/ppc64-fp.c: New file.
16517         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
16518
16519 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
16520
16521         * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
16522         * bb-reorder.c (make_reorder_chain): Deleted.
16523         (make_reorder_chain_1): Deleted.
16524         (find_traces): New function.
16525         (rotate_loop): New function.
16526         (mark_bb_visited): New function.
16527         (find_traces_1_round): New function.
16528         (copy_bb): New function.
16529         (bb_to_key): New function.
16530         (better_edge_p): New function.
16531         (connect_traces): New function.
16532         (copy_bb_p): New function.
16533         (get_uncond_jump_length): New function.
16534         (reorder_basic_blocks): Use new functions (Software Trace Cache).
16535         * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
16536         boundaries.
16537
16538 2003-02-10  Aldy Hernandez  <aldyh@redhat.com>
16539
16540         * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
16541
16542 2003-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
16543
16544         * tree.h (struct tree_decl): Remove unused live_range_rtl field.
16545         (DECL_LIVE_RANGE_RTL): Remove.
16546
16547 2003-02-10  Nick Clifton  <nickc@redhat.com>
16548
16549         * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
16550         config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
16551         config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
16552         config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
16553         config/arm/freebsd.h, config/arm/linux-elf.h,
16554         config/arm/linux-gas.h, config/arm/netbsd-elf.h,
16555         config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
16556         config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
16557         config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
16558         config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
16559         config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
16560         config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
16561         and reformat as appropriate.
16562
16563 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
16564
16565         * config/h8300/clzsi2.c: Remove.
16566         * config/h8300/ctzsi2.c: Likewise.
16567         * config/h8300/paritysi2.c: Likewise.
16568         * config/h8300/popcountsi2.c: Likewise.
16569         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
16570         ctzsi2, paritysi2, and popcountsi2.
16571
16572 2003-02-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
16573             Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
16574
16575         PR c/7741
16576         * c-decl.c (duplicate_decls): Discard the initializer of the
16577         new decl when the types are conflicting.
16578
16579 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
16580
16581         * Makefile.in (sreal.o): Added.
16582         (predict.o): Depends on sreal.h instead of real.h.
16583         * sreal.c: New file.
16584         * sreal.h: New file.
16585         * predict.c: Use sreal.c instead of real.c.
16586
16587 2003-02-10  Nick Clifton  <nickc@redhat.com>
16588
16589         * Contributed support for the Cirrus EP9312 "Maverick"
16590         floating point co-processor.  Written by Aldy Hernandez
16591         <aldyh@redhat.com>.
16592         (config/arm/arm.c): Add Cirrus support.
16593         (config/arm/arm.h): Likewise.
16594         (config/arm/aout.h): Likewise.
16595         (config/arm/arm.md): Likewise.
16596         (config/arm/arm-protos.h): Likewise.
16597         (config.gcc): Likewise.
16598         (doc/invoke.texi): Describe new -mcpu value and new
16599         -mcirrus-fix-invalid-insns switch,
16600         (cirrus.md): New file.
16601
16602 2003-02-10  Jan Hubicka  <jh@suse.cz>
16603
16604         * combine.c (combine_simplify_rtx): Simplify using
16605         (float_truncate (float x)) is (float x)
16606         (float_extend (float_extend x)) is (float_extend x).
16607
16608 2003-02-10  Alan Modra  <amodra@bigpond.net.au>
16609
16610         * calls.c (try_to_integrate): Tidy stack_usage_map access.
16611         (emit_library_call_value_1): Likewise.  Formatting.
16612         (store_one_arg): Likewise.
16613
16614 2003-02-09  Nick Clifton  <nickc@redhat.com>
16615             Aldy Hernandez  <aldyh@redhat.com>
16616
16617         * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
16618         spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
16619         spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
16620         spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
16621         spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
16622         docs.  Add range test for immediate value.
16623
16624 2003-02-09  Aldy Hernandez  <aldyh@redhat.com>
16625
16626         Rename spe_evxor to xorv2si3.
16627         (xorv4hi3): New.
16628         (xorv1di3): New.
16629
16630 2003-02-10  Glen Nakamura  <glen@imodulo.com>
16631
16632         * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
16633         tag.
16634
16635 2003-02-10  Jan Hubicka  <jh@suse.cz>
16636
16637         * i386.c (vector_move_operand): New predicate.
16638         (ix86_expand_vector_move): Be happy about 0.
16639         * i386.h (PREDICATE_CODES): Add sse-move_operand.
16640         * i386.md (mov*_internal): Add 'C' alternative.
16641
16642 2003-02-09  Jan Hubicka  <jh@suse.cz>
16643
16644         * i386.md (floathi*): Deal with SSE.
16645
16646 2003-02-09  Jan Hubicka  <jh@suse.cz>
16647
16648         * simplify-rtx.c (simplify_unary_operation,
16649         simplify_binary_operation):  Deal with vector modes
16650         (simplify_ternary_operation):  Deal with no-op VEC_MERGE.
16651
16652 2003-02-09  Richard Sandiford  <rsandifo@redhat.com>
16653
16654         * toplev.c (rest_of_compilation): Recompute register usage after
16655         split_all_insns.
16656
16657 2003-02-09  Richard Henderson  <rth@redhat.com>
16658
16659         * libgcc-std.ver (__clztf2): New.
16660         (__ctztf2, __popcounttf2, __paritytf2): New.
16661         * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
16662         __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
16663         adjust code to match the different type sizes.
16664         * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
16665         __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
16666
16667         * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
16668         TImode; select word_mode and twice that.
16669         (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
16670         select the modes from float, double, and long double.
16671         (init_optabs): Remove duplicate initializations.
16672
16673 2003-02-09  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
16674
16675         * doc/install.texi: Squeeze and streamline section on
16676         testing and regression checking.
16677
16678 2003-02-09  Jan Hubicka  <jh@suse.cz>
16679
16680         * i386.md (ahi?v*3): Set third operand type to TImode.
16681         * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
16682
16683         * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
16684         integer mode.
16685
16686         * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
16687         Change code so they are arithmetic expressions now.
16688         * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
16689         simplify_ternary_operation): Deal with VEC_* expressions.
16690
16691         * i386.md (vmaskcmp, pinsrw, movd patterns):  Fix RTL representation.
16692
16693 2003-02-08  Jan Hubicka  <jh@suse.cz>
16694
16695         * cfgrtl.c (verify_flow_info):  Use control_flow_insn_p.
16696         * reload1.c (fixup_abnormal_edges):  Split basic blocks when EH edges
16697         possibly got duplicated.
16698
16699 2003-02-08  Richard Henderson  <rth@redhat.com>
16700
16701         * config/alpha/alpha.c (override_options): Turn off explicit
16702         relocs until post-peep2 code duplication resolved.
16703
16704 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
16705
16706         * optabs.c (expand_unop): Widen clz properly when clz is done
16707         via libcall.
16708
16709 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
16710
16711         * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
16712         * config/h8300/crti.asm: Likewise.
16713         * config/h8300/crtn.asm: Likewise.
16714         * config/h8300/ctzsi2.c: Likewise.
16715         * config/h8300/fixunssfsi.c: Likewise.
16716         * config/h8300/h8300-protos.h: Likewise.
16717         * config/h8300/h8300.c: Likewise.
16718         * config/h8300/h8300.h: Likewise.
16719         * config/h8300/h8300.md: Likewise.
16720         * config/h8300/paritysi2.c: Likewise.
16721         * config/h8300/popcountsi2.c: Likewise.
16722         * config/h8300/rtems.h: Likewise.
16723
16724 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
16725
16726         * doc/invoke.texi: Documentation for my previous commit.
16727         * doc/passes.texi: Ditto.
16728
16729 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
16730
16731         * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
16732         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
16733         Declare.
16734         (DLTHE_FLAG_UPDATE_FREQ): New.
16735         * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
16736         loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
16737         rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
16738         fix_bb_placement, fix_bb_placements, place_new_loop,
16739         scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
16740         New static functions.
16741         (fix_loop_placement, can_duplicate_loop_p,
16742         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
16743         New functions.
16744
16745         * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
16746         unswitch_loops): Declare.
16747         * loop-init.c: New file.
16748         * loop-unswitch.c: New file.
16749         * Makefile.in (loop-init.o, loop-unswitch.o): New.
16750         * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
16751         * toplev.c (DFI_loop2): New dump.
16752         (flag_unswitch_loops): New.
16753         (lang_independent_options): Add it.
16754         (rest_of_compilation): Call new loop optimizer.
16755         (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
16756
16757 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
16758
16759         * config/h8300/clzsi2.c: New.
16760         * config/h8300/ctzsi2.c: Likewise.
16761         * config/h8300/paritysi2.c: Likewise.
16762         * config/h8300/popcountsi2.c: Likewise.
16763         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
16764
16765 2003-02-07  David Edelsohn  <edelsohn@gnu.org>
16766
16767         * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
16768         * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
16769         (ctzsi2): New pattern.
16770         (ffssi2): Use clz instead of unspec.
16771         (clzdi2): Rename from cntlzd2.
16772         (ctzdi2): New pattern.
16773         (ffsdi2): Use clz instead of unspec.
16774
16775 2003-02-07  Loren James Rittle  <ljrittle@acm.org>
16776
16777         * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
16778         * config/ia64/freebsd.h (LINK_SPEC): Likewise.
16779         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
16780         * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
16781
16782 2003-02-07  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
16783
16784         * doc/trouble.texi: Document pitfalls of two-stage name lookup.
16785
16786 2003-02-07  Richard Henderson  <rth@redhat.com>
16787
16788         PR 9226
16789         * gcse.c (local_cprop_find_used_regs): New.
16790         (local_cprop_pass): Use it.
16791
16792 2003-02-07  Fred Fish  <fnf@intrinsity.com>
16793
16794         * mips-tfile.c (parse_def): Parenthesize assignments to fix
16795         precedence bugs.
16796
16797 2003-02-07  Segher Boessenkool  <segher@koffie.nl>
16798
16799         * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
16800
16801 2003-02-07  Roger Sayle  <roger@eyesopen.com>
16802
16803         * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
16804         (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
16805         (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
16806         * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
16807         builtin functions (and their __builtin_* variants).
16808         * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
16809         (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
16810         when not optimizing.
16811
16812         * doc/extend.texi: Document new pow and atan2 builtins, and
16813         their float and long double variants.  Realphabetize builtins.
16814
16815 2003-02-07  Jan Hubicka  <jh@suse.cz>
16816
16817         * i386.md (sse2_nandv2di3): Fix.
16818
16819 2003-03-07  Danny Smith  <dannysmith@users.sourceforge.net>
16820
16821         * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
16822         * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
16823         definition.
16824         * config/i386/i386.h (ix86_return_in_memory): Return aggregate
16825         types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
16826
16827 2003-02-07  Jan Hubicka  <jh@suse.cz>
16828
16829         * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
16830
16831 2003-02-07  Daniel Berlin  <dberlin@dberlin.org>
16832
16833         * cfg.c (dump_flow_info): Add back accidently deleted line.
16834
16835 2003-02-07  Andrey Petrov <petrov@netbsd.org>
16836
16837         * optabs.c (expand_float): Search wider integer modes first.
16838
16839 2003-02-07  Bob Wilson  <bob.wilson@acm.org>
16840
16841         * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
16842         based on preprocessor flag.
16843
16844 2003-02-07  Roger Sayle  <roger@eyesopen.com>
16845             Richard Henderson  <rth@redhat.com>
16846
16847         * gcse.c (implicit_sets): New.
16848         (compute_hash_table_work): Include them in hash table.
16849         (find_implicit_sets, fis_get_condition): New.
16850         (one_cprop_pass): Allocate and free implicit_sets; call
16851         find_implicit_sets before building hash table.
16852
16853 2003-02-07  Jason Thorpe  <thorpej@wasabisystems.com>
16854
16855         * config/t-netbsd (USER_H): Revert previous change.
16856
16857 2003-02-07  Gabor Greif  <ggreif@lucent.com>
16858
16859         * doc/c-tree.texi (Namespaces): Fix typo.
16860
16861 2003-02-07  Jan Hubicka  <jh@suse.cz>
16862
16863         * regrename.c (do_replace, find_oldest_value_reg,
16864         copyprop_hardreg_forward_1): Update register attributes.
16865
16866 2003-02-06  Vladimir Makarov  <vmakarov@redhat.com>
16867
16868         * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
16869         VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
16870         variables starting with underscore.
16871         (struct unit_usage): New structure.
16872         (unit_usages, cycle_alt_unit_usages): New global variables.
16873         (check_unit_distribution_in_reserv): Remove it.
16874         (store_alt_unit_usage): New function.
16875         (check_regexp_units_distribution): Rewrite it.
16876
16877 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
16878
16879         * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
16880         target_cpu_default.
16881         * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
16882         if not MASK_NO_SPACE_REGS.
16883         (output_call): Adjust return pointer, don't load new space register
16884         into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
16885         (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
16886         TARGET_NO_SPACE_REGS is true.
16887         * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
16888         conditions.
16889         (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
16890         (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
16891         true.  Use bve when TARGET_64BIT is true.
16892
16893 2003-02-06  Richard Henderson  <rth@redhat.com>
16894
16895         * combine.c (nonzero_bits): Fix double break.
16896
16897 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
16898             Richard Henderson <rth@redhat.com>
16899
16900         PR c/9530
16901         * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
16902         from functions that return a float to functions that don't.
16903
16904 2003-02-06  Jan Hubicka  <jh@suse.cz>
16905
16906         * i386.c (x86_inter_unit_moves): New variable.
16907         (ix86_secondary_memory_needed): Fix 64bit case, honor
16908         TARGET_INTER_UNIT_MOVES
16909         * i386.h (x86_inter_unit_moves): Declare.
16910         (TARGET_INTER_UNIT_MOVES): New macro.
16911         * i386.md (movsi_1): Cleanup constraints; disable
16912         when not doing inter-unit moves.
16913         (movsi_1_nointernunit): New.
16914         (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
16915         (movdi_1_rex64_nointerunit): New.
16916         (mivsf_1): disable when not doing inter-unit moves.
16917         (movsf_1_nointerunit): New.
16918
16919         * basic-block.h (inside_basic_block_p):  Declare.
16920         * cfgbuild.c (inside_basic_block_p): Make global.
16921         * haifa-sched.c (unlink_other_notes): Deal with NOT_INSN_BASIC_BLOCK.
16922         * scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
16923         update CFG.
16924         (fix_basic_block_boundaries, add_missing_bbs): New.
16925         (rank): Use profile.
16926         (scheudle_ebbs): Rely on CFG; update coments.
16927
16928 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
16929
16930         * Makefile.in (host_hook_obj): New.
16931         (OBJS): Add $(host_hook_obj).
16932         (host_default.o): New rule.
16933         * config.gcc (host_hook_obj): New, default to host-default.o.
16934         (powerpc-*-darwin*): Use host-darwin.o.
16935         (out_host_hook_obj): New.
16936         * configure: Regenerate.
16937         * configure.in: Print information about out_host_hook_obj, substitute
16938         into output files.
16939         * host-default.c: New file.
16940         * hosthooks.h: New file.
16941         * toplev.c (general_init): Call host_hooks.extra_signals.
16942         * config/rs6000/host-darwin.c: New file.
16943         * config/rs6000/x-darwin: New file.
16944         * doc/hostconfig.texi: Add documentation for new host hook.
16945         Rearrange existing documentation.
16946
16947 2003-02-05  Roger Sayle  <roger@eyesopen.com>
16948
16949         * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
16950         with *targetm.delegitimize_address.
16951         (rtl_for_decl_location): Likewise.
16952         * dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
16953         * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
16954
16955         * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
16956         * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
16957         prototype.
16958         * config/i386/i386.c (ix86_delegitimize_address): Renamed from
16959         i386_simplify_dwarf_addr.  Made static.  Prototyped.
16960         (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
16961         i386_simplify_dwarf_addr to ix86_delegitimize_address.
16962         (ix86_find_base_term): Likewise.
16963         (maybe_get_pool_constant): Likewise.
16964
16965         * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
16966         * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
16967         prototype.
16968         * config/s390/s390.c (s390_delegitimize_address): Renamed from
16969         s390_simplify_dwarf_addr.  Made static.  Prototyped.
16970         (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
16971
16972 2003-02-05  Richard Henderson  <rth@redhat.com>
16973
16974         PR c/8602
16975         * integrate.c (output_inline_function): Reset input_filename
16976         and lineno from the decl before rest_of_compilation.
16977
16978 2003-02-05  Richard Henderson  <rth@redhat.com>
16979
16980         * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
16981         (CTZ_DEFINED_VALUE_AT_ZERO): New.
16982         * doc/rtl.texi, doc/tm.texi: Document them.
16983
16984         * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
16985         of the value at zero properly.
16986         * fold-const.c (tree_expr_nonnegative_p): Likewise.
16987         * simplify-rtx.c (simplify_unary_operation): Likewise.
16988
16989         * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
16990         (CTZ_DEFINED_VALUE_AT_ZERO): New.
16991
16992         * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
16993         (TARGET_EXPAND_BUILTIN): Remove.
16994         (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
16995         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
16996         (enum arm_builtins): Remove.
16997         * config/arm/arm.md (UNSPEC_CLZ): Remove.
16998         (clzsi2): Rename from clz; use clz instead of unspec.
16999         (ctzsi2): New.
17000         * config/arm/arm-protos.h: Update.
17001
17002 2003-02-05  Jan Hubicka  <jh@suse.cz>
17003
17004         * i386-protos.h (x86_emit_floatuns):  Declare.
17005         * i386.c (x86_emit_floatuns): New global function.
17006         * i386.md (floatunssisf2, floatunsdisf2,
17007         floatunsdidf2):  New patterns.
17008
17009 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
17010
17011         * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
17012
17013 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
17014
17015         * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
17016           config/ia64/linux.h
17017
17018 2003-02-05  Roger Sayle  <roger@eyesopen.com>
17019
17020         * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
17021
17022 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
17023
17024         PR optimization/8555
17025         * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
17026         instead of aborting.
17027
17028 2003-02-04  Richard Henderson  <rth@redhat.com>
17029
17030         * config/i386/i386.md (UNSPEC_BSF): Remove.
17031         (ffssi2): Split into cmove and no_cmove insns and splitters;
17032         lose pentium float trick for now.
17033         (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
17034         (ctzsi2, clzsi2, bsr): New.
17035
17036 2003-02-04  Richard Henderson  <rth@redhat.com>
17037
17038         * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
17039         UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
17040         * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
17041         (ffsdi2): Use popcount instead of unspec.
17042         (popcountdi2): Rename from *popcnt.
17043         (ctzdi2, clzdi2, getf_exp_tf): New.
17044
17045 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
17046
17047         * genconfig.c (main): Generate CC0_P.
17048         * rtl.h (CC0_P): Remove.
17049
17050 2003-02-04  Richard Henderson  <rth@redhat.com>
17051
17052         * libgcc2.h, libgcc2.c (__ffsSI2): New.
17053         (__ffsDI2): Rename from __ffsdi2.
17054         * mklibgcc.in (lib2funcs): Add _ffssi2.
17055
17056 2003-02-04  Richard Henderson  <rth@redhat.com>
17057
17058         * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
17059         rounds with a "bit table" lookup.
17060
17061 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
17062
17063         * reload.c (find_reloads): Do not use the mode specified in the insn
17064         pattern as reload mode for address operands.  Do not generate optional
17065         reloads for operands where a mandatory reload was already pushed.
17066
17067 2003-02-04  Richard Henderson  <rth@redhat.com>
17068
17069         * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
17070         builtins instead of inline assembly.
17071
17072 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
17073
17074         PR c/9376
17075         * libgcc2.c (__subvdi3): Fix typo.
17076
17077 2003-02-04  Jan Hubicka  <jh@suse.cz>
17078
17079         * i386.md (movti_rex64):  Fix constraint.
17080
17081 2003-02-04  Jan Hubicka  <jh@suse.cz>
17082
17083         * i386.md (vector push splitters):  Fix typo in resolving conflict.
17084
17085 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
17086
17087         * config/i386/i386.c (x86_function_profiler): Fix typo in format.
17088
17089 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
17090
17091         * doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
17092         for recent libstdc++.  Remove formatting cruft.
17093
17094 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
17095
17096         * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
17097         attribute even if input file name is absolute, but one of the
17098         includes is relative.
17099
17100 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
17101
17102         * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
17103         doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
17104         * doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
17105
17106 2003-02-03  Richard Henderson  <rth@redhat.com>
17107
17108         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
17109         __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
17110         return type to "int".  Shuffle declarations and undef int trap.
17111         * libgcc2.h: Remove their declarations.
17112         * optabs.c (expand_unop): Force outmode to int for bitops.
17113
17114 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
17115
17116         * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
17117         coprocessor registers before floating-point registers.
17118         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
17119         to account for a previously removed register.
17120         (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
17121         Delete unused macros.
17122
17123 2003-02-03  Jan Hubicka  <jh@suse.cz>
17124
17125         * i386.c (ix86_expand_store_builtin):  Always force op1 to register.
17126         (mov*_internal): Fix predicates; require one of operands to not be
17127         memory.
17128         (SSE?MMX move expanders):  Fix predicates; force one of operands to
17129         register.
17130         (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
17131         (movups/movupd/movdqu patterns): Force one of operands to not be
17132         memory.
17133
17134 2003-02-03  Roger Sayle  <roger@eyesopen.com>
17135
17136         * hooks.c (hook_rtx_rtx_identity): Generic hook function that
17137         takes a single rtx and returns it unmodified.
17138         * hooks.h (hook_rtx_rtx_identity): Prototype here.
17139         * target.h (struct gcc_target): Add "delegitimize_address"
17140         field to target structure.
17141         * target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
17142         for delegitimize_address target using hook_rtx_rtx_identity.
17143         (TARGET_INITIALIZER): Initialize delegitimize_address field
17144         using TARGET_DELEGITIMIZE_ADDRESS macro.
17145         * simplify-rtx.c (avoid_constant_pool_reference): Handle float
17146         extensions of constant pool references.  Use delegitimize_address
17147         to undo the obfuscation of "-fpic".
17148         * Makefile.in (simplify-rtx.o): Add dependency on target.h.
17149
17150         * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
17151         i386_simplify_dwarf_addr.
17152         (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
17153         (maybe_get_pool_constant): Likewise.
17154
17155 2003-02-03  Jan Hubicka  <jh@suse.cz>
17156
17157         * i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
17158
17159 2003-02-03  Jan Hubicka  <jh@suse.cz>
17160
17161         * regclass.c (cannot_change_mode_set_regs): Correct argument order.
17162
17163 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17164
17165         * mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
17166         define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
17167
17168 2003-02-02  Andreas Schwab  <schwab@suse.de>
17169
17170         * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
17171
17172 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
17173
17174         * arm.md (sibcall_epilogue): Set the "conds" to "clob".
17175         (epilogue_insns): Likewise.
17176
17177 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
17178
17179         * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
17180
17181 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
17182
17183         * pa-protos.h (attr_length_millicode_call): Remove second argument.
17184         (attr_length_indirect_call, attr_length_indirect_call,
17185         attr_length_save_restore_dltp): New prototypes.
17186         * pa.c (attr_length_millicode_call): Remove second argument.  Check
17187         INSN_ADDRESSES_SET_P in distance calculation.
17188         (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
17189         INSN_ADDRESSES.
17190         (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
17191         (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
17192         Call attr_length_call directly.
17193         (attr_length_indirect_call, output_indirect_call,
17194         attr_length_save_restore_dltp): New functions.
17195         * pa.md (attr_length_millicode_call): Drop second argument from all
17196         patterns.
17197         (return_internal_pic): Delete.
17198         (return_external_pic): Remove use of PIC register and pic operand and
17199         flag checks.
17200         (epilogue): Use return_internal for both normal and pic code.
17201         (call, call_value): Emit new 32-bit pic patterns for symref and
17202         indirect calls.  Remove uses for arg pointer and pic register.
17203         (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
17204         call_reg_pic_post_reload, call_val_symref_pic,
17205         call_val_symref_pic_post_reload, call_val_reg_pic,
17206         call_val_reg_pic_post_reload): New pre and post reload insn patterns.
17207         Implement define_split and define_peephole2 patterns for pre reload
17208         patterns.
17209         (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
17210         call_value_internal_reg_64bit): Shorten names.
17211         (all call patterns): Explicitly indicate registers used and clobbered.
17212         Use attr_length_indirect_call and attr_length_save_restore_dltp for
17213         attribute length calculation.  Move code generation for indirect calls
17214         to output_indirect_call.
17215         (sibcall, sibcall_value): Don't restore PIC register.
17216         (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
17217         register retore.
17218
17219 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17220
17221         * doc/install.texi (Testing): Simplify and compress instructions
17222         concerning Dejagnu.
17223
17224 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
17225
17226         * collect2.c (pexecute_pid): Rename to pid.
17227         (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
17228         pid.
17229
17230 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
17231
17232         * doc/extend.texi (Function Attributes): Remove documentation
17233         for PowerPC Windows NT function attributes..
17234
17235 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
17236
17237         * dwarf2out.c (gen_type_die): Check for typedefs before calling
17238         for TYPE_MAIN_VARIANT.
17239
17240 2003-02-01  Richard Henderson  <rth@redhat.com>
17241
17242         * libgcc2.c: Include auto-host.h.
17243         (ATTRIBUTE_HIDDEN): New.
17244         (__clz_tab): Don't declare here for clz and ctz.
17245         (__clzsi2, __clzdi2): Use count_leading_zeros.
17246         (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
17247         (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
17248         (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
17249         * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
17250
17251 2003-02-01  Richard Henderson  <rth@redhat.com>
17252
17253         * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
17254         to the conditional.
17255         (ashlsi3_1_zext splitter): Likewise.
17256
17257 2003-02-01  Richard Henderson  <rth@redhat.com>
17258
17259         * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
17260         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
17261         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
17262         return type to Wtype.
17263
17264         * libgcc-std.ver (GCC_3.4): Fix inheritance.
17265
17266         * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
17267         expander input constraint.
17268
17269 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
17270
17271         * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
17272         OTI_parity.
17273         (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
17274         * optabs.c (widen_clz, expand_parity): New.
17275         (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
17276         for libcalls to clz, ctz, popcount, and parity.
17277         (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
17278         parity_optab, and set up libfunc handlers.
17279         * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
17280         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
17281         __popcount_tab): New.
17282         * libgcc2.h: Declare them.
17283         * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
17284         * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
17285         and parity_optab.
17286         * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
17287         * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
17288         BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
17289         BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
17290         BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
17291         BUILT_IN_PARITYLL): New.
17292         * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
17293         and add optab argument.
17294         (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
17295         * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
17296         * expr.c (expand_expr): Handle them.
17297         * fold-const.c (tree_expr_nonnegative_p): Likewise.
17298         * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
17299         * reload1.c (eliminate_regs): Handle them.
17300         (elimination_effects): Likewise.
17301         * function.c (instantiate_virtual_regs_1): Likewise
17302         * genattrtab.c (check_attr_value): Likewise.
17303         * simplify-rtx.c (simplify_unary_operation): Likewise.
17304         * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
17305         * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
17306         (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
17307         * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
17308         * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
17309         __builtin_arm_clz.
17310         * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
17311         * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
17312         * doc/extend.texi (Other Builtins): Add new builtins.
17313         * doc/md.texi (Standard Names): Add new patterns.
17314
17315 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
17316
17317         * reload.c: Revert 2003-01-31 change.
17318
17319 2003-02-01  Jan Hubicka  <jh@suse.cz>
17320
17321         * combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
17322
17323 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
17324
17325         * flags.h (flag_volatile): Remove declaration.
17326         (flag_volatile_global, flag_volatile_static): Likewise.
17327         * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
17328         * toplev.c (flag_volatile): Remove definition.
17329         (flag_volatile_global, flag_volatile_static): Likewise.
17330         (f_options): Remove corresponding entries here.
17331         * varasm.c (make_decl_rtl): Don't check flag_volatile_global
17332         or flag_volatile_static.
17333         * doc/invoke.texi: Remove documentation of -fvolatile,
17334         -fvolatile-global and -fvolatile-static.
17335
17336 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
17337
17338         * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
17339         updating of total_code_bytes from prologue to epilogue.
17340
17341 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
17342
17343         * reload.c (find_reloads): Do not use the mode specified in the insn
17344         pattern as reload mode for address operands.  Do not generate optional
17345         reloads for operands where a mandatory reload was already pushed.
17346         Generate optional reloads only in the final pass though find_reloads.
17347         (have_replacement_p): New function.
17348
17349 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17350
17351         * doc/install.texi (Testing): Remove a reference to our obsolete
17352         /testresults web pages and strip redundant information concerning
17353         test results.
17354         (Binaries): Refer to Microsoft Windows instead of listing all
17355         possible variants.
17356
17357 2003-02-01  Jan Hubicka  <jh@suse.cz>
17358
17359         * loop.c (emit_prefetch_instructions):  Do conversion at right place in
17360         RTL chain.
17361
17362         * combine.c (simplify_set): Reverse order of ragumetns to
17363         REG_CANNOT_CHANGE_MODE_P
17364         * df.c (df_def_record_1): Likewise.
17365         * recog.c (register_operand): Likewise.
17366         * simplify-rtx.c (simplify_subreg): Likewise.
17367         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
17368         CANNOT_CHANGE_MODE_CLASS.
17369         * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
17370         Likewise.
17371         * reload.c (push_reload): Likewise.
17372         * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
17373         * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
17374         * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
17375         * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
17376         * mips.c (mips_cannot_change_mode_class): Update.
17377         * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
17378         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
17379         * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
17380         * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
17381         * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
17382         * sh.c (sh_cannot_change_mode_class): Update.
17383         * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
17384         * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
17385
17386 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
17387
17388         * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
17389         change to LINK_COMMAND_SPEC in gcc.c.
17390
17391 2003-01-31  Jan Hubicka  <jh@suse.cz>
17392
17393         PR c/9506
17394         * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
17395
17396 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
17397
17398         * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
17399         duplicated code.
17400
17401 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
17402
17403         * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
17404         (BINFO_ELTS): New #define.
17405         * stor-layout.c (finalize_record_size): Don't set them.
17406         * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
17407         BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
17408         (BINFO_LANG_ELTS): New #define.
17409         * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
17410         * java/class.c (make_class): Use BINFO_ELTS.
17411         (set_super_info): Likewse.
17412         (add_interface_do): Likewise.
17413         * objc/objc-act.c (start_class): Use BINFO_ELTS.
17414
17415 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
17416
17417         * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
17418         (times): Don't ever declare if not HAVE_TIMES.
17419         (clock): Don't ever declare if not HAVE_CLOCK.
17420
17421 2003-01-30  Richard Henderson  <rth@redhat.com>
17422
17423         * flow.c (update_life_info): Zap life info after cleanup_cfg.
17424         (regno_uninitialized): Use correct live at function entry set.
17425         (regno_clobbered_at_setjmp): Likewise.
17426
17427         * expr.c (store_expr): Promote all MEM intermediates to regs.
17428
17429 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
17430
17431         * config/arm/arm.c: Fix comment typos.
17432         * config/arm/arm.h: Likewise.
17433         * config/arm/netbsd-elf.h: Likewise.
17434         * config/arm/netbsd.h: Likewise.
17435
17436 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
17437
17438         * gengtype.c (struct walk_type_data): Add needs_cast_p.
17439         (walk_type): Set needs_cast_p in walk_type_data.
17440         (write_types_process_field): Supply casts when required to suppress
17441         warnings.
17442         (write_root): Cast gt_pch_n_S to suppress warning.
17443         * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
17444         * config/rs6000/rs6000.c (print_operand): Mask off high bits only
17445         when they might exist.
17446         * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
17447         insn-conditions.o, and rs6000.o.
17448
17449 2003-01-30  Richard Henderson  <rth@redhat.com>
17450
17451         * ggc-page.c (G.context_depth_allocations): New.
17452         (G.context_depth_collections): New.
17453         (alloc_page): Set G.context_depth_allocations.
17454         (ggc_collect): Set G.context_depth_collections.
17455         (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
17456         (ggc_pop_context): Early exit for no allocations or collections.
17457
17458 2003-01-30  Richard Henderson  <rth@redhat.com>
17459
17460         * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
17461
17462 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
17463
17464         * arm.c (arm_compute_initial_elimination_offset): If optimizing for
17465         size, the link register is always saved if any other register is
17466         saved.
17467
17468 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
17469
17470         * config/h8300/h8300-protos.h: Update the prototype for
17471         compute_plussi_cc.
17472         (cpp_reader): Declare before it is used.
17473         * config/h8300/h8300.c (compute_plussi_cc): Change the return
17474         type to int.
17475         * config/h8300/h8300.md (monitor_prologue): Call abort() if we
17476         see an unknown H8 variant.
17477
17478 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
17479
17480         PR target/9316
17481         * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
17482         * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
17483         * config/rs6000/t-rtems: New file. multilib variants to match OS.
17484         * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
17485         rs6000/t-ppcgas so we get the desired multilibs.
17486
17487 2003-01-30  Nick Clifton  <nickc@redhat.com>
17488
17489         * config/arm/arm.c (arm_output_epilogue): Update stack pointer
17490         when popping saved IP register off the stack.
17491
17492 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
17493
17494         * config/rs6000/aix43.h: Fix comment typos.
17495         * config/rs6000/aix51.h: Likewise.
17496         * config/rs6000/aix52.h: Likewise.
17497         * config/rs6000/altivec.h: Likewise.
17498         * config/rs6000/rs6000.c: Likewise.
17499         * config/rs6000/rs6000.h: Likewise.
17500         * config/rs6000/rs6000.md: Likewise.
17501         * config/rs6000/spe.md: Likewise.
17502
17503 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
17504
17505         * c-common.c (builtin_define_float_constants): Define
17506         __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
17507
17508 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
17509
17510         * config/sh/lib1funcs.asm: Fix comment typos.
17511         * config/sh/linux.h: Likewise.
17512         * config/sh/sh.c: Likewise.
17513         * config/sh/sh.md: Likewise.
17514
17515 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
17516
17517         * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
17518
17519 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
17520
17521         * config/fp-bit.h (__make_dp): Declare if TMODES.
17522
17523 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
17524
17525         * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
17526         general_operand_src and general_operand_dst.
17527
17528 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
17529
17530         * config/rs6000/rs6000.c (function_arg_pass_by_reference):
17531         Return true for variable sized types.
17532         (rs6000_va_arg): Handle variable sized types passed by reference
17533         on non-SVR4 ABI.
17534
17535 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
17536
17537         * arm.c (arm_legtimize_address): New function.
17538         * arm-protos.h (arm_legtimize_address): Add prototype.
17539         * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
17540         (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
17541         do ... while (0)
17542
17543 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
17544
17545         PR bootstrap/9296
17546         * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
17547         depended on it being defined until now.
17548
17549 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
17550
17551         PR target/9295
17552         * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
17553         RTEMS code knows which C++ initialization style the toolset
17554         configuration is using.
17555
17556 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
17557
17558         PR bootstrap/9293
17559         * config/m68k/t-crtstuff: Replace spaces with tabs, add
17560          $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
17561
17562 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
17563
17564         PR bootstrap/9292
17565         * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
17566         RTEMS threads.
17567         * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
17568
17569 2003-01-29  Nick Clifton  <nickc@redhat.com>
17570
17571         * Makefile.in (c-parse.o): Locate source file in $(parsedir)
17572         not $(srcdir).
17573
17574 2003-01-29  Andrew Haley  <aph@redhat.com>
17575
17576         * tree-inline.c (walk_tree): Add CHAR_TYPE.
17577
17578 2003-01-29  Jan Hubicka  <jh@suse.cz>
17579
17580         * i386.md (subdi3_carry_rex64): Fix typo.
17581
17582 2003-01-28  Stan Shebs  <shebs@apple.com>
17583
17584         * coretypes.h (cpp_reader): Forward declare struct.
17585         * c-pragma.h (cpp_reader): Remove forward declaration.
17586         * hashtable.h (cpp_reader): Likewise.
17587         * scan.h (cpp_reader): Likewise.
17588         * tree.h (cpp_reader): Likewise.
17589         * config/darwin-protos.h (cpp_reader): Likewise.
17590         * config/arm/arm-protos.h (cpp_reader): Likewise.
17591         * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
17592         struct cpp_reader in prototypes.
17593
17594 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
17595
17596         * doc/install.texi: Add documentation for installation into
17597         tooldirs and with DESTDIR.
17598
17599 2003-01-28  Richard Henderson  <rth@redhat.com>
17600
17601         * config.gcc (ia64*-*-aix*): Remove.
17602         * config/ia64/aix.h, config/ia64/t-aix: Remove file.
17603         * config/ia64/unwind-aix.c: Remove file.
17604
17605 2003-01-28  Andreas Schwab  <schwab@suse.de>
17606
17607         * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
17608         register.
17609         * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
17610         * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
17611         * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
17612         * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
17613         * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
17614         * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
17615         * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
17616
17617 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
17618
17619         * combine.c (nonzero_bits): Fix check for negative divide operands.
17620
17621 2003-01-28  Richard Henderson  <rth@redhat.com>
17622
17623         * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
17624         * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
17625
17626 2003-01-28  Richard Henderson  <rth@redhat.com>
17627
17628         * cse.c (find_best_addr): Kill !ADDRESS_COST code.
17629
17630         * config/cris/cris.c (cris_address_cost): Make static.
17631         (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
17632         * config/cris/cris.h (ADDRESS_COST): Remove.
17633         * config/cris/cris-protos.h: Update.
17634
17635 2003-01-23  Mike Stump  <mrs@apple.com>
17636
17637         * regclass.c (init_reg_autoinc): New function.
17638         (regclass): Move initialization of forbidden_inc_dec_class from
17639         here...
17640         (init_regs): to here.  Avoids reinitialization for each function,
17641         saving compilation time.
17642
17643 2003-01-28  Jason Merrill  <jason@redhat.com>
17644
17645         * cpplib.h (struct cpp_options): Add warn_deprecated field.
17646         * cppinit.c (cpp_create_reader): Turn it on by default.
17647         * c-opts.c (c_common_decode_option): Set it.
17648         * cpplib.c (do_pragma_once): Only complain about #pragma once
17649         if warn_deprecated is set.
17650
17651 2003-01-28  Dale Johannesen  <dalej@apple.com>
17652
17653         * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
17654         * loop.c (scan_loop):  Move movables on -Os rich-register targets.
17655         * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
17656
17657 2003-01-28  Richard Henderson  <rth@redhat.com>
17658
17659         * target.h (targetm.address_cost): New.
17660         * target-def.h (TARGET_ADDRESS_COST): New.
17661         (TARGET_RTX_COSTS): Uncomment.  Oops.
17662         * cse.c (address_cost): Use new target hook.
17663         (default_address_cost): New.
17664         * output.h (default_address_cost): Declare.
17665         * hooks.c (hook_int_rtx_0): New.
17666         * hooks.h (hook_int_rtx_0): Declare.
17667         * loop.c (combine_givs_p): Remove if 0 code.
17668         * system.h (ADDRESS_COST): Poison.
17669
17670         * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
17671         config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
17672         config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
17673         config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
17674         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
17675         config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
17676         config/xtensa/xtensa.c, config/xtensa/xtensa.h
17677         (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
17678         (ADDRESS_COST): Remove.
17679
17680         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
17681         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
17682         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
17683         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
17684         config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
17685         config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
17686         config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
17687         config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
17688         config/mips/mips.c, config/mips/mips.h,
17689         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
17690         config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
17691         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
17692         config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
17693         config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
17694         config/vax/vax.c, config/vax/vax.h
17695         (foo_address_cost): Make static.
17696         (TARGET_ADDRESS_COST): New.
17697         (ADDRESS_COST): Remove.
17698
17699         * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
17700         config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
17701         config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
17702         config/stormy16/stormy16.h
17703         (ADDRESS_COST): Move code ...
17704         (foo_address_cost): ... here.
17705         (TARGET_ADDRESS_COST): New.
17706
17707         * config/m32r/m32r.c (m32r_address_cost): Remove.
17708         * config/m32r/m32r-protos.h: Update.
17709
17710         * config/mmix/mmix.c (mmix_address_cost): Remove.
17711         * config/mmix/mmix-protos.h: Update.
17712
17713         * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
17714         mn10300_address_cost; move unsig allocation ...
17715         (mn10300_address_cost): ... here.
17716         (TARGET_ADDRESS_COST): New.
17717         * config/mn10300/mn10300-protos.h: Update.
17718         * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
17719
17720         * doc/tm.texi: Update.
17721
17722 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
17723
17724         * haifa-sched.c (schedule_insn): Return necessary cycle advance
17725         after issuing the insn.
17726         (rank_for_schedule): Make a insn with /S the highest priority
17727         insn.
17728         (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
17729         (choose_ready): Check SCHED_GROUP_P.
17730         (schedule_block): Advance cycle after issuing insn if it is
17731         necessary.  Don't reorder insns if there is an insn with /S.
17732         (set_priorities): Ignore schedule groups.
17733
17734         * sched-deps.c (remove_dependence, group_leader): Remove the
17735         functions.
17736         (add_dependence): Ignore schedule groups.
17737         (set_sched_group_p): Don't make copy of dependencies from previous
17738         insn of the schedule group.  Add anti-dependency to the previous
17739         insn of the schedule group.
17740         (compute_forward_dependences): Ignore schedule groups.
17741
17742         * sched-ebb.c (init_ready_list): Ignore schedule groups.
17743
17744         * sched-rgn.c (init_ready_list): Ditto.
17745         (can_schedule_ready_p): Ditto.
17746
17747 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
17748
17749         * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
17750         register to another one.
17751
17752 2003-01-28  Richard Henderson  <rth@redhat.com>
17753
17754         * calls.c (default_must_pass_in_stack): Fix typo in !type case.
17755
17756 2003-01-28  Roger Sayle  <roger@eyesopen.com>
17757
17758         * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
17759
17760 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
17761
17762         * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
17763         class contains a floating-point register, return the size of the
17764         mode in half words.
17765
17766 2003-01-28  Jan Hubicka  <jh@suse.cz>
17767
17768         * i386.c (ix86_carry_flag_operator):  New predicate.
17769         (fcmov_operator): Fix whitespace.
17770         (ix86_expand_carry_flag_compare):  Deal with floating point.
17771         (ix86_expand_int_movcc): Deal with fp; update insn expansion
17772         (ix86_expand_int_addcc): Likewise.
17773         (ix86_expand_strlensi_unroll_1): likewsie.
17774         * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
17775         * i386.md (add?i_carry_rex64): Use new predicate.
17776         (sub?i3_carry_rex64): Likewise.
17777         (x86_mov?icc_0_m1*): Likewise.
17778
17779 2003-01-28  Andreas Schwab  <schwab@suse.de>
17780
17781         * cfgloopmanip.c (create_preheader): Initialize src to avoid
17782         warning.
17783
17784         * expmed.c (emit_store_flag): Fix cast to avoid sign
17785         comparison warning.
17786
17787         * combine.c (force_to_mode): Add cast to fix warning when
17788         STORE_FLAG_VALUE is negative.
17789
17790 2003-01-27  Richard Henderson  <rth@redhat.com>
17791
17792         * Makefile.in (cse.o): Depend on TARGET_H.
17793         * cse.c (rtx_cost): Use targetm.rtx_costs.
17794         * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
17795         * doc/tm.texi: Update.
17796
17797         * target.h (targetm.rtx_costs): New.
17798         * target-def.h (TARGET_RTX_COSTS): New.
17799         * hooks.c (hook_bool_rtx_int_int_intp_false): New.
17800         * hooks.h: Update.
17801
17802         * config/alpha/alpha.c (alpha_rtx_cost_data): New.
17803         (alpha_rtx_costs, TARGET_RTX_COSTS): New.
17804         * config/alpha/alpha.h (PROCESSOR_MAX): New.
17805         (CONST_COSTS, RTX_COSTS): Remove.
17806
17807         * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
17808         config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
17809         config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
17810         config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
17811         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
17812         config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
17813         config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
17814         config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
17815         config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
17816         config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
17817         config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
17818         config/mn10200/mn10200.h, config/mn10300/mn10300.c,
17819         config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
17820         config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
17821         config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
17822         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
17823         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
17824         config/stormy16/stormy16.c, config/stormy16/stormy16.h,
17825         config/v850/v850.c, config/v850/v850.h,
17826         config/xtensa/xtensa.c, config/xtensa/xtensa.h
17827         (CONST_COSTS, RTX_COSTS): Move code ...
17828         (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
17829
17830         * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
17831         (arm_rtx_costs, TARGET_RTX_COSTS): New.
17832         * config/arm/arm-protos.h: Update.
17833         * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
17834
17835         * config/avr/avr.h (CONST_COSTS): Move code ...
17836         * config/avr/avr.c (avr_rtx_costs): ... here.
17837         (default_rtx_costs): Make static.
17838         * config/avr/avr-protos.h: Update.
17839
17840         * config/h8300/h8300.c (const_costs): Make static.
17841         (h8300_and_costs, h8300_shift_costs): Likewise.
17842         * config/h8300/h8300-protos.h: Update.
17843
17844         * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
17845         (CONST_COSTS): Move code ...
17846         * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
17847         default_rtx_costs; update for signature change.
17848         * config/ip2k/ip2k-protos.h: Update.
17849
17850         * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
17851         (CONST_COSTS): Move code ...
17852         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
17853         (TARGET_RTX_COSTS): New.
17854         (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
17855         * config/m68hc11/m68hc11-protos.h: Update.
17856
17857         * config/m68k/m68k.c (const_int_cost): Make static.
17858         * config/m68k/m68k-protos.h: Update.
17859
17860         * config/mcore/mcore.c (mcore_const_costs): Make static.
17861         (mcore_and_cost, mcore_ior_cost): Likewise.
17862         * config/mcore/mcore-protos.h: Update.
17863
17864         * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
17865         (mmix_rtx_cost_recalculated): Remove.
17866         * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
17867         * config/mmix/mmix-protos.h: Update.
17868
17869         * config/sh/sh.c (shiftcosts): Make static.
17870         (addsubcosts, andcosts, multcosts): Likewise.
17871         * config/sh/sh-protos.h: Update.
17872
17873         * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
17874         (sparc_rtx_costs): Make static; update for change in signature.
17875         * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
17876         * config/sparc/sparc-protos.h: Update.
17877
17878         * config/v850/v850.c (const_costs): Make static.
17879         * config/v850/v850-protos.h: Update.
17880
17881         * config/vax/vax.h (RTX_COSTS): Remove.
17882         (CONST_COSTS): Move code ...
17883         * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
17884         from vax_rtx_cost.
17885         (vax_rtx_costs, TARGET_RTX_COSTS): New.
17886
17887 2003-01-27  Richard Henderson  <rth@redhat.com>
17888
17889         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
17890         * config/vax/vax-protos.h: Update.  Really.
17891
17892 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
17893
17894         * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
17895         (UNITS_PER_FPVALUE): Defined as the width of a long double, or
17896         zero if no hardware floating point.
17897         (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
17898         (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
17899         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
17900         (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
17901         (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
17902         * config/mips/mips.c (mips_arg_info): Pass TFmode values in
17903         even FP registers on N32 and N64.
17904         (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
17905         (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
17906         (mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
17907         even-register-like alignment to 128-bit arguments.
17908         (save_restore_insns): Use UNITS_PER_HWFPVALUE.
17909         (mips_function_value): Likewise.  Return TFmode in $f0 and $f2
17910         on N32 or N64.
17911         * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
17912         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
17913         (TPBIT): Set to tp-bit.c.
17914         (tp-bit.c): Create out of fp-bit.c.
17915
17916 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
17917
17918         * c-parse.in: Remove '%expect 32' directive in objc mode.
17919
17920 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
17921
17922         * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
17923         (LIBGCOV): New variable.
17924         (libgcc.mk): Add LIBGCOV.
17925         (LIBGCC_DEPS): Add libgcov.c.
17926         (libgcov.a): New target.
17927         (clean): Remove libgcov.a.
17928         (install-libgcc): Do libgcov too.
17929         (stage1-start, stage2-start, stage3-start, stage4-start): Deal
17930         with libgcov.a.
17931         * libgcc2.c (L_gcov): Move into ...
17932         * libgcov.c: ... here. New file.
17933         * mklibgcc.in: Add libgcov rules.
17934         * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
17935
17936         * doc/invoke.texi (profile-arcs, test-coverage): Update and
17937         clarify.
17938
17939         * profile.c (index_counts_file): Remove duplicate check for open file.
17940
17941 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
17942
17943         * gcc/doc/invoke.texi (Optimization Options): Group together
17944         optional and experimental flags.  Move trapv and bounds-check
17945         out of this section.  Group floating point flags together.
17946         (Code Gen Options): Move trapv and bounds-check to here.
17947
17948 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
17949
17950         * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
17951
17952 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
17953
17954         PR optimization/9090
17955         * function.c (purge_addressof_1): After pushing an addressed register
17956         onto the stack, simplify the result.
17957
17958 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
17959
17960         * doc/extend.texi: Fix typo.
17961
17962 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
17963
17964         * doc/cppopts.texi: Fix typo.
17965         * doc/objc.texi: Likewise.
17966         * doc/passes.texi: Likewise.
17967
17968 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
17969
17970         * real.c (ibm_extended_format): Add 53 to minimum exponent.
17971         (encode_ibm_extended): Adjust.
17972
17973 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
17974
17975         * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
17976         timevar_id enumerations.
17977
17978 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
17979
17980         * combine.c: Fix formatting.
17981
17982 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
17983
17984         * doc/gccint.texi: Update the copyright.
17985
17986 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
17987
17988         * doc/cpp.texi: Fix typos.
17989         * doc/extend.texi: Likewise.
17990         * doc/gty.texi: Likewise.
17991         * doc/install.texi: Likewise.
17992         * doc/passes.texi: Likewise.
17993         * doc/rtl.texi: Likewise.
17994         * doc/tm.texi: Likewise.
17995
17996 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
17997
17998         * config/ia64/fde-glibc.c: Fix comment typos.
17999         * config/ia64/hpux.h: Likewise.
18000         * config/ia64/ia64.c: Likewise.
18001         * config/ia64/ia64.h: Likewise.
18002         * config/ia64/unwind-ia64.c: Likewise.
18003
18004 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
18005
18006         * config/i386/i386-modes.def: Fix comment typos.
18007         * config/i386/i386.c: Likewise.
18008         * config/i386/i386.md: Likewise.
18009
18010 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
18011
18012         * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
18013         config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
18014         ASM_FINISH_DECLARE_OBJECT before defining it.
18015         * toplev.c (rest_of_decl_compilation):  Don't define
18016         ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
18017         (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
18018         parameters for DWARF2 targets because they _are_ used.
18019
18020 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
18021
18022         * fp-bit.h: Define macros for TFmode floating-point constants
18023         in IBM-extended TFmode types.
18024         (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
18025         widths.
18026         * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
18027         TFmode type.
18028
18029         * config/fp-bit.h: Define macros for TFmode floating-point
18030         constants in IEEE quad TFmode type.  Declare functions according
18031         to L_ macros.
18032         (TMODES): Define if __LDBL_MANT_DIG__ is 113.
18033         (TFtype, TItype, UTItype): Define if TMODES is defined.
18034         (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
18035         (F_T_BITOFF, D_T_BITOFF): Define.
18036         (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
18037         guaranteed to be wide enough.
18038         * config/fp-bit.c: Check for L_ macros for tf functions.
18039         (__thenan_tf): New.
18040         (nan): Adjust.
18041         (pack_d, unpack_d): Support IEEE 854 quad type.
18042         (_fpmul_parts): Support TFmode.  Compute exponent adjustment
18043         from FRAC_NBITS, FRAC_BITS and NGARDS.
18044         (usi_to_float): Cast constants to be shifted to fractype
18045         instead of assuming long long is wide enough.
18046         (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
18047
18048 2003-01-26  Andreas Jaeger  <aj@suse.de>
18049
18050         * df.c: Remove prototype of unused function df_regno_rtl_debug.
18051
18052 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
18053
18054         * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
18055         (DBBIT_FUNCS): Added _df_to_tf.
18056         (TPBIT_FUNCS): New.
18057         (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
18058         (LIBGCC_DEPS): Added TPBIT.
18059         * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
18060
18061         * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
18062         been able to move the result to target.
18063
18064         * expr.c (emit_group_store): Initialize dst with CONST0_RTX
18065         for the appropriate mode.
18066
18067         * calls.c (emit_library_call_value_1): Handle return values
18068         in a PARALLEL.
18069
18070         * rtl.c (get_mode_alignment): Moved to...
18071         * stor-layout.c: ... here.
18072
18073         * print-rtl.c (print_rtx): Don't print MEM details in
18074         GENERATOR_FILEs.
18075
18076 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
18077
18078         * df.h: Update comments, tidy formatting.
18079         (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
18080         REVERSE, UNION, INTERSECTION.  All uses updated.
18081         (OLD_DF_INTERFACE): Remove.
18082         (struct insn_info): Remove commented out insn field.
18083         * df.c: Update comments, tidy formatting.
18084         (df_def_table_realloc): Remove.
18085
18086
18087 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
18088
18089         * calls.c (save_fixed_argument_area): Tidy.
18090         (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
18091         (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
18092         call chain loop at 1 if !try_tail_call.  Formatting.
18093         (emit_library_call_value_1): Don't init low_to_save or high_to_save.
18094         Use save_fixed_argument_area and restore_fixed_argument_area.
18095
18096 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
18097
18098         * df.c (df_uses_record): Handle CC0.
18099
18100 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
18101
18102         * reload.c (maybe_memory_address_p): New function.
18103         (find_reloads_address): Use it instead of memory_address_p.
18104
18105 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
18106
18107         * final.c (shorten_branches): Align the address of code label
18108         when computing initial lengths and addresses.
18109
18110 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
18111
18112         * config/m68hc11/m68hc11.md: Fix a comment typo.
18113
18114 2003-01-25  Andreas Jaeger  <aj@suse.de>
18115
18116         * config/i386/i386.c (x86_output_mi_thunk): Correct test for
18117         TARGET_MACHO.
18118
18119 2003-01-25  Roger Sayle  <roger@eyesopen.com>
18120
18121         * gcse.c (bypass_last_basic_block): New global variable.
18122         (bypass_block):  Use redirect_edge_and_branch_force to redirect
18123         fall-through edges.  Use bypass_last_basic_block to determine
18124         which blocks have valid PRE information.
18125         (bypass_conditional_jumps): Initialize bypass_last_basic_block.
18126
18127 2003-01-25  Jan Hubicka  <jh@suse.cz>
18128
18129         * gcse.c (local_cprop_pass): Update reg_sets table when needed.
18130
18131 2003-01-25  Jan Hubicka  <jh@suse.cz>
18132                               Eric Botcazou <ebotcazou@libertysurf.fr>
18133         PR opt/8492
18134         * gcse.c (one_cprop_pass): Delete unreachable blocks.
18135
18136 2003-01-25  Richard Henderson  <rth@redhat.com>
18137
18138         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
18139         from ia64_aix_select_rtx_section.
18140         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
18141         instead of saving and restoring flag_pic.
18142         (ia64_rwreloc_unique_section): Similarly.
18143         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
18144         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
18145         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
18146         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
18147
18148 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
18149
18150         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
18151         comment.
18152
18153 2003-01-25  Richard Henderson  <rth@redhat.com>
18154
18155         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
18156
18157 2003-01-25  Kelley Cook <kelleycook@comcast.net>
18158
18159         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
18160
18161 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
18162
18163         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
18164         type for bitmaps.  Use unsigned long.
18165         (nBITMAP_WORD_BITS): New macro.
18166         (BITMAP_WORD_BITS): New macro.
18167         (rest of file): Use it.
18168         * bitmap.c: Use it.
18169
18170 2003-01-25  Richard Henderson  <rth@redhat.com>
18171
18172         2002-02-19  Robert Lipe  <robertlipe@usa.net>
18173         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
18174
18175 2003-01-25  Roger Sayle  <roger@eyesopen.com>
18176
18177         * builtins.c (purge_builtin_constant_p): Scan insn stream
18178         sequentially rather than by basic block.
18179         * function.c (purge_addressof): Simplify test with INSN_P.
18180
18181 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
18182
18183         * combine.c (simplify_comparison, case AND): Remove a redundant test.
18184
18185 2003-01-25  Roger Sayle  <roger@eyesopen.com>
18186
18187         * function.h (struct function): New field calls_constant_p.
18188         (current_function_calls_constant_p): New macro for above.
18189         * function.c (prepare_function_start): Initialize calls_eh_return
18190         and calls_constant_p.
18191         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
18192         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
18193         when the current_function_calls_constant_p.
18194         * integrate.c (expand_inline_function): Set calls_constant_p if
18195         the function being inlined has calls_constant_p set.
18196
18197 2003-01-25  Roger Sayle  <roger@eyesopen.com>
18198
18199         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
18200         optimizing, even if flag_gcse is true.
18201         * toplev.c (rest_of_compilation): purge_builtin_constant_p
18202         only needs to be called when "optimize > 0 && flag_gcse".
18203
18204 2003-01-25  Roger Sayle  <roger@eyesopen.com>
18205
18206         * stmt.c (emit_case_bit_tests): New routine to implement suitable
18207         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
18208         (case_bit_test_cmp): New comparison function for "qsort" to order
18209         case_bit_tests by decreasing number of destination nodes.
18210         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
18211         (expand_end_case_type): Use emit_case_bit_tests to implement
18212         suitable switch statments.
18213         (CASE_USE_BIT_TESTS): New target macro to disable the above.
18214         * Makefile.in (stmt.o): Add dependency on optab.h.
18215         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
18216
18217 2003-01-23  Andreas Schwab  <schwab@suse.de>
18218
18219         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
18220         __do_global_ctors_aux hidden global and don't put it in
18221         .init_array.
18222         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
18223         instead so that it comes first.
18224
18225 2003-01-25  Jan Hubicka  <jh@suse.cz>
18226
18227         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
18228         subreg is read/modify.
18229
18230 2003-01-25  Jan Hubicka  <jh@suse.cz>
18231
18232         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
18233         do libcall for large blocks.
18234         * i386.md (comi patterns): Set type to ssecomi.
18235         (sse2_unpck?pd): Fix mode of vec_select.
18236
18237         * cse.c: Include except.h
18238         (cse_set_around_loop):  Do not create new basic blocks.
18239         * Makefile.in (cse.o): Add dependnecy on except.h
18240
18241 2003-01-25  Jan Hubicka  <jh@suse.cz>
18242
18243         * builtins.c (fold_trunc_transparent_mathfn): New function.
18244         (fold_builtin): Use it.
18245         * convert.c (convert_to_real): Re-enable code to convert
18246         math functions; add support for floor familly functions.
18247
18248 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
18249
18250         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
18251         dependencies on coretypes.h and $(TM_H).
18252
18253 2003-01-25  Jan Hubicka  <jh@suse.cz>
18254
18255         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
18256
18257 2003-01-24  Stuart Hastings  <stuart@apple.com>
18258
18259         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
18260
18261 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
18262
18263         * config/c4x/c4x.md (UNSPEC_BU): New constants.
18264         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
18265         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
18266         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
18267         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
18268         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
18269         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
18270         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
18271
18272 2003-01-24  Jan Hubicka  <jh@suse.cz>
18273
18274         * emit-rtl.c (reg_attrs_htab): New static variable.
18275         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
18276         functions.
18277         (reg_rtx): Do not maintain regno_decl.
18278         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
18279         set_mem_attrs_from_reg): New global function.
18280         (init_emit): Do not initialize regno_decl.
18281         (init_emit_once): initialize reg_attrs_htab.
18282         * final.c (alter_subreg): Do not replace REG by SUBREG.
18283         (gen_mem_expr_from_op): Improve output.
18284         (output_asm_operands): Likewise.
18285         * function.c (assign_params): Do not set REGNO_DECL.
18286         * function.h (struct function): Kill regno_decl.
18287         (REGNO_DECL): Kill.
18288         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
18289         * print_rtl.c (print_rtx): Output REG information.
18290         * regclass.c (reg_scan_mark_refs): Update attrs.
18291         * reload1.c (alter_reg): Likewise.
18292         * simplify_rtx.c (simplify_subreg): Likewise.
18293         * stmt.c (expand_decl): Likewise.
18294         * rtl.def (REG): Add new field.
18295         * rtl.h (struct reg_attrs): New.
18296         (rtunion_def): At rtreg.
18297         (X0MEMATTR): Add checking.
18298         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
18299         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
18300         Declare.
18301         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
18302
18303 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
18304
18305         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
18306         (xtensa_emit_call, print_operand): Fix printf format strings
18307         to avoid compile warnings.
18308         (xtensa_function_prologue, xtensa_function_epilogue): Change type
18309         of "size" argument to HOST_WIDE_INT to fix compile warnings.
18310         * config/xtensa/xtensa-protos.h
18311         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
18312
18313 2003-01-24  Jan Hubicka  <jh@suse.cz>
18314
18315         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
18316         (implicit_built_in_decls): New global array.
18317         (mathfn_built_in): New global function.
18318         (fold_trunc_transparent_mathfn): New static function
18319         (expand_builtin_strstr, expand_bultin_strchr,
18320         expand_builtin_strpbrk, expand_builtin_strcpy,
18321         expand_builtin_strncpy, expand_bultin_strcmp,
18322         expand_bultin_strncat, expand_builtin_fputs): Use
18323         implicint_built_in_decls.
18324         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
18325         * builtins.def: Fix comments.
18326         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
18327         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
18328         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
18329         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
18330         (DEF_C99_C90RES_BULTIN): New.
18331         (*f, *l builtins): Update.
18332         * c-common.c (DEF_BUILTIN): Initialize implicit array.
18333         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
18334         * convert.c (strip_float_extensions): New global function.
18335         * tree.h (DEF_BUILTIN): Accept 10 arguments.
18336         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
18337         Declare.
18338         * java/builtins.c (define_builtin): Handle implicit.
18339         (DEF_BUILTIN): Update.
18340         * tm.texi (TARGET_C99_FUNCTIONS): Document.
18341         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
18342         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
18343         when using glibc2.
18344
18345 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
18346
18347         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
18348         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
18349         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
18350         * config/xtensa/crti.asm: New file.
18351         * config/xtensa/crtn.asm: New file.
18352         * config/xtensa/t-elf: New file.
18353         * config/xtensa/t-linux: New file.
18354         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
18355         Move various CFLAGS settings to new t-elf file.
18356
18357 2003-01-24  Richard Henderson  <rth@redhat.com>
18358
18359         PR optimization/4382
18360         * tree-inline.c (find_builtin_longjmp_call_1): New.
18361         (find_builtin_longjmp_call): New.
18362         (inlinable_function_p): Use it.
18363
18364 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
18365
18366         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
18367         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
18368         * config/i386/i386.c (function_arg_pass_by_reference): New.
18369         (ix86_va_arg): Support arguments passed by reference.
18370
18371 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
18372
18373         * cfgloopanal.c: New file.
18374         * cfgloopmanip.c: New file.
18375         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
18376         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
18377         cfglayout.o): Add dependency on cfgloop.h.
18378         (cfgloop.o): Add flags.h dependency.
18379         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
18380         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
18381         (struct loop, struct loops, flow_loops_find, flow_loops_update,
18382         flow_loops_free, flow_loops_dump, flow_loop_dump,
18383         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
18384         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
18385         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
18386         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
18387         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
18388         find_common_loop, verify_loop_structure): Declarations moved to ...
18389         * cfgloop.h: New file.
18390         * bb-reorder.c (reorder_basic_blocks): Modified.
18391         * cfglayout.c: Include cfgloop.h.
18392         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
18393         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
18394         (break_superblocks): New static function.
18395         (cfg_layout_finalize): Use it.
18396         (cfg_layout_split_block): New function.
18397         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
18398         fields.
18399         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
18400         changed.
18401         (cfg_layout_split_block): Declare.
18402         * cfgloop.c: Include cfgloop.h and flags.h.
18403         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
18404         get_loop_body): Avoid signed versus unsigned comparison warnings.
18405         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
18406         loop_latch_edge): Modified.
18407         (verify_loop_structure): Modified to use flags stored in loop structure;
18408         check irreducible loops.
18409         (cancel_loop, cancel_loop_tree): New functions.
18410         (estimate_probability): Use loop analysis code for predictions.
18411         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
18412         warnings.
18413         * doloop.c: Include cfgloop.h.
18414         * loop.c: Include cfgloop.h.
18415         * predict.c: Include cfgloop.h.
18416         * toplev.c: Include cfgloop.h.
18417         * unroll.c: Include cfgloop.h.
18418         * tracer.c (tracer): Modified.
18419
18420 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
18421
18422         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
18423
18424 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
18425
18426         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
18427         * configure: Regenerate.
18428
18429         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
18430         (tls_symbolic_reference_mentioned_p): Add prototype.
18431         (s390_tls_get_offset): Add prototype.
18432         (emit_pic_move): Remove prototype, replace by ...
18433         (emit_symbolic_move): .. this new prototype.
18434
18435         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
18436         (tls_model_chars): New global variable.
18437         (s390_encode_section_info): Encode TLS model.
18438         Use targetm.binds_local_p to check for local symbols.
18439         (s390_strip_name_encoding): New function.
18440         (TARGET_STRIP_NAME_ENCODING): Define.
18441
18442         (get_thread_pointer): New function.
18443         (legitimize_tls_address): New function.
18444         (legitimize_address): Call it.
18445         (emit_pic_move): Remove, replace by ...
18446         (emit_symbolic_move): ... this new function.
18447
18448         (larl_operand): Handle TLS operands.
18449         (legitimate_constant_p): Likewise.
18450         (s390_decompose_address): Likewise.
18451         (s390_cannot_force_const_mem): New function.
18452         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
18453
18454         (s390_output_symbolic_const): Handle TLS unspecs.
18455         (print_operand): New code 'J'.
18456         (machine_function): Add struct member 'some_ld_name'.
18457         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
18458
18459         (enum s390_builtin): New type.
18460         (code_for_builtin_64, code_for_builtin_31): New global variables.
18461         (s390_init_builtins, s390_expand_builtin): New functions.
18462         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
18463
18464         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
18465         (ASM_OUTPUT_LABELREF): Define.
18466         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
18467
18468         * config/s390/s390.md: Define TLS UNSPEC constants.
18469         ("movdi", "movsi"): Handle TLS operands.
18470         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
18471         ("*tls_load_64", "*tls_load_31"): New insns.
18472         ("call_value_tls", "call_value_tls_exp"): New expanders.
18473         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
18474         "bas_tls_64", "bas_tls_31"): New insns.
18475
18476 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
18477
18478         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
18479         spe ABI is configured, if requested.
18480
18481 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
18482
18483         * doc/passes.texi: Fix typo.
18484
18485 2003-01-24  Andreas Schwab  <schwab@suse.de>
18486
18487         * stor-layout.c (excess_unit_span): Only define if used.
18488
18489 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
18490
18491         * gcc/doc/invoke.texi (Optimization Options): List -O levels
18492         for each optimization flag.
18493
18494 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
18495
18496         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
18497
18498 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
18499
18500         * doc/bugreport.texi: Use @command instead of @code for commands.
18501         * doc/collect2.texi: Likewise.
18502         * doc/headerdirs.texi: Likewise.
18503         * doc/invoke.texi: Likewise.
18504         * doc/standards.texi: Likewise.
18505         * doc/tm.texi: Likewise.
18506         * doc/trouble.texi: Likewise.
18507
18508 2003-01-24  Nick Clifton  <nickc@redhat.com>
18509
18510         * config/arm/arm.c (use_return_insn): Do not use a single return
18511         instruction for interrupt handelrs which have to create a stack
18512         frame.
18513         (arm_expand_prologue): Do not pre-bias the return address of
18514         interrupt handlers which create a stack frame.
18515
18516 2003-01-24  Nick Clifton  <nickc@redhat.com>
18517
18518         * Add sh2e support:
18519
18520         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
18521
18522                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
18523                 med_cbranches.  Fix logic in short_cbranches.
18524
18525         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
18526
18527                 * config/sh/sh.md (delay for cbranch): Don't annul delay
18528                 slots on SH2e.
18529                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
18530                 cbranch with unfilled delay slot on SH2e.
18531                 (output_branch): Fill with a nop the delay slot of a
18532                 branch that required a delay slot but didn't get one.
18533
18534         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
18535
18536                 * doc/invoke.texi (SH options): Document -m2e.
18537                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
18538                 * config/sh/lib1funcs.asm: Likewise.
18539                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
18540                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
18541                 not __sh1__.
18542                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
18543                 SH2E up.
18544                 (SH3E_BIT): Renamed to...
18545                 (SH_E_BIT): ... this.  Replace all uses.
18546                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
18547                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
18548                 (TARGET_SWITCHES): Added 2e.
18549                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
18550                 (processor_type): Added PROCESSOR_SH2E.
18551                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
18552                 TARGET_SH2E, except in sqrtsf2_i.
18553                 (attribute cpu): Added sh2e.
18554                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
18555                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
18556                 * config.gcc: Add sh2e target support.
18557
18558 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
18559
18560         Rename -W to -Wextra.
18561         * c-decl.c:  Update comments.
18562         * c-typeck.c:  Likewise.
18563         * flags.h:  Likewise.
18564         * function.c:  Likewise.
18565         * stmt.c:  Likewise.
18566         * toplev.c:  Update comments.
18567         (W_options):  Add 'extra'.
18568         (display_help):  Remove '-W'.
18569         (decode_W_option):  Special warn_uninitialized treatment in the case
18570         of -Wextra.
18571         * doc/invoke.texi:  Update with new entries.
18572
18573 2003-01-23  Richard Henderson  <rth@redhat.com>
18574
18575         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
18576         in no-else-block case.  Add commentary.
18577
18578 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18579
18580         * configure.in: Revert last change.
18581
18582 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18583
18584         * configure.in: Don't include ansidecl.h in tconfig.h.
18585         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED): Define if IN_LIBGCC2.
18586         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
18587         ATTRIBUTE_UNUSED.
18588
18589         * configure: Regenerate.
18590
18591 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
18592
18593         PR java/6748
18594         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
18595         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
18596         kernels.
18597
18598 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18599
18600         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
18601
18602 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
18603
18604         * genattrtab.c (write_attr_get): Mark 'insn' paramter
18605         as ATTRIBUTE_UNUSED.
18606
18607 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
18608
18609         * arm.c (thumb_base_register_rtx_p): New function.
18610         (thumb_index_register_rtx_p): New function.
18611         (thumb_legitimate_address_p): New function.
18612         (thumb_legitimate_offset_p): New function.
18613         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
18614         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
18615         definitions.
18616         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
18617         (THUMB_LEGITIMATE_OFFSET): Delte.
18618         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
18619         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
18620         (thumb_legitimate_offset_p): Likewise.
18621
18622 2003-01-23  Andreas Schwab  <schwab@suse.de>
18623
18624         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
18625
18626 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18627
18628         * fixinc/Makefile.in (FL_LIST): Revert last change.
18629
18630 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
18631
18632         PR other/7341
18633         * invoke.texi (ftest-coverage): Fix broken cross-reference.
18634         Change @code to @command for gcov command.
18635
18636         * gcc.texi: Adjust title of gcov section.
18637         Adjust copyright.
18638         * gcov.texi: Likewise.
18639
18640 2003-01-22  Roger Sayle  <roger@eyesopen.com>
18641
18642         PR optimization/8423
18643         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
18644         its argument is constant, or 0 if !flag_gcse.
18645         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
18646         if it's argument is constant.
18647         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
18648         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
18649         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
18650         * builtins.c (purge_builtin_constant_p): New function to force
18651         instantiation of any remaining CONSTANT_P_RTX nodes.
18652         * rtl.h (purge_builtin_constant_p): Prototype here.
18653         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
18654         pass after GCSE and before loop.
18655         (flag_gcse): No longer static.
18656         * flags.h (flag_gcse): Prototype here.
18657
18658 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
18659
18660         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
18661         introduced by last change.
18662
18663 2003-01-22  Andreas Schwab  <schwab@suse.de>
18664
18665         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
18666
18667 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
18668
18669         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
18670         request a scratch reg on H8S when the shift count is 8.
18671
18672 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
18673
18674         * config/s390/s390-protos.h (preferred_la_operand_p):
18675         Remove second parameter.
18676         * config/s390/s390.c (preferred_la_operand_p): Likewise.
18677         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
18678         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
18679         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
18680         Add peepholes to transform ADD to LOAD ADDRESS.
18681
18682 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
18683
18684         * arm.c (arm_address_register_rtx_p): New function.
18685         (arm_legitimate_address_p): New function.
18686         (arm_legitimate_index_p): New function.
18687         (legitimize_pic_address): Use arm_legitimate_index_p.
18688         * arm-protos.h (arm_legtimate_address_p): Add prototype.
18689         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
18690         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
18691
18692 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
18693
18694         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
18695         * config/s390/2064.md (define_bypass): Correct 'Load' and
18696         'Load-address' bypass values.
18697
18698 2003-01-22  Andreas Schwab  <schwab@suse.de>
18699
18700         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
18701
18702 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
18703
18704         * genautomata.c (output_internal_insn_latency_func,
18705         output_print_reservation_func): Short circuit when there is no
18706         automaton to generate code for.
18707
18708 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18709
18710         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
18711         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
18712
18713 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
18714
18715         * config/rs6000/rs6000.md: Remove warning.
18716         (builtin_setjmp_receiver): Likewise.
18717         * config/darwin.c (update_stubs): Slightly improve terrible hack
18718         with identifiers.  Add comment pointing out problems with it.
18719         (update_non_lazy_ptrs): Likewise.
18720
18721 2003-01-21  Richard Henderson  <rth@redhat.com>
18722
18723         * dwarf2out.c (lookup_filename): Fix printf format warning.
18724         * system.h (fread_unlocked, fwrite_unlocked): Undef.
18725
18726         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
18727         (fixincl.o-warn, gnu-regex.o-warn): New.
18728         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
18729         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
18730         * fixinc/fixincl.c (process): Fix printf format warning.
18731
18732 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
18733
18734         * dwarf2out (output_file_names): Don't crash if called
18735         with empty file_table.
18736
18737 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
18738
18739         * genautomata.c (output_internal_insn_latency_func): Add
18740         missing break statement to generated code.
18741
18742 2003-01-21  Roger Sayle  <roger@eyesopen.com>
18743
18744         * stmt.c (same_case_target_p): New function to determine whether
18745         two case labels branch to the same target.  Split out from...
18746         (group_case_nodes): ... here.  Use same_case_target_p instead.
18747         (strip_default_case_nodes): Remove explicit case nodes
18748         that branch to the default destination.
18749         (expand_end_case_type): Call strip_default_case_nodes after
18750         group_case_nodes, to simplify the case-list before we count it.
18751         Only generate table_label RTX when actually needed.  Try to share
18752         thiscase->exit_label and thiscase->data.case_stmt.default_label
18753         when a switch has no explicit default case.  Simplify test for
18754         constant index.
18755
18756 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
18757
18758         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
18759         \t.
18760         (*negsf2_h8300hs): Likewise.
18761         (*addsi3_lshiftrt_16_zexthi): Likewise.
18762         (*iorhi3_lshiftrt_8): Likewise.
18763
18764 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
18765
18766         * dwarf2out.c (fde_table_in_use): Mark GTY.
18767         (dwarf2out_cfi_label_num): New variable, marked GTY.
18768         (dwarf2out_cfi_label): Use it instead of static label_num.
18769         * emit-rtl.c (label_num): Mark GTY.
18770
18771 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
18772
18773         * config/h8300/h8300.c (output_plussi): Support H8/300.
18774         (compute_plussi_length): Likewise.
18775         (compute_plussi_cc): Likewise.
18776         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
18777         output assembly instructions.
18778
18779 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18780
18781         * calls.c (fix_unsafe_tree): Prototype.
18782
18783         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
18784         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
18785         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
18786         c-parse.o-warn): Add -Wno-error.
18787         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
18788
18789         * configure.in (--enable-werror): Add new flag.
18790         * doc/install.texi (--enable-werror): Document.
18791         * configure: Regenerate.
18792
18793         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
18794
18795 2003-01-21  Andreas Schwab  <schwab@suse.de>
18796
18797         * genautomata.c (output_internal_insn_latency_func): Fix missing
18798         close paren in output.
18799
18800 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
18801
18802         * genautomata.c: Space savings in generated code:
18803         (output_dfa_insn_code_func): Split out the table-enlargement
18804         path to an out-of-line static function, dfa_insn_code_enlarge.
18805         (output_internal_insn_latency_func): Use a lookup table for the
18806         default latencies.
18807         (output_print_reservation_func): Use a lookup table for the
18808         strings.
18809
18810 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
18811
18812         PR opt/7507
18813         * calls.c (fix_unsafe_tree): Split out from ...
18814         (expand_call): ... here.  Use it on the function address too.
18815
18816 2003-01-20  Richard Henderson  <rth@redhat.com>
18817
18818         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
18819
18820 2003-01-20  Richard Henderson  <rth@redhat.com>
18821
18822         PR opt/7154
18823         * stmt.c (expand_asm_operands): Validize memory operands.
18824
18825 2003-01-20  Richard Henderson  <rth@redhat.com>
18826
18827         PR opt/8848
18828         * ifcvt.c (noce_process_if_block): Correct arguments to
18829         modified_between_p for no-else-block case.
18830
18831 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
18832
18833         * config/h8300/h8300.c (const_costs): Remove a warning.
18834         (output_plussi): Likewise.
18835         (compute_plussi_length): Likewise.
18836         (compute_plussi_cc): Likewise.
18837
18838 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
18839
18840         * config/h8300/h8300.md (addsi_h8300): Remove the last
18841         alternative.
18842
18843 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
18844
18845         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
18846
18847 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18848
18849         * system.h (__NO_STRING_INLINES): Define.
18850
18851 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
18852
18853         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
18854         is not a scalar int mode.
18855
18856 2003-01-20  Roger Sayle  <roger@eyesopen.com>
18857
18858         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
18859         insn's notes following a substitution inside a libcall.
18860
18861 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
18862
18863         * configure.in: Check for system-provided 'uchar' type.
18864         * configure, config.in: Regenerate.
18865         * cpphash.h: Only typedef 'uchar' if the system doesn't.
18866
18867 2003-01-20  Richard Henderson  <rth@redhat.com>
18868
18869         * expr.h (MUST_PASS_IN_STACK): Move implementation...
18870         * calls.c (default_must_pass_in_stack): ... here.
18871
18872 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
18873
18874         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
18875
18876         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
18877
18878         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
18879         Wrap up definition of `insn_alts'.
18880
18881         * genattrtab.c (main): Wrap up `insn_alts'.
18882
18883 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18884
18885         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
18886         prototyping.
18887         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
18888
18889         * config.in, configure: Regenerate.
18890
18891 2003-01-20  Nick Clifton  <nickc@redhat.com>
18892
18893         * config/arm/arm.md (sibcall_epilogue): Add an
18894         UNSPEC_PROLOGUE_USE to prevent the link register from being
18895         considered dead.
18896
18897 2003-01-20  Jan Hubicka  <jh@suse.cz>
18898
18899         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
18900
18901 2003-01-20  Andreas Schwab  <schwab@suse.de>
18902
18903         * system.h: Don't declare strsignal if the decl test hasn't been
18904         run yet.
18905
18906 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
18907
18908         * config/h8300/h8300.c (notice_update_cc): Don't assume that
18909         recog_data.operands[0] is always associated with cc0.
18910
18911 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
18912
18913         * collect2.c (ldgetname): Expand declaration to prototype.
18914         * read-rtl.c (atoll): Add prototype.
18915         * system.h (strsignal): Also declare if no declaration found.
18916
18917 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
18918
18919         * config.gcc (mips64*-*-linux*): Added.
18920         * config/mips/linux64.h, config/mips/t-linux64: New file.
18921         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
18922         * config/mips/mips.c (override_options): Use it.
18923         * config/mips/mips.h (TARGET_SWITCHES): Added...
18924         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
18925         * Makefile.in (SPECS): New.
18926         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
18927         * gcc.c (process_command): Move self-spec processing past spec
18928         file loading.
18929         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
18930         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
18931         CRTSTUFF_T_CFLAGS.
18932         (SPECS): Document.
18933         * doc/invoke.texi (-mabi-fake-default): Document.
18934
18935 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
18936
18937         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
18938         z_reg, z_reg_qi): Declare static and GTY().
18939         (da_reg): Remove.
18940         (create_regs_rtx): Don't create da_reg.
18941         ("gt-m68hc11.h"): Include for GTY roots.
18942         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
18943         and GTY() here.
18944         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
18945         (m68hc11_soft_tmp_reg): Likewise.
18946         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
18947
18948 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
18949
18950         * basic-block.h: Fix comment formatting.
18951         * calls.c: Likewise.
18952         * combine.c: Likewise.
18953         * convert.c: Likewise.
18954         * gcov.c: Likewise.
18955         * haifa-sched.c: Likewise.
18956         * libgcc2.c: Likewise.
18957         * loop.c: Likewise.
18958         * profile.c: Likewise.
18959         * system.h: Likewise.
18960
18961 2003-01-18  Roger Sayle  <roger@eyesopen.com>
18962
18963         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
18964
18965 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18966
18967         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
18968
18969 2003-01-17  Dale Johannesen  <dalej@apple.com>
18970
18971         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
18972           (*floatunssidf2_internal):  Ditto.
18973
18974 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
18975
18976         * alias.c: Fix comment typos.
18977         * basic-block.h: Likewise.
18978         * c-common.c: Likewise.
18979         * c-common.h: Likewise.
18980         * c-decl.c: Likewise.
18981         * c-opts.c: Likewise.
18982         * c-pragma.c: Likewise.
18983         * c-pretty-print.h: Likewise.
18984         * cfg.c: Likewise.
18985         * cfganal.c: Likewise.
18986         * cfgbuild.c: Likewise.
18987         * cfgcleanup.c: Likewise.
18988         * cfglayout.c: Likewise.
18989         * cfgrtl.c: Likewise.
18990         * convert.c: Likewise.
18991         * cpphash.h: Likewise.
18992         * cpplex.c: Likewise.
18993         * cpplib.h: Likewise.
18994         * df.h: Likewise.
18995         * diagnostic.c: Likewise.
18996         * diagnostic.h: Likewise.
18997         * dwarf2.h: Likewise.
18998
18999 2003-01-17  Stan Shebs  <shebs@apple.com>
19000
19001         * config/darwin-protos.h: Forward-declare struct cpp_reader.
19002
19003 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
19004
19005         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
19006         mistake in last checkin.
19007
19008 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
19009
19010         * et-forest.c: Fix comment typos.
19011         * et-forest.h: Likewise.
19012         * except.c: Likewise.
19013         * expr.c: Likewise.
19014         * flags.h: Likewise.
19015         * flow.c: Likewise.
19016         * gcc.c: Likewise.
19017         * gcse.c: Likewise.
19018         * genattrtab.c: Likewise.
19019         * genautomata.c: Likewise.
19020         * gengtype.c: Likewise.
19021         * genrecog.c: Likewise.
19022         * global.c: Likewise.
19023         * gthr-rtems.h: Likewise.
19024
19025 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19026
19027         * i386.c (x86_function_profiler): Fix format specifier.
19028
19029 2003-01-17  Richard Henderson  <rth@redhat.com>
19030
19031         * gengtype.c (walk_type): Allow paramN_is.
19032
19033 2003-01-17  Nick Clifton  <nickc@redhat.com>
19034
19035         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
19036
19037 2003-01-16  Richard Henderson  <rth@redhat.com>
19038
19039         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
19040
19041 2003-01-16  Richard Henderson  <rth@redhat.com>
19042
19043         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
19044         (alpha_next_sequence_number): Likewise.
19045         (alpha_this_literal_sequence_number): Likewise.
19046         (alpha_this_gpdisp_sequence_number): Likewise.
19047         (struct alpha_funcs, alpha_funcs_num): Likewise.
19048         (struct alpha_links): Fix branch merge error.
19049         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
19050
19051 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
19052
19053         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
19054         R. Ghazi.
19055
19056 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
19057
19058         * ifcvt.c: Fix comment typos.
19059         * lcm.c: Likewise.
19060         * libgcc2.c: Likewise.
19061         * local-alloc.c: Likewise.
19062         * loop.c: Likewise.
19063         * predict.c: Likewise.
19064         * ra-build.c: Likewise.
19065         * ra.c: Likewise.
19066         * ra-colorize.c: Likewise.
19067         * ra.h: Likewise.
19068         * ra-rewrite.c: Likewise.
19069         * regmove.c: Likewise.
19070         * reload.h: Likewise.
19071         * rtlanal.c: Likewise.
19072         * toplev.c: Likewise.
19073         * tree.h: Likewise.
19074         * unwind-dw2-fde-glibc.c: Likewise.
19075         * vmsdbgout.c: Likewise.
19076
19077 2003-01-16  Richard Henderson  <rth@redhat.com>
19078
19079         * dwarf2out.c (struct file_table): Remove.
19080         (FILE_TABLE_INCREMENT): Remove.
19081         (file_table): Make a varray; mark for GC.  Update all users.
19082         (file_table_last_lookup_index): Extract from struct file_table.
19083         (output_file_names): Fix unsigned compare warnings.
19084         (add_name_attribute): Remove inline marker.
19085         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
19086         (lookup_filename): Don't manage size of file_table.
19087         (init_file_table): Allocate file_table with GC.
19088         (dwarf2out_init): Don't record main_input_filename here.
19089         (dwarf2out_finish): Do it here instead.
19090
19091 2003-01-16  Bruce Korb  <bkorb@gnu.org>
19092
19093         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
19094
19095 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
19096
19097         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
19098         instead of rotldi3_mextr.
19099
19100 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
19101
19102         * haifa-sched.c (move_insn): Restore moving all schedule group.
19103         (set_priorities): Restore taking SCHED_GROUP_P into account.
19104
19105         * sched-deps.c (add_dependence): Restore processing the last group
19106         insn.
19107         (remove_dependence, group_leader): Restore the functions.
19108         (set_sched_group_p): Restore adding dependencies from previous insn
19109         in the group.
19110         (compute_forward_dependences): Restore usage of group_leader.
19111
19112         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
19113         account.
19114
19115         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
19116         account.
19117         (can_schedule_ready_p): Ditto.
19118         (add_branch_dependences): Restore skipping over the group insns.
19119
19120 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
19121
19122         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
19123         68HC12 pre/post inc/dec side effects.
19124
19125 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
19126
19127         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
19128
19129 2003-01-16  J"orn Rennecke <amylaar@onetel.net.uk>
19130
19131         * sh.md (mshflo_w_x): Fix description of operation.
19132
19133 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
19134
19135         * config/rs6000/rs6000.h: Mention Altivec registers in
19136         commentary.  Fix typo.
19137
19138 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
19139
19140         * config/rs6000/rs6000.md (movti_string): Remove clobber.
19141         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
19142         generate PARALLEL with clobber for TARGET_POWER.
19143
19144 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19145
19146         * ra-colorize.c (colorize_one_web): Initialize variable.
19147         * regmove.c (fixup_match_1): Likewise.
19148         * reload1.c (reload_as_needed): Likewise.
19149         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
19150
19151 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
19152
19153         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
19154
19155 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19156
19157         * dbxout.c (lastfile, cwd): Fix `unused' warning.
19158         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
19159         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
19160         is_main_source, file_table, decl_die_table_in_use,
19161         abbrev_die_table_in_use, line_info_table_in_use,
19162         separate_line_info_table_in_use, pubname_table_in_use,
19163         arange_table_in_use, ranges_table_in_use,
19164         current_function_has_inlines): Likewise.
19165         * flow.c (life_analysis): Likewise.
19166         * genemit.c (gen_insn): Likewise.
19167         * protoize.c (cplus_suffix): Likewise.
19168
19169         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
19170         * arm.h (ROUND_UP_WORD): Likewise.
19171
19172         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
19173         warning.
19174         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
19175         init_emit_once): Likewise.
19176         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
19177         Likewise.
19178         * function.c (assign_stack_temp_for_type): Likewise.
19179         * loop.c (loop_invariant_p): Likewise.
19180         * recog.c (push_operand): Likewise.
19181         * regclass.c (init_reg_sets_1): Likewise.
19182         * reload.c (update_auto_inc_notes): Likewise.
19183         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
19184         * stmt.c (expand_asm_operands): Likewise.
19185         * stor-layout.c (start_record_layout): Likewise.
19186
19187 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
19188
19189         * config/c4x/c4x.md (epilogue): Correct last patch.
19190
19191 2003-01-15  Richard Henderson  <rth@redhat.com>
19192
19193         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
19194         also check that GP is being used.
19195         (alpha_find_lo_sum_using_gp): New.
19196         (alpha_does_function_need_gp): Use get_attr_usegp.
19197         * config/alpha/alpha-protos.h: Update.
19198         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
19199         as needed.
19200
19201 2003-01-15  Roger Sayle  <roger@eyesopen.com>
19202
19203         * gcse.c (one_cprop_pass): Change function arguments to take both
19204         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
19205         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
19206         (bypass_jumps): New function to perform separate jump bypassing pass.
19207         * rtl.h (bypass_jumps): Add function prototype.
19208         * timevar.def (TV_BYPASS): New timing variable.
19209         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
19210         (dump_file): New entry for the bypass RTL dump file.
19211         (rest_of_compilation): Insert new jump bypassing optimization
19212         pass after loop.
19213         * doc/passes.texi: Document new pass.
19214
19215 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19216
19217         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
19218         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
19219         * pa.h (TARGET_SOM_SDEF): Define.
19220         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
19221
19222 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
19223
19224         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
19225         allocate 4-bytes of locals on 68HC11.
19226         (expand_epilogue): Likewise.
19227         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
19228
19229 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
19230
19231         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
19232         and -mshort-double to the assembler to specify the ABI.
19233         (LINK_SPEC): Likewise.
19234         (CPP_SPEC): Pass HCS12 specific define.
19235         (MASK_M68S12): New define.
19236         (TARGET_M68S12): Likewise.
19237         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
19238         (TARGET_VERSION): Update.
19239         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
19240         (LINK_SPEC): Update.
19241         (ASM_SPEC): Update.
19242         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
19243         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
19244
19245 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
19246
19247         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
19248         the return code.
19249
19250 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
19251
19252         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
19253         flag before setting it.
19254
19255 2003-01-15  Roger Sayle  <roger@eyesopen.com>
19256
19257         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
19258         when loop condition is known true, i.e.  "while (1) { ... }".
19259         (genrtl_for_stmt): Similarly for "for" statements.
19260
19261 2003-01-15  Roger Sayle  <roger@eyesopen.com>
19262
19263         * real.c (real_sqrt): Return a bool result indicating whether
19264         a floating point exception or trap should be raised.
19265         * real.h (real_sqrt): Update function prototype.
19266         * builtins.c (fold_builtin): Only fold non-trapping square
19267         roots unless we're ignoring errno and trapping math.
19268
19269 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
19270
19271         * expr.h (emit_conditional_add): Add PARAMS to declaration.
19272         * gengtype-lex.l (malloc, realloc): Move defines after include of
19273         system.h.  Remove duplicate include of system.h.
19274
19275 2003-01-15  Roger Sayle  <roger@eyesopen.com>
19276
19277         PR middle-end/9009
19278         * optabs.c (expand_unop):  When manipulating the FP sign bit
19279         using integer operations, account for targets with different
19280         integer and FP word orders.
19281         (expand_abs): Likewise.
19282
19283 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
19284
19285         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
19286         file extension in section name.
19287
19288 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
19289
19290         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
19291         constant offset.
19292
19293 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
19294
19295         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
19296         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
19297         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
19298         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
19299
19300 2003-01-15  Jan Hubicka  <jh@suse.cz>
19301
19302         PR f/9258
19303         * global.c (struct allocno): Add no_stack_reg.
19304         (global_conflicts): Set no_stack_reg.
19305         (find_reg): Use it.
19306
19307         * convert.c (convert_to_real): Fold - and abs only when profitable.
19308         * fold-const.c (fold): Fold truncates in - and abs.
19309
19310 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
19311
19312         Segher Boessenkool  <segher@koffie.nl>
19313
19314         * predict.c (real_inv_br_prob_base): New variable.
19315         (propagate_freq): Use multiply by reciprocal instead of
19316         division.  Don't divide by 1.0 at all.
19317         (estimate_bb_frequencies): Similar.
19318
19319 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
19320
19321         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
19322         * configure: Rebuilt.
19323
19324 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
19325
19326         * config/s390/s390.c (s390_safe_attr_type): New function.
19327         (s390_use_dfa_pipeline_interface): New function, return true for z900.
19328         (s390_issue_rate): New function.
19329         (s390_agen_dep_p): New function.
19330         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
19331         (s390_adjust_cost): Return 'cost' if new DFA is used.
19332         (s390_adjust_priority): Delete function.
19333         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
19334         * config/s390/s390.md (atype attribute): Attribute 'atype' default
19335         determined by 'op_type'.
19336         (type attribute): Added more type attributes.
19337         * config/s390/2064.md: New DFA description for z900 pipeline.
19338
19339 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
19340
19341         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
19342         forced to memory.  Fixes PR bootstrap/9036.
19343
19344         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
19345         to set $gp before the call.
19346
19347 2003-01-14  Richard Henderson  <rth@redhat.com>
19348
19349         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
19350         for force_const_mem.
19351
19352 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19353
19354         * genattr.c (main): Rearrange output to avoid prototype warning.
19355         * genautomata.c (transform_3): Fix ambiguous-else warning.
19356         * local-alloc.c (requires_inout): Add parentheses around
19357         assignment used as truth-value.
19358         * timevar.c: Move system includes above local includes.  Include
19359         toplev.h
19360         * Makefile.in (timevar.o): Depend on toplev.h.
19361
19362 2003-01-14  Denis Chertykov  <denisc@overta.ru>
19363
19364         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
19365         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
19366
19367         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
19368         attributes.
19369         (TARGET_ATTRIBUTE_TABLE): New macro.
19370         (valid_machine_type_attribute): Remove.
19371         (valid_machine_decl_attribute): Remove.
19372         (ip2k_handle_progmem_attribute): New function.
19373         (ip2k_handle_fndecl_attribute): New function.
19374
19375 2003-01-10  Andrew Haley  <aph@redhat.com>
19376
19377         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
19378         registers to be in correct order.  Add rip.
19379
19380 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
19381
19382         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
19383         (*iorsi3_and_lshiftrt_9_sb): Likewise.
19384
19385 2003-01-14  Jan Hubicka  <jh@suse.cz>
19386
19387         * convert.c (strip_float_extensions):  Look for narrowest type handling
19388         FP constants.
19389
19390         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
19391         float1 CMP float2.
19392         * convert.c (strip_float_extensions): Make global.
19393         * tree.h (strip_float_extensions): Declare.
19394
19395 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
19396
19397         * timevar.def: define TV_NAME_LOOKUP.
19398         * timevar.c (timevar_pop): Be verbose when aborting.
19399
19400 2003-01-13  Andreas Schwab  <schwab@suse.de>
19401
19402         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
19403         $(parsedir), just move the temporary file at the end.
19404         ($(parsedir)/gengtype-yacc.c): Likewise.
19405
19406 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
19407
19408         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
19409         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
19410         splitting.
19411         * configure: Rebuilt.
19412
19413 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19414
19415         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
19416         internal_mcount): Don't use PARAMS.
19417         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
19418         ISO C style.
19419         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
19420
19421 2003-01-13  Andreas Schwab  <schwab@suse.de>
19422
19423         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
19424         directive.
19425
19426 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
19427
19428         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
19429         (*iorsi3_and_lshiftrt_n_sb): Likewise.
19430
19431 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
19432
19433         PR c++/9264
19434         * c-lex.c (c_lex): Set the token value to error_mark_node for
19435         invalid numeric constants.
19436
19437 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19438
19439         * c-pch.c (asm_file_startpos): Change to `long'.
19440         (pch_init): Use ftell, not ftello.
19441         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
19442         Use `long' instead of `off_t'.
19443         (c_common_read_pch): Likewise.
19444         * ggc-common.c (gt_pch_save): Use long/ftell instead of
19445         off_t/ftello.
19446
19447 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
19448
19449         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
19450
19451 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
19452
19453         * arm-protos.h (struct cpp_reader): Add declaration.
19454
19455 2003-01-11  Jan Hubicka  <jh@suse.cz>
19456
19457         PR target/9068
19458         * i386.c (output_fp_compare): Fix typo.
19459
19460 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
19461
19462         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
19463
19464 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
19465
19466         * Makefile.in (parsedir): New variable.
19467         (docobjdir): New variable.
19468         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
19469         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
19470         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
19471         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
19472         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
19473         Use docobjdir.
19474         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
19475         objc.maintainer-clean): Use parsedir.
19476
19477         * varasm.c (struct constant_descriptor_rtx): Remove unused
19478         `label' field.
19479
19480         * toplev.c (documented_lang_options): Document -Winvalid-pch.
19481
19482 2003-01-10  Richard Henderson  <rth@redhat.com>
19483
19484         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
19485         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
19486
19487 2003-01-10  Richard Henderson  <rth@redhat.com>
19488
19489         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
19490         not INTEGRAL_MODE_P when widening extensions.
19491
19492 2003-01-10  Richard Henderson  <rth@redhat.com>
19493
19494         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
19495
19496 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
19497
19498         * ggc-page.c (ggc_collect): Avoid overflow computing
19499         min_expand.
19500
19501         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
19502         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
19503         Remove calls.
19504         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
19505
19506 2003-01-10  Jan Hubicka  <jh@suse.cz>
19507
19508         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
19509         with weird operands.
19510
19511 2003-01-10  Dale Johannesen <dalej@apple.com>
19512
19513         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
19514         parameters.  Call check_sibcall_argument_overlap if indicated.
19515         (check_sibcall_argument_overlap):  Add mark_stored_args_map
19516         parameter.  Don't mark parameter area as clobbered if not set.
19517         (expand_call):  Adjust calls to above.
19518
19519 2003-01-10 Kelley Cook <kelleycook@comcast.net>
19520
19521         * configure.in (linker read-only and read-write section mixing):
19522         Squelch some assembler warnings.
19523         * configure: Likewise.
19524
19525 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
19526
19527         * doc/invoke.texi: Document -mtune, delete -mcpu
19528         option for S/390 and zSeries.
19529         * config/s390/s390.c (s390_tune_string) New variable.
19530         (s390_cpu_string) Delete variable.
19531         (override_options): Use s390_tune_string instead of
19532         s390_cpu_string.
19533         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
19534
19535 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
19536
19537         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
19538
19539 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
19540
19541         * jump.c (next_nonnote_insn_in_loop): New function.
19542         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
19543         next_nonnote_insn.
19544         (duplicate_loop_exit_test). Likewise.
19545
19546 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
19547
19548         Merge from pch-branch:
19549
19550         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
19551
19552         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
19553         load.
19554
19555         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
19556
19557         * cpplib.c (count_registered_pragmas): New function.
19558         (save_registered_pragmas): New function.
19559         (_cpp_save_pragma_names): New function.
19560         (restore_registered_pragmas): New function.
19561         (_cpp_restore_pragma_names): New function.
19562         * cpphash.h (_cpp_save_pragma_names): Prototype.
19563         (_cpp_restore_pragma_names): Likewise.
19564         * cpppch.c (struct save_macro_item): Split from save_macro_data.
19565         (struct save_macro_data): New field 'saved_pragmas'.
19566         (save_macros): Update for changes to struct save_macro_data.
19567         (cpp_prepare_state): Call _cpp_save_pragma_names, update
19568         for changes to struct save_macro_data.
19569         (cpp_read_state): Call _cpp_restore_pragma_names, update
19570         for changes to struct save_macro_data.
19571
19572         * cpppch.c (cpp_read_state): Restore the hashtable references
19573         in the cpp_reader.
19574
19575         * tree.h (built_in_decls): Mark for PCH.
19576
19577         * dbxout.c (lastfile): Don't mark for PCH.
19578
19579         * ggc.h: Document PCH calls into memory managers.
19580
19581         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
19582
19583         * doc/invoke.texi (Precompiled Headers): Document the
19584         directory form of PCH.
19585         * cppfiles.c (validate_pch): New function.
19586         (open_file_pch): Search suitably-named directories for PCH files.
19587
19588         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
19589
19590         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
19591         reorder options.
19592         (Type Information): Mention that the information is also
19593         used to implement PCH.
19594         * doc/passes.texi (Passes): Improve documentation of
19595         language-specific files.
19596
19597         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
19598
19599         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
19600         (struct walk_type_data): Add reorder_fn field.
19601         (walk_type): Process 'reorder' option.
19602         (write_types_process_field): Reorder parameters to gt_pch_note_object,
19603         call reorder_note_routine.
19604         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
19605         (ggc_wtd): Update for change to struct write_types_data.
19606         (pch_wtd): Likewise.
19607         * ggc.h (gt_pch_note_object): Reorder parameters.
19608         (gt_handle_reorder): New definition.
19609         (gt_pch_note_reorder): New prototype.
19610         * ggc-common.c (struct ptr_data): Add reorder_fn.
19611         (gt_pch_note_object): Reorder parameters.
19612         (gt_pch_note_reorder): New.
19613         (gt_pch_save): Call reorder_fn.
19614         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
19615
19616         * dbxout.c (cwd): Don't mark for PCH.
19617
19618         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
19619
19620         * gengtype.c (finish_root_table): Fix some warnings.
19621         (write_root): Handle TYPE_STRING.
19622         * ggc.h (gt_ggc_m_S): Add prototype.
19623         * stringpool.c (gt_ggc_m_S): New function.
19624
19625         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
19626
19627         * dwarf2out.c (dw2_string_counter): New.
19628         (AT_string_form): Use it.
19629         (same_dw_val_p): Update for removal of hashtable.h hash tables.
19630
19631         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
19632
19633         * dbxout.c: Include gt-dbxout.h.
19634         (lastfile): Mark for PCH/GGC.
19635         (cwd): Likewise.
19636         (struct typeinfo): Likewise.
19637         (typevec): Likewise.
19638         (typevec_len): Likewise.
19639         (next_type_number): Likewise.
19640         (struct dbx_file): Likewise.
19641         (current_file): Likewise.
19642         (next_file_number): Likewise.
19643         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
19644         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
19645         (dbxout_end_source_file): Don't free struct dbx_file.
19646         (dbxout_type): Use GGC to allocate typevec.
19647         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
19648         (GTFILES): Add dbxout.c.
19649         (gt-dbxout.h): New rule.
19650
19651         * Makefile.in (c-pch.o): Add debug.h as dependency.
19652         * c-pch.c: Include debug.h.
19653         (pch_init): Call start_source_file to keep nesting right.
19654         (c_common_read_pch): Add orig_name parameter.  Call
19655         start_source_file debug hook.  Call end_source_file debug hook.
19656         * c-common.h (c_common_read_pch): Update prototype.
19657         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
19658         callback.
19659         * cppfiles.c (struct include_file): Add new field `header_name'.
19660         (find_or_create_entry): Default it to `name'.
19661         (open_file_pch): Set it to the original header file searched for.
19662         (stack_include_file): Don't stack an empty buffer, just handle
19663         PCH files immediately.  Pass header_name field to read_pch callback.
19664
19665         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
19666
19667         * function.c (funcdef_no): Mark to be saved in a PCH.
19668
19669         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
19670
19671         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
19672
19673         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
19674
19675         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
19676
19677         * optabs.h (code_to_optab): Add GTY marker.
19678
19679         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
19680
19681         * Makefile.in (GTFILES): Add cpplib.h.
19682         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
19683         * c-decl.c (build_compound_literal): Don't use var_labelno.
19684         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
19685         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
19686         * varasm.c (const_labelno): Use gengtype to mark.
19687         (var_labelno): Likewise.
19688         (in_section): Likewise.
19689         (in_named_name): Likewise.
19690         (struct in_named_entry): Likewise.
19691         (in_named_htab): Likewise.
19692         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
19693         (init_varasm_once): Use GGC to allocate in_named_htab.
19694         * config/darwin.c (current_pic_label_num): Mark for PCH.
19695
19696         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
19697
19698         * ggc-simple.c (init_ggc_pch): New stub procedure.
19699         (ggc_pch_count_object): Likewise.
19700         (ggc_pch_total_size): Likewise.
19701         (ggc_pch_this_base): Likewise.
19702         (ggc_pch_alloc_object): Likewise.
19703         (ggc_pch_prepare_write): Likewise.
19704         (ggc_pch_write_object): Likewise
19705         (ggc_pch_finish): Likewise.
19706         (ggc_pch_read): Likewise.
19707
19708         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
19709
19710         * c-pch.c (c_common_write_pch): Write the macro definitions after
19711         the GCed data.
19712         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
19713         definitions after the GCed data.
19714         * cpplib.c (save_macros): New.
19715         (reset_ht): New.
19716         (cpp_write_pch_deps): Split out of cpp_write_pch.
19717         (cpp_write_pch_state): Split out of cpp_write_pch.
19718         (cpp_write_pch): Delete.
19719         (struct save_macro_data): Delete.
19720         (cpp_prepare_state): New.
19721         (cpp_read_state): Erase and restore initial macro definitions.
19722         * cpplib.h (struct save_macro_data): Forward-declare.
19723         (cpp_write_pch_deps): Prototype.
19724         (cpp_write_pch_state): Prototype.
19725         (cpp_write_pch): Delete prototype.
19726         (cpp_prepare_state): Prototype.
19727         (cpp_read_state): Add fourth argument.
19728
19729         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
19730
19731         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
19732         (write_array): Remove warning.
19733
19734         * gengtype.c (contains_scalar_p): New.
19735         (finish_root_table): Add the table to all languages, even if it's
19736         empty.
19737         (write_roots): Output gt_pch_scalar_rtab.
19738         * ggc-common.c (gt_pch_save): Write out scalars.
19739         (gt_pch_restore): Read scalars back.
19740
19741         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
19742         (struct page_entry): Delete pch_page field.
19743         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
19744         (clear_marks): Likewise.
19745         (sweep_pages): Likewise.
19746         (poison_pages): Likewise.
19747         (ggc_print_statistics): Likewise.
19748         (ggc_pch_read): Don't free objects read from a PCH.
19749         Properly set up in_use_p and page_tails.
19750
19751         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
19752
19753         * gengtype.c (struct write_types_data): New.
19754         (struct walk_type_data): Make `cookie' const; add extra
19755         prev_val item; add `orig_s' field.
19756         (walk_type): Update prev_val[3].
19757         (write_types_process_field): New.
19758         (write_func_for_structure): Take write_types_data structure.
19759         (write_types): New.
19760         (ggc_wtd): New.
19761         (pch_wtd): New.
19762         (write_types_local_process_field): New.
19763         (gc_mark_process_field): Delete.
19764         (write_local_func_for_structure): New.
19765         (gc_mark_func_name): Delete.
19766         (write_gc_types): Delete.
19767         (write_local): New.
19768         (finish_root_table): Don't include 'ggc_' in PFX.
19769         (write_root): Rename from write_root.  Fill pchw field of structures.
19770         (write_array): New.
19771         (write_roots): Rename from write_gc_roots.  Split out to write_array.
19772         Update to changes to other routines.  Write gt_pch_cache_rtab table.
19773         (main): Write PCH walking routines.
19774         * ggc-common.c: Include toplev.h, sys/mman.h.
19775         (ggc_mark_roots): For cache hashtables, also mark the hash table
19776         and the array of entries.
19777         (saving_htab): New.
19778         (struct ptr_data): New.
19779         (POINTER_HASH): New.
19780         (gt_pch_note_object): New.
19781         (saving_htab_hash): New.
19782         (saving_htab_eq): New.
19783         (struct traversal_state): New.
19784         (call_count): New.
19785         (call_alloc): New.
19786         (compare_ptr_data): New.
19787         (relocate_ptrs): New.
19788         (write_pch_globals): New.
19789         (struct mmap_info): New.
19790         (gt_pch_save): New.
19791         (gt_pch_restore): New.
19792         * ggc-page.c (ROUND_UP_VALUE): New.
19793         (ROUND_UP): New.
19794         (struct page_entry): Add field `pch_page'.
19795         (init_ggc): Use ROUND_UP.
19796         (struct ggc_pch_data): Declare.
19797         (init_ggc_pch): New.
19798         (ggc_pch_count_object): New.
19799         (ggc_pch_total_size): New.
19800         (ggc_pch_this_base): New.
19801         (ggc_pch_alloc_object): New.
19802         (ggc_pch_prepare_write): New.
19803         (ggc_pch_write_object): New.
19804         (ggc_pch_finish): New.
19805         (ggc_pch_read): New.
19806         * ggc.h (gt_pointer_operator): New.
19807         (gt_note_pointers): New.
19808         (gt_pch_note_object): New prototype.
19809         (gt_pointer_walker): New.
19810         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
19811         (LAST_GGC_ROOT_TAB): Update.
19812         (gt_pch_cache_rtab): Declare.
19813         (gt_pch_scalar_rtab): Declare.
19814         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
19815         (LAST_GGC_CACHE_TAB): Update.
19816         (gt_pch_save_stringpool): Declare.
19817         (gt_pch_restore_stringpool): Declare.
19818         (gt_pch_p_S): Declare.
19819         (gt_pch_n_S): Declare.
19820         (struct ggc_pch_data): Forward-declare.
19821         (init_ggc_pch): Declare.
19822         (ggc_pch_count_object): Declare.
19823         (ggc_pch_total_size): Declare.
19824         (ggc_pch_this_base): Declare.
19825         (ggc_pch_alloc_object): Declare.
19826         (ggc_pch_prepare_write): Declare.
19827         (ggc_pch_write_object): Declare.
19828         (ggc_pch_finish): Declare.
19829         (ggc_pch_read): Declare.
19830         (gt_pch_save): Declare.
19831         (gt_pch_restore): Declare.
19832         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
19833         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
19834         const_double_htab, mem_attrs_htab using GGC.
19835         * c-pch.c: Include ggc.h.
19836         (pch_init): Allow reading PCH file back.
19837         (c_common_write_pch): Call gt_pch_save.
19838         (c_common_read_pch): Call gt_pch_restore.
19839         * c-parse.in (init_reswords): Delete now-untrue comment.
19840         Allocate ridpointers using GGC.
19841         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
19842         calling expand_deferred_fns.
19843         * c-common.h (ridpointers): Mark for GTY machinery.
19844         * Makefile.in (stringpool.o): Update dependencies.
19845         (c-pch.o): Update dependencies.
19846         (ggc-common.o): Update dependencies.
19847         * stringpool.c: Include gt-stringpool.h.
19848         (gt_pch_p_S): New.
19849         (gt_pch_n_S): New.
19850         (struct string_pool_data): New.
19851         (spd): New.
19852         (gt_pch_save_stringpool): New.
19853         (gt_pch_restore_stringpool): New.
19854         * tree.c (init_ttree): Make type_hash_table allocated using GC.
19855
19856         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
19857
19858         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
19859         (output_mangled_typename): Don't pass size_t to printf.
19860
19861         * tree.h (union tree_type_symtab): Add tag to `address' field.
19862         (union tree_decl_u2): Add tag to 'i' field.
19863         * varasm.c (union rtx_const_un): Add tags to all fields.
19864         * gengtype.c (struct walk_type_data): New.
19865         (output_escaped_param): Take struct walk_type_data parameter.
19866         (write_gc_structure_fields): Delete.
19867         (walk_type): New.
19868         (write_gc_marker_routine_for_structure): Delete.
19869         (write_func_for_structure): New.
19870         (gc_mark_process_field): New.
19871         (gc_mark_func_name): New.
19872         (gc_counter): Delete.
19873         (write_gc_types): Use write_func_for_structure.
19874         (write_gc_roots): Use walk_type.
19875
19876         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
19877
19878         * ggc-common.c (ggc_mark_roots): Delete 'x'.
19879         (ggc_splay_dont_free): Fix warning about unused 'x'.
19880         (ggc_print_common_statistics): Remove warnings.
19881
19882         2002-10-01  Mike Stump  <mrs@apple.com>
19883
19884         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
19885         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
19886
19887         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
19888             Catherine Moore  <clm@redhat.com>
19889
19890         * Makefile (c-pch.o): Update dependencies.
19891         (LIBCPP_OBJS): Add cpppch.o.
19892         (cpppch.o): New.
19893         * c-common.c (c_common_init): Don't call pch_init here.
19894         * c-common.h (c_common_read_pch): Update prototype.
19895         * c-lex.c (c_common_parse_file): Call pch_init here.
19896         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
19897         (c_common_decode_option): Handle them.
19898         * c-pch.c: Include c-pragma.h.
19899         (save_asm_offset): Delete.
19900         (pch_init): Move contents of save_asm_offset into here, call
19901         cpp_save_state.
19902         (c_common_write_pch): Call cpp_write_pch.
19903         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
19904         cpp_valid_state.
19905         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
19906         * cppfiles.c (stack_include_file): Update for change to
19907         parameters of cb.read_pch.
19908         * cpphash.h (struct cpp_reader): Add `savedstate' field.
19909         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
19910         `restore_pch_deps' fields.
19911         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
19912         (cpp_save_state): Prototype.
19913         (cpp_write_pch): Prototype.
19914         (cpp_valid_state): Prototype.
19915         (cpp_read_state): Prototype.
19916         * cpppch.c: New file.
19917         * flags.h (version_flag): Remove prototype.
19918         * mkdeps.c (deps_save): New.
19919         (deps_restore): New.
19920         * mkdeps.h (deps_save): Prototype.
19921         (deps_restore): Prototype.
19922         * toplev.c (late_init_hook): Delete.
19923         (version_flag): Make static again.
19924         (compile_file): Don't call late_init_hook.
19925         * toplev.h (late_init_hook): Delete.
19926         * doc/cppopts.texi: Document -fpch-deps.
19927         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
19928
19929         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
19930
19931         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
19932         callers.
19933         (c_common_valid_pch): Rename from c_valid_pch, change callers.
19934         (c_common_read_pch): Rename from c_read_pch, change callers.
19935
19936         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
19937         a space between it and its argument.
19938
19939         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
19940
19941         * c-pch.c: New file.
19942         * toplev.h (late_init_hook): Declare.
19943         * toplev.c (late_init_hook): Define.
19944         (version_flag): Make globally visible.
19945         (compile_file): Call late_init_hook.
19946         (init_asm_output): Make output file seekable.
19947         * gcc.c (default_compilers): Update c-header rule.
19948         * flags.h (version_flag): Declare.
19949         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
19950         fields.
19951         * cppfiles.c (struct include_file): Add 'pch' field.
19952         (INCLUDE_PCH_P): New.
19953         (open_file_pch): New.
19954         (stack_include_file): Handle PCH files specially.
19955         (find_include_file): Call open_file_pch instead of open_file.
19956         (_cpp_read_file): Explain why open_file is used instead of
19957         open_file_pch.
19958         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
19959         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
19960         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
19961         in cpplib callbacks.
19962         * c-common.c (pch_file): Correct comment.
19963         (allow_pch): Define.
19964         (c_common_init): Call pch_init.
19965         * c-common.h (allow_pch): Declare.
19966         (pch_init): Declare.
19967         (c_valid_pch): Declare.
19968         (c_read_pch): Declare.
19969         (c_write_pch): Declare.
19970         * Makefile.in (c-pch.o): New.
19971         (C_AND_OBJC_OBJS): Add c-pch.o.
19972         * doc/invoke.texi (Precompiled Headers): Add index entries,
19973         complete truncated paragraph.
19974
19975         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
19976
19977         * c-common.c: (pch_file): Define.
19978         * c-common.h (pch_file): Declare.
19979         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
19980         (missing_arg): Require --output-pch= to have an argument.
19981         (c_common_decode_option): Handle --output-pch=.
19982         * gcc.c: Document new %V.
19983         (default_compilers): Handle compiling C header files.
19984         (do_spec_1): Implement %V.
19985         (main): Handle "gcc foo.h" without trying to run linker.
19986         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
19987         (Overall Options): Document what the driver does with header files,
19988         document new -x option possibilities.
19989         (Invoking G++): More documentation for PCH.
19990         (Precompiled Headers): New.
19991
19992         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
19993
19994         * ggc.h: Don't include varray.h.  Rearrange functions to be more
19995         organized.
19996         (ggc_add_root): Delete.
19997         (ggc_mark_rtx): Delete.
19998         (ggc_mark_tree): Delete.
19999         (struct ggc_statistics): Remove contents.
20000         * ggc-common.c: Remove unneeded includes.
20001         (struct ggc_root): Delete.
20002         (roots): Delete.
20003         (ggc_add_root): Delete.
20004         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
20005         (ggc_print_common_statistics): Remove most of the contents.
20006         * Makefile.in (GGC_H): No longer uses varray.h.
20007         (ggc-common.o): Update dependencies.
20008         (c-parse.o): Add varray.h to dependencies.
20009         (c-common.o): Add varray.h.
20010         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
20011         (mark_ident_hash): Rename to ggc_mark_stringpool.
20012         (init_stringpool): Don't use ggc_add_root.
20013         * c-parse.in: Include varray.h.
20014         * c-common.c: Include varray.h.
20015         * objc/Make-lang.in (objc-act.o): Add varray.h.
20016         * objc/objc-act.c: Include varray.h.
20017
20018         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
20019
20020         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
20021         (dw_cfi_oprnd1_desc): Likewise.
20022
20023         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
20024
20025         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
20026         move out of ifdef.
20027         (alpha_links): Use gengtype to mark; move out of ifdef.
20028         (mark_alpha_links_node): Delete.
20029         (mark_alpha_links): Delete.
20030         (alpha_need_linkage): Use GGC to allocate splay tree, struct
20031         alpha_links, strings.  Don't use ggc_add_root.
20032         * ggc-common.c (ggc_splay_alloc): New.
20033         (ggc_splay_dont_free): New.
20034         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
20035         (ggc_mark_tree): Likewise.
20036         (splay_tree_new_ggc): New.
20037         (ggc_splay_alloc): Declare.
20038         (ggc_splay_dont_free): Declare.
20039         * dwarf2asm.c: Include gt-dwarf2asm.h.
20040         (mark_indirect_pool_entry): Delete.
20041         (mark_indirect_pool): Delete.
20042         (indirect_pool): Use gengtype to mark.
20043         (dw2_force_const_mem): Don't use ggc_add_root.
20044         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
20045         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
20046         (gt-dwarf2asm.h): Depend on s-gtype.
20047
20048         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
20049
20050         * tree.h (union tree_type_symtab): Mark `die' field.
20051         * Makefile.in (dwarf2out.o): Update dependencies.
20052         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
20053         hash tables.
20054         (dw_cfi_oprnd1_desc): New function.
20055         (dw_cfi_oprnd2_desc): New function.
20056         (indirect_string_alloc): Delete.
20057         (debug_str_do_hash): New function.
20058         (debug_str_eq): New function.
20059         (mark_limbo_die_list): Delete.
20060         (dwarf2out_init): Don't call ggc_add_root.
20061
20062 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
20063
20064         The following changes are merged from itanium-sched-branch:
20065
20066         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
20067
20068         * doc/md.texi: Clarify assignment of units to automata description.
20069
20070         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
20071
20072         * genautomata.c (unit_decl): Remove members
20073         `the_same_automaton_unit' and
20074         `the_same_automaton_message_reported_p'.
20075         (process_unit_to_form_the_same_automaton_unit_lists,
20076         form_the_same_automaton_unit_lists_from_regexp,
20077         form_the_same_automaton_unit_lists, the_same_automaton_lists):
20078         Remove them.
20079         (annotation_message_reported_p): New global variable.
20080         (check_unit_distribution_in_reserv,
20081         check_regexp_units_distribution): New functions.
20082         (check_unit_distributions_to_automata): Rewrite it.
20083
20084         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
20085
20086         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
20087         Use continue instead of break if cycle is too big.
20088
20089         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
20090
20091         * genautomata.c (check_unit_distributions_to_automata): Output at
20092         most one message for a unit.
20093         (process_unit_to_form_the_same_automaton_unit_lists): Check
20094         automaton of units instead of units themself.
20095
20096         * doc/md.texi: Describe the constraint about assigning unit to
20097         automata.
20098
20099         2002-12-20  Jan Hubicka  <jH@suse.cz>
20100                     Vladimir Makarov  <vmakarov@redhat.com>
20101
20102         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
20103         and `in_set_p'.
20104         (gen_cpu_unit): Initialize the new members.
20105         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
20106         up `min_occ_cycle_num'.
20107         (evaluate_max_reserv_cycles): Change the function call.
20108         (CLEAR_BIT): New macro.
20109         (states_union, state_shift): Use the mask.
20110         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
20111         (form_reservs_matter): New function.
20112         (make_automaton): Call the function and use the mask.
20113         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
20114         account.
20115
20116         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
20117
20118         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
20119
20120         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
20121
20122         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
20123         for Itanium.
20124
20125         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
20126
20127         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
20128         default cpu.
20129
20130         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
20131                 2002-10-31  Dale Johannesen <dalej@apple.com>
20132
20133         * haifa-sched.c (find_set_reg_weight): New function.
20134         (find_insn_reg_weight): Use the new function.
20135         (schedule_block): Do sorting ready queue always
20136         after insn issue.
20137
20138         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
20139
20140         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
20141
20142         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
20143
20144         * haifa-sched.c (choice_entry): New structure.
20145         (choice_stack, cycle_issued_insns): New variables.
20146         (max_issue): Rewrite it.
20147         (choose_ready): Set up ready_try for unknown insns too.
20148         (schedule_block): Allocate and free choice_stack.  Set up
20149         and modify cycle_issued_insns.
20150
20151         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
20152         with and without filling the bundle.
20153         (bundling): Combine calls of issue_nops_and_insn.
20154
20155         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
20156
20157         * config/ia64/itanium1.md: New file.
20158
20159         * config/ia64/itanium2.md: New file.
20160
20161         * config/ia64/ia64.md: Move DFA descriptions into the new files.
20162         Remove the old pipeline description.
20163
20164         * config/ia64/ia64.c (ia64_override_options): Add aliases of
20165         itanium processor names.
20166
20167         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
20168
20169         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
20170         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
20171
20172         * config/ia64/ia64.md: Add descriptions for Itanium2.
20173
20174         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
20175
20176         * config/ia64/ia64.h (processor_type): New enumeration.
20177         (ia64_tune, ia64_tune_string): New external declarations.
20178         (TARGET_OPTIONS): Add option `tune='.
20179
20180         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
20181         variables.
20182         (ia64_override_options): Set up `ia64_tune'.
20183         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
20184         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
20185         (bundling): Add nops for MM-insns only for Itanium.
20186         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
20187         Itanium.
20188
20189         * config/ia64/ia64.md (cpu): New attribute.
20190         (DFA description): Enable it only for Itanium.
20191
20192         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
20193                     Richard Henderson  <rth@redhat.com>
20194
20195         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
20196         MASK_EARLY_STOP_BITS.
20197         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
20198         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
20199         `early-stop-bits'.
20200
20201         * config/ia64/ia64.c (ia64_dfa_new_cycle,
20202         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
20203         instead of TARGET_TUNE_STOP_BITS.
20204
20205         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
20206         `-mearly-stop-bits'.
20207
20208         * config/ia64/ia64.c (automata_option "v"): Comment it.
20209
20210         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
20211
20212         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
20213         New macros.
20214         (TARGET_SWITCHES): Add entries for the new option.
20215
20216         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
20217         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
20218         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
20219         global variables.
20220         (ia64_sched_reorder2): Set up `clocks'.
20221         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
20222         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
20223         queue when TARGET_TUNE_STOP_BITS.
20224         (bundling): Insert additional nops for MM-insns.
20225         (final_emit_insn_group_barriers): Add insertion of stop bits
20226         according `stops_p'.
20227         (ia64_reorg): Initiate the new varibales.
20228
20229         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
20230
20231         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
20232
20233         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
20234         insns at the end of block insn scheduling.
20235
20236         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
20237
20238         * sched-deps.c (remove_dependence, group_leader): Remove it.
20239         (add_dependence): Add dependence to group leader to.
20240         (set_sched_group_p): Add dependence to the first insn of the
20241         schedule group too.
20242         (sched_analyze_insn): Make dependence to jump as anti-dependence.
20243         Change true dependence by anti-dependence when
20244         `reg_pending_barrier'.
20245
20246         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
20247         add_branch_dependences): Ignore schedule groups.
20248
20249         * sched-ebb.c (init_ready_list): Ditto.
20250
20251         * (move_insn, set_priorities): Ditto.
20252
20253         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
20254         flag is clear after reload.
20255         (adjust_cost): Change cost only for output dependencies.
20256
20257         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
20258
20259         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
20260
20261         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
20262
20263         * target.h (gcc_target): Add member
20264         `dependencies_evaluation_hook'.
20265
20266         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
20267         macro.
20268         (TARGET_SCHED): Add initiatialization of the new member.
20269
20270         * sched-ebb.c: Include `target.h'.
20271         (schedule_ebb): Call `dependencies_evaluation_hook'.
20272
20273         * sched-rgn.c (schedule_region): Call
20274         `dependencies_evaluation_hook'.
20275
20276         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
20277         New macro.
20278         (ia64_dependencies_evaluation_hook): New function.
20279
20280         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
20281         Describe the new hook.
20282
20283         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
20284
20285         * target.h (gcc_target): Add members
20286         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
20287
20288         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
20289         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
20290         macros.
20291         (TARGET_SCHED): Add initiatialization of the new members.
20292
20293         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
20294         insn scheduling too.
20295         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
20296         initialize `ready_try'.
20297         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
20298         `dfa_new_cycle' says not to do it.
20299
20300         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
20301         bundling.
20302
20303         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
20304
20305         * config/ia64/ia64.c: Include `hashtab.h'.
20306         (ia64_first_cycle_multipass_dfa_lookahead_guard,
20307         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
20308         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
20309         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
20310         bundle_state_eq_p, insert_bundle_state,
20311         initiate_bundle_state_table, finish_bundle_state_table,
20312         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
20313         get_template, get_next_important_insn, bundling): New functions.
20314         (ia64_internal_sched_reorder): Remove it.
20315         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
20316         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
20317         (ia64_safe_itanium_requires_unit0): Remove it.
20318         (group_barrier_needed_p): Place group barrier right before a real
20319         insn.
20320         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
20321         Remove them.
20322         (bundle_name): New variable.
20323         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
20324         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
20325         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
20326         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
20327         temp_dfa_state, prev_cycle_state): New global variables.
20328         (insn_matches_slot, maybe_rotate, finish_last_head,
20329         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
20330         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
20331         find_best_packet, itanium_reorder, dump_current_packet,
20332         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
20333         (sched_data, sched_ready, sched_types): Remove them.
20334         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
20335         `init_insn_group_barriers'.
20336         (ia64_sched_reorder, ia64_sched_reorder2): Call
20337         ia64_dfa_sched_reorder.
20338         (ia64_variable_issue): Rewrite it.
20339         (bundle_state): New structure.
20340         (index_to_bundle_states, bundle_states_num,
20341         allocated_bundle_states_chain, free_bundle_state_chain): New
20342         global variables.
20343         (ia64_sched_finish): Add stop bits and call `bundling' after the
20344         2nd insn scheduling.
20345         (ia64_use_dfa_pipeline_interface): Return zero always.
20346         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
20347         insn scheduling.
20348         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
20349         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
20350         (ia64_reorg): Add bundling insns.
20351
20352         * doc/tm.texi
20353         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
20354         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
20355
20356         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
20357
20358         * config/ia64/ia64.md: Add Itanium1 DFA description.
20359         (itanium_class): Add `nop' and `pre_cycle'.  Add
20360         define_function_unit for `nop'.
20361         (nop): Change attribute `itanium_class'.
20362         (pre_cycle): New define_insn.
20363
20364         * config/ia64/ia64-protos.h (bundling_p): New external variable.
20365         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
20366         ia64_produce_address_p): New function prototypes.
20367
20368         * config/ia64/ia64.c (bundling_p): New global variable.
20369         (ia64_use_dfa_pipeline_interface,
20370         ia64_first_cycle_multipass_dfa_lookahead,
20371         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
20372         functions.
20373         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
20374         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
20375         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
20376         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
20377         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
20378         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
20379         (dfa_pre_cycle_insn): New variable.
20380
20381         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
20382
20383         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
20384         constructions.
20385
20386         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
20387         New function prototypes.
20388
20389         * genattrtab.c (main): Process the new constructions.
20390
20391         * genautomata.c (gen_presence_absence_set,
20392         process_presence_absence_names, process_presence_absence_patterns,
20393         add_presence_absence, check_absence_pattern_sets): Add parameter
20394         `final_p'.
20395         (unit_decl): Add new members `final_presence_list' and
20396         `final_absence_list'.
20397         (unit_pattern_rel_decl): Add new member `final_p'.
20398         (gen_final_presence_set, gen_final_absence_set): New functions.
20399         (process_decls): Use member `final_p'.
20400         (temp_reserv): New global variable.
20401         (reserv_sets_are_intersected): Add processing `final_presence_set'
20402         and `final_absence_set'.
20403         (initiate_states): Allocate `temp_reserv'.
20404         (unit_final_presence_set_table, unit_final_absence_set_table): New
20405         gloabal variables.
20406         (initiate_presence_absence_pattern_sets): Initiate them.
20407         (NDFA_to_DFA): Fix typo.
20408         (output_description): Output `final_presence_set' and
20409         `final_absence_set'.
20410
20411         * doc/md.texi (final_presence_set, final_absence_set): Describe
20412         them.
20413
20414         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
20415
20416         * genautomata.c (transform_3): Process a missing case (nothing on
20417         unit place).
20418
20419         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
20420
20421         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
20422         comments about queried units and the minimization.
20423
20424         * doc/md.texi: Ditto.
20425
20426         * genautomata.c (create_composed_state): Return nonzero if the new
20427         state has been created.
20428         (first_cycle_unit_presence): New function.
20429         (state_is_differed): Add new parameter.  Use the new function.
20430         Take queried units into account.
20431         (partition_equiv_class): Pass additional parameter to
20432         `state_is_differed'.
20433         (merge_states): Process composed states too.
20434         (build_automaton, create_automata, output_min_issue_delay_table,
20435         output_tables, output_statistics): Output more information.
20436         (output_reserved_units_table): Use function
20437         `first_cycle_unit_presence'.
20438         (output_tables): Output table of queried units even if the
20439         minimization is switched on.
20440         (write_automata): Output code for querying units even if the
20441         minimization is switched on.
20442
20443         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
20444
20445         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
20446         syntax of the constructions.
20447
20448         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
20449         extended syntax of the constructions.
20450
20451         * genautomata.c (unit_rel_decl): Rename it to
20452         `unit_pattern_rel_decl'.
20453         (pattern_set_el, pattern_reserv): New structures.
20454         (pattern_set_el_t, pattern_reserv_t): New types.
20455         (gen_presence_absence_set): New function.
20456         (process_presence_absence): Remove it.
20457         (process_presence_absence_names,
20458         process_presence_absence_patterns): New functions.
20459         (get_presence_absence_set): Remove it.
20460         (initiate_presence_absence_sets): Rename it on
20461         `initiate_presence_absence_pattern_sets'.  Use new function
20462         `form_reserv_sets_list'.
20463         (form_reserv_sets_list, check_presence_pattern_sets,
20464         check_absence_pattern_sets, output_pattern_set_el_list): New
20465         functions.
20466         (unit_decl): Change types of members `presence_list' and
20467         `absence_list'.
20468         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
20469         (decl): Change types of members `excl', `presence', and `absence'.
20470         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
20471         at the end of the vector.
20472         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
20473         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
20474         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
20475         (gen_presence_set, gen_absence_set): Use new function
20476         `gen_presence_absence_set'.
20477         (add_presence_absence): Process `pattern_list' instead of
20478         `source_list'.
20479         (process_decls): USe new functions
20480         `process_presence_absence_names' and
20481         `process_presence_absence_patterns'.
20482         (reserv_sets_are_intersected): Use new function
20483         `check_presence_pattern_sets'.
20484         (presence_set, absence_set): Remove them.
20485         (unit_presence_set_table, unit_absence_set_table): New global
20486         variables.
20487         (output_description): Use new function
20488         `output_pattern_set_el_list'.
20489         (generate): Use `initiate_presence_absence_pattern_sets'.
20490
20491         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
20492
20493         * genattr.c (main): Add output of prototype of new interface
20494         function `dfa_clean_insn_cache'.
20495
20496         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
20497         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
20498         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
20499         the generated code.
20500         (write_automata): Call the new function.
20501
20502 2003-01-09  Jan Hubicka  <jh@suse.cz>
20503
20504         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
20505         correctly.
20506
20507 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
20508
20509         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
20510
20511 2003-01-09  J"orn Rennecke <joern.rennecke@superh.com>
20512
20513         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
20514         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
20515         (CONSTRAINT_LEN): Provide default definition.
20516         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
20517         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
20518         (EXTRA_CONSTRAINT_STR): Likewise.
20519         (REG_CLASS_FROM_CONSTRAINT): Define.
20520         * genoutput.c (check_constraint_len, constraint_len): New functions.
20521         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
20522         constraint / modifier.
20523         (gen_insn): Call check_constraint_len.
20524         * local-alloc.c (block_alloc): Update to use new macros / pass
20525         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
20526         * ra-build.c (handle_asm_insn): Likewise.
20527         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
20528         (constrain_operands, peep2_find_free_register): Likewise.
20529         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
20530         * regmove.c (find_matches): Likewise.
20531         * reload.c (push_secondary_reload, find_reloads): Likewise.
20532         (alternative_allows_memconst): Likewise.
20533         * reload1.c (maybe_fix_stack_asms): Likewise.
20534         (reload_cse_simplify_operands): Likewise.
20535         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
20536         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
20537         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
20538         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
20539         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
20540         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
20541
20542         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
20543
20544 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
20545
20546         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
20547         length.
20548         (*extzv_1_r_h8300hs): Likewise.
20549         (*extzv_1_r_inv_h8300): Likewise.
20550         (*extzv_1_r_inv_h8300hs): Likewise.
20551
20552 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
20553
20554         * config/h8300/h8300.h (PREDICATE_CODES): New.
20555
20556 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
20557
20558         * config/h8300/h8300.md (*addsi3_upper): New.
20559         (*iorsi3_shift): Likewise.
20560         (two splitters): Likewise.
20561         (*addsi3_shift): Likewise.
20562         (two splitters): Likewise.
20563
20564 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
20565
20566         * Makefile.in (optabs.o): Add dependency on basic-block.h.
20567         * basic-block.h (control_flow_insn_p): Fuction was exported.
20568         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
20569         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
20570         notes only when the region is contained in a single basic block.
20571
20572 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
20573
20574         PR inline-asm/8832
20575         * tree.h (expand_asm): New prototype.
20576         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
20577         to do so.
20578         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
20579         down to expand_asm.
20580         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
20581         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
20582         (volatile_refs_p) [ASM_INPUT]: Likewise.
20583         (side_effects_p) [ASM_INPUT]: Likewise.
20584
20585 2003-01-09  Jan Hubicka  <jh@suse.cz>
20586
20587         * i386.md (*mul*): FIx constraints; remove confused comment; fix
20588         athlon_decode attributes
20589         (imul/k8 optimization peep2s): New.
20590
20591         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
20592         * i386.md (type attribute): Add ssecomi.
20593         (unit, memory, prefix attributes): Handle ssecomi.
20594         (cvt?2? patterns): Fix athlon_decode attribute
20595         (comi patterns): Set attribute to ssecomi.
20596
20597         PR target/8343
20598         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
20599
20600 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
20601
20602         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
20603         that match register_operands.
20604         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
20605         register_operand the default case.
20606
20607 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
20608
20609         PR c/8032
20610         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
20611         an empty element, do not advance the pointer to unfilled
20612         fields if there are pending initializers.
20613
20614 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
20615
20616         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
20617         (install-gcc-tooldir, install-cpp, installdirs,
20618         install-common, install-driver, install-info, install-man,
20619         install-headers, install-include-dir, install-headers-tar,
20620         install-headers-cpio, install-headers-cp, install-mkheaders,
20621         install-collect2, uninstall): Prepend $(DESTDIR) to
20622         destination paths in all (un)installation commands.
20623         (install-driver): Rewrite $(LN) commands to support DESTDIR
20624         with "ln" as well as with "ln -s".
20625         (installdirs): Simply use mkinstalldirs.
20626         (install-libgcc, install-multilib): Also pass DESTDIR.
20627         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
20628         installation destination variable ldir.
20629         * config/alpha/t-osf4, config/arm/t-netbsd,
20630         config/ia64/t-hpux, config/mips/t-iris5-6,
20631         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
20632         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
20633         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
20634         in the definition of SHLIB_INSTALL.
20635         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
20636         $(libsubdir) in the installation commands.
20637
20638 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
20639
20640         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
20641         non-optimizing compile.
20642         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
20643         compile.
20644
20645 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
20646
20647         * config/i386/i386.c (ix86_attribute_table): Add new attributes
20648         ms_struct and gcc_struct.
20649         (ix86_handle_struct_attribute): New function.
20650         (ix86_ms_bitfield_layout_p): Update to take new attributes
20651         into account.
20652         * doc/extend.texi: Document new attributes.
20653         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
20654
20655 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
20656
20657         PR optimization/8750
20658         * config/i386/i386.c (ix86_expand_prologue): Don't allow
20659         scheduling pass to move insns across __alloca call.
20660
20661 2003-01-08  Dale Johannesen  <dalej@apple.com>
20662
20663         * config/rs6000/rs6000.md:  Replace *store_multiple_string
20664         with *stmsi[3-8].
20665
20666 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
20667
20668         PR target/9210
20669         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
20670         Set SYMBOL_REF_FLAG on local data sym_ref.
20671
20672 2003-01-08  Dale Johannesen  <dalej@apple.com>
20673
20674         * function.c (assign_parms):  Don't set pretend_args_size if
20675           REG_PARM_STACK_SPACE.
20676           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
20677           pretend_args_size.
20678
20679 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
20680
20681         * gcc.hlp: Delete.
20682
20683 2003-01-09  Jan Hubicka  <jh@suse.cz>
20684
20685         * i386.c  (ix86_expand_int_addcc): Fix thinko.
20686
20687 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
20688
20689         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
20690         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
20691         as hook_bool_tree_hwi_hwi_tree_true.
20692         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
20693         (rs6000_emit_epilogue): Same.
20694         (rs6000_output_mi_thunk): Re-implement as RTL.
20695         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
20696         xcoffout_declare_function if any debugging enabled.
20697
20698 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
20699
20700         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
20701         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
20702         * config/mips/mips.h (enum processor_type): Rename
20703         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
20704         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
20705         Add PROCESSOR_M4K.
20706         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
20707         (ISA_MIPS32R2): New define.
20708         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
20709         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
20710         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
20711         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
20712         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
20713         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
20714         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
20715         compiling MIPS16 code.
20716         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
20717         comment.
20718         (ISA_HAS_SEB_SEH): New define.
20719         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
20720         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
20721         processor_type value renaming.  Add support for MIPS32R2.
20722         Clean up comments, and move "sb1" entry with other MIPS64 CPU
20723         entries.
20724         (override_options): Reimplement -mipsN option handling so that
20725         it will work correctly for -mips32r2.  Avoid branch-likely
20726         instructions on MIPS32R2.
20727         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
20728         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
20729         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
20730         (extendhisi2_hw, extendqisi2_hw): New.
20731         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
20732         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
20733         MIPS32R2, and MIPS64.
20734         (LINK_SPEC): Pass -mips32r2 to linker.
20735         * config/mips/t-isa3264: Built -mips32r2 multilibs.
20736         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
20737         for mips32r2 in the -march description.  Alphabetically sort
20738         CPU names in the -march description.  Add long-missed -mips32
20739         and -mips64 to MIPS option summary.
20740
20741         * config.gcc: Update copyright years to include 2003.
20742         * config/mips/mips.c: Likewise.
20743         * config/mips/mips.h: Likewise.
20744         * config/mips/mips.md: Likewise.
20745         * config/mips/netbsd.h: Likewise.
20746         * doc/invoke.texi: Likewise.
20747
20748 2003-01-08  Andreas Schwab  <schwab@suse.de>
20749
20750         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
20751         variable.
20752         * configure: Regenerated.
20753
20754 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
20755
20756         * config/h8300/h8300.c (output_logical_op): Replace byte/word
20757         extraction of det with b0, b1, w0, w2, etc.
20758         (compute_logical_op_length): Likewise.
20759         (compute_logical_op_cc): Likewise.
20760
20761 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
20762
20763         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
20764         HIGH on all variants.
20765
20766 2003-01-08  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
20767
20768         * Makefile.in (PARTITION_H): New.
20769         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
20770         * basic-block.h: Include hard-reg-set.h.
20771
20772 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
20773
20774         * arm.h (ENABLE_XF_PATTERNS): Delete.
20775         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
20776         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
20777         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
20778         (cmpxf_trap): Delete.
20779         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
20780
20781 2003-01-08  Jan Hubicka  <jh@suse.cz>
20782
20783         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
20784         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
20785         (add??cc): New expanders.
20786         * i386.c (expand_int_addcc): New function.
20787         * i386-protos.h (expand_int_addcc): Declare.
20788
20789         * alias.c (memory_modified_1): New static function.
20790         (memory_modified): New static varaible.
20791         (memory_modified_in_insn_p): New global function.
20792         * rtl.h (memory_modified_in_insn_p): Declare.
20793         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
20794         references.
20795
20796         * expr.h (emit_conditional_add): Declare.
20797
20798 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
20799
20800         PR other/8947
20801         * doc/invoke.texi (-malign-double): Explain that the option breaks
20802         binary compatibility.
20803
20804 2003-01-08  Andreas Schwab  <schwab@suse.de>
20805
20806         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
20807         should come from the generic *-*-linux* entry.
20808
20809 2003-01-07  Jan Hubicka  <jh@suse.cz>
20810
20811         * cselib.c (cselib_current_insn_in_libcall): New static variable.
20812         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
20813         we are inside libcall.
20814         * cselib.h (elt_loc_list): Add in_libcall.
20815         * gcse.c (do_local_cprop): Do not copy propagate using insns
20816         in libcalls.
20817
20818 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
20819
20820         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
20821         not normally affect to issue rate.
20822
20823 2003-01-07  Jan Hubicka  <jh@suse.cz>
20824
20825         * genopinit.c (optabs): Add addc_optab.
20826         * ifcvt.c (noce_try_store_flag): Rename to ...
20827         (noce_try_addcc): ... this one; handle generic conditional increment.
20828         (noce_process_if_block): Update noce_try_addcc call.
20829         * optabs.c (emit_conditional_add): New.
20830         (init_obtabs): Initialize addc_optab.
20831         * optabs.h (optab_index): Add OTI_addcc.
20832         (addcc_optab): New macro.
20833         * md.texi: Document addMcc
20834
20835         PR target/8322
20836         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
20837         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
20838         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
20839
20840         * reload1.c (delete_output_reload): Avoid repeated attempts
20841         to delete insn.
20842
20843 2003-01-07  Andreas Schwab  <schwab@suse.de>
20844
20845         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
20846         Move --enable-initfini-array check ...
20847         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
20848         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
20849         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
20850         * configure: Rebuild.
20851
20852 2003-01-07  Richard Henderson  <rth@redhat.com>
20853
20854         * alias.c (find_base_value): Only use new_reg_base_value shortcut
20855         if the register is set once.
20856
20857 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
20858
20859         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
20860         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
20861         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
20862
20863 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
20864             Sunil Davasam  <sunil.k.davasam@intel.com>
20865
20866         PR libstdc++/9076
20867         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
20868         DW_CFA_same_value, read next and ignore.
20869
20870 2003-01-07  Richard Henderson  <rth@redhat.com>
20871
20872         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
20873
20874 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
20875
20876         * cfg.c: Include alloc-pool.h
20877         (edge_pool): New pool.
20878         (bb_pool): New pool.
20879         (first_deleted_edge): Remove.
20880         (first_deleted_block): Remove.
20881         (init_flow): Alloc/free the pools.
20882         (free_edge): Use pools.
20883         (alloc_block): Ditto.
20884         (expunge_block): Ditto.
20885         (cached_make_edge): Ditto.
20886
20887         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
20888
20889 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
20890
20891         * et-forest.c: Include alloc-pool.h.
20892         (struct et_forest): Add node_pool and occur_pool.
20893         (et_forest_create): Create the new pools.
20894         (et_forest_delete): Delete them.
20895         (et_forest_add_node): Allocate and free using pools.
20896         (et_forest_add_edge): Ditto.
20897         (et_forest_remove_node): Ditto.
20898         (et_forest_remove_edge): Ditto.
20899
20900         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
20901
20902 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
20903
20904         * config/h8300/h8300.c (output_logical_op): Simplify and
20905         optimize the handling of SImode.
20906         * config/h8300/h8300.c (compute_logical_op_length): Update
20907         accordingly.
20908         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
20909
20910 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
20911
20912         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
20913         big-endian correction to indirect arguments too.
20914
20915 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
20916
20917         Segher Boessenkool  <segher@koffie.nl>
20918
20919         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
20920         (alt_reg_names): Ditto, fix formatting.
20921         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
20922
20923 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
20924
20925         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
20926         (output_logical_op): Constify intval and det.
20927         (compute_logical_length): Likewise.
20928         (compute_logical_cc): Likewise.
20929         (output_a_shift): Constify mask.
20930         (h8300_encode_label): Constify len.
20931
20932 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
20933
20934         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
20935         (h8300_expand_epilogue): Likewise.
20936
20937 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
20938
20939         Segher Boessenkool  <segher@koffie.nl>
20940
20941         * config/rs6000/altivec.md: Remove spaces from assembler
20942         instruction argument lists.
20943
20944 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
20945
20946         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
20947         c4x_assembler_function_p.
20948         (c4x_null_epilogue_p): Complement return value, all uses updated.
20949         (c4x_insert_attributes): Add naked.
20950         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
20951         * doc/extend.texi: Update C4x function attributes.
20952
20953 2003-01-06  Richard Henderson  <rth@redhat.com>
20954
20955         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
20956         properly when changing "local-ness".
20957         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
20958
20959 2003-01-06  Dale Johannesen  <dalej@apple.com>
20960
20961         * config/darwin-protos.h:  Add prototypes for new section functions.
20962
20963 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
20964
20965         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
20966         to EABI.
20967
20968 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
20969
20970         * hwint.h: If the current compiler has no 64-bit type at all,
20971         make HOST_WIDEST_INT 32 bits.
20972
20973 2003-01-06  Eric Christopher  <echristo@redhat.com>
20974
20975         * config/mips/mips.md (movdf_internal2): Fix constraints.
20976
20977 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
20978
20979         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
20980
20981 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
20982
20983         * config/mips/mips.md (leadi): Use dla rather than la.
20984
20985 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
20986
20987         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
20988         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
20989
20990 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
20991
20992         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
20993         redefinition.
20994
20995 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
20996
20997         * config/h8300/h8300.md (*extzv_8_23): New.
20998
20999 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
21000
21001         * pa64-hpux.h (JCR_SECTION_NAME): Define.
21002         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
21003         USE_EH_FRAME_REGISTRY when defining.
21004
21005 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
21006
21007         * config/h8300/h8300.c (output_a_shift): Do not output a
21008         variable shift.
21009         * config/h8300/h8300.md (two splitters): New.
21010
21011 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
21012
21013         * config/mips/mips.md: Disable the movstrsi define_split.
21014
21015 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
21016
21017         * alloc-pool.c: Don't include "libiberty.h".
21018         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
21019         * convert.c (convert_to_real): Hide unused variable.
21020
21021 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
21022
21023         * Makefile.in (gtyp-gen.h): Const-ify.
21024         * gcov-dump.c (tag_table): Likewise.
21025
21026 2003-01-04  Bruce Korb  <bkorb@gnu.org>
21027
21028         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
21029         of *both* the file name and the fix name.
21030
21031 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
21032
21033         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
21034         collect2.
21035         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
21036         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
21037         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
21038         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
21039         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
21040         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
21041         elfos.h.
21042         (EH_FRAME_IN_DATA_SECTION): Delete define.
21043         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
21044         (STARTFILE_SPEC): Use crtbegin.o.
21045         (ENDFILE_SPEC): Use crtend.o.
21046         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
21047         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
21048         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
21049         DTOR_LIST_BEGIN): Define.
21050         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
21051         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
21052         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
21053
21054 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
21055
21056         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
21057         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
21058         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
21059         Cleanup handling of replacement text.
21060         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
21061
21062 2003-01-04  Bruce Korb  <bkorb@gnu.org>
21063
21064         * fixinc/tests/base/math.h: removed obsolete results
21065         * fixinc/tests/base/stdlib.h: ditto
21066         * fixinc/tests/base/sys/param.h: ditto
21067         * fixinc/tests/base/sys/stat.h: ditto
21068         * fixinc/tests/base/time.h: ditto
21069         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
21070         * fixinc/tests/base/sys/byteorder.h: ditto
21071         * fixinc/inclhack.def: Remove superfluous backslashes
21072
21073 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
21074
21075         * config/h8300/h8300-protos.h: Add prototypes for
21076         the new functions defined below.
21077         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
21078         define.
21079         (dosize): Emit RTL instead of assembly code.
21080         (push): Likewise.
21081         (pop): Likewise.
21082         (h8300_output_function_prologue): Remove.
21083         (h8300_expand_prologue): New.
21084         (h8300_expand_epilogue): New.
21085         (h8300_output_function_epilogue): Do only the reset of
21086         pragma_saveall.
21087         * config/h8300/h8300.md (push_h8300): New.
21088         (push_h8300hs): Likewise.
21089         (pop_h8300): Likewise.
21090         (pop_h8300hs): Likewise.
21091         (*stm_h8300s_2): Change the name to stm_h8300s_2.
21092         (*stm_h8300s_3): Change the name to stm_h8300s_3.
21093         (*stm_h8300s_4): Change the name to stm_h8300s_4.
21094         (*ldm_h8300s_2): New.
21095         (*ldm_h8300s_3): Likewise.
21096         (*ldm_h8300s_4): Likewise.
21097         (return): Likewise.
21098         (*return_1): Likewise.
21099         (prologue): Likewise.
21100         (epilogue): Likewise.
21101         (monitor_prologue): Likewise.
21102
21103 2003-01-03  Dale Johannesen  <dalej@apple.com>
21104
21105         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
21106           machopic_picsymbol_stub1.
21107           (EXTRA_SECTION_FUNCTIONS):  Ditto.
21108         * rs6000/rs6000.c:  Update copyright.
21109           (machopic_output_stub):  Use them.  Remove an insn from stub code.
21110
21111 2003-01-02  Jason Merrill  <jason@redhat.com>
21112
21113         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
21114
21115         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
21116         static/external decls.
21117
21118         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
21119         outermost scope.
21120         * c-decl.c (c_make_fname_decl): Push the decls there, too.
21121
21122 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
21123
21124         * config/h8300/h8300-protos.h: Add a prototype for
21125         h8300_current_function_interrupt_function_p.
21126         * config/h8300/h8300.c (interrupt_handler): Remove.
21127         (os_task): Likewise.
21128         (monitor): Likewise.
21129         (pragma_interrupt): New.
21130         (WORD_REG_USED): Use
21131         h8300_current_function_interrupt_function_p.
21132         (dosize): Likewise.
21133         (h8300_output_function_prologue): Likewise.
21134         Do not set interrupt_handler, os_task, monitor.
21135         (h8300_output_function_prologue): Use
21136         h8300_current_function_interrupt_function_p.
21137         Do not set interrupt_handler, os_task, monitor.
21138         (h8300_current_function_interrupt_function_p): New.
21139         (h8300_pr_interrupt): Set pragma_interrupt.
21140         (h8300_insert_attributes): Reset pragma_interrupt.
21141
21142 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
21143
21144         * doc/install.texi (Configuration): Fix markup for reference to
21145         gcc/config.gcc.
21146
21147 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
21148
21149         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
21150         (*iorhi3_two_qi): Likewise.
21151         (*iorsi3_zexthi): Likewise.
21152         (*xorhi3_zextqi): Likewise.
21153         (*xorsi3_zexthi): Likewise.
21154         (*xorsi3_zextqi): Likewise.
21155
21156 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
21157
21158         * config/h8300/h8300.c (stack_pointer_operand): New.
21159         (const_int_gt_2_operand): Likewise.
21160         (const_int_ge_8_operand): Likewise.
21161         * config/h8300/h8300.md (a splitter): Likewise.
21162         (a peephole2): Likewise.
21163         * config/h8300/h8300-protos.h: Add prototypes for the new
21164         functions above.
21165
21166 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
21167
21168         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
21169         objc/objc-act.h: Fix copyright years.
21170
21171 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
21172
21173         * doc/passes.texi: Fix documentation for -fssa-ccp
21174
21175 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
21176
21177         * gccbug.in: Update for new categories.
21178
21179 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
21180
21181         * config/h8300/h8300.md: Reorder some patterns.
21182
21183 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
21184
21185         * config/h8300/h8300.c (output_logical_op): Fix a warning.
21186
21187 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
21188
21189         * config/darwin-protos.h, config/c4x/c4x-protos.h,
21190         config/cris/cris-protos.h, config/i370/i370-protos.h,
21191         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
21192         config/v850/v850-protos.h: Use struct, and don't conditionally
21193         compile on GCC_C_PRAGMA_H.
21194
21195 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
21196
21197         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
21198         * config/h8300/h8300-protos.h: Likewise.
21199         * config/sh/sh-protos.h: Likewise.
21200
21201 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
21202
21203         * config/arm/arm-protos.h: Use struct cpp_reader instead of
21204         cpp_reader.
21205         * config/h8300/h8300-protos.h: Likewise.
21206         * config/sh/sh-protos.h: Likewise.
21207
21208 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
21209
21210         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
21211         arm_pr_long_calls_off): Use struct.
21212         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
21213         : Similarly.
21214         Don't include cpplib.h.
21215         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
21216         sh_pr_nosave_low_regs): Similarly.
21217
21218 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
21219
21220         * config/h8300/h8300.c: Include cpplib.h.
21221
21222 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
21223
21224         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
21225           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
21226           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
21227           "GCC" in the copyright header.
21228
21229 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
21230
21231         * c-pragma.c (c_register_pragma): New.
21232         (init_pragma): Use it.
21233         * c-pragma.h (cpp_register_pragma): Don't declare.
21234         (c_register_pragma): New.
21235         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
21236         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
21237         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
21238         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
21239         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
21240         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
21241         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
21242         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
21243         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
21244         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
21245         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
21246         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
21247
21248 See ChangeLog.8 for earlier changes.